diff --git a/.github/actions/free-disk-space/action.yml b/.github/actions/free-disk-space/action.yml new file mode 100644 index 0000000000..8201873a6e --- /dev/null +++ b/.github/actions/free-disk-space/action.yml @@ -0,0 +1,31 @@ +name: Free disk space +description: >- + Remove preinstalled toolchains this repo never uses so a full-workspace + `yarn install` plus Docker image pulls fit on a GitHub-hosted runner disk. + Private-repo runners have been failing with "No space left on device" partway + through install; this reclaims ~20-30 GB up front. +runs: + using: composite + steps: + - name: Reclaim runner disk + shell: bash + run: | + echo "Disk before cleanup:" + df -h / | tail -1 + sudo rm -rf \ + /usr/share/dotnet \ + /usr/local/lib/android \ + /opt/ghc \ + /usr/local/.ghcup \ + /opt/hostedtoolcache/CodeQL \ + /usr/local/share/boost \ + /usr/share/swift \ + /usr/local/share/powershell \ + /usr/share/miniconda \ + /opt/microsoft \ + /usr/lib/jvm \ + 2>/dev/null || true + sudo docker image prune -af >/dev/null 2>&1 || true + sudo apt-get clean >/dev/null 2>&1 || true + echo "Disk after cleanup:" + df -h / | tail -1 diff --git a/.github/workflows/e2e-test-suite.yml b/.github/workflows/e2e-test-suite.yml index bbfd607a35..8cf6ece261 100644 --- a/.github/workflows/e2e-test-suite.yml +++ b/.github/workflows/e2e-test-suite.yml @@ -19,6 +19,9 @@ jobs: - name: Checkout code uses: actions/checkout@v4 + - name: Free disk space + uses: ./.github/actions/free-disk-space + - name: Setup Node.js uses: actions/setup-node@v4 with: @@ -49,11 +52,18 @@ jobs: cd worker yarn install mkdir -p logs + # Containers are disabled: two concurrent `wrangler dev` processes race + # building/inspecting the RequestBodyBuffer image and fail health checks. + # The worker falls back to the in-memory buffer when the container is + # unavailable (RequestBodyBufferBuilder), which is fine for e2e traffic. + echo "Starting OPENAI_PROXY worker on port 8787 (token-bucket suite targets it)..." + npx wrangler dev --var WORKER_TYPE:OPENAI_PROXY --port 8787 --inspector-port=9239 --enable-containers=false > logs/wrangler-openai-proxy.log 2>&1 & + echo $! > logs/wrangler-openai-proxy.pid echo "Starting HELICONE_API worker on port 8788..." - npx wrangler dev --var WORKER_TYPE:HELICONE_API --port 8788 --inspector-port=9240 > logs/wrangler-helicone-api.log 2>&1 & + npx wrangler dev --var WORKER_TYPE:HELICONE_API --port 8788 --inspector-port=9240 --enable-containers=false > logs/wrangler-helicone-api.log 2>&1 & echo $! > logs/wrangler-helicone-api.pid echo "Starting AI_GATEWAY_API worker on port 8793..." - npx wrangler dev --var WORKER_TYPE:AI_GATEWAY_API --var HELICONE_ORG_ID:"a75d76e3-02e7-4d02-8a2b-c65ed27c69b2" --port 8793 --inspector-port=9241 > logs/wrangler-ai-gateway.log 2>&1 & + npx wrangler dev --var WORKER_TYPE:AI_GATEWAY_API --var HELICONE_ORG_ID:"a75d76e3-02e7-4d02-8a2b-c65ed27c69b2" --port 8793 --inspector-port=9241 --enable-containers=false > logs/wrangler-ai-gateway.log 2>&1 & echo $! > logs/wrangler-ai-gateway.pid echo "Waiting for workers to start..." sleep 10 @@ -64,6 +74,22 @@ jobs: MAX_RETRIES=30 RETRY_DELAY=2 + # Check OPENAI_PROXY worker (port 8787) + for i in $(seq 1 $MAX_RETRIES); do + if curl -f http://localhost:8787/healthcheck 2>/dev/null; then + echo "✓ OPENAI_PROXY worker is running on port 8787" + break + fi + if [ $i -eq $MAX_RETRIES ]; then + echo "✗ OPENAI_PROXY worker failed to start on port 8787" + echo "Last 50 lines of wrangler-openai-proxy.log:" + tail -50 worker/logs/wrangler-openai-proxy.log || true + exit 1 + fi + echo "Waiting for OPENAI_PROXY worker... (attempt $i/$MAX_RETRIES)" + sleep $RETRY_DELAY + done + # Check HELICONE_API worker (port 8788) for i in $(seq 1 $MAX_RETRIES); do if curl -f http://localhost:8788/healthcheck 2>/dev/null; then @@ -110,11 +136,17 @@ jobs: run: | cd e2e yarn install - yarn test + # tests/nightly needs live provider keys and runs in the nightly workflow + yarn test tests/on-push - name: Display Logs on Failure if: failure() run: | + echo "=========================================" + echo "OPENAI_PROXY Worker Logs (last 100 lines)" + echo "=========================================" + tail -100 worker/logs/wrangler-openai-proxy.log || echo "No logs found for OPENAI_PROXY worker" + echo "" echo "=========================================" echo "HELICONE_API Worker Logs (last 100 lines)" echo "=========================================" diff --git a/.github/workflows/hql-clickhouse-tests.yml b/.github/workflows/hql-clickhouse-tests.yml index 9056f44dc7..6e07dd5ca8 100644 --- a/.github/workflows/hql-clickhouse-tests.yml +++ b/.github/workflows/hql-clickhouse-tests.yml @@ -40,6 +40,9 @@ jobs: steps: - uses: actions/checkout@v4 + - name: Free disk space + uses: ./.github/actions/free-disk-space + - name: Setup Node.js uses: actions/setup-node@v4 with: diff --git a/.github/workflows/jawn-typecheck.yml b/.github/workflows/jawn-typecheck.yml index 16b7c8f408..2c72c5dd9a 100644 --- a/.github/workflows/jawn-typecheck.yml +++ b/.github/workflows/jawn-typecheck.yml @@ -22,6 +22,9 @@ jobs: steps: - uses: actions/checkout@v4 + - name: Free disk space + uses: ./.github/actions/free-disk-space + - name: Setup Node.js uses: actions/setup-node@v4 with: diff --git a/.github/workflows/nightly-e2e-test-suite.yml b/.github/workflows/nightly-e2e-test-suite.yml index c788b4f640..a6c389c92e 100644 --- a/.github/workflows/nightly-e2e-test-suite.yml +++ b/.github/workflows/nightly-e2e-test-suite.yml @@ -122,7 +122,7 @@ jobs: cd e2e yarn install # Run regular tests (excluding nightly) - yarn test + yarn test tests/on-push # Run nightly tests explicitly yarn test tests/nightly diff --git a/.github/workflows/packages-test.yml b/.github/workflows/packages-test.yml index c6de5a4e66..62bfc04e79 100644 --- a/.github/workflows/packages-test.yml +++ b/.github/workflows/packages-test.yml @@ -21,6 +21,9 @@ jobs: steps: - uses: actions/checkout@v4 + - name: Free disk space + uses: ./.github/actions/free-disk-space + - name: Setup Node.js uses: actions/setup-node@v4 with: diff --git a/bifrost/lib/clients/jawnTypes/private.ts b/bifrost/lib/clients/jawnTypes/private.ts index 93c665aaf0..0fdba43c75 100644 --- a/bifrost/lib/clients/jawnTypes/private.ts +++ b/bifrost/lib/clients/jawnTypes/private.ts @@ -54,52 +54,24 @@ export interface paths { delete: operations["DeleteAPIKey"]; patch: operations["UpdateAPIKey"]; }; - "/v1/stripe/subscription/cost-for-prompts": { - get: operations["GetCostForPrompts"]; - }; - "/v1/stripe/subscription/cost-for-evals": { - get: operations["GetCostForEvals"]; - }; - "/v1/stripe/subscription/cost-for-experiments": { - get: operations["GetCostForExperiments"]; - }; "/v1/stripe/subscription/free/usage": { get: operations["GetFreeUsage"]; }; "/v1/stripe/cloud/checkout-session": { post: operations["CreateCloudGatewayCheckoutSession"]; }; - "/v1/stripe/subscription/new-customer/upgrade-to-pro": { - post: operations["UpgradeToPro"]; - }; - "/v1/stripe/subscription/existing-customer/upgrade-to-pro": { - post: operations["UpgradeExistingCustomer"]; - }; - "/v1/stripe/subscription/new-customer/upgrade-to-team-bundle": { - post: operations["UpgradeToTeamBundle"]; - }; - "/v1/stripe/subscription/existing-customer/upgrade-to-team-bundle": { - post: operations["UpgradeExistingCustomerToTeamBundle"]; - }; "/v1/stripe/subscription/manage-subscription": { post: operations["ManageSubscription"]; }; "/v1/stripe/subscription/undo-cancel-subscription": { post: operations["UndoCancelSubscription"]; }; - "/v1/stripe/subscription/add-ons/{productType}": { - post: operations["AddOns"]; - delete: operations["DeleteAddOns"]; - }; "/v1/stripe/subscription/preview-invoice": { get: operations["PreviewInvoice"]; }; "/v1/stripe/subscription/cancel-subscription": { post: operations["CancelSubscription"]; }; - "/v1/stripe/subscription/migrate-to-pro": { - post: operations["MigrateToPro"]; - }; "/v1/stripe/payment-intents/search": { get: operations["SearchPaymentIntents"]; }; @@ -194,9 +166,6 @@ export interface paths { "/v1/evaluator/query": { post: operations["QueryEvaluators"]; }; - "/v1/evaluator/{evaluatorId}/experiments": { - get: operations["GetExperimentsForEvaluator"]; - }; "/v1/evaluator/{evaluatorId}/onlineEvaluators": { get: operations["GetOnlineEvaluators"]; post: operations["CreateOnlineEvaluator"]; @@ -216,226 +185,6 @@ export interface paths { "/v1/evaluator/{evaluatorId}/stats": { get: operations["GetEvaluatorStats"]; }; - "/v1/prompt-2025/id/{promptId}": { - get: operations["GetPrompt2025"]; - }; - "/v1/prompt-2025/id/{promptId}/rename": { - post: operations["RenamePrompt2025"]; - }; - "/v1/prompt-2025/id/{promptId}/tags": { - patch: operations["UpdatePrompt2025Tags"]; - }; - "/v1/prompt-2025/{promptId}": { - delete: operations["DeletePrompt2025"]; - }; - "/v1/prompt-2025/{promptId}/{versionId}": { - delete: operations["DeletePrompt2025Version"]; - }; - "/v1/prompt-2025/id/{promptId}/{versionId}/inputs": { - get: operations["GetPrompt2025Inputs"]; - }; - "/v1/prompt-2025/tags": { - get: operations["GetPrompt2025Tags"]; - }; - "/v1/prompt-2025/environments": { - get: operations["GetPrompt2025Environments"]; - }; - "/v1/prompt-2025": { - post: operations["CreatePrompt2025"]; - }; - "/v1/prompt-2025/update": { - post: operations["UpdatePrompt2025"]; - }; - "/v1/prompt-2025/update/environment": { - post: operations["SetPromptVersionEnvironment"]; - }; - "/v1/prompt-2025/remove/environment": { - post: operations["RemoveEnvironmentFromVersion"]; - }; - "/v1/prompt-2025/count": { - get: operations["GetPrompt2025Count"]; - }; - "/v1/prompt-2025/query": { - post: operations["GetPrompts2025"]; - }; - "/v1/prompt-2025/query/version": { - post: operations["GetPrompt2025Version"]; - }; - "/v1/prompt-2025/query/environment-version": { - post: operations["GetPrompt2025EnvironmentVersion"]; - }; - "/v1/prompt-2025/query/versions": { - post: operations["GetPrompt2025Versions"]; - }; - "/v1/prompt-2025/query/production-version": { - post: operations["GetPrompt2025ProductionVersion"]; - }; - "/v1/prompt-2025/query/total-versions": { - post: operations["GetPrompt2025TotalVersions"]; - }; - "/v1/prompt-2025/{promptVersionId}/prompt-body": { - /** @description Get the full prompt body (messages, tools, etc.) for a specific prompt version. */ - get: operations["GetPrompt2025VersionBody"]; - }; - "/v2/prompt-2025/query/version": { - post: operations["GetPrompt2025Version"]; - }; - "/v2/prompt-2025/query/environment-version": { - post: operations["GetPrompt2025EnvironmentVersion"]; - }; - "/v2/prompt-2025/query/production-version": { - post: operations["GetPrompt2025ProductionVersion"]; - }; - "/v1/request/count/query": { - post: operations["GetRequestCount"]; - }; - "/v1/request/query": { - post: operations["GetRequests"]; - }; - "/v1/request/query-clickhouse": { - post: operations["GetRequestsClickhouse"]; - }; - "/v1/request/{requestId}": { - get: operations["GetRequestById"]; - }; - "/v1/request/{requestId}/inputs": { - get: operations["GetRequestInputs"]; - }; - "/v1/request/query-ids": { - post: operations["GetRequestsByIds"]; - }; - "/v1/request/{requestId}/feedback": { - post: operations["FeedbackRequest"]; - }; - "/v1/request/{requestId}/property": { - put: operations["PutProperty"]; - }; - "/v1/request/{requestId}/assets/{assetId}": { - post: operations["GetRequestAssetById"]; - }; - "/v1/request/{requestId}/score": { - post: operations["AddScores"]; - }; - "/v1/prompt/has-prompts": { - get: operations["HasPrompts"]; - }; - "/v1/prompt/query": { - post: operations["GetPrompts"]; - }; - "/v1/prompt/{promptId}/query": { - post: operations["GetPrompt"]; - }; - "/v1/prompt/{promptId}": { - delete: operations["DeletePrompt"]; - }; - "/v1/prompt/create": { - post: operations["CreatePrompt"]; - }; - "/v1/prompt/{promptId}/user-defined-id": { - patch: operations["UpdatePromptUserDefinedId"]; - }; - "/v1/prompt/version/{promptVersionId}/edit-label": { - post: operations["EditPromptVersionLabel"]; - }; - "/v1/prompt/version/{promptVersionId}/edit-template": { - post: operations["EditPromptVersionTemplate"]; - }; - "/v1/prompt/version/{promptVersionId}/subversion-from-ui": { - post: operations["CreateSubversionFromUi"]; - }; - "/v1/prompt/version/{promptVersionId}/subversion": { - post: operations["CreateSubversion"]; - }; - "/v1/prompt/version/{promptVersionId}/promote": { - post: operations["PromotePromptVersionToProduction"]; - }; - "/v1/prompt/version/{promptVersionId}/inputs/query": { - post: operations["GetInputs"]; - }; - "/v1/prompt/{promptId}/experiments": { - get: operations["GetPromptExperiments"]; - }; - "/v1/prompt/{promptId}/versions/query": { - post: operations["GetPromptVersions"]; - }; - "/v1/prompt/version/{promptVersionId}": { - get: operations["GetPromptVersion"]; - delete: operations["DeletePromptVersion"]; - }; - "/v1/prompt/{user_defined_id}/compile": { - post: operations["GetPromptVersionsCompiled"]; - }; - "/v1/prompt/{user_defined_id}/template": { - post: operations["GetPromptVersionTemplates"]; - }; - "/v2/experiment/create/empty": { - post: operations["CreateEmptyExperiment"]; - }; - "/v2/experiment/create/from-request/{requestId}": { - post: operations["CreateExperimentFromRequest"]; - }; - "/v2/experiment/new": { - post: operations["CreateNewExperiment"]; - }; - "/v2/experiment": { - get: operations["GetExperiments"]; - }; - "/v2/experiment/{experimentId}": { - get: operations["GetExperimentById"]; - delete: operations["DeleteExperiment"]; - }; - "/v2/experiment/{experimentId}/prompt-version": { - post: operations["CreateNewPromptVersionForExperiment"]; - }; - "/v2/experiment/{experimentId}/prompt-version/{promptVersionId}": { - delete: operations["DeletePromptVersion"]; - }; - "/v2/experiment/{experimentId}/prompt-versions": { - get: operations["GetPromptVersionsForExperiment"]; - }; - "/v2/experiment/{experimentId}/input-keys": { - get: operations["GetInputKeysForExperiment"]; - }; - "/v2/experiment/{experimentId}/add-manual-row": { - post: operations["AddManualRowToExperiment"]; - }; - "/v2/experiment/{experimentId}/add-manual-rows-batch": { - post: operations["AddManualRowsToExperimentBatch"]; - }; - "/v2/experiment/{experimentId}/rows": { - delete: operations["DeleteExperimentTableRows"]; - }; - "/v2/experiment/{experimentId}/row/insert/batch": { - post: operations["CreateExperimentTableRowBatch"]; - }; - "/v2/experiment/{experimentId}/row/insert/dataset/{datasetId}": { - post: operations["CreateExperimentTableRowFromDataset"]; - }; - "/v2/experiment/{experimentId}/row/update": { - post: operations["UpdateExperimentTableRow"]; - }; - "/v2/experiment/{experimentId}/run-hypothesis": { - post: operations["RunHypothesis"]; - }; - "/v2/experiment/{experimentId}/evaluators": { - get: operations["GetExperimentEvaluators"]; - post: operations["CreateExperimentEvaluator"]; - }; - "/v2/experiment/{experimentId}/evaluators/{evaluatorId}": { - delete: operations["DeleteExperimentEvaluator"]; - }; - "/v2/experiment/{experimentId}/evaluators/run": { - post: operations["RunExperimentEvaluators"]; - }; - "/v2/experiment/{experimentId}/should-run-evaluators": { - get: operations["ShouldRunEvaluators"]; - }; - "/v2/experiment/{experimentId}/{promptVersionId}/scores": { - get: operations["GetExperimentPromptVersionScores"]; - }; - "/v2/experiment/{experimentId}/{requestId}/{scoreKey}": { - get: operations["GetExperimentScore"]; - }; "/v1/integration": { get: operations["GetIntegrations"]; post: operations["CreateIntegration"]; @@ -800,6 +549,13 @@ export interface paths { post: operations["UpdateDiscounts"]; }; "/v1/audio/convert-to-wav": { + /** + * @description Dead endpoint. The route stays registered so existing callers keep getting + * the same response, but the implementation is gone: it shelled out to + * ffmpeg with input options built from request-derived values, which was an + * argument-injection sink. Do not reintroduce it -- if WAV conversion is + * needed again, build it on a library that does not take a command line. + */ post: operations["ConvertToWav"]; }; "/v1/router/control-plane/whoami": { @@ -975,22 +731,6 @@ export interface components { amount: number; returnUrl?: string; }; - UpgradeToProRequest: { - addons?: { - evals?: boolean; - experiments?: boolean; - prompts?: boolean; - alerts?: boolean; - }; - /** Format: double */ - seats?: number; - /** @enum {string} */ - ui_mode?: "embedded" | "hosted"; - }; - UpgradeToTeamBundleRequest: { - /** @enum {string} */ - ui_mode?: "embedded" | "hosted"; - }; LLMUsage: { model: string; provider: string; @@ -1376,17 +1116,6 @@ Json: JsonObject; name?: string; last_mile_config?: unknown; }; - EvaluatorExperiment: { - experiment_name: string; - experiment_created_at: string; - experiment_id: string; - }; - "ResultSuccess_EvaluatorExperiment-Array_": { - data: components["schemas"]["EvaluatorExperiment"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_EvaluatorExperiment-Array.string_": components["schemas"]["ResultSuccess_EvaluatorExperiment-Array_"] | components["schemas"]["ResultError_string_"]; OnlineEvaluatorByEvaluatorId: { config: unknown; id: string; @@ -1502,135 +1231,6 @@ Json: JsonObject; error: null; }; "Result_EvaluatorStats.string_": components["schemas"]["ResultSuccess_EvaluatorStats_"] | components["schemas"]["ResultError_string_"]; - Prompt2025: { - id: string; - name: string; - tags: string[]; - created_at: string; - }; - ResultSuccess_Prompt2025_: { - data: components["schemas"]["Prompt2025"]; - /** @enum {number|null} */ - error: null; - }; - "Result_Prompt2025.string_": components["schemas"]["ResultSuccess_Prompt2025_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_string-Array_": { - data: string[]; - /** @enum {number|null} */ - error: null; - }; - "Result_string-Array.string_": components["schemas"]["ResultSuccess_string-Array_"] | components["schemas"]["ResultError_string_"]; - Prompt2025Input: { - request_id: string; - version_id: string; - inputs: components["schemas"]["Record_string.any_"]; - }; - ResultSuccess_Prompt2025Input_: { - data: components["schemas"]["Prompt2025Input"]; - /** @enum {number|null} */ - error: null; - }; - "Result_Prompt2025Input.string_": components["schemas"]["ResultSuccess_Prompt2025Input_"] | components["schemas"]["ResultError_string_"]; - PromptCreateResponse: { - id: string; - versionId: string; - }; - ResultSuccess_PromptCreateResponse_: { - data: components["schemas"]["PromptCreateResponse"]; - /** @enum {number|null} */ - error: null; - }; - "Result_PromptCreateResponse.string_": components["schemas"]["ResultSuccess_PromptCreateResponse_"] | components["schemas"]["ResultError_string_"]; - /** @description Construct a type with a set of properties K of type T */ - "Record_string.number_": { - [key: string]: number; - }; - /** @description Simplified interface for the OpenAI Chat request format */ - OpenAIChatRequest: { - model?: string; - messages?: ({ - tool_calls?: { - /** @enum {string} */ - type: "function"; - function: { - arguments: string; - name: string; - }; - id: string; - }[]; - tool_call_id?: string; - name?: string; - content: (string | { - image_url?: { - url: string; - }; - text?: string; - type: string; - }[]) | null; - role: string; - })[]; - /** Format: double */ - temperature?: number; - /** Format: double */ - top_p?: number; - /** Format: double */ - max_tokens?: number; - /** Format: double */ - max_completion_tokens?: number; - stream?: boolean; - stop?: string[] | string; - tools?: { - function: { - strict?: boolean; - parameters?: components["schemas"]["Record_string.any_"]; - description?: string; - name: string; - }; - /** @enum {string} */ - type: "function"; - }[]; - tool_choice?: { - function?: { - name: string; - /** @enum {string} */ - type: "function"; - }; - type: string; - } | ("none" | "auto" | "required"); - parallel_tool_calls?: boolean; - /** @enum {string} */ - reasoning_effort?: "minimal" | "low" | "medium" | "high"; - /** @enum {string} */ - verbosity?: "low" | "medium" | "high"; - /** Format: double */ - frequency_penalty?: number; - /** Format: double */ - presence_penalty?: number; - logit_bias?: components["schemas"]["Record_string.number_"]; - logprobs?: boolean; - /** Format: double */ - top_logprobs?: number; - /** Format: double */ - n?: number; - modalities?: string[]; - prediction?: unknown; - audio?: unknown; - response_format?: { - json_schema?: unknown; - type: string; - }; - /** Format: double */ - seed?: number; - service_tier?: string; - store?: boolean; - stream_options?: unknown; - metadata?: components["schemas"]["Record_string.string_"]; - user?: string; - function_call?: string | { - name: string; - }; - functions?: unknown[]; - }; "ResultSuccess__id-string__": { data: { id: string; @@ -1639,2263 +1239,1328 @@ Json: JsonObject; error: null; }; "Result__id-string_.string_": components["schemas"]["ResultSuccess__id-string__"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_number_: { - /** Format: double */ - data: number; - /** @enum {number|null} */ - error: null; - }; - "Result_number.string_": components["schemas"]["ResultSuccess_number_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_Prompt2025-Array_": { - data: components["schemas"]["Prompt2025"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_Prompt2025-Array.string_": components["schemas"]["ResultSuccess_Prompt2025-Array_"] | components["schemas"]["ResultError_string_"]; - /** @description Construct a type with a set of properties K of type T */ - "Record_string.unknown_": { - [key: string]: unknown; - }; - Prompt2025VersionPromptBody: { - model?: string; - messages?: ({ - tool_calls?: { - /** @enum {string} */ - type: "function"; - function: { - arguments: string; - name: string; - }; - id: string; - }[]; - tool_call_id?: string; - name?: string; - content: (string | { - image_url?: { - url: string; - }; - text?: string; - type: string; - }[]) | null; - role: string; - })[]; - /** Format: double */ - temperature?: number; - /** Format: double */ - top_p?: number; - /** Format: double */ - max_tokens?: number; - tools?: { - function: { - parameters: components["schemas"]["Record_string.unknown_"]; - description: string; - name: string; - }; - /** @enum {string} */ - type: "function"; - }[]; - tool_choice?: string | { - function?: { - name: string; - /** @enum {string} */ - type: "function"; - }; - type: string; - }; - [key: string]: unknown; + IntegrationCreateParams: { + integration_name: string; + settings?: components["schemas"]["Json"]; + active?: boolean; }; - Prompt2025Version: { + Integration: { + integration_name?: string; + settings?: components["schemas"]["Json"]; + active?: boolean; id: string; - model: string; - prompt_id: string; - /** Format: double */ - major_version: number; - /** Format: double */ - minor_version: number; - commit_message: string; - environments?: string[]; - created_at: string; - s3_url?: string; - /** - * @description The full prompt body including messages. Only included when explicitly requested - * via the `includePromptBody` parameter to avoid unnecessary data transfer. - */ - prompt_body?: components["schemas"]["Prompt2025VersionPromptBody"]; - }; - ResultSuccess_Prompt2025Version_: { - data: components["schemas"]["Prompt2025Version"]; - /** @enum {number|null} */ - error: null; }; - "Result_Prompt2025Version.string_": components["schemas"]["ResultSuccess_Prompt2025Version_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_Prompt2025Version-Array_": { - data: components["schemas"]["Prompt2025Version"][]; + ResultSuccess_Array_Integration__: { + data: components["schemas"]["Integration"][]; /** @enum {number|null} */ error: null; }; - "Result_Prompt2025Version-Array.string_": components["schemas"]["ResultSuccess_Prompt2025Version-Array_"] | components["schemas"]["ResultError_string_"]; - PromptVersionCounts: { - /** Format: double */ - totalVersions: number; - /** Format: double */ - majorVersions: number; + "Result_Array_Integration_.string_": components["schemas"]["ResultSuccess_Array_Integration__"] | components["schemas"]["ResultError_string_"]; + IntegrationUpdateParams: { + integration_name?: string; + settings?: components["schemas"]["Json"]; + active?: boolean; }; - ResultSuccess_PromptVersionCounts_: { - data: components["schemas"]["PromptVersionCounts"]; + ResultSuccess_Integration_: { + data: components["schemas"]["Integration"]; /** @enum {number|null} */ error: null; }; - "Result_PromptVersionCounts.string_": components["schemas"]["ResultSuccess_PromptVersionCounts_"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_Prompt2025Version_91_prompt_body_93__: { - data: components["schemas"]["Prompt2025VersionPromptBody"]; + "Result_Integration.string_": components["schemas"]["ResultSuccess_Integration_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess_Array__id-string--name-string___": { + data: { + name: string; + id: string; + }[]; /** @enum {number|null} */ error: null; }; - "Result_Prompt2025Version_91_prompt_body_93_.string_": components["schemas"]["ResultSuccess_Prompt2025Version_91_prompt_body_93__"] | components["schemas"]["ResultError_string_"]; - /** @description Make all properties in T optional */ - Partial_TextOperators_: { - "not-equals"?: string; - equals?: string; - like?: string; - ilike?: string; - contains?: string; - "not-contains"?: string; - }; - /** @description Make all properties in T optional */ - Partial_TimestampOperators_: { - equals?: string; - gte?: string; - lte?: string; - lt?: string; - gt?: string; - }; - /** @description Make all properties in T optional */ - Partial_RequestTableToOperators_: { - prompt?: components["schemas"]["Partial_TextOperators_"]; - created_at?: components["schemas"]["Partial_TimestampOperators_"]; - user_id?: components["schemas"]["Partial_TextOperators_"]; - auth_hash?: components["schemas"]["Partial_TextOperators_"]; - org_id?: components["schemas"]["Partial_TextOperators_"]; - id?: components["schemas"]["Partial_TextOperators_"]; - node_id?: components["schemas"]["Partial_TextOperators_"]; - model?: components["schemas"]["Partial_TextOperators_"]; - modelOverride?: components["schemas"]["Partial_TextOperators_"]; - path?: components["schemas"]["Partial_TextOperators_"]; - country_code?: components["schemas"]["Partial_TextOperators_"]; - prompt_id?: components["schemas"]["Partial_TextOperators_"]; - }; - /** @description Make all properties in T optional */ - Partial_NumberOperators_: { - /** Format: double */ - "not-equals"?: number; - /** Format: double */ - equals?: number; - /** Format: double */ - gte?: number; - /** Format: double */ - lte?: number; - /** Format: double */ - lt?: number; - /** Format: double */ - gt?: number; - }; - /** @description Make all properties in T optional */ - Partial_BooleanOperators_: { - equals?: boolean; - }; - /** @description Make all properties in T optional */ - Partial_FeedbackTableToOperators_: { - id?: components["schemas"]["Partial_NumberOperators_"]; - created_at?: components["schemas"]["Partial_TimestampOperators_"]; - rating?: components["schemas"]["Partial_BooleanOperators_"]; - response_id?: components["schemas"]["Partial_TextOperators_"]; - }; - /** @description Make all properties in T optional */ - Partial_ResponseTableToOperators_: { - body_tokens?: components["schemas"]["Partial_NumberOperators_"]; - body_model?: components["schemas"]["Partial_TextOperators_"]; - body_completion?: components["schemas"]["Partial_TextOperators_"]; - status?: components["schemas"]["Partial_NumberOperators_"]; - model?: components["schemas"]["Partial_TextOperators_"]; - }; - /** @description Make all properties in T optional */ - Partial_TimestampOperatorsTyped_: { - /** Format: date-time */ - equals?: string; - /** Format: date-time */ - gte?: string; - /** Format: date-time */ - lte?: string; - /** Format: date-time */ - lt?: string; - /** Format: date-time */ - gt?: string; - }; - /** @description Make all properties in T optional */ - Partial_RequestResponseRMTToOperators_: { - country_code?: components["schemas"]["Partial_TextOperators_"]; - latency?: components["schemas"]["Partial_NumberOperators_"]; - cost?: components["schemas"]["Partial_NumberOperators_"]; - provider?: components["schemas"]["Partial_TextOperators_"]; - time_to_first_token?: components["schemas"]["Partial_NumberOperators_"]; - status?: components["schemas"]["Partial_NumberOperators_"]; - request_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - response_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - model?: components["schemas"]["Partial_TextOperators_"]; - user_id?: components["schemas"]["Partial_TextOperators_"]; - organization_id?: components["schemas"]["Partial_TextOperators_"]; - node_id?: components["schemas"]["Partial_TextOperators_"]; - job_id?: components["schemas"]["Partial_TextOperators_"]; - threat?: components["schemas"]["Partial_BooleanOperators_"]; - request_id?: components["schemas"]["Partial_TextOperators_"]; - prompt_tokens?: components["schemas"]["Partial_NumberOperators_"]; - completion_tokens?: components["schemas"]["Partial_NumberOperators_"]; - prompt_cache_read_tokens?: components["schemas"]["Partial_NumberOperators_"]; - prompt_cache_write_tokens?: components["schemas"]["Partial_NumberOperators_"]; - total_tokens?: components["schemas"]["Partial_NumberOperators_"]; - target_url?: components["schemas"]["Partial_TextOperators_"]; - property_key?: { - equals: string; - }; - properties?: { - [key: string]: components["schemas"]["Partial_TextOperators_"]; - }; - search_properties?: { - [key: string]: components["schemas"]["Partial_TextOperators_"]; - }; - scores?: { - [key: string]: components["schemas"]["Partial_TextOperators_"]; - }; - scores_column?: components["schemas"]["Partial_TextOperators_"]; - request_body?: components["schemas"]["Partial_TextOperators_"]; - response_body?: components["schemas"]["Partial_TextOperators_"]; - cache_enabled?: components["schemas"]["Partial_BooleanOperators_"]; - cache_reference_id?: components["schemas"]["Partial_TextOperators_"]; - cached?: components["schemas"]["Partial_BooleanOperators_"]; - assets?: components["schemas"]["Partial_TextOperators_"]; - "helicone-score-feedback"?: components["schemas"]["Partial_BooleanOperators_"]; - prompt_id?: components["schemas"]["Partial_TextOperators_"]; - prompt_version?: components["schemas"]["Partial_TextOperators_"]; - request_referrer?: components["schemas"]["Partial_TextOperators_"]; - is_passthrough_billing?: components["schemas"]["Partial_BooleanOperators_"]; - }; - /** @description Make all properties in T optional */ - Partial_SessionsRequestResponseRMTToOperators_: { - session_session_id?: components["schemas"]["Partial_TextOperators_"]; - session_session_name?: components["schemas"]["Partial_TextOperators_"]; - session_total_cost?: components["schemas"]["Partial_NumberOperators_"]; - session_total_tokens?: components["schemas"]["Partial_NumberOperators_"]; - session_prompt_tokens?: components["schemas"]["Partial_NumberOperators_"]; - session_completion_tokens?: components["schemas"]["Partial_NumberOperators_"]; - session_total_requests?: components["schemas"]["Partial_NumberOperators_"]; - session_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - session_latest_request_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - session_tag?: components["schemas"]["Partial_TextOperators_"]; - }; - /** @description From T, pick a set of properties whose keys are in the union K */ - "Pick_FilterLeaf.feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_": { - request?: components["schemas"]["Partial_RequestTableToOperators_"]; - values?: { - [key: string]: components["schemas"]["Partial_TextOperators_"]; - }; - feedback?: components["schemas"]["Partial_FeedbackTableToOperators_"]; - response?: components["schemas"]["Partial_ResponseTableToOperators_"]; - properties?: { - [key: string]: components["schemas"]["Partial_TextOperators_"]; - }; - request_response_rmt?: components["schemas"]["Partial_RequestResponseRMTToOperators_"]; - sessions_request_response_rmt?: components["schemas"]["Partial_SessionsRequestResponseRMTToOperators_"]; - }; - "FilterLeafSubset_feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_": components["schemas"]["Pick_FilterLeaf.feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_"]; - RequestFilterNode: components["schemas"]["FilterLeafSubset_feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_"] | components["schemas"]["RequestFilterBranch"] | "all"; - RequestFilterBranch: { - right: components["schemas"]["RequestFilterNode"]; - /** @enum {string} */ - operator: "or" | "and"; - left: components["schemas"]["RequestFilterNode"]; - }; - /** @enum {string} */ - SortDirection: "asc" | "desc"; - SortLeafRequest: { - /** @enum {boolean} */ - random?: true; - created_at?: components["schemas"]["SortDirection"]; - cache_created_at?: components["schemas"]["SortDirection"]; - latency?: components["schemas"]["SortDirection"]; - last_active?: components["schemas"]["SortDirection"]; - total_tokens?: components["schemas"]["SortDirection"]; - completion_tokens?: components["schemas"]["SortDirection"]; - prompt_tokens?: components["schemas"]["SortDirection"]; - user_id?: components["schemas"]["SortDirection"]; - body_model?: components["schemas"]["SortDirection"]; - is_cached?: components["schemas"]["SortDirection"]; - request_prompt?: components["schemas"]["SortDirection"]; - response_text?: components["schemas"]["SortDirection"]; - properties?: { - [key: string]: components["schemas"]["SortDirection"]; - }; - values?: { - [key: string]: components["schemas"]["SortDirection"]; - }; - cost?: components["schemas"]["SortDirection"]; - time_to_first_token?: components["schemas"]["SortDirection"]; - }; - RequestQueryParams: { - filter: components["schemas"]["RequestFilterNode"]; - /** Format: double */ - offset?: number; - /** Format: double */ - limit?: number; - sort?: components["schemas"]["SortLeafRequest"]; - isCached?: boolean; - includeInputs?: boolean; - isPartOfExperiment?: boolean; - isScored?: boolean; + "Result_Array__id-string--name-string__.string_": components["schemas"]["ResultSuccess_Array__id-string--name-string___"] | components["schemas"]["ResultError_string_"]; + TestStripeMeterEventRequest: { + event_name: string; + customer_id: string; }; /** @enum {string} */ - ProviderName: "OPENAI" | "ANTHROPIC" | "AZURE" | "LOCAL" | "HELICONE" | "AMDBARTEK" | "ANYSCALE" | "CLOUDFLARE" | "2YFV" | "TOGETHER" | "LEMONFOX" | "FIREWORKS" | "PERPLEXITY" | "GOOGLE" | "OPENROUTER" | "WISDOMINANUTSHELL" | "GROQ" | "COHERE" | "MISTRAL" | "DEEPINFRA" | "QSTASH" | "FIRECRAWL" | "AWS" | "BEDROCK" | "DEEPSEEK" | "X" | "AVIAN" | "NEBIUS" | "NOVITA" | "OPENPIPE" | "CHUTES" | "LLAMA" | "NVIDIA" | "VERCEL" | "CEREBRAS" | "BASETEN" | "CANOPYWAVE"; - /** @enum {string} */ ModelProviderName: "baseten" | "anthropic" | "azure" | "bedrock" | "canopywave" | "cerebras" | "chutes" | "deepinfra" | "deepseek" | "fireworks" | "google-ai-studio" | "groq" | "helicone" | "mistral" | "nebius" | "novita" | "openai" | "openrouter" | "perplexity" | "vertex" | "xai"; - Provider: components["schemas"]["ProviderName"] | components["schemas"]["ModelProviderName"] | "CUSTOM"; /** @enum {string} */ - LlmType: "chat" | "completion"; - FunctionCall: { - id?: string; - name: string; - arguments: components["schemas"]["Record_string.any_"]; - }; - Message: { - ending_event_id?: string; - trigger_event_id?: string; - start_timestamp?: string; - annotations?: { - content?: string; - title: string; - url: string; - /** @enum {string} */ - type: "url_citation"; - }[]; - reasoning?: string; - deleted?: boolean; - contentArray?: components["schemas"]["Message"][]; - /** Format: double */ - idx?: number; - detail?: string; - filename?: string; - file_id?: string; - file_data?: string; - /** @enum {string} */ - type?: "input_image" | "input_text" | "input_file"; - audio_data?: string; - image_url?: string; - timestamp?: string; - tool_call_id?: string; - tool_calls?: components["schemas"]["FunctionCall"][]; - mime_type?: string; - content?: string; - name?: string; - instruction?: string; - role?: string | ("user" | "assistant" | "system" | "developer"); - id?: string; - /** @enum {string} */ - _type: "functionCall" | "function" | "image" | "file" | "message" | "autoInput" | "contentArray" | "audio"; - }; - Tool: { - name: string; - description?: string; - parameters?: components["schemas"]["Record_string.any_"]; - strict?: boolean; - }; - HeliconeEventTool: { - /** @enum {string} */ - _type: "tool"; - toolName: string; - input: unknown; - [key: string]: unknown; - }; - HeliconeEventVectorDB: { - /** @enum {string} */ - _type: "vector_db"; - /** @enum {string} */ - operation: "search" | "insert" | "delete" | "update"; - text?: string; - vector?: number[]; - /** Format: double */ - topK?: number; - filter?: Record; - databaseName?: string; - [key: string]: unknown; - }; - HeliconeEventData: { - /** @enum {string} */ - _type: "data"; - name: string; - meta?: components["schemas"]["Record_string.any_"]; - [key: string]: unknown; + BodyMappingType: "OPENAI" | "NO_MAPPING" | "RESPONSES"; + HeliconeMeta: { + freeLimitExceeded?: boolean; + aiGatewayBodyMapping?: components["schemas"]["BodyMappingType"]; + providerModelId?: string; + gatewayModel?: string; + gatewayProvider?: components["schemas"]["ModelProviderName"]; + isPassthroughBilling?: boolean; + gatewayDeploymentTarget?: string; + gatewayRouterId?: string; + stripeCustomerId?: string; + heliconeManualAccessKey?: string; + promptInputs?: components["schemas"]["Record_string.any_"]; + promptVersionId?: string; + promptEnvironment?: string; + promptId?: string; + lytixHost?: string; + lytixKey?: string; + posthogHost?: string; + posthogApiKey?: string; + webhookEnabled: boolean; + omitResponseLog: boolean; + omitRequestLog: boolean; + modelOverride?: string; }; - LLMRequestBody: { - llm_type?: components["schemas"]["LlmType"]; - provider?: string; - model?: string; - messages?: components["schemas"]["Message"][] | null; - prompt?: string | null; - instructions?: string | null; - /** Format: double */ - max_tokens?: number | null; - /** Format: double */ - temperature?: number | null; - /** Format: double */ - top_p?: number | null; - /** Format: double */ - seed?: number | null; - stream?: boolean | null; - /** Format: double */ - presence_penalty?: number | null; - /** Format: double */ - frequency_penalty?: number | null; - stop?: (string[] | string) | null; - /** @enum {string|null} */ - reasoning_effort?: "minimal" | "low" | "medium" | "high" | null; - /** @enum {string|null} */ - verbosity?: "low" | "medium" | "high" | null; - tools?: components["schemas"]["Tool"][]; - parallel_tool_calls?: boolean | null; - tool_choice?: { - name?: string; - /** @enum {string} */ - type: "none" | "auto" | "any" | "tool"; - }; - response_format?: { - json_schema?: unknown; - type: string; + /** @enum {string} */ + ProviderName: "OPENAI" | "ANTHROPIC" | "AZURE" | "LOCAL" | "HELICONE" | "AMDBARTEK" | "ANYSCALE" | "CLOUDFLARE" | "2YFV" | "TOGETHER" | "LEMONFOX" | "FIREWORKS" | "PERPLEXITY" | "GOOGLE" | "OPENROUTER" | "WISDOMINANUTSHELL" | "GROQ" | "COHERE" | "MISTRAL" | "DEEPINFRA" | "QSTASH" | "FIRECRAWL" | "AWS" | "BEDROCK" | "DEEPSEEK" | "X" | "AVIAN" | "NEBIUS" | "NOVITA" | "OPENPIPE" | "CHUTES" | "LLAMA" | "NVIDIA" | "VERCEL" | "CEREBRAS" | "BASETEN" | "CANOPYWAVE"; + Provider: components["schemas"]["ProviderName"] | components["schemas"]["ModelProviderName"] | "CUSTOM"; + /** + * @description Parses a string containing custom JSX-like tags and extracts information to produce two outputs: + * 1. A version of the string with all JSX tags removed, leaving only the text content. + * 2. An object representing a template with self-closing JSX tags and a separate mapping of keys to their + * corresponding text content. + * + * The function specifically targets `` tags, which include a `key` attribute and enclosed text content. + * These tags are transformed or removed based on the desired output structure. The process involves regular expressions + * to match and manipulate the input string to produce the outputs. + * + * Parameters: + * - input: A string containing the text and JSX-like tags to be parsed. + * + * Returns: + * An object with two properties: + * 1. stringWithoutJSXTags: A string where all `` tags are removed, and only their text content remains. + * 2. templateWithInputs: An object containing: + * - template: A version of the input string where `` tags are replaced with self-closing versions, + * preserving the `key` attributes but removing the text content. + * - inputs: An object mapping the `key` attributes to their corresponding text content, effectively extracting + * the data from the original tags. + * + * Example Usage: + * ```ts + * const input = ` + * The scene is Harry Potter. + * justin test`; + * + * const expectedOutput = parseJSXString(input); + * console.log(expectedOutput); + * ``` + * The function is useful for preprocessing strings with embedded custom JSX-like tags, extracting useful data, + * and preparing templates for further processing or rendering. It demonstrates a practical application of regular + * expressions for text manipulation in TypeScript, specifically tailored to a custom JSX-like syntax. + */ + TemplateWithInputs: { + template: Record; + inputs: { + [key: string]: string; }; - toolDetails?: components["schemas"]["HeliconeEventTool"]; - vectorDBDetails?: components["schemas"]["HeliconeEventVectorDB"]; - dataDetails?: components["schemas"]["HeliconeEventData"]; - input?: string | string[]; - /** Format: double */ - n?: number | null; - size?: string; - quality?: string; - }; - Response: { - contentArray?: components["schemas"]["Response"][]; - detail?: string; - filename?: string; - file_id?: string; - file_data?: string; - /** Format: double */ - idx?: number; - audio_data?: string; - image_url?: string; - timestamp?: string; - tool_call_id?: string; - tool_calls?: components["schemas"]["FunctionCall"][]; - text?: string; - /** @enum {string} */ - type: "input_image" | "input_text" | "input_file"; - name?: string; - /** @enum {string} */ - role: "user" | "assistant" | "system" | "developer"; - id?: string; - /** @enum {string} */ - _type: "functionCall" | "function" | "image" | "text" | "file" | "contentArray"; + autoInputs: unknown[]; }; - LLMResponseBody: { - dataDetailsResponse?: { - name: string; - /** @enum {string} */ - _type: "data"; - metadata: { - timestamp: string; - [key: string]: unknown; - }; - message: string; - status: string; - [key: string]: unknown; - }; - vectorDBDetailsResponse?: { - /** @enum {string} */ - _type: "vector_db"; - metadata: { - timestamp: string; - destination_parsed?: boolean; - destination?: string; - }; + Log: { + response: { + model?: string; /** Format: double */ - actualSimilarity?: number; + reasoningTokens?: number; /** Format: double */ - similarityThreshold?: number; - message: string; - status: string; - }; - toolDetailsResponse?: { - toolName: string; - /** @enum {string} */ - _type: "tool"; - metadata: { - timestamp: string; - }; - tips: string[]; - message: string; - status: string; + completionAudioTokens?: number; + /** Format: double */ + promptAudioTokens?: number; + /** Format: double */ + promptCacheWriteTokens?: number; + /** Format: double */ + promptCacheReadTokens?: number; + /** Format: double */ + completionTokens?: number; + /** Format: double */ + promptTokens?: number; + /** Format: double */ + cost?: number; + /** Format: double */ + cachedLatency?: number; + /** Format: double */ + delayMs: number; + /** Format: date-time */ + responseCreatedAt: string; + /** Format: double */ + timeToFirstToken?: number; + /** Format: double */ + bodySize: number; + /** Format: double */ + status: number; + id: string; }; - error?: { - heliconeMessage: unknown; + request: { + requestReferrer?: string; + cacheReferenceId?: string; + cacheControl?: string; + /** Format: double */ + cacheBucketMaxSize?: number; + /** Format: double */ + cacheSeed?: number; + cacheEnabled?: boolean; + experimentRowIndex?: string; + experimentColumnId?: string; + heliconeTemplate?: components["schemas"]["TemplateWithInputs"]; + isStream: boolean; + /** Format: date-time */ + requestCreatedAt: string; + countryCode?: string; + threat?: boolean; + path: string; + /** Format: double */ + bodySize: number; + provider: components["schemas"]["Provider"]; + targetUrl: string; + heliconeProxyKeyId?: string; + /** Format: double */ + heliconeApiKeyId?: number; + properties: components["schemas"]["Record_string.string_"]; + promptVersion?: string; + promptId?: string; + userId: string; + id: string; }; - model?: string | null; - instructions?: string | null; - responses?: components["schemas"]["Response"][] | null; - messages?: components["schemas"]["Message"][] | null; - }; - LlmSchema: { - request: components["schemas"]["LLMRequestBody"]; - response?: components["schemas"]["LLMResponseBody"] | null; - }; - HeliconeRequest: { - response_id: string | null; - response_created_at: string | null; - response_body?: unknown; - /** Format: double */ - response_status: number; - response_model: string | null; - request_id: string; - request_created_at: string; - request_body: unknown; - request_path: string; - request_user_id: string | null; - request_properties: components["schemas"]["Record_string.string_"] | null; - request_model: string | null; - model_override: string | null; - helicone_user: string | null; - provider: components["schemas"]["Provider"]; - /** Format: double */ - delay_ms: number | null; - /** Format: double */ - time_to_first_token: number | null; - /** Format: double */ - total_tokens: number | null; - /** Format: double */ - prompt_tokens: number | null; - /** Format: double */ - prompt_cache_write_tokens: number | null; - /** Format: double */ - prompt_cache_read_tokens: number | null; - /** Format: double */ - completion_tokens: number | null; - /** Format: double */ - reasoning_tokens: number | null; - /** Format: double */ - prompt_audio_tokens: number | null; - /** Format: double */ - completion_audio_tokens: number | null; - /** Format: double */ - cost: number | null; - prompt_id: string | null; - prompt_version: string | null; - feedback_created_at?: string | null; - feedback_id?: string | null; - feedback_rating?: boolean | null; - signed_body_url?: string | null; - llmSchema: components["schemas"]["LlmSchema"] | null; - country_code: string | null; - asset_ids: string[] | null; - asset_urls: components["schemas"]["Record_string.string_"] | null; - scores: components["schemas"]["Record_string.number_"] | null; - /** Format: double */ - costUSD?: number | null; - properties: components["schemas"]["Record_string.string_"]; - assets: string[]; - target_url: string; - model: string; - cache_reference_id: string | null; - cache_enabled: boolean; - updated_at?: string; - request_referrer?: string | null; - ai_gateway_body_mapping: string | null; - storage_location?: string; - }; - "ResultSuccess_HeliconeRequest-Array_": { - data: components["schemas"]["HeliconeRequest"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_HeliconeRequest-Array.string_": components["schemas"]["ResultSuccess_HeliconeRequest-Array_"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_HeliconeRequest_: { - data: components["schemas"]["HeliconeRequest"]; - /** @enum {number|null} */ - error: null; - }; - "Result_HeliconeRequest.string_": components["schemas"]["ResultSuccess_HeliconeRequest_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null_": { - data: ({ - environment: string | null; - version_id: string; - prompt_id: string; - inputs: components["schemas"]["Record_string.any_"]; - }) | null; - /** @enum {number|null} */ - error: null; }; - "Result__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null.string_": components["schemas"]["ResultSuccess__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null_"] | components["schemas"]["ResultError_string_"]; - HeliconeRequestAsset: { - assetUrl: string; + KafkaMessageContents: { + log: components["schemas"]["Log"]; + heliconeMeta: components["schemas"]["HeliconeMeta"]; + authorization: string; }; - ResultSuccess_HeliconeRequestAsset_: { - data: components["schemas"]["HeliconeRequestAsset"]; + ResultSuccess_any_: { + data: unknown; /** @enum {number|null} */ error: null; }; - "Result_HeliconeRequestAsset.string_": components["schemas"]["ResultSuccess_HeliconeRequestAsset_"] | components["schemas"]["ResultError_string_"]; - /** @description Construct a type with a set of properties K of type T */ - "Record_string.number-or-boolean-or-undefined_": { - [key: string]: number | boolean; + /** @enum {string} */ + KeyPermissions: "w" | "rw"; + GenerateHashQueryParams: { + apiKey: string; + governance: boolean; + keyName: string; + permissions: components["schemas"]["KeyPermissions"]; }; - Scores: components["schemas"]["Record_string.number-or-boolean-or-undefined_"]; - ScoreRequest: { - scores: components["schemas"]["Scores"]; + StoreFilterType: { + createdAt?: string; + filter: unknown; + name: string; + id?: string; }; - "ResultSuccess__hasPrompts-boolean__": { - data: { - hasPrompts: boolean; - }; + "ResultSuccess_StoreFilterType-Array_": { + data: components["schemas"]["StoreFilterType"][]; /** @enum {number|null} */ error: null; }; - "Result__hasPrompts-boolean_.string_": components["schemas"]["ResultSuccess__hasPrompts-boolean__"] | components["schemas"]["ResultError_string_"]; - PromptsResult: { - id: string; - user_defined_id: string; - description: string; - pretty_name: string; - created_at: string; - /** Format: double */ - major_version: number; - metadata?: components["schemas"]["Record_string.any_"]; - }; - "ResultSuccess_PromptsResult-Array_": { - data: components["schemas"]["PromptsResult"][]; + "Result_StoreFilterType-Array.string_": components["schemas"]["ResultSuccess_StoreFilterType-Array_"] | components["schemas"]["ResultError_string_"]; + ResultSuccess_StoreFilterType_: { + data: components["schemas"]["StoreFilterType"]; /** @enum {number|null} */ error: null; }; - "Result_PromptsResult-Array.string_": components["schemas"]["ResultSuccess_PromptsResult-Array_"] | components["schemas"]["ResultError_string_"]; - /** @description Make all properties in T optional */ - Partial_PromptToOperators_: { - id?: components["schemas"]["Partial_TextOperators_"]; - user_defined_id?: components["schemas"]["Partial_TextOperators_"]; - }; - /** @description From T, pick a set of properties whose keys are in the union K */ - "Pick_FilterLeaf.prompt_v2_": { - prompt_v2?: components["schemas"]["Partial_PromptToOperators_"]; + "Result_StoreFilterType.string_": components["schemas"]["ResultSuccess_StoreFilterType_"] | components["schemas"]["ResultError_string_"]; + "ChatCompletionTokenLogprob.TopLogprob": { + /** @description The token. */ + token: string; + /** + * @description A list of integers representing the UTF-8 bytes representation of the token. + * Useful in instances where characters are represented by multiple tokens and + * their byte representations must be combined to generate the correct text + * representation. Can be `null` if there is no bytes representation for the token. + */ + bytes: number[] | null; + /** + * Format: double + * @description The log probability of this token, if it is within the top 20 most likely + * tokens. Otherwise, the value `-9999.0` is used to signify that the token is very + * unlikely. + */ + logprob: number; }; - FilterLeafSubset_prompt_v2_: components["schemas"]["Pick_FilterLeaf.prompt_v2_"]; - PromptsFilterNode: components["schemas"]["FilterLeafSubset_prompt_v2_"] | components["schemas"]["PromptsFilterBranch"] | "all"; - PromptsFilterBranch: { - right: components["schemas"]["PromptsFilterNode"]; - /** @enum {string} */ - operator: "or" | "and"; - left: components["schemas"]["PromptsFilterNode"]; - }; - PromptsQueryParams: { - filter: components["schemas"]["PromptsFilterNode"]; + ChatCompletionTokenLogprob: { + /** @description The token. */ + token: string; + /** + * @description A list of integers representing the UTF-8 bytes representation of the token. + * Useful in instances where characters are represented by multiple tokens and + * their byte representations must be combined to generate the correct text + * representation. Can be `null` if there is no bytes representation for the token. + */ + bytes: number[] | null; + /** + * Format: double + * @description The log probability of this token, if it is within the top 20 most likely + * tokens. Otherwise, the value `-9999.0` is used to signify that the token is very + * unlikely. + */ + logprob: number; + /** + * @description List of the most likely tokens and their log probability, at this token + * position. In rare cases, there may be fewer than the number of requested + * `top_logprobs` returned. + */ + top_logprobs: components["schemas"]["ChatCompletionTokenLogprob.TopLogprob"][]; }; - PromptResult: { - id: string; - user_defined_id: string; - description: string; - pretty_name: string; - /** Format: double */ - major_version: number; - latest_version_id: string; - latest_model_used: string; - created_at: string; - last_used: string; - versions: string[]; - metadata?: components["schemas"]["Record_string.any_"]; + /** @description Log probability information for the choice. */ + "ChatCompletion.Choice.Logprobs": { + /** @description A list of message content tokens with log probability information. */ + content: components["schemas"]["ChatCompletionTokenLogprob"][] | null; + /** @description A list of message refusal tokens with log probability information. */ + refusal: components["schemas"]["ChatCompletionTokenLogprob"][] | null; }; - ResultSuccess_PromptResult_: { - data: components["schemas"]["PromptResult"]; - /** @enum {number|null} */ - error: null; + /** @description A URL citation when using web search. */ + "ChatCompletionMessage.Annotation.URLCitation": { + /** + * Format: double + * @description The index of the last character of the URL citation in the message. + */ + end_index: number; + /** + * Format: double + * @description The index of the first character of the URL citation in the message. + */ + start_index: number; + /** @description The title of the web resource. */ + title: string; + /** @description The URL of the web resource. */ + url: string; }; - "Result_PromptResult.string_": components["schemas"]["ResultSuccess_PromptResult_"] | components["schemas"]["ResultError_string_"]; - PromptQueryParams: { - timeFilter: { - end: string; - start: string; - }; + /** @description A URL citation when using web search. */ + "ChatCompletionMessage.Annotation": { + /** + * @description The type of the URL citation. Always `url_citation`. + * @enum {string} + */ + type: "url_citation"; + /** @description A URL citation when using web search. */ + url_citation: components["schemas"]["ChatCompletionMessage.Annotation.URLCitation"]; }; - CreatePromptResponse: { + /** + * @description If the audio output modality is requested, this object contains data about the + * audio response from the model. + * [Learn more](https://platform.openai.com/docs/guides/audio). + */ + ChatCompletionAudio: { + /** @description Unique identifier for this audio response. */ id: string; - prompt_version_id: string; - }; - ResultSuccess_CreatePromptResponse_: { - data: components["schemas"]["CreatePromptResponse"]; - /** @enum {number|null} */ - error: null; - }; - "Result_CreatePromptResponse.string_": components["schemas"]["ResultSuccess_CreatePromptResponse_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__metadata-Record_string.any___": { - data: { - metadata: components["schemas"]["Record_string.any_"]; - }; - /** @enum {number|null} */ - error: null; + /** + * @description Base64 encoded audio bytes generated by the model, in the format specified in + * the request. + */ + data: string; + /** + * Format: double + * @description The Unix timestamp (in seconds) for when this audio response will no longer be + * accessible on the server for use in multi-turn conversations. + */ + expires_at: number; + /** @description Transcript of the audio generated by the model. */ + transcript: string; }; - "Result__metadata-Record_string.any__.string_": components["schemas"]["ResultSuccess__metadata-Record_string.any___"] | components["schemas"]["ResultError_string_"]; - PromptEditSubversionLabelParams: { - label: string; + /** @deprecated */ + "ChatCompletionMessage.FunctionCall": { + /** + * @description The arguments to call the function with, as generated by the model in JSON + * format. Note that the model does not always generate valid JSON, and may + * hallucinate parameters not defined by your function schema. Validate the + * arguments in your code before calling your function. + */ + arguments: string; + /** @description The name of the function to call. */ + name: string; }; - PromptEditSubversionTemplateParams: { - heliconeTemplate: unknown; - experimentId?: string; + /** @description The function that the model called. */ + "ChatCompletionMessageFunctionToolCall.Function": { + /** + * @description The arguments to call the function with, as generated by the model in JSON + * format. Note that the model does not always generate valid JSON, and may + * hallucinate parameters not defined by your function schema. Validate the + * arguments in your code before calling your function. + */ + arguments: string; + /** @description The name of the function to call. */ + name: string; }; - PromptVersionResult: { + /** @description A call to a function tool created by the model. */ + ChatCompletionMessageFunctionToolCall: { + /** @description The ID of the tool call. */ id: string; - /** Format: double */ - minor_version: number; - /** Format: double */ - major_version: number; - prompt_v2: string; - model: string; - helicone_template: string; - created_at: string; - metadata: components["schemas"]["Record_string.any_"]; - parent_prompt_version?: string | null; - experiment_id?: string | null; - updated_at?: string; - }; - ResultSuccess_PromptVersionResult_: { - data: components["schemas"]["PromptVersionResult"]; - /** @enum {number|null} */ - error: null; + /** @description The function that the model called. */ + function: components["schemas"]["ChatCompletionMessageFunctionToolCall.Function"]; + /** + * @description The type of the tool. Currently, only `function` is supported. + * @enum {string} + */ + type: "function"; }; - "Result_PromptVersionResult.string_": components["schemas"]["ResultSuccess_PromptVersionResult_"] | components["schemas"]["ResultError_string_"]; - PromptCreateSubversionParams: { - newHeliconeTemplate: unknown; - isMajorVersion?: boolean; - metadata?: components["schemas"]["Record_string.any_"]; - experimentId?: string; - bumpForMajorPromptVersionId?: string; + /** @description The custom tool that the model called. */ + "ChatCompletionMessageCustomToolCall.Custom": { + /** @description The input for the custom tool call generated by the model. */ + input: string; + /** @description The name of the custom tool to call. */ + name: string; }; - PromptInputRecord: { + /** @description A call to a custom tool created by the model. */ + ChatCompletionMessageCustomToolCall: { + /** @description The ID of the tool call. */ id: string; - inputs: components["schemas"]["Record_string.string_"]; - dataset_row_id?: string; - source_request: string; - prompt_version: string; - created_at: string; - response_body?: string; - request_body?: string; - auto_prompt_inputs: unknown[]; - }; - "ResultSuccess_PromptInputRecord-Array_": { - data: components["schemas"]["PromptInputRecord"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_PromptInputRecord-Array.string_": components["schemas"]["ResultSuccess_PromptInputRecord-Array_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array_": { - data: { - meta: components["schemas"]["Record_string.any_"]; - dataset: string; - /** Format: double */ - num_hypotheses: number; - created_at: string; - id: string; - }[]; - /** @enum {number|null} */ - error: null; - }; - "Result__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array.string_": components["schemas"]["ResultSuccess__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_PromptVersionResult-Array_": { - data: components["schemas"]["PromptVersionResult"][]; - /** @enum {number|null} */ - error: null; + /** @description The custom tool that the model called. */ + custom: components["schemas"]["ChatCompletionMessageCustomToolCall.Custom"]; + /** + * @description The type of the tool. Always `custom`. + * @enum {string} + */ + type: "custom"; }; - "Result_PromptVersionResult-Array.string_": components["schemas"]["ResultSuccess_PromptVersionResult-Array_"] | components["schemas"]["ResultError_string_"]; - /** @description Make all properties in T optional */ - Partial_PromptVersionsToOperators_: { - minor_version?: components["schemas"]["Partial_NumberOperators_"]; - major_version?: components["schemas"]["Partial_NumberOperators_"]; - id?: components["schemas"]["Partial_TextOperators_"]; - prompt_v2?: components["schemas"]["Partial_TextOperators_"]; + /** @description A call to a function tool created by the model. */ + ChatCompletionMessageToolCall: components["schemas"]["ChatCompletionMessageFunctionToolCall"] | components["schemas"]["ChatCompletionMessageCustomToolCall"]; + /** @description A chat completion message generated by the model. */ + ChatCompletionMessage: { + /** @description The contents of the message. */ + content: string | null; + /** @description The refusal message generated by the model. */ + refusal: string | null; + /** + * @description The role of the author of this message. + * @enum {string} + */ + role: "assistant"; + /** + * @description Annotations for the message, when applicable, as when using the + * [web search tool](https://platform.openai.com/docs/guides/tools-web-search?api-mode=chat). + */ + annotations?: components["schemas"]["ChatCompletionMessage.Annotation"][]; + /** + * @description If the audio output modality is requested, this object contains data about the + * audio response from the model. + * [Learn more](https://platform.openai.com/docs/guides/audio). + */ + audio?: components["schemas"]["ChatCompletionAudio"] | null; + /** @deprecated */ + function_call?: components["schemas"]["ChatCompletionMessage.FunctionCall"] | null; + /** @description The tool calls generated by the model, such as function calls. */ + tool_calls?: components["schemas"]["ChatCompletionMessageToolCall"][]; }; - /** @description From T, pick a set of properties whose keys are in the union K */ - "Pick_FilterLeaf.prompts_versions_": { - prompts_versions?: components["schemas"]["Partial_PromptVersionsToOperators_"]; + "ChatCompletion.Choice": { + /** + * @description The reason the model stopped generating tokens. This will be `stop` if the model + * hit a natural stop point or a provided stop sequence, `length` if the maximum + * number of tokens specified in the request was reached, `content_filter` if + * content was omitted due to a flag from our content filters, `tool_calls` if the + * model called a tool, or `function_call` (deprecated) if the model called a + * function. + * @enum {string} + */ + finish_reason: "stop" | "length" | "tool_calls" | "content_filter" | "function_call"; + /** + * Format: double + * @description The index of the choice in the list of choices. + */ + index: number; + /** @description Log probability information for the choice. */ + logprobs: components["schemas"]["ChatCompletion.Choice.Logprobs"] | null; + /** @description A chat completion message generated by the model. */ + message: components["schemas"]["ChatCompletionMessage"]; }; - FilterLeafSubset_prompts_versions_: components["schemas"]["Pick_FilterLeaf.prompts_versions_"]; - PromptVersionsFilterNode: components["schemas"]["FilterLeafSubset_prompts_versions_"] | components["schemas"]["PromptVersionsFilterBranch"] | "all"; - PromptVersionsFilterBranch: { - right: components["schemas"]["PromptVersionsFilterNode"]; - /** @enum {string} */ - operator: "or" | "and"; - left: components["schemas"]["PromptVersionsFilterNode"]; + /** @description Breakdown of tokens used in a completion. */ + "CompletionUsage.CompletionTokensDetails": { + /** + * Format: double + * @description When using Predicted Outputs, the number of tokens in the prediction that + * appeared in the completion. + */ + accepted_prediction_tokens?: number; + /** + * Format: double + * @description Audio input tokens generated by the model. + */ + audio_tokens?: number; + /** + * Format: double + * @description Tokens generated by the model for reasoning. + */ + reasoning_tokens?: number; + /** + * Format: double + * @description When using Predicted Outputs, the number of tokens in the prediction that did + * not appear in the completion. However, like reasoning tokens, these tokens are + * still counted in the total completion tokens for purposes of billing, output, + * and context window limits. + */ + rejected_prediction_tokens?: number; }; - PromptVersionsQueryParams: { - filter?: components["schemas"]["PromptVersionsFilterNode"]; - includeExperimentVersions?: boolean; + /** @description Breakdown of tokens used in the prompt. */ + "CompletionUsage.PromptTokensDetails": { + /** + * Format: double + * @description Audio input tokens present in the prompt. + */ + audio_tokens?: number; + /** + * Format: double + * @description Cached tokens present in the prompt. + */ + cached_tokens?: number; }; - PromptVersionResultCompiled: { - id: string; - /** Format: double */ - minor_version: number; - /** Format: double */ - major_version: number; - prompt_v2: string; - model: string; - prompt_compiled: unknown; - }; - ResultSuccess_PromptVersionResultCompiled_: { - data: components["schemas"]["PromptVersionResultCompiled"]; - /** @enum {number|null} */ - error: null; - }; - "Result_PromptVersionResultCompiled.string_": components["schemas"]["ResultSuccess_PromptVersionResultCompiled_"] | components["schemas"]["ResultError_string_"]; - PromptVersiosQueryParamsCompiled: { - filter?: components["schemas"]["PromptVersionsFilterNode"]; - includeExperimentVersions?: boolean; - inputs: components["schemas"]["Record_string.string_"]; + /** @description Usage statistics for the completion request. */ + CompletionUsage: { + /** + * Format: double + * @description Number of tokens in the generated completion. + */ + completion_tokens: number; + /** + * Format: double + * @description Number of tokens in the prompt. + */ + prompt_tokens: number; + /** + * Format: double + * @description Total number of tokens used in the request (prompt + completion). + */ + total_tokens: number; + /** @description Breakdown of tokens used in a completion. */ + completion_tokens_details?: components["schemas"]["CompletionUsage.CompletionTokensDetails"]; + /** @description Breakdown of tokens used in the prompt. */ + prompt_tokens_details?: components["schemas"]["CompletionUsage.PromptTokensDetails"]; }; - PromptVersionResultFilled: { + /** + * @description Represents a chat completion response returned by model, based on the provided + * input. + */ + ChatCompletion: { + /** @description A unique identifier for the chat completion. */ id: string; - /** Format: double */ - minor_version: number; - /** Format: double */ - major_version: number; - prompt_v2: string; + /** + * @description A list of chat completion choices. Can be more than one if `n` is greater + * than 1. + */ + choices: components["schemas"]["ChatCompletion.Choice"][]; + /** + * Format: double + * @description The Unix timestamp (in seconds) of when the chat completion was created. + */ + created: number; + /** @description The model used for the chat completion. */ model: string; - filled_helicone_template: unknown; - }; - ResultSuccess_PromptVersionResultFilled_: { - data: components["schemas"]["PromptVersionResultFilled"]; - /** @enum {number|null} */ - error: null; + /** + * @description The object type, which is always `chat.completion`. + * @enum {string} + */ + object: "chat.completion"; + /** + * @description Specifies the processing type used for serving the request. + * + * - If set to 'auto', then the request will be processed with the service tier + * configured in the Project settings. Unless otherwise configured, the Project + * will use 'default'. + * - If set to 'default', then the request will be processed with the standard + * pricing and performance for the selected model. + * - If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)' or + * 'priority', then the request will be processed with the corresponding service + * tier. [Contact sales](https://openai.com/contact-sales) to learn more about + * Priority processing. + * - When not set, the default behavior is 'auto'. + * + * When the `service_tier` parameter is set, the response body will include the + * `service_tier` value based on the processing mode actually used to serve the + * request. This response value may be different from the value set in the + * parameter. + * @enum {string|null} + */ + service_tier?: "auto" | "default" | "flex" | "scale" | "priority" | null; + /** + * @description This fingerprint represents the backend configuration that the model runs with. + * + * Can be used in conjunction with the `seed` request parameter to understand when + * backend changes have been made that might impact determinism. + */ + system_fingerprint?: string; + /** @description Usage statistics for the completion request. */ + usage?: components["schemas"]["CompletionUsage"]; }; - "Result_PromptVersionResultFilled.string_": components["schemas"]["ResultSuccess_PromptVersionResultFilled_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__experimentId-string__": { - data: { - experimentId: string; - }; + ResultSuccess_ChatCompletion_: { + data: components["schemas"]["ChatCompletion"]; /** @enum {number|null} */ error: null; }; - "Result__experimentId-string_.string_": components["schemas"]["ResultSuccess__experimentId-string__"] | components["schemas"]["ResultError_string_"]; - ExperimentV2: { - id: string; - name: string; - original_prompt_version: string; - copied_original_prompt_version: string | null; - input_keys: string[] | null; - created_at: string; + "Result_ChatCompletion.string_": components["schemas"]["ResultSuccess_ChatCompletion_"] | components["schemas"]["ResultError_string_"]; + /** + * @description Learn about + * [text inputs](https://platform.openai.com/docs/guides/text-generation). + */ + ChatCompletionContentPartText: { + /** @description The text content. */ + text: string; + /** + * @description The type of the content part. + * @enum {string} + */ + type: "text"; }; - "ResultSuccess_ExperimentV2-Array_": { - data: components["schemas"]["ExperimentV2"][]; - /** @enum {number|null} */ - error: null; + /** + * @description Developer-provided instructions that the model should follow, regardless of + * messages sent by the user. With o1 models and newer, `developer` messages + * replace the previous `system` messages. + */ + ChatCompletionDeveloperMessageParam: { + /** @description The contents of the developer message. */ + content: string | components["schemas"]["ChatCompletionContentPartText"][]; + /** + * @description The role of the messages author, in this case `developer`. + * @enum {string} + */ + role: "developer"; + /** + * @description An optional name for the participant. Provides the model information to + * differentiate between participants of the same role. + */ + name?: string; }; - "Result_ExperimentV2-Array.string_": components["schemas"]["ResultSuccess_ExperimentV2-Array_"] | components["schemas"]["ResultError_string_"]; - ExperimentV2Output: { - id: string; - request_id: string; - is_original: boolean; - prompt_version_id: string; - created_at: string; - input_record_id: string; + /** + * @description Developer-provided instructions that the model should follow, regardless of + * messages sent by the user. With o1 models and newer, use `developer` messages + * for this purpose instead. + */ + ChatCompletionSystemMessageParam: { + /** @description The contents of the system message. */ + content: string | components["schemas"]["ChatCompletionContentPartText"][]; + /** + * @description The role of the messages author, in this case `system`. + * @enum {string} + */ + role: "system"; + /** + * @description An optional name for the participant. Provides the model information to + * differentiate between participants of the same role. + */ + name?: string; }; - ExperimentV2Row: { - id: string; - inputs: components["schemas"]["Record_string.string_"]; - prompt_version: string; - requests: components["schemas"]["ExperimentV2Output"][]; - auto_prompt_inputs: unknown[]; + "ChatCompletionContentPartImage.ImageURL": { + /** @description Either a URL of the image or the base64 encoded image data. */ + url: string; + /** + * @description Specifies the detail level of the image. Learn more in the + * [Vision guide](https://platform.openai.com/docs/guides/vision#low-or-high-fidelity-image-understanding). + * @enum {string} + */ + detail?: "auto" | "low" | "high"; }; - ExtendedExperimentData: { - id: string; - name: string; - original_prompt_version: string; - copied_original_prompt_version: string | null; - input_keys: string[] | null; - created_at: string; - rows: components["schemas"]["ExperimentV2Row"][]; + /** @description Learn about [image inputs](https://platform.openai.com/docs/guides/vision). */ + ChatCompletionContentPartImage: { + image_url: components["schemas"]["ChatCompletionContentPartImage.ImageURL"]; + /** + * @description The type of the content part. + * @enum {string} + */ + type: "image_url"; }; - ResultSuccess_ExtendedExperimentData_: { - data: components["schemas"]["ExtendedExperimentData"]; - /** @enum {number|null} */ - error: null; + "ChatCompletionContentPartInputAudio.InputAudio": { + /** @description Base64 encoded audio data. */ + data: string; + /** + * @description The format of the encoded audio data. Currently supports "wav" and "mp3". + * @enum {string} + */ + format: "wav" | "mp3"; }; - "Result_ExtendedExperimentData.string_": components["schemas"]["ResultSuccess_ExtendedExperimentData_"] | components["schemas"]["ResultError_string_"]; - CreateNewPromptVersionForExperimentParams: { - newHeliconeTemplate: unknown; - isMajorVersion?: boolean; - metadata?: components["schemas"]["Record_string.any_"]; - experimentId?: string; - bumpForMajorPromptVersionId?: string; - parentPromptVersionId: string; - }; - ExperimentV2PromptVersion: { - created_at: string | null; - experiment_id: string | null; - helicone_template: components["schemas"]["Json"] | null; - id: string; - /** Format: double */ - major_version: number; - metadata: components["schemas"]["Json"] | null; - /** Format: double */ - minor_version: number; - model: string | null; - organization: string; - prompt_v2: string; - soft_delete: boolean | null; + /** @description Learn about [audio inputs](https://platform.openai.com/docs/guides/audio). */ + ChatCompletionContentPartInputAudio: { + input_audio: components["schemas"]["ChatCompletionContentPartInputAudio.InputAudio"]; + /** + * @description The type of the content part. Always `input_audio`. + * @enum {string} + */ + type: "input_audio"; }; - "ResultSuccess_ExperimentV2PromptVersion-Array_": { - data: components["schemas"]["ExperimentV2PromptVersion"][]; - /** @enum {number|null} */ - error: null; + "ChatCompletionContentPart.File.File": { + /** + * @description The base64 encoded file data, used when passing the file to the model as a + * string. + */ + file_data?: string; + /** @description The ID of an uploaded file to use as input. */ + file_id?: string; + /** @description The name of the file, used when passing the file to the model as a string. */ + filename?: string; }; - "Result_ExperimentV2PromptVersion-Array.string_": components["schemas"]["ResultSuccess_ExperimentV2PromptVersion-Array_"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_boolean_: { - data: boolean; - /** @enum {number|null} */ - error: null; + /** + * @description Learn about [file inputs](https://platform.openai.com/docs/guides/text) for text + * generation. + */ + "ChatCompletionContentPart.File": { + file: components["schemas"]["ChatCompletionContentPart.File.File"]; + /** + * @description The type of the content part. Always `file`. + * @enum {string} + */ + type: "file"; }; - "Result_boolean.string_": components["schemas"]["ResultSuccess_boolean_"] | components["schemas"]["ResultError_string_"]; - ScoreV2: { - valueType: string; - value: number | string; - /** Format: double */ - max: number; - /** Format: double */ - min: number; + /** + * @description Learn about + * [text inputs](https://platform.openai.com/docs/guides/text-generation). + */ + ChatCompletionContentPart: components["schemas"]["ChatCompletionContentPartText"] | components["schemas"]["ChatCompletionContentPartImage"] | components["schemas"]["ChatCompletionContentPartInputAudio"] | components["schemas"]["ChatCompletionContentPart.File"]; + /** + * @description Messages sent by an end user, containing prompts or additional context + * information. + */ + ChatCompletionUserMessageParam: { + /** @description The contents of the user message. */ + content: string | components["schemas"]["ChatCompletionContentPart"][]; + /** + * @description The role of the messages author, in this case `user`. + * @enum {string} + */ + role: "user"; + /** + * @description An optional name for the participant. Provides the model information to + * differentiate between participants of the same role. + */ + name?: string; }; - /** @description Construct a type with a set of properties K of type T */ - "Record_string.ScoreV2_": { - [key: string]: components["schemas"]["ScoreV2"]; + /** + * @description Data about a previous audio response from the model. + * [Learn more](https://platform.openai.com/docs/guides/audio). + */ + "ChatCompletionAssistantMessageParam.Audio": { + /** @description Unique identifier for a previous audio response from the model. */ + id: string; }; - "ResultSuccess_Record_string.ScoreV2__": { - data: components["schemas"]["Record_string.ScoreV2_"]; - /** @enum {number|null} */ - error: null; + ChatCompletionContentPartRefusal: { + /** @description The refusal message generated by the model. */ + refusal: string; + /** + * @description The type of the content part. + * @enum {string} + */ + type: "refusal"; }; - "Result_Record_string.ScoreV2_.string_": components["schemas"]["ResultSuccess_Record_string.ScoreV2__"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_ScoreV2-or-null_": { - data: components["schemas"]["ScoreV2"] | null; - /** @enum {number|null} */ - error: null; + /** @deprecated */ + "ChatCompletionAssistantMessageParam.FunctionCall": { + /** + * @description The arguments to call the function with, as generated by the model in JSON + * format. Note that the model does not always generate valid JSON, and may + * hallucinate parameters not defined by your function schema. Validate the + * arguments in your code before calling your function. + */ + arguments: string; + /** @description The name of the function to call. */ + name: string; }; - "Result_ScoreV2-or-null.string_": components["schemas"]["ResultSuccess_ScoreV2-or-null_"] | components["schemas"]["ResultError_string_"]; - IntegrationCreateParams: { - integration_name: string; - settings?: components["schemas"]["Json"]; - active?: boolean; + /** @description Messages sent by the model in response to user messages. */ + ChatCompletionAssistantMessageParam: { + /** + * @description The role of the messages author, in this case `assistant`. + * @enum {string} + */ + role: "assistant"; + /** + * @description Data about a previous audio response from the model. + * [Learn more](https://platform.openai.com/docs/guides/audio). + */ + audio?: components["schemas"]["ChatCompletionAssistantMessageParam.Audio"] | null; + /** + * @description The contents of the assistant message. Required unless `tool_calls` or + * `function_call` is specified. + */ + content?: (string | ((components["schemas"]["ChatCompletionContentPartText"] | components["schemas"]["ChatCompletionContentPartRefusal"])[])) | null; + /** @deprecated */ + function_call?: components["schemas"]["ChatCompletionAssistantMessageParam.FunctionCall"] | null; + /** + * @description An optional name for the participant. Provides the model information to + * differentiate between participants of the same role. + */ + name?: string; + /** @description The refusal message by the assistant. */ + refusal?: string | null; + /** @description The tool calls generated by the model, such as function calls. */ + tool_calls?: components["schemas"]["ChatCompletionMessageToolCall"][]; }; - Integration: { - integration_name?: string; - settings?: components["schemas"]["Json"]; - active?: boolean; - id: string; + ChatCompletionToolMessageParam: { + /** @description The contents of the tool message. */ + content: string | components["schemas"]["ChatCompletionContentPartText"][]; + /** + * @description The role of the messages author, in this case `tool`. + * @enum {string} + */ + role: "tool"; + /** @description Tool call that this message is responding to. */ + tool_call_id: string; }; - ResultSuccess_Array_Integration__: { - data: components["schemas"]["Integration"][]; - /** @enum {number|null} */ - error: null; + /** @deprecated */ + ChatCompletionFunctionMessageParam: { + /** @description The contents of the function message. */ + content: string | null; + /** @description The name of the function to call. */ + name: string; + /** + * @description The role of the messages author, in this case `function`. + * @enum {string} + */ + role: "function"; }; - "Result_Array_Integration_.string_": components["schemas"]["ResultSuccess_Array_Integration__"] | components["schemas"]["ResultError_string_"]; - IntegrationUpdateParams: { - integration_name?: string; - settings?: components["schemas"]["Json"]; - active?: boolean; + /** + * @description Developer-provided instructions that the model should follow, regardless of + * messages sent by the user. With o1 models and newer, `developer` messages + * replace the previous `system` messages. + */ + ChatCompletionMessageParam: components["schemas"]["ChatCompletionDeveloperMessageParam"] | components["schemas"]["ChatCompletionSystemMessageParam"] | components["schemas"]["ChatCompletionUserMessageParam"] | components["schemas"]["ChatCompletionAssistantMessageParam"] | components["schemas"]["ChatCompletionToolMessageParam"] | components["schemas"]["ChatCompletionFunctionMessageParam"]; + /** + * @description The parameters the functions accepts, described as a JSON Schema object. See the + * [guide](https://platform.openai.com/docs/guides/function-calling) for examples, + * and the + * [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for + * documentation about the format. + * + * Omitting `parameters` defines a function with an empty parameter list. + */ + FunctionParameters: { + [key: string]: unknown; }; - ResultSuccess_Integration_: { - data: components["schemas"]["Integration"]; - /** @enum {number|null} */ - error: null; + FunctionDefinition: { + /** + * @description The name of the function to be called. Must be a-z, A-Z, 0-9, or contain + * underscores and dashes, with a maximum length of 64. + */ + name: string; + /** + * @description A description of what the function does, used by the model to choose when and + * how to call the function. + */ + description?: string; + /** + * @description The parameters the functions accepts, described as a JSON Schema object. See the + * [guide](https://platform.openai.com/docs/guides/function-calling) for examples, + * and the + * [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for + * documentation about the format. + * + * Omitting `parameters` defines a function with an empty parameter list. + */ + parameters?: components["schemas"]["FunctionParameters"]; + /** + * @description Whether to enable strict schema adherence when generating the function call. If + * set to true, the model will follow the exact schema defined in the `parameters` + * field. Only a subset of JSON Schema is supported when `strict` is `true`. Learn + * more about Structured Outputs in the + * [function calling guide](https://platform.openai.com/docs/guides/function-calling). + */ + strict?: boolean | null; }; - "Result_Integration.string_": components["schemas"]["ResultSuccess_Integration_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_Array__id-string--name-string___": { - data: { - name: string; - id: string; - }[]; - /** @enum {number|null} */ - error: null; + /** @description A function tool that can be used to generate a response. */ + ChatCompletionFunctionTool: { + function: components["schemas"]["FunctionDefinition"]; + /** + * @description The type of the tool. Currently, only `function` is supported. + * @enum {string} + */ + type: "function"; }; - "Result_Array__id-string--name-string__.string_": components["schemas"]["ResultSuccess_Array__id-string--name-string___"] | components["schemas"]["ResultError_string_"]; - TestStripeMeterEventRequest: { - event_name: string; - customer_id: string; + /** @description Unconstrained free-form text. */ + "ChatCompletionCustomTool.Custom.Text": { + /** + * @description Unconstrained text format. Always `text`. + * @enum {string} + */ + type: "text"; }; - /** @enum {string} */ - BodyMappingType: "OPENAI" | "NO_MAPPING" | "RESPONSES"; - HeliconeMeta: { - freeLimitExceeded?: boolean; - aiGatewayBodyMapping?: components["schemas"]["BodyMappingType"]; - providerModelId?: string; - gatewayModel?: string; - gatewayProvider?: components["schemas"]["ModelProviderName"]; - isPassthroughBilling?: boolean; - gatewayDeploymentTarget?: string; - gatewayRouterId?: string; - stripeCustomerId?: string; - heliconeManualAccessKey?: string; - promptInputs?: components["schemas"]["Record_string.any_"]; - promptVersionId?: string; - promptEnvironment?: string; - promptId?: string; - lytixHost?: string; - lytixKey?: string; - posthogHost?: string; - posthogApiKey?: string; - webhookEnabled: boolean; - omitResponseLog: boolean; - omitRequestLog: boolean; - modelOverride?: string; + /** @description Your chosen grammar. */ + "ChatCompletionCustomTool.Custom.Grammar.Grammar": { + /** @description The grammar definition. */ + definition: string; + /** + * @description The syntax of the grammar definition. One of `lark` or `regex`. + * @enum {string} + */ + syntax: "lark" | "regex"; }; - /** - * @description Parses a string containing custom JSX-like tags and extracts information to produce two outputs: - * 1. A version of the string with all JSX tags removed, leaving only the text content. - * 2. An object representing a template with self-closing JSX tags and a separate mapping of keys to their - * corresponding text content. - * - * The function specifically targets `` tags, which include a `key` attribute and enclosed text content. - * These tags are transformed or removed based on the desired output structure. The process involves regular expressions - * to match and manipulate the input string to produce the outputs. - * - * Parameters: - * - input: A string containing the text and JSX-like tags to be parsed. - * - * Returns: - * An object with two properties: - * 1. stringWithoutJSXTags: A string where all `` tags are removed, and only their text content remains. - * 2. templateWithInputs: An object containing: - * - template: A version of the input string where `` tags are replaced with self-closing versions, - * preserving the `key` attributes but removing the text content. - * - inputs: An object mapping the `key` attributes to their corresponding text content, effectively extracting - * the data from the original tags. - * - * Example Usage: - * ```ts - * const input = ` - * The scene is Harry Potter. - * justin test`; - * - * const expectedOutput = parseJSXString(input); - * console.log(expectedOutput); - * ``` - * The function is useful for preprocessing strings with embedded custom JSX-like tags, extracting useful data, - * and preparing templates for further processing or rendering. It demonstrates a practical application of regular - * expressions for text manipulation in TypeScript, specifically tailored to a custom JSX-like syntax. - */ - TemplateWithInputs: { - template: Record; - inputs: { - [key: string]: string; - }; - autoInputs: unknown[]; + /** @description A grammar defined by the user. */ + "ChatCompletionCustomTool.Custom.Grammar": { + /** @description Your chosen grammar. */ + grammar: components["schemas"]["ChatCompletionCustomTool.Custom.Grammar.Grammar"]; + /** + * @description Grammar format. Always `grammar`. + * @enum {string} + */ + type: "grammar"; }; - Log: { - response: { - model?: string; - /** Format: double */ - reasoningTokens?: number; - /** Format: double */ - completionAudioTokens?: number; - /** Format: double */ - promptAudioTokens?: number; - /** Format: double */ - promptCacheWriteTokens?: number; - /** Format: double */ - promptCacheReadTokens?: number; - /** Format: double */ - completionTokens?: number; - /** Format: double */ - promptTokens?: number; - /** Format: double */ - cost?: number; - /** Format: double */ - cachedLatency?: number; - /** Format: double */ - delayMs: number; - /** Format: date-time */ - responseCreatedAt: string; - /** Format: double */ - timeToFirstToken?: number; - /** Format: double */ - bodySize: number; - /** Format: double */ - status: number; - id: string; - }; - request: { - requestReferrer?: string; - cacheReferenceId?: string; - cacheControl?: string; - /** Format: double */ - cacheBucketMaxSize?: number; - /** Format: double */ - cacheSeed?: number; - cacheEnabled?: boolean; - experimentRowIndex?: string; - experimentColumnId?: string; - heliconeTemplate?: components["schemas"]["TemplateWithInputs"]; - isStream: boolean; - /** Format: date-time */ - requestCreatedAt: string; - countryCode?: string; - threat?: boolean; - path: string; - /** Format: double */ - bodySize: number; - provider: components["schemas"]["Provider"]; - targetUrl: string; - heliconeProxyKeyId?: string; - /** Format: double */ - heliconeApiKeyId?: number; - properties: components["schemas"]["Record_string.string_"]; - promptVersion?: string; - promptId?: string; - userId: string; - id: string; - }; - }; - KafkaMessageContents: { - log: components["schemas"]["Log"]; - heliconeMeta: components["schemas"]["HeliconeMeta"]; - authorization: string; - }; - ResultSuccess_any_: { - data: unknown; - /** @enum {number|null} */ - error: null; - }; - /** @enum {string} */ - KeyPermissions: "w" | "rw"; - GenerateHashQueryParams: { - apiKey: string; - governance: boolean; - keyName: string; - permissions: components["schemas"]["KeyPermissions"]; - }; - StoreFilterType: { - createdAt?: string; - filter: unknown; + /** @description Properties of the custom tool. */ + "ChatCompletionCustomTool.Custom": { + /** @description The name of the custom tool, used to identify it in tool calls. */ name: string; - id?: string; - }; - "ResultSuccess_StoreFilterType-Array_": { - data: components["schemas"]["StoreFilterType"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_StoreFilterType-Array.string_": components["schemas"]["ResultSuccess_StoreFilterType-Array_"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_StoreFilterType_: { - data: components["schemas"]["StoreFilterType"]; - /** @enum {number|null} */ - error: null; - }; - "Result_StoreFilterType.string_": components["schemas"]["ResultSuccess_StoreFilterType_"] | components["schemas"]["ResultError_string_"]; - "ChatCompletionTokenLogprob.TopLogprob": { - /** @description The token. */ - token: string; - /** - * @description A list of integers representing the UTF-8 bytes representation of the token. - * Useful in instances where characters are represented by multiple tokens and - * their byte representations must be combined to generate the correct text - * representation. Can be `null` if there is no bytes representation for the token. - */ - bytes: number[] | null; - /** - * Format: double - * @description The log probability of this token, if it is within the top 20 most likely - * tokens. Otherwise, the value `-9999.0` is used to signify that the token is very - * unlikely. - */ - logprob: number; - }; - ChatCompletionTokenLogprob: { - /** @description The token. */ - token: string; - /** - * @description A list of integers representing the UTF-8 bytes representation of the token. - * Useful in instances where characters are represented by multiple tokens and - * their byte representations must be combined to generate the correct text - * representation. Can be `null` if there is no bytes representation for the token. - */ - bytes: number[] | null; - /** - * Format: double - * @description The log probability of this token, if it is within the top 20 most likely - * tokens. Otherwise, the value `-9999.0` is used to signify that the token is very - * unlikely. - */ - logprob: number; - /** - * @description List of the most likely tokens and their log probability, at this token - * position. In rare cases, there may be fewer than the number of requested - * `top_logprobs` returned. - */ - top_logprobs: components["schemas"]["ChatCompletionTokenLogprob.TopLogprob"][]; - }; - /** @description Log probability information for the choice. */ - "ChatCompletion.Choice.Logprobs": { - /** @description A list of message content tokens with log probability information. */ - content: components["schemas"]["ChatCompletionTokenLogprob"][] | null; - /** @description A list of message refusal tokens with log probability information. */ - refusal: components["schemas"]["ChatCompletionTokenLogprob"][] | null; - }; - /** @description A URL citation when using web search. */ - "ChatCompletionMessage.Annotation.URLCitation": { - /** - * Format: double - * @description The index of the last character of the URL citation in the message. - */ - end_index: number; - /** - * Format: double - * @description The index of the first character of the URL citation in the message. - */ - start_index: number; - /** @description The title of the web resource. */ - title: string; - /** @description The URL of the web resource. */ - url: string; + /** @description Optional description of the custom tool, used to provide more context. */ + description?: string; + /** @description The input format for the custom tool. Default is unconstrained text. */ + format?: components["schemas"]["ChatCompletionCustomTool.Custom.Text"] | components["schemas"]["ChatCompletionCustomTool.Custom.Grammar"]; }; - /** @description A URL citation when using web search. */ - "ChatCompletionMessage.Annotation": { + /** @description A custom tool that processes input using a specified format. */ + ChatCompletionCustomTool: { + /** @description Properties of the custom tool. */ + custom: components["schemas"]["ChatCompletionCustomTool.Custom"]; /** - * @description The type of the URL citation. Always `url_citation`. + * @description The type of the custom tool. Always `custom`. * @enum {string} */ - type: "url_citation"; - /** @description A URL citation when using web search. */ - url_citation: components["schemas"]["ChatCompletionMessage.Annotation.URLCitation"]; + type: "custom"; }; - /** - * @description If the audio output modality is requested, this object contains data about the - * audio response from the model. - * [Learn more](https://platform.openai.com/docs/guides/audio). - */ - ChatCompletionAudio: { - /** @description Unique identifier for this audio response. */ - id: string; + /** @description A function tool that can be used to generate a response. */ + ChatCompletionTool: components["schemas"]["ChatCompletionFunctionTool"] | components["schemas"]["ChatCompletionCustomTool"]; + /** @description Constrains the tools available to the model to a pre-defined set. */ + ChatCompletionAllowedTools: { /** - * @description Base64 encoded audio bytes generated by the model, in the format specified in - * the request. + * @description Constrains the tools available to the model to a pre-defined set. + * + * `auto` allows the model to pick from among the allowed tools and generate a + * message. + * + * `required` requires the model to call one or more of the allowed tools. + * @enum {string} */ - data: string; + mode: "auto" | "required"; /** - * Format: double - * @description The Unix timestamp (in seconds) for when this audio response will no longer be - * accessible on the server for use in multi-turn conversations. + * @description A list of tool definitions that the model should be allowed to call. + * + * For the Chat Completions API, the list of tool definitions might look like: + * + * ```json + * [ + * { "type": "function", "function": { "name": "get_weather" } }, + * { "type": "function", "function": { "name": "get_time" } } + * ] + * ``` */ - expires_at: number; - /** @description Transcript of the audio generated by the model. */ - transcript: string; + tools: { + [key: string]: unknown; + }[]; }; - /** @deprecated */ - "ChatCompletionMessage.FunctionCall": { + /** @description Constrains the tools available to the model to a pre-defined set. */ + ChatCompletionAllowedToolChoice: { + /** @description Constrains the tools available to the model to a pre-defined set. */ + allowed_tools: components["schemas"]["ChatCompletionAllowedTools"]; /** - * @description The arguments to call the function with, as generated by the model in JSON - * format. Note that the model does not always generate valid JSON, and may - * hallucinate parameters not defined by your function schema. Validate the - * arguments in your code before calling your function. + * @description Allowed tool configuration type. Always `allowed_tools`. + * @enum {string} */ - arguments: string; - /** @description The name of the function to call. */ - name: string; + type: "allowed_tools"; }; - /** @description The function that the model called. */ - "ChatCompletionMessageFunctionToolCall.Function": { - /** - * @description The arguments to call the function with, as generated by the model in JSON - * format. Note that the model does not always generate valid JSON, and may - * hallucinate parameters not defined by your function schema. Validate the - * arguments in your code before calling your function. - */ - arguments: string; + "ChatCompletionNamedToolChoice.Function": { /** @description The name of the function to call. */ name: string; }; - /** @description A call to a function tool created by the model. */ - ChatCompletionMessageFunctionToolCall: { - /** @description The ID of the tool call. */ - id: string; - /** @description The function that the model called. */ - function: components["schemas"]["ChatCompletionMessageFunctionToolCall.Function"]; + /** + * @description Specifies a tool the model should use. Use to force the model to call a specific + * function. + */ + ChatCompletionNamedToolChoice: { + function: components["schemas"]["ChatCompletionNamedToolChoice.Function"]; /** - * @description The type of the tool. Currently, only `function` is supported. + * @description For function calling, the type is always `function`. * @enum {string} */ type: "function"; }; - /** @description The custom tool that the model called. */ - "ChatCompletionMessageCustomToolCall.Custom": { - /** @description The input for the custom tool call generated by the model. */ - input: string; + "ChatCompletionNamedToolChoiceCustom.Custom": { /** @description The name of the custom tool to call. */ name: string; }; - /** @description A call to a custom tool created by the model. */ - ChatCompletionMessageCustomToolCall: { - /** @description The ID of the tool call. */ - id: string; - /** @description The custom tool that the model called. */ - custom: components["schemas"]["ChatCompletionMessageCustomToolCall.Custom"]; + /** + * @description Specifies a tool the model should use. Use to force the model to call a specific + * custom tool. + */ + ChatCompletionNamedToolChoiceCustom: { + custom: components["schemas"]["ChatCompletionNamedToolChoiceCustom.Custom"]; /** - * @description The type of the tool. Always `custom`. + * @description For custom tool calling, the type is always `custom`. * @enum {string} */ type: "custom"; }; - /** @description A call to a function tool created by the model. */ - ChatCompletionMessageToolCall: components["schemas"]["ChatCompletionMessageFunctionToolCall"] | components["schemas"]["ChatCompletionMessageCustomToolCall"]; - /** @description A chat completion message generated by the model. */ - ChatCompletionMessage: { - /** @description The contents of the message. */ - content: string | null; - /** @description The refusal message generated by the model. */ - refusal: string | null; - /** - * @description The role of the author of this message. - * @enum {string} - */ - role: "assistant"; - /** - * @description Annotations for the message, when applicable, as when using the - * [web search tool](https://platform.openai.com/docs/guides/tools-web-search?api-mode=chat). - */ - annotations?: components["schemas"]["ChatCompletionMessage.Annotation"][]; - /** - * @description If the audio output modality is requested, this object contains data about the - * audio response from the model. - * [Learn more](https://platform.openai.com/docs/guides/audio). - */ - audio?: components["schemas"]["ChatCompletionAudio"] | null; - /** @deprecated */ - function_call?: components["schemas"]["ChatCompletionMessage.FunctionCall"] | null; - /** @description The tool calls generated by the model, such as function calls. */ - tool_calls?: components["schemas"]["ChatCompletionMessageToolCall"][]; - }; - "ChatCompletion.Choice": { - /** - * @description The reason the model stopped generating tokens. This will be `stop` if the model - * hit a natural stop point or a provided stop sequence, `length` if the maximum - * number of tokens specified in the request was reached, `content_filter` if - * content was omitted due to a flag from our content filters, `tool_calls` if the - * model called a tool, or `function_call` (deprecated) if the model called a - * function. - * @enum {string} - */ - finish_reason: "stop" | "length" | "tool_calls" | "content_filter" | "function_call"; - /** - * Format: double - * @description The index of the choice in the list of choices. - */ - index: number; - /** @description Log probability information for the choice. */ - logprobs: components["schemas"]["ChatCompletion.Choice.Logprobs"] | null; - /** @description A chat completion message generated by the model. */ - message: components["schemas"]["ChatCompletionMessage"]; - }; - /** @description Breakdown of tokens used in a completion. */ - "CompletionUsage.CompletionTokensDetails": { - /** - * Format: double - * @description When using Predicted Outputs, the number of tokens in the prediction that - * appeared in the completion. - */ - accepted_prediction_tokens?: number; - /** - * Format: double - * @description Audio input tokens generated by the model. - */ - audio_tokens?: number; - /** - * Format: double - * @description Tokens generated by the model for reasoning. - */ - reasoning_tokens?: number; - /** - * Format: double - * @description When using Predicted Outputs, the number of tokens in the prediction that did - * not appear in the completion. However, like reasoning tokens, these tokens are - * still counted in the total completion tokens for purposes of billing, output, - * and context window limits. - */ - rejected_prediction_tokens?: number; - }; - /** @description Breakdown of tokens used in the prompt. */ - "CompletionUsage.PromptTokensDetails": { - /** - * Format: double - * @description Audio input tokens present in the prompt. - */ - audio_tokens?: number; - /** - * Format: double - * @description Cached tokens present in the prompt. - */ - cached_tokens?: number; - }; - /** @description Usage statistics for the completion request. */ - CompletionUsage: { - /** - * Format: double - * @description Number of tokens in the generated completion. - */ - completion_tokens: number; - /** - * Format: double - * @description Number of tokens in the prompt. - */ - prompt_tokens: number; - /** - * Format: double - * @description Total number of tokens used in the request (prompt + completion). - */ - total_tokens: number; - /** @description Breakdown of tokens used in a completion. */ - completion_tokens_details?: components["schemas"]["CompletionUsage.CompletionTokensDetails"]; - /** @description Breakdown of tokens used in the prompt. */ - prompt_tokens_details?: components["schemas"]["CompletionUsage.PromptTokensDetails"]; - }; /** - * @description Represents a chat completion response returned by model, based on the provided - * input. + * @description Controls which (if any) tool is called by the model. `none` means the model will + * not call any tool and instead generates a message. `auto` means the model can + * pick between generating a message or calling one or more tools. `required` means + * the model must call one or more tools. Specifying a particular tool via + * `{"type": "function", "function": {"name": "my_function"}}` forces the model to + * call that tool. + * + * `none` is the default when no tools are present. `auto` is the default if tools + * are present. */ - ChatCompletion: { - /** @description A unique identifier for the chat completion. */ - id: string; - /** - * @description A list of chat completion choices. Can be more than one if `n` is greater - * than 1. - */ - choices: components["schemas"]["ChatCompletion.Choice"][]; - /** - * Format: double - * @description The Unix timestamp (in seconds) of when the chat completion was created. - */ - created: number; - /** @description The model used for the chat completion. */ - model: string; - /** - * @description The object type, which is always `chat.completion`. - * @enum {string} - */ - object: "chat.completion"; - /** - * @description Specifies the processing type used for serving the request. - * - * - If set to 'auto', then the request will be processed with the service tier - * configured in the Project settings. Unless otherwise configured, the Project - * will use 'default'. - * - If set to 'default', then the request will be processed with the standard - * pricing and performance for the selected model. - * - If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)' or - * 'priority', then the request will be processed with the corresponding service - * tier. [Contact sales](https://openai.com/contact-sales) to learn more about - * Priority processing. - * - When not set, the default behavior is 'auto'. - * - * When the `service_tier` parameter is set, the response body will include the - * `service_tier` value based on the processing mode actually used to serve the - * request. This response value may be different from the value set in the - * parameter. - * @enum {string|null} - */ - service_tier?: "auto" | "default" | "flex" | "scale" | "priority" | null; - /** - * @description This fingerprint represents the backend configuration that the model runs with. - * - * Can be used in conjunction with the `seed` request parameter to understand when - * backend changes have been made that might impact determinism. - */ - system_fingerprint?: string; - /** @description Usage statistics for the completion request. */ - usage?: components["schemas"]["CompletionUsage"]; + ChatCompletionToolChoiceOption: components["schemas"]["ChatCompletionAllowedToolChoice"] | components["schemas"]["ChatCompletionNamedToolChoice"] | components["schemas"]["ChatCompletionNamedToolChoiceCustom"] | ("none" | "auto" | "required"); + AlertResponse: { + alerts: ({ + updated_at: string | null; + /** Format: double */ + time_window: number; + /** Format: double */ + time_block_duration: number; + /** Format: double */ + threshold: number; + status: string; + soft_delete: boolean; + slack_channels: string[]; + org_id: string; + name: string; + /** Format: double */ + minimum_request_count: number | null; + metric: string; + id: string; + filter: components["schemas"]["Json"] | null; + emails: string[]; + created_at: string | null; + })[]; + history: ({ + updated_at: string | null; + triggered_value: string; + status: string; + soft_delete: boolean; + org_id: string; + id: string; + created_at: string | null; + alert_start_time: string; + alert_name: string; + alert_metric: string; + alert_id: string; + alert_end_time: string | null; + })[]; + /** Format: double */ + historyTotalCount: number; }; - ResultSuccess_ChatCompletion_: { - data: components["schemas"]["ChatCompletion"]; + ResultSuccess_AlertResponse_: { + data: components["schemas"]["AlertResponse"]; /** @enum {number|null} */ error: null; }; - "Result_ChatCompletion.string_": components["schemas"]["ResultSuccess_ChatCompletion_"] | components["schemas"]["ResultError_string_"]; - /** - * @description Learn about - * [text inputs](https://platform.openai.com/docs/guides/text-generation). - */ - ChatCompletionContentPartText: { - /** @description The text content. */ - text: string; - /** - * @description The type of the content part. - * @enum {string} - */ - type: "text"; + "Result_AlertResponse.string_": components["schemas"]["ResultSuccess_AlertResponse_"] | components["schemas"]["ResultError_string_"]; + /** @enum {string} */ + AlertMetric: "response.status" | "cost" | "latency" | "total_tokens" | "prompt_tokens" | "completion_tokens" | "prompt_cache_read_tokens" | "prompt_cache_write_tokens" | "count"; + /** @enum {string} */ + AlertAggregation: "sum" | "avg" | "min" | "max" | "percentile"; + /** @enum {string} */ + AlertStandardGrouping: "user" | "model" | "provider"; + AlertGrouping: components["schemas"]["AlertStandardGrouping"] | string; + /** @description Matches all records (no filtering) */ + AllExpression: { + /** @enum {string} */ + type: "all"; }; + /** @enum {string} */ + FilterSubType: "property" | "score" | "sessions" | "user"; /** - * @description Developer-provided instructions that the model should follow, regardless of - * messages sent by the user. With o1 models and newer, `developer` messages - * replace the previous `system` messages. - */ - ChatCompletionDeveloperMessageParam: { - /** @description The contents of the developer message. */ - content: string | components["schemas"]["ChatCompletionContentPartText"][]; - /** - * @description The role of the messages author, in this case `developer`. - * @enum {string} - */ - role: "developer"; - /** - * @description An optional name for the participant. Provides the model information to - * differentiate between participants of the same role. - */ - name?: string; - }; - /** - * @description Developer-provided instructions that the model should follow, regardless of - * messages sent by the user. With o1 models and newer, use `developer` messages - * for this purpose instead. + * @description Type for the field specification in a condition + * Describes what field is being filtered and how */ - ChatCompletionSystemMessageParam: { - /** @description The contents of the system message. */ - content: string | components["schemas"]["ChatCompletionContentPartText"][]; - /** - * @description The role of the messages author, in this case `system`. - * @enum {string} - */ - role: "system"; - /** - * @description An optional name for the participant. Provides the model information to - * differentiate between participants of the same role. - */ - name?: string; - }; - "ChatCompletionContentPartImage.ImageURL": { - /** @description Either a URL of the image or the base64 encoded image data. */ - url: string; - /** - * @description Specifies the detail level of the image. Learn more in the - * [Vision guide](https://platform.openai.com/docs/guides/vision#low-or-high-fidelity-image-understanding). - * @enum {string} - */ - detail?: "auto" | "low" | "high"; - }; - /** @description Learn about [image inputs](https://platform.openai.com/docs/guides/vision). */ - ChatCompletionContentPartImage: { - image_url: components["schemas"]["ChatCompletionContentPartImage.ImageURL"]; - /** - * @description The type of the content part. - * @enum {string} - */ - type: "image_url"; - }; - "ChatCompletionContentPartInputAudio.InputAudio": { - /** @description Base64 encoded audio data. */ - data: string; - /** - * @description The format of the encoded audio data. Currently supports "wav" and "mp3". - * @enum {string} - */ - format: "wav" | "mp3"; - }; - /** @description Learn about [audio inputs](https://platform.openai.com/docs/guides/audio). */ - ChatCompletionContentPartInputAudio: { - input_audio: components["schemas"]["ChatCompletionContentPartInputAudio.InputAudio"]; - /** - * @description The type of the content part. Always `input_audio`. - * @enum {string} - */ - type: "input_audio"; - }; - "ChatCompletionContentPart.File.File": { - /** - * @description The base64 encoded file data, used when passing the file to the model as a - * string. - */ - file_data?: string; - /** @description The ID of an uploaded file to use as input. */ - file_id?: string; - /** @description The name of the file, used when passing the file to the model as a string. */ - filename?: string; + BaseFieldSpec: { + subtype?: components["schemas"]["FilterSubType"]; + /** @enum {string} */ + valueMode?: "value" | "key"; + key?: string; }; + FieldSpec: (components["schemas"]["BaseFieldSpec"] & ({ + /** @enum {string} */ + column: "latency" | "prompt_tokens" | "completion_tokens" | "prompt_cache_read_tokens" | "prompt_cache_write_tokens" | "model" | "provider" | "response_id" | "response_created_at" | "status" | "request_id" | "request_created_at" | "user_id" | "organization_id" | "proxy_key_id" | "threat" | "time_to_first_token" | "country_code" | "target_url" | "properties" | "scores" | "request_body" | "response_body" | "assets" | "updated_at"; + /** @enum {string} */ + table: "request_response_rmt"; + })) | (components["schemas"]["BaseFieldSpec"] & { + /** @enum {string} */ + subtype: "property"; + column: string; + /** @enum {string} */ + table: "request_response_rmt"; + }) | (components["schemas"]["BaseFieldSpec"] & ({ + /** @enum {string} */ + column: "cost" | "total_tokens" | "prompt_tokens" | "completion_tokens" | "total_requests" | "created_at" | "latest_request_created_at"; + /** @enum {string} */ + table: "sessions_request_response_rmt"; + })) | (components["schemas"]["BaseFieldSpec"] & ({ + /** @enum {string} */ + column: "cost" | "user_id" | "total_requests" | "active_for" | "first_active" | "last_active" | "average_requests_per_day_active" | "average_tokens_per_request" | "total_completion_tokens" | "total_prompt_tokens"; + /** @enum {string} */ + table: "users_view"; + })); /** - * @description Learn about [file inputs](https://platform.openai.com/docs/guides/text) for text - * generation. + * @description All supported filter operator types + * @enum {string} */ - "ChatCompletionContentPart.File": { - file: components["schemas"]["ChatCompletionContentPart.File.File"]; - /** - * @description The type of the content part. Always `file`. - * @enum {string} - */ - type: "file"; + FilterOperator: "eq" | "neq" | "is" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "contains" | "not-contains" | "in"; + /** @description Single condition expression that compares a field against a value */ + ConditionExpression: { + /** @enum {string} */ + type: "condition"; + field: components["schemas"]["FieldSpec"]; + operator: components["schemas"]["FilterOperator"]; + value: string | number | boolean; }; /** - * @description Learn about - * [text inputs](https://platform.openai.com/docs/guides/text-generation). + * @description Filter expression type union + * Represents all possible filter expression types in the AST */ - ChatCompletionContentPart: components["schemas"]["ChatCompletionContentPartText"] | components["schemas"]["ChatCompletionContentPartImage"] | components["schemas"]["ChatCompletionContentPartInputAudio"] | components["schemas"]["ChatCompletionContentPart.File"]; + FilterExpression: components["schemas"]["AllExpression"] | components["schemas"]["ConditionExpression"] | components["schemas"]["AndExpression"] | components["schemas"]["OrExpression"]; /** - * @description Messages sent by an end user, containing prompts or additional context - * information. + * @description Logical AND of multiple expressions + * All contained expressions must match for this to match */ - ChatCompletionUserMessageParam: { - /** @description The contents of the user message. */ - content: string | components["schemas"]["ChatCompletionContentPart"][]; - /** - * @description The role of the messages author, in this case `user`. - * @enum {string} - */ - role: "user"; - /** - * @description An optional name for the participant. Provides the model information to - * differentiate between participants of the same role. - */ - name?: string; + AndExpression: { + /** @enum {string} */ + type: "and"; + expressions: components["schemas"]["FilterExpression"][]; }; /** - * @description Data about a previous audio response from the model. - * [Learn more](https://platform.openai.com/docs/guides/audio). + * @description Logical OR of multiple expressions + * At least one contained expression must match for this to match */ - "ChatCompletionAssistantMessageParam.Audio": { - /** @description Unique identifier for a previous audio response from the model. */ - id: string; - }; - ChatCompletionContentPartRefusal: { - /** @description The refusal message generated by the model. */ - refusal: string; - /** - * @description The type of the content part. - * @enum {string} - */ - type: "refusal"; + OrExpression: { + /** @enum {string} */ + type: "or"; + expressions: components["schemas"]["FilterExpression"][]; }; - /** @deprecated */ - "ChatCompletionAssistantMessageParam.FunctionCall": { - /** - * @description The arguments to call the function with, as generated by the model in JSON - * format. Note that the model does not always generate valid JSON, and may - * hallucinate parameters not defined by your function schema. Validate the - * arguments in your code before calling your function. - */ - arguments: string; - /** @description The name of the function to call. */ + AlertRequest: { name: string; + metric: components["schemas"]["AlertMetric"]; + /** Format: double */ + threshold: number; + aggregation: components["schemas"]["AlertAggregation"] | null; + /** Format: double */ + percentile: number | null; + grouping: components["schemas"]["AlertGrouping"] | null; + grouping_is_property: boolean | null; + time_window: string; + emails: string[]; + slack_channels: string[]; + /** Format: double */ + minimum_request_count?: number; + filter: components["schemas"]["FilterExpression"] | null; }; - /** @description Messages sent by the model in response to user messages. */ - ChatCompletionAssistantMessageParam: { - /** - * @description The role of the messages author, in this case `assistant`. - * @enum {string} - */ - role: "assistant"; - /** - * @description Data about a previous audio response from the model. - * [Learn more](https://platform.openai.com/docs/guides/audio). - */ - audio?: components["schemas"]["ChatCompletionAssistantMessageParam.Audio"] | null; - /** - * @description The contents of the assistant message. Required unless `tool_calls` or - * `function_call` is specified. - */ - content?: (string | ((components["schemas"]["ChatCompletionContentPartText"] | components["schemas"]["ChatCompletionContentPartRefusal"])[])) | null; - /** @deprecated */ - function_call?: components["schemas"]["ChatCompletionAssistantMessageParam.FunctionCall"] | null; - /** - * @description An optional name for the participant. Provides the model information to - * differentiate between participants of the same role. - */ - name?: string; - /** @description The refusal message by the assistant. */ - refusal?: string | null; - /** @description The tool calls generated by the model, such as function calls. */ - tool_calls?: components["schemas"]["ChatCompletionMessageToolCall"][]; - }; - ChatCompletionToolMessageParam: { - /** @description The contents of the tool message. */ - content: string | components["schemas"]["ChatCompletionContentPartText"][]; - /** - * @description The role of the messages author, in this case `tool`. - * @enum {string} - */ - role: "tool"; - /** @description Tool call that this message is responding to. */ - tool_call_id: string; + "ResultSuccess__active-boolean--created_at-string--id-number--message-string--title-string--updated_at-string_-Array_": { + data: { + updated_at: string; + title: string; + message: string; + /** Format: double */ + id: number; + created_at: string; + active: boolean; + }[]; + /** @enum {number|null} */ + error: null; }; - /** @deprecated */ - ChatCompletionFunctionMessageParam: { - /** @description The contents of the function message. */ - content: string | null; - /** @description The name of the function to call. */ + "Result__active-boolean--created_at-string--id-number--message-string--title-string--updated_at-string_-Array.string_": components["schemas"]["ResultSuccess__active-boolean--created_at-string--id-number--message-string--title-string--updated_at-string_-Array_"] | components["schemas"]["ResultError_string_"]; + ClickHouseTableColumn: { name: string; - /** - * @description The role of the messages author, in this case `function`. - * @enum {string} - */ - role: "function"; + type: string; + default_type?: string; + default_expression?: string; + comment?: string; + codec_expression?: string; + ttl_expression?: string; }; - /** - * @description Developer-provided instructions that the model should follow, regardless of - * messages sent by the user. With o1 models and newer, `developer` messages - * replace the previous `system` messages. - */ - ChatCompletionMessageParam: components["schemas"]["ChatCompletionDeveloperMessageParam"] | components["schemas"]["ChatCompletionSystemMessageParam"] | components["schemas"]["ChatCompletionUserMessageParam"] | components["schemas"]["ChatCompletionAssistantMessageParam"] | components["schemas"]["ChatCompletionToolMessageParam"] | components["schemas"]["ChatCompletionFunctionMessageParam"]; - /** - * @description The parameters the functions accepts, described as a JSON Schema object. See the - * [guide](https://platform.openai.com/docs/guides/function-calling) for examples, - * and the - * [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for - * documentation about the format. - * - * Omitting `parameters` defines a function with an empty parameter list. - */ - FunctionParameters: { - [key: string]: unknown; + ClickHouseTableSchema: { + table_name: string; + columns: components["schemas"]["ClickHouseTableColumn"][]; }; - FunctionDefinition: { - /** - * @description The name of the function to be called. Must be a-z, A-Z, 0-9, or contain - * underscores and dashes, with a maximum length of 64. - */ + "ResultSuccess_ClickHouseTableSchema-Array_": { + data: components["schemas"]["ClickHouseTableSchema"][]; + /** @enum {number|null} */ + error: null; + }; + "Result_ClickHouseTableSchema-Array.string_": components["schemas"]["ResultSuccess_ClickHouseTableSchema-Array_"] | components["schemas"]["ResultError_string_"]; + ExecuteSqlResponse: { + /** Format: double */ + rowCount: number; + /** Format: double */ + size: number; + /** Format: double */ + elapsedMilliseconds: number; + rows: components["schemas"]["Record_string.any_"][]; + }; + ResultSuccess_ExecuteSqlResponse_: { + data: components["schemas"]["ExecuteSqlResponse"]; + /** @enum {number|null} */ + error: null; + }; + "Result_ExecuteSqlResponse.string_": components["schemas"]["ResultSuccess_ExecuteSqlResponse_"] | components["schemas"]["ResultError_string_"]; + ExecuteSqlRequest: { + sql: string; + }; + HqlSavedQuery: { + id: string; + organization_id: string; name: string; - /** - * @description A description of what the function does, used by the model to choose when and - * how to call the function. - */ - description?: string; - /** - * @description The parameters the functions accepts, described as a JSON Schema object. See the - * [guide](https://platform.openai.com/docs/guides/function-calling) for examples, - * and the - * [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for - * documentation about the format. - * - * Omitting `parameters` defines a function with an empty parameter list. - */ - parameters?: components["schemas"]["FunctionParameters"]; - /** - * @description Whether to enable strict schema adherence when generating the function call. If - * set to true, the model will follow the exact schema defined in the `parameters` - * field. Only a subset of JSON Schema is supported when `strict` is `true`. Learn - * more about Structured Outputs in the - * [function calling guide](https://platform.openai.com/docs/guides/function-calling). - */ - strict?: boolean | null; + sql: string; + created_at: string; + updated_at: string; }; - /** @description A function tool that can be used to generate a response. */ - ChatCompletionFunctionTool: { - function: components["schemas"]["FunctionDefinition"]; - /** - * @description The type of the tool. Currently, only `function` is supported. - * @enum {string} - */ - type: "function"; + ResultSuccess_Array_HqlSavedQuery__: { + data: components["schemas"]["HqlSavedQuery"][]; + /** @enum {number|null} */ + error: null; }; - /** @description Unconstrained free-form text. */ - "ChatCompletionCustomTool.Custom.Text": { - /** - * @description Unconstrained text format. Always `text`. - * @enum {string} - */ - type: "text"; + "Result_Array_HqlSavedQuery_.string_": components["schemas"]["ResultSuccess_Array_HqlSavedQuery__"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess_HqlSavedQuery-or-null_": { + data: components["schemas"]["HqlSavedQuery"] | null; + /** @enum {number|null} */ + error: null; }; - /** @description Your chosen grammar. */ - "ChatCompletionCustomTool.Custom.Grammar.Grammar": { - /** @description The grammar definition. */ - definition: string; - /** - * @description The syntax of the grammar definition. One of `lark` or `regex`. - * @enum {string} - */ - syntax: "lark" | "regex"; + "Result_HqlSavedQuery-or-null.string_": components["schemas"]["ResultSuccess_HqlSavedQuery-or-null_"] | components["schemas"]["ResultError_string_"]; + ResultSuccess_void_: { + data: unknown; + /** @enum {number|null} */ + error: null; }; - /** @description A grammar defined by the user. */ - "ChatCompletionCustomTool.Custom.Grammar": { - /** @description Your chosen grammar. */ - grammar: components["schemas"]["ChatCompletionCustomTool.Custom.Grammar.Grammar"]; - /** - * @description Grammar format. Always `grammar`. - * @enum {string} - */ - type: "grammar"; + "Result_void.string_": components["schemas"]["ResultSuccess_void_"] | components["schemas"]["ResultError_string_"]; + BulkDeleteSavedQueriesRequest: { + ids: string[]; }; - /** @description Properties of the custom tool. */ - "ChatCompletionCustomTool.Custom": { - /** @description The name of the custom tool, used to identify it in tool calls. */ + "ResultSuccess_HqlSavedQuery-Array_": { + data: components["schemas"]["HqlSavedQuery"][]; + /** @enum {number|null} */ + error: null; + }; + "Result_HqlSavedQuery-Array.string_": components["schemas"]["ResultSuccess_HqlSavedQuery-Array_"] | components["schemas"]["ResultError_string_"]; + CreateSavedQueryRequest: { name: string; - /** @description Optional description of the custom tool, used to provide more context. */ - description?: string; - /** @description The input format for the custom tool. Default is unconstrained text. */ - format?: components["schemas"]["ChatCompletionCustomTool.Custom.Text"] | components["schemas"]["ChatCompletionCustomTool.Custom.Grammar"]; + sql: string; }; - /** @description A custom tool that processes input using a specified format. */ - ChatCompletionCustomTool: { - /** @description Properties of the custom tool. */ - custom: components["schemas"]["ChatCompletionCustomTool.Custom"]; + ResultSuccess_HqlSavedQuery_: { + data: components["schemas"]["HqlSavedQuery"]; + /** @enum {number|null} */ + error: null; + }; + "Result_HqlSavedQuery.string_": components["schemas"]["ResultSuccess_HqlSavedQuery_"] | components["schemas"]["ResultError_string_"]; + ResultSuccess_boolean_: { + data: boolean; + /** @enum {number|null} */ + error: null; + }; + "Result_boolean.string_": components["schemas"]["ResultSuccess_boolean_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__organization_id-string--name-string--flags-string-Array_-Array_": { + data: { + flags: string[]; + name: string; + organization_id: string; + }[]; + /** @enum {number|null} */ + error: null; + }; + "Result__organization_id-string--name-string--flags-string-Array_-Array.string_": components["schemas"]["ResultSuccess__organization_id-string--name-string--flags-string-Array_-Array_"] | components["schemas"]["ResultError_string_"]; + KafkaSettings: { + /** Format: double */ + miniBatchSize: number; + }; + AzureExperiment: { + azureBaseUri: string; + azureApiVersion: string; + azureDeploymentName: string; + azureApiKey: string; + }; + ApiKey: { + apiKey: string; + }; + Setting: components["schemas"]["KafkaSettings"] | components["schemas"]["AzureExperiment"] | components["schemas"]["ApiKey"]; + /** @enum {string} */ + SettingName: "kafka:dlq" | "kafka:log" | "kafka:score" | "kafka:dlq:score" | "kafka:dlq:eu" | "kafka:log:eu" | "kafka:orgs-to-dlq" | "azure:experiment" | "openai:apiKey" | "anthropic:apiKey" | "openrouter:apiKey" | "togetherai:apiKey" | "sqs:request-response-logs" | "sqs:helicone-scores" | "sqs:request-response-logs-dlq" | "sqs:helicone-scores-dlq" | "stripe:products" | "secrets:provider-keys"; + /** + * @description The **`URL`** interface is used to parse, construct, normalize, and encode URL. + * + * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL) + * `URL` class is a global reference for `import { URL } from 'node:url'` + * https://nodejs.org/api/url.html#the-whatwg-url-api + */ + "url.URL": string; + /** @description The Application object. */ + "stripe.Stripe.Application": { + /** @description Unique identifier for the object. */ + id: string; /** - * @description The type of the custom tool. Always `custom`. + * @description String representing the object's type. Objects of the same type share the same value. * @enum {string} */ - type: "custom"; + object: "application"; + /** @description Always true for a deleted object */ + deleted?: unknown; + /** @description The name of the application. */ + name: string | null; }; - /** @description A function tool that can be used to generate a response. */ - ChatCompletionTool: components["schemas"]["ChatCompletionFunctionTool"] | components["schemas"]["ChatCompletionCustomTool"]; - /** @description Constrains the tools available to the model to a pre-defined set. */ - ChatCompletionAllowedTools: { + /** @description The DeletedApplication object. */ + "stripe.Stripe.DeletedApplication": { + /** @description Unique identifier for the object. */ + id: string; /** - * @description Constrains the tools available to the model to a pre-defined set. - * - * `auto` allows the model to pick from among the allowed tools and generate a - * message. - * - * `required` requires the model to call one or more of the allowed tools. + * @description String representing the object's type. Objects of the same type share the same value. * @enum {string} */ - mode: "auto" | "required"; + object: "application"; /** - * @description A list of tool definitions that the model should be allowed to call. - * - * For the Chat Completions API, the list of tool definitions might look like: - * - * ```json - * [ - * { "type": "function", "function": { "name": "get_weather" } }, - * { "type": "function", "function": { "name": "get_time" } } - * ] - * ``` + * @description Always true for a deleted object + * @enum {boolean} */ - tools: { - [key: string]: unknown; - }[]; + deleted: true; + /** @description The name of the application. */ + name: string | null; }; - /** @description Constrains the tools available to the model to a pre-defined set. */ - ChatCompletionAllowedToolChoice: { - /** @description Constrains the tools available to the model to a pre-defined set. */ - allowed_tools: components["schemas"]["ChatCompletionAllowedTools"]; + "stripe.Stripe.Account.BusinessProfile.AnnualRevenue": { /** - * @description Allowed tool configuration type. Always `allowed_tools`. - * @enum {string} + * Format: double + * @description A non-negative integer representing the amount in the [smallest currency unit](https://stripe.com/currencies#zero-decimal). */ - type: "allowed_tools"; - }; - "ChatCompletionNamedToolChoice.Function": { - /** @description The name of the function to call. */ - name: string; + amount: number | null; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string | null; + /** @description The close-out date of the preceding fiscal year in ISO 8601 format. E.g. 2023-12-31 for the 31st of December, 2023. */ + fiscal_year_end: string | null; }; - /** - * @description Specifies a tool the model should use. Use to force the model to call a specific - * function. - */ - ChatCompletionNamedToolChoice: { - function: components["schemas"]["ChatCompletionNamedToolChoice.Function"]; + "stripe.Stripe.Account.BusinessProfile.MonthlyEstimatedRevenue": { /** - * @description For function calling, the type is always `function`. - * @enum {string} + * Format: double + * @description A non-negative integer representing how much to charge in the [smallest currency unit](https://stripe.com/currencies#zero-decimal). */ - type: "function"; + amount: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; }; - "ChatCompletionNamedToolChoiceCustom.Custom": { - /** @description The name of the custom tool to call. */ - name: string; + /** @description The Address object. */ + "stripe.Stripe.Address": { + /** @description City/District/Suburb/Town/Village. */ + city: string | null; + /** @description 2-letter country code. */ + country: string | null; + /** @description Address line 1 (Street address/PO Box/Company name). */ + line1: string | null; + /** @description Address line 2 (Apartment/Suite/Unit/Building). */ + line2: string | null; + /** @description ZIP or postal code. */ + postal_code: string | null; + /** @description State/County/Province/Region. */ + state: string | null; }; - /** - * @description Specifies a tool the model should use. Use to force the model to call a specific - * custom tool. - */ - ChatCompletionNamedToolChoiceCustom: { - custom: components["schemas"]["ChatCompletionNamedToolChoiceCustom.Custom"]; + "stripe.Stripe.Account.BusinessProfile": { + /** @description The applicant's gross annual revenue for its preceding fiscal year. */ + annual_revenue?: components["schemas"]["stripe.Stripe.Account.BusinessProfile.AnnualRevenue"] | null; /** - * @description For custom tool calling, the type is always `custom`. - * @enum {string} + * Format: double + * @description An estimated upper bound of employees, contractors, vendors, etc. currently working for the business. */ - type: "custom"; - }; - /** - * @description Controls which (if any) tool is called by the model. `none` means the model will - * not call any tool and instead generates a message. `auto` means the model can - * pick between generating a message or calling one or more tools. `required` means - * the model must call one or more tools. Specifying a particular tool via - * `{"type": "function", "function": {"name": "my_function"}}` forces the model to - * call that tool. - * - * `none` is the default when no tools are present. `auto` is the default if tools - * are present. - */ - ChatCompletionToolChoiceOption: components["schemas"]["ChatCompletionAllowedToolChoice"] | components["schemas"]["ChatCompletionNamedToolChoice"] | components["schemas"]["ChatCompletionNamedToolChoiceCustom"] | ("none" | "auto" | "required"); - AlertResponse: { - alerts: ({ - updated_at: string | null; - /** Format: double */ - time_window: number; - /** Format: double */ - time_block_duration: number; - /** Format: double */ - threshold: number; - status: string; - soft_delete: boolean; - slack_channels: string[]; - org_id: string; - name: string; - /** Format: double */ - minimum_request_count: number | null; - metric: string; - id: string; - filter: components["schemas"]["Json"] | null; - emails: string[]; - created_at: string | null; - })[]; - history: ({ - updated_at: string | null; - triggered_value: string; - status: string; - soft_delete: boolean; - org_id: string; - id: string; - created_at: string | null; - alert_start_time: string; - alert_name: string; - alert_metric: string; - alert_id: string; - alert_end_time: string | null; - })[]; - /** Format: double */ - historyTotalCount: number; - }; - ResultSuccess_AlertResponse_: { - data: components["schemas"]["AlertResponse"]; - /** @enum {number|null} */ - error: null; + estimated_worker_count?: number | null; + /** @description [The merchant category code for the account](https://stripe.com/connect/setting-mcc). MCCs are used to classify businesses based on the goods or services they provide. */ + mcc: string | null; + monthly_estimated_revenue?: components["schemas"]["stripe.Stripe.Account.BusinessProfile.MonthlyEstimatedRevenue"]; + /** @description The customer-facing business name. */ + name: string | null; + /** @description Internal-only description of the product sold or service provided by the business. It's used by Stripe for risk and underwriting purposes. */ + product_description?: string | null; + /** @description A publicly available mailing address for sending support issues to. */ + support_address: components["schemas"]["stripe.Stripe.Address"] | null; + /** @description A publicly available email address for sending support issues to. */ + support_email: string | null; + /** @description A publicly available phone number to call with support issues. */ + support_phone: string | null; + /** @description A publicly available website for handling support issues. */ + support_url: string | null; + /** @description The business's publicly available website. */ + url: string | null; }; - "Result_AlertResponse.string_": components["schemas"]["ResultSuccess_AlertResponse_"] | components["schemas"]["ResultError_string_"]; /** @enum {string} */ - AlertMetric: "latency" | "cost" | "prompt_tokens" | "completion_tokens" | "prompt_cache_read_tokens" | "prompt_cache_write_tokens" | "total_tokens" | "response.status" | "count"; + "stripe.Stripe.Account.BusinessType": "company" | "government_entity" | "individual" | "non_profit"; /** @enum {string} */ - AlertAggregation: "sum" | "avg" | "min" | "max" | "percentile"; + "stripe.Stripe.Account.Capabilities.AcssDebitPayments": "active" | "inactive" | "pending"; /** @enum {string} */ - AlertStandardGrouping: "model" | "provider" | "user"; - AlertGrouping: components["schemas"]["AlertStandardGrouping"] | string; - /** @description Matches all records (no filtering) */ - AllExpression: { - /** @enum {string} */ - type: "all"; - }; - /** @enum {string} */ - FilterSubType: "property" | "score" | "sessions" | "user"; - /** - * @description Type for the field specification in a condition - * Describes what field is being filtered and how - */ - BaseFieldSpec: { - subtype?: components["schemas"]["FilterSubType"]; - /** @enum {string} */ - valueMode?: "value" | "key"; - key?: string; - }; - FieldSpec: (components["schemas"]["BaseFieldSpec"] & ({ - /** @enum {string} */ - column: "properties" | "user_id" | "model" | "country_code" | "response_id" | "status" | "latency" | "provider" | "time_to_first_token" | "request_created_at" | "response_created_at" | "organization_id" | "threat" | "request_id" | "prompt_tokens" | "completion_tokens" | "prompt_cache_read_tokens" | "prompt_cache_write_tokens" | "target_url" | "scores" | "request_body" | "response_body" | "assets" | "proxy_key_id" | "updated_at"; - /** @enum {string} */ - table: "request_response_rmt"; - })) | (components["schemas"]["BaseFieldSpec"] & { - /** @enum {string} */ - subtype: "property"; - column: string; - /** @enum {string} */ - table: "request_response_rmt"; - }) | (components["schemas"]["BaseFieldSpec"] & ({ - /** @enum {string} */ - column: "created_at" | "cost" | "prompt_tokens" | "completion_tokens" | "total_tokens" | "total_requests" | "latest_request_created_at"; - /** @enum {string} */ - table: "sessions_request_response_rmt"; - })) | (components["schemas"]["BaseFieldSpec"] & ({ - /** @enum {string} */ - column: "user_id" | "cost" | "total_requests" | "active_for" | "first_active" | "last_active" | "average_requests_per_day_active" | "average_tokens_per_request" | "total_completion_tokens" | "total_prompt_tokens"; - /** @enum {string} */ - table: "users_view"; - })); - /** - * @description All supported filter operator types - * @enum {string} - */ - FilterOperator: "eq" | "neq" | "is" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "contains" | "not-contains" | "in"; - /** @description Single condition expression that compares a field against a value */ - ConditionExpression: { - /** @enum {string} */ - type: "condition"; - field: components["schemas"]["FieldSpec"]; - operator: components["schemas"]["FilterOperator"]; - value: string | number | boolean; - }; - /** - * @description Filter expression type union - * Represents all possible filter expression types in the AST - */ - FilterExpression: components["schemas"]["AllExpression"] | components["schemas"]["ConditionExpression"] | components["schemas"]["AndExpression"] | components["schemas"]["OrExpression"]; - /** - * @description Logical AND of multiple expressions - * All contained expressions must match for this to match - */ - AndExpression: { - /** @enum {string} */ - type: "and"; - expressions: components["schemas"]["FilterExpression"][]; - }; - /** - * @description Logical OR of multiple expressions - * At least one contained expression must match for this to match - */ - OrExpression: { - /** @enum {string} */ - type: "or"; - expressions: components["schemas"]["FilterExpression"][]; - }; - AlertRequest: { - name: string; - metric: components["schemas"]["AlertMetric"]; - /** Format: double */ - threshold: number; - aggregation: components["schemas"]["AlertAggregation"] | null; - /** Format: double */ - percentile: number | null; - grouping: components["schemas"]["AlertGrouping"] | null; - grouping_is_property: boolean | null; - time_window: string; - emails: string[]; - slack_channels: string[]; - /** Format: double */ - minimum_request_count?: number; - filter: components["schemas"]["FilterExpression"] | null; - }; - "ResultSuccess__active-boolean--created_at-string--id-number--message-string--title-string--updated_at-string_-Array_": { - data: { - updated_at: string; - title: string; - message: string; - /** Format: double */ - id: number; - created_at: string; - active: boolean; - }[]; - /** @enum {number|null} */ - error: null; - }; - "Result__active-boolean--created_at-string--id-number--message-string--title-string--updated_at-string_-Array.string_": components["schemas"]["ResultSuccess__active-boolean--created_at-string--id-number--message-string--title-string--updated_at-string_-Array_"] | components["schemas"]["ResultError_string_"]; - ClickHouseTableColumn: { - name: string; - type: string; - default_type?: string; - default_expression?: string; - comment?: string; - codec_expression?: string; - ttl_expression?: string; - }; - ClickHouseTableSchema: { - table_name: string; - columns: components["schemas"]["ClickHouseTableColumn"][]; - }; - "ResultSuccess_ClickHouseTableSchema-Array_": { - data: components["schemas"]["ClickHouseTableSchema"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_ClickHouseTableSchema-Array.string_": components["schemas"]["ResultSuccess_ClickHouseTableSchema-Array_"] | components["schemas"]["ResultError_string_"]; - ExecuteSqlResponse: { - /** Format: double */ - rowCount: number; - /** Format: double */ - size: number; - /** Format: double */ - elapsedMilliseconds: number; - rows: components["schemas"]["Record_string.any_"][]; - }; - ResultSuccess_ExecuteSqlResponse_: { - data: components["schemas"]["ExecuteSqlResponse"]; - /** @enum {number|null} */ - error: null; - }; - "Result_ExecuteSqlResponse.string_": components["schemas"]["ResultSuccess_ExecuteSqlResponse_"] | components["schemas"]["ResultError_string_"]; - ExecuteSqlRequest: { - sql: string; - }; - HqlSavedQuery: { - id: string; - organization_id: string; - name: string; - sql: string; - created_at: string; - updated_at: string; - }; - ResultSuccess_Array_HqlSavedQuery__: { - data: components["schemas"]["HqlSavedQuery"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_Array_HqlSavedQuery_.string_": components["schemas"]["ResultSuccess_Array_HqlSavedQuery__"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_HqlSavedQuery-or-null_": { - data: components["schemas"]["HqlSavedQuery"] | null; - /** @enum {number|null} */ - error: null; - }; - "Result_HqlSavedQuery-or-null.string_": components["schemas"]["ResultSuccess_HqlSavedQuery-or-null_"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_void_: { - data: unknown; - /** @enum {number|null} */ - error: null; - }; - "Result_void.string_": components["schemas"]["ResultSuccess_void_"] | components["schemas"]["ResultError_string_"]; - BulkDeleteSavedQueriesRequest: { - ids: string[]; - }; - "ResultSuccess_HqlSavedQuery-Array_": { - data: components["schemas"]["HqlSavedQuery"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_HqlSavedQuery-Array.string_": components["schemas"]["ResultSuccess_HqlSavedQuery-Array_"] | components["schemas"]["ResultError_string_"]; - CreateSavedQueryRequest: { - name: string; - sql: string; - }; - ResultSuccess_HqlSavedQuery_: { - data: components["schemas"]["HqlSavedQuery"]; - /** @enum {number|null} */ - error: null; - }; - "Result_HqlSavedQuery.string_": components["schemas"]["ResultSuccess_HqlSavedQuery_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__organization_id-string--name-string--flags-string-Array_-Array_": { - data: { - flags: string[]; - name: string; - organization_id: string; - }[]; - /** @enum {number|null} */ - error: null; - }; - "Result__organization_id-string--name-string--flags-string-Array_-Array.string_": components["schemas"]["ResultSuccess__organization_id-string--name-string--flags-string-Array_-Array_"] | components["schemas"]["ResultError_string_"]; - KafkaSettings: { - /** Format: double */ - miniBatchSize: number; - }; - AzureExperiment: { - azureBaseUri: string; - azureApiVersion: string; - azureDeploymentName: string; - azureApiKey: string; - }; - ApiKey: { - apiKey: string; - }; - Setting: components["schemas"]["KafkaSettings"] | components["schemas"]["AzureExperiment"] | components["schemas"]["ApiKey"]; - /** @enum {string} */ - SettingName: "kafka:dlq" | "kafka:log" | "kafka:score" | "kafka:dlq:score" | "kafka:dlq:eu" | "kafka:log:eu" | "kafka:orgs-to-dlq" | "azure:experiment" | "openai:apiKey" | "anthropic:apiKey" | "openrouter:apiKey" | "togetherai:apiKey" | "sqs:request-response-logs" | "sqs:helicone-scores" | "sqs:request-response-logs-dlq" | "sqs:helicone-scores-dlq" | "stripe:products" | "secrets:provider-keys"; - /** - * @description The **`URL`** interface is used to parse, construct, normalize, and encode URL. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL) - * `URL` class is a global reference for `import { URL } from 'node:url'` - * https://nodejs.org/api/url.html#the-whatwg-url-api - */ - "url.URL": string; - /** @description The Application object. */ - "stripe.Stripe.Application": { - /** @description Unique identifier for the object. */ - id: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "application"; - /** @description Always true for a deleted object */ - deleted?: unknown; - /** @description The name of the application. */ - name: string | null; - }; - /** @description The DeletedApplication object. */ - "stripe.Stripe.DeletedApplication": { - /** @description Unique identifier for the object. */ - id: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "application"; - /** - * @description Always true for a deleted object - * @enum {boolean} - */ - deleted: true; - /** @description The name of the application. */ - name: string | null; - }; - "stripe.Stripe.Account.BusinessProfile.AnnualRevenue": { - /** - * Format: double - * @description A non-negative integer representing the amount in the [smallest currency unit](https://stripe.com/currencies#zero-decimal). - */ - amount: number | null; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string | null; - /** @description The close-out date of the preceding fiscal year in ISO 8601 format. E.g. 2023-12-31 for the 31st of December, 2023. */ - fiscal_year_end: string | null; - }; - "stripe.Stripe.Account.BusinessProfile.MonthlyEstimatedRevenue": { - /** - * Format: double - * @description A non-negative integer representing how much to charge in the [smallest currency unit](https://stripe.com/currencies#zero-decimal). - */ - amount: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - }; - /** @description The Address object. */ - "stripe.Stripe.Address": { - /** @description City/District/Suburb/Town/Village. */ - city: string | null; - /** @description 2-letter country code. */ - country: string | null; - /** @description Address line 1 (Street address/PO Box/Company name). */ - line1: string | null; - /** @description Address line 2 (Apartment/Suite/Unit/Building). */ - line2: string | null; - /** @description ZIP or postal code. */ - postal_code: string | null; - /** @description State/County/Province/Region. */ - state: string | null; - }; - "stripe.Stripe.Account.BusinessProfile": { - /** @description The applicant's gross annual revenue for its preceding fiscal year. */ - annual_revenue?: components["schemas"]["stripe.Stripe.Account.BusinessProfile.AnnualRevenue"] | null; - /** - * Format: double - * @description An estimated upper bound of employees, contractors, vendors, etc. currently working for the business. - */ - estimated_worker_count?: number | null; - /** @description [The merchant category code for the account](https://stripe.com/connect/setting-mcc). MCCs are used to classify businesses based on the goods or services they provide. */ - mcc: string | null; - monthly_estimated_revenue?: components["schemas"]["stripe.Stripe.Account.BusinessProfile.MonthlyEstimatedRevenue"]; - /** @description The customer-facing business name. */ - name: string | null; - /** @description Internal-only description of the product sold or service provided by the business. It's used by Stripe for risk and underwriting purposes. */ - product_description?: string | null; - /** @description A publicly available mailing address for sending support issues to. */ - support_address: components["schemas"]["stripe.Stripe.Address"] | null; - /** @description A publicly available email address for sending support issues to. */ - support_email: string | null; - /** @description A publicly available phone number to call with support issues. */ - support_phone: string | null; - /** @description A publicly available website for handling support issues. */ - support_url: string | null; - /** @description The business's publicly available website. */ - url: string | null; - }; - /** @enum {string} */ - "stripe.Stripe.Account.BusinessType": "company" | "government_entity" | "individual" | "non_profit"; - /** @enum {string} */ - "stripe.Stripe.Account.Capabilities.AcssDebitPayments": "active" | "inactive" | "pending"; - /** @enum {string} */ - "stripe.Stripe.Account.Capabilities.AffirmPayments": "active" | "inactive" | "pending"; + "stripe.Stripe.Account.Capabilities.AffirmPayments": "active" | "inactive" | "pending"; /** @enum {string} */ "stripe.Stripe.Account.Capabilities.AfterpayClearpayPayments": "active" | "inactive" | "pending"; /** @enum {string} */ @@ -16480,1848 +15145,476 @@ Json: JsonObject; org_tier: string | null; }; HelixThreadListResponse: { - threads: components["schemas"]["HelixThreadSummary"][]; - /** Format: double */ - total: number; - }; - ResultSuccess_HelixThreadListResponse_: { - data: components["schemas"]["HelixThreadListResponse"]; - /** @enum {number|null} */ - error: null; - }; - "Result_HelixThreadListResponse.string_": components["schemas"]["ResultSuccess_HelixThreadListResponse_"] | components["schemas"]["ResultError_string_"]; - HelixThreadDetail: { - id: string; - chat: unknown; - user_id: string; - org_id: string; - created_at: string; - escalated: boolean; - metadata: unknown; - updated_at: string; - soft_delete: boolean; - user_email: string | null; - }; - ResultSuccess_HelixThreadDetail_: { - data: components["schemas"]["HelixThreadDetail"]; - /** @enum {number|null} */ - error: null; - }; - "Result_HelixThreadDetail.string_": components["schemas"]["ResultSuccess_HelixThreadDetail_"] | components["schemas"]["ResultError_string_"]; - InAppThread: { - id: string; - chat: unknown; - user_id: string; - org_id: string; - /** Format: date-time */ - created_at: string; - escalated: boolean; - metadata: unknown; - /** Format: date-time */ - updated_at: string; - soft_delete: boolean; - }; - ResultSuccess_InAppThread_: { - data: components["schemas"]["InAppThread"]; - /** @enum {number|null} */ - error: null; - }; - "Result_InAppThread.string_": components["schemas"]["ResultSuccess_InAppThread_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__rows-Record_string.any_-Array--elapsedMilliseconds-number--size-number--rowCount-number__": { - data: { - /** Format: double */ - rowCount: number; - /** Format: double */ - size: number; - /** Format: double */ - elapsedMilliseconds: number; - rows: components["schemas"]["Record_string.any_"][]; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__rows-Record_string.any_-Array--elapsedMilliseconds-number--size-number--rowCount-number_.string_": components["schemas"]["ResultSuccess__rows-Record_string.any_-Array--elapsedMilliseconds-number--size-number--rowCount-number__"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__previousTier-string--newTier-string--subscriptionId-string__": { - data: { - subscriptionId: string; - newTier: string; - previousTier: string; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__previousTier-string--newTier-string--subscriptionId-string_.string_": components["schemas"]["ResultSuccess__previousTier-string--newTier-string--subscriptionId-string__"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__previousTier-string--newTier-string--subscriptionId-string--usage_58__requests-number--storageBytes-number--storageMb-number--source-clickhouse-or-override_--backfillResult_58__requestsEvent-string--storageEvent-string___": { - data: { - backfillResult: { - storageEvent: string; - requestsEvent: string; - }; - usage: { - /** @enum {string} */ - source: "clickhouse" | "override"; - /** Format: double */ - storageMb: number; - /** Format: double */ - storageBytes: number; - /** Format: double */ - requests: number; - }; - subscriptionId: string; - newTier: string; - previousTier: string; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__previousTier-string--newTier-string--subscriptionId-string--usage_58__requests-number--storageBytes-number--storageMb-number--source-clickhouse-or-override_--backfillResult_58__requestsEvent-string--storageEvent-string__.string_": components["schemas"]["ResultSuccess__previousTier-string--newTier-string--subscriptionId-string--usage_58__requests-number--storageBytes-number--storageMb-number--source-clickhouse-or-override_--backfillResult_58__requestsEvent-string--storageEvent-string___"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__previousTier-string--newTier-string--subscriptionId-string--scheduleId-string--scheduledFor-string__": { - data: { - scheduledFor: string; - scheduleId: string; - subscriptionId: string; - newTier: string; - previousTier: string; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__previousTier-string--newTier-string--subscriptionId-string--scheduleId-string--scheduledFor-string_.string_": components["schemas"]["ResultSuccess__previousTier-string--newTier-string--subscriptionId-string--scheduleId-string--scheduledFor-string__"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__id-string--name-string--tier-string--stripe_customer_id-string-or-null--stripe_subscription_id-string-or-null--subscription_status-string-or-null--owner_email-string-or-null--created_at-string__": { - data: { - created_at: string; - owner_email: string | null; - subscription_status: string | null; - stripe_subscription_id: string | null; - stripe_customer_id: string | null; - tier: string; - name: string; - id: string; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__id-string--name-string--tier-string--stripe_customer_id-string-or-null--stripe_subscription_id-string-or-null--subscription_status-string-or-null--owner_email-string-or-null--created_at-string_.string_": components["schemas"]["ResultSuccess__id-string--name-string--tier-string--stripe_customer_id-string-or-null--stripe_subscription_id-string-or-null--subscription_status-string-or-null--owner_email-string-or-null--created_at-string__"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__message-string__": { - data: { - message: string; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__message-string_.string_": components["schemas"]["ResultSuccess__message-string__"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__message-string--previousTier-string__": { - data: { - previousTier: string; - message: string; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__message-string--previousTier-string_.string_": components["schemas"]["ResultSuccess__message-string--previousTier-string__"] | components["schemas"]["ResultError_string_"]; - CreditBalanceResponse: { - /** Format: double */ - totalCreditsPurchased: number; - /** Format: double */ - balance: number; - }; - ResultSuccess_CreditBalanceResponse_: { - data: components["schemas"]["CreditBalanceResponse"]; - /** @enum {number|null} */ - error: null; - }; - "Result_CreditBalanceResponse.string_": components["schemas"]["ResultSuccess_CreditBalanceResponse_"] | components["schemas"]["ResultError_string_"]; - PurchasedCredits: { - id: string; - /** Format: double */ - createdAt: number; - /** Format: double */ - credits: number; - referenceId: string; - }; - PaginatedPurchasedCredits: { - purchases: components["schemas"]["PurchasedCredits"][]; - /** Format: double */ - total: number; - /** Format: double */ - page: number; - /** Format: double */ - pageSize: number; - }; - ResultSuccess_PaginatedPurchasedCredits_: { - data: components["schemas"]["PaginatedPurchasedCredits"]; - /** @enum {number|null} */ - error: null; - }; - "Result_PaginatedPurchasedCredits.string_": components["schemas"]["ResultSuccess_PaginatedPurchasedCredits_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__totalSpend-number__": { - data: { - /** Format: double */ - totalSpend: number; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__totalSpend-number_.string_": components["schemas"]["ResultSuccess__totalSpend-number__"] | components["schemas"]["ResultError_string_"]; - ModelSpend: { - model: string; - provider: string; - /** Format: double */ - promptTokens: number; - /** Format: double */ - completionTokens: number; - /** Format: double */ - cacheReadTokens: number; - /** Format: double */ - cacheWriteTokens: number; - pricing: { - /** Format: double */ - cacheWritePer1M?: number; - /** Format: double */ - cacheReadPer1M?: number; - /** Format: double */ - outputPer1M: number; - /** Format: double */ - inputPer1M: number; - } | null; - /** Format: double */ - subtotal: number; - /** Format: double */ - discountPercent: number; - /** Format: double */ - total: number; - /** Format: double */ - cacheAdjustment?: number; - }; - SpendBreakdownResponse: { - models: components["schemas"]["ModelSpend"][]; - /** Format: double */ - totalCost: number; - timeRange: { - end: string; - start: string; - }; - }; - ResultSuccess_SpendBreakdownResponse_: { - data: components["schemas"]["SpendBreakdownResponse"]; - /** @enum {number|null} */ - error: null; - }; - "Result_SpendBreakdownResponse.string_": components["schemas"]["ResultSuccess_SpendBreakdownResponse_"] | components["schemas"]["ResultError_string_"]; - PTBInvoice: { - id: string; - organizationId: string; - stripeInvoiceId: string | null; - hostedInvoiceUrl: string | null; - startDate: string; - endDate: string; - /** Format: double */ - amountCents: number; - /** Format: double */ - subtotalCents: number | null; - notes: string | null; - createdAt: string; - }; - "ResultSuccess_PTBInvoice-Array_": { - data: components["schemas"]["PTBInvoice"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_PTBInvoice-Array.string_": components["schemas"]["ResultSuccess_PTBInvoice-Array_"] | components["schemas"]["ResultError_string_"]; - OrgDiscount: { - provider: string | null; - model: string | null; - /** Format: double */ - percent: number; - }; - "ResultSuccess_OrgDiscount-Array_": { - data: components["schemas"]["OrgDiscount"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_OrgDiscount-Array.string_": components["schemas"]["ResultSuccess_OrgDiscount-Array_"] | components["schemas"]["ResultError_string_"]; - DashboardData: { - organizations: ({ - /** Format: double */ - walletProcessedEventsCount?: number; - /** Format: double */ - walletDisallowedModelCount?: number; - /** Format: double */ - walletTotalDebits?: number; - /** Format: double */ - walletTotalCredits?: number; - /** Format: double */ - walletEffectiveBalance?: number; - /** Format: double */ - walletBalance?: number; - /** Format: double */ - creditLimit: number; - allowNegativeBalance: boolean; - ownerEmail: string; - tier: string; - /** Format: double */ - lastPaymentDate: number | null; - /** Format: double */ - clickhouseTotalSpend: number; - /** Format: double */ - paymentsCount: number; - /** Format: double */ - totalPayments: number; - stripeCustomerId: string; - orgName: string; - orgId: string; - })[]; - summary: { - /** Format: double */ - totalCreditsSpent: number; - /** Format: double */ - totalCreditsIssued: number; - /** Format: double */ - totalOrgsWithCredits: number; - }; - isProduction: boolean; - }; - ResultSuccess_DashboardData_: { - data: components["schemas"]["DashboardData"]; - /** @enum {number|null} */ - error: null; - }; - "Result_DashboardData.string_": components["schemas"]["ResultSuccess_DashboardData_"] | components["schemas"]["ResultError_string_"]; - WalletState: { - /** Format: double */ - balance: number; - /** Format: double */ - effectiveBalance: number; - /** Format: double */ - totalCredits: number; - /** Format: double */ - totalDebits: number; - /** Format: double */ - totalEscrow: number; - disallowList: { - model: string; - provider: string; - helicone_request_id: string; - }[]; - }; - ResultSuccess_WalletState_: { - data: components["schemas"]["WalletState"]; - /** @enum {number|null} */ - error: null; - }; - "Result_WalletState.string_": components["schemas"]["ResultSuccess_WalletState_"] | components["schemas"]["ResultError_string_"]; - TableDataResponse: { - /** Format: double */ - pageSize: number; - data: { - message?: string; - /** Format: double */ - page: number; - /** Format: double */ - total: number; - data: unknown[]; - }; - }; - ResultSuccess_TableDataResponse_: { - data: components["schemas"]["TableDataResponse"]; - /** @enum {number|null} */ - error: null; - }; - "Result_TableDataResponse.string_": components["schemas"]["ResultSuccess_TableDataResponse_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__allowNegativeBalance-boolean--creditLimit-number__": { - data: { - /** Format: double */ - creditLimit: number; - allowNegativeBalance: boolean; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__allowNegativeBalance-boolean--creditLimit-number_.string_": components["schemas"]["ResultSuccess__allowNegativeBalance-boolean--creditLimit-number__"] | components["schemas"]["ResultError_string_"]; - TimeSeriesDataPoint: { - timestamp: string; - /** Format: double */ - amount: number; - }; - TimeSeriesResponse: { - deposits: components["schemas"]["TimeSeriesDataPoint"][]; - spend: components["schemas"]["TimeSeriesDataPoint"][]; - }; - ResultSuccess_TimeSeriesResponse_: { - data: components["schemas"]["TimeSeriesResponse"]; - /** @enum {number|null} */ - error: null; - }; - "Result_TimeSeriesResponse.string_": components["schemas"]["ResultSuccess_TimeSeriesResponse_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_ModelSpend-Array_": { - data: components["schemas"]["ModelSpend"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_ModelSpend-Array.string_": components["schemas"]["ResultSuccess_ModelSpend-Array_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__deleted-boolean__": { - data: { - deleted: boolean; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__deleted-boolean_.string_": components["schemas"]["ResultSuccess__deleted-boolean__"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__updated-boolean__": { - data: { - updated: boolean; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__updated-boolean_.string_": components["schemas"]["ResultSuccess__updated-boolean__"] | components["schemas"]["ResultError_string_"]; - InvoiceSummary: { - /** Format: double */ - totalSpendCents: number; - /** Format: double */ - totalInvoicedCents: number; - /** Format: double */ - uninvoicedBalanceCents: number; - lastInvoiceEndDate: string | null; - }; - ResultSuccess_InvoiceSummary_: { - data: components["schemas"]["InvoiceSummary"]; - /** @enum {number|null} */ - error: null; - }; - "Result_InvoiceSummary.string_": components["schemas"]["ResultSuccess_InvoiceSummary_"] | components["schemas"]["ResultError_string_"]; - CreateInvoiceResponse: { - invoiceId: string; - hostedInvoiceUrl: string | null; - dashboardUrl: string; - /** Format: double */ - amountCents: number; - /** Format: double */ - subtotalCents: number; - ptbInvoiceId: string; - }; - ResultSuccess_CreateInvoiceResponse_: { - data: components["schemas"]["CreateInvoiceResponse"]; - /** @enum {number|null} */ - error: null; - }; - "Result_CreateInvoiceResponse.string_": components["schemas"]["ResultSuccess_CreateInvoiceResponse_"] | components["schemas"]["ResultError_string_"]; - ConvertToWavResponse: { - data: string | null; - error: string | null; - }; - ConvertToWavRequestBody: { - audioData: string; - }; - "ResultSuccess__url-string__": { - data: { - url: string; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__url-string_.string_": components["schemas"]["ResultSuccess__url-string__"] | components["schemas"]["ResultError_string_"]; - }; - responses: { - }; - parameters: { - }; - requestBodies: { - }; - headers: { - }; - pathItems: never; -} - -export type $defs = Record; - -export type external = Record; - -export interface operations { - - AddToWaitlist: { - requestBody: { - content: { - "application/json": { - organizationId?: string; - feature: string; - email: string; - }; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__success-boolean--position_63_-number_.string_"]; - }; - }; - }; - }; - IsOnWaitlist: { - parameters: { - query: { - email: string; - feature: string; - organizationId?: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__isOnWaitlist-boolean_.string_"]; - }; - }; - }; - }; - GetWaitlistCount: { - parameters: { - query: { - feature: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__count-number_.string_"]; - }; - }; - }; - }; - PostUserFeedback: { - requestBody: { - content: { - "application/json": { - tag: string; - feedback: string; - }; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": { - success?: unknown; - error: string; - } | { - error?: unknown; - success: boolean; - }; - }; - }; - }; - }; - GetSettings: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": { - settings: unknown; - name: string; - }[]; - }; - }; - }; - }; - GetRateLimits: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_RateLimitRuleView-Array.string_"]; - }; - }; - }; - }; - CreateRateLimit: { - requestBody: { - content: { - "application/json": components["schemas"]["CreateRateLimitRuleParams"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_RateLimitRuleView.string_"]; - }; - }; - }; - }; - UpdateRateLimit: { - parameters: { - path: { - ruleId: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["UpdateRateLimitRuleParams"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_RateLimitRuleView.string_"]; - }; - }; - }; - }; - DeleteRateLimit: { - parameters: { - path: { - ruleId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; - }; - }; - GetProviderKey: { - parameters: { - path: { - providerKeyId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["DecryptedProviderKey"] | { - error: string; - }; - }; - }; - }; - }; - DeleteProviderKey: { - parameters: { - path: { - providerKeyId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": ({ - /** @enum {string} */ - providerName: "baseten" | "anthropic" | "azure" | "bedrock" | "canopywave" | "cerebras" | "chutes" | "deepinfra" | "deepseek" | "fireworks" | "google-ai-studio" | "groq" | "helicone" | "mistral" | "nebius" | "novita" | "openai" | "openrouter" | "perplexity" | "vertex" | "xai"; - }) | { - error: string; - }; - }; - }; - }; - }; - UpdateProviderKey: { - parameters: { - path: { - providerKeyId: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["UpdateProviderKeyRequest"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__id-string--providerName-string_.string_"]; - }; - }; - }; - }; - CreateProviderKey: { - requestBody: { - content: { - "application/json": components["schemas"]["CreateProviderKeyRequest"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": { - id: string; - } | { - error: string; - }; - }; - }; - }; - }; - GetProviderKeys: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["ProviderKeyRow"][] | { - error: string; - }; - }; - }; - }; - }; - GetAPIKeys: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__api_key_hash-string--api_key_name-string--created_at-string--governance-boolean--id-number--key_permissions-string--organization_id-string--soft_delete-boolean--temp_key-boolean--updated_at-string--user_id-string_-Array.string_"]; - }; - }; - }; - }; - CreateAPIKey: { - requestBody: { - content: { - "application/json": { - /** @enum {string} */ - key_permissions?: "rw" | "r" | "w"; - api_key_name: string; - }; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": { - hashedKey: string; - apiKey: string; - id: string; - } | { - error: string; - }; - }; - }; - }; - }; - CreateProxyKey: { - requestBody: { - content: { - "application/json": { - proxyKeyName: string; - providerKeyId: string; - }; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": { - proxyKeyId: string; - proxyKey: string; - } | { - error: string; - }; - }; - }; - }; - }; - DeleteAPIKey: { - parameters: { - path: { - apiKeyId: number; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": { - hashedKey: string; - } | { - error: string; - }; - }; - }; - }; - }; - UpdateAPIKey: { - parameters: { - path: { - apiKeyId: number; - }; - }; - requestBody: { - content: { - "application/json": { - api_key_name: string; - }; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": { - hashedKey: string; - } | { - error: string; - }; - }; - }; - }; - }; - GetCostForPrompts: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": number; - }; - }; - }; - }; - GetCostForEvals: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": number; - }; - }; - }; - }; - GetCostForExperiments: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": number; - }; - }; - }; - }; - GetFreeUsage: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": number; - }; - }; - }; - }; - CreateCloudGatewayCheckoutSession: { - requestBody: { - content: { - "application/json": components["schemas"]["CreateCloudGatewayCheckoutSessionRequest"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": { - checkoutUrl: string; - }; - }; - }; - }; - }; - UpgradeToPro: { - requestBody: { - content: { - "application/json": components["schemas"]["UpgradeToProRequest"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": string; - }; - }; - }; - }; - UpgradeExistingCustomer: { - requestBody: { - content: { - "application/json": components["schemas"]["UpgradeToProRequest"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": string; - }; - }; - }; - }; - UpgradeToTeamBundle: { - requestBody?: { - content: { - "application/json": components["schemas"]["UpgradeToTeamBundleRequest"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": string; - }; - }; - }; - }; - UpgradeExistingCustomerToTeamBundle: { - requestBody?: { - content: { - "application/json": components["schemas"]["UpgradeToTeamBundleRequest"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": string; - }; - }; - }; - }; - ManageSubscription: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": string; - }; - }; - }; - }; - UndoCancelSubscription: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": null; - }; - }; - }; - }; - AddOns: { - parameters: { - path: { - productType: "alerts" | "prompts" | "experiments" | "evals"; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": null; - }; - }; - }; - }; - DeleteAddOns: { - parameters: { - path: { - productType: "alerts" | "prompts" | "experiments" | "evals"; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": null; - }; - }; - }; - }; - PreviewInvoice: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": ({ - evaluators_usage: components["schemas"]["LLMUsage"][]; - experiments_usage: components["schemas"]["LLMUsage"][]; - /** Format: double */ - total: number; - /** Format: double */ - tax: number | null; - /** Format: double */ - subtotal: number; - discount: ({ - coupon: { - /** Format: double */ - amount_off: number | null; - /** Format: double */ - percent_off: number | null; - name: string | null; - }; - }) | null; - lines: ({ - data: ({ - description: string | null; - /** Format: double */ - amount: number | null; - id: string | null; - })[]; - }) | null; - /** Format: double */ - next_payment_attempt: number | null; - currency: string | null; - }) | null; - }; - }; - }; - }; - CancelSubscription: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": null; - }; - }; - }; - }; - MigrateToPro: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": unknown; - }; - }; - }; - }; - SearchPaymentIntents: { - parameters: { - query: { - search_kind: string; - limit?: number; - page?: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["StripePaymentIntentsResponse"]; - }; - }; - }; - }; - GetSubscription: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": ({ - items: ({ - price: { - product: ({ - name: string | null; - }) | null; - }; - /** Format: double */ - quantity?: number; - })[]; - /** Format: double */ - trial_end: number | null; - id: string; - /** Format: double */ - current_period_start: number; - /** Format: double */ - current_period_end: number; - cancel_at_period_end: boolean; - status: string; - }) | null; - }; - }; - }; - }; - GetAutoTopoffSettings: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["AutoTopoffSettings"] | null; - }; - }; - }; - }; - UpdateAutoTopoffSettings: { - requestBody: { - content: { - "application/json": components["schemas"]["UpdateAutoTopoffSettingsRequest"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["AutoTopoffSettings"]; - }; - }; - }; - }; - DisableAutoTopoff: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": { - success: boolean; - }; - }; - }; - }; - }; - GetPaymentMethods: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["PaymentMethod"][]; - }; - }; - }; - }; - CreateSetupSession: { - requestBody: { - content: { - "application/json": components["schemas"]["CreateSetupSessionRequest"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": { - setupUrl: string; - }; - }; - }; - }; - }; - RemovePaymentMethod: { - parameters: { - path: { - paymentMethodId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": { - success: boolean; - }; - }; - }; - }; - }; - GetUsageStats: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["UsageStatsResponse"] | null; - }; - }; - }; - }; - GetOrganizations: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__40_Database-at-public_91_Tables_93_-at-organization_91_Row_93_-and-_role-string__41_-Array.string_"]; - }; - }; - }; - }; - GetModels: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__model-string_-Array.string_"]; - }; - }; - }; - }; - GetOrganization: { - parameters: { - path: { - organizationId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_Database-at-public_91_Tables_93_-at-organization_91_Row_93_.string_"]; - }; - }; - }; - }; - GetReseller: { - parameters: { - path: { - resellerId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["ResultSuccess_unknown_"] | components["schemas"]["ResultError_unknown_"]; - }; - }; - }; - }; - AcceptTerms: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; - }; - }; - CreateNewOrganization: { - requestBody: { - content: { - "application/json": components["schemas"]["NewOrganizationParams"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_string.string_"]; - }; - }; - }; - }; - UpdateOrganization: { - parameters: { - path: { - organizationId: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["UpdateOrganizationParams"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; - }; - }; - OnboardOrganization: { - requestBody: { - content: { - "application/json": Record; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; - }; - }; - AddMemberToOrganization: { - parameters: { - path: { - organizationId: string; - }; - }; - requestBody: { - content: { - "application/json": { - email: string; - }; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__temporaryPassword_63_-string_-or-null.string_"]; - }; - }; - }; - }; - CreateOrganizationFilter: { - parameters: { - path: { - organizationId: string; - }; - }; - requestBody: { - content: { - "application/json": { - /** @enum {string} */ - filterType: "dashboard" | "requests"; - filters: components["schemas"]["OrganizationFilter"][]; - }; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; - }; - }; - UpdateOrganizationFilter: { - parameters: { - path: { - organizationId: string; - }; - }; - requestBody: { - content: { - "application/json": { - /** @enum {string} */ - filterType: "dashboard" | "requests"; - filters: components["schemas"]["OrganizationFilter"][]; - }; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; - }; - }; - DeleteOrganization: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; - }; - }; - GetOrganizationLayout: { - parameters: { - query: { - filterType: string; - }; - path: { - organizationId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_OrganizationLayout.string_"]; - }; - }; - }; - }; - GetOrganizationMembers: { - parameters: { - path: { - organizationId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_OrganizationMember-Array.string_"]; - }; - }; - }; - }; - UpdateOrganizationMember: { - parameters: { - path: { - organizationId: string; - }; - }; - requestBody: { - content: { - "application/json": { - memberId: string; - role: string; - }; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; - }; - }; - UpdateOrganizationOwner: { - parameters: { - path: { - organizationId: string; - }; - }; - requestBody: { - content: { - "application/json": { - memberId: string; - }; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; - }; - }; - GetOrganizationOwner: { - parameters: { - path: { - organizationId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_OrganizationOwner-Array.string_"]; - }; - }; - }; - }; - RemoveMemberFromOrganization: { - parameters: { - query: { - memberId: string; - }; - path: { - organizationId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; - }; - }; - SetupDemo: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; - }; - }; - UpdateOnboardingStatus: { - requestBody: { - content: { - "application/json": { - name: string; - onboarding_status: components["schemas"]["OnboardingStatus"]; - }; - }; + threads: components["schemas"]["HelixThreadSummary"][]; + /** Format: double */ + total: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; + ResultSuccess_HelixThreadListResponse_: { + data: components["schemas"]["HelixThreadListResponse"]; + /** @enum {number|null} */ + error: null; }; - }; - CreateEvaluator: { - requestBody: { - content: { - "application/json": components["schemas"]["CreateEvaluatorParams"]; - }; + "Result_HelixThreadListResponse.string_": components["schemas"]["ResultSuccess_HelixThreadListResponse_"] | components["schemas"]["ResultError_string_"]; + HelixThreadDetail: { + id: string; + chat: unknown; + user_id: string; + org_id: string; + created_at: string; + escalated: boolean; + metadata: unknown; + updated_at: string; + soft_delete: boolean; + user_email: string | null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_EvaluatorResult.string_"]; - }; - }; + ResultSuccess_HelixThreadDetail_: { + data: components["schemas"]["HelixThreadDetail"]; + /** @enum {number|null} */ + error: null; }; - }; - GetEvaluator: { - parameters: { - path: { - evaluatorId: string; - }; + "Result_HelixThreadDetail.string_": components["schemas"]["ResultSuccess_HelixThreadDetail_"] | components["schemas"]["ResultError_string_"]; + InAppThread: { + id: string; + chat: unknown; + user_id: string; + org_id: string; + /** Format: date-time */ + created_at: string; + escalated: boolean; + metadata: unknown; + /** Format: date-time */ + updated_at: string; + soft_delete: boolean; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_EvaluatorResult.string_"]; - }; - }; + ResultSuccess_InAppThread_: { + data: components["schemas"]["InAppThread"]; + /** @enum {number|null} */ + error: null; }; - }; - UpdateEvaluator: { - parameters: { - path: { - evaluatorId: string; + "Result_InAppThread.string_": components["schemas"]["ResultSuccess_InAppThread_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__rows-Record_string.any_-Array--elapsedMilliseconds-number--size-number--rowCount-number__": { + data: { + /** Format: double */ + rowCount: number; + /** Format: double */ + size: number; + /** Format: double */ + elapsedMilliseconds: number; + rows: components["schemas"]["Record_string.any_"][]; }; + /** @enum {number|null} */ + error: null; }; - requestBody: { - content: { - "application/json": components["schemas"]["UpdateEvaluatorParams"]; + "Result__rows-Record_string.any_-Array--elapsedMilliseconds-number--size-number--rowCount-number_.string_": components["schemas"]["ResultSuccess__rows-Record_string.any_-Array--elapsedMilliseconds-number--size-number--rowCount-number__"] | components["schemas"]["ResultError_string_"]; + /** @description Construct a type with a set of properties K of type T */ + "Record_string.number_": { + [key: string]: number; + }; + "ResultSuccess__previousTier-string--newTier-string--subscriptionId-string__": { + data: { + subscriptionId: string; + newTier: string; + previousTier: string; }; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_EvaluatorResult.string_"]; + "Result__previousTier-string--newTier-string--subscriptionId-string_.string_": components["schemas"]["ResultSuccess__previousTier-string--newTier-string--subscriptionId-string__"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__previousTier-string--newTier-string--subscriptionId-string--usage_58__requests-number--storageBytes-number--storageMb-number--source-clickhouse-or-override_--backfillResult_58__requestsEvent-string--storageEvent-string___": { + data: { + backfillResult: { + storageEvent: string; + requestsEvent: string; + }; + usage: { + /** @enum {string} */ + source: "clickhouse" | "override"; + /** Format: double */ + storageMb: number; + /** Format: double */ + storageBytes: number; + /** Format: double */ + requests: number; }; + subscriptionId: string; + newTier: string; + previousTier: string; }; + /** @enum {number|null} */ + error: null; }; - }; - DeleteEvaluator: { - parameters: { - path: { - evaluatorId: string; + "Result__previousTier-string--newTier-string--subscriptionId-string--usage_58__requests-number--storageBytes-number--storageMb-number--source-clickhouse-or-override_--backfillResult_58__requestsEvent-string--storageEvent-string__.string_": components["schemas"]["ResultSuccess__previousTier-string--newTier-string--subscriptionId-string--usage_58__requests-number--storageBytes-number--storageMb-number--source-clickhouse-or-override_--backfillResult_58__requestsEvent-string--storageEvent-string___"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__previousTier-string--newTier-string--subscriptionId-string--scheduleId-string--scheduledFor-string__": { + data: { + scheduledFor: string; + scheduleId: string; + subscriptionId: string; + newTier: string; + previousTier: string; }; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; + "Result__previousTier-string--newTier-string--subscriptionId-string--scheduleId-string--scheduledFor-string_.string_": components["schemas"]["ResultSuccess__previousTier-string--newTier-string--subscriptionId-string--scheduleId-string--scheduledFor-string__"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__id-string--name-string--tier-string--stripe_customer_id-string-or-null--stripe_subscription_id-string-or-null--subscription_status-string-or-null--owner_email-string-or-null--created_at-string__": { + data: { + created_at: string; + owner_email: string | null; + subscription_status: string | null; + stripe_subscription_id: string | null; + stripe_customer_id: string | null; + tier: string; + name: string; + id: string; }; + /** @enum {number|null} */ + error: null; }; - }; - QueryEvaluators: { - requestBody: { - content: { - "application/json": Record; + "Result__id-string--name-string--tier-string--stripe_customer_id-string-or-null--stripe_subscription_id-string-or-null--subscription_status-string-or-null--owner_email-string-or-null--created_at-string_.string_": components["schemas"]["ResultSuccess__id-string--name-string--tier-string--stripe_customer_id-string-or-null--stripe_subscription_id-string-or-null--subscription_status-string-or-null--owner_email-string-or-null--created_at-string__"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__message-string__": { + data: { + message: string; }; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_EvaluatorResult-Array.string_"]; - }; + "Result__message-string_.string_": components["schemas"]["ResultSuccess__message-string__"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__message-string--previousTier-string__": { + data: { + previousTier: string; + message: string; }; + /** @enum {number|null} */ + error: null; }; - }; - GetExperimentsForEvaluator: { - parameters: { - path: { - evaluatorId: string; - }; + "Result__message-string--previousTier-string_.string_": components["schemas"]["ResultSuccess__message-string--previousTier-string__"] | components["schemas"]["ResultError_string_"]; + CreditBalanceResponse: { + /** Format: double */ + totalCreditsPurchased: number; + /** Format: double */ + balance: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_EvaluatorExperiment-Array.string_"]; - }; - }; + ResultSuccess_CreditBalanceResponse_: { + data: components["schemas"]["CreditBalanceResponse"]; + /** @enum {number|null} */ + error: null; }; - }; - GetOnlineEvaluators: { - parameters: { - path: { - evaluatorId: string; - }; + "Result_CreditBalanceResponse.string_": components["schemas"]["ResultSuccess_CreditBalanceResponse_"] | components["schemas"]["ResultError_string_"]; + PurchasedCredits: { + id: string; + /** Format: double */ + createdAt: number; + /** Format: double */ + credits: number; + referenceId: string; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_OnlineEvaluatorByEvaluatorId-Array.string_"]; - }; - }; + PaginatedPurchasedCredits: { + purchases: components["schemas"]["PurchasedCredits"][]; + /** Format: double */ + total: number; + /** Format: double */ + page: number; + /** Format: double */ + pageSize: number; }; - }; - CreateOnlineEvaluator: { - parameters: { - path: { - evaluatorId: string; - }; + ResultSuccess_PaginatedPurchasedCredits_: { + data: components["schemas"]["PaginatedPurchasedCredits"]; + /** @enum {number|null} */ + error: null; }; - requestBody: { - content: { - "application/json": components["schemas"]["CreateOnlineEvaluatorParams"]; + "Result_PaginatedPurchasedCredits.string_": components["schemas"]["ResultSuccess_PaginatedPurchasedCredits_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__totalSpend-number__": { + data: { + /** Format: double */ + totalSpend: number; }; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; + "Result__totalSpend-number_.string_": components["schemas"]["ResultSuccess__totalSpend-number__"] | components["schemas"]["ResultError_string_"]; + ModelSpend: { + model: string; + provider: string; + /** Format: double */ + promptTokens: number; + /** Format: double */ + completionTokens: number; + /** Format: double */ + cacheReadTokens: number; + /** Format: double */ + cacheWriteTokens: number; + pricing: { + /** Format: double */ + cacheWritePer1M?: number; + /** Format: double */ + cacheReadPer1M?: number; + /** Format: double */ + outputPer1M: number; + /** Format: double */ + inputPer1M: number; + } | null; + /** Format: double */ + subtotal: number; + /** Format: double */ + discountPercent: number; + /** Format: double */ + total: number; + /** Format: double */ + cacheAdjustment?: number; }; - }; - DeleteOnlineEvaluator: { - parameters: { - path: { - evaluatorId: string; - onlineEvaluatorId: string; + SpendBreakdownResponse: { + models: components["schemas"]["ModelSpend"][]; + /** Format: double */ + totalCost: number; + timeRange: { + end: string; + start: string; }; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; + ResultSuccess_SpendBreakdownResponse_: { + data: components["schemas"]["SpendBreakdownResponse"]; + /** @enum {number|null} */ + error: null; }; - }; - TestPythonEvaluator: { - requestBody: { - content: { - "application/json": { - testInput: components["schemas"]["TestInput"]; - code: string; - }; - }; + "Result_SpendBreakdownResponse.string_": components["schemas"]["ResultSuccess_SpendBreakdownResponse_"] | components["schemas"]["ResultError_string_"]; + PTBInvoice: { + id: string; + organizationId: string; + stripeInvoiceId: string | null; + hostedInvoiceUrl: string | null; + startDate: string; + endDate: string; + /** Format: double */ + amountCents: number; + /** Format: double */ + subtotalCents: number | null; + notes: string | null; + createdAt: string; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__output-string--traces-string-Array--statusCode_63_-number_.string_"]; - }; - }; + "ResultSuccess_PTBInvoice-Array_": { + data: components["schemas"]["PTBInvoice"][]; + /** @enum {number|null} */ + error: null; }; - }; - TestLLMEvaluator: { - requestBody: { - content: { - "application/json": { - evaluatorName: string; - testInput: components["schemas"]["TestInput"]; - evaluatorConfig: components["schemas"]["EvaluatorConfig"]; - }; - }; + "Result_PTBInvoice-Array.string_": components["schemas"]["ResultSuccess_PTBInvoice-Array_"] | components["schemas"]["ResultError_string_"]; + OrgDiscount: { + provider: string | null; + model: string | null; + /** Format: double */ + percent: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["EvaluatorScoreResult"]; - }; - }; + "ResultSuccess_OrgDiscount-Array_": { + data: components["schemas"]["OrgDiscount"][]; + /** @enum {number|null} */ + error: null; }; - }; - TestLastMileEvaluator: { - requestBody: { - content: { - "application/json": { - testInput: components["schemas"]["TestInput"]; - config: components["schemas"]["LastMileConfigForm"]; - }; + "Result_OrgDiscount-Array.string_": components["schemas"]["ResultSuccess_OrgDiscount-Array_"] | components["schemas"]["ResultError_string_"]; + DashboardData: { + organizations: ({ + /** Format: double */ + walletProcessedEventsCount?: number; + /** Format: double */ + walletDisallowedModelCount?: number; + /** Format: double */ + walletTotalDebits?: number; + /** Format: double */ + walletTotalCredits?: number; + /** Format: double */ + walletEffectiveBalance?: number; + /** Format: double */ + walletBalance?: number; + /** Format: double */ + creditLimit: number; + allowNegativeBalance: boolean; + ownerEmail: string; + tier: string; + /** Format: double */ + lastPaymentDate: number | null; + /** Format: double */ + clickhouseTotalSpend: number; + /** Format: double */ + paymentsCount: number; + /** Format: double */ + totalPayments: number; + stripeCustomerId: string; + orgName: string; + orgId: string; + })[]; + summary: { + /** Format: double */ + totalCreditsSpent: number; + /** Format: double */ + totalCreditsIssued: number; + /** Format: double */ + totalOrgsWithCredits: number; }; + isProduction: boolean; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__score-number--input-string--output-string--ground_truth_63_-string_.string_"]; - }; - }; + ResultSuccess_DashboardData_: { + data: components["schemas"]["DashboardData"]; + /** @enum {number|null} */ + error: null; }; - }; - GetEvaluatorStats: { - parameters: { - path: { - evaluatorId: string; - }; + "Result_DashboardData.string_": components["schemas"]["ResultSuccess_DashboardData_"] | components["schemas"]["ResultError_string_"]; + WalletState: { + /** Format: double */ + balance: number; + /** Format: double */ + effectiveBalance: number; + /** Format: double */ + totalCredits: number; + /** Format: double */ + totalDebits: number; + /** Format: double */ + totalEscrow: number; + disallowList: { + model: string; + provider: string; + helicone_request_id: string; + }[]; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_EvaluatorStats.string_"]; - }; - }; + ResultSuccess_WalletState_: { + data: components["schemas"]["WalletState"]; + /** @enum {number|null} */ + error: null; }; - }; - GetPrompt2025: { - parameters: { - path: { - promptId: string; + "Result_WalletState.string_": components["schemas"]["ResultSuccess_WalletState_"] | components["schemas"]["ResultError_string_"]; + TableDataResponse: { + /** Format: double */ + pageSize: number; + data: { + message?: string; + /** Format: double */ + page: number; + /** Format: double */ + total: number; + data: unknown[]; }; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_Prompt2025.string_"]; - }; + ResultSuccess_TableDataResponse_: { + data: components["schemas"]["TableDataResponse"]; + /** @enum {number|null} */ + error: null; + }; + "Result_TableDataResponse.string_": components["schemas"]["ResultSuccess_TableDataResponse_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__allowNegativeBalance-boolean--creditLimit-number__": { + data: { + /** Format: double */ + creditLimit: number; + allowNegativeBalance: boolean; }; + /** @enum {number|null} */ + error: null; + }; + "Result__allowNegativeBalance-boolean--creditLimit-number_.string_": components["schemas"]["ResultSuccess__allowNegativeBalance-boolean--creditLimit-number__"] | components["schemas"]["ResultError_string_"]; + TimeSeriesDataPoint: { + timestamp: string; + /** Format: double */ + amount: number; }; - }; - RenamePrompt2025: { - parameters: { - path: { - promptId: string; - }; + TimeSeriesResponse: { + deposits: components["schemas"]["TimeSeriesDataPoint"][]; + spend: components["schemas"]["TimeSeriesDataPoint"][]; }; - requestBody: { - content: { - "application/json": { - name: string; - }; - }; + ResultSuccess_TimeSeriesResponse_: { + data: components["schemas"]["TimeSeriesResponse"]; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; + "Result_TimeSeriesResponse.string_": components["schemas"]["ResultSuccess_TimeSeriesResponse_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess_ModelSpend-Array_": { + data: components["schemas"]["ModelSpend"][]; + /** @enum {number|null} */ + error: null; }; - }; - UpdatePrompt2025Tags: { - parameters: { - path: { - promptId: string; + "Result_ModelSpend-Array.string_": components["schemas"]["ResultSuccess_ModelSpend-Array_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__deleted-boolean__": { + data: { + deleted: boolean; }; + /** @enum {number|null} */ + error: null; }; - requestBody: { - content: { - "application/json": { - tags: string[]; - }; + "Result__deleted-boolean_.string_": components["schemas"]["ResultSuccess__deleted-boolean__"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__updated-boolean__": { + data: { + updated: boolean; }; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_string-Array.string_"]; - }; - }; + "Result__updated-boolean_.string_": components["schemas"]["ResultSuccess__updated-boolean__"] | components["schemas"]["ResultError_string_"]; + InvoiceSummary: { + /** Format: double */ + totalSpendCents: number; + /** Format: double */ + totalInvoicedCents: number; + /** Format: double */ + uninvoicedBalanceCents: number; + lastInvoiceEndDate: string | null; }; - }; - DeletePrompt2025: { - parameters: { - path: { - promptId: string; - }; + ResultSuccess_InvoiceSummary_: { + data: components["schemas"]["InvoiceSummary"]; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; + "Result_InvoiceSummary.string_": components["schemas"]["ResultSuccess_InvoiceSummary_"] | components["schemas"]["ResultError_string_"]; + CreateInvoiceResponse: { + invoiceId: string; + hostedInvoiceUrl: string | null; + dashboardUrl: string; + /** Format: double */ + amountCents: number; + /** Format: double */ + subtotalCents: number; + ptbInvoiceId: string; }; - }; - DeletePrompt2025Version: { - parameters: { - path: { - promptId: string; - versionId: string; - }; + ResultSuccess_CreateInvoiceResponse_: { + data: components["schemas"]["CreateInvoiceResponse"]; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; + "Result_CreateInvoiceResponse.string_": components["schemas"]["ResultSuccess_CreateInvoiceResponse_"] | components["schemas"]["ResultError_string_"]; + ConvertToWavResponse: { + data: string | null; + error: string | null; }; - }; - GetPrompt2025Inputs: { - parameters: { - query: { - requestId: string; - }; - path: { - promptId: string; - versionId: string; - }; + ConvertToWavRequestBody: { + audioData: string; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_Prompt2025Input.string_"]; - }; + "ResultSuccess__url-string__": { + data: { + url: string; }; + /** @enum {number|null} */ + error: null; }; + "Result__url-string_.string_": components["schemas"]["ResultSuccess__url-string__"] | components["schemas"]["ResultError_string_"]; }; - GetPrompt2025Tags: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_string-Array.string_"]; - }; - }; - }; + responses: { }; - GetPrompt2025Environments: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_string-Array.string_"]; - }; - }; - }; + parameters: { + }; + requestBodies: { }; - CreatePrompt2025: { + headers: { + }; + pathItems: never; +} + +export type $defs = Record; + +export type external = Record; + +export interface operations { + + AddToWaitlist: { requestBody: { content: { "application/json": { - promptBody: components["schemas"]["OpenAIChatRequest"]; - tags: string[]; - name: string; + organizationId?: string; + feature: string; + email: string; }; }; }; @@ -18329,59 +15622,49 @@ export interface operations { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_PromptCreateResponse.string_"]; + "application/json": components["schemas"]["Result__success-boolean--position_63_-number_.string_"]; }; }; }; }; - UpdatePrompt2025: { - requestBody: { - content: { - "application/json": { - promptBody: components["schemas"]["OpenAIChatRequest"]; - commitMessage: string; - environment?: string; - newMajorVersion: boolean; - promptVersionId: string; - promptId: string; - }; + IsOnWaitlist: { + parameters: { + query: { + email: string; + feature: string; + organizationId?: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__id-string_.string_"]; + "application/json": components["schemas"]["Result__isOnWaitlist-boolean_.string_"]; }; }; }; }; - SetPromptVersionEnvironment: { - requestBody: { - content: { - "application/json": { - environment: string; - promptVersionId: string; - promptId: string; - }; + GetWaitlistCount: { + parameters: { + query: { + feature: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result__count-number_.string_"]; }; }; }; }; - RemoveEnvironmentFromVersion: { + PostUserFeedback: { requestBody: { content: { "application/json": { - environment: string; - promptVersionId: string; - promptId: string; + tag: string; + feedback: string; }; }; }; @@ -18389,230 +15672,219 @@ export interface operations { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": { + success?: unknown; + error: string; + } | { + error?: unknown; + success: boolean; + }; }; }; }; }; - GetPrompt2025Count: { + GetSettings: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_number.string_"]; + "application/json": { + settings: unknown; + name: string; + }[]; }; }; }; }; - GetPrompts2025: { - requestBody: { - content: { - "application/json": { - /** Format: double */ - pageSize: number; - /** Format: double */ - page: number; - tagsFilter: string[]; - search: string; - }; - }; - }; + GetRateLimits: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_Prompt2025-Array.string_"]; + "application/json": components["schemas"]["Result_RateLimitRuleView-Array.string_"]; }; }; }; }; - GetPrompt2025Version: { + CreateRateLimit: { requestBody: { content: { - "application/json": { - promptVersionId: string; - }; + "application/json": components["schemas"]["CreateRateLimitRuleParams"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_Prompt2025Version.string_"]; + "application/json": components["schemas"]["Result_RateLimitRuleView.string_"]; }; }; }; }; - GetPrompt2025EnvironmentVersion: { - requestBody: { - content: { - "application/json": { - environment: string; - promptId: string; - }; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_Prompt2025Version.string_"]; - }; + UpdateRateLimit: { + parameters: { + path: { + ruleId: string; }; }; - }; - GetPrompt2025Versions: { requestBody: { content: { - "application/json": { - /** Format: double */ - majorVersion?: number; - promptId: string; - }; + "application/json": components["schemas"]["UpdateRateLimitRuleParams"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_Prompt2025Version-Array.string_"]; + "application/json": components["schemas"]["Result_RateLimitRuleView.string_"]; }; }; }; }; - GetPrompt2025ProductionVersion: { - requestBody: { - content: { - "application/json": { - promptId: string; - }; + DeleteRateLimit: { + parameters: { + path: { + ruleId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_Prompt2025Version.string_"]; + "application/json": components["schemas"]["Result_null.string_"]; }; }; }; }; - GetPrompt2025TotalVersions: { - requestBody: { - content: { - "application/json": { - promptId: string; - }; + GetProviderKey: { + parameters: { + path: { + providerKeyId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_PromptVersionCounts.string_"]; + "application/json": components["schemas"]["DecryptedProviderKey"] | { + error: string; + }; }; }; }; }; - /** @description Get the full prompt body (messages, tools, etc.) for a specific prompt version. */ - GetPrompt2025VersionBody: { + DeleteProviderKey: { parameters: { path: { - promptVersionId: string; + providerKeyId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_Prompt2025Version_91_prompt_body_93_.string_"]; + "application/json": ({ + /** @enum {string} */ + providerName: "baseten" | "anthropic" | "azure" | "bedrock" | "canopywave" | "cerebras" | "chutes" | "deepinfra" | "deepseek" | "fireworks" | "google-ai-studio" | "groq" | "helicone" | "mistral" | "nebius" | "novita" | "openai" | "openrouter" | "perplexity" | "vertex" | "xai"; + }) | { + error: string; + }; }; }; }; }; - GetRequestCount: { + UpdateProviderKey: { + parameters: { + path: { + providerKeyId: string; + }; + }; requestBody: { content: { - "application/json": components["schemas"]["RequestQueryParams"]; + "application/json": components["schemas"]["UpdateProviderKeyRequest"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_number.string_"]; + "application/json": components["schemas"]["Result__id-string--providerName-string_.string_"]; }; }; }; }; - GetRequests: { + CreateProviderKey: { requestBody: { content: { - "application/json": components["schemas"]["RequestQueryParams"]; + "application/json": components["schemas"]["CreateProviderKeyRequest"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_HeliconeRequest-Array.string_"]; + "application/json": { + id: string; + } | { + error: string; + }; }; }; }; }; - GetRequestsClickhouse: { - requestBody: { - content: { - "application/json": components["schemas"]["RequestQueryParams"]; - }; - }; + GetProviderKeys: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_HeliconeRequest-Array.string_"]; + "application/json": components["schemas"]["ProviderKeyRow"][] | { + error: string; + }; }; }; }; }; - GetRequestById: { - parameters: { - query?: { - includeBody?: boolean; - }; - path: { - requestId: string; - }; - }; + GetAPIKeys: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_HeliconeRequest.string_"]; + "application/json": components["schemas"]["Result__api_key_hash-string--api_key_name-string--created_at-string--governance-boolean--id-number--key_permissions-string--organization_id-string--soft_delete-boolean--temp_key-boolean--updated_at-string--user_id-string_-Array.string_"]; }; }; }; }; - GetRequestInputs: { - parameters: { - path: { - requestId: string; + CreateAPIKey: { + requestBody: { + content: { + "application/json": { + /** @enum {string} */ + key_permissions?: "rw" | "r" | "w"; + api_key_name: string; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null.string_"]; + "application/json": { + hashedKey: string; + apiKey: string; + id: string; + } | { + error: string; + }; }; }; }; }; - GetRequestsByIds: { + CreateProxyKey: { requestBody: { content: { "application/json": { - requestIds: string[]; + proxyKeyName: string; + providerKeyId: string; }; }; }; @@ -18620,44 +15892,45 @@ export interface operations { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_HeliconeRequest-Array.string_"]; + "application/json": { + proxyKeyId: string; + proxyKey: string; + } | { + error: string; + }; }; }; }; }; - FeedbackRequest: { + DeleteAPIKey: { parameters: { path: { - requestId: string; - }; - }; - requestBody: { - content: { - "application/json": { - rating: boolean; - }; + apiKeyId: number; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": { + hashedKey: string; + } | { + error: string; + }; }; }; }; }; - PutProperty: { + UpdateAPIKey: { parameters: { path: { - requestId: string; + apiKeyId: number; }; }; requestBody: { content: { "application/json": { - value: string; - key: string; + api_key_name: string; }; }; }; @@ -18665,327 +15938,347 @@ export interface operations { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": { + hashedKey: string; + } | { + error: string; + }; }; }; }; }; - GetRequestAssetById: { - parameters: { - path: { - requestId: string; - assetId: string; - }; - }; + GetFreeUsage: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_HeliconeRequestAsset.string_"]; + "application/json": number; }; }; }; }; - AddScores: { - parameters: { - path: { - requestId: string; - }; - }; + CreateCloudGatewayCheckoutSession: { requestBody: { content: { - "application/json": components["schemas"]["ScoreRequest"]; + "application/json": components["schemas"]["CreateCloudGatewayCheckoutSessionRequest"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": { + checkoutUrl: string; + }; }; }; }; }; - HasPrompts: { + ManageSubscription: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__hasPrompts-boolean_.string_"]; + "application/json": string; }; }; }; }; - GetPrompts: { - requestBody: { - content: { - "application/json": components["schemas"]["PromptsQueryParams"]; - }; - }; + UndoCancelSubscription: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_PromptsResult-Array.string_"]; + "application/json": null; }; }; }; }; - GetPrompt: { - parameters: { - path: { - promptId: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["PromptQueryParams"]; + PreviewInvoice: { + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": ({ + evaluators_usage: components["schemas"]["LLMUsage"][]; + experiments_usage: components["schemas"]["LLMUsage"][]; + /** Format: double */ + total: number; + /** Format: double */ + tax: number | null; + /** Format: double */ + subtotal: number; + discount: ({ + coupon: { + /** Format: double */ + amount_off: number | null; + /** Format: double */ + percent_off: number | null; + name: string | null; + }; + }) | null; + lines: ({ + data: ({ + description: string | null; + /** Format: double */ + amount: number | null; + id: string | null; + })[]; + }) | null; + /** Format: double */ + next_payment_attempt: number | null; + currency: string | null; + }) | null; + }; }; }; + }; + CancelSubscription: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_PromptResult.string_"]; + "application/json": null; }; }; }; }; - DeletePrompt: { + SearchPaymentIntents: { parameters: { - path: { - promptId: string; + query: { + search_kind: string; + limit?: number; + page?: string; }; }; responses: { - /** @description No content */ - 204: { - content: never; + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["StripePaymentIntentsResponse"]; + }; }; }; }; - CreatePrompt: { - requestBody: { - content: { - "application/json": { - metadata: components["schemas"]["Record_string.any_"]; - prompt: unknown; - userDefinedId: string; + GetSubscription: { + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": ({ + items: ({ + price: { + product: ({ + name: string | null; + }) | null; + }; + /** Format: double */ + quantity?: number; + })[]; + /** Format: double */ + trial_end: number | null; + id: string; + /** Format: double */ + current_period_start: number; + /** Format: double */ + current_period_end: number; + cancel_at_period_end: boolean; + status: string; + }) | null; }; }; }; + }; + GetAutoTopoffSettings: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_CreatePromptResponse.string_"]; + "application/json": components["schemas"]["AutoTopoffSettings"] | null; }; }; }; }; - UpdatePromptUserDefinedId: { - parameters: { - path: { - promptId: string; - }; - }; + UpdateAutoTopoffSettings: { requestBody: { content: { - "application/json": { - userDefinedId: string; + "application/json": components["schemas"]["UpdateAutoTopoffSettingsRequest"]; + }; + }; + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["AutoTopoffSettings"]; }; }; }; + }; + DisableAutoTopoff: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": { + success: boolean; + }; }; }; }; }; - EditPromptVersionLabel: { - parameters: { - path: { - promptVersionId: string; + GetPaymentMethods: { + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["PaymentMethod"][]; + }; }; }; + }; + CreateSetupSession: { requestBody: { content: { - "application/json": components["schemas"]["PromptEditSubversionLabelParams"]; + "application/json": components["schemas"]["CreateSetupSessionRequest"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__metadata-Record_string.any__.string_"]; + "application/json": { + setupUrl: string; + }; }; }; }; }; - EditPromptVersionTemplate: { + RemovePaymentMethod: { parameters: { path: { - promptVersionId: string; + paymentMethodId: string; }; }; - requestBody: { - content: { - "application/json": components["schemas"]["PromptEditSubversionTemplateParams"]; + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": { + success: boolean; + }; + }; }; }; + }; + GetUsageStats: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["UsageStatsResponse"] | null; }; }; }; }; - CreateSubversionFromUi: { - parameters: { - path: { - promptVersionId: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["PromptCreateSubversionParams"]; - }; - }; + GetOrganizations: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_PromptVersionResult.string_"]; + "application/json": components["schemas"]["Result__40_Database-at-public_91_Tables_93_-at-organization_91_Row_93_-and-_role-string__41_-Array.string_"]; }; }; }; }; - CreateSubversion: { - parameters: { - path: { - promptVersionId: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["PromptCreateSubversionParams"]; - }; - }; + GetModels: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_PromptVersionResult.string_"]; + "application/json": components["schemas"]["Result__model-string_-Array.string_"]; }; }; }; }; - PromotePromptVersionToProduction: { + GetOrganization: { parameters: { path: { - promptVersionId: string; - }; - }; - requestBody: { - content: { - "application/json": { - previousProductionVersionId: string; - }; + organizationId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_PromptVersionResult.string_"]; + "application/json": components["schemas"]["Result_Database-at-public_91_Tables_93_-at-organization_91_Row_93_.string_"]; }; }; }; }; - GetInputs: { + GetReseller: { parameters: { path: { - promptVersionId: string; - }; - }; - requestBody: { - content: { - "application/json": { - random?: boolean; - /** Format: double */ - limit: number; - }; + resellerId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_PromptInputRecord-Array.string_"]; + "application/json": components["schemas"]["ResultSuccess_unknown_"] | components["schemas"]["ResultError_unknown_"]; }; }; }; }; - GetPromptExperiments: { - parameters: { - path: { - promptId: string; - }; - }; + AcceptTerms: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array.string_"]; + "application/json": components["schemas"]["Result_null.string_"]; }; }; }; }; - GetPromptVersions: { - parameters: { - path: { - promptId: string; - }; - }; + CreateNewOrganization: { requestBody: { content: { - "application/json": components["schemas"]["PromptVersionsQueryParams"]; + "application/json": components["schemas"]["NewOrganizationParams"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_PromptVersionResult-Array.string_"]; + "application/json": components["schemas"]["Result_string.string_"]; }; }; }; }; - GetPromptVersion: { + UpdateOrganization: { parameters: { path: { - promptVersionId: string; + organizationId: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["UpdateOrganizationParams"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_PromptVersionResult.string_"]; + "application/json": components["schemas"]["Result_null.string_"]; }; }; }; }; - DeletePromptVersion: { - parameters: { - path: { - experimentId: string; - promptVersionId: string; + OnboardOrganization: { + requestBody: { + content: { + "application/json": Record; }; }; responses: { @@ -18997,77 +16290,64 @@ export interface operations { }; }; }; - GetPromptVersionsCompiled: { + AddMemberToOrganization: { parameters: { path: { - user_defined_id: string; + organizationId: string; }; }; requestBody: { content: { - "application/json": components["schemas"]["PromptVersiosQueryParamsCompiled"]; + "application/json": { + email: string; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_PromptVersionResultCompiled.string_"]; + "application/json": components["schemas"]["Result__temporaryPassword_63_-string_-or-null.string_"]; }; }; }; }; - GetPromptVersionTemplates: { + CreateOrganizationFilter: { parameters: { path: { - user_defined_id: string; + organizationId: string; }; }; requestBody: { content: { - "application/json": components["schemas"]["PromptVersiosQueryParamsCompiled"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptVersionResultFilled.string_"]; + "application/json": { + /** @enum {string} */ + filterType: "dashboard" | "requests"; + filters: components["schemas"]["OrganizationFilter"][]; }; }; }; - }; - CreateEmptyExperiment: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__experimentId-string_.string_"]; + "application/json": components["schemas"]["Result_null.string_"]; }; }; }; }; - CreateExperimentFromRequest: { + UpdateOrganizationFilter: { parameters: { path: { - requestId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__experimentId-string_.string_"]; - }; + organizationId: string; }; }; - }; - CreateNewExperiment: { requestBody: { content: { "application/json": { - originalPromptVersion: string; - name: string; + /** @enum {string} */ + filterType: "dashboard" | "requests"; + filters: components["schemas"]["OrganizationFilter"][]; }; }; }; @@ -19075,136 +16355,133 @@ export interface operations { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__experimentId-string_.string_"]; + "application/json": components["schemas"]["Result_null.string_"]; }; }; }; }; - GetExperiments: { + DeleteOrganization: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ExperimentV2-Array.string_"]; + "application/json": components["schemas"]["Result_null.string_"]; }; }; }; }; - GetExperimentById: { + GetOrganizationLayout: { parameters: { + query: { + filterType: string; + }; path: { - experimentId: string; + organizationId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ExtendedExperimentData.string_"]; + "application/json": components["schemas"]["Result_OrganizationLayout.string_"]; }; }; }; }; - DeleteExperiment: { + GetOrganizationMembers: { parameters: { path: { - experimentId: string; + organizationId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result_OrganizationMember-Array.string_"]; }; }; }; }; - CreateNewPromptVersionForExperiment: { + UpdateOrganizationMember: { parameters: { path: { - experimentId: string; + organizationId: string; }; }; requestBody: { content: { - "application/json": components["schemas"]["CreateNewPromptVersionForExperimentParams"]; + "application/json": { + memberId: string; + role: string; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_PromptVersionResult.string_"]; + "application/json": components["schemas"]["Result_null.string_"]; }; }; }; }; - GetPromptVersionsForExperiment: { + UpdateOrganizationOwner: { parameters: { path: { - experimentId: string; + organizationId: string; + }; + }; + requestBody: { + content: { + "application/json": { + memberId: string; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ExperimentV2PromptVersion-Array.string_"]; + "application/json": components["schemas"]["Result_null.string_"]; }; }; }; }; - GetInputKeysForExperiment: { + GetOrganizationOwner: { parameters: { path: { - experimentId: string; + organizationId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_string-Array.string_"]; + "application/json": components["schemas"]["Result_OrganizationOwner-Array.string_"]; }; }; }; }; - AddManualRowToExperiment: { + RemoveMemberFromOrganization: { parameters: { - path: { - experimentId: string; + query: { + memberId: string; }; - }; - requestBody: { - content: { - "application/json": { - inputs: components["schemas"]["Record_string.string_"]; - }; + path: { + organizationId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_string.string_"]; + "application/json": components["schemas"]["Result_null.string_"]; }; }; }; }; - AddManualRowsToExperimentBatch: { - parameters: { - path: { - experimentId: string; - }; - }; - requestBody: { - content: { - "application/json": { - inputs: components["schemas"]["Record_string.string_"][]; - }; - }; - }; + SetupDemo: { responses: { /** @description Ok */ 200: { @@ -19214,16 +16491,12 @@ export interface operations { }; }; }; - DeleteExperimentTableRows: { - parameters: { - path: { - experimentId: string; - }; - }; + UpdateOnboardingStatus: { requestBody: { content: { "application/json": { - inputRecordIds: string[]; + name: string; + onboarding_status: components["schemas"]["OnboardingStatus"]; }; }; }; @@ -19236,120 +16509,110 @@ export interface operations { }; }; }; - CreateExperimentTableRowBatch: { - parameters: { - path: { - experimentId: string; - }; - }; + CreateEvaluator: { requestBody: { content: { - "application/json": { - rows: { - autoInputs: unknown[]; - inputs: components["schemas"]["Record_string.string_"]; - inputRecordId: string; - }[]; - }; + "application/json": components["schemas"]["CreateEvaluatorParams"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result_EvaluatorResult.string_"]; }; }; }; }; - CreateExperimentTableRowFromDataset: { + GetEvaluator: { parameters: { path: { - experimentId: string; - datasetId: string; + evaluatorId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result_EvaluatorResult.string_"]; }; }; }; }; - UpdateExperimentTableRow: { + UpdateEvaluator: { parameters: { path: { - experimentId: string; + evaluatorId: string; }; }; requestBody: { content: { - "application/json": { - inputs: components["schemas"]["Record_string.string_"]; - inputRecordId: string; - }; + "application/json": components["schemas"]["UpdateEvaluatorParams"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result_EvaluatorResult.string_"]; }; }; }; }; - RunHypothesis: { + DeleteEvaluator: { parameters: { path: { - experimentId: string; + evaluatorId: string; }; }; + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["Result_null.string_"]; + }; + }; + }; + }; + QueryEvaluators: { requestBody: { content: { - "application/json": { - inputRecordId: string; - promptVersionId: string; - }; + "application/json": Record; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_string.string_"]; + "application/json": components["schemas"]["Result_EvaluatorResult-Array.string_"]; }; }; }; }; - GetExperimentEvaluators: { + GetOnlineEvaluators: { parameters: { path: { - experimentId: string; + evaluatorId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_EvaluatorResult-Array.string_"]; + "application/json": components["schemas"]["Result_OnlineEvaluatorByEvaluatorId-Array.string_"]; }; }; }; }; - CreateExperimentEvaluator: { + CreateOnlineEvaluator: { parameters: { path: { - experimentId: string; + evaluatorId: string; }; }; requestBody: { content: { - "application/json": { - evaluatorId: string; - }; + "application/json": components["schemas"]["CreateOnlineEvaluatorParams"]; }; }; responses: { @@ -19361,11 +16624,11 @@ export interface operations { }; }; }; - DeleteExperimentEvaluator: { + DeleteOnlineEvaluator: { parameters: { path: { - experimentId: string; evaluatorId: string; + onlineEvaluatorId: string; }; }; responses: { @@ -19377,65 +16640,72 @@ export interface operations { }; }; }; - RunExperimentEvaluators: { - parameters: { - path: { - experimentId: string; + TestPythonEvaluator: { + requestBody: { + content: { + "application/json": { + testInput: components["schemas"]["TestInput"]; + code: string; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result__output-string--traces-string-Array--statusCode_63_-number_.string_"]; }; }; }; }; - ShouldRunEvaluators: { - parameters: { - path: { - experimentId: string; + TestLLMEvaluator: { + requestBody: { + content: { + "application/json": { + evaluatorName: string; + testInput: components["schemas"]["TestInput"]; + evaluatorConfig: components["schemas"]["EvaluatorConfig"]; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_boolean.string_"]; + "application/json": components["schemas"]["EvaluatorScoreResult"]; }; }; }; }; - GetExperimentPromptVersionScores: { - parameters: { - path: { - experimentId: string; - promptVersionId: string; + TestLastMileEvaluator: { + requestBody: { + content: { + "application/json": { + testInput: components["schemas"]["TestInput"]; + config: components["schemas"]["LastMileConfigForm"]; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_Record_string.ScoreV2_.string_"]; + "application/json": components["schemas"]["Result__score-number--input-string--output-string--ground_truth_63_-string_.string_"]; }; }; }; }; - GetExperimentScore: { + GetEvaluatorStats: { parameters: { path: { - experimentId: string; - requestId: string; - scoreKey: string; + evaluatorId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ScoreV2-or-null.string_"]; + "application/json": components["schemas"]["Result_EvaluatorStats.string_"]; }; }; }; @@ -21497,6 +18767,13 @@ export interface operations { }; }; }; + /** + * @description Dead endpoint. The route stays registered so existing callers keep getting + * the same response, but the implementation is gone: it shelled out to + * ffmpeg with input options built from request-derived values, which was an + * argument-injection sink. Do not reintroduce it -- if WAV conversion is + * needed again, build it on a library that does not take a command line. + */ ConvertToWav: { requestBody: { content: { diff --git a/bifrost/lib/clients/jawnTypes/public.ts b/bifrost/lib/clients/jawnTypes/public.ts index 91d39a0f0f..0174df6644 100644 --- a/bifrost/lib/clients/jawnTypes/public.ts +++ b/bifrost/lib/clients/jawnTypes/public.ts @@ -42,9 +42,6 @@ export interface paths { "/v1/evaluator/query": { post: operations["QueryEvaluators"]; }; - "/v1/evaluator/{evaluatorId}/experiments": { - get: operations["GetExperimentsForEvaluator"]; - }; "/v1/evaluator/{evaluatorId}/onlineEvaluators": { get: operations["GetOnlineEvaluators"]; post: operations["CreateOnlineEvaluator"]; @@ -64,242 +61,24 @@ export interface paths { "/v1/evaluator/{evaluatorId}/stats": { get: operations["GetEvaluatorStats"]; }; - "/v1/prompt-2025/id/{promptId}": { - get: operations["GetPrompt2025"]; - }; - "/v1/prompt-2025/id/{promptId}/rename": { - post: operations["RenamePrompt2025"]; - }; - "/v1/prompt-2025/id/{promptId}/tags": { - patch: operations["UpdatePrompt2025Tags"]; - }; - "/v1/prompt-2025/{promptId}": { - delete: operations["DeletePrompt2025"]; - }; - "/v1/prompt-2025/{promptId}/{versionId}": { - delete: operations["DeletePrompt2025Version"]; - }; - "/v1/prompt-2025/id/{promptId}/{versionId}/inputs": { - get: operations["GetPrompt2025Inputs"]; - }; - "/v1/prompt-2025/tags": { - get: operations["GetPrompt2025Tags"]; - }; - "/v1/prompt-2025/environments": { - get: operations["GetPrompt2025Environments"]; - }; - "/v1/prompt-2025": { - post: operations["CreatePrompt2025"]; - }; - "/v1/prompt-2025/update": { - post: operations["UpdatePrompt2025"]; - }; - "/v1/prompt-2025/update/environment": { - post: operations["SetPromptVersionEnvironment"]; - }; - "/v1/prompt-2025/remove/environment": { - post: operations["RemoveEnvironmentFromVersion"]; - }; - "/v1/prompt-2025/count": { - get: operations["GetPrompt2025Count"]; - }; - "/v1/prompt-2025/query": { - post: operations["GetPrompts2025"]; - }; - "/v1/prompt-2025/query/version": { - post: operations["GetPrompt2025Version"]; - }; - "/v1/prompt-2025/query/environment-version": { - post: operations["GetPrompt2025EnvironmentVersion"]; - }; - "/v1/prompt-2025/query/versions": { - post: operations["GetPrompt2025Versions"]; - }; - "/v1/prompt-2025/query/production-version": { - post: operations["GetPrompt2025ProductionVersion"]; - }; - "/v1/prompt-2025/query/total-versions": { - post: operations["GetPrompt2025TotalVersions"]; - }; - "/v1/prompt-2025/{promptVersionId}/prompt-body": { - /** @description Get the full prompt body (messages, tools, etc.) for a specific prompt version. */ - get: operations["GetPrompt2025VersionBody"]; - }; - "/v2/prompt-2025/query/version": { - post: operations["GetPrompt2025Version"]; - }; - "/v2/prompt-2025/query/environment-version": { - post: operations["GetPrompt2025EnvironmentVersion"]; - }; - "/v2/prompt-2025/query/production-version": { - post: operations["GetPrompt2025ProductionVersion"]; - }; - "/v1/prompt/has-prompts": { - get: operations["HasPrompts"]; - }; - "/v1/prompt/query": { - post: operations["GetPrompts"]; - }; - "/v1/prompt/{promptId}/query": { - post: operations["GetPrompt"]; - }; - "/v1/prompt/{promptId}": { - delete: operations["DeletePrompt"]; - }; - "/v1/prompt/create": { - post: operations["CreatePrompt"]; - }; - "/v1/prompt/{promptId}/user-defined-id": { - patch: operations["UpdatePromptUserDefinedId"]; - }; - "/v1/prompt/version/{promptVersionId}/edit-label": { - post: operations["EditPromptVersionLabel"]; - }; - "/v1/prompt/version/{promptVersionId}/edit-template": { - post: operations["EditPromptVersionTemplate"]; - }; - "/v1/prompt/version/{promptVersionId}/subversion-from-ui": { - post: operations["CreateSubversionFromUi"]; - }; - "/v1/prompt/version/{promptVersionId}/subversion": { - post: operations["CreateSubversion"]; - }; - "/v1/prompt/version/{promptVersionId}/promote": { - post: operations["PromotePromptVersionToProduction"]; - }; - "/v1/prompt/version/{promptVersionId}/inputs/query": { - post: operations["GetInputs"]; - }; - "/v1/prompt/{promptId}/experiments": { - get: operations["GetPromptExperiments"]; - }; - "/v1/prompt/{promptId}/versions/query": { - post: operations["GetPromptVersions"]; - }; - "/v1/prompt/version/{promptVersionId}": { - get: operations["GetPromptVersion"]; - delete: operations["DeletePromptVersion"]; - }; - "/v1/prompt/{user_defined_id}/compile": { - post: operations["GetPromptVersionsCompiled"]; - }; - "/v1/prompt/{user_defined_id}/template": { - post: operations["GetPromptVersionTemplates"]; - }; - "/v2/experiment/create/empty": { - post: operations["CreateEmptyExperiment"]; - }; - "/v2/experiment/create/from-request/{requestId}": { - post: operations["CreateExperimentFromRequest"]; - }; - "/v2/experiment/new": { - post: operations["CreateNewExperiment"]; - }; - "/v2/experiment": { - get: operations["GetExperiments"]; - }; - "/v2/experiment/{experimentId}": { - get: operations["GetExperimentById"]; - delete: operations["DeleteExperiment"]; - }; - "/v2/experiment/{experimentId}/prompt-version": { - post: operations["CreateNewPromptVersionForExperiment"]; - }; - "/v2/experiment/{experimentId}/prompt-version/{promptVersionId}": { - delete: operations["DeletePromptVersion"]; - }; - "/v2/experiment/{experimentId}/prompt-versions": { - get: operations["GetPromptVersionsForExperiment"]; - }; - "/v2/experiment/{experimentId}/input-keys": { - get: operations["GetInputKeysForExperiment"]; - }; - "/v2/experiment/{experimentId}/add-manual-row": { - post: operations["AddManualRowToExperiment"]; - }; - "/v2/experiment/{experimentId}/add-manual-rows-batch": { - post: operations["AddManualRowsToExperimentBatch"]; - }; - "/v2/experiment/{experimentId}/rows": { - delete: operations["DeleteExperimentTableRows"]; - }; - "/v2/experiment/{experimentId}/row/insert/batch": { - post: operations["CreateExperimentTableRowBatch"]; - }; - "/v2/experiment/{experimentId}/row/insert/dataset/{datasetId}": { - post: operations["CreateExperimentTableRowFromDataset"]; - }; - "/v2/experiment/{experimentId}/row/update": { - post: operations["UpdateExperimentTableRow"]; - }; - "/v2/experiment/{experimentId}/run-hypothesis": { - post: operations["RunHypothesis"]; - }; - "/v2/experiment/{experimentId}/evaluators": { - get: operations["GetExperimentEvaluators"]; - post: operations["CreateExperimentEvaluator"]; - }; - "/v2/experiment/{experimentId}/evaluators/{evaluatorId}": { - delete: operations["DeleteExperimentEvaluator"]; - }; - "/v2/experiment/{experimentId}/evaluators/run": { - post: operations["RunExperimentEvaluators"]; - }; - "/v2/experiment/{experimentId}/should-run-evaluators": { - get: operations["ShouldRunEvaluators"]; - }; - "/v2/experiment/{experimentId}/{promptVersionId}/scores": { - get: operations["GetExperimentPromptVersionScores"]; - }; - "/v2/experiment/{experimentId}/{requestId}/{scoreKey}": { - get: operations["GetExperimentScore"]; - }; - "/v1/stripe/subscription/cost-for-prompts": { - get: operations["GetCostForPrompts"]; - }; - "/v1/stripe/subscription/cost-for-evals": { - get: operations["GetCostForEvals"]; - }; - "/v1/stripe/subscription/cost-for-experiments": { - get: operations["GetCostForExperiments"]; - }; "/v1/stripe/subscription/free/usage": { get: operations["GetFreeUsage"]; }; "/v1/stripe/cloud/checkout-session": { post: operations["CreateCloudGatewayCheckoutSession"]; }; - "/v1/stripe/subscription/new-customer/upgrade-to-pro": { - post: operations["UpgradeToPro"]; - }; - "/v1/stripe/subscription/existing-customer/upgrade-to-pro": { - post: operations["UpgradeExistingCustomer"]; - }; - "/v1/stripe/subscription/new-customer/upgrade-to-team-bundle": { - post: operations["UpgradeToTeamBundle"]; - }; - "/v1/stripe/subscription/existing-customer/upgrade-to-team-bundle": { - post: operations["UpgradeExistingCustomerToTeamBundle"]; - }; "/v1/stripe/subscription/manage-subscription": { post: operations["ManageSubscription"]; }; "/v1/stripe/subscription/undo-cancel-subscription": { post: operations["UndoCancelSubscription"]; }; - "/v1/stripe/subscription/add-ons/{productType}": { - post: operations["AddOns"]; - delete: operations["DeleteAddOns"]; - }; "/v1/stripe/subscription/preview-invoice": { get: operations["PreviewInvoice"]; }; "/v1/stripe/subscription/cancel-subscription": { post: operations["CancelSubscription"]; }; - "/v1/stripe/subscription/migrate-to-pro": { - post: operations["MigrateToPro"]; - }; "/v1/stripe/payment-intents/search": { get: operations["SearchPaymentIntents"]; }; @@ -480,84 +259,203 @@ export interface paths { "/v1/property/{propertyKey}/top-requests/query": { post: operations["GetTopRequests"]; }; - "/v1/playground/generate": { - post: operations["Generate"]; + "/v1/prompt-2025/id/{promptId}": { + get: operations["GetPrompt2025"]; }; - "/v1/playground/requests-through-helicone": { - get: operations["GetRequestsThroughHelicone"]; - post: operations["RequestsThroughHelicone"]; + "/v1/prompt-2025/id/{promptId}/rename": { + post: operations["RenamePrompt2025"]; }; - "/v1/public/pi/get-api-key": { - post: operations["GetApiKey"]; + "/v1/prompt-2025/id/{promptId}/tags": { + patch: operations["UpdatePrompt2025Tags"]; }; - "/v1/pi/session": { - post: operations["AddSession"]; + "/v1/prompt-2025/{promptId}": { + delete: operations["DeletePrompt2025"]; }; - "/v1/pi/org-name/query": { - post: operations["GetOrgName"]; + "/v1/prompt-2025/{promptId}/{versionId}": { + delete: operations["DeletePrompt2025Version"]; }; - "/v1/pi/total-costs": { - post: operations["GetTotalCosts"]; + "/v1/prompt-2025/id/{promptId}/{versionId}/inputs": { + get: operations["GetPrompt2025Inputs"]; }; - "/v1/pi/total_requests": { - post: operations["PiGetTotalRequests"]; + "/v1/prompt-2025/tags": { + get: operations["GetPrompt2025Tags"]; }; - "/v1/pi/costs-over-time/query": { - post: operations["GetCostsOverTime"]; + "/v1/prompt-2025/environments": { + get: operations["GetPrompt2025Environments"]; }; - "/v1/public/model-registry/models": { - /** - * Returns a comprehensive list of all AI models with their configurations, pricing, and capabilities - * @description Get all available models from the registry - */ - get: operations["GetModelRegistry"]; + "/v1/prompt-2025": { + post: operations["CreatePrompt2025"]; }; - "/v1/models": { - get: operations["GetModels"]; + "/v1/prompt-2025/update": { + post: operations["UpdatePrompt2025"]; }; - "/v1/models/multimodal": { - get: operations["GetMultimodalModels"]; + "/v1/prompt-2025/update/environment": { + post: operations["SetPromptVersionEnvironment"]; }; - "/v1/public/compare/models": { - post: operations["GetModelComparison"]; + "/v1/prompt-2025/remove/environment": { + post: operations["RemoveEnvironmentFromVersion"]; }; - "/v1/metrics/totalRequests": { - post: operations["GetTotalRequests"]; + "/v1/prompt-2025/count": { + get: operations["GetPrompt2025Count"]; }; - "/v1/metrics/totalCost": { - post: operations["GetTotalCost"]; + "/v1/prompt-2025/query": { + post: operations["GetPrompts2025"]; }; - "/v1/metrics/averageLatency": { - post: operations["GetAverageLatency"]; + "/v1/prompt-2025/query/version": { + post: operations["GetPrompt2025Version"]; }; - "/v1/metrics/averageTimeToFirstToken": { - post: operations["GetAverageTimeToFirstToken"]; + "/v1/prompt-2025/query/environment-version": { + post: operations["GetPrompt2025EnvironmentVersion"]; }; - "/v1/metrics/averageTokensPerRequest": { - post: operations["GetAverageTokensPerRequest"]; + "/v1/prompt-2025/query/versions": { + post: operations["GetPrompt2025Versions"]; }; - "/v1/metrics/totalThreats": { - post: operations["GetTotalThreats"]; + "/v1/prompt-2025/query/production-version": { + post: operations["GetPrompt2025ProductionVersion"]; }; - "/v1/metrics/activeUsers": { - post: operations["GetActiveUsers"]; + "/v1/prompt-2025/query/total-versions": { + post: operations["GetPrompt2025TotalVersions"]; }; - "/v1/metrics/requestOverTime": { - post: operations["GetRequestsOverTime"]; + "/v1/prompt-2025/{promptVersionId}/prompt-body": { + /** @description Get the full prompt body (messages, tools, etc.) for a specific prompt version. */ + get: operations["GetPrompt2025VersionBody"]; }; - "/v1/metrics/costOverTime": { - post: operations["GetCostOverTime"]; + "/v2/prompt-2025/query/version": { + post: operations["GetPrompt2025Version"]; }; - "/v1/metrics/tokensOverTime": { - post: operations["GetTokensOverTime"]; + "/v2/prompt-2025/query/environment-version": { + post: operations["GetPrompt2025EnvironmentVersion"]; }; - "/v1/metrics/latencyOverTime": { - post: operations["GetLatencyOverTime"]; + "/v2/prompt-2025/query/production-version": { + post: operations["GetPrompt2025ProductionVersion"]; }; - "/v1/metrics/timeToFirstToken": { - post: operations["GetTimeToFirstTokenOverTime"]; + "/v1/prompt/has-prompts": { + get: operations["HasPrompts"]; }; - "/v1/metrics/usersOverTime": { + "/v1/prompt/query": { + post: operations["GetPrompts"]; + }; + "/v1/prompt/{promptId}/query": { + post: operations["GetPrompt"]; + }; + "/v1/prompt/{promptId}": { + delete: operations["DeletePrompt"]; + }; + "/v1/prompt/create": { + post: operations["CreatePrompt"]; + }; + "/v1/prompt/{promptId}/user-defined-id": { + patch: operations["UpdatePromptUserDefinedId"]; + }; + "/v1/prompt/version/{promptVersionId}/edit-label": { + post: operations["EditPromptVersionLabel"]; + }; + "/v1/prompt/version/{promptVersionId}/edit-template": { + post: operations["EditPromptVersionTemplate"]; + }; + "/v1/prompt/version/{promptVersionId}/subversion-from-ui": { + post: operations["CreateSubversionFromUi"]; + }; + "/v1/prompt/version/{promptVersionId}/subversion": { + post: operations["CreateSubversion"]; + }; + "/v1/prompt/version/{promptVersionId}/promote": { + post: operations["PromotePromptVersionToProduction"]; + }; + "/v1/prompt/version/{promptVersionId}/inputs/query": { + post: operations["GetInputs"]; + }; + "/v1/prompt/{promptId}/versions/query": { + post: operations["GetPromptVersions"]; + }; + "/v1/prompt/version/{promptVersionId}": { + get: operations["GetPromptVersion"]; + delete: operations["DeletePromptVersion"]; + }; + "/v1/prompt/{user_defined_id}/compile": { + post: operations["GetPromptVersionsCompiled"]; + }; + "/v1/prompt/{user_defined_id}/template": { + post: operations["GetPromptVersionTemplates"]; + }; + "/v1/playground/generate": { + post: operations["Generate"]; + }; + "/v1/playground/requests-through-helicone": { + get: operations["GetRequestsThroughHelicone"]; + post: operations["RequestsThroughHelicone"]; + }; + "/v1/public/pi/get-api-key": { + post: operations["GetApiKey"]; + }; + "/v1/pi/session": { + post: operations["AddSession"]; + }; + "/v1/pi/org-name/query": { + post: operations["GetOrgName"]; + }; + "/v1/pi/total-costs": { + post: operations["GetTotalCosts"]; + }; + "/v1/pi/total_requests": { + post: operations["PiGetTotalRequests"]; + }; + "/v1/pi/costs-over-time/query": { + post: operations["GetCostsOverTime"]; + }; + "/v1/public/model-registry/models": { + /** + * Returns a comprehensive list of all AI models with their configurations, pricing, and capabilities + * @description Get all available models from the registry + */ + get: operations["GetModelRegistry"]; + }; + "/v1/models": { + get: operations["GetModels"]; + }; + "/v1/models/multimodal": { + get: operations["GetMultimodalModels"]; + }; + "/v1/public/compare/models": { + post: operations["GetModelComparison"]; + }; + "/v1/metrics/totalRequests": { + post: operations["GetTotalRequests"]; + }; + "/v1/metrics/totalCost": { + post: operations["GetTotalCost"]; + }; + "/v1/metrics/averageLatency": { + post: operations["GetAverageLatency"]; + }; + "/v1/metrics/averageTimeToFirstToken": { + post: operations["GetAverageTimeToFirstToken"]; + }; + "/v1/metrics/averageTokensPerRequest": { + post: operations["GetAverageTokensPerRequest"]; + }; + "/v1/metrics/totalThreats": { + post: operations["GetTotalThreats"]; + }; + "/v1/metrics/activeUsers": { + post: operations["GetActiveUsers"]; + }; + "/v1/metrics/requestOverTime": { + post: operations["GetRequestsOverTime"]; + }; + "/v1/metrics/costOverTime": { + post: operations["GetCostOverTime"]; + }; + "/v1/metrics/tokensOverTime": { + post: operations["GetTokensOverTime"]; + }; + "/v1/metrics/latencyOverTime": { + post: operations["GetLatencyOverTime"]; + }; + "/v1/metrics/timeToFirstToken": { + post: operations["GetTimeToFirstTokenOverTime"]; + }; + "/v1/metrics/usersOverTime": { post: operations["GetUsersOverTime"]; }; "/v1/metrics/threatsOverTime": { @@ -643,83 +541,6 @@ export interface paths { */ post: operations["CreateSavedQuery"]; }; - "/v1/experiment/new-empty": { - post: operations["CreateNewEmptyExperiment"]; - }; - "/v1/experiment/table/new": { - post: operations["CreateNewExperimentTable"]; - }; - "/v1/experiment/table/{experimentTableId}/query": { - post: operations["GetExperimentTableById"]; - }; - "/v1/experiment/table/{experimentTableId}/metadata/query": { - post: operations["GetExperimentTableMetadata"]; - }; - "/v1/experiment/tables/query": { - post: operations["GetExperimentTables"]; - }; - "/v1/experiment/table/{experimentTableId}/cell": { - post: operations["CreateExperimentCell"]; - patch: operations["UpdateExperimentCell"]; - }; - "/v1/experiment/table/{experimentTableId}/column": { - post: operations["CreateExperimentColumn"]; - }; - "/v1/experiment/table/{experimentTableId}/row/new": { - post: operations["CreateExperimentTableRow"]; - }; - "/v1/experiment/table/{experimentTableId}/row/{rowIndex}": { - delete: operations["DeleteExperimentTableRow"]; - }; - "/v1/experiment/table/{experimentTableId}/row/insert/batch": { - post: operations["CreateExperimentTableRowWithCellsBatch"]; - }; - "/v1/experiment/update-meta": { - post: operations["UpdateExperimentMeta"]; - }; - "/v1/experiment": { - post: operations["CreateNewExperimentOld"]; - }; - "/v1/experiment/hypothesis": { - post: operations["CreateNewExperimentHypothesis"]; - }; - "/v1/experiment/hypothesis/{hypothesisId}/scores/query": { - post: operations["GetExperimentHypothesisScores"]; - }; - "/v1/experiment/{experimentId}/evaluators": { - get: operations["GetExperimentEvaluators"]; - post: operations["CreateExperimentEvaluatorOld"]; - }; - "/v1/experiment/{experimentId}/evaluators/run": { - post: operations["RunExperimentEvaluatorsOld"]; - }; - "/v1/experiment/{experimentId}/evaluators/{evaluatorId}": { - delete: operations["DeleteExperimentEvaluatorOld"]; - }; - "/v1/experiment/query": { - post: operations["GetExperimentsOld"]; - }; - "/v1/experiment/dataset": { - post: operations["AddDataset"]; - }; - "/v1/experiment/dataset/random": { - post: operations["AddRandomDataset"]; - }; - "/v1/experiment/dataset/query": { - post: operations["GetDatasets"]; - }; - "/v1/experiment/dataset/{datasetId}/row/insert": { - post: operations["InsertDatasetRow"]; - }; - "/v1/experiment/dataset/{datasetId}/version/{promptVersionId}/row/new": { - post: operations["CreateDatasetRow"]; - }; - "/v1/experiment/dataset/{datasetId}/inputs/query": { - post: operations["GetDataset"]; - }; - "/v1/experiment/dataset/{datasetId}/mutate": { - post: operations["MutateDataset"]; - }; "/v1/helicone-dataset": { post: operations["AddHeliconeDataset"]; }; @@ -929,17 +750,6 @@ export interface components { error: null; }; "Result_null.string_": components["schemas"]["ResultSuccess_null_"] | components["schemas"]["ResultError_string_"]; - EvaluatorExperiment: { - experiment_name: string; - experiment_created_at: string; - experiment_id: string; - }; - "ResultSuccess_EvaluatorExperiment-Array_": { - data: components["schemas"]["EvaluatorExperiment"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_EvaluatorExperiment-Array.string_": components["schemas"]["ResultSuccess_EvaluatorExperiment-Array_"] | components["schemas"]["ResultError_string_"]; OnlineEvaluatorByEvaluatorId: { config: unknown; id: string; @@ -1055,134 +865,119 @@ export interface components { error: null; }; "Result_EvaluatorStats.string_": components["schemas"]["ResultSuccess_EvaluatorStats_"] | components["schemas"]["ResultError_string_"]; - Prompt2025: { - id: string; - name: string; - tags: string[]; - created_at: string; + CreateCloudGatewayCheckoutSessionRequest: { + /** Format: double */ + amount: number; + returnUrl?: string; }; - ResultSuccess_Prompt2025_: { - data: components["schemas"]["Prompt2025"]; - /** @enum {number|null} */ - error: null; + LLMUsage: { + model: string; + provider: string; + /** Format: double */ + prompt_tokens: number; + /** Format: double */ + completion_tokens: number; + /** Format: double */ + total_count: number; + /** Format: double */ + amount: number; + description: string; + totalCost: { + /** Format: double */ + prompt_token: number; + /** Format: double */ + completion_token: number; + }; }; - "Result_Prompt2025.string_": components["schemas"]["ResultSuccess_Prompt2025_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_string-Array_": { - data: string[]; - /** @enum {number|null} */ - error: null; + PaymentIntentRecord: { + id: string; + /** Format: double */ + amount: number; + /** Format: double */ + created: number; + status: string; + isRefunded?: boolean; + /** Format: double */ + refundedAmount?: number; + refundIds?: string[]; }; - "Result_string-Array.string_": components["schemas"]["ResultSuccess_string-Array_"] | components["schemas"]["ResultError_string_"]; - Prompt2025Input: { - request_id: string; - version_id: string; - inputs: components["schemas"]["Record_string.any_"]; + StripePaymentIntentsResponse: { + data: components["schemas"]["PaymentIntentRecord"][]; + has_more: boolean; + next_page: string | null; + /** Format: double */ + count: number; }; - ResultSuccess_Prompt2025Input_: { - data: components["schemas"]["Prompt2025Input"]; - /** @enum {number|null} */ - error: null; + AutoTopoffSettings: { + enabled: boolean; + /** Format: double */ + thresholdCents: number; + /** Format: double */ + topoffAmountCents: number; + stripePaymentMethodId: string | null; + lastTopoffAt: string | null; + /** Format: double */ + consecutiveFailures: number; }; - "Result_Prompt2025Input.string_": components["schemas"]["ResultSuccess_Prompt2025Input_"] | components["schemas"]["ResultError_string_"]; - PromptCreateResponse: { - id: string; - versionId: string; + UpdateAutoTopoffSettingsRequest: { + enabled: boolean; + /** Format: double */ + thresholdCents: number; + /** Format: double */ + topoffAmountCents: number; + stripePaymentMethodId: string; }; - ResultSuccess_PromptCreateResponse_: { - data: components["schemas"]["PromptCreateResponse"]; - /** @enum {number|null} */ - error: null; + PaymentMethod: { + id: string; + brand: string; + last4: string; + /** Format: double */ + exp_month: number; + /** Format: double */ + exp_year: number; }; - "Result_PromptCreateResponse.string_": components["schemas"]["ResultSuccess_PromptCreateResponse_"] | components["schemas"]["ResultError_string_"]; - /** @description Construct a type with a set of properties K of type T */ - "Record_string.number_": { - [key: string]: number; + CreateSetupSessionRequest: { + returnUrl?: string; }; - /** @description Simplified interface for the OpenAI Chat request format */ - OpenAIChatRequest: { - model?: string; - messages?: ({ - tool_calls?: { - /** @enum {string} */ - type: "function"; - function: { - arguments: string; - name: string; - }; - id: string; - }[]; - tool_call_id?: string; - name?: string; - content: (string | { - image_url?: { - url: string; - }; - text?: string; - type: string; - }[]) | null; - role: string; - })[]; - /** Format: double */ - temperature?: number; - /** Format: double */ - top_p?: number; - /** Format: double */ - max_tokens?: number; - /** Format: double */ - max_completion_tokens?: number; - stream?: boolean; - stop?: string[] | string; - tools?: { - function: { - strict?: boolean; - parameters?: components["schemas"]["Record_string.any_"]; - description?: string; - name: string; - }; - /** @enum {string} */ - type: "function"; - }[]; - tool_choice?: { - function?: { - name: string; - /** @enum {string} */ - type: "function"; - }; - type: string; - } | ("none" | "auto" | "required"); - parallel_tool_calls?: boolean; - /** @enum {string} */ - reasoning_effort?: "minimal" | "low" | "medium" | "high"; - /** @enum {string} */ - verbosity?: "low" | "medium" | "high"; - /** Format: double */ - frequency_penalty?: number; - /** Format: double */ - presence_penalty?: number; - logit_bias?: components["schemas"]["Record_string.number_"]; - logprobs?: boolean; + DailyUsageDataPoint: { + date: string; /** Format: double */ - top_logprobs?: number; + requests: number; /** Format: double */ - n?: number; - modalities?: string[]; - prediction?: unknown; - audio?: unknown; - response_format?: { - json_schema?: unknown; - type: string; + bytes: number; + }; + UsageStatsResponse: { + billingPeriod: { + /** Format: double */ + daysTotal: number; + /** Format: double */ + daysElapsed: number; + end: string; + start: string; }; - /** Format: double */ - seed?: number; - service_tier?: string; - store?: boolean; - stream_options?: unknown; - metadata?: components["schemas"]["Record_string.string_"]; - user?: string; - function_call?: string | { - name: string; + usage: { + /** Format: double */ + totalGB: number; + /** Format: double */ + totalBytes: number; + /** Format: double */ + totalRequests: number; + }; + dailyData: components["schemas"]["DailyUsageDataPoint"][]; + estimatedCost: { + /** Format: double */ + projectedMonthlyTotalCost: number; + /** Format: double */ + projectedMonthlyGBCost: number; + /** Format: double */ + projectedMonthlyRequestsCost: number; + /** Format: double */ + totalCost: number; + /** Format: double */ + gbCost: number; + /** Format: double */ + requestsCost: number; }; - functions?: unknown[]; }; "ResultSuccess__id-string__": { data: { @@ -1192,143 +987,61 @@ export interface components { error: null; }; "Result__id-string_.string_": components["schemas"]["ResultSuccess__id-string__"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_number_: { - /** Format: double */ - data: number; - /** @enum {number|null} */ - error: null; - }; - "Result_number.string_": components["schemas"]["ResultSuccess_number_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_Prompt2025-Array_": { - data: components["schemas"]["Prompt2025"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_Prompt2025-Array.string_": components["schemas"]["ResultSuccess_Prompt2025-Array_"] | components["schemas"]["ResultError_string_"]; - /** @description Construct a type with a set of properties K of type T */ - "Record_string.unknown_": { - [key: string]: unknown; - }; - Prompt2025VersionPromptBody: { - model?: string; - messages?: ({ - tool_calls?: { - /** @enum {string} */ - type: "function"; - function: { - arguments: string; - name: string; - }; - id: string; - }[]; - tool_call_id?: string; - name?: string; - content: (string | { - image_url?: { - url: string; - }; - text?: string; - type: string; - }[]) | null; - role: string; - })[]; - /** Format: double */ - temperature?: number; - /** Format: double */ - top_p?: number; - /** Format: double */ - max_tokens?: number; - tools?: { - function: { - parameters: components["schemas"]["Record_string.unknown_"]; - description: string; - name: string; - }; - /** @enum {string} */ - type: "function"; - }[]; - tool_choice?: string | { - function?: { - name: string; - /** @enum {string} */ - type: "function"; - }; - type: string; - }; - [key: string]: unknown; +Json: JsonObject; + IntegrationCreateParams: { + integration_name: string; + settings?: components["schemas"]["Json"]; + active?: boolean; }; - Prompt2025Version: { + Integration: { + integration_name?: string; + settings?: components["schemas"]["Json"]; + active?: boolean; id: string; - model: string; - prompt_id: string; - /** Format: double */ - major_version: number; - /** Format: double */ - minor_version: number; - commit_message: string; - environments?: string[]; - created_at: string; - s3_url?: string; - /** - * @description The full prompt body including messages. Only included when explicitly requested - * via the `includePromptBody` parameter to avoid unnecessary data transfer. - */ - prompt_body?: components["schemas"]["Prompt2025VersionPromptBody"]; }; - ResultSuccess_Prompt2025Version_: { - data: components["schemas"]["Prompt2025Version"]; + ResultSuccess_Array_Integration__: { + data: components["schemas"]["Integration"][]; /** @enum {number|null} */ error: null; }; - "Result_Prompt2025Version.string_": components["schemas"]["ResultSuccess_Prompt2025Version_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_Prompt2025Version-Array_": { - data: components["schemas"]["Prompt2025Version"][]; + "Result_Array_Integration_.string_": components["schemas"]["ResultSuccess_Array_Integration__"] | components["schemas"]["ResultError_string_"]; + IntegrationUpdateParams: { + integration_name?: string; + settings?: components["schemas"]["Json"]; + active?: boolean; + }; + ResultSuccess_Integration_: { + data: components["schemas"]["Integration"]; /** @enum {number|null} */ error: null; }; - "Result_Prompt2025Version-Array.string_": components["schemas"]["ResultSuccess_Prompt2025Version-Array_"] | components["schemas"]["ResultError_string_"]; - PromptVersionCounts: { - /** Format: double */ - totalVersions: number; - /** Format: double */ - majorVersions: number; - }; - ResultSuccess_PromptVersionCounts_: { - data: components["schemas"]["PromptVersionCounts"]; + "Result_Integration.string_": components["schemas"]["ResultSuccess_Integration_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess_Array__id-string--name-string___": { + data: { + name: string; + id: string; + }[]; /** @enum {number|null} */ error: null; }; - "Result_PromptVersionCounts.string_": components["schemas"]["ResultSuccess_PromptVersionCounts_"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_Prompt2025Version_91_prompt_body_93__: { - data: components["schemas"]["Prompt2025VersionPromptBody"]; + "Result_Array__id-string--name-string__.string_": components["schemas"]["ResultSuccess_Array__id-string--name-string___"] | components["schemas"]["ResultError_string_"]; + ResultSuccess_string_: { + data: string; /** @enum {number|null} */ error: null; }; - "Result_Prompt2025Version_91_prompt_body_93_.string_": components["schemas"]["ResultSuccess_Prompt2025Version_91_prompt_body_93__"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__hasPrompts-boolean__": { - data: { - hasPrompts: boolean; - }; + "Result_string.string_": components["schemas"]["ResultSuccess_string_"] | components["schemas"]["ResultError_string_"]; + TestStripeMeterEventRequest: { + event_name: string; + customer_id: string; + }; + ResultSuccess_number_: { + /** Format: double */ + data: number; /** @enum {number|null} */ error: null; }; - "Result__hasPrompts-boolean_.string_": components["schemas"]["ResultSuccess__hasPrompts-boolean__"] | components["schemas"]["ResultError_string_"]; - PromptsResult: { - id: string; - user_defined_id: string; - description: string; - pretty_name: string; - created_at: string; - /** Format: double */ - major_version: number; - metadata?: components["schemas"]["Record_string.any_"]; - }; - "ResultSuccess_PromptsResult-Array_": { - data: components["schemas"]["PromptsResult"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_PromptsResult-Array.string_": components["schemas"]["ResultSuccess_PromptsResult-Array_"] | components["schemas"]["ResultError_string_"]; + "Result_number.string_": components["schemas"]["ResultSuccess_number_"] | components["schemas"]["ResultError_string_"]; /** @description Make all properties in T optional */ Partial_TextOperators_: { "not-equals"?: string; @@ -1339,141 +1052,6 @@ export interface components { "not-contains"?: string; }; /** @description Make all properties in T optional */ - Partial_PromptToOperators_: { - id?: components["schemas"]["Partial_TextOperators_"]; - user_defined_id?: components["schemas"]["Partial_TextOperators_"]; - }; - /** @description From T, pick a set of properties whose keys are in the union K */ - "Pick_FilterLeaf.prompt_v2_": { - prompt_v2?: components["schemas"]["Partial_PromptToOperators_"]; - }; - FilterLeafSubset_prompt_v2_: components["schemas"]["Pick_FilterLeaf.prompt_v2_"]; - PromptsFilterNode: components["schemas"]["FilterLeafSubset_prompt_v2_"] | components["schemas"]["PromptsFilterBranch"] | "all"; - PromptsFilterBranch: { - right: components["schemas"]["PromptsFilterNode"]; - /** @enum {string} */ - operator: "or" | "and"; - left: components["schemas"]["PromptsFilterNode"]; - }; - PromptsQueryParams: { - filter: components["schemas"]["PromptsFilterNode"]; - }; - PromptResult: { - id: string; - user_defined_id: string; - description: string; - pretty_name: string; - /** Format: double */ - major_version: number; - latest_version_id: string; - latest_model_used: string; - created_at: string; - last_used: string; - versions: string[]; - metadata?: components["schemas"]["Record_string.any_"]; - }; - ResultSuccess_PromptResult_: { - data: components["schemas"]["PromptResult"]; - /** @enum {number|null} */ - error: null; - }; - "Result_PromptResult.string_": components["schemas"]["ResultSuccess_PromptResult_"] | components["schemas"]["ResultError_string_"]; - PromptQueryParams: { - timeFilter: { - end: string; - start: string; - }; - }; - CreatePromptResponse: { - id: string; - prompt_version_id: string; - }; - ResultSuccess_CreatePromptResponse_: { - data: components["schemas"]["CreatePromptResponse"]; - /** @enum {number|null} */ - error: null; - }; - "Result_CreatePromptResponse.string_": components["schemas"]["ResultSuccess_CreatePromptResponse_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__metadata-Record_string.any___": { - data: { - metadata: components["schemas"]["Record_string.any_"]; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__metadata-Record_string.any__.string_": components["schemas"]["ResultSuccess__metadata-Record_string.any___"] | components["schemas"]["ResultError_string_"]; - PromptEditSubversionLabelParams: { - label: string; - }; - PromptEditSubversionTemplateParams: { - heliconeTemplate: unknown; - experimentId?: string; - }; - PromptVersionResult: { - id: string; - /** Format: double */ - minor_version: number; - /** Format: double */ - major_version: number; - prompt_v2: string; - model: string; - helicone_template: string; - created_at: string; - metadata: components["schemas"]["Record_string.any_"]; - parent_prompt_version?: string | null; - experiment_id?: string | null; - updated_at?: string; - }; - ResultSuccess_PromptVersionResult_: { - data: components["schemas"]["PromptVersionResult"]; - /** @enum {number|null} */ - error: null; - }; - "Result_PromptVersionResult.string_": components["schemas"]["ResultSuccess_PromptVersionResult_"] | components["schemas"]["ResultError_string_"]; - PromptCreateSubversionParams: { - newHeliconeTemplate: unknown; - isMajorVersion?: boolean; - metadata?: components["schemas"]["Record_string.any_"]; - experimentId?: string; - bumpForMajorPromptVersionId?: string; - }; - PromptInputRecord: { - id: string; - inputs: components["schemas"]["Record_string.string_"]; - dataset_row_id?: string; - source_request: string; - prompt_version: string; - created_at: string; - response_body?: string; - request_body?: string; - auto_prompt_inputs: unknown[]; - }; - "ResultSuccess_PromptInputRecord-Array_": { - data: components["schemas"]["PromptInputRecord"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_PromptInputRecord-Array.string_": components["schemas"]["ResultSuccess_PromptInputRecord-Array_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array_": { - data: { - meta: components["schemas"]["Record_string.any_"]; - dataset: string; - /** Format: double */ - num_hypotheses: number; - created_at: string; - id: string; - }[]; - /** @enum {number|null} */ - error: null; - }; - "Result__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array.string_": components["schemas"]["ResultSuccess__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_PromptVersionResult-Array_": { - data: components["schemas"]["PromptVersionResult"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_PromptVersionResult-Array.string_": components["schemas"]["ResultSuccess_PromptVersionResult-Array_"] | components["schemas"]["ResultError_string_"]; - /** @description Make all properties in T optional */ Partial_NumberOperators_: { /** Format: double */ "not-equals"?: number; @@ -1489,1638 +1067,1730 @@ export interface components { gt?: number; }; /** @description Make all properties in T optional */ - Partial_PromptVersionsToOperators_: { - minor_version?: components["schemas"]["Partial_NumberOperators_"]; - major_version?: components["schemas"]["Partial_NumberOperators_"]; - id?: components["schemas"]["Partial_TextOperators_"]; - prompt_v2?: components["schemas"]["Partial_TextOperators_"]; - }; - /** @description From T, pick a set of properties whose keys are in the union K */ - "Pick_FilterLeaf.prompts_versions_": { - prompts_versions?: components["schemas"]["Partial_PromptVersionsToOperators_"]; - }; - FilterLeafSubset_prompts_versions_: components["schemas"]["Pick_FilterLeaf.prompts_versions_"]; - PromptVersionsFilterNode: components["schemas"]["FilterLeafSubset_prompts_versions_"] | components["schemas"]["PromptVersionsFilterBranch"] | "all"; - PromptVersionsFilterBranch: { - right: components["schemas"]["PromptVersionsFilterNode"]; - /** @enum {string} */ - operator: "or" | "and"; - left: components["schemas"]["PromptVersionsFilterNode"]; - }; - PromptVersionsQueryParams: { - filter?: components["schemas"]["PromptVersionsFilterNode"]; - includeExperimentVersions?: boolean; - }; - PromptVersionResultCompiled: { - id: string; - /** Format: double */ - minor_version: number; - /** Format: double */ - major_version: number; - prompt_v2: string; - model: string; - prompt_compiled: unknown; - }; - ResultSuccess_PromptVersionResultCompiled_: { - data: components["schemas"]["PromptVersionResultCompiled"]; - /** @enum {number|null} */ - error: null; + Partial_TimestampOperators_: { + equals?: string; + gte?: string; + lte?: string; + lt?: string; + gt?: string; }; - "Result_PromptVersionResultCompiled.string_": components["schemas"]["ResultSuccess_PromptVersionResultCompiled_"] | components["schemas"]["ResultError_string_"]; - PromptVersiosQueryParamsCompiled: { - filter?: components["schemas"]["PromptVersionsFilterNode"]; - includeExperimentVersions?: boolean; - inputs: components["schemas"]["Record_string.string_"]; + /** @description Make all properties in T optional */ + Partial_BooleanOperators_: { + equals?: boolean; }; - PromptVersionResultFilled: { - id: string; - /** Format: double */ - minor_version: number; - /** Format: double */ - major_version: number; - prompt_v2: string; - model: string; - filled_helicone_template: unknown; + /** @description Make all properties in T optional */ + Partial_FeedbackTableToOperators_: { + id?: components["schemas"]["Partial_NumberOperators_"]; + created_at?: components["schemas"]["Partial_TimestampOperators_"]; + rating?: components["schemas"]["Partial_BooleanOperators_"]; + response_id?: components["schemas"]["Partial_TextOperators_"]; }; - ResultSuccess_PromptVersionResultFilled_: { - data: components["schemas"]["PromptVersionResultFilled"]; - /** @enum {number|null} */ - error: null; + /** @description Make all properties in T optional */ + Partial_RequestTableToOperators_: { + prompt?: components["schemas"]["Partial_TextOperators_"]; + created_at?: components["schemas"]["Partial_TimestampOperators_"]; + user_id?: components["schemas"]["Partial_TextOperators_"]; + auth_hash?: components["schemas"]["Partial_TextOperators_"]; + org_id?: components["schemas"]["Partial_TextOperators_"]; + id?: components["schemas"]["Partial_TextOperators_"]; + node_id?: components["schemas"]["Partial_TextOperators_"]; + model?: components["schemas"]["Partial_TextOperators_"]; + modelOverride?: components["schemas"]["Partial_TextOperators_"]; + path?: components["schemas"]["Partial_TextOperators_"]; + country_code?: components["schemas"]["Partial_TextOperators_"]; + prompt_id?: components["schemas"]["Partial_TextOperators_"]; }; - "Result_PromptVersionResultFilled.string_": components["schemas"]["ResultSuccess_PromptVersionResultFilled_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__experimentId-string__": { - data: { - experimentId: string; - }; - /** @enum {number|null} */ - error: null; + /** @description Make all properties in T optional */ + Partial_ResponseTableToOperators_: { + body_tokens?: components["schemas"]["Partial_NumberOperators_"]; + body_model?: components["schemas"]["Partial_TextOperators_"]; + body_completion?: components["schemas"]["Partial_TextOperators_"]; + status?: components["schemas"]["Partial_NumberOperators_"]; + model?: components["schemas"]["Partial_TextOperators_"]; }; - "Result__experimentId-string_.string_": components["schemas"]["ResultSuccess__experimentId-string__"] | components["schemas"]["ResultError_string_"]; - ExperimentV2: { - id: string; - name: string; - original_prompt_version: string; - copied_original_prompt_version: string | null; - input_keys: string[] | null; - created_at: string; + /** @description Make all properties in T optional */ + Partial_TimestampOperatorsTyped_: { + /** Format: date-time */ + equals?: string; + /** Format: date-time */ + gte?: string; + /** Format: date-time */ + lte?: string; + /** Format: date-time */ + lt?: string; + /** Format: date-time */ + gt?: string; }; - "ResultSuccess_ExperimentV2-Array_": { - data: components["schemas"]["ExperimentV2"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_ExperimentV2-Array.string_": components["schemas"]["ResultSuccess_ExperimentV2-Array_"] | components["schemas"]["ResultError_string_"]; - ExperimentV2Output: { - id: string; - request_id: string; - is_original: boolean; - prompt_version_id: string; - created_at: string; - input_record_id: string; + /** @description Make all properties in T optional */ + Partial_RequestResponseRMTToOperators_: { + country_code?: components["schemas"]["Partial_TextOperators_"]; + latency?: components["schemas"]["Partial_NumberOperators_"]; + cost?: components["schemas"]["Partial_NumberOperators_"]; + provider?: components["schemas"]["Partial_TextOperators_"]; + time_to_first_token?: components["schemas"]["Partial_NumberOperators_"]; + status?: components["schemas"]["Partial_NumberOperators_"]; + request_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; + response_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; + model?: components["schemas"]["Partial_TextOperators_"]; + user_id?: components["schemas"]["Partial_TextOperators_"]; + organization_id?: components["schemas"]["Partial_TextOperators_"]; + node_id?: components["schemas"]["Partial_TextOperators_"]; + job_id?: components["schemas"]["Partial_TextOperators_"]; + threat?: components["schemas"]["Partial_BooleanOperators_"]; + request_id?: components["schemas"]["Partial_TextOperators_"]; + prompt_tokens?: components["schemas"]["Partial_NumberOperators_"]; + completion_tokens?: components["schemas"]["Partial_NumberOperators_"]; + prompt_cache_read_tokens?: components["schemas"]["Partial_NumberOperators_"]; + prompt_cache_write_tokens?: components["schemas"]["Partial_NumberOperators_"]; + total_tokens?: components["schemas"]["Partial_NumberOperators_"]; + target_url?: components["schemas"]["Partial_TextOperators_"]; + property_key?: { + equals: string; + }; + properties?: { + [key: string]: components["schemas"]["Partial_TextOperators_"]; + }; + search_properties?: { + [key: string]: components["schemas"]["Partial_TextOperators_"]; + }; + scores?: { + [key: string]: components["schemas"]["Partial_TextOperators_"]; + }; + scores_column?: components["schemas"]["Partial_TextOperators_"]; + request_body?: components["schemas"]["Partial_TextOperators_"]; + response_body?: components["schemas"]["Partial_TextOperators_"]; + cache_enabled?: components["schemas"]["Partial_BooleanOperators_"]; + cache_reference_id?: components["schemas"]["Partial_TextOperators_"]; + cached?: components["schemas"]["Partial_BooleanOperators_"]; + assets?: components["schemas"]["Partial_TextOperators_"]; + "helicone-score-feedback"?: components["schemas"]["Partial_BooleanOperators_"]; + prompt_id?: components["schemas"]["Partial_TextOperators_"]; + prompt_version?: components["schemas"]["Partial_TextOperators_"]; + request_referrer?: components["schemas"]["Partial_TextOperators_"]; + is_passthrough_billing?: components["schemas"]["Partial_BooleanOperators_"]; }; - ExperimentV2Row: { - id: string; - inputs: components["schemas"]["Record_string.string_"]; - prompt_version: string; - requests: components["schemas"]["ExperimentV2Output"][]; - auto_prompt_inputs: unknown[]; + /** @description Make all properties in T optional */ + Partial_SessionsRequestResponseRMTToOperators_: { + session_session_id?: components["schemas"]["Partial_TextOperators_"]; + session_session_name?: components["schemas"]["Partial_TextOperators_"]; + session_total_cost?: components["schemas"]["Partial_NumberOperators_"]; + session_total_tokens?: components["schemas"]["Partial_NumberOperators_"]; + session_prompt_tokens?: components["schemas"]["Partial_NumberOperators_"]; + session_completion_tokens?: components["schemas"]["Partial_NumberOperators_"]; + session_total_requests?: components["schemas"]["Partial_NumberOperators_"]; + session_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; + session_latest_request_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; + session_tag?: components["schemas"]["Partial_TextOperators_"]; }; - ExtendedExperimentData: { - id: string; - name: string; - original_prompt_version: string; - copied_original_prompt_version: string | null; - input_keys: string[] | null; - created_at: string; - rows: components["schemas"]["ExperimentV2Row"][]; + /** @description From T, pick a set of properties whose keys are in the union K */ + "Pick_FilterLeaf.feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_": { + values?: { + [key: string]: components["schemas"]["Partial_TextOperators_"]; + }; + feedback?: components["schemas"]["Partial_FeedbackTableToOperators_"]; + request?: components["schemas"]["Partial_RequestTableToOperators_"]; + response?: components["schemas"]["Partial_ResponseTableToOperators_"]; + properties?: { + [key: string]: components["schemas"]["Partial_TextOperators_"]; + }; + request_response_rmt?: components["schemas"]["Partial_RequestResponseRMTToOperators_"]; + sessions_request_response_rmt?: components["schemas"]["Partial_SessionsRequestResponseRMTToOperators_"]; }; - ResultSuccess_ExtendedExperimentData_: { - data: components["schemas"]["ExtendedExperimentData"]; - /** @enum {number|null} */ - error: null; + "FilterLeafSubset_feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_": components["schemas"]["Pick_FilterLeaf.feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_"]; + RequestFilterNode: components["schemas"]["FilterLeafSubset_feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_"] | components["schemas"]["RequestFilterBranch"] | "all"; + RequestFilterBranch: { + right: components["schemas"]["RequestFilterNode"]; + /** @enum {string} */ + operator: "or" | "and"; + left: components["schemas"]["RequestFilterNode"]; }; - "Result_ExtendedExperimentData.string_": components["schemas"]["ResultSuccess_ExtendedExperimentData_"] | components["schemas"]["ResultError_string_"]; - CreateNewPromptVersionForExperimentParams: { - newHeliconeTemplate: unknown; - isMajorVersion?: boolean; - metadata?: components["schemas"]["Record_string.any_"]; - experimentId?: string; - bumpForMajorPromptVersionId?: string; - parentPromptVersionId: string; + /** @enum {string} */ + SortDirection: "asc" | "desc"; + SortLeafRequest: { + /** @enum {boolean} */ + random?: true; + created_at?: components["schemas"]["SortDirection"]; + cache_created_at?: components["schemas"]["SortDirection"]; + latency?: components["schemas"]["SortDirection"]; + last_active?: components["schemas"]["SortDirection"]; + total_tokens?: components["schemas"]["SortDirection"]; + completion_tokens?: components["schemas"]["SortDirection"]; + prompt_tokens?: components["schemas"]["SortDirection"]; + user_id?: components["schemas"]["SortDirection"]; + body_model?: components["schemas"]["SortDirection"]; + is_cached?: components["schemas"]["SortDirection"]; + request_prompt?: components["schemas"]["SortDirection"]; + response_text?: components["schemas"]["SortDirection"]; + properties?: { + [key: string]: components["schemas"]["SortDirection"]; + }; + values?: { + [key: string]: components["schemas"]["SortDirection"]; + }; + cost?: components["schemas"]["SortDirection"]; + time_to_first_token?: components["schemas"]["SortDirection"]; }; -Json: JsonObject; - ExperimentV2PromptVersion: { - created_at: string | null; - experiment_id: string | null; - helicone_template: components["schemas"]["Json"] | null; - id: string; + RequestQueryParams: { + filter: components["schemas"]["RequestFilterNode"]; /** Format: double */ - major_version: number; - metadata: components["schemas"]["Json"] | null; + offset?: number; /** Format: double */ - minor_version: number; - model: string | null; - organization: string; - prompt_v2: string; - soft_delete: boolean | null; - }; - "ResultSuccess_ExperimentV2PromptVersion-Array_": { - data: components["schemas"]["ExperimentV2PromptVersion"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_ExperimentV2PromptVersion-Array.string_": components["schemas"]["ResultSuccess_ExperimentV2PromptVersion-Array_"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_string_: { - data: string; - /** @enum {number|null} */ - error: null; + limit?: number; + sort?: components["schemas"]["SortLeafRequest"]; + isCached?: boolean; + includeInputs?: boolean; + isPartOfExperiment?: boolean; + isScored?: boolean; }; - "Result_string.string_": components["schemas"]["ResultSuccess_string_"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_boolean_: { - data: boolean; - /** @enum {number|null} */ - error: null; + /** @enum {string} */ + ProviderName: "OPENAI" | "ANTHROPIC" | "AZURE" | "LOCAL" | "HELICONE" | "AMDBARTEK" | "ANYSCALE" | "CLOUDFLARE" | "2YFV" | "TOGETHER" | "LEMONFOX" | "FIREWORKS" | "PERPLEXITY" | "GOOGLE" | "OPENROUTER" | "WISDOMINANUTSHELL" | "GROQ" | "COHERE" | "MISTRAL" | "DEEPINFRA" | "QSTASH" | "FIRECRAWL" | "AWS" | "BEDROCK" | "DEEPSEEK" | "X" | "AVIAN" | "NEBIUS" | "NOVITA" | "OPENPIPE" | "CHUTES" | "LLAMA" | "NVIDIA" | "VERCEL" | "CEREBRAS" | "BASETEN" | "CANOPYWAVE"; + /** @enum {string} */ + ModelProviderName: "baseten" | "anthropic" | "azure" | "bedrock" | "canopywave" | "cerebras" | "chutes" | "deepinfra" | "deepseek" | "fireworks" | "google-ai-studio" | "groq" | "helicone" | "mistral" | "nebius" | "novita" | "openai" | "openrouter" | "perplexity" | "vertex" | "xai"; + Provider: components["schemas"]["ProviderName"] | components["schemas"]["ModelProviderName"] | "CUSTOM"; + /** @enum {string} */ + LlmType: "chat" | "completion"; + FunctionCall: { + id?: string; + name: string; + arguments: components["schemas"]["Record_string.any_"]; }; - "Result_boolean.string_": components["schemas"]["ResultSuccess_boolean_"] | components["schemas"]["ResultError_string_"]; - ScoreV2: { - valueType: string; - value: number | string; - /** Format: double */ - max: number; + Message: { + ending_event_id?: string; + trigger_event_id?: string; + start_timestamp?: string; + annotations?: { + content?: string; + title: string; + url: string; + /** @enum {string} */ + type: "url_citation"; + }[]; + reasoning?: string; + deleted?: boolean; + contentArray?: components["schemas"]["Message"][]; /** Format: double */ - min: number; - }; - /** @description Construct a type with a set of properties K of type T */ - "Record_string.ScoreV2_": { - [key: string]: components["schemas"]["ScoreV2"]; - }; - "ResultSuccess_Record_string.ScoreV2__": { - data: components["schemas"]["Record_string.ScoreV2_"]; - /** @enum {number|null} */ - error: null; + idx?: number; + detail?: string; + filename?: string; + file_id?: string; + file_data?: string; + /** @enum {string} */ + type?: "input_image" | "input_text" | "input_file"; + audio_data?: string; + image_url?: string; + timestamp?: string; + tool_call_id?: string; + tool_calls?: components["schemas"]["FunctionCall"][]; + mime_type?: string; + content?: string; + name?: string; + instruction?: string; + role?: string | ("user" | "assistant" | "system" | "developer"); + id?: string; + /** @enum {string} */ + _type: "functionCall" | "function" | "image" | "file" | "message" | "autoInput" | "contentArray" | "audio"; }; - "Result_Record_string.ScoreV2_.string_": components["schemas"]["ResultSuccess_Record_string.ScoreV2__"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_ScoreV2-or-null_": { - data: components["schemas"]["ScoreV2"] | null; - /** @enum {number|null} */ - error: null; + Tool: { + name: string; + description?: string; + parameters?: components["schemas"]["Record_string.any_"]; + strict?: boolean; }; - "Result_ScoreV2-or-null.string_": components["schemas"]["ResultSuccess_ScoreV2-or-null_"] | components["schemas"]["ResultError_string_"]; - CreateCloudGatewayCheckoutSessionRequest: { - /** Format: double */ - amount: number; - returnUrl?: string; + HeliconeEventTool: { + /** @enum {string} */ + _type: "tool"; + toolName: string; + input: unknown; + [key: string]: unknown; }; - UpgradeToProRequest: { - addons?: { - evals?: boolean; - experiments?: boolean; - prompts?: boolean; - alerts?: boolean; - }; - /** Format: double */ - seats?: number; + HeliconeEventVectorDB: { + /** @enum {string} */ + _type: "vector_db"; /** @enum {string} */ - ui_mode?: "embedded" | "hosted"; + operation: "search" | "insert" | "delete" | "update"; + text?: string; + vector?: number[]; + /** Format: double */ + topK?: number; + filter?: Record; + databaseName?: string; + [key: string]: unknown; }; - UpgradeToTeamBundleRequest: { + HeliconeEventData: { /** @enum {string} */ - ui_mode?: "embedded" | "hosted"; + _type: "data"; + name: string; + meta?: components["schemas"]["Record_string.any_"]; + [key: string]: unknown; }; - LLMUsage: { - model: string; - provider: string; + LLMRequestBody: { + llm_type?: components["schemas"]["LlmType"]; + provider?: string; + model?: string; + messages?: components["schemas"]["Message"][] | null; + prompt?: string | null; + instructions?: string | null; /** Format: double */ - prompt_tokens: number; + max_tokens?: number | null; /** Format: double */ - completion_tokens: number; + temperature?: number | null; /** Format: double */ - total_count: number; + top_p?: number | null; /** Format: double */ - amount: number; - description: string; - totalCost: { + seed?: number | null; + stream?: boolean | null; + /** Format: double */ + presence_penalty?: number | null; + /** Format: double */ + frequency_penalty?: number | null; + stop?: (string[] | string) | null; + /** @enum {string|null} */ + reasoning_effort?: "minimal" | "low" | "medium" | "high" | null; + /** @enum {string|null} */ + verbosity?: "low" | "medium" | "high" | null; + tools?: components["schemas"]["Tool"][]; + parallel_tool_calls?: boolean | null; + tool_choice?: { + name?: string; + /** @enum {string} */ + type: "none" | "auto" | "any" | "tool"; + }; + response_format?: { + json_schema?: unknown; + type: string; + }; + toolDetails?: components["schemas"]["HeliconeEventTool"]; + vectorDBDetails?: components["schemas"]["HeliconeEventVectorDB"]; + dataDetails?: components["schemas"]["HeliconeEventData"]; + input?: string | string[]; + /** Format: double */ + n?: number | null; + size?: string; + quality?: string; + }; + Response: { + contentArray?: components["schemas"]["Response"][]; + detail?: string; + filename?: string; + file_id?: string; + file_data?: string; + /** Format: double */ + idx?: number; + audio_data?: string; + image_url?: string; + timestamp?: string; + tool_call_id?: string; + tool_calls?: components["schemas"]["FunctionCall"][]; + text?: string; + /** @enum {string} */ + type: "input_image" | "input_text" | "input_file"; + name?: string; + /** @enum {string} */ + role: "user" | "assistant" | "system" | "developer"; + id?: string; + /** @enum {string} */ + _type: "functionCall" | "function" | "image" | "text" | "file" | "contentArray"; + }; + LLMResponseBody: { + dataDetailsResponse?: { + name: string; + /** @enum {string} */ + _type: "data"; + metadata: { + timestamp: string; + [key: string]: unknown; + }; + message: string; + status: string; + [key: string]: unknown; + }; + vectorDBDetailsResponse?: { + /** @enum {string} */ + _type: "vector_db"; + metadata: { + timestamp: string; + destination_parsed?: boolean; + destination?: string; + }; /** Format: double */ - prompt_token: number; + actualSimilarity?: number; /** Format: double */ - completion_token: number; + similarityThreshold?: number; + message: string; + status: string; + }; + toolDetailsResponse?: { + toolName: string; + /** @enum {string} */ + _type: "tool"; + metadata: { + timestamp: string; + }; + tips: string[]; + message: string; + status: string; + }; + error?: { + heliconeMessage: unknown; }; + model?: string | null; + instructions?: string | null; + responses?: components["schemas"]["Response"][] | null; + messages?: components["schemas"]["Message"][] | null; }; - PaymentIntentRecord: { - id: string; + LlmSchema: { + request: components["schemas"]["LLMRequestBody"]; + response?: components["schemas"]["LLMResponseBody"] | null; + }; + /** @description Construct a type with a set of properties K of type T */ + "Record_string.number_": { + [key: string]: number; + }; + HeliconeRequest: { + response_id: string | null; + response_created_at: string | null; + response_body?: unknown; /** Format: double */ - amount: number; + response_status: number; + response_model: string | null; + request_id: string; + request_created_at: string; + request_body: unknown; + request_path: string; + request_user_id: string | null; + request_properties: components["schemas"]["Record_string.string_"] | null; + request_model: string | null; + model_override: string | null; + helicone_user: string | null; + provider: components["schemas"]["Provider"]; /** Format: double */ - created: number; - status: string; - isRefunded?: boolean; + delay_ms: number | null; /** Format: double */ - refundedAmount?: number; - refundIds?: string[]; - }; - StripePaymentIntentsResponse: { - data: components["schemas"]["PaymentIntentRecord"][]; - has_more: boolean; - next_page: string | null; + time_to_first_token: number | null; /** Format: double */ - count: number; - }; - AutoTopoffSettings: { - enabled: boolean; + total_tokens: number | null; /** Format: double */ - thresholdCents: number; + prompt_tokens: number | null; /** Format: double */ - topoffAmountCents: number; - stripePaymentMethodId: string | null; - lastTopoffAt: string | null; + prompt_cache_write_tokens: number | null; /** Format: double */ - consecutiveFailures: number; - }; - UpdateAutoTopoffSettingsRequest: { - enabled: boolean; + prompt_cache_read_tokens: number | null; /** Format: double */ - thresholdCents: number; + completion_tokens: number | null; /** Format: double */ - topoffAmountCents: number; - stripePaymentMethodId: string; - }; - PaymentMethod: { - id: string; - brand: string; - last4: string; + reasoning_tokens: number | null; /** Format: double */ - exp_month: number; + prompt_audio_tokens: number | null; /** Format: double */ - exp_year: number; - }; - CreateSetupSessionRequest: { - returnUrl?: string; - }; - DailyUsageDataPoint: { - date: string; + completion_audio_tokens: number | null; /** Format: double */ - requests: number; + cost: number | null; + prompt_id: string | null; + prompt_version: string | null; + feedback_created_at?: string | null; + feedback_id?: string | null; + feedback_rating?: boolean | null; + signed_body_url?: string | null; + llmSchema: components["schemas"]["LlmSchema"] | null; + country_code: string | null; + asset_ids: string[] | null; + asset_urls: components["schemas"]["Record_string.string_"] | null; + scores: components["schemas"]["Record_string.number_"] | null; /** Format: double */ - bytes: number; - }; - UsageStatsResponse: { - billingPeriod: { - /** Format: double */ - daysTotal: number; - /** Format: double */ - daysElapsed: number; - end: string; - start: string; - }; - usage: { - /** Format: double */ - totalGB: number; - /** Format: double */ - totalBytes: number; - /** Format: double */ - totalRequests: number; - }; - dailyData: components["schemas"]["DailyUsageDataPoint"][]; - estimatedCost: { - /** Format: double */ - projectedMonthlyTotalCost: number; - /** Format: double */ - projectedMonthlyGBCost: number; - /** Format: double */ - projectedMonthlyRequestsCost: number; - /** Format: double */ - totalCost: number; - /** Format: double */ - gbCost: number; - /** Format: double */ - requestsCost: number; - }; - }; - IntegrationCreateParams: { - integration_name: string; - settings?: components["schemas"]["Json"]; - active?: boolean; + costUSD?: number | null; + properties: components["schemas"]["Record_string.string_"]; + assets: string[]; + target_url: string; + model: string; + cache_reference_id: string | null; + cache_enabled: boolean; + updated_at?: string; + request_referrer?: string | null; + ai_gateway_body_mapping: string | null; + storage_location?: string; }; - Integration: { - integration_name?: string; - settings?: components["schemas"]["Json"]; - active?: boolean; - id: string; + "ResultSuccess_HeliconeRequest-Array_": { + data: components["schemas"]["HeliconeRequest"][]; + /** @enum {number|null} */ + error: null; }; - ResultSuccess_Array_Integration__: { - data: components["schemas"]["Integration"][]; + "Result_HeliconeRequest-Array.string_": components["schemas"]["ResultSuccess_HeliconeRequest-Array_"] | components["schemas"]["ResultError_string_"]; + ResultSuccess_HeliconeRequest_: { + data: components["schemas"]["HeliconeRequest"]; /** @enum {number|null} */ error: null; }; - "Result_Array_Integration_.string_": components["schemas"]["ResultSuccess_Array_Integration__"] | components["schemas"]["ResultError_string_"]; - IntegrationUpdateParams: { - integration_name?: string; - settings?: components["schemas"]["Json"]; - active?: boolean; + "Result_HeliconeRequest.string_": components["schemas"]["ResultSuccess_HeliconeRequest_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null_": { + data: ({ + environment: string | null; + version_id: string; + prompt_id: string; + inputs: components["schemas"]["Record_string.any_"]; + }) | null; + /** @enum {number|null} */ + error: null; }; - ResultSuccess_Integration_: { - data: components["schemas"]["Integration"]; + "Result__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null.string_": components["schemas"]["ResultSuccess__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null_"] | components["schemas"]["ResultError_string_"]; + HeliconeRequestAsset: { + assetUrl: string; + }; + ResultSuccess_HeliconeRequestAsset_: { + data: components["schemas"]["HeliconeRequestAsset"]; /** @enum {number|null} */ error: null; }; - "Result_Integration.string_": components["schemas"]["ResultSuccess_Integration_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_Array__id-string--name-string___": { - data: { - name: string; - id: string; + "Result_HeliconeRequestAsset.string_": components["schemas"]["ResultSuccess_HeliconeRequestAsset_"] | components["schemas"]["ResultError_string_"]; + /** @description Construct a type with a set of properties K of type T */ + "Record_string.number-or-boolean-or-undefined_": { + [key: string]: number | boolean; + }; + Scores: components["schemas"]["Record_string.number-or-boolean-or-undefined_"]; + ScoreRequest: { + scores: components["schemas"]["Scores"]; + }; + ConversationMessage: { + role: string; + content: string; + }; + MostExpensiveRequest: { + requestId: string; + /** Format: double */ + cost: number; + model: string; + provider: string; + createdAt: string; + /** Format: double */ + promptTokens: number; + /** Format: double */ + completionTokens: number; + conversation: { + /** Format: double */ + totalWords: number; + /** Format: double */ + turnCount: number; + messages: components["schemas"]["ConversationMessage"][]; + } | null; + }; + WrappedStats: { + /** Format: double */ + totalRequests: number; + topProviders: { + /** Format: double */ + count: number; + provider: string; + }[]; + topModels: { + /** Format: double */ + count: number; + model: string; }[]; + totalTokens: { + /** Format: double */ + total: number; + /** Format: double */ + cacheRead: number; + /** Format: double */ + cacheWrite: number; + /** Format: double */ + completion: number; + /** Format: double */ + prompt: number; + }; + mostExpensiveRequest: components["schemas"]["MostExpensiveRequest"] | null; + }; + ResultSuccess_WrappedStats_: { + data: components["schemas"]["WrappedStats"]; /** @enum {number|null} */ error: null; }; - "Result_Array__id-string--name-string__.string_": components["schemas"]["ResultSuccess_Array__id-string--name-string___"] | components["schemas"]["ResultError_string_"]; - TestStripeMeterEventRequest: { - event_name: string; - customer_id: string; + "Result_WrappedStats.string_": components["schemas"]["ResultSuccess_WrappedStats_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__hasData-boolean__": { + data: { + hasData: boolean; + }; + /** @enum {number|null} */ + error: null; }; - /** @description Make all properties in T optional */ - Partial_ResponseTableToOperators_: { - body_tokens?: components["schemas"]["Partial_NumberOperators_"]; - body_model?: components["schemas"]["Partial_TextOperators_"]; - body_completion?: components["schemas"]["Partial_TextOperators_"]; - status?: components["schemas"]["Partial_NumberOperators_"]; - model?: components["schemas"]["Partial_TextOperators_"]; + "Result__hasData-boolean_.string_": components["schemas"]["ResultSuccess__hasData-boolean__"] | components["schemas"]["ResultError_string_"]; + ResultSuccess_unknown_: { + data: unknown; + /** @enum {number|null} */ + error: null; }; - /** @description Make all properties in T optional */ - Partial_TimestampOperators_: { - equals?: string; - gte?: string; - lte?: string; - lt?: string; - gt?: string; + ResultError_unknown_: { + /** @enum {number|null} */ + data: null; + error: unknown; }; - /** @description Make all properties in T optional */ - Partial_RequestTableToOperators_: { - prompt?: components["schemas"]["Partial_TextOperators_"]; - created_at?: components["schemas"]["Partial_TimestampOperators_"]; - user_id?: components["schemas"]["Partial_TextOperators_"]; - auth_hash?: components["schemas"]["Partial_TextOperators_"]; - org_id?: components["schemas"]["Partial_TextOperators_"]; - id?: components["schemas"]["Partial_TextOperators_"]; - node_id?: components["schemas"]["Partial_TextOperators_"]; - model?: components["schemas"]["Partial_TextOperators_"]; - modelOverride?: components["schemas"]["Partial_TextOperators_"]; - path?: components["schemas"]["Partial_TextOperators_"]; - country_code?: components["schemas"]["Partial_TextOperators_"]; - prompt_id?: components["schemas"]["Partial_TextOperators_"]; + WebhookData: { + destination: string; + config: components["schemas"]["Record_string.any_"]; + includeData?: boolean; }; - /** @description Make all properties in T optional */ - Partial_BooleanOperators_: { - equals?: boolean; + "ResultSuccess__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array_": { + data: { + hmac_key: string; + config: string; + version: string; + destination: string; + created_at: string; + id: string; + }[]; + /** @enum {number|null} */ + error: null; }; - /** @description Make all properties in T optional */ - Partial_FeedbackTableToOperators_: { - id?: components["schemas"]["Partial_NumberOperators_"]; - created_at?: components["schemas"]["Partial_TimestampOperators_"]; - rating?: components["schemas"]["Partial_BooleanOperators_"]; - response_id?: components["schemas"]["Partial_TextOperators_"]; + "Result__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array.string_": components["schemas"]["ResultSuccess__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__success-boolean--message-string__": { + data: { + message: string; + success: boolean; + }; + /** @enum {number|null} */ + error: null; }; - /** @description Make all properties in T optional */ - Partial_TimestampOperatorsTyped_: { - /** Format: date-time */ - equals?: string; - /** Format: date-time */ - gte?: string; - /** Format: date-time */ - lte?: string; - /** Format: date-time */ - lt?: string; - /** Format: date-time */ - gt?: string; + "Result__success-boolean--message-string_.string_": components["schemas"]["ResultSuccess__success-boolean--message-string__"] | components["schemas"]["ResultError_string_"]; + AddVaultKeyParams: { + key: string; + provider: string; + name?: string; }; - /** @description Make all properties in T optional */ - Partial_RequestResponseRMTToOperators_: { - country_code?: components["schemas"]["Partial_TextOperators_"]; - latency?: components["schemas"]["Partial_NumberOperators_"]; - cost?: components["schemas"]["Partial_NumberOperators_"]; - provider?: components["schemas"]["Partial_TextOperators_"]; - time_to_first_token?: components["schemas"]["Partial_NumberOperators_"]; - status?: components["schemas"]["Partial_NumberOperators_"]; - request_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - response_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - model?: components["schemas"]["Partial_TextOperators_"]; - user_id?: components["schemas"]["Partial_TextOperators_"]; - organization_id?: components["schemas"]["Partial_TextOperators_"]; - node_id?: components["schemas"]["Partial_TextOperators_"]; - job_id?: components["schemas"]["Partial_TextOperators_"]; - threat?: components["schemas"]["Partial_BooleanOperators_"]; - request_id?: components["schemas"]["Partial_TextOperators_"]; - prompt_tokens?: components["schemas"]["Partial_NumberOperators_"]; - completion_tokens?: components["schemas"]["Partial_NumberOperators_"]; - prompt_cache_read_tokens?: components["schemas"]["Partial_NumberOperators_"]; - prompt_cache_write_tokens?: components["schemas"]["Partial_NumberOperators_"]; - total_tokens?: components["schemas"]["Partial_NumberOperators_"]; - target_url?: components["schemas"]["Partial_TextOperators_"]; - property_key?: { - equals: string; - }; - properties?: { - [key: string]: components["schemas"]["Partial_TextOperators_"]; - }; - search_properties?: { - [key: string]: components["schemas"]["Partial_TextOperators_"]; - }; - scores?: { - [key: string]: components["schemas"]["Partial_TextOperators_"]; + "ResultSuccess_DecryptedProviderKey-Array_": { + data: components["schemas"]["DecryptedProviderKey"][]; + /** @enum {number|null} */ + error: null; + }; + "Result_DecryptedProviderKey-Array.string_": components["schemas"]["ResultSuccess_DecryptedProviderKey-Array_"] | components["schemas"]["ResultError_string_"]; + ResultSuccess_DecryptedProviderKey_: { + data: components["schemas"]["DecryptedProviderKey"]; + /** @enum {number|null} */ + error: null; + }; + "Result_DecryptedProviderKey.string_": components["schemas"]["ResultSuccess_DecryptedProviderKey_"] | components["schemas"]["ResultError_string_"]; + HistogramRow: { + range_start: string; + range_end: string; + /** Format: double */ + value: number; + }; + "ResultSuccess__request_count-HistogramRow-Array--user_cost-HistogramRow-Array__": { + data: { + user_cost: components["schemas"]["HistogramRow"][]; + request_count: components["schemas"]["HistogramRow"][]; }; - scores_column?: components["schemas"]["Partial_TextOperators_"]; - request_body?: components["schemas"]["Partial_TextOperators_"]; - response_body?: components["schemas"]["Partial_TextOperators_"]; - cache_enabled?: components["schemas"]["Partial_BooleanOperators_"]; - cache_reference_id?: components["schemas"]["Partial_TextOperators_"]; - cached?: components["schemas"]["Partial_BooleanOperators_"]; - assets?: components["schemas"]["Partial_TextOperators_"]; - "helicone-score-feedback"?: components["schemas"]["Partial_BooleanOperators_"]; - prompt_id?: components["schemas"]["Partial_TextOperators_"]; - prompt_version?: components["schemas"]["Partial_TextOperators_"]; - request_referrer?: components["schemas"]["Partial_TextOperators_"]; - is_passthrough_billing?: components["schemas"]["Partial_BooleanOperators_"]; + /** @enum {number|null} */ + error: null; }; + "Result__request_count-HistogramRow-Array--user_cost-HistogramRow-Array_.string_": components["schemas"]["ResultSuccess__request_count-HistogramRow-Array--user_cost-HistogramRow-Array__"] | components["schemas"]["ResultError_string_"]; /** @description Make all properties in T optional */ - Partial_SessionsRequestResponseRMTToOperators_: { - session_session_id?: components["schemas"]["Partial_TextOperators_"]; - session_session_name?: components["schemas"]["Partial_TextOperators_"]; - session_total_cost?: components["schemas"]["Partial_NumberOperators_"]; - session_total_tokens?: components["schemas"]["Partial_NumberOperators_"]; - session_prompt_tokens?: components["schemas"]["Partial_NumberOperators_"]; - session_completion_tokens?: components["schemas"]["Partial_NumberOperators_"]; - session_total_requests?: components["schemas"]["Partial_NumberOperators_"]; - session_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - session_latest_request_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - session_tag?: components["schemas"]["Partial_TextOperators_"]; + Partial_UserViewToOperators_: { + user_user_id?: components["schemas"]["Partial_TextOperators_"]; + user_active_for?: components["schemas"]["Partial_NumberOperators_"]; + user_first_active?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; + user_last_active?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; + user_total_requests?: components["schemas"]["Partial_NumberOperators_"]; + user_average_requests_per_day_active?: components["schemas"]["Partial_NumberOperators_"]; + user_average_tokens_per_request?: components["schemas"]["Partial_NumberOperators_"]; + user_total_completion_tokens?: components["schemas"]["Partial_NumberOperators_"]; + user_total_prompt_tokens?: components["schemas"]["Partial_NumberOperators_"]; + user_cost?: components["schemas"]["Partial_NumberOperators_"]; }; /** @description From T, pick a set of properties whose keys are in the union K */ - "Pick_FilterLeaf.feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_": { - values?: { - [key: string]: components["schemas"]["Partial_TextOperators_"]; - }; - response?: components["schemas"]["Partial_ResponseTableToOperators_"]; - request?: components["schemas"]["Partial_RequestTableToOperators_"]; - feedback?: components["schemas"]["Partial_FeedbackTableToOperators_"]; + "Pick_FilterLeaf.users_view-or-request_response_rmt_": { request_response_rmt?: components["schemas"]["Partial_RequestResponseRMTToOperators_"]; - sessions_request_response_rmt?: components["schemas"]["Partial_SessionsRequestResponseRMTToOperators_"]; - properties?: { - [key: string]: components["schemas"]["Partial_TextOperators_"]; - }; + users_view?: components["schemas"]["Partial_UserViewToOperators_"]; }; - "FilterLeafSubset_feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_": components["schemas"]["Pick_FilterLeaf.feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_"]; - RequestFilterNode: components["schemas"]["FilterLeafSubset_feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_"] | components["schemas"]["RequestFilterBranch"] | "all"; - RequestFilterBranch: { - right: components["schemas"]["RequestFilterNode"]; + "FilterLeafSubset_users_view-or-request_response_rmt_": components["schemas"]["Pick_FilterLeaf.users_view-or-request_response_rmt_"]; + UserFilterNode: components["schemas"]["FilterLeafSubset_users_view-or-request_response_rmt_"] | components["schemas"]["UserFilterBranch"] | "all"; + UserFilterBranch: { + right: components["schemas"]["UserFilterNode"]; /** @enum {string} */ operator: "or" | "and"; - left: components["schemas"]["RequestFilterNode"]; + left: components["schemas"]["UserFilterNode"]; }; /** @enum {string} */ - SortDirection: "asc" | "desc"; - SortLeafRequest: { - /** @enum {boolean} */ - random?: true; - created_at?: components["schemas"]["SortDirection"]; - cache_created_at?: components["schemas"]["SortDirection"]; - latency?: components["schemas"]["SortDirection"]; - last_active?: components["schemas"]["SortDirection"]; - total_tokens?: components["schemas"]["SortDirection"]; - completion_tokens?: components["schemas"]["SortDirection"]; - prompt_tokens?: components["schemas"]["SortDirection"]; - user_id?: components["schemas"]["SortDirection"]; - body_model?: components["schemas"]["SortDirection"]; - is_cached?: components["schemas"]["SortDirection"]; - request_prompt?: components["schemas"]["SortDirection"]; - response_text?: components["schemas"]["SortDirection"]; - properties?: { - [key: string]: components["schemas"]["SortDirection"]; - }; - values?: { - [key: string]: components["schemas"]["SortDirection"]; + PSize: "p50" | "p75" | "p95" | "p99" | "p99.9"; + UserMetricsResult: { + id: string; + user_id: string; + /** Format: double */ + active_for: number; + first_active: string; + last_active: string; + /** Format: double */ + total_requests: number; + /** Format: double */ + average_requests_per_day_active: number; + /** Format: double */ + average_tokens_per_request: number; + /** Format: double */ + total_completion_tokens: number; + /** Format: double */ + total_prompt_tokens: number; + /** Format: double */ + cost: number; + }; + "ResultSuccess__users-UserMetricsResult-Array--count-number--hasUsers-boolean__": { + data: { + hasUsers: boolean; + /** Format: double */ + count: number; + users: components["schemas"]["UserMetricsResult"][]; }; + /** @enum {number|null} */ + error: null; + }; + "Result__users-UserMetricsResult-Array--count-number--hasUsers-boolean_.string_": components["schemas"]["ResultSuccess__users-UserMetricsResult-Array--count-number--hasUsers-boolean__"] | components["schemas"]["ResultError_string_"]; + SortLeafUsers: { + id?: components["schemas"]["SortDirection"]; + user_id?: components["schemas"]["SortDirection"]; + active_for?: components["schemas"]["SortDirection"]; + first_active?: components["schemas"]["SortDirection"]; + last_active?: components["schemas"]["SortDirection"]; + total_requests?: components["schemas"]["SortDirection"]; + average_requests_per_day_active?: components["schemas"]["SortDirection"]; + average_tokens_per_request?: components["schemas"]["SortDirection"]; + total_prompt_tokens?: components["schemas"]["SortDirection"]; + total_completion_tokens?: components["schemas"]["SortDirection"]; cost?: components["schemas"]["SortDirection"]; - time_to_first_token?: components["schemas"]["SortDirection"]; + rate_limited_count?: components["schemas"]["SortDirection"]; }; - RequestQueryParams: { - filter: components["schemas"]["RequestFilterNode"]; + UserMetricsQueryParams: { + filter: components["schemas"]["UserFilterNode"]; /** Format: double */ - offset?: number; + offset: number; /** Format: double */ - limit?: number; - sort?: components["schemas"]["SortLeafRequest"]; - isCached?: boolean; - includeInputs?: boolean; - isPartOfExperiment?: boolean; - isScored?: boolean; - }; - /** @enum {string} */ - ProviderName: "OPENAI" | "ANTHROPIC" | "AZURE" | "LOCAL" | "HELICONE" | "AMDBARTEK" | "ANYSCALE" | "CLOUDFLARE" | "2YFV" | "TOGETHER" | "LEMONFOX" | "FIREWORKS" | "PERPLEXITY" | "GOOGLE" | "OPENROUTER" | "WISDOMINANUTSHELL" | "GROQ" | "COHERE" | "MISTRAL" | "DEEPINFRA" | "QSTASH" | "FIRECRAWL" | "AWS" | "BEDROCK" | "DEEPSEEK" | "X" | "AVIAN" | "NEBIUS" | "NOVITA" | "OPENPIPE" | "CHUTES" | "LLAMA" | "NVIDIA" | "VERCEL" | "CEREBRAS" | "BASETEN" | "CANOPYWAVE"; - /** @enum {string} */ - ModelProviderName: "baseten" | "anthropic" | "azure" | "bedrock" | "canopywave" | "cerebras" | "chutes" | "deepinfra" | "deepseek" | "fireworks" | "google-ai-studio" | "groq" | "helicone" | "mistral" | "nebius" | "novita" | "openai" | "openrouter" | "perplexity" | "vertex" | "xai"; - Provider: components["schemas"]["ProviderName"] | components["schemas"]["ModelProviderName"] | "CUSTOM"; - /** @enum {string} */ - LlmType: "chat" | "completion"; - FunctionCall: { - id?: string; - name: string; - arguments: components["schemas"]["Record_string.any_"]; + limit: number; + timeFilter?: { + /** Format: double */ + endTimeUnixSeconds: number; + /** Format: double */ + startTimeUnixSeconds: number; + }; + /** Format: double */ + timeZoneDifferenceMinutes?: number; + sort?: components["schemas"]["SortLeafUsers"]; }; - Message: { - ending_event_id?: string; - trigger_event_id?: string; - start_timestamp?: string; - annotations?: { - content?: string; - title: string; - url: string; - /** @enum {string} */ - type: "url_citation"; + "ResultSuccess__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array_": { + data: { + /** Format: double */ + cost: number; + user_id: string; + /** Format: double */ + completion_tokens: number; + /** Format: double */ + prompt_tokens: number; + /** Format: double */ + count: number; }[]; - reasoning?: string; - deleted?: boolean; - contentArray?: components["schemas"]["Message"][]; - /** Format: double */ - idx?: number; - detail?: string; - filename?: string; - file_id?: string; - file_data?: string; - /** @enum {string} */ - type?: "input_image" | "input_text" | "input_file"; - audio_data?: string; - image_url?: string; - timestamp?: string; - tool_call_id?: string; - tool_calls?: components["schemas"]["FunctionCall"][]; - mime_type?: string; - content?: string; - name?: string; - instruction?: string; - role?: string | ("user" | "assistant" | "system" | "developer"); - id?: string; - /** @enum {string} */ - _type: "functionCall" | "function" | "image" | "file" | "message" | "autoInput" | "contentArray" | "audio"; + /** @enum {number|null} */ + error: null; }; - Tool: { - name: string; - description?: string; - parameters?: components["schemas"]["Record_string.any_"]; - strict?: boolean; + "Result__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array.string_": components["schemas"]["ResultSuccess__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array_"] | components["schemas"]["ResultError_string_"]; + UserQueryParams: { + userIds?: string[]; + timeFilter?: { + /** Format: double */ + endTimeUnixSeconds: number; + /** Format: double */ + startTimeUnixSeconds: number; + }; }; - HeliconeEventTool: { - /** @enum {string} */ - _type: "tool"; - toolName: string; - input: unknown; - [key: string]: unknown; + ValidationError: { + field: string; + message: string; }; - HeliconeEventVectorDB: { - /** @enum {string} */ - _type: "vector_db"; - /** @enum {string} */ - operation: "search" | "insert" | "delete" | "update"; - text?: string; - vector?: number[]; - /** Format: double */ - topK?: number; - filter?: Record; - databaseName?: string; - [key: string]: unknown; + ValidationResult: { + isValid: boolean; + errors: components["schemas"]["ValidationError"][]; }; - HeliconeEventData: { - /** @enum {string} */ - _type: "data"; - name: string; - meta?: components["schemas"]["Record_string.any_"]; + /** @description Construct a type with a set of properties K of type T */ + "Record_string.unknown_": { [key: string]: unknown; }; - LLMRequestBody: { - llm_type?: components["schemas"]["LlmType"]; - provider?: string; - model?: string; - messages?: components["schemas"]["Message"][] | null; - prompt?: string | null; - instructions?: string | null; + TypedProviderRequest: { + url: string; + json: components["schemas"]["Record_string.unknown_"]; + meta: components["schemas"]["Record_string.string_"]; + }; + TypedProviderResponse: { + json?: components["schemas"]["Record_string.unknown_"]; + textBody?: string; /** Format: double */ - max_tokens?: number | null; + status: number; + headers: components["schemas"]["Record_string.string_"]; + }; + TypedTiming: { /** Format: double */ - temperature?: number | null; + timeToFirstToken?: number; + startTime: string; + endTime: string; + }; + TypedAsyncLogModel: { + providerRequest: components["schemas"]["TypedProviderRequest"]; + providerResponse: components["schemas"]["TypedProviderResponse"]; + timing?: components["schemas"]["TypedTiming"]; + provider?: components["schemas"]["Provider"]; + }; + OTELTrace: { + resourceSpans: { + scopeSpans: { + spans: { + /** Format: double */ + droppedLinksCount: number; + links: unknown[]; + status: { + /** Format: double */ + code: number; + }; + /** Format: double */ + droppedEventsCount: number; + events: unknown[]; + /** Format: double */ + droppedAttributesCount: number; + attributes: { + value: { + /** Format: double */ + intValue?: number; + stringValue?: string; + }; + key: string; + }[]; + endTimeUnixNano: string; + startTimeUnixNano: string; + /** Format: double */ + kind: number; + name: string; + spanId: string; + traceId: string; + }[]; + scope: { + version: string; + name: string; + }; + }[]; + resource: { + /** Format: double */ + droppedAttributesCount: number; + attributes: { + value: { + arrayValue?: { + values: { + stringValue: string; + }[]; + }; + /** Format: double */ + intValue?: number; + stringValue?: string; + }; + key: string; + }[]; + }; + }[]; + }; + SendTestRequestResponse: { + success: boolean; + response?: string; + requestId?: string; + error?: string; + }; + SendTestRequestRequest: { + apiKey: string; + }; + SessionResult: { + created_at: string; + latest_request_created_at: string; + session_id: string; + session_name: string; /** Format: double */ - top_p?: number | null; + total_cost: number; /** Format: double */ - seed?: number | null; - stream?: boolean | null; + total_requests: number; /** Format: double */ - presence_penalty?: number | null; + prompt_tokens: number; /** Format: double */ - frequency_penalty?: number | null; - stop?: (string[] | string) | null; - /** @enum {string|null} */ - reasoning_effort?: "minimal" | "low" | "medium" | "high" | null; - /** @enum {string|null} */ - verbosity?: "low" | "medium" | "high" | null; - tools?: components["schemas"]["Tool"][]; - parallel_tool_calls?: boolean | null; - tool_choice?: { - name?: string; - /** @enum {string} */ - type: "none" | "auto" | "any" | "tool"; - }; - response_format?: { - json_schema?: unknown; - type: string; - }; - toolDetails?: components["schemas"]["HeliconeEventTool"]; - vectorDBDetails?: components["schemas"]["HeliconeEventVectorDB"]; - dataDetails?: components["schemas"]["HeliconeEventData"]; - input?: string | string[]; + completion_tokens: number; /** Format: double */ - n?: number | null; - size?: string; - quality?: string; - }; - Response: { - contentArray?: components["schemas"]["Response"][]; - detail?: string; - filename?: string; - file_id?: string; - file_data?: string; + total_tokens: number; /** Format: double */ - idx?: number; - audio_data?: string; - image_url?: string; - timestamp?: string; - tool_call_id?: string; - tool_calls?: components["schemas"]["FunctionCall"][]; - text?: string; - /** @enum {string} */ - type: "input_image" | "input_text" | "input_file"; - name?: string; - /** @enum {string} */ - role: "user" | "assistant" | "system" | "developer"; - id?: string; + avg_latency: number; + user_ids: string[]; + }; + "ResultSuccess_SessionResult-Array_": { + data: components["schemas"]["SessionResult"][]; + /** @enum {number|null} */ + error: null; + }; + "Result_SessionResult-Array.string_": components["schemas"]["ResultSuccess_SessionResult-Array_"] | components["schemas"]["ResultError_string_"]; + /** @description From T, pick a set of properties whose keys are in the union K */ + "Pick_FilterLeaf.request_response_rmt-or-sessions_request_response_rmt_": { + request_response_rmt?: components["schemas"]["Partial_RequestResponseRMTToOperators_"]; + sessions_request_response_rmt?: components["schemas"]["Partial_SessionsRequestResponseRMTToOperators_"]; + }; + "FilterLeafSubset_request_response_rmt-or-sessions_request_response_rmt_": components["schemas"]["Pick_FilterLeaf.request_response_rmt-or-sessions_request_response_rmt_"]; + SessionFilterNode: components["schemas"]["FilterLeafSubset_request_response_rmt-or-sessions_request_response_rmt_"] | components["schemas"]["SessionFilterBranch"] | "all"; + SessionFilterBranch: { + right: components["schemas"]["SessionFilterNode"]; /** @enum {string} */ - _type: "functionCall" | "function" | "image" | "text" | "file" | "contentArray"; + operator: "or" | "and"; + left: components["schemas"]["SessionFilterNode"]; }; - LLMResponseBody: { - dataDetailsResponse?: { - name: string; - /** @enum {string} */ - _type: "data"; - metadata: { - timestamp: string; - [key: string]: unknown; - }; - message: string; - status: string; - [key: string]: unknown; - }; - vectorDBDetailsResponse?: { - /** @enum {string} */ - _type: "vector_db"; - metadata: { - timestamp: string; - destination_parsed?: boolean; - destination?: string; - }; + SessionQueryParams: { + search: string; + timeFilter: { /** Format: double */ - actualSimilarity?: number; + endTimeUnixMs: number; /** Format: double */ - similarityThreshold?: number; - message: string; - status: string; - }; - toolDetailsResponse?: { - toolName: string; - /** @enum {string} */ - _type: "tool"; - metadata: { - timestamp: string; - }; - tips: string[]; - message: string; - status: string; - }; - error?: { - heliconeMessage: unknown; + startTimeUnixMs: number; }; - model?: string | null; - instructions?: string | null; - responses?: components["schemas"]["Response"][] | null; - messages?: components["schemas"]["Message"][] | null; - }; - LlmSchema: { - request: components["schemas"]["LLMRequestBody"]; - response?: components["schemas"]["LLMResponseBody"] | null; - }; - HeliconeRequest: { - response_id: string | null; - response_created_at: string | null; - response_body?: unknown; + nameEquals?: string; /** Format: double */ - response_status: number; - response_model: string | null; - request_id: string; - request_created_at: string; - request_body: unknown; - request_path: string; - request_user_id: string | null; - request_properties: components["schemas"]["Record_string.string_"] | null; - request_model: string | null; - model_override: string | null; - helicone_user: string | null; - provider: components["schemas"]["Provider"]; + timezoneDifference: number; + filter: components["schemas"]["SessionFilterNode"]; /** Format: double */ - delay_ms: number | null; + offset?: number; /** Format: double */ - time_to_first_token: number | null; + limit?: number; + }; + SessionsAggregateMetrics: { /** Format: double */ - total_tokens: number | null; + count: number; /** Format: double */ - prompt_tokens: number | null; + total_cost: number; /** Format: double */ - prompt_cache_write_tokens: number | null; + avg_cost: number; /** Format: double */ - prompt_cache_read_tokens: number | null; + avg_latency: number; /** Format: double */ - completion_tokens: number | null; + avg_requests: number; + }; + ResultSuccess_SessionsAggregateMetrics_: { + data: components["schemas"]["SessionsAggregateMetrics"]; + /** @enum {number|null} */ + error: null; + }; + "Result_SessionsAggregateMetrics.string_": components["schemas"]["ResultSuccess_SessionsAggregateMetrics_"] | components["schemas"]["ResultError_string_"]; + SessionNameResult: { + name: string; + created_at: string; + last_used: string; + first_used: string; /** Format: double */ - reasoning_tokens: number | null; + session_count: number; /** Format: double */ - prompt_audio_tokens: number | null; + avg_latency: number; + }; + "ResultSuccess_SessionNameResult-Array_": { + data: components["schemas"]["SessionNameResult"][]; + /** @enum {number|null} */ + error: null; + }; + "Result_SessionNameResult-Array.string_": components["schemas"]["ResultSuccess_SessionNameResult-Array_"] | components["schemas"]["ResultError_string_"]; + TimeFilterMs: { /** Format: double */ - completion_audio_tokens: number | null; + startTimeUnixMs: number; /** Format: double */ - cost: number | null; - prompt_id: string | null; - prompt_version: string | null; - feedback_created_at?: string | null; - feedback_id?: string | null; - feedback_rating?: boolean | null; - signed_body_url?: string | null; - llmSchema: components["schemas"]["LlmSchema"] | null; - country_code: string | null; - asset_ids: string[] | null; - asset_urls: components["schemas"]["Record_string.string_"] | null; - scores: components["schemas"]["Record_string.number_"] | null; + endTimeUnixMs: number; + }; + SessionNameQueryParams: { + nameContains: string; /** Format: double */ - costUSD?: number | null; - properties: components["schemas"]["Record_string.string_"]; - assets: string[]; - target_url: string; - model: string; - cache_reference_id: string | null; - cache_enabled: boolean; - updated_at?: string; - request_referrer?: string | null; - ai_gateway_body_mapping: string | null; - storage_location?: string; + timezoneDifference: number; + /** @enum {string} */ + pSize?: "p50" | "p75" | "p95" | "p99" | "p99.9"; + useInterquartile?: boolean; + timeFilter?: components["schemas"]["TimeFilterMs"]; + filter?: components["schemas"]["SessionFilterNode"]; }; - "ResultSuccess_HeliconeRequest-Array_": { - data: components["schemas"]["HeliconeRequest"][]; - /** @enum {number|null} */ - error: null; + AverageRow: { + /** Format: double */ + average: number; }; - "Result_HeliconeRequest-Array.string_": components["schemas"]["ResultSuccess_HeliconeRequest-Array_"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_HeliconeRequest_: { - data: components["schemas"]["HeliconeRequest"]; - /** @enum {number|null} */ - error: null; + SessionMetrics: { + session_count: components["schemas"]["HistogramRow"][]; + session_duration: components["schemas"]["HistogramRow"][]; + session_cost: components["schemas"]["HistogramRow"][]; + average: { + session_cost: components["schemas"]["AverageRow"][]; + session_duration: components["schemas"]["AverageRow"][]; + session_count: components["schemas"]["AverageRow"][]; + }; }; - "Result_HeliconeRequest.string_": components["schemas"]["ResultSuccess_HeliconeRequest_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null_": { - data: ({ - environment: string | null; - version_id: string; - prompt_id: string; - inputs: components["schemas"]["Record_string.any_"]; - }) | null; + ResultSuccess_SessionMetrics_: { + data: components["schemas"]["SessionMetrics"]; /** @enum {number|null} */ error: null; }; - "Result__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null.string_": components["schemas"]["ResultSuccess__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null_"] | components["schemas"]["ResultError_string_"]; - HeliconeRequestAsset: { - assetUrl: string; + "Result_SessionMetrics.string_": components["schemas"]["ResultSuccess_SessionMetrics_"] | components["schemas"]["ResultError_string_"]; + SessionMetricsQueryParams: { + nameContains: string; + /** Format: double */ + timezoneDifference: number; + /** @enum {string} */ + pSize?: "p50" | "p75" | "p95" | "p99" | "p99.9"; + useInterquartile?: boolean; + timeFilter?: components["schemas"]["TimeFilterMs"]; + filter?: components["schemas"]["SessionFilterNode"]; }; - ResultSuccess_HeliconeRequestAsset_: { - data: components["schemas"]["HeliconeRequestAsset"]; + "ResultSuccess_string-or-null_": { + data: string | null; /** @enum {number|null} */ error: null; }; - "Result_HeliconeRequestAsset.string_": components["schemas"]["ResultSuccess_HeliconeRequestAsset_"] | components["schemas"]["ResultError_string_"]; - /** @description Construct a type with a set of properties K of type T */ - "Record_string.number-or-boolean-or-undefined_": { - [key: string]: number | boolean; - }; - Scores: components["schemas"]["Record_string.number-or-boolean-or-undefined_"]; - ScoreRequest: { - scores: components["schemas"]["Scores"]; - }; - ConversationMessage: { - role: string; - content: string; - }; - MostExpensiveRequest: { - requestId: string; + "Result_string-or-null.string_": components["schemas"]["ResultSuccess_string-or-null_"] | components["schemas"]["ResultError_string_"]; + MetricsData: { /** Format: double */ - cost: number; - model: string; - provider: string; - createdAt: string; + totalRequests: number; /** Format: double */ - promptTokens: number; + requestCountPrevious24h: number; /** Format: double */ - completionTokens: number; - conversation: { - /** Format: double */ - totalWords: number; - /** Format: double */ - turnCount: number; - messages: components["schemas"]["ConversationMessage"][]; - } | null; - }; - WrappedStats: { + requestVolumeChange: number; /** Format: double */ - totalRequests: number; - topProviders: { - /** Format: double */ - count: number; - provider: string; - }[]; - topModels: { - /** Format: double */ - count: number; - model: string; - }[]; - totalTokens: { - /** Format: double */ - total: number; - /** Format: double */ - cacheRead: number; - /** Format: double */ - cacheWrite: number; - /** Format: double */ - completion: number; - /** Format: double */ - prompt: number; - }; - mostExpensiveRequest: components["schemas"]["MostExpensiveRequest"] | null; + errorRate24h: number; + /** Format: double */ + errorRatePrevious24h: number; + /** Format: double */ + errorRateChange: number; + /** Format: double */ + averageLatency: number; + /** Format: double */ + averageLatencyPerToken: number; + /** Format: double */ + latencyChange: number; + /** Format: double */ + latencyPerTokenChange: number; + /** Format: double */ + recentRequestCount: number; + /** Format: double */ + recentErrorCount: number; }; - ResultSuccess_WrappedStats_: { - data: components["schemas"]["WrappedStats"]; - /** @enum {number|null} */ - error: null; + TimeSeriesDataPoint: { + /** Format: date-time */ + timestamp: string; + /** Format: double */ + errorCount: number; + /** Format: double */ + requestCount: number; + /** Format: double */ + averageLatency: number; + /** Format: double */ + averageLatencyPerCompletionToken: number; }; - "Result_WrappedStats.string_": components["schemas"]["ResultSuccess_WrappedStats_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__hasData-boolean__": { - data: { - hasData: boolean; + ProviderMetrics: { + providerName: string; + metrics: components["schemas"]["MetricsData"] & { + timeSeriesData: components["schemas"]["TimeSeriesDataPoint"][]; }; - /** @enum {number|null} */ - error: null; - }; - "Result__hasData-boolean_.string_": components["schemas"]["ResultSuccess__hasData-boolean__"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_unknown_: { - data: unknown; - /** @enum {number|null} */ - error: null; - }; - ResultError_unknown_: { - /** @enum {number|null} */ - data: null; - error: unknown; - }; - WebhookData: { - destination: string; - config: components["schemas"]["Record_string.any_"]; - includeData?: boolean; }; - "ResultSuccess__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array_": { - data: { - hmac_key: string; - config: string; - version: string; - destination: string; - created_at: string; - id: string; - }[]; + "ResultSuccess_ProviderMetrics-Array_": { + data: components["schemas"]["ProviderMetrics"][]; /** @enum {number|null} */ error: null; }; - "Result__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array.string_": components["schemas"]["ResultSuccess__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__success-boolean--message-string__": { - data: { - message: string; - success: boolean; - }; + "Result_ProviderMetrics-Array.string_": components["schemas"]["ResultSuccess_ProviderMetrics-Array_"] | components["schemas"]["ResultError_string_"]; + ResultSuccess_ProviderMetrics_: { + data: components["schemas"]["ProviderMetrics"]; /** @enum {number|null} */ error: null; }; - "Result__success-boolean--message-string_.string_": components["schemas"]["ResultSuccess__success-boolean--message-string__"] | components["schemas"]["ResultError_string_"]; - AddVaultKeyParams: { - key: string; + "Result_ProviderMetrics.string_": components["schemas"]["ResultSuccess_ProviderMetrics_"] | components["schemas"]["ResultError_string_"]; + /** @enum {string} */ + TimeFrame: "24h" | "7d" | "30d"; + ProviderMetric: { provider: string; - name?: string; - }; - "ResultSuccess_DecryptedProviderKey-Array_": { - data: components["schemas"]["DecryptedProviderKey"][]; - /** @enum {number|null} */ - error: null; + /** Format: double */ + total_requests: number; }; - "Result_DecryptedProviderKey-Array.string_": components["schemas"]["ResultSuccess_DecryptedProviderKey-Array_"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_DecryptedProviderKey_: { - data: components["schemas"]["DecryptedProviderKey"]; + "ResultSuccess_ProviderMetric-Array_": { + data: components["schemas"]["ProviderMetric"][]; /** @enum {number|null} */ error: null; }; - "Result_DecryptedProviderKey.string_": components["schemas"]["ResultSuccess_DecryptedProviderKey_"] | components["schemas"]["ResultError_string_"]; - HistogramRow: { - range_start: string; - range_end: string; - /** Format: double */ - value: number; + "Result_ProviderMetric-Array.string_": components["schemas"]["ResultSuccess_ProviderMetric-Array_"] | components["schemas"]["ResultError_string_"]; + /** @description Make all properties in T optional */ + Partial_UserMetricsToOperators_: { + user_id?: components["schemas"]["Partial_TextOperators_"]; + last_active?: components["schemas"]["Partial_TimestampOperators_"]; + total_requests?: components["schemas"]["Partial_NumberOperators_"]; + active_for?: components["schemas"]["Partial_NumberOperators_"]; + average_requests_per_day_active?: components["schemas"]["Partial_NumberOperators_"]; + average_tokens_per_request?: components["schemas"]["Partial_NumberOperators_"]; + total_completion_tokens?: components["schemas"]["Partial_NumberOperators_"]; + total_prompt_tokens?: components["schemas"]["Partial_NumberOperators_"]; + cost?: components["schemas"]["Partial_NumberOperators_"]; }; - "ResultSuccess__request_count-HistogramRow-Array--user_cost-HistogramRow-Array__": { - data: { - user_cost: components["schemas"]["HistogramRow"][]; - request_count: components["schemas"]["HistogramRow"][]; + /** @description Make all properties in T optional */ + Partial_UserApiKeysTableToOperators_: { + api_key_hash?: components["schemas"]["Partial_TextOperators_"]; + api_key_name?: components["schemas"]["Partial_TextOperators_"]; + }; + /** @description Make all properties in T optional */ + Partial_PropertiesTableToOperators_: { + auth_hash?: components["schemas"]["Partial_TextOperators_"]; + key?: components["schemas"]["Partial_TextOperators_"]; + value?: components["schemas"]["Partial_TextOperators_"]; + }; + /** @description Make all properties in T optional */ + Partial_PromptToOperators_: { + id?: components["schemas"]["Partial_TextOperators_"]; + user_defined_id?: components["schemas"]["Partial_TextOperators_"]; + }; + /** @description Make all properties in T optional */ + Partial_PromptVersionsToOperators_: { + minor_version?: components["schemas"]["Partial_NumberOperators_"]; + major_version?: components["schemas"]["Partial_NumberOperators_"]; + id?: components["schemas"]["Partial_TextOperators_"]; + prompt_v2?: components["schemas"]["Partial_TextOperators_"]; + }; + /** @description Make all properties in T optional */ + Partial_ExperimentToOperators_: { + id?: components["schemas"]["Partial_TextOperators_"]; + prompt_v2?: components["schemas"]["Partial_TextOperators_"]; + }; + /** @description Make all properties in T optional */ + Partial_ExperimentHypothesisRunToOperator_: { + result_request_id?: components["schemas"]["Partial_TextOperators_"]; + }; + /** @description Make all properties in T optional */ + Partial_ScoreValueToOperator_: { + request_id?: components["schemas"]["Partial_TextOperators_"]; + }; + /** @description Make all properties in T optional */ + Partial_RequestResponseLogToOperators_: { + latency?: components["schemas"]["Partial_NumberOperators_"]; + status?: components["schemas"]["Partial_NumberOperators_"]; + request_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; + response_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; + auth_hash?: components["schemas"]["Partial_TextOperators_"]; + model?: components["schemas"]["Partial_TextOperators_"]; + user_id?: components["schemas"]["Partial_TextOperators_"]; + organization_id?: components["schemas"]["Partial_TextOperators_"]; + node_id?: components["schemas"]["Partial_TextOperators_"]; + job_id?: components["schemas"]["Partial_TextOperators_"]; + threat?: components["schemas"]["Partial_BooleanOperators_"]; + }; + /** @description Make all properties in T optional */ + Partial_PropertiesV3ToOperators_: { + key?: components["schemas"]["Partial_TextOperators_"]; + value?: components["schemas"]["Partial_TextOperators_"]; + organization_id?: components["schemas"]["Partial_TextOperators_"]; + }; + /** @description Make all properties in T optional */ + Partial_PropertyWithResponseV1ToOperators_: { + property_key?: components["schemas"]["Partial_TextOperators_"]; + property_value?: components["schemas"]["Partial_TextOperators_"]; + request_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; + organization_id?: components["schemas"]["Partial_TextOperators_"]; + threat?: components["schemas"]["Partial_BooleanOperators_"]; + }; + /** @description Make all properties in T optional */ + Partial_JobToOperators_: { + id?: components["schemas"]["Partial_TextOperators_"]; + name?: components["schemas"]["Partial_TextOperators_"]; + description?: components["schemas"]["Partial_TextOperators_"]; + status?: components["schemas"]["Partial_TextOperators_"]; + created_at?: components["schemas"]["Partial_TimestampOperators_"]; + updated_at?: components["schemas"]["Partial_TimestampOperators_"]; + timeout_seconds?: components["schemas"]["Partial_NumberOperators_"]; + custom_properties?: { + [key: string]: components["schemas"]["Partial_TextOperators_"]; }; - /** @enum {number|null} */ - error: null; + org_id?: components["schemas"]["Partial_TextOperators_"]; }; - "Result__request_count-HistogramRow-Array--user_cost-HistogramRow-Array_.string_": components["schemas"]["ResultSuccess__request_count-HistogramRow-Array--user_cost-HistogramRow-Array__"] | components["schemas"]["ResultError_string_"]; /** @description Make all properties in T optional */ - Partial_UserViewToOperators_: { - user_user_id?: components["schemas"]["Partial_TextOperators_"]; - user_active_for?: components["schemas"]["Partial_NumberOperators_"]; - user_first_active?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - user_last_active?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - user_total_requests?: components["schemas"]["Partial_NumberOperators_"]; - user_average_requests_per_day_active?: components["schemas"]["Partial_NumberOperators_"]; - user_average_tokens_per_request?: components["schemas"]["Partial_NumberOperators_"]; - user_total_completion_tokens?: components["schemas"]["Partial_NumberOperators_"]; - user_total_prompt_tokens?: components["schemas"]["Partial_NumberOperators_"]; - user_cost?: components["schemas"]["Partial_NumberOperators_"]; + Partial_NodesToOperators_: { + id?: components["schemas"]["Partial_TextOperators_"]; + name?: components["schemas"]["Partial_TextOperators_"]; + description?: components["schemas"]["Partial_TextOperators_"]; + job_id?: components["schemas"]["Partial_TextOperators_"]; + status?: components["schemas"]["Partial_TextOperators_"]; + created_at?: components["schemas"]["Partial_TimestampOperators_"]; + updated_at?: components["schemas"]["Partial_TimestampOperators_"]; + timeout_seconds?: components["schemas"]["Partial_NumberOperators_"]; + custom_properties?: { + [key: string]: components["schemas"]["Partial_TextOperators_"]; + }; + org_id?: components["schemas"]["Partial_TextOperators_"]; }; - /** @description From T, pick a set of properties whose keys are in the union K */ - "Pick_FilterLeaf.users_view-or-request_response_rmt_": { - request_response_rmt?: components["schemas"]["Partial_RequestResponseRMTToOperators_"]; - users_view?: components["schemas"]["Partial_UserViewToOperators_"]; + /** @description Make all properties in T optional */ + Partial_CacheMetricsTableToOperators_: { + organization_id?: components["schemas"]["Partial_TextOperators_"]; + request_id?: components["schemas"]["Partial_TextOperators_"]; + date?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; + hour?: components["schemas"]["Partial_NumberOperators_"]; + model?: components["schemas"]["Partial_TextOperators_"]; + cache_hit_count?: components["schemas"]["Partial_NumberOperators_"]; + saved_latency_ms?: components["schemas"]["Partial_NumberOperators_"]; + saved_completion_tokens?: components["schemas"]["Partial_NumberOperators_"]; + saved_prompt_tokens?: components["schemas"]["Partial_NumberOperators_"]; + saved_completion_audio_tokens?: components["schemas"]["Partial_NumberOperators_"]; + saved_prompt_audio_tokens?: components["schemas"]["Partial_NumberOperators_"]; + saved_prompt_cache_write_tokens?: components["schemas"]["Partial_NumberOperators_"]; + saved_prompt_cache_read_tokens?: components["schemas"]["Partial_NumberOperators_"]; + first_hit?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; + last_hit?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; + request_body?: components["schemas"]["Partial_TextOperators_"]; + response_body?: components["schemas"]["Partial_TextOperators_"]; }; - "FilterLeafSubset_users_view-or-request_response_rmt_": components["schemas"]["Pick_FilterLeaf.users_view-or-request_response_rmt_"]; - UserFilterNode: components["schemas"]["FilterLeafSubset_users_view-or-request_response_rmt_"] | components["schemas"]["UserFilterBranch"] | "all"; - UserFilterBranch: { - right: components["schemas"]["UserFilterNode"]; - /** @enum {string} */ - operator: "or" | "and"; - left: components["schemas"]["UserFilterNode"]; + /** @description Make all properties in T optional */ + Partial_RateLimitTableToOperators_: { + organization_id?: components["schemas"]["Partial_TextOperators_"]; + created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; }; - /** @enum {string} */ - PSize: "p50" | "p75" | "p95" | "p99" | "p99.9"; - UserMetricsResult: { - id: string; - user_id: string; - /** Format: double */ - active_for: number; - first_active: string; - last_active: string; - /** Format: double */ - total_requests: number; - /** Format: double */ - average_requests_per_day_active: number; - /** Format: double */ - average_tokens_per_request: number; - /** Format: double */ - total_completion_tokens: number; - /** Format: double */ - total_prompt_tokens: number; - /** Format: double */ - cost: number; + /** @description Make all properties in T optional */ + Partial_OrganizationPropertiesToOperators_: { + organization_id?: components["schemas"]["Partial_TextOperators_"]; + property_key?: components["schemas"]["Partial_TextOperators_"]; }; - "ResultSuccess__users-UserMetricsResult-Array--count-number--hasUsers-boolean__": { - data: { - hasUsers: boolean; - /** Format: double */ - count: number; - users: components["schemas"]["UserMetricsResult"][]; + /** @description Make all properties in T optional */ + Partial_TablesAndViews_: { + user_metrics?: components["schemas"]["Partial_UserMetricsToOperators_"]; + user_api_keys?: components["schemas"]["Partial_UserApiKeysTableToOperators_"]; + response?: components["schemas"]["Partial_ResponseTableToOperators_"]; + request?: components["schemas"]["Partial_RequestTableToOperators_"]; + feedback?: components["schemas"]["Partial_FeedbackTableToOperators_"]; + properties_table?: components["schemas"]["Partial_PropertiesTableToOperators_"]; + prompt_v2?: components["schemas"]["Partial_PromptToOperators_"]; + prompts_versions?: components["schemas"]["Partial_PromptVersionsToOperators_"]; + experiment?: components["schemas"]["Partial_ExperimentToOperators_"]; + experiment_hypothesis_run?: components["schemas"]["Partial_ExperimentHypothesisRunToOperator_"]; + score_value?: components["schemas"]["Partial_ScoreValueToOperator_"]; + request_response_log?: components["schemas"]["Partial_RequestResponseLogToOperators_"]; + request_response_rmt?: components["schemas"]["Partial_RequestResponseRMTToOperators_"]; + sessions_request_response_rmt?: components["schemas"]["Partial_SessionsRequestResponseRMTToOperators_"]; + users_view?: components["schemas"]["Partial_UserViewToOperators_"]; + properties_v3?: components["schemas"]["Partial_PropertiesV3ToOperators_"]; + property_with_response_v1?: components["schemas"]["Partial_PropertyWithResponseV1ToOperators_"]; + job?: components["schemas"]["Partial_JobToOperators_"]; + job_node?: components["schemas"]["Partial_NodesToOperators_"]; + cache_metrics?: components["schemas"]["Partial_CacheMetricsTableToOperators_"]; + rate_limit_log?: components["schemas"]["Partial_RateLimitTableToOperators_"]; + organization_properties?: components["schemas"]["Partial_OrganizationPropertiesToOperators_"]; + properties?: { + [key: string]: components["schemas"]["Partial_TextOperators_"]; + }; + values?: { + [key: string]: components["schemas"]["Partial_TextOperators_"]; }; - /** @enum {number|null} */ - error: null; }; - "Result__users-UserMetricsResult-Array--count-number--hasUsers-boolean_.string_": components["schemas"]["ResultSuccess__users-UserMetricsResult-Array--count-number--hasUsers-boolean__"] | components["schemas"]["ResultError_string_"]; - SortLeafUsers: { - id?: components["schemas"]["SortDirection"]; - user_id?: components["schemas"]["SortDirection"]; - active_for?: components["schemas"]["SortDirection"]; - first_active?: components["schemas"]["SortDirection"]; - last_active?: components["schemas"]["SortDirection"]; - total_requests?: components["schemas"]["SortDirection"]; - average_requests_per_day_active?: components["schemas"]["SortDirection"]; - average_tokens_per_request?: components["schemas"]["SortDirection"]; - total_prompt_tokens?: components["schemas"]["SortDirection"]; - total_completion_tokens?: components["schemas"]["SortDirection"]; - cost?: components["schemas"]["SortDirection"]; - rate_limited_count?: components["schemas"]["SortDirection"]; + SingleKey_TablesAndViews_: components["schemas"]["Partial_TablesAndViews_"]; + FilterLeaf: components["schemas"]["SingleKey_TablesAndViews_"]; + FilterNode: components["schemas"]["FilterLeaf"] | components["schemas"]["FilterBranch"] | Record | "all"; + FilterBranch: { + left: components["schemas"]["FilterNode"]; + /** @enum {string} */ + operator: "or" | "and"; + right: components["schemas"]["FilterNode"]; }; - UserMetricsQueryParams: { - filter: components["schemas"]["UserFilterNode"]; + ProviderQueryParams: { + filter: components["schemas"]["FilterNode"]; /** Format: double */ offset: number; /** Format: double */ limit: number; - timeFilter?: { - /** Format: double */ - endTimeUnixSeconds: number; - /** Format: double */ - startTimeUnixSeconds: number; + timeFilter: { + end: string; + start: string; }; - /** Format: double */ - timeZoneDifferenceMinutes?: number; - sort?: components["schemas"]["SortLeafUsers"]; }; - "ResultSuccess__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array_": { + "ResultSuccess__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array_": { data: { + created_at_trunc: string; /** Format: double */ - cost: number; - user_id: string; - /** Format: double */ - completion_tokens: number; - /** Format: double */ - prompt_tokens: number; + request_count: number; /** Format: double */ - count: number; + total_cost: number; + property: string; }[]; /** @enum {number|null} */ error: null; }; - "Result__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array.string_": components["schemas"]["ResultSuccess__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array_"] | components["schemas"]["ResultError_string_"]; - UserQueryParams: { - userIds?: string[]; - timeFilter?: { - /** Format: double */ - endTimeUnixSeconds: number; - /** Format: double */ - startTimeUnixSeconds: number; - }; - }; - ValidationError: { - field: string; - message: string; - }; - ValidationResult: { - isValid: boolean; - errors: components["schemas"]["ValidationError"][]; - }; - TypedProviderRequest: { - url: string; - json: components["schemas"]["Record_string.unknown_"]; - meta: components["schemas"]["Record_string.string_"]; + "Result__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array.string_": components["schemas"]["ResultSuccess__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array_"] | components["schemas"]["ResultError_string_"]; + /** @description From T, pick a set of properties whose keys are in the union K */ + "Pick_FilterLeaf.request_response_rmt_": { + request_response_rmt?: components["schemas"]["Partial_RequestResponseRMTToOperators_"]; }; - TypedProviderResponse: { - json?: components["schemas"]["Record_string.unknown_"]; - textBody?: string; - /** Format: double */ - status: number; - headers: components["schemas"]["Record_string.string_"]; + FilterLeafSubset_request_response_rmt_: components["schemas"]["Pick_FilterLeaf.request_response_rmt_"]; + RequestClickhouseFilterNode: components["schemas"]["FilterLeafSubset_request_response_rmt_"] | components["schemas"]["RequestClickhouseFilterBranch"] | "all"; + RequestClickhouseFilterBranch: { + right: components["schemas"]["RequestClickhouseFilterNode"]; + /** @enum {string} */ + operator: "or" | "and"; + left: components["schemas"]["RequestClickhouseFilterNode"]; }; - TypedTiming: { + /** @enum {string} */ + TimeIncrement: "min" | "hour" | "day" | "week" | "month" | "year"; + DataOverTimeRequest: { + timeFilter: { + end: string; + start: string; + }; + userFilter: components["schemas"]["RequestClickhouseFilterNode"]; + dbIncrement: components["schemas"]["TimeIncrement"]; /** Format: double */ - timeToFirstToken?: number; - startTime: string; - endTime: string; - }; - TypedAsyncLogModel: { - providerRequest: components["schemas"]["TypedProviderRequest"]; - providerResponse: components["schemas"]["TypedProviderResponse"]; - timing?: components["schemas"]["TypedTiming"]; - provider?: components["schemas"]["Provider"]; - }; - OTELTrace: { - resourceSpans: { - scopeSpans: { - spans: { - /** Format: double */ - droppedLinksCount: number; - links: unknown[]; - status: { - /** Format: double */ - code: number; - }; - /** Format: double */ - droppedEventsCount: number; - events: unknown[]; - /** Format: double */ - droppedAttributesCount: number; - attributes: { - value: { - /** Format: double */ - intValue?: number; - stringValue?: string; - }; - key: string; - }[]; - endTimeUnixNano: string; - startTimeUnixNano: string; - /** Format: double */ - kind: number; - name: string; - spanId: string; - traceId: string; - }[]; - scope: { - version: string; - name: string; - }; - }[]; - resource: { - /** Format: double */ - droppedAttributesCount: number; - attributes: { - value: { - arrayValue?: { - values: { - stringValue: string; - }[]; - }; - /** Format: double */ - intValue?: number; - stringValue?: string; - }; - key: string; - }[]; - }; - }[]; - }; - SendTestRequestResponse: { - success: boolean; - response?: string; - requestId?: string; - error?: string; + timeZoneDifference: number; }; - SendTestRequestRequest: { - apiKey: string; + Property: { + property: string; }; - SessionResult: { - created_at: string; - latest_request_created_at: string; - session_id: string; - session_name: string; - /** Format: double */ - total_cost: number; - /** Format: double */ - total_requests: number; - /** Format: double */ - prompt_tokens: number; - /** Format: double */ - completion_tokens: number; - /** Format: double */ - total_tokens: number; - /** Format: double */ - avg_latency: number; - user_ids: string[]; + "ResultSuccess_Property-Array_": { + data: components["schemas"]["Property"][]; + /** @enum {number|null} */ + error: null; }; - "ResultSuccess_SessionResult-Array_": { - data: components["schemas"]["SessionResult"][]; + "Result_Property-Array.string_": components["schemas"]["ResultSuccess_Property-Array_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess_unknown-Array_": { + data: unknown[]; /** @enum {number|null} */ error: null; }; - "Result_SessionResult-Array.string_": components["schemas"]["ResultSuccess_SessionResult-Array_"] | components["schemas"]["ResultError_string_"]; - /** @description From T, pick a set of properties whose keys are in the union K */ - "Pick_FilterLeaf.request_response_rmt-or-sessions_request_response_rmt_": { - request_response_rmt?: components["schemas"]["Partial_RequestResponseRMTToOperators_"]; - sessions_request_response_rmt?: components["schemas"]["Partial_SessionsRequestResponseRMTToOperators_"]; + "ResultSuccess_string-Array_": { + data: string[]; + /** @enum {number|null} */ + error: null; }; - "FilterLeafSubset_request_response_rmt-or-sessions_request_response_rmt_": components["schemas"]["Pick_FilterLeaf.request_response_rmt-or-sessions_request_response_rmt_"]; - SessionFilterNode: components["schemas"]["FilterLeafSubset_request_response_rmt-or-sessions_request_response_rmt_"] | components["schemas"]["SessionFilterBranch"] | "all"; - SessionFilterBranch: { - right: components["schemas"]["SessionFilterNode"]; - /** @enum {string} */ - operator: "or" | "and"; - left: components["schemas"]["SessionFilterNode"]; + "Result_string-Array.string_": components["schemas"]["ResultSuccess_string-Array_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__value-string--cost-number_-Array_": { + data: { + /** Format: double */ + cost: number; + value: string; + }[]; + /** @enum {number|null} */ + error: null; }; - SessionQueryParams: { - search: string; + "Result__value-string--cost-number_-Array.string_": components["schemas"]["ResultSuccess__value-string--cost-number_-Array_"] | components["schemas"]["ResultError_string_"]; + TimeFilterRequest: { timeFilter: { - /** Format: double */ - endTimeUnixMs: number; - /** Format: double */ - startTimeUnixMs: number; + end: string; + start: string; }; - nameEquals?: string; - /** Format: double */ - timezoneDifference: number; - filter: components["schemas"]["SessionFilterNode"]; - /** Format: double */ - offset?: number; - /** Format: double */ - limit?: number; - }; - SessionsAggregateMetrics: { - /** Format: double */ - count: number; - /** Format: double */ - total_cost: number; - /** Format: double */ - avg_cost: number; - /** Format: double */ - avg_latency: number; - /** Format: double */ - avg_requests: number; }; - ResultSuccess_SessionsAggregateMetrics_: { - data: components["schemas"]["SessionsAggregateMetrics"]; + "ResultSuccess__value-string--count-number_-Array_": { + data: { + /** Format: double */ + count: number; + value: string; + }[]; /** @enum {number|null} */ error: null; }; - "Result_SessionsAggregateMetrics.string_": components["schemas"]["ResultSuccess_SessionsAggregateMetrics_"] | components["schemas"]["ResultError_string_"]; - SessionNameResult: { + "Result__value-string--count-number_-Array.string_": components["schemas"]["ResultSuccess__value-string--count-number_-Array_"] | components["schemas"]["ResultError_string_"]; + Prompt2025: { + id: string; name: string; + tags: string[]; created_at: string; - last_used: string; - first_used: string; - /** Format: double */ - session_count: number; - /** Format: double */ - avg_latency: number; }; - "ResultSuccess_SessionNameResult-Array_": { - data: components["schemas"]["SessionNameResult"][]; + ResultSuccess_Prompt2025_: { + data: components["schemas"]["Prompt2025"]; /** @enum {number|null} */ error: null; }; - "Result_SessionNameResult-Array.string_": components["schemas"]["ResultSuccess_SessionNameResult-Array_"] | components["schemas"]["ResultError_string_"]; - TimeFilterMs: { - /** Format: double */ - startTimeUnixMs: number; - /** Format: double */ - endTimeUnixMs: number; + "Result_Prompt2025.string_": components["schemas"]["ResultSuccess_Prompt2025_"] | components["schemas"]["ResultError_string_"]; + Prompt2025Input: { + request_id: string; + version_id: string; + inputs: components["schemas"]["Record_string.any_"]; }; - SessionNameQueryParams: { - nameContains: string; - /** Format: double */ - timezoneDifference: number; - /** @enum {string} */ - pSize?: "p50" | "p75" | "p95" | "p99" | "p99.9"; - useInterquartile?: boolean; - timeFilter?: components["schemas"]["TimeFilterMs"]; - filter?: components["schemas"]["SessionFilterNode"]; - }; - AverageRow: { - /** Format: double */ - average: number; - }; - SessionMetrics: { - session_count: components["schemas"]["HistogramRow"][]; - session_duration: components["schemas"]["HistogramRow"][]; - session_cost: components["schemas"]["HistogramRow"][]; - average: { - session_cost: components["schemas"]["AverageRow"][]; - session_duration: components["schemas"]["AverageRow"][]; - session_count: components["schemas"]["AverageRow"][]; - }; - }; - ResultSuccess_SessionMetrics_: { - data: components["schemas"]["SessionMetrics"]; + ResultSuccess_Prompt2025Input_: { + data: components["schemas"]["Prompt2025Input"]; /** @enum {number|null} */ error: null; }; - "Result_SessionMetrics.string_": components["schemas"]["ResultSuccess_SessionMetrics_"] | components["schemas"]["ResultError_string_"]; - SessionMetricsQueryParams: { - nameContains: string; - /** Format: double */ - timezoneDifference: number; - /** @enum {string} */ - pSize?: "p50" | "p75" | "p95" | "p99" | "p99.9"; - useInterquartile?: boolean; - timeFilter?: components["schemas"]["TimeFilterMs"]; - filter?: components["schemas"]["SessionFilterNode"]; + "Result_Prompt2025Input.string_": components["schemas"]["ResultSuccess_Prompt2025Input_"] | components["schemas"]["ResultError_string_"]; + PromptCreateResponse: { + id: string; + versionId: string; }; - "ResultSuccess_string-or-null_": { - data: string | null; + ResultSuccess_PromptCreateResponse_: { + data: components["schemas"]["PromptCreateResponse"]; /** @enum {number|null} */ error: null; }; - "Result_string-or-null.string_": components["schemas"]["ResultSuccess_string-or-null_"] | components["schemas"]["ResultError_string_"]; - MetricsData: { + "Result_PromptCreateResponse.string_": components["schemas"]["ResultSuccess_PromptCreateResponse_"] | components["schemas"]["ResultError_string_"]; + /** @description Simplified interface for the OpenAI Chat request format */ + OpenAIChatRequest: { + model?: string; + messages?: ({ + tool_calls?: { + /** @enum {string} */ + type: "function"; + function: { + arguments: string; + name: string; + }; + id: string; + }[]; + tool_call_id?: string; + name?: string; + content: (string | { + image_url?: { + url: string; + }; + text?: string; + type: string; + }[]) | null; + role: string; + })[]; /** Format: double */ - totalRequests: number; + temperature?: number; /** Format: double */ - requestCountPrevious24h: number; + top_p?: number; /** Format: double */ - requestVolumeChange: number; + max_tokens?: number; /** Format: double */ - errorRate24h: number; + max_completion_tokens?: number; + stream?: boolean; + stop?: string[] | string; + tools?: { + function: { + strict?: boolean; + parameters?: components["schemas"]["Record_string.any_"]; + description?: string; + name: string; + }; + /** @enum {string} */ + type: "function"; + }[]; + tool_choice?: { + function?: { + name: string; + /** @enum {string} */ + type: "function"; + }; + type: string; + } | ("none" | "auto" | "required"); + parallel_tool_calls?: boolean; + /** @enum {string} */ + reasoning_effort?: "minimal" | "low" | "medium" | "high"; + /** @enum {string} */ + verbosity?: "low" | "medium" | "high"; /** Format: double */ - errorRatePrevious24h: number; + frequency_penalty?: number; /** Format: double */ - errorRateChange: number; + presence_penalty?: number; + logit_bias?: components["schemas"]["Record_string.number_"]; + logprobs?: boolean; /** Format: double */ - averageLatency: number; + top_logprobs?: number; /** Format: double */ - averageLatencyPerToken: number; + n?: number; + modalities?: string[]; + prediction?: unknown; + audio?: unknown; + response_format?: { + json_schema?: unknown; + type: string; + }; /** Format: double */ - latencyChange: number; + seed?: number; + service_tier?: string; + store?: boolean; + stream_options?: unknown; + metadata?: components["schemas"]["Record_string.string_"]; + user?: string; + function_call?: string | { + name: string; + }; + functions?: unknown[]; + }; + "ResultSuccess_Prompt2025-Array_": { + data: components["schemas"]["Prompt2025"][]; + /** @enum {number|null} */ + error: null; + }; + "Result_Prompt2025-Array.string_": components["schemas"]["ResultSuccess_Prompt2025-Array_"] | components["schemas"]["ResultError_string_"]; + Prompt2025VersionPromptBody: { + model?: string; + messages?: ({ + tool_calls?: { + /** @enum {string} */ + type: "function"; + function: { + arguments: string; + name: string; + }; + id: string; + }[]; + tool_call_id?: string; + name?: string; + content: (string | { + image_url?: { + url: string; + }; + text?: string; + type: string; + }[]) | null; + role: string; + })[]; /** Format: double */ - latencyPerTokenChange: number; + temperature?: number; /** Format: double */ - recentRequestCount: number; + top_p?: number; /** Format: double */ - recentErrorCount: number; + max_tokens?: number; + tools?: { + function: { + parameters: components["schemas"]["Record_string.unknown_"]; + description: string; + name: string; + }; + /** @enum {string} */ + type: "function"; + }[]; + tool_choice?: string | { + function?: { + name: string; + /** @enum {string} */ + type: "function"; + }; + type: string; + }; + [key: string]: unknown; }; - TimeSeriesDataPoint: { - /** Format: date-time */ - timestamp: string; - /** Format: double */ - errorCount: number; - /** Format: double */ - requestCount: number; + Prompt2025Version: { + id: string; + model: string; + prompt_id: string; /** Format: double */ - averageLatency: number; + major_version: number; /** Format: double */ - averageLatencyPerCompletionToken: number; - }; - ProviderMetrics: { - providerName: string; - metrics: components["schemas"]["MetricsData"] & { - timeSeriesData: components["schemas"]["TimeSeriesDataPoint"][]; - }; + minor_version: number; + commit_message: string; + environments?: string[]; + created_at: string; + s3_url?: string; + /** + * @description The full prompt body including messages. Only included when explicitly requested + * via the `includePromptBody` parameter to avoid unnecessary data transfer. + */ + prompt_body?: components["schemas"]["Prompt2025VersionPromptBody"]; }; - "ResultSuccess_ProviderMetrics-Array_": { - data: components["schemas"]["ProviderMetrics"][]; + ResultSuccess_Prompt2025Version_: { + data: components["schemas"]["Prompt2025Version"]; /** @enum {number|null} */ error: null; }; - "Result_ProviderMetrics-Array.string_": components["schemas"]["ResultSuccess_ProviderMetrics-Array_"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_ProviderMetrics_: { - data: components["schemas"]["ProviderMetrics"]; + "Result_Prompt2025Version.string_": components["schemas"]["ResultSuccess_Prompt2025Version_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess_Prompt2025Version-Array_": { + data: components["schemas"]["Prompt2025Version"][]; /** @enum {number|null} */ error: null; }; - "Result_ProviderMetrics.string_": components["schemas"]["ResultSuccess_ProviderMetrics_"] | components["schemas"]["ResultError_string_"]; - /** @enum {string} */ - TimeFrame: "24h" | "7d" | "30d"; - ProviderMetric: { - provider: string; + "Result_Prompt2025Version-Array.string_": components["schemas"]["ResultSuccess_Prompt2025Version-Array_"] | components["schemas"]["ResultError_string_"]; + PromptVersionCounts: { /** Format: double */ - total_requests: number; + totalVersions: number; + /** Format: double */ + majorVersions: number; }; - "ResultSuccess_ProviderMetric-Array_": { - data: components["schemas"]["ProviderMetric"][]; + ResultSuccess_PromptVersionCounts_: { + data: components["schemas"]["PromptVersionCounts"]; /** @enum {number|null} */ error: null; }; - "Result_ProviderMetric-Array.string_": components["schemas"]["ResultSuccess_ProviderMetric-Array_"] | components["schemas"]["ResultError_string_"]; - /** @description Make all properties in T optional */ - Partial_UserMetricsToOperators_: { - user_id?: components["schemas"]["Partial_TextOperators_"]; - last_active?: components["schemas"]["Partial_TimestampOperators_"]; - total_requests?: components["schemas"]["Partial_NumberOperators_"]; - active_for?: components["schemas"]["Partial_NumberOperators_"]; - average_requests_per_day_active?: components["schemas"]["Partial_NumberOperators_"]; - average_tokens_per_request?: components["schemas"]["Partial_NumberOperators_"]; - total_completion_tokens?: components["schemas"]["Partial_NumberOperators_"]; - total_prompt_tokens?: components["schemas"]["Partial_NumberOperators_"]; - cost?: components["schemas"]["Partial_NumberOperators_"]; + "Result_PromptVersionCounts.string_": components["schemas"]["ResultSuccess_PromptVersionCounts_"] | components["schemas"]["ResultError_string_"]; + ResultSuccess_Prompt2025Version_91_prompt_body_93__: { + data: components["schemas"]["Prompt2025VersionPromptBody"]; + /** @enum {number|null} */ + error: null; }; - /** @description Make all properties in T optional */ - Partial_UserApiKeysTableToOperators_: { - api_key_hash?: components["schemas"]["Partial_TextOperators_"]; - api_key_name?: components["schemas"]["Partial_TextOperators_"]; - }; - /** @description Make all properties in T optional */ - Partial_PropertiesTableToOperators_: { - auth_hash?: components["schemas"]["Partial_TextOperators_"]; - key?: components["schemas"]["Partial_TextOperators_"]; - value?: components["schemas"]["Partial_TextOperators_"]; - }; - /** @description Make all properties in T optional */ - Partial_ExperimentToOperators_: { - id?: components["schemas"]["Partial_TextOperators_"]; - prompt_v2?: components["schemas"]["Partial_TextOperators_"]; - }; - /** @description Make all properties in T optional */ - Partial_ExperimentHypothesisRunToOperator_: { - result_request_id?: components["schemas"]["Partial_TextOperators_"]; - }; - /** @description Make all properties in T optional */ - Partial_ScoreValueToOperator_: { - request_id?: components["schemas"]["Partial_TextOperators_"]; - }; - /** @description Make all properties in T optional */ - Partial_RequestResponseLogToOperators_: { - latency?: components["schemas"]["Partial_NumberOperators_"]; - status?: components["schemas"]["Partial_NumberOperators_"]; - request_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - response_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - auth_hash?: components["schemas"]["Partial_TextOperators_"]; - model?: components["schemas"]["Partial_TextOperators_"]; - user_id?: components["schemas"]["Partial_TextOperators_"]; - organization_id?: components["schemas"]["Partial_TextOperators_"]; - node_id?: components["schemas"]["Partial_TextOperators_"]; - job_id?: components["schemas"]["Partial_TextOperators_"]; - threat?: components["schemas"]["Partial_BooleanOperators_"]; - }; - /** @description Make all properties in T optional */ - Partial_PropertiesV3ToOperators_: { - key?: components["schemas"]["Partial_TextOperators_"]; - value?: components["schemas"]["Partial_TextOperators_"]; - organization_id?: components["schemas"]["Partial_TextOperators_"]; - }; - /** @description Make all properties in T optional */ - Partial_PropertyWithResponseV1ToOperators_: { - property_key?: components["schemas"]["Partial_TextOperators_"]; - property_value?: components["schemas"]["Partial_TextOperators_"]; - request_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - organization_id?: components["schemas"]["Partial_TextOperators_"]; - threat?: components["schemas"]["Partial_BooleanOperators_"]; - }; - /** @description Make all properties in T optional */ - Partial_JobToOperators_: { - id?: components["schemas"]["Partial_TextOperators_"]; - name?: components["schemas"]["Partial_TextOperators_"]; - description?: components["schemas"]["Partial_TextOperators_"]; - status?: components["schemas"]["Partial_TextOperators_"]; - created_at?: components["schemas"]["Partial_TimestampOperators_"]; - updated_at?: components["schemas"]["Partial_TimestampOperators_"]; - timeout_seconds?: components["schemas"]["Partial_NumberOperators_"]; - custom_properties?: { - [key: string]: components["schemas"]["Partial_TextOperators_"]; - }; - org_id?: components["schemas"]["Partial_TextOperators_"]; - }; - /** @description Make all properties in T optional */ - Partial_NodesToOperators_: { - id?: components["schemas"]["Partial_TextOperators_"]; - name?: components["schemas"]["Partial_TextOperators_"]; - description?: components["schemas"]["Partial_TextOperators_"]; - job_id?: components["schemas"]["Partial_TextOperators_"]; - status?: components["schemas"]["Partial_TextOperators_"]; - created_at?: components["schemas"]["Partial_TimestampOperators_"]; - updated_at?: components["schemas"]["Partial_TimestampOperators_"]; - timeout_seconds?: components["schemas"]["Partial_NumberOperators_"]; - custom_properties?: { - [key: string]: components["schemas"]["Partial_TextOperators_"]; + "Result_Prompt2025Version_91_prompt_body_93_.string_": components["schemas"]["ResultSuccess_Prompt2025Version_91_prompt_body_93__"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__hasPrompts-boolean__": { + data: { + hasPrompts: boolean; }; - org_id?: components["schemas"]["Partial_TextOperators_"]; - }; - /** @description Make all properties in T optional */ - Partial_CacheMetricsTableToOperators_: { - organization_id?: components["schemas"]["Partial_TextOperators_"]; - request_id?: components["schemas"]["Partial_TextOperators_"]; - date?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - hour?: components["schemas"]["Partial_NumberOperators_"]; - model?: components["schemas"]["Partial_TextOperators_"]; - cache_hit_count?: components["schemas"]["Partial_NumberOperators_"]; - saved_latency_ms?: components["schemas"]["Partial_NumberOperators_"]; - saved_completion_tokens?: components["schemas"]["Partial_NumberOperators_"]; - saved_prompt_tokens?: components["schemas"]["Partial_NumberOperators_"]; - saved_completion_audio_tokens?: components["schemas"]["Partial_NumberOperators_"]; - saved_prompt_audio_tokens?: components["schemas"]["Partial_NumberOperators_"]; - saved_prompt_cache_write_tokens?: components["schemas"]["Partial_NumberOperators_"]; - saved_prompt_cache_read_tokens?: components["schemas"]["Partial_NumberOperators_"]; - first_hit?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - last_hit?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - request_body?: components["schemas"]["Partial_TextOperators_"]; - response_body?: components["schemas"]["Partial_TextOperators_"]; + /** @enum {number|null} */ + error: null; }; - /** @description Make all properties in T optional */ - Partial_RateLimitTableToOperators_: { - organization_id?: components["schemas"]["Partial_TextOperators_"]; - created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; + "Result__hasPrompts-boolean_.string_": components["schemas"]["ResultSuccess__hasPrompts-boolean__"] | components["schemas"]["ResultError_string_"]; + PromptsResult: { + id: string; + user_defined_id: string; + description: string; + pretty_name: string; + created_at: string; + /** Format: double */ + major_version: number; + metadata?: components["schemas"]["Record_string.any_"]; }; - /** @description Make all properties in T optional */ - Partial_OrganizationPropertiesToOperators_: { - organization_id?: components["schemas"]["Partial_TextOperators_"]; - property_key?: components["schemas"]["Partial_TextOperators_"]; + "ResultSuccess_PromptsResult-Array_": { + data: components["schemas"]["PromptsResult"][]; + /** @enum {number|null} */ + error: null; }; - /** @description Make all properties in T optional */ - Partial_TablesAndViews_: { - user_metrics?: components["schemas"]["Partial_UserMetricsToOperators_"]; - user_api_keys?: components["schemas"]["Partial_UserApiKeysTableToOperators_"]; - response?: components["schemas"]["Partial_ResponseTableToOperators_"]; - request?: components["schemas"]["Partial_RequestTableToOperators_"]; - feedback?: components["schemas"]["Partial_FeedbackTableToOperators_"]; - properties_table?: components["schemas"]["Partial_PropertiesTableToOperators_"]; + "Result_PromptsResult-Array.string_": components["schemas"]["ResultSuccess_PromptsResult-Array_"] | components["schemas"]["ResultError_string_"]; + /** @description From T, pick a set of properties whose keys are in the union K */ + "Pick_FilterLeaf.prompt_v2_": { prompt_v2?: components["schemas"]["Partial_PromptToOperators_"]; - prompts_versions?: components["schemas"]["Partial_PromptVersionsToOperators_"]; - experiment?: components["schemas"]["Partial_ExperimentToOperators_"]; - experiment_hypothesis_run?: components["schemas"]["Partial_ExperimentHypothesisRunToOperator_"]; - score_value?: components["schemas"]["Partial_ScoreValueToOperator_"]; - request_response_log?: components["schemas"]["Partial_RequestResponseLogToOperators_"]; - request_response_rmt?: components["schemas"]["Partial_RequestResponseRMTToOperators_"]; - sessions_request_response_rmt?: components["schemas"]["Partial_SessionsRequestResponseRMTToOperators_"]; - users_view?: components["schemas"]["Partial_UserViewToOperators_"]; - properties_v3?: components["schemas"]["Partial_PropertiesV3ToOperators_"]; - property_with_response_v1?: components["schemas"]["Partial_PropertyWithResponseV1ToOperators_"]; - job?: components["schemas"]["Partial_JobToOperators_"]; - job_node?: components["schemas"]["Partial_NodesToOperators_"]; - cache_metrics?: components["schemas"]["Partial_CacheMetricsTableToOperators_"]; - rate_limit_log?: components["schemas"]["Partial_RateLimitTableToOperators_"]; - organization_properties?: components["schemas"]["Partial_OrganizationPropertiesToOperators_"]; - properties?: { - [key: string]: components["schemas"]["Partial_TextOperators_"]; - }; - values?: { - [key: string]: components["schemas"]["Partial_TextOperators_"]; - }; }; - SingleKey_TablesAndViews_: components["schemas"]["Partial_TablesAndViews_"]; - FilterLeaf: components["schemas"]["SingleKey_TablesAndViews_"]; - FilterNode: components["schemas"]["FilterLeaf"] | components["schemas"]["FilterBranch"] | Record | "all"; - FilterBranch: { - left: components["schemas"]["FilterNode"]; + FilterLeafSubset_prompt_v2_: components["schemas"]["Pick_FilterLeaf.prompt_v2_"]; + PromptsFilterNode: components["schemas"]["FilterLeafSubset_prompt_v2_"] | components["schemas"]["PromptsFilterBranch"] | "all"; + PromptsFilterBranch: { + right: components["schemas"]["PromptsFilterNode"]; /** @enum {string} */ operator: "or" | "and"; - right: components["schemas"]["FilterNode"]; + left: components["schemas"]["PromptsFilterNode"]; }; - ProviderQueryParams: { - filter: components["schemas"]["FilterNode"]; - /** Format: double */ - offset: number; + PromptsQueryParams: { + filter: components["schemas"]["PromptsFilterNode"]; + }; + PromptResult: { + id: string; + user_defined_id: string; + description: string; + pretty_name: string; /** Format: double */ - limit: number; - timeFilter: { - end: string; - start: string; - }; + major_version: number; + latest_version_id: string; + latest_model_used: string; + created_at: string; + last_used: string; + versions: string[]; + metadata?: components["schemas"]["Record_string.any_"]; }; - "ResultSuccess__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array_": { - data: { - created_at_trunc: string; - /** Format: double */ - request_count: number; - /** Format: double */ - total_cost: number; - property: string; - }[]; + ResultSuccess_PromptResult_: { + data: components["schemas"]["PromptResult"]; /** @enum {number|null} */ error: null; }; - "Result__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array.string_": components["schemas"]["ResultSuccess__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array_"] | components["schemas"]["ResultError_string_"]; - /** @description From T, pick a set of properties whose keys are in the union K */ - "Pick_FilterLeaf.request_response_rmt_": { - request_response_rmt?: components["schemas"]["Partial_RequestResponseRMTToOperators_"]; - }; - FilterLeafSubset_request_response_rmt_: components["schemas"]["Pick_FilterLeaf.request_response_rmt_"]; - RequestClickhouseFilterNode: components["schemas"]["FilterLeafSubset_request_response_rmt_"] | components["schemas"]["RequestClickhouseFilterBranch"] | "all"; - RequestClickhouseFilterBranch: { - right: components["schemas"]["RequestClickhouseFilterNode"]; - /** @enum {string} */ - operator: "or" | "and"; - left: components["schemas"]["RequestClickhouseFilterNode"]; - }; - /** @enum {string} */ - TimeIncrement: "min" | "hour" | "day" | "week" | "month" | "year"; - DataOverTimeRequest: { + "Result_PromptResult.string_": components["schemas"]["ResultSuccess_PromptResult_"] | components["schemas"]["ResultError_string_"]; + PromptQueryParams: { timeFilter: { end: string; start: string; }; - userFilter: components["schemas"]["RequestClickhouseFilterNode"]; - dbIncrement: components["schemas"]["TimeIncrement"]; - /** Format: double */ - timeZoneDifference: number; - }; - Property: { - property: string; }; - "ResultSuccess_Property-Array_": { - data: components["schemas"]["Property"][]; - /** @enum {number|null} */ - error: null; + CreatePromptResponse: { + id: string; + prompt_version_id: string; }; - "Result_Property-Array.string_": components["schemas"]["ResultSuccess_Property-Array_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_unknown-Array_": { - data: unknown[]; + ResultSuccess_CreatePromptResponse_: { + data: components["schemas"]["CreatePromptResponse"]; /** @enum {number|null} */ error: null; }; - "ResultSuccess__value-string--cost-number_-Array_": { + "Result_CreatePromptResponse.string_": components["schemas"]["ResultSuccess_CreatePromptResponse_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__metadata-Record_string.any___": { data: { - /** Format: double */ - cost: number; - value: string; - }[]; + metadata: components["schemas"]["Record_string.any_"]; + }; /** @enum {number|null} */ error: null; }; - "Result__value-string--cost-number_-Array.string_": components["schemas"]["ResultSuccess__value-string--cost-number_-Array_"] | components["schemas"]["ResultError_string_"]; - TimeFilterRequest: { - timeFilter: { - end: string; - start: string; - }; + "Result__metadata-Record_string.any__.string_": components["schemas"]["ResultSuccess__metadata-Record_string.any___"] | components["schemas"]["ResultError_string_"]; + PromptEditSubversionLabelParams: { + label: string; }; - "ResultSuccess__value-string--count-number_-Array_": { - data: { - /** Format: double */ - count: number; - value: string; - }[]; + PromptEditSubversionTemplateParams: { + heliconeTemplate: unknown; + experimentId?: string; + }; + PromptVersionResult: { + id: string; + /** Format: double */ + minor_version: number; + /** Format: double */ + major_version: number; + prompt_v2: string; + model: string; + helicone_template: string; + created_at: string; + metadata: components["schemas"]["Record_string.any_"]; + parent_prompt_version?: string | null; + experiment_id?: string | null; + updated_at?: string; + }; + ResultSuccess_PromptVersionResult_: { + data: components["schemas"]["PromptVersionResult"]; /** @enum {number|null} */ error: null; }; - "Result__value-string--count-number_-Array.string_": components["schemas"]["ResultSuccess__value-string--count-number_-Array_"] | components["schemas"]["ResultError_string_"]; + "Result_PromptVersionResult.string_": components["schemas"]["ResultSuccess_PromptVersionResult_"] | components["schemas"]["ResultError_string_"]; + PromptCreateSubversionParams: { + newHeliconeTemplate: unknown; + isMajorVersion?: boolean; + metadata?: components["schemas"]["Record_string.any_"]; + experimentId?: string; + bumpForMajorPromptVersionId?: string; + }; + PromptInputRecord: { + id: string; + inputs: components["schemas"]["Record_string.string_"]; + dataset_row_id?: string; + source_request: string; + prompt_version: string; + created_at: string; + response_body?: string; + request_body?: string; + auto_prompt_inputs: unknown[]; + }; + "ResultSuccess_PromptInputRecord-Array_": { + data: components["schemas"]["PromptInputRecord"][]; + /** @enum {number|null} */ + error: null; + }; + "Result_PromptInputRecord-Array.string_": components["schemas"]["ResultSuccess_PromptInputRecord-Array_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess_PromptVersionResult-Array_": { + data: components["schemas"]["PromptVersionResult"][]; + /** @enum {number|null} */ + error: null; + }; + "Result_PromptVersionResult-Array.string_": components["schemas"]["ResultSuccess_PromptVersionResult-Array_"] | components["schemas"]["ResultError_string_"]; + /** @description From T, pick a set of properties whose keys are in the union K */ + "Pick_FilterLeaf.prompts_versions_": { + prompts_versions?: components["schemas"]["Partial_PromptVersionsToOperators_"]; + }; + FilterLeafSubset_prompts_versions_: components["schemas"]["Pick_FilterLeaf.prompts_versions_"]; + PromptVersionsFilterNode: components["schemas"]["FilterLeafSubset_prompts_versions_"] | components["schemas"]["PromptVersionsFilterBranch"] | "all"; + PromptVersionsFilterBranch: { + right: components["schemas"]["PromptVersionsFilterNode"]; + /** @enum {string} */ + operator: "or" | "and"; + left: components["schemas"]["PromptVersionsFilterNode"]; + }; + PromptVersionsQueryParams: { + filter?: components["schemas"]["PromptVersionsFilterNode"]; + includeExperimentVersions?: boolean; + }; + PromptVersionResultCompiled: { + id: string; + /** Format: double */ + minor_version: number; + /** Format: double */ + major_version: number; + prompt_v2: string; + model: string; + prompt_compiled: unknown; + }; + ResultSuccess_PromptVersionResultCompiled_: { + data: components["schemas"]["PromptVersionResultCompiled"]; + /** @enum {number|null} */ + error: null; + }; + "Result_PromptVersionResultCompiled.string_": components["schemas"]["ResultSuccess_PromptVersionResultCompiled_"] | components["schemas"]["ResultError_string_"]; + PromptVersiosQueryParamsCompiled: { + filter?: components["schemas"]["PromptVersionsFilterNode"]; + includeExperimentVersions?: boolean; + inputs: components["schemas"]["Record_string.string_"]; + }; + PromptVersionResultFilled: { + id: string; + /** Format: double */ + minor_version: number; + /** Format: double */ + major_version: number; + prompt_v2: string; + model: string; + filled_helicone_template: unknown; + }; + ResultSuccess_PromptVersionResultFilled_: { + data: components["schemas"]["PromptVersionResultFilled"]; + /** @enum {number|null} */ + error: null; + }; + "Result_PromptVersionResultFilled.string_": components["schemas"]["ResultSuccess_PromptVersionResultFilled_"] | components["schemas"]["ResultError_string_"]; "ChatCompletionTokenLogprob.TopLogprob": { /** @description The token. */ token: string; @@ -3451,6 +3121,12 @@ Json: JsonObject; error: null; }; "Result_ChatCompletion-or-_content-string--reasoning-string--calls-any_.string_": components["schemas"]["ResultSuccess_ChatCompletion-or-_content-string--reasoning-string--calls-any__"] | components["schemas"]["ResultError_string_"]; + ResultSuccess_boolean_: { + data: boolean; + /** @enum {number|null} */ + error: null; + }; + "Result_boolean.string_": components["schemas"]["ResultSuccess_boolean_"] | components["schemas"]["ResultError_string_"]; "ResultSuccess__apiKey-string__": { data: { apiKey: string; @@ -3609,2340 +3285,916 @@ Json: JsonObject; providerModelId: string; supportedParameters: components["schemas"]["StandardParameter"][]; /** Format: double */ - priority?: number; - }; - SimplifiedModalityPricing: { - /** Format: double */ - input?: number; - /** Format: double */ - cachedInput?: number; - /** Format: double */ - output?: number; - }; - SimplifiedPricing: { - /** Format: double */ - prompt: number; - /** Format: double */ - completion: number; - audio?: components["schemas"]["SimplifiedModalityPricing"]; - /** Format: double */ - thinking?: number; - /** Format: double */ - web_search?: number; - image?: components["schemas"]["SimplifiedModalityPricing"]; - video?: components["schemas"]["SimplifiedModalityPricing"]; - file?: components["schemas"]["SimplifiedModalityPricing"]; - /** Format: double */ - cacheRead?: number; - /** Format: double */ - cacheWrite?: number; - /** Format: double */ - threshold?: number; - }; - ModelEndpoint: { - provider: string; - providerSlug: string; - endpoint?: components["schemas"]["Endpoint"]; - supportsPtb?: boolean; - pricing: components["schemas"]["SimplifiedPricing"]; - pricingTiers?: components["schemas"]["SimplifiedPricing"][]; - }; - /** @enum {string} */ - InputModality: "text" | "image" | "audio" | "video"; - /** @enum {string} */ - OutputModality: "text" | "image" | "audio" | "video"; - ModelRegistryItem: { - id: string; - name: string; - author: string; - /** Format: double */ - contextLength: number; - endpoints: components["schemas"]["ModelEndpoint"][]; - /** Format: double */ - maxOutput?: number; - trainingDate?: string; - description?: string; - inputModalities: components["schemas"]["InputModality"][]; - outputModalities: components["schemas"]["OutputModality"][]; - supportedParameters: components["schemas"]["StandardParameter"][]; - pinnedVersionOfModel?: string; - }; - /** @enum {string} */ - ModelCapability: "audio" | "video" | "image" | "thinking" | "web_search" | "caching" | "reasoning"; - ModelRegistryResponse: { - models: components["schemas"]["ModelRegistryItem"][]; - /** Format: double */ - total: number; - filters: { - capabilities: components["schemas"]["ModelCapability"][]; - authors: string[]; - providers: { - displayName: string; - name: string; - }[]; - }; - }; - ResultSuccess_ModelRegistryResponse_: { - data: components["schemas"]["ModelRegistryResponse"]; - /** @enum {number|null} */ - error: null; - }; - "Result_ModelRegistryResponse.string_": components["schemas"]["ResultSuccess_ModelRegistryResponse_"] | components["schemas"]["ResultError_string_"]; - OAIModel: { - id: string; - /** @enum {string} */ - object: "model"; - /** Format: double */ - created: number; - owned_by: string; - }; - OAIModelsResponse: { - /** @enum {string} */ - object: "list"; - data: components["schemas"]["OAIModel"][]; - }; - MetricStats: { - /** Format: double */ - p99: number; - /** Format: double */ - p95: number; - /** Format: double */ - p90: number; - /** Format: double */ - max: number; - /** Format: double */ - min: number; - /** Format: double */ - median: number; - /** Format: double */ - average: number; - }; - TokenMetricStats: components["schemas"]["MetricStats"] & { - /** Format: double */ - medianPer1000Tokens: number; - }; - TimeSeriesMetric: { - /** Format: double */ - value: number; - timestamp: string; - }; - Model: { - timeSeriesData: { - errorRate: components["schemas"]["TimeSeriesMetric"][]; - successRate: components["schemas"]["TimeSeriesMetric"][]; - ttft: components["schemas"]["TimeSeriesMetric"][]; - latency: components["schemas"]["TimeSeriesMetric"][]; - }; - requestStatus: { - /** Format: double */ - errorRate: number; - /** Format: double */ - successRate: number; - }; - geographicTtft: { - /** Format: double */ - median: number; - countryCode: string; - }[]; - geographicLatency: { - /** Format: double */ - median: number; - countryCode: string; - }[]; - feedback: { - /** Format: double */ - negativePercentage: number; - /** Format: double */ - positivePercentage: number; - }; - costs: { - /** Format: double */ - completion_token: number; - /** Format: double */ - prompt_token: number; - }; - ttft: components["schemas"]["MetricStats"]; - latency: components["schemas"]["TokenMetricStats"]; - provider: string; - model: string; - }; - "ResultSuccess_Model-Array_": { - data: components["schemas"]["Model"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_Model-Array.string_": components["schemas"]["ResultSuccess_Model-Array_"] | components["schemas"]["ResultError_string_"]; - ModelsToCompare: { - provider: string; - names: string[]; - parent: string; - }; - MetricsFilterBody: { - filter: components["schemas"]["FilterNode"]; - timeFilter: { - end: string; - start: string; - }; - }; - TokensPerRequest: { - /** Format: double */ - average_prompt_tokens_per_response: number; - /** Format: double */ - average_completion_tokens_per_response: number; - /** Format: double */ - average_total_tokens_per_response: number; - }; - ResultSuccess_TokensPerRequest_: { - data: components["schemas"]["TokensPerRequest"]; - /** @enum {number|null} */ - error: null; - }; - "Result_TokensPerRequest.string_": components["schemas"]["ResultSuccess_TokensPerRequest_"] | components["schemas"]["ResultError_string_"]; - RequestsOverTime: { - /** Format: date-time */ - time: string; - /** Format: double */ - count: number; - /** Format: double */ - status?: number; - }; - "ResultSuccess_RequestsOverTime-Array_": { - data: components["schemas"]["RequestsOverTime"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_RequestsOverTime-Array.string_": components["schemas"]["ResultSuccess_RequestsOverTime-Array_"] | components["schemas"]["ResultError_string_"]; - MetricsOverTimeBody: { - timeFilter: { - end: string; - start: string; - }; - filter: components["schemas"]["FilterNode"]; - dbIncrement?: components["schemas"]["TimeIncrement"]; - /** Format: double */ - timeZoneDifference: number; - }; - CostOverTime: { - /** Format: date-time */ - time: string; - /** Format: double */ - cost: number; - }; - "ResultSuccess_CostOverTime-Array_": { - data: components["schemas"]["CostOverTime"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_CostOverTime-Array.string_": components["schemas"]["ResultSuccess_CostOverTime-Array_"] | components["schemas"]["ResultError_string_"]; - TokensOverTime: { - /** Format: date-time */ - time: string; - /** Format: double */ - prompt_tokens: number; - /** Format: double */ - completion_tokens: number; - }; - "ResultSuccess_TokensOverTime-Array_": { - data: components["schemas"]["TokensOverTime"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_TokensOverTime-Array.string_": components["schemas"]["ResultSuccess_TokensOverTime-Array_"] | components["schemas"]["ResultError_string_"]; - LatencyOverTime: { - /** Format: date-time */ - time: string; - /** Format: double */ - duration: number; - }; - "ResultSuccess_LatencyOverTime-Array_": { - data: components["schemas"]["LatencyOverTime"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_LatencyOverTime-Array.string_": components["schemas"]["ResultSuccess_LatencyOverTime-Array_"] | components["schemas"]["ResultError_string_"]; - TimeToFirstTokenOverTime: { - /** Format: date-time */ - time: string; - /** Format: double */ - ttft: number; - }; - "ResultSuccess_TimeToFirstTokenOverTime-Array_": { - data: components["schemas"]["TimeToFirstTokenOverTime"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_TimeToFirstTokenOverTime-Array.string_": components["schemas"]["ResultSuccess_TimeToFirstTokenOverTime-Array_"] | components["schemas"]["ResultError_string_"]; - UsersOverTime: { - /** Format: date-time */ - time: string; - /** Format: double */ - count: number; - }; - "ResultSuccess_UsersOverTime-Array_": { - data: components["schemas"]["UsersOverTime"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_UsersOverTime-Array.string_": components["schemas"]["ResultSuccess_UsersOverTime-Array_"] | components["schemas"]["ResultError_string_"]; - ThreatsOverTime: { - /** Format: date-time */ - time: string; - /** Format: double */ - count: number; - }; - "ResultSuccess_ThreatsOverTime-Array_": { - data: components["schemas"]["ThreatsOverTime"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_ThreatsOverTime-Array.string_": components["schemas"]["ResultSuccess_ThreatsOverTime-Array_"] | components["schemas"]["ResultError_string_"]; - ErrorOverTime: { - /** Format: date-time */ - time: string; - /** Format: double */ - count: number; - }; - "ResultSuccess_ErrorOverTime-Array_": { - data: components["schemas"]["ErrorOverTime"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_ErrorOverTime-Array.string_": components["schemas"]["ResultSuccess_ErrorOverTime-Array_"] | components["schemas"]["ResultError_string_"]; - RequestCountBody: { - filter: components["schemas"]["FilterNode"]; - isCached?: boolean; - }; - ModelMetric: { - model: string; - /** Format: double */ - total_requests: number; - /** Format: double */ - total_completion_tokens: number; - /** Format: double */ - total_prompt_token: number; - /** Format: double */ - total_tokens: number; - /** Format: double */ - cost: number; - }; - "ResultSuccess_ModelMetric-Array_": { - data: components["schemas"]["ModelMetric"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_ModelMetric-Array.string_": components["schemas"]["ResultSuccess_ModelMetric-Array_"] | components["schemas"]["ResultError_string_"]; - ModelMetricsBody: { - filter: components["schemas"]["FilterNode"]; - /** Format: double */ - offset: number; - /** Format: double */ - limit: number; - timeFilter: { - end: string; - start: string; - }; - }; - CountryData: { - country: string; - /** Format: double */ - total_requests: number; - }; - "ResultSuccess_CountryData-Array_": { - data: components["schemas"]["CountryData"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_CountryData-Array.string_": components["schemas"]["ResultSuccess_CountryData-Array_"] | components["schemas"]["ResultError_string_"]; - CountryMetricsBody: { - filter: components["schemas"]["FilterNode"]; - /** Format: double */ - offset: number; - /** Format: double */ - limit: number; - timeFilter: { - end: string; - start: string; - }; - }; - Quantiles: { - /** Format: date-time */ - time: string; - /** Format: double */ - p75: number; - /** Format: double */ - p90: number; - /** Format: double */ - p95: number; - /** Format: double */ - p99: number; - }; - "ResultSuccess_Quantiles-Array_": { - data: components["schemas"]["Quantiles"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_Quantiles-Array.string_": components["schemas"]["ResultSuccess_Quantiles-Array_"] | components["schemas"]["ResultError_string_"]; - QuantilesBody: { - filter: components["schemas"]["FilterNode"]; - timeFilter: { - end: string; - start: string; - }; - dbIncrement?: components["schemas"]["TimeIncrement"]; - /** Format: double */ - timeZoneDifference: number; - metric: string; - }; - "ResultSuccess__unsafe-boolean__": { - data: { - unsafe: boolean; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__unsafe-boolean_.string_": components["schemas"]["ResultSuccess__unsafe-boolean__"] | components["schemas"]["ResultError_string_"]; - ClickHouseTableColumn: { - name: string; - type: string; - default_type?: string; - default_expression?: string; - comment?: string; - codec_expression?: string; - ttl_expression?: string; - }; - ClickHouseTableSchema: { - table_name: string; - columns: components["schemas"]["ClickHouseTableColumn"][]; - }; - "ResultSuccess_ClickHouseTableSchema-Array_": { - data: components["schemas"]["ClickHouseTableSchema"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_ClickHouseTableSchema-Array.string_": components["schemas"]["ResultSuccess_ClickHouseTableSchema-Array_"] | components["schemas"]["ResultError_string_"]; - ExecuteSqlResponse: { - /** Format: double */ - rowCount: number; - /** Format: double */ - size: number; - /** Format: double */ - elapsedMilliseconds: number; - rows: components["schemas"]["Record_string.any_"][]; - }; - ResultSuccess_ExecuteSqlResponse_: { - data: components["schemas"]["ExecuteSqlResponse"]; - /** @enum {number|null} */ - error: null; - }; - "Result_ExecuteSqlResponse.string_": components["schemas"]["ResultSuccess_ExecuteSqlResponse_"] | components["schemas"]["ResultError_string_"]; - ExecuteSqlRequest: { - sql: string; - }; - HqlSavedQuery: { - id: string; - organization_id: string; - name: string; - sql: string; - created_at: string; - updated_at: string; - }; - ResultSuccess_Array_HqlSavedQuery__: { - data: components["schemas"]["HqlSavedQuery"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_Array_HqlSavedQuery_.string_": components["schemas"]["ResultSuccess_Array_HqlSavedQuery__"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_HqlSavedQuery-or-null_": { - data: components["schemas"]["HqlSavedQuery"] | null; - /** @enum {number|null} */ - error: null; - }; - "Result_HqlSavedQuery-or-null.string_": components["schemas"]["ResultSuccess_HqlSavedQuery-or-null_"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_void_: { - data: unknown; - /** @enum {number|null} */ - error: null; - }; - "Result_void.string_": components["schemas"]["ResultSuccess_void_"] | components["schemas"]["ResultError_string_"]; - BulkDeleteSavedQueriesRequest: { - ids: string[]; - }; - "ResultSuccess_HqlSavedQuery-Array_": { - data: components["schemas"]["HqlSavedQuery"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_HqlSavedQuery-Array.string_": components["schemas"]["ResultSuccess_HqlSavedQuery-Array_"] | components["schemas"]["ResultError_string_"]; - CreateSavedQueryRequest: { - name: string; - sql: string; - }; - ResultSuccess_HqlSavedQuery_: { - data: components["schemas"]["HqlSavedQuery"]; - /** @enum {number|null} */ - error: null; - }; - "Result_HqlSavedQuery.string_": components["schemas"]["ResultSuccess_HqlSavedQuery_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__tableId-string--experimentId-string__": { - data: { - experimentId: string; - tableId: string; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__tableId-string--experimentId-string_.string_": components["schemas"]["ResultSuccess__tableId-string--experimentId-string__"] | components["schemas"]["ResultError_string_"]; - CreateExperimentTableParams: { - datasetId: string; - experimentMetadata: components["schemas"]["Record_string.any_"]; - promptVersionId: string; - newHeliconeTemplate: string; - isMajorVersion: boolean; - promptSubversionMetadata: components["schemas"]["Record_string.any_"]; - experimentTableMetadata?: components["schemas"]["Record_string.any_"]; - }; - ExperimentTableColumn: { - id: string; - columnName: string; - columnType: string; - hypothesisId?: string; - cells: ({ - metadata?: components["schemas"]["Record_string.any_"]; - value: string | null; - requestId?: string; - /** Format: double */ - rowIndex: number; - id: string; - })[]; - metadata?: components["schemas"]["Record_string.any_"]; - }; - ExperimentTable: { - id: string; - name: string; - experimentId: string; - columns: components["schemas"]["ExperimentTableColumn"][]; - metadata?: components["schemas"]["Record_string.any_"]; - }; - ResultSuccess_ExperimentTable_: { - data: components["schemas"]["ExperimentTable"]; - /** @enum {number|null} */ - error: null; - }; - "Result_ExperimentTable.string_": components["schemas"]["ResultSuccess_ExperimentTable_"] | components["schemas"]["ResultError_string_"]; - ExperimentTableSimplified: { - id: string; - name: string; - experimentId: string; - createdAt: string; - metadata?: unknown; - columns: { - columnType: string; - columnName: string; - id: string; - }[]; - }; - ResultSuccess_ExperimentTableSimplified_: { - data: components["schemas"]["ExperimentTableSimplified"]; - /** @enum {number|null} */ - error: null; - }; - "Result_ExperimentTableSimplified.string_": components["schemas"]["ResultSuccess_ExperimentTableSimplified_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_ExperimentTableSimplified-Array_": { - data: components["schemas"]["ExperimentTableSimplified"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_ExperimentTableSimplified-Array.string_": components["schemas"]["ResultSuccess_ExperimentTableSimplified-Array_"] | components["schemas"]["ResultError_string_"]; - NewExperimentParams: { - datasetId: string; - promptVersion: string; - model: string; - providerKeyId: string; - meta?: unknown; - }; - "ResultSuccess__hypothesisId-string__": { - data: { - hypothesisId: string; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__hypothesisId-string_.string_": components["schemas"]["ResultSuccess__hypothesisId-string__"] | components["schemas"]["ResultError_string_"]; - Score: { - valueType: string; - value: number | string; - }; - /** @description Construct a type with a set of properties K of type T */ - "Record_string.Score_": { - [key: string]: components["schemas"]["Score"]; - }; - "ResultSuccess__runsCount-number--scores-Record_string.Score___": { - data: { - scores: components["schemas"]["Record_string.Score_"]; - /** Format: double */ - runsCount: number; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__runsCount-number--scores-Record_string.Score__.string_": components["schemas"]["ResultSuccess__runsCount-number--scores-Record_string.Score___"] | components["schemas"]["ResultError_string_"]; - ResponseObj: { - body: unknown; - createdAt: string; - /** Format: double */ - completionTokens: number; - /** Format: double */ - promptTokens: number; - /** Format: double */ - promptCacheWriteTokens: number; - /** Format: double */ - promptCacheReadTokens: number; - /** Format: double */ - delayMs: number; - model: string; - }; - RequestObj: { - id: string; - provider: string; - }; - ExperimentDatasetRow: { - rowId: string; - inputRecord: { - request: components["schemas"]["RequestObj"]; - response: components["schemas"]["ResponseObj"]; - autoInputs: components["schemas"]["Record_string.string_"][]; - inputs: components["schemas"]["Record_string.string_"]; - requestPath: string; - requestId: string; - id: string; - }; - /** Format: double */ - rowIndex: number; - columnId: string; - scores: components["schemas"]["Record_string.Score_"]; - }; - ExperimentScores: { - dataset: { - scores: components["schemas"]["Record_string.Score_"]; - }; - hypothesis: { - scores: components["schemas"]["Record_string.Score_"]; - /** Format: double */ - runsCount: number; - }; - }; - Experiment: { - id: string; - organization: string; - dataset: { - rows: components["schemas"]["ExperimentDatasetRow"][]; - name: string; - id: string; - }; - meta: unknown; - createdAt: string; - hypotheses: { - runs: { - request?: components["schemas"]["RequestObj"]; - scores: components["schemas"]["Record_string.Score_"]; - response?: components["schemas"]["ResponseObj"]; - resultRequestId: string; - datasetRowId: string; - }[]; - providerKey: string; - createdAt: string; - status: string; - model: string; - parentPromptVersion?: { - template: unknown; - }; - promptVersion?: { - template: unknown; - }; - promptVersionId: string; - id: string; - }[]; - scores: components["schemas"]["ExperimentScores"] | null; - tableId: string | null; - }; - "ResultSuccess_Experiment-Array_": { - data: components["schemas"]["Experiment"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_Experiment-Array.string_": components["schemas"]["ResultSuccess_Experiment-Array_"] | components["schemas"]["ResultError_string_"]; - /** @description From T, pick a set of properties whose keys are in the union K */ - "Pick_FilterLeaf.experiment_": { - experiment?: components["schemas"]["Partial_ExperimentToOperators_"]; - }; - FilterLeafSubset_experiment_: components["schemas"]["Pick_FilterLeaf.experiment_"]; - ExperimentFilterNode: components["schemas"]["FilterLeafSubset_experiment_"] | components["schemas"]["ExperimentFilterBranch"] | "all"; - ExperimentFilterBranch: { - right: components["schemas"]["ExperimentFilterNode"]; - /** @enum {string} */ - operator: "or" | "and"; - left: components["schemas"]["ExperimentFilterNode"]; - }; - IncludeExperimentKeys: { - /** @enum {boolean} */ - inputs?: true; - /** @enum {boolean} */ - promptVersion?: true; - /** @enum {boolean} */ - responseBodies?: true; - /** @enum {boolean} */ - score?: true; - }; - "ResultSuccess__datasetId-string__": { - data: { - datasetId: string; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__datasetId-string_.string_": components["schemas"]["ResultSuccess__datasetId-string__"] | components["schemas"]["ResultError_string_"]; - DatasetMetadata: { - promptVersionId?: string; - inputRecordsIds?: string[]; - }; - NewDatasetParams: { - datasetName: string; - requestIds: string[]; - /** @enum {string} */ - datasetType: "experiment" | "helicone"; - meta?: components["schemas"]["DatasetMetadata"]; - }; - /** @description From T, pick a set of properties whose keys are in the union K */ - "Pick_FilterLeaf.request-or-prompts_versions_": { - request?: components["schemas"]["Partial_RequestTableToOperators_"]; - prompts_versions?: components["schemas"]["Partial_PromptVersionsToOperators_"]; - }; - "FilterLeafSubset_request-or-prompts_versions_": components["schemas"]["Pick_FilterLeaf.request-or-prompts_versions_"]; - DatasetFilterNode: components["schemas"]["FilterLeafSubset_request-or-prompts_versions_"] | components["schemas"]["DatasetFilterBranch"] | "all"; - DatasetFilterBranch: { - right: components["schemas"]["DatasetFilterNode"]; - /** @enum {string} */ - operator: "or" | "and"; - left: components["schemas"]["DatasetFilterNode"]; - }; - RandomDatasetParams: { - datasetName: string; - filter: components["schemas"]["DatasetFilterNode"]; - /** Format: double */ - offset?: number; - /** Format: double */ - limit?: number; - }; - DatasetResult: { - id: string; - name: string; - created_at: string; - meta?: components["schemas"]["DatasetMetadata"]; - }; - "ResultSuccess_DatasetResult-Array_": { - data: components["schemas"]["DatasetResult"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_DatasetResult-Array.string_": components["schemas"]["ResultSuccess_DatasetResult-Array_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess___-Array_": { - data: Record[]; - /** @enum {number|null} */ - error: null; - }; - "Result___-Array.string_": components["schemas"]["ResultSuccess___-Array_"] | components["schemas"]["ResultError_string_"]; - HeliconeDatasetMetadata: { - promptVersionId?: string; - inputRecordsIds?: string[]; - }; - NewHeliconeDatasetParams: { - datasetName: string; - requestIds: string[]; - meta?: components["schemas"]["HeliconeDatasetMetadata"]; - }; - MutateParams: { - addRequests: string[]; - removeRequests: string[]; - }; - HeliconeDatasetRow: { - id: string; - origin_request_id: string; - dataset_id: string; - created_at: string; - signed_url: components["schemas"]["Result_string.string_"]; - }; - "ResultSuccess_HeliconeDatasetRow-Array_": { - data: components["schemas"]["HeliconeDatasetRow"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_HeliconeDatasetRow-Array.string_": components["schemas"]["ResultSuccess_HeliconeDatasetRow-Array_"] | components["schemas"]["ResultError_string_"]; - HeliconeDataset: { - created_at: string | null; - dataset_type: string; - id: string; - meta: components["schemas"]["Json"] | null; - name: string | null; - organization: string; - /** Format: double */ - requests_count: number; - }; - "ResultSuccess_HeliconeDataset-Array_": { - data: components["schemas"]["HeliconeDataset"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_HeliconeDataset-Array.string_": components["schemas"]["ResultSuccess_HeliconeDataset-Array_"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_any_: { - data: unknown; - /** @enum {number|null} */ - error: null; - }; - Eval: { - name: string; - /** Format: double */ - averageScore: number; - /** Format: double */ - minScore: number; - /** Format: double */ - maxScore: number; - /** Format: double */ - count: number; - overTime: { - /** Format: double */ - count: number; - date: string; - }[]; - averageOverTime: { - /** Format: double */ - value: number; - date: string; - }[]; - }; - "ResultSuccess_Eval-Array_": { - data: components["schemas"]["Eval"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_Eval-Array.string_": components["schemas"]["ResultSuccess_Eval-Array_"] | components["schemas"]["ResultError_string_"]; - EvalFilterNode: components["schemas"]["FilterLeafSubset_request_response_rmt_"] | components["schemas"]["EvalFilterBranch"] | "all"; - EvalFilterBranch: { - right: components["schemas"]["EvalFilterNode"]; - /** @enum {string} */ - operator: "or" | "and"; - left: components["schemas"]["EvalFilterNode"]; - }; - EvalQueryParams: { - filter: components["schemas"]["EvalFilterNode"]; - timeFilter: { - end: string; - start: string; - }; - /** Format: double */ - offset?: number; - /** Format: double */ - limit?: number; - /** Format: double */ - timeZoneDifference?: number; - }; - ScoreDistribution: { - name: string; - distribution: { - /** Format: double */ - value: number; - /** Format: double */ - upper: number; - /** Format: double */ - lower: number; - }[]; - }; - "ResultSuccess_ScoreDistribution-Array_": { - data: components["schemas"]["ScoreDistribution"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_ScoreDistribution-Array.string_": components["schemas"]["ResultSuccess_ScoreDistribution-Array_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__score_key-string--score_sum-number--created_at_trunc-string_-Array_": { - data: { - created_at_trunc: string; - /** Format: double */ - score_sum: number; - score_key: string; - }[]; - /** @enum {number|null} */ - error: null; - }; - "Result__score_key-string--score_sum-number--created_at_trunc-string_-Array.string_": components["schemas"]["ResultSuccess__score_key-string--score_sum-number--created_at_trunc-string_-Array_"] | components["schemas"]["ResultError_string_"]; - CustomerUsage: { - id: string; - name: string; - /** Format: double */ - cost: number; - /** Format: double */ - count: number; - /** Format: double */ - prompt_tokens: number; - /** Format: double */ - completion_tokens: number; - }; - Customer: { - id: string; - name: string; - }; - CreditBalanceResponse: { - /** Format: double */ - totalCreditsPurchased: number; - /** Format: double */ - balance: number; - }; - ResultSuccess_CreditBalanceResponse_: { - data: components["schemas"]["CreditBalanceResponse"]; - /** @enum {number|null} */ - error: null; - }; - "Result_CreditBalanceResponse.string_": components["schemas"]["ResultSuccess_CreditBalanceResponse_"] | components["schemas"]["ResultError_string_"]; - PurchasedCredits: { - id: string; - /** Format: double */ - createdAt: number; - /** Format: double */ - credits: number; - referenceId: string; - }; - PaginatedPurchasedCredits: { - purchases: components["schemas"]["PurchasedCredits"][]; - /** Format: double */ - total: number; - /** Format: double */ - page: number; - /** Format: double */ - pageSize: number; - }; - ResultSuccess_PaginatedPurchasedCredits_: { - data: components["schemas"]["PaginatedPurchasedCredits"]; - /** @enum {number|null} */ - error: null; - }; - "Result_PaginatedPurchasedCredits.string_": components["schemas"]["ResultSuccess_PaginatedPurchasedCredits_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__totalSpend-number__": { - data: { - /** Format: double */ - totalSpend: number; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__totalSpend-number_.string_": components["schemas"]["ResultSuccess__totalSpend-number__"] | components["schemas"]["ResultError_string_"]; - ModelSpend: { - model: string; - provider: string; - /** Format: double */ - promptTokens: number; - /** Format: double */ - completionTokens: number; - /** Format: double */ - cacheReadTokens: number; - /** Format: double */ - cacheWriteTokens: number; - pricing: { - /** Format: double */ - cacheWritePer1M?: number; - /** Format: double */ - cacheReadPer1M?: number; - /** Format: double */ - outputPer1M: number; - /** Format: double */ - inputPer1M: number; - } | null; - /** Format: double */ - subtotal: number; - /** Format: double */ - discountPercent: number; - /** Format: double */ - total: number; - /** Format: double */ - cacheAdjustment?: number; - }; - SpendBreakdownResponse: { - models: components["schemas"]["ModelSpend"][]; - /** Format: double */ - totalCost: number; - timeRange: { - end: string; - start: string; - }; - }; - ResultSuccess_SpendBreakdownResponse_: { - data: components["schemas"]["SpendBreakdownResponse"]; - /** @enum {number|null} */ - error: null; - }; - "Result_SpendBreakdownResponse.string_": components["schemas"]["ResultSuccess_SpendBreakdownResponse_"] | components["schemas"]["ResultError_string_"]; - PTBInvoice: { - id: string; - organizationId: string; - stripeInvoiceId: string | null; - hostedInvoiceUrl: string | null; - startDate: string; - endDate: string; - /** Format: double */ - amountCents: number; - /** Format: double */ - subtotalCents: number | null; - notes: string | null; - createdAt: string; - }; - "ResultSuccess_PTBInvoice-Array_": { - data: components["schemas"]["PTBInvoice"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_PTBInvoice-Array.string_": components["schemas"]["ResultSuccess_PTBInvoice-Array_"] | components["schemas"]["ResultError_string_"]; - OrgDiscount: { - provider: string | null; - model: string | null; - /** Format: double */ - percent: number; - }; - "ResultSuccess_OrgDiscount-Array_": { - data: components["schemas"]["OrgDiscount"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_OrgDiscount-Array.string_": components["schemas"]["ResultSuccess_OrgDiscount-Array_"] | components["schemas"]["ResultError_string_"]; - InAppThread: { - id: string; - chat: unknown; - user_id: string; - org_id: string; - /** Format: date-time */ - created_at: string; - escalated: boolean; - metadata: unknown; - /** Format: date-time */ - updated_at: string; - soft_delete: boolean; - }; - ResultSuccess_InAppThread_: { - data: components["schemas"]["InAppThread"]; - /** @enum {number|null} */ - error: null; - }; - "Result_InAppThread.string_": components["schemas"]["ResultSuccess_InAppThread_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__success-boolean__": { - data: { - success: boolean; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__success-boolean_.string_": components["schemas"]["ResultSuccess__success-boolean__"] | components["schemas"]["ResultError_string_"]; - ThreadSummary: { - id: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - escalated: boolean; - /** Format: double */ - message_count: number; - first_message?: string; - last_message?: string; - soft_delete?: boolean; - }; - "ResultSuccess_ThreadSummary-Array_": { - data: components["schemas"]["ThreadSummary"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_ThreadSummary-Array.string_": components["schemas"]["ResultSuccess_ThreadSummary-Array_"] | components["schemas"]["ResultError_string_"]; - }; - responses: { - }; - parameters: { - }; - requestBodies: { - }; - headers: { - }; - pathItems: never; -} - -export type $defs = Record; - -export type external = Record; - -export interface operations { - - GetProviderKey: { - parameters: { - path: { - providerKeyId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["DecryptedProviderKey"] | { - error: string; - }; - }; - }; - }; - }; - DeleteProviderKey: { - parameters: { - path: { - providerKeyId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": ({ - /** @enum {string} */ - providerName: "baseten" | "anthropic" | "azure" | "bedrock" | "canopywave" | "cerebras" | "chutes" | "deepinfra" | "deepseek" | "fireworks" | "google-ai-studio" | "groq" | "helicone" | "mistral" | "nebius" | "novita" | "openai" | "openrouter" | "perplexity" | "vertex" | "xai"; - }) | { - error: string; - }; - }; - }; - }; - }; - UpdateProviderKey: { - parameters: { - path: { - providerKeyId: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["UpdateProviderKeyRequest"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__id-string--providerName-string_.string_"]; - }; - }; - }; - }; - CreateProviderKey: { - requestBody: { - content: { - "application/json": components["schemas"]["CreateProviderKeyRequest"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": { - id: string; - } | { - error: string; - }; - }; - }; - }; - }; - GetProviderKeys: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["ProviderKeyRow"][] | { - error: string; - }; - }; - }; - }; - }; - GetAPIKeys: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__api_key_hash-string--api_key_name-string--created_at-string--governance-boolean--id-number--key_permissions-string--organization_id-string--soft_delete-boolean--temp_key-boolean--updated_at-string--user_id-string_-Array.string_"]; - }; - }; - }; - }; - CreateAPIKey: { - requestBody: { - content: { - "application/json": { - /** @enum {string} */ - key_permissions?: "rw" | "r" | "w"; - api_key_name: string; - }; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": { - hashedKey: string; - apiKey: string; - id: string; - } | { - error: string; - }; - }; - }; - }; - }; - CreateProxyKey: { - requestBody: { - content: { - "application/json": { - proxyKeyName: string; - providerKeyId: string; - }; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": { - proxyKeyId: string; - proxyKey: string; - } | { - error: string; - }; - }; - }; - }; - }; - DeleteAPIKey: { - parameters: { - path: { - apiKeyId: number; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": { - hashedKey: string; - } | { - error: string; - }; - }; - }; - }; - }; - UpdateAPIKey: { - parameters: { - path: { - apiKeyId: number; - }; - }; - requestBody: { - content: { - "application/json": { - api_key_name: string; - }; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": { - hashedKey: string; - } | { - error: string; - }; - }; - }; - }; - }; - CreateEvaluator: { - requestBody: { - content: { - "application/json": components["schemas"]["CreateEvaluatorParams"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_EvaluatorResult.string_"]; - }; - }; - }; - }; - GetEvaluator: { - parameters: { - path: { - evaluatorId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_EvaluatorResult.string_"]; - }; - }; - }; - }; - UpdateEvaluator: { - parameters: { - path: { - evaluatorId: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["UpdateEvaluatorParams"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_EvaluatorResult.string_"]; - }; - }; - }; - }; - DeleteEvaluator: { - parameters: { - path: { - evaluatorId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; - }; - }; - QueryEvaluators: { - requestBody: { - content: { - "application/json": Record; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_EvaluatorResult-Array.string_"]; - }; - }; - }; - }; - GetExperimentsForEvaluator: { - parameters: { - path: { - evaluatorId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_EvaluatorExperiment-Array.string_"]; - }; - }; - }; - }; - GetOnlineEvaluators: { - parameters: { - path: { - evaluatorId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_OnlineEvaluatorByEvaluatorId-Array.string_"]; - }; - }; - }; - }; - CreateOnlineEvaluator: { - parameters: { - path: { - evaluatorId: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["CreateOnlineEvaluatorParams"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; - }; - }; - DeleteOnlineEvaluator: { - parameters: { - path: { - evaluatorId: string; - onlineEvaluatorId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; - }; - }; - TestPythonEvaluator: { - requestBody: { - content: { - "application/json": { - testInput: components["schemas"]["TestInput"]; - code: string; - }; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__output-string--traces-string-Array--statusCode_63_-number_.string_"]; - }; - }; - }; - }; - TestLLMEvaluator: { - requestBody: { - content: { - "application/json": { - evaluatorName: string; - testInput: components["schemas"]["TestInput"]; - evaluatorConfig: components["schemas"]["EvaluatorConfig"]; - }; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["EvaluatorScoreResult"]; - }; - }; - }; - }; - TestLastMileEvaluator: { - requestBody: { - content: { - "application/json": { - testInput: components["schemas"]["TestInput"]; - config: components["schemas"]["LastMileConfigForm"]; - }; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__score-number--input-string--output-string--ground_truth_63_-string_.string_"]; - }; - }; - }; - }; - GetEvaluatorStats: { - parameters: { - path: { - evaluatorId: string; - }; + priority?: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_EvaluatorStats.string_"]; - }; - }; + SimplifiedModalityPricing: { + /** Format: double */ + input?: number; + /** Format: double */ + cachedInput?: number; + /** Format: double */ + output?: number; }; - }; - GetPrompt2025: { - parameters: { - path: { - promptId: string; - }; + SimplifiedPricing: { + /** Format: double */ + prompt: number; + /** Format: double */ + completion: number; + audio?: components["schemas"]["SimplifiedModalityPricing"]; + /** Format: double */ + thinking?: number; + /** Format: double */ + web_search?: number; + image?: components["schemas"]["SimplifiedModalityPricing"]; + video?: components["schemas"]["SimplifiedModalityPricing"]; + file?: components["schemas"]["SimplifiedModalityPricing"]; + /** Format: double */ + cacheRead?: number; + /** Format: double */ + cacheWrite?: number; + /** Format: double */ + threshold?: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_Prompt2025.string_"]; - }; - }; + ModelEndpoint: { + provider: string; + providerSlug: string; + endpoint?: components["schemas"]["Endpoint"]; + supportsPtb?: boolean; + pricing: components["schemas"]["SimplifiedPricing"]; + pricingTiers?: components["schemas"]["SimplifiedPricing"][]; }; - }; - RenamePrompt2025: { - parameters: { - path: { - promptId: string; - }; + /** @enum {string} */ + InputModality: "text" | "image" | "audio" | "video"; + /** @enum {string} */ + OutputModality: "text" | "image" | "audio" | "video"; + ModelRegistryItem: { + id: string; + name: string; + author: string; + /** Format: double */ + contextLength: number; + endpoints: components["schemas"]["ModelEndpoint"][]; + /** Format: double */ + maxOutput?: number; + trainingDate?: string; + description?: string; + inputModalities: components["schemas"]["InputModality"][]; + outputModalities: components["schemas"]["OutputModality"][]; + supportedParameters: components["schemas"]["StandardParameter"][]; + pinnedVersionOfModel?: string; }; - requestBody: { - content: { - "application/json": { - name: string; - }; + /** @enum {string} */ + ModelCapability: "audio" | "video" | "image" | "thinking" | "web_search" | "caching" | "reasoning"; + ModelRegistryResponse: { + models: components["schemas"]["ModelRegistryItem"][]; + /** Format: double */ + total: number; + filters: { + capabilities: components["schemas"]["ModelCapability"][]; + authors: string[]; + providers: { + displayName: string; + name: string; + }[]; }; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; + ResultSuccess_ModelRegistryResponse_: { + data: components["schemas"]["ModelRegistryResponse"]; + /** @enum {number|null} */ + error: null; }; - }; - UpdatePrompt2025Tags: { - parameters: { - path: { - promptId: string; - }; + "Result_ModelRegistryResponse.string_": components["schemas"]["ResultSuccess_ModelRegistryResponse_"] | components["schemas"]["ResultError_string_"]; + OAIModel: { + id: string; + /** @enum {string} */ + object: "model"; + /** Format: double */ + created: number; + owned_by: string; }; - requestBody: { - content: { - "application/json": { - tags: string[]; - }; - }; + OAIModelsResponse: { + /** @enum {string} */ + object: "list"; + data: components["schemas"]["OAIModel"][]; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_string-Array.string_"]; - }; - }; + MetricStats: { + /** Format: double */ + p99: number; + /** Format: double */ + p95: number; + /** Format: double */ + p90: number; + /** Format: double */ + max: number; + /** Format: double */ + min: number; + /** Format: double */ + median: number; + /** Format: double */ + average: number; }; - }; - DeletePrompt2025: { - parameters: { - path: { - promptId: string; - }; + TokenMetricStats: components["schemas"]["MetricStats"] & { + /** Format: double */ + medianPer1000Tokens: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; + TimeSeriesMetric: { + /** Format: double */ + value: number; + timestamp: string; }; - }; - DeletePrompt2025Version: { - parameters: { - path: { - promptId: string; - versionId: string; + Model: { + timeSeriesData: { + errorRate: components["schemas"]["TimeSeriesMetric"][]; + successRate: components["schemas"]["TimeSeriesMetric"][]; + ttft: components["schemas"]["TimeSeriesMetric"][]; + latency: components["schemas"]["TimeSeriesMetric"][]; }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; + requestStatus: { + /** Format: double */ + errorRate: number; + /** Format: double */ + successRate: number; }; - }; - }; - GetPrompt2025Inputs: { - parameters: { - query: { - requestId: string; + geographicTtft: { + /** Format: double */ + median: number; + countryCode: string; + }[]; + geographicLatency: { + /** Format: double */ + median: number; + countryCode: string; + }[]; + feedback: { + /** Format: double */ + negativePercentage: number; + /** Format: double */ + positivePercentage: number; }; - path: { - promptId: string; - versionId: string; + costs: { + /** Format: double */ + completion_token: number; + /** Format: double */ + prompt_token: number; }; + ttft: components["schemas"]["MetricStats"]; + latency: components["schemas"]["TokenMetricStats"]; + provider: string; + model: string; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_Prompt2025Input.string_"]; - }; - }; + "ResultSuccess_Model-Array_": { + data: components["schemas"]["Model"][]; + /** @enum {number|null} */ + error: null; }; - }; - GetPrompt2025Tags: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_string-Array.string_"]; - }; - }; + "Result_Model-Array.string_": components["schemas"]["ResultSuccess_Model-Array_"] | components["schemas"]["ResultError_string_"]; + ModelsToCompare: { + provider: string; + names: string[]; + parent: string; }; - }; - GetPrompt2025Environments: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_string-Array.string_"]; - }; + MetricsFilterBody: { + filter: components["schemas"]["FilterNode"]; + timeFilter: { + end: string; + start: string; }; }; - }; - CreatePrompt2025: { - requestBody: { - content: { - "application/json": { - promptBody: components["schemas"]["OpenAIChatRequest"]; - tags: string[]; - name: string; - }; - }; + TokensPerRequest: { + /** Format: double */ + average_prompt_tokens_per_response: number; + /** Format: double */ + average_completion_tokens_per_response: number; + /** Format: double */ + average_total_tokens_per_response: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptCreateResponse.string_"]; - }; - }; + ResultSuccess_TokensPerRequest_: { + data: components["schemas"]["TokensPerRequest"]; + /** @enum {number|null} */ + error: null; }; - }; - UpdatePrompt2025: { - requestBody: { - content: { - "application/json": { - promptBody: components["schemas"]["OpenAIChatRequest"]; - commitMessage: string; - environment?: string; - newMajorVersion: boolean; - promptVersionId: string; - promptId: string; - }; - }; + "Result_TokensPerRequest.string_": components["schemas"]["ResultSuccess_TokensPerRequest_"] | components["schemas"]["ResultError_string_"]; + RequestsOverTime: { + /** Format: date-time */ + time: string; + /** Format: double */ + count: number; + /** Format: double */ + status?: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__id-string_.string_"]; - }; - }; + "ResultSuccess_RequestsOverTime-Array_": { + data: components["schemas"]["RequestsOverTime"][]; + /** @enum {number|null} */ + error: null; }; - }; - SetPromptVersionEnvironment: { - requestBody: { - content: { - "application/json": { - environment: string; - promptVersionId: string; - promptId: string; - }; + "Result_RequestsOverTime-Array.string_": components["schemas"]["ResultSuccess_RequestsOverTime-Array_"] | components["schemas"]["ResultError_string_"]; + MetricsOverTimeBody: { + timeFilter: { + end: string; + start: string; }; + filter: components["schemas"]["FilterNode"]; + dbIncrement?: components["schemas"]["TimeIncrement"]; + /** Format: double */ + timeZoneDifference: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; + CostOverTime: { + /** Format: date-time */ + time: string; + /** Format: double */ + cost: number; }; - }; - RemoveEnvironmentFromVersion: { - requestBody: { - content: { - "application/json": { - environment: string; - promptVersionId: string; - promptId: string; - }; - }; + "ResultSuccess_CostOverTime-Array_": { + data: components["schemas"]["CostOverTime"][]; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; + "Result_CostOverTime-Array.string_": components["schemas"]["ResultSuccess_CostOverTime-Array_"] | components["schemas"]["ResultError_string_"]; + TokensOverTime: { + /** Format: date-time */ + time: string; + /** Format: double */ + prompt_tokens: number; + /** Format: double */ + completion_tokens: number; }; - }; - GetPrompt2025Count: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_number.string_"]; - }; - }; + "ResultSuccess_TokensOverTime-Array_": { + data: components["schemas"]["TokensOverTime"][]; + /** @enum {number|null} */ + error: null; }; - }; - GetPrompts2025: { - requestBody: { - content: { - "application/json": { - /** Format: double */ - pageSize: number; - /** Format: double */ - page: number; - tagsFilter: string[]; - search: string; - }; - }; + "Result_TokensOverTime-Array.string_": components["schemas"]["ResultSuccess_TokensOverTime-Array_"] | components["schemas"]["ResultError_string_"]; + LatencyOverTime: { + /** Format: date-time */ + time: string; + /** Format: double */ + duration: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_Prompt2025-Array.string_"]; - }; - }; + "ResultSuccess_LatencyOverTime-Array_": { + data: components["schemas"]["LatencyOverTime"][]; + /** @enum {number|null} */ + error: null; }; - }; - GetPrompt2025Version: { - requestBody: { - content: { - "application/json": { - promptVersionId: string; - }; - }; + "Result_LatencyOverTime-Array.string_": components["schemas"]["ResultSuccess_LatencyOverTime-Array_"] | components["schemas"]["ResultError_string_"]; + TimeToFirstTokenOverTime: { + /** Format: date-time */ + time: string; + /** Format: double */ + ttft: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_Prompt2025Version.string_"]; - }; - }; + "ResultSuccess_TimeToFirstTokenOverTime-Array_": { + data: components["schemas"]["TimeToFirstTokenOverTime"][]; + /** @enum {number|null} */ + error: null; }; - }; - GetPrompt2025EnvironmentVersion: { - requestBody: { - content: { - "application/json": { - environment: string; - promptId: string; - }; - }; + "Result_TimeToFirstTokenOverTime-Array.string_": components["schemas"]["ResultSuccess_TimeToFirstTokenOverTime-Array_"] | components["schemas"]["ResultError_string_"]; + UsersOverTime: { + /** Format: date-time */ + time: string; + /** Format: double */ + count: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_Prompt2025Version.string_"]; - }; - }; + "ResultSuccess_UsersOverTime-Array_": { + data: components["schemas"]["UsersOverTime"][]; + /** @enum {number|null} */ + error: null; }; - }; - GetPrompt2025Versions: { - requestBody: { - content: { - "application/json": { - /** Format: double */ - majorVersion?: number; - promptId: string; - }; - }; + "Result_UsersOverTime-Array.string_": components["schemas"]["ResultSuccess_UsersOverTime-Array_"] | components["schemas"]["ResultError_string_"]; + ThreatsOverTime: { + /** Format: date-time */ + time: string; + /** Format: double */ + count: number; + }; + "ResultSuccess_ThreatsOverTime-Array_": { + data: components["schemas"]["ThreatsOverTime"][]; + /** @enum {number|null} */ + error: null; + }; + "Result_ThreatsOverTime-Array.string_": components["schemas"]["ResultSuccess_ThreatsOverTime-Array_"] | components["schemas"]["ResultError_string_"]; + ErrorOverTime: { + /** Format: date-time */ + time: string; + /** Format: double */ + count: number; + }; + "ResultSuccess_ErrorOverTime-Array_": { + data: components["schemas"]["ErrorOverTime"][]; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_Prompt2025Version-Array.string_"]; - }; - }; + "Result_ErrorOverTime-Array.string_": components["schemas"]["ResultSuccess_ErrorOverTime-Array_"] | components["schemas"]["ResultError_string_"]; + RequestCountBody: { + filter: components["schemas"]["FilterNode"]; + isCached?: boolean; }; - }; - GetPrompt2025ProductionVersion: { - requestBody: { - content: { - "application/json": { - promptId: string; - }; - }; + ModelMetric: { + model: string; + /** Format: double */ + total_requests: number; + /** Format: double */ + total_completion_tokens: number; + /** Format: double */ + total_prompt_token: number; + /** Format: double */ + total_tokens: number; + /** Format: double */ + cost: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_Prompt2025Version.string_"]; - }; - }; + "ResultSuccess_ModelMetric-Array_": { + data: components["schemas"]["ModelMetric"][]; + /** @enum {number|null} */ + error: null; }; - }; - GetPrompt2025TotalVersions: { - requestBody: { - content: { - "application/json": { - promptId: string; - }; + "Result_ModelMetric-Array.string_": components["schemas"]["ResultSuccess_ModelMetric-Array_"] | components["schemas"]["ResultError_string_"]; + ModelMetricsBody: { + filter: components["schemas"]["FilterNode"]; + /** Format: double */ + offset: number; + /** Format: double */ + limit: number; + timeFilter: { + end: string; + start: string; }; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptVersionCounts.string_"]; - }; - }; + CountryData: { + country: string; + /** Format: double */ + total_requests: number; }; - }; - /** @description Get the full prompt body (messages, tools, etc.) for a specific prompt version. */ - GetPrompt2025VersionBody: { - parameters: { - path: { - promptVersionId: string; - }; + "ResultSuccess_CountryData-Array_": { + data: components["schemas"]["CountryData"][]; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_Prompt2025Version_91_prompt_body_93_.string_"]; - }; + "Result_CountryData-Array.string_": components["schemas"]["ResultSuccess_CountryData-Array_"] | components["schemas"]["ResultError_string_"]; + CountryMetricsBody: { + filter: components["schemas"]["FilterNode"]; + /** Format: double */ + offset: number; + /** Format: double */ + limit: number; + timeFilter: { + end: string; + start: string; }; }; - }; - HasPrompts: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__hasPrompts-boolean_.string_"]; - }; - }; + Quantiles: { + /** Format: date-time */ + time: string; + /** Format: double */ + p75: number; + /** Format: double */ + p90: number; + /** Format: double */ + p95: number; + /** Format: double */ + p99: number; }; - }; - GetPrompts: { - requestBody: { - content: { - "application/json": components["schemas"]["PromptsQueryParams"]; - }; + "ResultSuccess_Quantiles-Array_": { + data: components["schemas"]["Quantiles"][]; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptsResult-Array.string_"]; - }; + "Result_Quantiles-Array.string_": components["schemas"]["ResultSuccess_Quantiles-Array_"] | components["schemas"]["ResultError_string_"]; + QuantilesBody: { + filter: components["schemas"]["FilterNode"]; + timeFilter: { + end: string; + start: string; }; + dbIncrement?: components["schemas"]["TimeIncrement"]; + /** Format: double */ + timeZoneDifference: number; + metric: string; }; - }; - GetPrompt: { - parameters: { - path: { - promptId: string; + "ResultSuccess__unsafe-boolean__": { + data: { + unsafe: boolean; }; + /** @enum {number|null} */ + error: null; }; - requestBody: { - content: { - "application/json": components["schemas"]["PromptQueryParams"]; - }; + "Result__unsafe-boolean_.string_": components["schemas"]["ResultSuccess__unsafe-boolean__"] | components["schemas"]["ResultError_string_"]; + ClickHouseTableColumn: { + name: string; + type: string; + default_type?: string; + default_expression?: string; + comment?: string; + codec_expression?: string; + ttl_expression?: string; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptResult.string_"]; - }; - }; + ClickHouseTableSchema: { + table_name: string; + columns: components["schemas"]["ClickHouseTableColumn"][]; }; - }; - DeletePrompt: { - parameters: { - path: { - promptId: string; - }; + "ResultSuccess_ClickHouseTableSchema-Array_": { + data: components["schemas"]["ClickHouseTableSchema"][]; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description No content */ - 204: { - content: never; - }; + "Result_ClickHouseTableSchema-Array.string_": components["schemas"]["ResultSuccess_ClickHouseTableSchema-Array_"] | components["schemas"]["ResultError_string_"]; + ExecuteSqlResponse: { + /** Format: double */ + rowCount: number; + /** Format: double */ + size: number; + /** Format: double */ + elapsedMilliseconds: number; + rows: components["schemas"]["Record_string.any_"][]; }; - }; - CreatePrompt: { - requestBody: { - content: { - "application/json": { - metadata: components["schemas"]["Record_string.any_"]; - prompt: unknown; - userDefinedId: string; - }; - }; + ResultSuccess_ExecuteSqlResponse_: { + data: components["schemas"]["ExecuteSqlResponse"]; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_CreatePromptResponse.string_"]; - }; - }; + "Result_ExecuteSqlResponse.string_": components["schemas"]["ResultSuccess_ExecuteSqlResponse_"] | components["schemas"]["ResultError_string_"]; + ExecuteSqlRequest: { + sql: string; }; - }; - UpdatePromptUserDefinedId: { - parameters: { - path: { - promptId: string; - }; + HqlSavedQuery: { + id: string; + organization_id: string; + name: string; + sql: string; + created_at: string; + updated_at: string; }; - requestBody: { - content: { - "application/json": { - userDefinedId: string; - }; - }; + ResultSuccess_Array_HqlSavedQuery__: { + data: components["schemas"]["HqlSavedQuery"][]; + /** @enum {number|null} */ + error: null; + }; + "Result_Array_HqlSavedQuery_.string_": components["schemas"]["ResultSuccess_Array_HqlSavedQuery__"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess_HqlSavedQuery-or-null_": { + data: components["schemas"]["HqlSavedQuery"] | null; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; + "Result_HqlSavedQuery-or-null.string_": components["schemas"]["ResultSuccess_HqlSavedQuery-or-null_"] | components["schemas"]["ResultError_string_"]; + ResultSuccess_void_: { + data: unknown; + /** @enum {number|null} */ + error: null; }; - }; - EditPromptVersionLabel: { - parameters: { - path: { - promptVersionId: string; - }; + "Result_void.string_": components["schemas"]["ResultSuccess_void_"] | components["schemas"]["ResultError_string_"]; + BulkDeleteSavedQueriesRequest: { + ids: string[]; }; - requestBody: { - content: { - "application/json": components["schemas"]["PromptEditSubversionLabelParams"]; - }; + "ResultSuccess_HqlSavedQuery-Array_": { + data: components["schemas"]["HqlSavedQuery"][]; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__metadata-Record_string.any__.string_"]; - }; - }; + "Result_HqlSavedQuery-Array.string_": components["schemas"]["ResultSuccess_HqlSavedQuery-Array_"] | components["schemas"]["ResultError_string_"]; + CreateSavedQueryRequest: { + name: string; + sql: string; }; - }; - EditPromptVersionTemplate: { - parameters: { - path: { - promptVersionId: string; - }; + ResultSuccess_HqlSavedQuery_: { + data: components["schemas"]["HqlSavedQuery"]; + /** @enum {number|null} */ + error: null; }; - requestBody: { - content: { - "application/json": components["schemas"]["PromptEditSubversionTemplateParams"]; + "Result_HqlSavedQuery.string_": components["schemas"]["ResultSuccess_HqlSavedQuery_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__datasetId-string__": { + data: { + datasetId: string; }; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; + "Result__datasetId-string_.string_": components["schemas"]["ResultSuccess__datasetId-string__"] | components["schemas"]["ResultError_string_"]; + HeliconeDatasetMetadata: { + promptVersionId?: string; + inputRecordsIds?: string[]; }; - }; - CreateSubversionFromUi: { - parameters: { - path: { - promptVersionId: string; - }; + NewHeliconeDatasetParams: { + datasetName: string; + requestIds: string[]; + meta?: components["schemas"]["HeliconeDatasetMetadata"]; }; - requestBody: { - content: { - "application/json": components["schemas"]["PromptCreateSubversionParams"]; - }; + MutateParams: { + addRequests: string[]; + removeRequests: string[]; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptVersionResult.string_"]; - }; - }; + HeliconeDatasetRow: { + id: string; + origin_request_id: string; + dataset_id: string; + created_at: string; + signed_url: components["schemas"]["Result_string.string_"]; }; - }; - CreateSubversion: { - parameters: { - path: { - promptVersionId: string; - }; + "ResultSuccess_HeliconeDatasetRow-Array_": { + data: components["schemas"]["HeliconeDatasetRow"][]; + /** @enum {number|null} */ + error: null; }; - requestBody: { - content: { - "application/json": components["schemas"]["PromptCreateSubversionParams"]; - }; + "Result_HeliconeDatasetRow-Array.string_": components["schemas"]["ResultSuccess_HeliconeDatasetRow-Array_"] | components["schemas"]["ResultError_string_"]; + HeliconeDataset: { + created_at: string | null; + dataset_type: string; + id: string; + meta: components["schemas"]["Json"] | null; + name: string | null; + organization: string; + /** Format: double */ + requests_count: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptVersionResult.string_"]; - }; - }; + "ResultSuccess_HeliconeDataset-Array_": { + data: components["schemas"]["HeliconeDataset"][]; + /** @enum {number|null} */ + error: null; }; - }; - PromotePromptVersionToProduction: { - parameters: { - path: { - promptVersionId: string; - }; + "Result_HeliconeDataset-Array.string_": components["schemas"]["ResultSuccess_HeliconeDataset-Array_"] | components["schemas"]["ResultError_string_"]; + ResultSuccess_any_: { + data: unknown; + /** @enum {number|null} */ + error: null; }; - requestBody: { - content: { - "application/json": { - previousProductionVersionId: string; - }; - }; + Eval: { + name: string; + /** Format: double */ + averageScore: number; + /** Format: double */ + minScore: number; + /** Format: double */ + maxScore: number; + /** Format: double */ + count: number; + overTime: { + /** Format: double */ + count: number; + date: string; + }[]; + averageOverTime: { + /** Format: double */ + value: number; + date: string; + }[]; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptVersionResult.string_"]; - }; - }; + "ResultSuccess_Eval-Array_": { + data: components["schemas"]["Eval"][]; + /** @enum {number|null} */ + error: null; }; - }; - GetInputs: { - parameters: { - path: { - promptVersionId: string; + "Result_Eval-Array.string_": components["schemas"]["ResultSuccess_Eval-Array_"] | components["schemas"]["ResultError_string_"]; + EvalFilterNode: components["schemas"]["FilterLeafSubset_request_response_rmt_"] | components["schemas"]["EvalFilterBranch"] | "all"; + EvalFilterBranch: { + right: components["schemas"]["EvalFilterNode"]; + /** @enum {string} */ + operator: "or" | "and"; + left: components["schemas"]["EvalFilterNode"]; + }; + EvalQueryParams: { + filter: components["schemas"]["EvalFilterNode"]; + timeFilter: { + end: string; + start: string; }; + /** Format: double */ + offset?: number; + /** Format: double */ + limit?: number; + /** Format: double */ + timeZoneDifference?: number; }; - requestBody: { - content: { - "application/json": { - random?: boolean; + ScoreDistribution: { + name: string; + distribution: { /** Format: double */ - limit: number; - }; - }; + value: number; + /** Format: double */ + upper: number; + /** Format: double */ + lower: number; + }[]; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptInputRecord-Array.string_"]; - }; - }; + "ResultSuccess_ScoreDistribution-Array_": { + data: components["schemas"]["ScoreDistribution"][]; + /** @enum {number|null} */ + error: null; }; - }; - GetPromptExperiments: { - parameters: { - path: { - promptId: string; - }; + "Result_ScoreDistribution-Array.string_": components["schemas"]["ResultSuccess_ScoreDistribution-Array_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__score_key-string--score_sum-number--created_at_trunc-string_-Array_": { + data: { + created_at_trunc: string; + /** Format: double */ + score_sum: number; + score_key: string; + }[]; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array.string_"]; - }; - }; + "Result__score_key-string--score_sum-number--created_at_trunc-string_-Array.string_": components["schemas"]["ResultSuccess__score_key-string--score_sum-number--created_at_trunc-string_-Array_"] | components["schemas"]["ResultError_string_"]; + CustomerUsage: { + id: string; + name: string; + /** Format: double */ + cost: number; + /** Format: double */ + count: number; + /** Format: double */ + prompt_tokens: number; + /** Format: double */ + completion_tokens: number; }; - }; - GetPromptVersions: { - parameters: { - path: { - promptId: string; - }; + Customer: { + id: string; + name: string; }; - requestBody: { - content: { - "application/json": components["schemas"]["PromptVersionsQueryParams"]; - }; + CreditBalanceResponse: { + /** Format: double */ + totalCreditsPurchased: number; + /** Format: double */ + balance: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptVersionResult-Array.string_"]; - }; - }; + ResultSuccess_CreditBalanceResponse_: { + data: components["schemas"]["CreditBalanceResponse"]; + /** @enum {number|null} */ + error: null; }; - }; - GetPromptVersion: { - parameters: { - path: { - promptVersionId: string; - }; + "Result_CreditBalanceResponse.string_": components["schemas"]["ResultSuccess_CreditBalanceResponse_"] | components["schemas"]["ResultError_string_"]; + PurchasedCredits: { + id: string; + /** Format: double */ + createdAt: number; + /** Format: double */ + credits: number; + referenceId: string; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptVersionResult.string_"]; - }; - }; + PaginatedPurchasedCredits: { + purchases: components["schemas"]["PurchasedCredits"][]; + /** Format: double */ + total: number; + /** Format: double */ + page: number; + /** Format: double */ + pageSize: number; }; - }; - DeletePromptVersion: { - parameters: { - path: { - experimentId: string; - promptVersionId: string; - }; + ResultSuccess_PaginatedPurchasedCredits_: { + data: components["schemas"]["PaginatedPurchasedCredits"]; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; + "Result_PaginatedPurchasedCredits.string_": components["schemas"]["ResultSuccess_PaginatedPurchasedCredits_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__totalSpend-number__": { + data: { + /** Format: double */ + totalSpend: number; }; + /** @enum {number|null} */ + error: null; }; - }; - GetPromptVersionsCompiled: { - parameters: { - path: { - user_defined_id: string; - }; + "Result__totalSpend-number_.string_": components["schemas"]["ResultSuccess__totalSpend-number__"] | components["schemas"]["ResultError_string_"]; + ModelSpend: { + model: string; + provider: string; + /** Format: double */ + promptTokens: number; + /** Format: double */ + completionTokens: number; + /** Format: double */ + cacheReadTokens: number; + /** Format: double */ + cacheWriteTokens: number; + pricing: { + /** Format: double */ + cacheWritePer1M?: number; + /** Format: double */ + cacheReadPer1M?: number; + /** Format: double */ + outputPer1M: number; + /** Format: double */ + inputPer1M: number; + } | null; + /** Format: double */ + subtotal: number; + /** Format: double */ + discountPercent: number; + /** Format: double */ + total: number; + /** Format: double */ + cacheAdjustment?: number; }; - requestBody: { - content: { - "application/json": components["schemas"]["PromptVersiosQueryParamsCompiled"]; + SpendBreakdownResponse: { + models: components["schemas"]["ModelSpend"][]; + /** Format: double */ + totalCost: number; + timeRange: { + end: string; + start: string; }; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptVersionResultCompiled.string_"]; - }; - }; + ResultSuccess_SpendBreakdownResponse_: { + data: components["schemas"]["SpendBreakdownResponse"]; + /** @enum {number|null} */ + error: null; }; - }; - GetPromptVersionTemplates: { - parameters: { - path: { - user_defined_id: string; - }; + "Result_SpendBreakdownResponse.string_": components["schemas"]["ResultSuccess_SpendBreakdownResponse_"] | components["schemas"]["ResultError_string_"]; + PTBInvoice: { + id: string; + organizationId: string; + stripeInvoiceId: string | null; + hostedInvoiceUrl: string | null; + startDate: string; + endDate: string; + /** Format: double */ + amountCents: number; + /** Format: double */ + subtotalCents: number | null; + notes: string | null; + createdAt: string; }; - requestBody: { - content: { - "application/json": components["schemas"]["PromptVersiosQueryParamsCompiled"]; - }; + "ResultSuccess_PTBInvoice-Array_": { + data: components["schemas"]["PTBInvoice"][]; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptVersionResultFilled.string_"]; - }; - }; + "Result_PTBInvoice-Array.string_": components["schemas"]["ResultSuccess_PTBInvoice-Array_"] | components["schemas"]["ResultError_string_"]; + OrgDiscount: { + provider: string | null; + model: string | null; + /** Format: double */ + percent: number; }; - }; - CreateEmptyExperiment: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__experimentId-string_.string_"]; - }; - }; + "ResultSuccess_OrgDiscount-Array_": { + data: components["schemas"]["OrgDiscount"][]; + /** @enum {number|null} */ + error: null; }; - }; - CreateExperimentFromRequest: { - parameters: { - path: { - requestId: string; - }; + "Result_OrgDiscount-Array.string_": components["schemas"]["ResultSuccess_OrgDiscount-Array_"] | components["schemas"]["ResultError_string_"]; + InAppThread: { + id: string; + chat: unknown; + user_id: string; + org_id: string; + /** Format: date-time */ + created_at: string; + escalated: boolean; + metadata: unknown; + /** Format: date-time */ + updated_at: string; + soft_delete: boolean; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__experimentId-string_.string_"]; - }; - }; + ResultSuccess_InAppThread_: { + data: components["schemas"]["InAppThread"]; + /** @enum {number|null} */ + error: null; }; - }; - CreateNewExperiment: { - requestBody: { - content: { - "application/json": { - originalPromptVersion: string; - name: string; - }; + "Result_InAppThread.string_": components["schemas"]["ResultSuccess_InAppThread_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__success-boolean__": { + data: { + success: boolean; }; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__experimentId-string_.string_"]; - }; - }; + "Result__success-boolean_.string_": components["schemas"]["ResultSuccess__success-boolean__"] | components["schemas"]["ResultError_string_"]; + ThreadSummary: { + id: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + escalated: boolean; + /** Format: double */ + message_count: number; + first_message?: string; + last_message?: string; + soft_delete?: boolean; }; - }; - GetExperiments: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_ExperimentV2-Array.string_"]; - }; - }; + "ResultSuccess_ThreadSummary-Array_": { + data: components["schemas"]["ThreadSummary"][]; + /** @enum {number|null} */ + error: null; }; + "Result_ThreadSummary-Array.string_": components["schemas"]["ResultSuccess_ThreadSummary-Array_"] | components["schemas"]["ResultError_string_"]; }; - GetExperimentById: { + responses: { + }; + parameters: { + }; + requestBodies: { + }; + headers: { + }; + pathItems: never; +} + +export type $defs = Record; + +export type external = Record; + +export interface operations { + + GetProviderKey: { parameters: { path: { - experimentId: string; + providerKeyId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ExtendedExperimentData.string_"]; + "application/json": components["schemas"]["DecryptedProviderKey"] | { + error: string; + }; }; }; }; }; - DeleteExperiment: { + DeleteProviderKey: { parameters: { path: { - experimentId: string; + providerKeyId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": ({ + /** @enum {string} */ + providerName: "baseten" | "anthropic" | "azure" | "bedrock" | "canopywave" | "cerebras" | "chutes" | "deepinfra" | "deepseek" | "fireworks" | "google-ai-studio" | "groq" | "helicone" | "mistral" | "nebius" | "novita" | "openai" | "openrouter" | "perplexity" | "vertex" | "xai"; + }) | { + error: string; + }; }; }; }; }; - CreateNewPromptVersionForExperiment: { + UpdateProviderKey: { parameters: { path: { - experimentId: string; + providerKeyId: string; }; }; requestBody: { content: { - "application/json": components["schemas"]["CreateNewPromptVersionForExperimentParams"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptVersionResult.string_"]; - }; - }; - }; - }; - GetPromptVersionsForExperiment: { - parameters: { - path: { - experimentId: string; + "application/json": components["schemas"]["UpdateProviderKeyRequest"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ExperimentV2PromptVersion-Array.string_"]; + "application/json": components["schemas"]["Result__id-string--providerName-string_.string_"]; }; }; }; }; - GetInputKeysForExperiment: { - parameters: { - path: { - experimentId: string; + CreateProviderKey: { + requestBody: { + content: { + "application/json": components["schemas"]["CreateProviderKeyRequest"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_string-Array.string_"]; + "application/json": { + id: string; + } | { + error: string; + }; }; }; }; }; - AddManualRowToExperiment: { - parameters: { - path: { - experimentId: string; - }; - }; - requestBody: { - content: { - "application/json": { - inputs: components["schemas"]["Record_string.string_"]; - }; - }; - }; + GetProviderKeys: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_string.string_"]; + "application/json": components["schemas"]["ProviderKeyRow"][] | { + error: string; + }; }; }; }; }; - AddManualRowsToExperimentBatch: { - parameters: { - path: { - experimentId: string; - }; - }; - requestBody: { - content: { - "application/json": { - inputs: components["schemas"]["Record_string.string_"][]; - }; - }; - }; + GetAPIKeys: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result__api_key_hash-string--api_key_name-string--created_at-string--governance-boolean--id-number--key_permissions-string--organization_id-string--soft_delete-boolean--temp_key-boolean--updated_at-string--user_id-string_-Array.string_"]; }; }; }; }; - DeleteExperimentTableRows: { - parameters: { - path: { - experimentId: string; - }; - }; + CreateAPIKey: { requestBody: { content: { "application/json": { - inputRecordIds: string[]; + /** @enum {string} */ + key_permissions?: "rw" | "r" | "w"; + api_key_name: string; }; }; }; @@ -5950,25 +4202,23 @@ export interface operations { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": { + hashedKey: string; + apiKey: string; + id: string; + } | { + error: string; + }; }; }; }; }; - CreateExperimentTableRowBatch: { - parameters: { - path: { - experimentId: string; - }; - }; + CreateProxyKey: { requestBody: { content: { "application/json": { - rows: { - autoInputs: unknown[]; - inputs: components["schemas"]["Record_string.string_"]; - inputRecordId: string; - }[]; + proxyKeyName: string; + providerKeyId: string; }; }; }; @@ -5976,38 +4226,45 @@ export interface operations { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": { + proxyKeyId: string; + proxyKey: string; + } | { + error: string; + }; }; }; }; }; - CreateExperimentTableRowFromDataset: { + DeleteAPIKey: { parameters: { path: { - experimentId: string; - datasetId: string; + apiKeyId: number; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": { + hashedKey: string; + } | { + error: string; + }; }; }; }; }; - UpdateExperimentTableRow: { + UpdateAPIKey: { parameters: { path: { - experimentId: string; + apiKeyId: number; }; }; requestBody: { content: { "application/json": { - inputs: components["schemas"]["Record_string.string_"]; - inputRecordId: string; + api_key_name: string; }; }; }; @@ -6015,75 +4272,68 @@ export interface operations { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": { + hashedKey: string; + } | { + error: string; + }; }; }; }; }; - RunHypothesis: { - parameters: { - path: { - experimentId: string; - }; - }; + CreateEvaluator: { requestBody: { content: { - "application/json": { - inputRecordId: string; - promptVersionId: string; - }; + "application/json": components["schemas"]["CreateEvaluatorParams"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_string.string_"]; + "application/json": components["schemas"]["Result_EvaluatorResult.string_"]; }; }; }; }; - GetExperimentEvaluators: { + GetEvaluator: { parameters: { path: { - experimentId: string; + evaluatorId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_EvaluatorResult-Array.string_"]; + "application/json": components["schemas"]["Result_EvaluatorResult.string_"]; }; }; }; }; - CreateExperimentEvaluator: { + UpdateEvaluator: { parameters: { path: { - experimentId: string; + evaluatorId: string; }; }; requestBody: { content: { - "application/json": { - evaluatorId: string; - }; + "application/json": components["schemas"]["UpdateEvaluatorParams"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result_EvaluatorResult.string_"]; }; }; }; }; - DeleteExperimentEvaluator: { + DeleteEvaluator: { parameters: { path: { - experimentId: string; evaluatorId: string; }; }; @@ -6096,227 +4346,180 @@ export interface operations { }; }; }; - RunExperimentEvaluators: { - parameters: { - path: { - experimentId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; - }; - }; - ShouldRunEvaluators: { - parameters: { - path: { - experimentId: string; + QueryEvaluators: { + requestBody: { + content: { + "application/json": Record; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_boolean.string_"]; + "application/json": components["schemas"]["Result_EvaluatorResult-Array.string_"]; }; }; }; }; - GetExperimentPromptVersionScores: { + GetOnlineEvaluators: { parameters: { path: { - experimentId: string; - promptVersionId: string; + evaluatorId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_Record_string.ScoreV2_.string_"]; + "application/json": components["schemas"]["Result_OnlineEvaluatorByEvaluatorId-Array.string_"]; }; }; }; }; - GetExperimentScore: { + CreateOnlineEvaluator: { parameters: { path: { - experimentId: string; - requestId: string; - scoreKey: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_ScoreV2-or-null.string_"]; - }; - }; - }; - }; - GetCostForPrompts: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": number; - }; - }; - }; - }; - GetCostForEvals: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": number; - }; + evaluatorId: string; }; }; - }; - GetCostForExperiments: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": number; - }; + requestBody: { + content: { + "application/json": components["schemas"]["CreateOnlineEvaluatorParams"]; }; }; - }; - GetFreeUsage: { responses: { /** @description Ok */ 200: { content: { - "application/json": number; + "application/json": components["schemas"]["Result_null.string_"]; }; }; }; }; - CreateCloudGatewayCheckoutSession: { - requestBody: { - content: { - "application/json": components["schemas"]["CreateCloudGatewayCheckoutSessionRequest"]; + DeleteOnlineEvaluator: { + parameters: { + path: { + evaluatorId: string; + onlineEvaluatorId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": { - checkoutUrl: string; - }; + "application/json": components["schemas"]["Result_null.string_"]; }; }; }; }; - UpgradeToPro: { + TestPythonEvaluator: { requestBody: { content: { - "application/json": components["schemas"]["UpgradeToProRequest"]; + "application/json": { + testInput: components["schemas"]["TestInput"]; + code: string; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": string; + "application/json": components["schemas"]["Result__output-string--traces-string-Array--statusCode_63_-number_.string_"]; }; }; }; }; - UpgradeExistingCustomer: { + TestLLMEvaluator: { requestBody: { content: { - "application/json": components["schemas"]["UpgradeToProRequest"]; + "application/json": { + evaluatorName: string; + testInput: components["schemas"]["TestInput"]; + evaluatorConfig: components["schemas"]["EvaluatorConfig"]; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": string; + "application/json": components["schemas"]["EvaluatorScoreResult"]; }; }; }; }; - UpgradeToTeamBundle: { - requestBody?: { + TestLastMileEvaluator: { + requestBody: { content: { - "application/json": components["schemas"]["UpgradeToTeamBundleRequest"]; + "application/json": { + testInput: components["schemas"]["TestInput"]; + config: components["schemas"]["LastMileConfigForm"]; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": string; + "application/json": components["schemas"]["Result__score-number--input-string--output-string--ground_truth_63_-string_.string_"]; }; }; }; }; - UpgradeExistingCustomerToTeamBundle: { - requestBody?: { - content: { - "application/json": components["schemas"]["UpgradeToTeamBundleRequest"]; + GetEvaluatorStats: { + parameters: { + path: { + evaluatorId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": string; + "application/json": components["schemas"]["Result_EvaluatorStats.string_"]; }; }; }; }; - ManageSubscription: { + GetFreeUsage: { responses: { /** @description Ok */ 200: { content: { - "application/json": string; + "application/json": number; }; }; }; }; - UndoCancelSubscription: { + CreateCloudGatewayCheckoutSession: { + requestBody: { + content: { + "application/json": components["schemas"]["CreateCloudGatewayCheckoutSessionRequest"]; + }; + }; responses: { /** @description Ok */ 200: { content: { - "application/json": null; + "application/json": { + checkoutUrl: string; + }; }; }; }; }; - AddOns: { - parameters: { - path: { - productType: "alerts" | "prompts" | "experiments" | "evals"; - }; - }; + ManageSubscription: { responses: { /** @description Ok */ 200: { content: { - "application/json": null; + "application/json": string; }; }; }; }; - DeleteAddOns: { - parameters: { - path: { - productType: "alerts" | "prompts" | "experiments" | "evals"; - }; - }; + UndoCancelSubscription: { responses: { /** @description Ok */ 200: { @@ -6375,16 +4578,6 @@ export interface operations { }; }; }; - MigrateToPro: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": unknown; - }; - }; - }; - }; SearchPaymentIntents: { parameters: { query: { @@ -7331,16 +5524,204 @@ export interface operations { }; }; }; - SearchProperties: { - parameters: { - path: { - propertyKey: string; - }; - }; + SearchProperties: { + parameters: { + path: { + propertyKey: string; + }; + }; + requestBody: { + content: { + "application/json": { + searchTerm: string; + }; + }; + }; + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["Result_string-Array.string_"]; + }; + }; + }; + }; + GetTopCosts: { + parameters: { + path: { + propertyKey: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["TimeFilterRequest"]; + }; + }; + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["Result__value-string--cost-number_-Array.string_"]; + }; + }; + }; + }; + GetTopRequests: { + parameters: { + path: { + propertyKey: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["TimeFilterRequest"]; + }; + }; + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["Result__value-string--count-number_-Array.string_"]; + }; + }; + }; + }; + GetPrompt2025: { + parameters: { + path: { + promptId: string; + }; + }; + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["Result_Prompt2025.string_"]; + }; + }; + }; + }; + RenamePrompt2025: { + parameters: { + path: { + promptId: string; + }; + }; + requestBody: { + content: { + "application/json": { + name: string; + }; + }; + }; + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["Result_null.string_"]; + }; + }; + }; + }; + UpdatePrompt2025Tags: { + parameters: { + path: { + promptId: string; + }; + }; + requestBody: { + content: { + "application/json": { + tags: string[]; + }; + }; + }; + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["Result_string-Array.string_"]; + }; + }; + }; + }; + DeletePrompt2025: { + parameters: { + path: { + promptId: string; + }; + }; + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["Result_null.string_"]; + }; + }; + }; + }; + DeletePrompt2025Version: { + parameters: { + path: { + promptId: string; + versionId: string; + }; + }; + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["Result_null.string_"]; + }; + }; + }; + }; + GetPrompt2025Inputs: { + parameters: { + query: { + requestId: string; + }; + path: { + promptId: string; + versionId: string; + }; + }; + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["Result_Prompt2025Input.string_"]; + }; + }; + }; + }; + GetPrompt2025Tags: { + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["Result_string-Array.string_"]; + }; + }; + }; + }; + GetPrompt2025Environments: { + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["Result_string-Array.string_"]; + }; + }; + }; + }; + CreatePrompt2025: { requestBody: { content: { "application/json": { - searchTerm: string; + promptBody: components["schemas"]["OpenAIChatRequest"]; + tags: string[]; + name: string; }; }; }; @@ -7348,60 +5729,59 @@ export interface operations { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_string-Array.string_"]; + "application/json": components["schemas"]["Result_PromptCreateResponse.string_"]; }; }; }; }; - GetTopCosts: { - parameters: { - path: { - propertyKey: string; - }; - }; + UpdatePrompt2025: { requestBody: { content: { - "application/json": components["schemas"]["TimeFilterRequest"]; + "application/json": { + promptBody: components["schemas"]["OpenAIChatRequest"]; + commitMessage: string; + environment?: string; + newMajorVersion: boolean; + promptVersionId: string; + promptId: string; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__value-string--cost-number_-Array.string_"]; + "application/json": components["schemas"]["Result__id-string_.string_"]; }; }; }; }; - GetTopRequests: { - parameters: { - path: { - propertyKey: string; - }; - }; + SetPromptVersionEnvironment: { requestBody: { content: { - "application/json": components["schemas"]["TimeFilterRequest"]; + "application/json": { + environment: string; + promptVersionId: string; + promptId: string; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__value-string--count-number_-Array.string_"]; + "application/json": components["schemas"]["Result_null.string_"]; }; }; }; }; - Generate: { + RemoveEnvironmentFromVersion: { requestBody: { content: { - "application/json": components["schemas"]["OpenAIChatRequest"] & { - inputs?: unknown; - environment?: string; - prompt_id?: string; - logRequest?: boolean; - useAIGateway?: boolean; + "application/json": { + environment: string; + promptVersionId: string; + promptId: string; }; }; }; @@ -7409,26 +5789,31 @@ export interface operations { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ChatCompletion-or-_content-string--reasoning-string--calls-any_.string_"]; + "application/json": components["schemas"]["Result_null.string_"]; }; }; }; }; - GetRequestsThroughHelicone: { + GetPrompt2025Count: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_boolean.string_"]; + "application/json": components["schemas"]["Result_number.string_"]; }; }; }; }; - RequestsThroughHelicone: { + GetPrompts2025: { requestBody: { content: { "application/json": { - requestsThroughHelicone: boolean; + /** Format: double */ + pageSize: number; + /** Format: double */ + page: number; + tagsFilter: string[]; + search: string; }; }; }; @@ -7436,16 +5821,16 @@ export interface operations { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_string.string_"]; + "application/json": components["schemas"]["Result_Prompt2025-Array.string_"]; }; }; }; }; - GetApiKey: { + GetPrompt2025Version: { requestBody: { content: { "application/json": { - sessionUUID: string; + promptVersionId: string; }; }; }; @@ -7453,16 +5838,17 @@ export interface operations { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__apiKey-string_.string_"]; + "application/json": components["schemas"]["Result_Prompt2025Version.string_"]; }; }; }; }; - AddSession: { + GetPrompt2025EnvironmentVersion: { requestBody: { content: { "application/json": { - sessionUUID: string; + environment: string; + promptId: string; }; }; }; @@ -7470,396 +5856,465 @@ export interface operations { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_string.string_"]; + "application/json": components["schemas"]["Result_Prompt2025Version.string_"]; }; }; }; }; - GetOrgName: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_string.string_"]; + GetPrompt2025Versions: { + requestBody: { + content: { + "application/json": { + /** Format: double */ + majorVersion?: number; + promptId: string; }; }; }; - }; - GetTotalCosts: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_number.string_"]; + "application/json": components["schemas"]["Result_Prompt2025Version-Array.string_"]; }; }; }; }; - PiGetTotalRequests: { + GetPrompt2025ProductionVersion: { + requestBody: { + content: { + "application/json": { + promptId: string; + }; + }; + }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_number.string_"]; + "application/json": components["schemas"]["Result_Prompt2025Version.string_"]; }; }; }; }; - GetCostsOverTime: { + GetPrompt2025TotalVersions: { requestBody: { content: { - "application/json": components["schemas"]["DataOverTimeRequest"]; + "application/json": { + promptId: string; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__cost-number--created_at_trunc-string_-Array.string_"]; + "application/json": components["schemas"]["Result_PromptVersionCounts.string_"]; }; }; }; }; - /** - * Returns a comprehensive list of all AI models with their configurations, pricing, and capabilities - * @description Get all available models from the registry - */ - GetModelRegistry: { - responses: { - /** @description Complete model registry with models and filter options */ - 200: { - content: { - "application/json": components["schemas"]["Result_ModelRegistryResponse.string_"]; - }; + /** @description Get the full prompt body (messages, tools, etc.) for a specific prompt version. */ + GetPrompt2025VersionBody: { + parameters: { + path: { + promptVersionId: string; }; }; - }; - GetModels: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["OAIModelsResponse"]; + "application/json": components["schemas"]["Result_Prompt2025Version_91_prompt_body_93_.string_"]; }; }; }; }; - GetMultimodalModels: { + HasPrompts: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["OAIModelsResponse"]; + "application/json": components["schemas"]["Result__hasPrompts-boolean_.string_"]; }; }; }; }; - GetModelComparison: { + GetPrompts: { requestBody: { content: { - "application/json": components["schemas"]["ModelsToCompare"][]; + "application/json": components["schemas"]["PromptsQueryParams"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_Model-Array.string_"]; + "application/json": components["schemas"]["Result_PromptsResult-Array.string_"]; }; }; }; }; - GetTotalRequests: { + GetPrompt: { + parameters: { + path: { + promptId: string; + }; + }; requestBody: { content: { - "application/json": components["schemas"]["MetricsFilterBody"]; + "application/json": components["schemas"]["PromptQueryParams"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_number.string_"]; + "application/json": components["schemas"]["Result_PromptResult.string_"]; }; }; }; }; - GetTotalCost: { - requestBody: { - content: { - "application/json": components["schemas"]["MetricsFilterBody"]; + DeletePrompt: { + parameters: { + path: { + promptId: string; }; }; responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_number.string_"]; - }; + /** @description No content */ + 204: { + content: never; }; }; }; - GetAverageLatency: { + CreatePrompt: { requestBody: { content: { - "application/json": components["schemas"]["MetricsFilterBody"]; + "application/json": { + metadata: components["schemas"]["Record_string.any_"]; + prompt: unknown; + userDefinedId: string; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_number.string_"]; + "application/json": components["schemas"]["Result_CreatePromptResponse.string_"]; }; }; }; }; - GetAverageTimeToFirstToken: { + UpdatePromptUserDefinedId: { + parameters: { + path: { + promptId: string; + }; + }; requestBody: { content: { - "application/json": components["schemas"]["MetricsFilterBody"]; + "application/json": { + userDefinedId: string; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_number.string_"]; + "application/json": components["schemas"]["Result_null.string_"]; }; }; }; }; - GetAverageTokensPerRequest: { + EditPromptVersionLabel: { + parameters: { + path: { + promptVersionId: string; + }; + }; requestBody: { content: { - "application/json": components["schemas"]["MetricsFilterBody"]; + "application/json": components["schemas"]["PromptEditSubversionLabelParams"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_TokensPerRequest.string_"]; + "application/json": components["schemas"]["Result__metadata-Record_string.any__.string_"]; }; }; }; }; - GetTotalThreats: { + EditPromptVersionTemplate: { + parameters: { + path: { + promptVersionId: string; + }; + }; requestBody: { content: { - "application/json": components["schemas"]["MetricsFilterBody"]; + "application/json": components["schemas"]["PromptEditSubversionTemplateParams"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_number.string_"]; + "application/json": components["schemas"]["Result_null.string_"]; }; }; }; }; - GetActiveUsers: { + CreateSubversionFromUi: { + parameters: { + path: { + promptVersionId: string; + }; + }; requestBody: { content: { - "application/json": components["schemas"]["MetricsFilterBody"]; + "application/json": components["schemas"]["PromptCreateSubversionParams"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_number.string_"]; + "application/json": components["schemas"]["Result_PromptVersionResult.string_"]; }; }; }; }; - GetRequestsOverTime: { + CreateSubversion: { + parameters: { + path: { + promptVersionId: string; + }; + }; requestBody: { content: { - "application/json": components["schemas"]["MetricsOverTimeBody"]; + "application/json": components["schemas"]["PromptCreateSubversionParams"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_RequestsOverTime-Array.string_"]; + "application/json": components["schemas"]["Result_PromptVersionResult.string_"]; }; }; }; }; - GetCostOverTime: { + PromotePromptVersionToProduction: { + parameters: { + path: { + promptVersionId: string; + }; + }; requestBody: { content: { - "application/json": components["schemas"]["MetricsOverTimeBody"]; + "application/json": { + previousProductionVersionId: string; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_CostOverTime-Array.string_"]; + "application/json": components["schemas"]["Result_PromptVersionResult.string_"]; }; }; }; }; - GetTokensOverTime: { + GetInputs: { + parameters: { + path: { + promptVersionId: string; + }; + }; requestBody: { content: { - "application/json": components["schemas"]["MetricsOverTimeBody"]; + "application/json": { + random?: boolean; + /** Format: double */ + limit: number; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_TokensOverTime-Array.string_"]; + "application/json": components["schemas"]["Result_PromptInputRecord-Array.string_"]; }; }; }; }; - GetLatencyOverTime: { + GetPromptVersions: { + parameters: { + path: { + promptId: string; + }; + }; requestBody: { content: { - "application/json": components["schemas"]["MetricsOverTimeBody"]; + "application/json": components["schemas"]["PromptVersionsQueryParams"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_LatencyOverTime-Array.string_"]; + "application/json": components["schemas"]["Result_PromptVersionResult-Array.string_"]; }; }; }; }; - GetTimeToFirstTokenOverTime: { - requestBody: { - content: { - "application/json": components["schemas"]["MetricsOverTimeBody"]; + GetPromptVersion: { + parameters: { + path: { + promptVersionId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_TimeToFirstTokenOverTime-Array.string_"]; + "application/json": components["schemas"]["Result_PromptVersionResult.string_"]; }; }; }; }; - GetUsersOverTime: { - requestBody: { - content: { - "application/json": components["schemas"]["MetricsOverTimeBody"]; + DeletePromptVersion: { + parameters: { + path: { + promptVersionId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_UsersOverTime-Array.string_"]; + "application/json": components["schemas"]["Result_null.string_"]; }; }; }; }; - GetThreatsOverTime: { + GetPromptVersionsCompiled: { + parameters: { + path: { + user_defined_id: string; + }; + }; requestBody: { content: { - "application/json": components["schemas"]["MetricsOverTimeBody"]; + "application/json": components["schemas"]["PromptVersiosQueryParamsCompiled"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ThreatsOverTime-Array.string_"]; + "application/json": components["schemas"]["Result_PromptVersionResultCompiled.string_"]; }; }; }; }; - GetErrorsOverTime: { + GetPromptVersionTemplates: { + parameters: { + path: { + user_defined_id: string; + }; + }; requestBody: { content: { - "application/json": components["schemas"]["MetricsOverTimeBody"]; + "application/json": components["schemas"]["PromptVersiosQueryParamsCompiled"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ErrorOverTime-Array.string_"]; + "application/json": components["schemas"]["Result_PromptVersionResultFilled.string_"]; }; }; }; }; - GetRequestStatusOverTime: { + Generate: { requestBody: { content: { - "application/json": components["schemas"]["MetricsOverTimeBody"]; + "application/json": components["schemas"]["OpenAIChatRequest"] & { + inputs?: unknown; + environment?: string; + prompt_id?: string; + logRequest?: boolean; + useAIGateway?: boolean; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_RequestsOverTime-Array.string_"]; + "application/json": components["schemas"]["Result_ChatCompletion-or-_content-string--reasoning-string--calls-any_.string_"]; }; }; }; }; - GetModelMetrics: { - requestBody: { - content: { - "application/json": components["schemas"]["ModelMetricsBody"]; - }; - }; + GetRequestsThroughHelicone: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ModelMetric-Array.string_"]; + "application/json": components["schemas"]["Result_boolean.string_"]; }; }; }; }; - GetCountryMetrics: { + RequestsThroughHelicone: { requestBody: { content: { - "application/json": components["schemas"]["CountryMetricsBody"]; + "application/json": { + requestsThroughHelicone: boolean; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_CountryData-Array.string_"]; + "application/json": components["schemas"]["Result_string.string_"]; }; }; }; }; - GetQuantiles: { + GetApiKey: { requestBody: { content: { - "application/json": components["schemas"]["QuantilesBody"]; + "application/json": { + sessionUUID: string; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_Quantiles-Array.string_"]; + "application/json": components["schemas"]["Result__apiKey-string_.string_"]; }; }; }; }; - GetSecurity: { + AddSession: { requestBody: { content: { "application/json": { - text: string; - advanced: boolean; + sessionUUID: string; }; }; }; @@ -7867,672 +6322,578 @@ export interface operations { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__unsafe-boolean_.string_"]; + "application/json": components["schemas"]["Result_string.string_"]; }; }; }; }; - /** - * Get database schema - * @description Get ClickHouse schema (tables and columns) - */ - GetClickHouseSchema: { + GetOrgName: { responses: { - /** @description Array of table schemas with columns */ + /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ClickHouseTableSchema-Array.string_"]; + "application/json": components["schemas"]["Result_string.string_"]; }; }; }; }; - /** - * Execute SQL query - * @description Execute a SQL query against ClickHouse - */ - ExecuteSql: { - /** @description The SQL query to execute */ - requestBody: { - content: { - "application/json": components["schemas"]["ExecuteSqlRequest"]; + GetTotalCosts: { + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["Result_number.string_"]; + }; }; }; + }; + PiGetTotalRequests: { responses: { - /** @description Query results with rows and metadata */ + /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ExecuteSqlResponse.string_"]; + "application/json": components["schemas"]["Result_number.string_"]; }; }; }; }; - /** - * Download query results as CSV - * @description Execute a SQL query and download results as CSV - */ - DownloadCsv: { - /** @description The SQL query to execute */ + GetCostsOverTime: { requestBody: { content: { - "application/json": components["schemas"]["ExecuteSqlRequest"]; + "application/json": components["schemas"]["DataOverTimeRequest"]; }; }; responses: { - /** @description URL to download the CSV file */ + /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_string.string_"]; + "application/json": components["schemas"]["Result__cost-number--created_at_trunc-string_-Array.string_"]; }; }; }; }; /** - * List saved queries - * @description Get all saved queries for the organization + * Returns a comprehensive list of all AI models with their configurations, pricing, and capabilities + * @description Get all available models from the registry */ - GetSavedQueries: { + GetModelRegistry: { responses: { - /** @description Array of saved queries */ + /** @description Complete model registry with models and filter options */ 200: { content: { - "application/json": components["schemas"]["Result_Array_HqlSavedQuery_.string_"]; + "application/json": components["schemas"]["Result_ModelRegistryResponse.string_"]; }; }; }; }; - /** - * Get saved query - * @description Get a specific saved query by ID - */ - GetSavedQuery: { - parameters: { - path: { - /** @description The ID of the saved query */ - queryId: string; - }; - }; + GetModels: { responses: { - /** @description The saved query details */ + /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_HqlSavedQuery-or-null.string_"]; + "application/json": components["schemas"]["OAIModelsResponse"]; }; }; }; }; - /** - * Update saved query - * @description Update an existing saved query - */ - UpdateSavedQuery: { - parameters: { - path: { - /** @description The ID of the saved query to update */ - queryId: string; + GetMultimodalModels: { + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["OAIModelsResponse"]; + }; }; }; - /** @description The updated query details */ + }; + GetModelComparison: { requestBody: { content: { - "application/json": components["schemas"]["CreateSavedQueryRequest"]; + "application/json": components["schemas"]["ModelsToCompare"][]; }; }; responses: { - /** @description The updated saved query */ + /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_HqlSavedQuery.string_"]; + "application/json": components["schemas"]["Result_Model-Array.string_"]; }; }; }; }; - /** - * Delete saved query - * @description Delete a saved query by ID - */ - DeleteSavedQuery: { - parameters: { - path: { - /** @description The ID of the saved query to delete */ - queryId: string; + GetTotalRequests: { + requestBody: { + content: { + "application/json": components["schemas"]["MetricsFilterBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_void.string_"]; + "application/json": components["schemas"]["Result_number.string_"]; }; }; }; }; - /** - * Bulk delete saved queries - * @description Delete multiple saved queries at once - */ - BulkDeleteSavedQueries: { - /** @description Array of query IDs to delete */ + GetTotalCost: { requestBody: { content: { - "application/json": components["schemas"]["BulkDeleteSavedQueriesRequest"]; + "application/json": components["schemas"]["MetricsFilterBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_void.string_"]; + "application/json": components["schemas"]["Result_number.string_"]; }; }; }; }; - /** - * Create saved query - * @description Create a new saved query - */ - CreateSavedQuery: { - /** @description The saved query details */ + GetAverageLatency: { requestBody: { content: { - "application/json": components["schemas"]["CreateSavedQueryRequest"]; + "application/json": components["schemas"]["MetricsFilterBody"]; }; }; responses: { - /** @description Array containing the created saved query */ + /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_HqlSavedQuery-Array.string_"]; + "application/json": components["schemas"]["Result_number.string_"]; }; }; }; }; - CreateNewEmptyExperiment: { + GetAverageTimeToFirstToken: { requestBody: { content: { - "application/json": { - datasetId: string; - metadata: components["schemas"]["Record_string.string_"]; - }; + "application/json": components["schemas"]["MetricsFilterBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__experimentId-string_.string_"]; + "application/json": components["schemas"]["Result_number.string_"]; }; }; }; }; - CreateNewExperimentTable: { + GetAverageTokensPerRequest: { requestBody: { content: { - "application/json": components["schemas"]["CreateExperimentTableParams"]; + "application/json": components["schemas"]["MetricsFilterBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__tableId-string--experimentId-string_.string_"]; + "application/json": components["schemas"]["Result_TokensPerRequest.string_"]; }; }; }; }; - GetExperimentTableById: { - parameters: { - path: { - experimentTableId: string; + GetTotalThreats: { + requestBody: { + content: { + "application/json": components["schemas"]["MetricsFilterBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ExperimentTable.string_"]; + "application/json": components["schemas"]["Result_number.string_"]; }; }; }; }; - GetExperimentTableMetadata: { - parameters: { - path: { - experimentTableId: string; + GetActiveUsers: { + requestBody: { + content: { + "application/json": components["schemas"]["MetricsFilterBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ExperimentTableSimplified.string_"]; + "application/json": components["schemas"]["Result_number.string_"]; }; }; }; }; - GetExperimentTables: { + GetRequestsOverTime: { + requestBody: { + content: { + "application/json": components["schemas"]["MetricsOverTimeBody"]; + }; + }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ExperimentTableSimplified-Array.string_"]; + "application/json": components["schemas"]["Result_RequestsOverTime-Array.string_"]; }; }; }; }; - CreateExperimentCell: { - parameters: { - path: { - experimentTableId: string; - }; - }; + GetCostOverTime: { requestBody: { content: { - "application/json": { - value: string | null; - /** Format: double */ - rowIndex: number; - columnId: string; - }; + "application/json": components["schemas"]["MetricsOverTimeBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result_CostOverTime-Array.string_"]; }; }; }; }; - UpdateExperimentCell: { - parameters: { - path: { - experimentTableId: string; - }; - }; + GetTokensOverTime: { requestBody: { content: { - "application/json": { - updateInputs?: boolean; - metadata?: string; - value?: string; - status?: string; - cellId: string; - }; + "application/json": components["schemas"]["MetricsOverTimeBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result_TokensOverTime-Array.string_"]; }; }; }; }; - CreateExperimentColumn: { - parameters: { - path: { - experimentTableId: string; - }; - }; + GetLatencyOverTime: { requestBody: { content: { - "application/json": { - inputKeys?: string[]; - promptVersionId?: string; - hypothesisId?: string; - columnType: string; - columnName: string; - }; + "application/json": components["schemas"]["MetricsOverTimeBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result_LatencyOverTime-Array.string_"]; }; }; }; }; - CreateExperimentTableRow: { - parameters: { - path: { - experimentTableId: string; - }; - }; + GetTimeToFirstTokenOverTime: { requestBody: { content: { - "application/json": { - inputs?: components["schemas"]["Record_string.string_"]; - sourceRequest?: string; - promptVersionId: string; - }; + "application/json": components["schemas"]["MetricsOverTimeBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result_TimeToFirstTokenOverTime-Array.string_"]; }; }; }; }; - DeleteExperimentTableRow: { - parameters: { - path: { - experimentTableId: string; - rowIndex: number; + GetUsersOverTime: { + requestBody: { + content: { + "application/json": components["schemas"]["MetricsOverTimeBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result_UsersOverTime-Array.string_"]; }; }; }; }; - CreateExperimentTableRowWithCellsBatch: { - parameters: { - path: { - experimentTableId: string; - }; - }; + GetThreatsOverTime: { requestBody: { content: { - "application/json": { - rows: ({ - sourceRequest?: string; - cells: ({ - metadata?: unknown; - value: string | null; - columnId: string; - })[]; - datasetId: string; - inputs: components["schemas"]["Record_string.string_"]; - inputRecordId: string; - })[]; - }; + "application/json": components["schemas"]["MetricsOverTimeBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result_ThreatsOverTime-Array.string_"]; }; }; }; }; - UpdateExperimentMeta: { + GetErrorsOverTime: { requestBody: { content: { - "application/json": { - meta: components["schemas"]["Record_string.string_"]; - experimentId: string; - }; + "application/json": components["schemas"]["MetricsOverTimeBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["ResultError_string_"] | components["schemas"]["ResultSuccess_unknown_"]; + "application/json": components["schemas"]["Result_ErrorOverTime-Array.string_"]; }; }; }; }; - CreateNewExperimentOld: { + GetRequestStatusOverTime: { requestBody: { content: { - "application/json": components["schemas"]["NewExperimentParams"]; + "application/json": components["schemas"]["MetricsOverTimeBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__experimentId-string_.string_"]; + "application/json": components["schemas"]["Result_RequestsOverTime-Array.string_"]; }; }; }; }; - CreateNewExperimentHypothesis: { + GetModelMetrics: { requestBody: { content: { - "application/json": { - /** @enum {string} */ - status: "PENDING" | "RUNNING" | "COMPLETED" | "FAILED"; - providerKeyId: string; - promptVersion: string; - model: string; - experimentId: string; - }; + "application/json": components["schemas"]["ModelMetricsBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__hypothesisId-string_.string_"]; + "application/json": components["schemas"]["Result_ModelMetric-Array.string_"]; }; }; }; }; - GetExperimentHypothesisScores: { - parameters: { - path: { - hypothesisId: string; + GetCountryMetrics: { + requestBody: { + content: { + "application/json": components["schemas"]["CountryMetricsBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__runsCount-number--scores-Record_string.Score__.string_"]; + "application/json": components["schemas"]["Result_CountryData-Array.string_"]; }; }; }; }; - CreateExperimentEvaluatorOld: { - parameters: { - path: { - experimentId: string; - }; - }; + GetQuantiles: { requestBody: { content: { - "application/json": { - evaluatorId: string; - }; + "application/json": components["schemas"]["QuantilesBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result_Quantiles-Array.string_"]; }; }; }; }; - RunExperimentEvaluatorsOld: { - parameters: { - path: { - experimentId: string; + GetSecurity: { + requestBody: { + content: { + "application/json": { + text: string; + advanced: boolean; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result__unsafe-boolean_.string_"]; }; }; }; }; - DeleteExperimentEvaluatorOld: { - parameters: { - path: { - experimentId: string; - evaluatorId: string; - }; - }; + /** + * Get database schema + * @description Get ClickHouse schema (tables and columns) + */ + GetClickHouseSchema: { responses: { - /** @description Ok */ + /** @description Array of table schemas with columns */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result_ClickHouseTableSchema-Array.string_"]; }; }; }; }; - GetExperimentsOld: { + /** + * Execute SQL query + * @description Execute a SQL query against ClickHouse + */ + ExecuteSql: { + /** @description The SQL query to execute */ requestBody: { content: { - "application/json": { - include?: components["schemas"]["IncludeExperimentKeys"]; - filter: components["schemas"]["ExperimentFilterNode"]; - }; + "application/json": components["schemas"]["ExecuteSqlRequest"]; }; }; responses: { - /** @description Ok */ + /** @description Query results with rows and metadata */ 200: { content: { - "application/json": components["schemas"]["Result_Experiment-Array.string_"]; + "application/json": components["schemas"]["Result_ExecuteSqlResponse.string_"]; }; }; }; }; - AddDataset: { + /** + * Download query results as CSV + * @description Execute a SQL query and download results as CSV + */ + DownloadCsv: { + /** @description The SQL query to execute */ requestBody: { content: { - "application/json": components["schemas"]["NewDatasetParams"]; + "application/json": components["schemas"]["ExecuteSqlRequest"]; }; }; responses: { - /** @description Ok */ + /** @description URL to download the CSV file */ 200: { content: { - "application/json": components["schemas"]["Result__datasetId-string_.string_"]; + "application/json": components["schemas"]["Result_string.string_"]; }; }; }; }; - AddRandomDataset: { - requestBody: { - content: { - "application/json": components["schemas"]["RandomDatasetParams"]; - }; - }; + /** + * List saved queries + * @description Get all saved queries for the organization + */ + GetSavedQueries: { responses: { - /** @description Ok */ + /** @description Array of saved queries */ 200: { content: { - "application/json": components["schemas"]["Result__datasetId-string_.string_"]; + "application/json": components["schemas"]["Result_Array_HqlSavedQuery_.string_"]; }; }; }; }; - GetDatasets: { - requestBody: { - content: { - "application/json": { - promptVersionId?: string; - }; + /** + * Get saved query + * @description Get a specific saved query by ID + */ + GetSavedQuery: { + parameters: { + path: { + /** @description The ID of the saved query */ + queryId: string; }; }; responses: { - /** @description Ok */ + /** @description The saved query details */ 200: { content: { - "application/json": components["schemas"]["Result_DatasetResult-Array.string_"]; + "application/json": components["schemas"]["Result_HqlSavedQuery-or-null.string_"]; }; }; }; }; - InsertDatasetRow: { + /** + * Update saved query + * @description Update an existing saved query + */ + UpdateSavedQuery: { parameters: { path: { - datasetId: string; + /** @description The ID of the saved query to update */ + queryId: string; }; }; + /** @description The updated query details */ requestBody: { content: { - "application/json": { - originalColumnId?: string; - inputs: components["schemas"]["Record_string.string_"]; - inputRecordId: string; - }; + "application/json": components["schemas"]["CreateSavedQueryRequest"]; }; }; responses: { - /** @description Ok */ + /** @description The updated saved query */ 200: { content: { - "application/json": components["schemas"]["Result_string.string_"]; + "application/json": components["schemas"]["Result_HqlSavedQuery.string_"]; }; }; }; }; - CreateDatasetRow: { + /** + * Delete saved query + * @description Delete a saved query by ID + */ + DeleteSavedQuery: { parameters: { path: { - datasetId: string; - promptVersionId: string; - }; - }; - requestBody: { - content: { - "application/json": { - sourceRequest?: string; - inputs: components["schemas"]["Record_string.string_"]; - }; + /** @description The ID of the saved query to delete */ + queryId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_string.string_"]; + "application/json": components["schemas"]["Result_void.string_"]; }; }; }; }; - GetDataset: { - parameters: { - path: { - datasetId: string; + /** + * Bulk delete saved queries + * @description Delete multiple saved queries at once + */ + BulkDeleteSavedQueries: { + /** @description Array of query IDs to delete */ + requestBody: { + content: { + "application/json": components["schemas"]["BulkDeleteSavedQueriesRequest"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_PromptInputRecord-Array.string_"]; + "application/json": components["schemas"]["Result_void.string_"]; }; }; }; }; - MutateDataset: { + /** + * Create saved query + * @description Create a new saved query + */ + CreateSavedQuery: { + /** @description The saved query details */ requestBody: { content: { - "application/json": { - removeRequests: string[]; - addRequests: string[]; - }; + "application/json": components["schemas"]["CreateSavedQueryRequest"]; }; }; responses: { - /** @description Ok */ + /** @description Array containing the created saved query */ 200: { content: { - "application/json": components["schemas"]["Result___-Array.string_"]; + "application/json": components["schemas"]["Result_HqlSavedQuery-Array.string_"]; }; }; }; diff --git a/docs/docs.json b/docs/docs.json index 2e7b990055..cc010e5443 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -193,6 +193,7 @@ "getting-started/integration-method/mistral", "getting-started/integration-method/nebius", "getting-started/integration-method/novita", + "getting-started/integration-method/scalattice", { "group": "Nvidia", "pages": [ diff --git a/docs/getting-started/integration-method/scalattice.mdx b/docs/getting-started/integration-method/scalattice.mdx new file mode 100644 index 0000000000..0f57178e16 --- /dev/null +++ b/docs/getting-started/integration-method/scalattice.mdx @@ -0,0 +1,90 @@ +--- +title: "Scalattice Integration" +sidebarTitle: "Scalattice" +description: "Connect Helicone with Scalattice, an OpenAI-compatible inference marketplace. Log requests, cost, and latency through a simple base URL change." +"twitter:title": "Scalattice Integration - Helicone OSS LLM Observability" +--- + +import LegacyWarning from "/snippets/legacy-provider-warning.mdx"; + + + +Scalattice is an OpenAI-compatible inference marketplace. Create a key from the [developer docs](https://scalattice.cloud/docs/developers). + +# Gateway Integration + + + + Log into [helicone](https://www.helicone.ai) or create an account. Once you have an account, you + can generate an [API key](https://helicone.ai/developer). + + + Create an `slt_...` key from the [Scalattice developer dashboard](https://scalattice.cloud/developers). + + +```javascript +HELICONE_API_KEY= +SCALATTICE_API_KEY= +``` + + + +Replace `https://api.scalattice.cloud/v1` with `https://scalattice.helicone.ai/v1` and add the Helicone auth header: + +```javascript +Authorization: Bearer +Helicone-Auth: Bearer +``` + + + + +## Example + +```python +from openai import OpenAI +import os + +client = OpenAI( + api_key=os.environ["SCALATTICE_API_KEY"], + base_url="https://scalattice.helicone.ai/v1", + default_headers={ + "Helicone-Auth": f"Bearer {os.environ['HELICONE_API_KEY']}", + }, +) + +response = client.chat.completions.create( + model="qwen-3-14b", + messages=[{"role": "user", "content": "Hello from Scalattice"}], +) +print(response.choices[0].message.content) +``` + +```bash +curl https://scalattice.helicone.ai/v1/chat/completions \ + -H "Authorization: Bearer $SCALATTICE_API_KEY" \ + -H "Helicone-Auth: Bearer $HELICONE_API_KEY" \ + -H "Content-Type: application/json" \ + -d '{ + "model": "qwen-3-14b", + "messages": [{"role": "user", "content": "Hello from Scalattice"}] + }' +``` + +If the dedicated `scalattice.helicone.ai` host is not live yet, use the generic OpenAI proxy and set the target: + +```python +client = OpenAI( + api_key=os.environ["SCALATTICE_API_KEY"], + base_url="https://oai.helicone.ai/v1", + default_headers={ + "Helicone-Auth": f"Bearer {os.environ['HELICONE_API_KEY']}", + "Helicone-Target-URL": "https://api.scalattice.cloud", + }, +) +``` + +Catalog IDs match `GET https://api.scalattice.cloud/v1/models`. + +For more on headers, see [Helicone Headers](https://docs.helicone.ai/helicone-headers/header-directory#utilizing-headers). +For Scalattice itself, see the [developer docs](https://scalattice.cloud/docs/developers). diff --git a/docs/getting-started/self-host/docker.mdx b/docs/getting-started/self-host/docker.mdx index 040df29449..59b46c93bf 100644 --- a/docs/getting-started/self-host/docker.mdx +++ b/docs/getting-started/self-host/docker.mdx @@ -26,16 +26,15 @@ Access the dashboard at `http://localhost:3000`. ## Example to test the Jawn service ```bash -curl --location 'http://localhost:8585/v1/gateway/oai/v1/chat/completions' \ ---header "Content-Type: application/json" \ ---header "Authorization: Bearer $OPENAI_API_KEY" \ ---header "Helicone-Auth: Bearer $HELICONE_API_KEY" \ ---data '{ - "model": "gpt-4o-mini", - "messages": [{"role": "user", "content": "Hello"}] - }' +curl http://localhost:8585/healthcheck ``` + + Jawn no longer proxies LLM traffic: the `/v1/gateway/*` routes have been + removed. To proxy requests through a self-hosted deployment, run the + [AI Gateway](/gateway/overview) alongside Jawn. + + ## Production Setup (Remote Server) When deploying to a remote server (EC2, VPS, etc.), configure your server's public IP or domain: @@ -124,12 +123,11 @@ docker exec -u postgres helicone psql -d helicone_test -c \ VALUES ('USER_ID', 'ORG_ID', 'admin');" ``` -## Supported LLM Providers - -- OpenAI: `http://YOUR_IP:8585/v1/gateway/oai/v1/chat/completions` -- Anthropic: `http://YOUR_IP:8585/v1/gateway/anthropic/v1/messages` +## LLM Proxying -Other providers (Vertex AI, AWS Bedrock, Azure OpenAI) are not supported in the self-hosted version. +The all-in-one image runs the dashboard and the Jawn API only. Jawn's +`/v1/gateway/*` proxy routes have been removed, so LLM requests must go through +the [AI Gateway](/gateway/overview), which you can deploy next to this image. ## Important Notes diff --git a/docs/getting-started/self-host/manual.mdx b/docs/getting-started/self-host/manual.mdx index b99289f2a0..50b013f56b 100644 --- a/docs/getting-started/self-host/manual.mdx +++ b/docs/getting-started/self-host/manual.mdx @@ -97,26 +97,15 @@ yarn dev:local -p 3000 You are done! ```bash -export OPENAI_API_KEY="sk-" -export HELICONE_API_KEY="sk-helicone-aizk36y-5yue2my-qmy5tza-n7x3aqa" -curl --request POST \ - --url http://localhost:8585/v1/gateway/oai/v1/chat/completions \ - --header "Authorization: Bearer $OPENAI_API_KEY" \ - --header "Helicone-Auth: Bearer $HELICONE_API_KEY" \ - --header "Content-Type: application/json" \ - --header "Accept-Encoding: identity" \ - --header "helicone-property-hello: world" \ - --data '{ - "model": "gpt-4o-mini", - "messages": [ - { - "role": "system", - "content": "generate a prompt for stable diffusion using this article.\n The prompt should instruct the image generation model to generate a image that would be suitable for the main image of the article.\n Therefore, the image should be relevant to the article, while being photorealistic, and safe for work.\n Only include the prompt, and do not include a introduction to the prompt. The entire prompt should be 90 characters or less. Make it as relevant to the image as possible, but do not include people or faces in the prompt." - } - ] -}' +curl http://localhost:8585/healthcheck ``` + + Jawn no longer proxies LLM traffic: the `/v1/gateway/*` routes have been + removed. To proxy requests through a self-hosted deployment, run the + [AI Gateway](/gateway/overview) alongside Jawn. + + You can login to Helicone at http://localhost:3000 with the following credentials: diff --git a/docs/integrations/openai/realtime.mdx b/docs/integrations/openai/realtime.mdx index ff646102b8..eeadf270ed 100644 --- a/docs/integrations/openai/realtime.mdx +++ b/docs/integrations/openai/realtime.mdx @@ -8,9 +8,12 @@ iconType: "solid" --- import { strings } from "/snippets/strings.mdx"; -import LegacyWarning from "/snippets/legacy-provider-warning.mdx"; - - + + **This integration has been removed.** The Helicone Realtime WebSocket proxy at + `wss://api.helicone.ai/v1/gateway/oai/realtime` is no longer served, and the + instructions below will not work. Use the [AI Gateway](/gateway/overview) for + LLM proxying and observability. This page is kept for reference only. + OpenAI's Realtime API enables low-latency, multi-modal conversational experiences with support for text and audio as both input and output. diff --git a/docs/rest/dataset/post-v1experimentdataset-inputsquery.mdx b/docs/rest/dataset/post-v1experimentdataset-inputsquery.mdx deleted file mode 100644 index d4b45afb1b..0000000000 --- a/docs/rest/dataset/post-v1experimentdataset-inputsquery.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Query Dataset Inputs" -sidebarTitle: "Query Dataset Inputs" -description: "Search and filter inputs from an experiment dataset" -openapi: post /v1/experiment/dataset/{datasetId}/inputs/query ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/dataset/post-v1experimentdataset-mutate.mdx b/docs/rest/dataset/post-v1experimentdataset-mutate.mdx deleted file mode 100644 index b7c54e7db3..0000000000 --- a/docs/rest/dataset/post-v1experimentdataset-mutate.mdx +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: "Update Experiment Dataset" -sidebarTitle: "Update Experiment Dataset" -description: "Modify an experiment dataset by adding or removing requests." -"twitter:title": "Update Experiment Dataset - Helicone OSS LLM Observability" -openapi: post /v1/experiment/dataset/{datasetId}/mutate ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/dataset/post-v1experimentdataset-query.mdx b/docs/rest/dataset/post-v1experimentdataset-query.mdx deleted file mode 100644 index 7adb332b39..0000000000 --- a/docs/rest/dataset/post-v1experimentdataset-query.mdx +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: "Get Experiment Dataset" -sidebarTitle: "Get Experiment Dataset" -description: "Retrieve data from an experiment dataset by specifying query parameters." -"twitter:title": "Get Experiment Dataset - Helicone OSS LLM Observability" -openapi: post /v1/experiment/dataset/{datasetId}/query ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/dataset/post-v1experimentdataset-rowinsert.mdx b/docs/rest/dataset/post-v1experimentdataset-rowinsert.mdx deleted file mode 100644 index e8096b5f09..0000000000 --- a/docs/rest/dataset/post-v1experimentdataset-rowinsert.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Insert Dataset Row" -sidebarTitle: "Insert Dataset Row" -description: "Add a new row to an experiment dataset" -openapi: post /v1/experiment/dataset/{datasetId}/row/insert ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/dataset/post-v1experimentdataset-version-rownew.mdx b/docs/rest/dataset/post-v1experimentdataset-version-rownew.mdx deleted file mode 100644 index 12a83c1376..0000000000 --- a/docs/rest/dataset/post-v1experimentdataset-version-rownew.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Create Dataset Version Row" -sidebarTitle: "Create Version Row" -description: "Add a new row to a specific version of an experiment dataset" -openapi: post /v1/experiment/dataset/{datasetId}/version/{promptVersionId}/row/new ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/dataset/post-v1experimentdataset.mdx b/docs/rest/dataset/post-v1experimentdataset.mdx deleted file mode 100644 index d1894fde47..0000000000 --- a/docs/rest/dataset/post-v1experimentdataset.mdx +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: "Create Experiment Dataset" -sidebarTitle: "Create Dataset" -description: "Create a new experiment dataset by specifying dataset name, request IDs, and metadata." -"twitter:title": "Create Experiment Dataset - Helicone OSS LLM Observability" -openapi: post /v1/experiment/dataset ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/dataset/post-v1experimentdatasetquery.mdx b/docs/rest/dataset/post-v1experimentdatasetquery.mdx deleted file mode 100644 index 5544ca1719..0000000000 --- a/docs/rest/dataset/post-v1experimentdatasetquery.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Query Experiment Datasets" -sidebarTitle: "Query Datasets" -description: "Search and filter through experiment datasets" -openapi: post /v1/experiment/dataset/query ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/dataset/post-v1experimentdatasetrandom.mdx b/docs/rest/dataset/post-v1experimentdatasetrandom.mdx deleted file mode 100644 index b773d18ded..0000000000 --- a/docs/rest/dataset/post-v1experimentdatasetrandom.mdx +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: "Create Random Experiment Dataset" -sidebarTitle: "Create Random Dataset" -description: "Create a new experiment dataset with randomly selected data based on specified filters." -"twitter:title": "Create Random Experiment Dataset - Helicone OSS LLM Observability" -openapi: post /v1/experiment/dataset/random ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/evaluator/get-v1evaluator-experiments.mdx b/docs/rest/evaluator/get-v1evaluator-experiments.mdx deleted file mode 100644 index 41a1148a4a..0000000000 --- a/docs/rest/evaluator/get-v1evaluator-experiments.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Get Evaluator Experiments" -sidebarTitle: "Get Evaluator Experiments" -description: "Retrieve experiments associated with a specific evaluator" -openapi: get /v1/evaluator/{evaluatorId}/experiments ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/experiment/delete-v1experiment-evaluators.mdx b/docs/rest/experiment/delete-v1experiment-evaluators.mdx deleted file mode 100644 index 81c4b258b7..0000000000 --- a/docs/rest/experiment/delete-v1experiment-evaluators.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Delete Experiment Evaluator" -sidebarTitle: "Delete Experiment Evaluator" -description: "Remove an evaluator from an experiment" -openapi: delete /v1/experiment/{experimentId}/evaluators/{evaluatorId} ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/experiment/delete-v1experimenttable-row.mdx b/docs/rest/experiment/delete-v1experimenttable-row.mdx deleted file mode 100644 index 97bf51d475..0000000000 --- a/docs/rest/experiment/delete-v1experimenttable-row.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Delete Experiment Table Row" -sidebarTitle: "Delete Experiment Table Row" -description: "Remove a row from an experiment table" -openapi: delete /v1/experiment/table/{experimentTableId}/row/{rowIndex} ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/experiment/delete-v2experiment-evaluators.mdx b/docs/rest/experiment/delete-v2experiment-evaluators.mdx deleted file mode 100644 index 54037007a3..0000000000 --- a/docs/rest/experiment/delete-v2experiment-evaluators.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Delete Experiment Evaluator (v2)" -sidebarTitle: "Delete Experiment Evaluator (v2)" -description: "Remove an evaluator from an experiment using v2 API" -openapi: delete /v2/experiment/{experimentId}/evaluators/{evaluatorId} ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/experiment/get-v1experiment-evaluators.mdx b/docs/rest/experiment/get-v1experiment-evaluators.mdx deleted file mode 100644 index d2af309797..0000000000 --- a/docs/rest/experiment/get-v1experiment-evaluators.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Get Experiment Evaluators" -sidebarTitle: "Get Experiment Evaluators" -description: "Retrieve all evaluators for an experiment" -openapi: get /v1/experiment/{experimentId}/evaluators ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/experiment/get-v2experiment-.mdx b/docs/rest/experiment/get-v2experiment-.mdx deleted file mode 100644 index 07f53af183..0000000000 --- a/docs/rest/experiment/get-v2experiment-.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Get Experiment Score" -sidebarTitle: "Get Experiment Score" -description: "Retrieve a specific score for an experiment request" -openapi: get /v2/experiment/{experimentId}/{requestId}/{scoreKey} ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/experiment/get-v2experiment-1.mdx b/docs/rest/experiment/get-v2experiment-1.mdx deleted file mode 100644 index 57257d6e5d..0000000000 --- a/docs/rest/experiment/get-v2experiment-1.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Get Experiment Details" -sidebarTitle: "Get Experiment Details" -description: "Retrieve detailed information about a specific experiment" -openapi: get /v2/experiment/{experimentId} ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/experiment/get-v2experiment-evaluators.mdx b/docs/rest/experiment/get-v2experiment-evaluators.mdx deleted file mode 100644 index 28ee51d977..0000000000 --- a/docs/rest/experiment/get-v2experiment-evaluators.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Get Experiment Evaluators (v2)" -sidebarTitle: "Get Experiment Evaluators (v2)" -description: "Retrieve all evaluators associated with an experiment using v2 API" -openapi: get /v2/experiment/{experimentId}/evaluators ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/experiment/get-v2experiment-input-keys.mdx b/docs/rest/experiment/get-v2experiment-input-keys.mdx deleted file mode 100644 index 5ce083f068..0000000000 --- a/docs/rest/experiment/get-v2experiment-input-keys.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Get Experiment Input Keys" -sidebarTitle: "Get Experiment Input Keys" -description: "Retrieve input keys used in an experiment" -openapi: get /v2/experiment/{experimentId}/input-keys ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/experiment/get-v2experiment-prompt-versions.mdx b/docs/rest/experiment/get-v2experiment-prompt-versions.mdx deleted file mode 100644 index 96ae91d735..0000000000 --- a/docs/rest/experiment/get-v2experiment-prompt-versions.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Get Experiment Prompt Versions" -sidebarTitle: "Get Experiment Prompt Versions" -description: "Retrieve all prompt versions used in an experiment" -openapi: get /v2/experiment/{experimentId}/prompt-versions ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/experiment/get-v2experiment-scores.mdx b/docs/rest/experiment/get-v2experiment-scores.mdx deleted file mode 100644 index 582ada3435..0000000000 --- a/docs/rest/experiment/get-v2experiment-scores.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Get Experiment Scores" -sidebarTitle: "Get Experiment Scores" -description: "Retrieve scoring metrics for a specific prompt version in an experiment" -openapi: get /v2/experiment/{experimentId}/{promptVersionId}/scores ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/experiment/get-v2experiment-should-run-evaluators.mdx b/docs/rest/experiment/get-v2experiment-should-run-evaluators.mdx deleted file mode 100644 index f045cac8ef..0000000000 --- a/docs/rest/experiment/get-v2experiment-should-run-evaluators.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Check Evaluator Run Status" -sidebarTitle: "Check Evaluator Run Status" -description: "Check if evaluators should be run for an experiment" -openapi: get /v2/experiment/{experimentId}/should-run-evaluators ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/experiment/get-v2experiment.mdx b/docs/rest/experiment/get-v2experiment.mdx deleted file mode 100644 index 4ade4ddc76..0000000000 --- a/docs/rest/experiment/get-v2experiment.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "List Experiments" -sidebarTitle: "List Experiments" -description: "Retrieve a list of all experiments" -openapi: get /v2/experiment ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/experiment/patch-v1experimenttable-cell.mdx b/docs/rest/experiment/patch-v1experimenttable-cell.mdx deleted file mode 100644 index 446171ba36..0000000000 --- a/docs/rest/experiment/patch-v1experimenttable-cell.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Update Experiment Table Cell" -sidebarTitle: "Update Experiment Table Cell" -description: "Modify the content of a specific cell in an experiment table" -openapi: patch /v1/experiment/table/{experimentTableId}/cell ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/experiment/post-v1experiment-evaluators.mdx b/docs/rest/experiment/post-v1experiment-evaluators.mdx deleted file mode 100644 index 46e789a011..0000000000 --- a/docs/rest/experiment/post-v1experiment-evaluators.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Add Experiment Evaluators" -sidebarTitle: "Add Experiment Evaluators" -description: "Add new evaluators to an existing experiment" -openapi: post /v1/experiment/{experimentId}/evaluators ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/experiment/post-v1experiment-evaluatorsrun.mdx b/docs/rest/experiment/post-v1experiment-evaluatorsrun.mdx deleted file mode 100644 index c0eafc77a7..0000000000 --- a/docs/rest/experiment/post-v1experiment-evaluatorsrun.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Run Experiment Evaluators" -sidebarTitle: "Run Experiment Evaluators" -description: "Execute evaluators for a specific experiment" -openapi: post /v1/experiment/{experimentId}/evaluators/run ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/experiment/post-v1experiment.mdx b/docs/rest/experiment/post-v1experiment.mdx deleted file mode 100644 index 83d74b4635..0000000000 --- a/docs/rest/experiment/post-v1experiment.mdx +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: "Create Experiment" -sidebarTitle: "Create Experiment" -description: "Create a new experiment to test and compare different prompts" -"twitter:title": "Create Experiment - Helicone OSS LLM Observability" -openapi: post /v1/experiment ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/experiment/post-v1experimenthypothesis-scoresquery.mdx b/docs/rest/experiment/post-v1experimenthypothesis-scoresquery.mdx deleted file mode 100644 index 974eabd4c2..0000000000 --- a/docs/rest/experiment/post-v1experimenthypothesis-scoresquery.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Query Hypothesis Scores" -sidebarTitle: "Query Hypothesis Scores" -description: "Search and filter scores for a specific experiment hypothesis" -openapi: post /v1/experiment/hypothesis/{hypothesisId}/scores/query ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/experiment/post-v1experimenthypothesis.mdx b/docs/rest/experiment/post-v1experimenthypothesis.mdx deleted file mode 100644 index 57c48edab4..0000000000 --- a/docs/rest/experiment/post-v1experimenthypothesis.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Create Experiment Hypothesis" -sidebarTitle: "Create Experiment Hypothesis" -description: "Create a new hypothesis for testing in an experiment" -openapi: post /v1/experiment/hypothesis ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/experiment/post-v1experimentnew-empty.mdx b/docs/rest/experiment/post-v1experimentnew-empty.mdx deleted file mode 100644 index ff71bb0233..0000000000 --- a/docs/rest/experiment/post-v1experimentnew-empty.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Create Empty Experiment" -sidebarTitle: "Create Empty Experiment" -description: "Initialize a new empty experiment template" -openapi: post /v1/experiment/new-empty ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/experiment/post-v1experimentquery.mdx b/docs/rest/experiment/post-v1experimentquery.mdx deleted file mode 100644 index d7e54fc5c7..0000000000 --- a/docs/rest/experiment/post-v1experimentquery.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Query Experiments" -sidebarTitle: "Query Experiments" -description: "Search and filter through experiment data" -openapi: post /v1/experiment/query ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/experiment/post-v1experimenttable-cell.mdx b/docs/rest/experiment/post-v1experimenttable-cell.mdx deleted file mode 100644 index 5fd2ec9c9e..0000000000 --- a/docs/rest/experiment/post-v1experimenttable-cell.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Create Table Cell" -sidebarTitle: "Create Table Cell" -description: "Add a new cell to an experiment table" -openapi: post /v1/experiment/table/{experimentTableId}/cell ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/experiment/post-v1experimenttable-column.mdx b/docs/rest/experiment/post-v1experimenttable-column.mdx deleted file mode 100644 index fb596bc1a9..0000000000 --- a/docs/rest/experiment/post-v1experimenttable-column.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Create Table Column" -sidebarTitle: "Create Table Column" -description: "Add a new column to an experiment table" -openapi: post /v1/experiment/table/{experimentTableId}/column ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/experiment/post-v1experimenttable-metadataquery.mdx b/docs/rest/experiment/post-v1experimenttable-metadataquery.mdx deleted file mode 100644 index bf3e036fbc..0000000000 --- a/docs/rest/experiment/post-v1experimenttable-metadataquery.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Query Table Metadata" -sidebarTitle: "Query Table Metadata" -description: "Search and filter experiment table metadata" -openapi: post /v1/experiment/table/{experimentTableId}/metadata/query ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/experiment/post-v1experimenttable-query.mdx b/docs/rest/experiment/post-v1experimenttable-query.mdx deleted file mode 100644 index 886cb410a3..0000000000 --- a/docs/rest/experiment/post-v1experimenttable-query.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Query Experiment Table" -sidebarTitle: "Query Experiment Table" -description: "Search and filter experiment table data" -openapi: post /v1/experiment/table/{experimentTableId}/query ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/experiment/post-v1experimenttable-rowinsertbatch.mdx b/docs/rest/experiment/post-v1experimenttable-rowinsertbatch.mdx deleted file mode 100644 index 89d0289e51..0000000000 --- a/docs/rest/experiment/post-v1experimenttable-rowinsertbatch.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Batch Insert Table Rows" -sidebarTitle: "Batch Insert Table Rows" -description: "Insert multiple rows into an experiment table at once" -openapi: post /v1/experiment/table/{experimentTableId}/row/insert/batch ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/experiment/post-v1experimenttable-rownew.mdx b/docs/rest/experiment/post-v1experimenttable-rownew.mdx deleted file mode 100644 index 9cbd188e76..0000000000 --- a/docs/rest/experiment/post-v1experimenttable-rownew.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Create New Table Row" -sidebarTitle: "Create New Table Row" -description: "Add a new row to an experiment table" -openapi: post /v1/experiment/table/{experimentTableId}/row/new ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/experiment/post-v1experimenttablenew.mdx b/docs/rest/experiment/post-v1experimenttablenew.mdx deleted file mode 100644 index 965c12c268..0000000000 --- a/docs/rest/experiment/post-v1experimenttablenew.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Create New Experiment Table" -sidebarTitle: "Create New Table" -description: "Create a new table for storing experiment data" -openapi: post /v1/experiment/table/new ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/experiment/post-v1experimenttablesquery.mdx b/docs/rest/experiment/post-v1experimenttablesquery.mdx deleted file mode 100644 index 1ee2b977d1..0000000000 --- a/docs/rest/experiment/post-v1experimenttablesquery.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Query Experiment Tables" -sidebarTitle: "Query Tables" -description: "Search and filter through experiment tables" -openapi: post /v1/experiment/tables/query ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/experiment/post-v1experimentupdate-meta.mdx b/docs/rest/experiment/post-v1experimentupdate-meta.mdx deleted file mode 100644 index 262566b5be..0000000000 --- a/docs/rest/experiment/post-v1experimentupdate-meta.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Update Experiment Metadata" -sidebarTitle: "Update Metadata" -description: "Modify metadata for an existing experiment" -openapi: post /v1/experiment/update-meta ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/experiment/post-v2experiment-add-manual-row.mdx b/docs/rest/experiment/post-v2experiment-add-manual-row.mdx deleted file mode 100644 index 5052161811..0000000000 --- a/docs/rest/experiment/post-v2experiment-add-manual-row.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Add Manual Row (v2)" -sidebarTitle: "Add Manual Row (v2)" -description: "Manually add a new row to an experiment using v2 API" -openapi: post /v2/experiment/{experimentId}/add-manual-row ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/experiment/post-v2experiment-evaluators.mdx b/docs/rest/experiment/post-v2experiment-evaluators.mdx deleted file mode 100644 index 11b4e813a5..0000000000 --- a/docs/rest/experiment/post-v2experiment-evaluators.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Add Experiment Evaluators (v2)" -sidebarTitle: "Add Evaluators (v2)" -description: "Add evaluators to an experiment using v2 API" -openapi: post /v2/experiment/{experimentId}/evaluators ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/experiment/post-v2experiment-evaluatorsrun.mdx b/docs/rest/experiment/post-v2experiment-evaluatorsrun.mdx deleted file mode 100644 index ef540e0e70..0000000000 --- a/docs/rest/experiment/post-v2experiment-evaluatorsrun.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Run Experiment Evaluators (v2)" -sidebarTitle: "Run Evaluators (v2)" -description: "Execute evaluators for an experiment using v2 API" -openapi: post /v2/experiment/{experimentId}/evaluators/run ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/experiment/post-v2experiment-prompt-version.mdx b/docs/rest/experiment/post-v2experiment-prompt-version.mdx deleted file mode 100644 index 0d0022cc40..0000000000 --- a/docs/rest/experiment/post-v2experiment-prompt-version.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Add Prompt Version to Experiment" -sidebarTitle: "Add Prompt Version" -description: "Associate a prompt version with an experiment" -openapi: post /v2/experiment/{experimentId}/prompt-version ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/experiment/post-v2experiment-rowinsertbatch.mdx b/docs/rest/experiment/post-v2experiment-rowinsertbatch.mdx deleted file mode 100644 index a4a6f757e6..0000000000 --- a/docs/rest/experiment/post-v2experiment-rowinsertbatch.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Batch Insert Rows (v2)" -sidebarTitle: "Batch Insert Rows (v2)" -description: "Insert multiple rows into an experiment using v2 API" -openapi: post /v2/experiment/{experimentId}/row/insert/batch ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/experiment/post-v2experiment-rowupdate.mdx b/docs/rest/experiment/post-v2experiment-rowupdate.mdx deleted file mode 100644 index 396a25a009..0000000000 --- a/docs/rest/experiment/post-v2experiment-rowupdate.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Update Rows (v2)" -sidebarTitle: "Update Rows (v2)" -description: "Update rows in an experiment using v2 API" -openapi: post /v2/experiment/{experimentId}/row/update ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/experiment/post-v2experiment-run-hypothesis.mdx b/docs/rest/experiment/post-v2experiment-run-hypothesis.mdx deleted file mode 100644 index 266186d11f..0000000000 --- a/docs/rest/experiment/post-v2experiment-run-hypothesis.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Run Hypothesis (v2)" -sidebarTitle: "Run Hypothesis (v2)" -description: "Run a hypothesis for an experiment using v2 API" -openapi: post /v2/experiment/{experimentId}/run-hypothesis ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/experiment/post-v2experimentcreateempty.mdx b/docs/rest/experiment/post-v2experimentcreateempty.mdx deleted file mode 100644 index eb1964836c..0000000000 --- a/docs/rest/experiment/post-v2experimentcreateempty.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Create Empty Experiment (v2)" -sidebarTitle: "Create Empty Experiment (v2)" -description: "Initialize a new empty experiment using v2 API" -openapi: post /v2/experiment/create/empty ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/experiment/post-v2experimentcreatefrom-request.mdx b/docs/rest/experiment/post-v2experimentcreatefrom-request.mdx deleted file mode 100644 index f6511ea07e..0000000000 --- a/docs/rest/experiment/post-v2experimentcreatefrom-request.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Create Experiment from Request (v2)" -sidebarTitle: "Create from Request (v2)" -description: "Create a new experiment based on an existing request using v2 API" -openapi: post /v2/experiment/create/from-request/{requestId} ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/experiment/post-v2experimentnew.mdx b/docs/rest/experiment/post-v2experimentnew.mdx deleted file mode 100644 index 678474a61b..0000000000 --- a/docs/rest/experiment/post-v2experimentnew.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Create New Experiment (v2)" -sidebarTitle: "Create New Experiment (v2)" -description: "Create a new experiment with initial configuration using v2 API" -openapi: post /v2/experiment/new ---- - -import EUAPIWarning from "/snippets/eu-api-warning.mdx"; - - diff --git a/docs/rest/prompt/get-v1prompt-experiments.mdx b/docs/rest/prompt/get-v1prompt-experiments.mdx deleted file mode 100644 index abdf36edac..0000000000 --- a/docs/rest/prompt/get-v1prompt-experiments.mdx +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: "Get Prompt Experiments" -sidebarTitle: "Get Prompt Experiments" -description: "Retrieve experiments associated with a prompt" -openapi: get /v1/prompt/{promptId}/experiments ---- diff --git a/docs/rest/stripe/delete-v1stripesubscriptionadd-ons.mdx b/docs/rest/stripe/delete-v1stripesubscriptionadd-ons.mdx deleted file mode 100644 index a6f0869e2f..0000000000 --- a/docs/rest/stripe/delete-v1stripesubscriptionadd-ons.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: delete /v1/stripe/subscription/add-ons/{productType} ---- \ No newline at end of file diff --git a/docs/rest/stripe/post-v1stripesubscriptionadd-ons.mdx b/docs/rest/stripe/post-v1stripesubscriptionadd-ons.mdx deleted file mode 100644 index e775fdeaf7..0000000000 --- a/docs/rest/stripe/post-v1stripesubscriptionadd-ons.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: post /v1/stripe/subscription/add-ons/{productType} ---- \ No newline at end of file diff --git a/docs/rest/stripe/post-v1stripesubscriptionexisting-customerupgrade-to-pro.mdx b/docs/rest/stripe/post-v1stripesubscriptionexisting-customerupgrade-to-pro.mdx deleted file mode 100644 index 2beff79e0c..0000000000 --- a/docs/rest/stripe/post-v1stripesubscriptionexisting-customerupgrade-to-pro.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: post /v1/stripe/subscription/existing-customer/upgrade-to-pro ---- \ No newline at end of file diff --git a/docs/rest/stripe/post-v1stripesubscriptionmigrate-to-pro.mdx b/docs/rest/stripe/post-v1stripesubscriptionmigrate-to-pro.mdx deleted file mode 100644 index a3a84e1ba8..0000000000 --- a/docs/rest/stripe/post-v1stripesubscriptionmigrate-to-pro.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: post /v1/stripe/subscription/migrate-to-pro ---- \ No newline at end of file diff --git a/docs/rest/stripe/post-v1stripesubscriptionnew-customerupgrade-to-pro.mdx b/docs/rest/stripe/post-v1stripesubscriptionnew-customerupgrade-to-pro.mdx deleted file mode 100644 index ac279e0bdd..0000000000 --- a/docs/rest/stripe/post-v1stripesubscriptionnew-customerupgrade-to-pro.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: post /v1/stripe/subscription/new-customer/upgrade-to-pro ---- \ No newline at end of file diff --git a/docs/swagger.json b/docs/swagger.json index 01fb750e03..d3f8784ed8 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -458,58 +458,6 @@ } ] }, - "EvaluatorExperiment": { - "properties": { - "experiment_name": { - "type": "string" - }, - "experiment_created_at": { - "type": "string" - }, - "experiment_id": { - "type": "string" - } - }, - "required": [ - "experiment_name", - "experiment_created_at", - "experiment_id" - ], - "type": "object" - }, - "ResultSuccess_EvaluatorExperiment-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/EvaluatorExperiment" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_EvaluatorExperiment-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_EvaluatorExperiment-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, "OnlineEvaluatorByEvaluatorId": { "properties": { "config": {}, @@ -1013,166 +961,386 @@ } ] }, - "Prompt2025": { + "CreateCloudGatewayCheckoutSessionRequest": { "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "tags": { - "items": { - "type": "string" - }, - "type": "array" + "amount": { + "type": "number", + "format": "double" }, - "created_at": { + "returnUrl": { "type": "string" } }, "required": [ - "id", - "name", - "tags", - "created_at" + "amount" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_Prompt2025_": { + "LLMUsage": { "properties": { - "data": { - "$ref": "#/components/schemas/Prompt2025" + "model": { + "type": "string" }, - "error": { + "provider": { + "type": "string" + }, + "prompt_tokens": { "type": "number", - "enum": [ - null + "format": "double" + }, + "completion_tokens": { + "type": "number", + "format": "double" + }, + "total_count": { + "type": "number", + "format": "double" + }, + "amount": { + "type": "number", + "format": "double" + }, + "description": { + "type": "string" + }, + "totalCost": { + "properties": { + "prompt_token": { + "type": "number", + "format": "double" + }, + "completion_token": { + "type": "number", + "format": "double" + } + }, + "required": [ + "prompt_token", + "completion_token" ], - "nullable": true + "type": "object" } }, "required": [ - "data", - "error" + "model", + "provider", + "prompt_tokens", + "completion_tokens", + "total_count", + "amount", + "description", + "totalCost" ], "type": "object", "additionalProperties": false }, - "Result_Prompt2025.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_Prompt2025_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess_string-Array_": { + "PaymentIntentRecord": { "properties": { - "data": { + "id": { + "type": "string" + }, + "amount": { + "type": "number", + "format": "double" + }, + "created": { + "type": "number", + "format": "double" + }, + "status": { + "type": "string" + }, + "isRefunded": { + "type": "boolean" + }, + "refundedAmount": { + "type": "number", + "format": "double" + }, + "refundIds": { "items": { "type": "string" }, "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true } }, "required": [ - "data", - "error" + "id", + "amount", + "created", + "status" ], "type": "object", "additionalProperties": false }, - "Result_string-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_string-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "Prompt2025Input": { + "StripePaymentIntentsResponse": { "properties": { - "request_id": { - "type": "string" + "data": { + "items": { + "$ref": "#/components/schemas/PaymentIntentRecord" + }, + "type": "array" }, - "version_id": { - "type": "string" + "has_more": { + "type": "boolean" }, - "inputs": { - "$ref": "#/components/schemas/Record_string.any_" + "next_page": { + "type": "string", + "nullable": true + }, + "count": { + "type": "number", + "format": "double" } }, "required": [ - "request_id", - "version_id", - "inputs" + "data", + "has_more", + "next_page", + "count" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_Prompt2025Input_": { + "AutoTopoffSettings": { "properties": { - "data": { - "$ref": "#/components/schemas/Prompt2025Input" + "enabled": { + "type": "boolean" }, - "error": { + "thresholdCents": { "type": "number", - "enum": [ - null - ], + "format": "double" + }, + "topoffAmountCents": { + "type": "number", + "format": "double" + }, + "stripePaymentMethodId": { + "type": "string", + "nullable": true + }, + "lastTopoffAt": { + "type": "string", "nullable": true + }, + "consecutiveFailures": { + "type": "number", + "format": "double" } }, "required": [ - "data", - "error" + "enabled", + "thresholdCents", + "topoffAmountCents", + "stripePaymentMethodId", + "lastTopoffAt", + "consecutiveFailures" ], "type": "object", "additionalProperties": false }, - "Result_Prompt2025Input.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_Prompt2025Input_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "PromptCreateResponse": { + "UpdateAutoTopoffSettingsRequest": { "properties": { - "id": { + "enabled": { + "type": "boolean" + }, + "thresholdCents": { + "type": "number", + "format": "double" + }, + "topoffAmountCents": { + "type": "number", + "format": "double" + }, + "stripePaymentMethodId": { + "type": "string" + } + }, + "required": [ + "enabled", + "thresholdCents", + "topoffAmountCents", + "stripePaymentMethodId" + ], + "type": "object", + "additionalProperties": false + }, + "PaymentMethod": { + "properties": { + "id": { "type": "string" }, - "versionId": { + "brand": { + "type": "string" + }, + "last4": { "type": "string" + }, + "exp_month": { + "type": "number", + "format": "double" + }, + "exp_year": { + "type": "number", + "format": "double" } }, "required": [ "id", - "versionId" + "brand", + "last4", + "exp_month", + "exp_year" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_PromptCreateResponse_": { + "CreateSetupSessionRequest": { + "properties": { + "returnUrl": { + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "DailyUsageDataPoint": { + "properties": { + "date": { + "type": "string" + }, + "requests": { + "type": "number", + "format": "double" + }, + "bytes": { + "type": "number", + "format": "double" + } + }, + "required": [ + "date", + "requests", + "bytes" + ], + "type": "object", + "additionalProperties": false + }, + "UsageStatsResponse": { + "properties": { + "billingPeriod": { + "properties": { + "daysTotal": { + "type": "number", + "format": "double" + }, + "daysElapsed": { + "type": "number", + "format": "double" + }, + "end": { + "type": "string" + }, + "start": { + "type": "string" + } + }, + "required": [ + "daysTotal", + "daysElapsed", + "end", + "start" + ], + "type": "object" + }, + "usage": { + "properties": { + "totalGB": { + "type": "number", + "format": "double" + }, + "totalBytes": { + "type": "number", + "format": "double" + }, + "totalRequests": { + "type": "number", + "format": "double" + } + }, + "required": [ + "totalGB", + "totalBytes", + "totalRequests" + ], + "type": "object" + }, + "dailyData": { + "items": { + "$ref": "#/components/schemas/DailyUsageDataPoint" + }, + "type": "array" + }, + "estimatedCost": { + "properties": { + "projectedMonthlyTotalCost": { + "type": "number", + "format": "double" + }, + "projectedMonthlyGBCost": { + "type": "number", + "format": "double" + }, + "projectedMonthlyRequestsCost": { + "type": "number", + "format": "double" + }, + "totalCost": { + "type": "number", + "format": "double" + }, + "gbCost": { + "type": "number", + "format": "double" + }, + "requestsCost": { + "type": "number", + "format": "double" + } + }, + "required": [ + "projectedMonthlyTotalCost", + "projectedMonthlyGBCost", + "projectedMonthlyRequestsCost", + "totalCost", + "gbCost", + "requestsCost" + ], + "type": "object" + } + }, + "required": [ + "billingPeriod", + "usage", + "dailyData", + "estimatedCost" + ], + "type": "object", + "additionalProperties": false + }, + "ResultSuccess__id-string__": { "properties": { "data": { - "$ref": "#/components/schemas/PromptCreateResponse" + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "type": "object" }, "error": { "type": "number", @@ -1189,357 +1357,181 @@ "type": "object", "additionalProperties": false }, - "Result_PromptCreateResponse.string_": { + "Result__id-string_.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_PromptCreateResponse_" + "$ref": "#/components/schemas/ResultSuccess__id-string__" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "Record_string.number_": { - "properties": {}, - "additionalProperties": { - "type": "number", - "format": "double" + "Json": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number", + "format": "double" + }, + { + "type": "boolean" + }, + { + "properties": {}, + "additionalProperties": { + "$ref": "#/components/schemas/Json" + }, + "type": "object" + }, + { + "items": { + "$ref": "#/components/schemas/Json" + }, + "type": "array" + } + ], + "nullable": true + }, + "IntegrationCreateParams": { + "properties": { + "integration_name": { + "type": "string" + }, + "settings": { + "$ref": "#/components/schemas/Json" + }, + "active": { + "type": "boolean" + } }, + "required": [ + "integration_name" + ], "type": "object", - "description": "Construct a type with a set of properties K of type T" + "additionalProperties": false }, - "OpenAIChatRequest": { - "description": "Simplified interface for the OpenAI Chat request format", + "Integration": { "properties": { - "model": { + "integration_name": { "type": "string" }, - "messages": { - "items": { - "properties": { - "tool_calls": { - "items": { - "properties": { - "type": { - "type": "string", - "enum": [ - "function" - ], - "nullable": false - }, - "function": { - "properties": { - "arguments": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "arguments", - "name" - ], - "type": "object" - }, - "id": { - "type": "string" - } - }, - "required": [ - "type", - "function", - "id" - ], - "type": "object" - }, - "type": "array" - }, - "tool_call_id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "content": { - "anyOf": [ - { - "type": "string" - }, - { - "items": { - "properties": { - "image_url": { - "properties": { - "url": { - "type": "string" - } - }, - "required": [ - "url" - ], - "type": "object" - }, - "text": { - "type": "string" - }, - "type": { - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "type": "array" - } - ], - "nullable": true - }, - "role": { - "type": "string" - } - }, - "required": [ - "content", - "role" - ], - "type": "object" + "settings": { + "$ref": "#/components/schemas/Json" + }, + "active": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_Array_Integration__": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/Integration" }, "type": "array" }, - "temperature": { - "type": "number", - "format": "double" - }, - "top_p": { + "error": { "type": "number", - "format": "double" + "enum": [ + null + ], + "nullable": true + } + }, + "required": [ + "data", + "error" + ], + "type": "object", + "additionalProperties": false + }, + "Result_Array_Integration_.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_Array_Integration__" }, - "max_tokens": { - "type": "number", - "format": "double" + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "IntegrationUpdateParams": { + "properties": { + "integration_name": { + "type": "string" }, - "max_completion_tokens": { - "type": "number", - "format": "double" + "settings": { + "$ref": "#/components/schemas/Json" }, - "stream": { + "active": { "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_Integration_": { + "properties": { + "data": { + "$ref": "#/components/schemas/Integration" }, - "stop": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "string" - } - ] + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true + } + }, + "required": [ + "data", + "error" + ], + "type": "object", + "additionalProperties": false + }, + "Result_Integration.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_Integration_" }, - "tools": { + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "ResultSuccess_Array__id-string--name-string___": { + "properties": { + "data": { "items": { "properties": { - "function": { - "properties": { - "strict": { - "type": "boolean" - }, - "parameters": { - "$ref": "#/components/schemas/Record_string.any_" - }, - "description": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "name" - ], - "type": "object" + "name": { + "type": "string" }, - "type": { - "type": "string", - "enum": [ - "function" - ], - "nullable": false + "id": { + "type": "string" } }, "required": [ - "function", - "type" + "name", + "id" ], "type": "object" }, "type": "array" }, - "tool_choice": { - "anyOf": [ - { - "properties": { - "function": { - "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "function" - ], - "nullable": false - } - }, - "required": [ - "name", - "type" - ], - "type": "object" - }, - "type": { - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "type": "string", - "enum": [ - "none", - "auto", - "required" - ] - } - ] - }, - "parallel_tool_calls": { - "type": "boolean" - }, - "reasoning_effort": { - "type": "string", - "enum": [ - "minimal", - "low", - "medium", - "high" - ] - }, - "verbosity": { - "type": "string", - "enum": [ - "low", - "medium", - "high" - ] - }, - "frequency_penalty": { - "type": "number", - "format": "double" - }, - "presence_penalty": { - "type": "number", - "format": "double" - }, - "logit_bias": { - "$ref": "#/components/schemas/Record_string.number_" - }, - "logprobs": { - "type": "boolean" - }, - "top_logprobs": { - "type": "number", - "format": "double" - }, - "n": { - "type": "number", - "format": "double" - }, - "modalities": { - "items": { - "type": "string" - }, - "type": "array" - }, - "prediction": {}, - "audio": {}, - "response_format": { - "properties": { - "json_schema": {}, - "type": { - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "seed": { - "type": "number", - "format": "double" - }, - "service_tier": { - "type": "string" - }, - "store": { - "type": "boolean" - }, - "stream_options": {}, - "metadata": { - "$ref": "#/components/schemas/Record_string.string_" - }, - "user": { - "type": "string" - }, - "function_call": { - "anyOf": [ - { - "type": "string" - }, - { - "properties": { - "name": { - "type": "string" - } - }, - "required": [ - "name" - ], - "type": "object" - } - ] - }, - "functions": { - "items": {}, - "type": "array" - } - }, - "type": "object", - "additionalProperties": false - }, - "ResultSuccess__id-string__": { - "properties": { - "data": { - "properties": { - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "type": "object" - }, "error": { "type": "number", "enum": [ @@ -1555,21 +1547,20 @@ "type": "object", "additionalProperties": false }, - "Result__id-string_.string_": { + "Result_Array__id-string--name-string__.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess__id-string__" + "$ref": "#/components/schemas/ResultSuccess_Array__id-string--name-string___" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "ResultSuccess_number_": { + "ResultSuccess_string_": { "properties": { "data": { - "type": "number", - "format": "double" + "type": "string" }, "error": { "type": "number", @@ -1586,23 +1577,37 @@ "type": "object", "additionalProperties": false }, - "Result_number.string_": { + "Result_string.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_number_" + "$ref": "#/components/schemas/ResultSuccess_string_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "ResultSuccess_Prompt2025-Array_": { + "TestStripeMeterEventRequest": { + "properties": { + "event_name": { + "type": "string" + }, + "customer_id": { + "type": "string" + } + }, + "required": [ + "event_name", + "customer_id" + ], + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_number_": { "properties": { "data": { - "items": { - "$ref": "#/components/schemas/Prompt2025" - }, - "type": "array" + "type": "number", + "format": "double" }, "error": { "type": "number", @@ -1619,567 +1624,425 @@ "type": "object", "additionalProperties": false }, - "Result_Prompt2025-Array.string_": { + "Result_number.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_Prompt2025-Array_" + "$ref": "#/components/schemas/ResultSuccess_number_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "Record_string.unknown_": { - "properties": {}, - "additionalProperties": {}, + "Partial_TextOperators_": { + "properties": { + "not-equals": { + "type": "string" + }, + "equals": { + "type": "string" + }, + "like": { + "type": "string" + }, + "ilike": { + "type": "string" + }, + "contains": { + "type": "string" + }, + "not-contains": { + "type": "string" + } + }, "type": "object", - "description": "Construct a type with a set of properties K of type T" + "description": "Make all properties in T optional" }, - "Prompt2025VersionPromptBody": { + "Partial_NumberOperators_": { "properties": { - "model": { + "not-equals": { + "type": "number", + "format": "double" + }, + "equals": { + "type": "number", + "format": "double" + }, + "gte": { + "type": "number", + "format": "double" + }, + "lte": { + "type": "number", + "format": "double" + }, + "lt": { + "type": "number", + "format": "double" + }, + "gt": { + "type": "number", + "format": "double" + } + }, + "type": "object", + "description": "Make all properties in T optional" + }, + "Partial_TimestampOperators_": { + "properties": { + "equals": { "type": "string" }, - "messages": { - "items": { - "properties": { - "tool_calls": { - "items": { - "properties": { - "type": { - "type": "string", - "enum": [ - "function" - ], - "nullable": false - }, - "function": { - "properties": { - "arguments": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "arguments", - "name" - ], - "type": "object" - }, - "id": { - "type": "string" - } - }, - "required": [ - "type", - "function", - "id" - ], - "type": "object" - }, - "type": "array" - }, - "tool_call_id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "content": { - "anyOf": [ - { - "type": "string" - }, - { - "items": { - "properties": { - "image_url": { - "properties": { - "url": { - "type": "string" - } - }, - "required": [ - "url" - ], - "type": "object" - }, - "text": { - "type": "string" - }, - "type": { - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "type": "array" - } - ], - "nullable": true - }, - "role": { - "type": "string" - } - }, - "required": [ - "content", - "role" - ], - "type": "object" - }, - "type": "array" + "gte": { + "type": "string" }, - "temperature": { - "type": "number", - "format": "double" + "lte": { + "type": "string" }, - "top_p": { - "type": "number", - "format": "double" + "lt": { + "type": "string" }, - "max_tokens": { - "type": "number", - "format": "double" + "gt": { + "type": "string" + } + }, + "type": "object", + "description": "Make all properties in T optional" + }, + "Partial_BooleanOperators_": { + "properties": { + "equals": { + "type": "boolean" + } + }, + "type": "object", + "description": "Make all properties in T optional" + }, + "Partial_FeedbackTableToOperators_": { + "properties": { + "id": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - "tools": { - "items": { - "properties": { - "function": { - "properties": { - "parameters": { - "$ref": "#/components/schemas/Record_string.unknown_" - }, - "description": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "parameters", - "description", - "name" - ], - "type": "object" - }, - "type": { - "type": "string", - "enum": [ - "function" - ], - "nullable": false - } - }, - "required": [ - "function", - "type" - ], - "type": "object" - }, - "type": "array" + "created_at": { + "$ref": "#/components/schemas/Partial_TimestampOperators_" }, - "tool_choice": { - "anyOf": [ - { - "type": "string" - }, - { - "properties": { - "function": { - "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "function" - ], - "nullable": false - } - }, - "required": [ - "name", - "type" - ], - "type": "object" - }, - "type": { - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - } - ] + "rating": { + "$ref": "#/components/schemas/Partial_BooleanOperators_" + }, + "response_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" } }, "type": "object", - "additionalProperties": {} + "description": "Make all properties in T optional" }, - "Prompt2025Version": { + "Partial_RequestTableToOperators_": { "properties": { - "id": { - "type": "string" + "prompt": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "model": { - "type": "string" + "created_at": { + "$ref": "#/components/schemas/Partial_TimestampOperators_" }, - "prompt_id": { - "type": "string" + "user_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "major_version": { - "type": "number", - "format": "double" + "auth_hash": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "minor_version": { - "type": "number", - "format": "double" + "org_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "commit_message": { - "type": "string" + "id": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "environments": { - "items": { - "type": "string" - }, - "type": "array" + "node_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "created_at": { - "type": "string" + "model": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "s3_url": { - "type": "string" + "modelOverride": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "prompt_body": { - "$ref": "#/components/schemas/Prompt2025VersionPromptBody", - "description": "The full prompt body including messages. Only included when explicitly requested\nvia the `includePromptBody` parameter to avoid unnecessary data transfer." + "path": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "country_code": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "prompt_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" } }, - "required": [ - "id", - "model", - "prompt_id", - "major_version", - "minor_version", - "commit_message", - "created_at" - ], "type": "object", - "additionalProperties": false + "description": "Make all properties in T optional" }, - "ResultSuccess_Prompt2025Version_": { + "Partial_ResponseTableToOperators_": { "properties": { - "data": { - "$ref": "#/components/schemas/Prompt2025Version" + "body_tokens": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_Prompt2025Version.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_Prompt2025Version_" + "body_model": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess_Prompt2025Version-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/Prompt2025Version" - }, - "type": "array" + "body_completion": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true + "status": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "model": { + "$ref": "#/components/schemas/Partial_TextOperators_" } }, - "required": [ - "data", - "error" - ], "type": "object", - "additionalProperties": false - }, - "Result_Prompt2025Version-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_Prompt2025Version-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] + "description": "Make all properties in T optional" }, - "PromptVersionCounts": { + "Partial_TimestampOperatorsTyped_": { "properties": { - "totalVersions": { - "type": "number", - "format": "double" + "equals": { + "type": "string", + "format": "date-time" }, - "majorVersions": { - "type": "number", - "format": "double" + "gte": { + "type": "string", + "format": "date-time" + }, + "lte": { + "type": "string", + "format": "date-time" + }, + "lt": { + "type": "string", + "format": "date-time" + }, + "gt": { + "type": "string", + "format": "date-time" } }, - "required": [ - "totalVersions", - "majorVersions" - ], "type": "object", - "additionalProperties": false + "description": "Make all properties in T optional" }, - "ResultSuccess_PromptVersionCounts_": { + "Partial_RequestResponseRMTToOperators_": { "properties": { - "data": { - "$ref": "#/components/schemas/PromptVersionCounts" + "country_code": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_PromptVersionCounts.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_PromptVersionCounts_" + "latency": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess_Prompt2025Version_91_prompt_body_93__": { - "properties": { - "data": { - "$ref": "#/components/schemas/Prompt2025VersionPromptBody" + "cost": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_Prompt2025Version_91_prompt_body_93_.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_Prompt2025Version_91_prompt_body_93__" + "provider": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess__hasPrompts-boolean__": { - "properties": { - "data": { - "properties": { - "hasPrompts": { - "type": "boolean" - } - }, - "required": [ - "hasPrompts" - ], - "type": "object" + "time_to_first_token": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result__hasPrompts-boolean_.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__hasPrompts-boolean__" + "status": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "PromptsResult": { - "properties": { - "id": { - "type": "string" + "request_created_at": { + "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" }, - "user_defined_id": { - "type": "string" + "response_created_at": { + "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" }, - "description": { - "type": "string" + "model": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "pretty_name": { - "type": "string" + "user_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "created_at": { - "type": "string" + "organization_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "major_version": { - "type": "number", - "format": "double" + "node_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "metadata": { - "$ref": "#/components/schemas/Record_string.any_" - } - }, - "required": [ - "id", - "user_defined_id", - "description", - "pretty_name", - "created_at", - "major_version" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_PromptsResult-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/PromptsResult" - }, - "type": "array" + "job_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "error": { - "type": "number", - "enum": [ - null + "threat": { + "$ref": "#/components/schemas/Partial_BooleanOperators_" + }, + "request_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "prompt_tokens": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "completion_tokens": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "prompt_cache_read_tokens": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "prompt_cache_write_tokens": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "total_tokens": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "target_url": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "property_key": { + "properties": { + "equals": { + "type": "string" + } + }, + "required": [ + "equals" ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_PromptsResult-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_PromptsResult-Array_" + "type": "object" }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "Partial_TextOperators_": { - "properties": { - "not-equals": { - "type": "string" + "properties": { + "properties": {}, + "additionalProperties": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "type": "object" }, - "equals": { - "type": "string" + "search_properties": { + "properties": {}, + "additionalProperties": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "type": "object" }, - "like": { - "type": "string" + "scores": { + "properties": {}, + "additionalProperties": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "type": "object" }, - "ilike": { - "type": "string" + "scores_column": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "contains": { - "type": "string" + "request_body": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "not-contains": { - "type": "string" + "response_body": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "cache_enabled": { + "$ref": "#/components/schemas/Partial_BooleanOperators_" + }, + "cache_reference_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "cached": { + "$ref": "#/components/schemas/Partial_BooleanOperators_" + }, + "assets": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "helicone-score-feedback": { + "$ref": "#/components/schemas/Partial_BooleanOperators_" + }, + "prompt_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "prompt_version": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "request_referrer": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "is_passthrough_billing": { + "$ref": "#/components/schemas/Partial_BooleanOperators_" } }, "type": "object", "description": "Make all properties in T optional" }, - "Partial_PromptToOperators_": { + "Partial_SessionsRequestResponseRMTToOperators_": { "properties": { - "id": { + "session_session_id": { "$ref": "#/components/schemas/Partial_TextOperators_" }, - "user_defined_id": { + "session_session_name": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "session_total_cost": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "session_total_tokens": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "session_prompt_tokens": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "session_completion_tokens": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "session_total_requests": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "session_created_at": { + "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" + }, + "session_latest_request_created_at": { + "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" + }, + "session_tag": { "$ref": "#/components/schemas/Partial_TextOperators_" } }, "type": "object", "description": "Make all properties in T optional" }, - "Pick_FilterLeaf.prompt_v2_": { + "Pick_FilterLeaf.feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_": { "properties": { - "prompt_v2": { - "$ref": "#/components/schemas/Partial_PromptToOperators_" + "values": { + "properties": {}, + "additionalProperties": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "type": "object" + }, + "feedback": { + "$ref": "#/components/schemas/Partial_FeedbackTableToOperators_" + }, + "request": { + "$ref": "#/components/schemas/Partial_RequestTableToOperators_" + }, + "response": { + "$ref": "#/components/schemas/Partial_ResponseTableToOperators_" + }, + "properties": { + "properties": {}, + "additionalProperties": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "type": "object" + }, + "request_response_rmt": { + "$ref": "#/components/schemas/Partial_RequestResponseRMTToOperators_" + }, + "sessions_request_response_rmt": { + "$ref": "#/components/schemas/Partial_SessionsRequestResponseRMTToOperators_" } }, "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" }, - "FilterLeafSubset_prompt_v2_": { - "$ref": "#/components/schemas/Pick_FilterLeaf.prompt_v2_" + "FilterLeafSubset_feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_": { + "$ref": "#/components/schemas/Pick_FilterLeaf.feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_" }, - "PromptsFilterNode": { + "RequestFilterNode": { "anyOf": [ { - "$ref": "#/components/schemas/FilterLeafSubset_prompt_v2_" + "$ref": "#/components/schemas/FilterLeafSubset_feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_" }, { - "$ref": "#/components/schemas/PromptsFilterBranch" + "$ref": "#/components/schemas/RequestFilterBranch" }, { "type": "string", @@ -2189,10 +2052,10 @@ } ] }, - "PromptsFilterBranch": { + "RequestFilterBranch": { "properties": { "right": { - "$ref": "#/components/schemas/PromptsFilterNode" + "$ref": "#/components/schemas/RequestFilterNode" }, "operator": { "type": "string", @@ -2202,7 +2065,7 @@ ] }, "left": { - "$ref": "#/components/schemas/PromptsFilterNode" + "$ref": "#/components/schemas/RequestFilterNode" } }, "required": [ @@ -2212,1133 +2075,1208 @@ ], "type": "object" }, - "PromptsQueryParams": { - "properties": { - "filter": { - "$ref": "#/components/schemas/PromptsFilterNode" - } - }, - "required": [ - "filter" - ], - "type": "object", - "additionalProperties": false + "SortDirection": { + "type": "string", + "enum": [ + "asc", + "desc" + ] }, - "PromptResult": { + "SortLeafRequest": { "properties": { - "id": { - "type": "string" - }, - "user_defined_id": { - "type": "string" + "random": { + "type": "boolean", + "enum": [ + true + ], + "nullable": false }, - "description": { - "type": "string" + "created_at": { + "$ref": "#/components/schemas/SortDirection" }, - "pretty_name": { - "type": "string" + "cache_created_at": { + "$ref": "#/components/schemas/SortDirection" }, - "major_version": { - "type": "number", - "format": "double" + "latency": { + "$ref": "#/components/schemas/SortDirection" }, - "latest_version_id": { - "type": "string" + "last_active": { + "$ref": "#/components/schemas/SortDirection" }, - "latest_model_used": { - "type": "string" + "total_tokens": { + "$ref": "#/components/schemas/SortDirection" }, - "created_at": { - "type": "string" + "completion_tokens": { + "$ref": "#/components/schemas/SortDirection" }, - "last_used": { - "type": "string" + "prompt_tokens": { + "$ref": "#/components/schemas/SortDirection" }, - "versions": { - "items": { - "type": "string" + "user_id": { + "$ref": "#/components/schemas/SortDirection" + }, + "body_model": { + "$ref": "#/components/schemas/SortDirection" + }, + "is_cached": { + "$ref": "#/components/schemas/SortDirection" + }, + "request_prompt": { + "$ref": "#/components/schemas/SortDirection" + }, + "response_text": { + "$ref": "#/components/schemas/SortDirection" + }, + "properties": { + "properties": {}, + "additionalProperties": { + "$ref": "#/components/schemas/SortDirection" }, - "type": "array" + "type": "object" }, - "metadata": { - "$ref": "#/components/schemas/Record_string.any_" + "values": { + "properties": {}, + "additionalProperties": { + "$ref": "#/components/schemas/SortDirection" + }, + "type": "object" + }, + "cost": { + "$ref": "#/components/schemas/SortDirection" + }, + "time_to_first_token": { + "$ref": "#/components/schemas/SortDirection" } }, - "required": [ - "id", - "user_defined_id", - "description", - "pretty_name", - "major_version", - "latest_version_id", - "latest_model_used", - "created_at", - "last_used", - "versions" - ], "type": "object", "additionalProperties": false }, - "ResultSuccess_PromptResult_": { + "RequestQueryParams": { "properties": { - "data": { - "$ref": "#/components/schemas/PromptResult" + "filter": { + "$ref": "#/components/schemas/RequestFilterNode" }, - "error": { + "offset": { "type": "number", - "enum": [ - null - ], - "nullable": true + "format": "double" + }, + "limit": { + "type": "number", + "format": "double" + }, + "sort": { + "$ref": "#/components/schemas/SortLeafRequest" + }, + "isCached": { + "type": "boolean" + }, + "includeInputs": { + "type": "boolean" + }, + "isPartOfExperiment": { + "type": "boolean" + }, + "isScored": { + "type": "boolean" } }, "required": [ - "data", - "error" + "filter" ], "type": "object", "additionalProperties": false }, - "Result_PromptResult.string_": { + "ProviderName": { + "type": "string", + "enum": [ + "OPENAI", + "ANTHROPIC", + "AZURE", + "LOCAL", + "HELICONE", + "AMDBARTEK", + "ANYSCALE", + "CLOUDFLARE", + "2YFV", + "TOGETHER", + "LEMONFOX", + "FIREWORKS", + "PERPLEXITY", + "GOOGLE", + "OPENROUTER", + "WISDOMINANUTSHELL", + "GROQ", + "COHERE", + "MISTRAL", + "DEEPINFRA", + "QSTASH", + "FIRECRAWL", + "AWS", + "BEDROCK", + "DEEPSEEK", + "X", + "AVIAN", + "NEBIUS", + "NOVITA", + "OPENPIPE", + "CHUTES", + "LLAMA", + "NVIDIA", + "VERCEL", + "CEREBRAS", + "BASETEN", + "CANOPYWAVE" + ] + }, + "ModelProviderName": { + "type": "string", + "enum": [ + "baseten", + "anthropic", + "azure", + "bedrock", + "canopywave", + "cerebras", + "chutes", + "deepinfra", + "deepseek", + "fireworks", + "google-ai-studio", + "groq", + "helicone", + "mistral", + "nebius", + "novita", + "openai", + "openrouter", + "perplexity", + "vertex", + "xai" + ], + "nullable": false + }, + "Provider": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_PromptResult_" + "$ref": "#/components/schemas/ProviderName" }, { - "$ref": "#/components/schemas/ResultError_string_" + "$ref": "#/components/schemas/ModelProviderName" + }, + { + "type": "string", + "enum": [ + "CUSTOM" + ] } ] }, - "PromptQueryParams": { - "properties": { - "timeFilter": { - "properties": { - "end": { - "type": "string" - }, - "start": { - "type": "string" - } - }, - "required": [ - "end", - "start" - ], - "type": "object" - } - }, - "required": [ - "timeFilter" - ], - "type": "object", - "additionalProperties": false + "LlmType": { + "type": "string", + "enum": [ + "chat", + "completion" + ] }, - "CreatePromptResponse": { + "FunctionCall": { "properties": { "id": { "type": "string" }, - "prompt_version_id": { + "name": { "type": "string" + }, + "arguments": { + "$ref": "#/components/schemas/Record_string.any_" } }, "required": [ - "id", - "prompt_version_id" + "name", + "arguments" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_CreatePromptResponse_": { + "Message": { "properties": { - "data": { - "$ref": "#/components/schemas/CreatePromptResponse" + "ending_event_id": { + "type": "string" }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_CreatePromptResponse.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_CreatePromptResponse_" + "trigger_event_id": { + "type": "string" }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess__metadata-Record_string.any___": { - "properties": { - "data": { - "properties": { - "metadata": { - "$ref": "#/components/schemas/Record_string.any_" - } - }, - "required": [ - "metadata" - ], - "type": "object" + "start_timestamp": { + "type": "string" }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result__metadata-Record_string.any__.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__metadata-Record_string.any___" + "annotations": { + "items": { + "properties": { + "content": { + "type": "string" + }, + "title": { + "type": "string" + }, + "url": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "url_citation" + ], + "nullable": false + } + }, + "required": [ + "title", + "url", + "type" + ], + "type": "object" + }, + "type": "array" }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "PromptEditSubversionLabelParams": { - "properties": { - "label": { - "type": "string" - } - }, - "required": [ - "label" - ], - "type": "object", - "additionalProperties": false - }, - "PromptEditSubversionTemplateParams": { - "properties": { - "heliconeTemplate": {}, - "experimentId": { - "type": "string" - } - }, - "required": [ - "heliconeTemplate" - ], - "type": "object", - "additionalProperties": false - }, - "PromptVersionResult": { - "properties": { - "id": { + "reasoning": { "type": "string" }, - "minor_version": { - "type": "number", - "format": "double" + "deleted": { + "type": "boolean" }, - "major_version": { + "contentArray": { + "items": { + "$ref": "#/components/schemas/Message" + }, + "type": "array" + }, + "idx": { "type": "number", "format": "double" }, - "prompt_v2": { + "detail": { "type": "string" }, - "model": { + "filename": { "type": "string" }, - "helicone_template": { + "file_id": { "type": "string" }, - "created_at": { + "file_data": { "type": "string" }, - "metadata": { - "$ref": "#/components/schemas/Record_string.any_" - }, - "parent_prompt_version": { + "type": { "type": "string", - "nullable": true + "enum": [ + "input_image", + "input_text", + "input_file" + ] }, - "experiment_id": { - "type": "string", - "nullable": true + "audio_data": { + "type": "string" }, - "updated_at": { + "image_url": { + "type": "string" + }, + "timestamp": { + "type": "string" + }, + "tool_call_id": { + "type": "string" + }, + "tool_calls": { + "items": { + "$ref": "#/components/schemas/FunctionCall" + }, + "type": "array" + }, + "mime_type": { + "type": "string" + }, + "content": { + "type": "string" + }, + "name": { + "type": "string" + }, + "instruction": { + "type": "string" + }, + "role": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "string", + "enum": [ + "user", + "assistant", + "system", + "developer" + ] + } + ] + }, + "id": { "type": "string" + }, + "_type": { + "type": "string", + "enum": [ + "functionCall", + "function", + "image", + "file", + "message", + "autoInput", + "contentArray", + "audio" + ] } }, "required": [ - "id", - "minor_version", - "major_version", - "prompt_v2", - "model", - "helicone_template", - "created_at", - "metadata" + "_type" ], - "type": "object", - "additionalProperties": false + "type": "object" }, - "ResultSuccess_PromptVersionResult_": { + "Tool": { "properties": { - "data": { - "$ref": "#/components/schemas/PromptVersionResult" + "name": { + "type": "string" }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true + "description": { + "type": "string" + }, + "parameters": { + "$ref": "#/components/schemas/Record_string.any_" + }, + "strict": { + "type": "boolean" } }, "required": [ - "data", - "error" + "name" ], "type": "object", "additionalProperties": false }, - "Result_PromptVersionResult.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_PromptVersionResult_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "PromptCreateSubversionParams": { + "HeliconeEventTool": { "properties": { - "newHeliconeTemplate": {}, - "isMajorVersion": { - "type": "boolean" - }, - "metadata": { - "$ref": "#/components/schemas/Record_string.any_" + "_type": { + "type": "string", + "enum": [ + "tool" + ], + "nullable": false }, - "experimentId": { + "toolName": { "type": "string" }, - "bumpForMajorPromptVersionId": { - "type": "string" - } + "input": {} }, "required": [ - "newHeliconeTemplate" + "_type", + "toolName", + "input" ], "type": "object", - "additionalProperties": false + "additionalProperties": {} }, - "PromptInputRecord": { + "HeliconeEventVectorDB": { "properties": { - "id": { - "type": "string" - }, - "inputs": { - "$ref": "#/components/schemas/Record_string.string_" + "_type": { + "type": "string", + "enum": [ + "vector_db" + ], + "nullable": false }, - "dataset_row_id": { - "type": "string" + "operation": { + "type": "string", + "enum": [ + "search", + "insert", + "delete", + "update" + ] }, - "source_request": { + "text": { "type": "string" }, - "prompt_version": { - "type": "string" + "vector": { + "items": { + "type": "number", + "format": "double" + }, + "type": "array" }, - "created_at": { - "type": "string" + "topK": { + "type": "number", + "format": "double" }, - "response_body": { - "type": "string" + "filter": { + "additionalProperties": false, + "type": "object" }, - "request_body": { + "databaseName": { "type": "string" - }, - "auto_prompt_inputs": { - "items": {}, - "type": "array" } }, "required": [ - "id", - "inputs", - "source_request", - "prompt_version", - "created_at", - "auto_prompt_inputs" + "_type", + "operation" ], "type": "object", - "additionalProperties": false + "additionalProperties": {} }, - "ResultSuccess_PromptInputRecord-Array_": { + "HeliconeEventData": { "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/PromptInputRecord" - }, - "type": "array" - }, - "error": { - "type": "number", + "_type": { + "type": "string", "enum": [ - null + "data" ], - "nullable": true + "nullable": false + }, + "name": { + "type": "string" + }, + "meta": { + "$ref": "#/components/schemas/Record_string.any_" } }, "required": [ - "data", - "error" + "_type", + "name" ], "type": "object", - "additionalProperties": false - }, - "Result_PromptInputRecord-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_PromptInputRecord-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] + "additionalProperties": {} }, - "ResultSuccess__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array_": { + "LLMRequestBody": { "properties": { - "data": { + "llm_type": { + "$ref": "#/components/schemas/LlmType" + }, + "provider": { + "type": "string" + }, + "model": { + "type": "string" + }, + "messages": { "items": { - "properties": { - "meta": { - "$ref": "#/components/schemas/Record_string.any_" - }, - "dataset": { - "type": "string" - }, - "num_hypotheses": { - "type": "number", - "format": "double" - }, - "created_at": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "meta", - "dataset", - "num_hypotheses", - "created_at", - "id" - ], - "type": "object" + "$ref": "#/components/schemas/Message" }, - "type": "array" + "type": "array", + "nullable": true }, - "error": { - "type": "number", - "enum": [ - null - ], + "prompt": { + "type": "string", "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array_" }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess_PromptVersionResult-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/PromptVersionResult" - }, - "type": "array" + "instructions": { + "type": "string", + "nullable": true }, - "error": { + "max_tokens": { "type": "number", - "enum": [ - null - ], + "format": "double", "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_PromptVersionResult-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_PromptVersionResult-Array_" }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "Partial_NumberOperators_": { - "properties": { - "not-equals": { + "temperature": { "type": "number", - "format": "double" + "format": "double", + "nullable": true }, - "equals": { + "top_p": { "type": "number", - "format": "double" + "format": "double", + "nullable": true }, - "gte": { + "seed": { "type": "number", - "format": "double" + "format": "double", + "nullable": true }, - "lte": { - "type": "number", - "format": "double" + "stream": { + "type": "boolean", + "nullable": true }, - "lt": { + "presence_penalty": { "type": "number", - "format": "double" + "format": "double", + "nullable": true }, - "gt": { + "frequency_penalty": { "type": "number", - "format": "double" - } - }, - "type": "object", - "description": "Make all properties in T optional" - }, - "Partial_PromptVersionsToOperators_": { - "properties": { - "minor_version": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "format": "double", + "nullable": true }, - "major_version": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "stop": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "string" + } + ], + "nullable": true }, - "id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "reasoning_effort": { + "type": "string", + "enum": [ + "minimal", + "low", + "medium", + "high", + null + ], + "nullable": true }, - "prompt_v2": { - "$ref": "#/components/schemas/Partial_TextOperators_" - } - }, - "type": "object", - "description": "Make all properties in T optional" - }, - "Pick_FilterLeaf.prompts_versions_": { - "properties": { - "prompts_versions": { - "$ref": "#/components/schemas/Partial_PromptVersionsToOperators_" - } - }, - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "FilterLeafSubset_prompts_versions_": { - "$ref": "#/components/schemas/Pick_FilterLeaf.prompts_versions_" - }, - "PromptVersionsFilterNode": { - "anyOf": [ - { - "$ref": "#/components/schemas/FilterLeafSubset_prompts_versions_" - }, - { - "$ref": "#/components/schemas/PromptVersionsFilterBranch" - }, - { + "verbosity": { "type": "string", "enum": [ - "all" - ] - } - ] - }, - "PromptVersionsFilterBranch": { - "properties": { - "right": { - "$ref": "#/components/schemas/PromptVersionsFilterNode" + "low", + "medium", + "high", + null + ], + "nullable": true }, - "operator": { - "type": "string", - "enum": [ - "or", - "and" - ] + "tools": { + "items": { + "$ref": "#/components/schemas/Tool" + }, + "type": "array" }, - "left": { - "$ref": "#/components/schemas/PromptVersionsFilterNode" - } - }, - "required": [ - "right", - "operator", - "left" - ], - "type": "object" - }, - "PromptVersionsQueryParams": { - "properties": { - "filter": { - "$ref": "#/components/schemas/PromptVersionsFilterNode" + "parallel_tool_calls": { + "type": "boolean", + "nullable": true }, - "includeExperimentVersions": { - "type": "boolean" - } - }, - "type": "object", - "additionalProperties": false - }, - "PromptVersionResultCompiled": { - "properties": { - "id": { - "type": "string" + "tool_choice": { + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "none", + "auto", + "any", + "tool" + ] + } + }, + "required": [ + "type" + ], + "type": "object" }, - "minor_version": { - "type": "number", - "format": "double" + "response_format": { + "properties": { + "json_schema": {}, + "type": { + "type": "string" + } + }, + "required": [ + "type" + ], + "type": "object" }, - "major_version": { - "type": "number", - "format": "double" + "toolDetails": { + "$ref": "#/components/schemas/HeliconeEventTool" }, - "prompt_v2": { - "type": "string" + "vectorDBDetails": { + "$ref": "#/components/schemas/HeliconeEventVectorDB" }, - "model": { - "type": "string" + "dataDetails": { + "$ref": "#/components/schemas/HeliconeEventData" }, - "prompt_compiled": {} - }, - "required": [ - "id", - "minor_version", - "major_version", - "prompt_v2", - "model", - "prompt_compiled" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_PromptVersionResultCompiled_": { - "properties": { - "data": { - "$ref": "#/components/schemas/PromptVersionResultCompiled" + "input": { + "anyOf": [ + { + "type": "string" + }, + { + "items": { + "type": "string" + }, + "type": "array" + } + ] }, - "error": { + "n": { "type": "number", - "enum": [ - null - ], + "format": "double", "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_PromptVersionResultCompiled.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_PromptVersionResultCompiled_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "PromptVersiosQueryParamsCompiled": { - "properties": { - "filter": { - "$ref": "#/components/schemas/PromptVersionsFilterNode" }, - "includeExperimentVersions": { - "type": "boolean" + "size": { + "type": "string" }, - "inputs": { - "$ref": "#/components/schemas/Record_string.string_" + "quality": { + "type": "string" } }, - "required": [ - "inputs" - ], "type": "object", "additionalProperties": false }, - "PromptVersionResultFilled": { + "Response": { "properties": { - "id": { + "contentArray": { + "items": { + "$ref": "#/components/schemas/Response" + }, + "type": "array" + }, + "detail": { "type": "string" }, - "minor_version": { - "type": "number", - "format": "double" + "filename": { + "type": "string" }, - "major_version": { + "file_id": { + "type": "string" + }, + "file_data": { + "type": "string" + }, + "idx": { "type": "number", "format": "double" }, - "prompt_v2": { + "audio_data": { "type": "string" }, - "model": { + "image_url": { "type": "string" }, - "filled_helicone_template": {} - }, - "required": [ - "id", - "minor_version", - "major_version", - "prompt_v2", - "model", - "filled_helicone_template" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_PromptVersionResultFilled_": { - "properties": { - "data": { - "$ref": "#/components/schemas/PromptVersionResultFilled" + "timestamp": { + "type": "string" }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_PromptVersionResultFilled.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_PromptVersionResultFilled_" + "tool_call_id": { + "type": "string" }, - { - "$ref": "#/components/schemas/ResultError_string_" + "tool_calls": { + "items": { + "$ref": "#/components/schemas/FunctionCall" + }, + "type": "array" + }, + "text": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "input_image", + "input_text", + "input_file" + ] + }, + "name": { + "type": "string" + }, + "role": { + "type": "string", + "enum": [ + "user", + "assistant", + "system", + "developer" + ] + }, + "id": { + "type": "string" + }, + "_type": { + "type": "string", + "enum": [ + "functionCall", + "function", + "image", + "text", + "file", + "contentArray" + ] } - ] + }, + "required": [ + "type", + "role", + "_type" + ], + "type": "object" }, - "ResultSuccess__experimentId-string__": { + "LLMResponseBody": { "properties": { - "data": { + "dataDetailsResponse": { "properties": { - "experimentId": { + "name": { + "type": "string" + }, + "_type": { + "type": "string", + "enum": [ + "data" + ], + "nullable": false + }, + "metadata": { + "properties": { + "timestamp": { + "type": "string" + } + }, + "additionalProperties": {}, + "required": [ + "timestamp" + ], + "type": "object" + }, + "message": { + "type": "string" + }, + "status": { "type": "string" } }, + "additionalProperties": {}, "required": [ - "experimentId" + "name", + "_type", + "metadata", + "message", + "status" ], "type": "object" }, - "error": { - "type": "number", - "enum": [ - null + "vectorDBDetailsResponse": { + "properties": { + "_type": { + "type": "string", + "enum": [ + "vector_db" + ], + "nullable": false + }, + "metadata": { + "properties": { + "timestamp": { + "type": "string" + }, + "destination_parsed": { + "type": "boolean" + }, + "destination": { + "type": "string" + } + }, + "required": [ + "timestamp" + ], + "type": "object" + }, + "actualSimilarity": { + "type": "number", + "format": "double" + }, + "similarityThreshold": { + "type": "number", + "format": "double" + }, + "message": { + "type": "string" + }, + "status": { + "type": "string" + } + }, + "required": [ + "_type", + "metadata", + "message", + "status" ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result__experimentId-string_.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__experimentId-string__" + "type": "object" }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ExperimentV2": { - "properties": { - "id": { - "type": "string" + "toolDetailsResponse": { + "properties": { + "toolName": { + "type": "string" + }, + "_type": { + "type": "string", + "enum": [ + "tool" + ], + "nullable": false + }, + "metadata": { + "properties": { + "timestamp": { + "type": "string" + } + }, + "required": [ + "timestamp" + ], + "type": "object" + }, + "tips": { + "items": { + "type": "string" + }, + "type": "array" + }, + "message": { + "type": "string" + }, + "status": { + "type": "string" + } + }, + "required": [ + "toolName", + "_type", + "metadata", + "tips", + "message", + "status" + ], + "type": "object" }, - "name": { - "type": "string" + "error": { + "properties": { + "heliconeMessage": {} + }, + "required": [ + "heliconeMessage" + ], + "type": "object" }, - "original_prompt_version": { - "type": "string" + "model": { + "type": "string", + "nullable": true }, - "copied_original_prompt_version": { + "instructions": { "type": "string", "nullable": true }, - "input_keys": { + "responses": { "items": { - "type": "string" + "$ref": "#/components/schemas/Response" }, "type": "array", "nullable": true }, - "created_at": { - "type": "string" + "messages": { + "items": { + "$ref": "#/components/schemas/Message" + }, + "type": "array", + "nullable": true } }, - "required": [ - "id", - "name", - "original_prompt_version", - "copied_original_prompt_version", - "input_keys", - "created_at" - ], - "type": "object", - "additionalProperties": false + "type": "object" }, - "ResultSuccess_ExperimentV2-Array_": { + "LlmSchema": { "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/ExperimentV2" - }, - "type": "array" + "request": { + "$ref": "#/components/schemas/LLMRequestBody" }, - "error": { - "type": "number", - "enum": [ - null + "response": { + "allOf": [ + { + "$ref": "#/components/schemas/LLMResponseBody" + } ], "nullable": true } }, "required": [ - "data", - "error" + "request" ], "type": "object", "additionalProperties": false }, - "Result_ExperimentV2-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_ExperimentV2-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] + "Record_string.number_": { + "properties": {}, + "additionalProperties": { + "type": "number", + "format": "double" + }, + "type": "object", + "description": "Construct a type with a set of properties K of type T" }, - "ExperimentV2Output": { + "HeliconeRequest": { "properties": { - "id": { - "type": "string" + "response_id": { + "type": "string", + "nullable": true }, - "request_id": { - "type": "string" + "response_created_at": { + "type": "string", + "nullable": true }, - "is_original": { - "type": "boolean" + "response_body": {}, + "response_status": { + "type": "number", + "format": "double" }, - "prompt_version_id": { - "type": "string" + "response_model": { + "type": "string", + "nullable": true }, - "created_at": { + "request_id": { "type": "string" }, - "input_record_id": { - "type": "string" - } - }, - "required": [ - "id", - "request_id", - "is_original", - "prompt_version_id", - "created_at", - "input_record_id" - ], - "type": "object", - "additionalProperties": false - }, - "ExperimentV2Row": { - "properties": { - "id": { + "request_created_at": { "type": "string" }, - "inputs": { - "$ref": "#/components/schemas/Record_string.string_" - }, - "prompt_version": { + "request_body": {}, + "request_path": { "type": "string" }, - "requests": { - "items": { - "$ref": "#/components/schemas/ExperimentV2Output" - }, - "type": "array" + "request_user_id": { + "type": "string", + "nullable": true }, - "auto_prompt_inputs": { - "items": {}, - "type": "array" - } - }, - "required": [ - "id", - "inputs", - "prompt_version", - "requests", - "auto_prompt_inputs" - ], - "type": "object", - "additionalProperties": false - }, - "ExtendedExperimentData": { - "properties": { - "id": { - "type": "string" + "request_properties": { + "allOf": [ + { + "$ref": "#/components/schemas/Record_string.string_" + } + ], + "nullable": true }, - "name": { - "type": "string" + "request_model": { + "type": "string", + "nullable": true }, - "original_prompt_version": { - "type": "string" + "model_override": { + "type": "string", + "nullable": true }, - "copied_original_prompt_version": { + "helicone_user": { "type": "string", "nullable": true }, - "input_keys": { - "items": { - "type": "string" - }, - "type": "array", + "provider": { + "$ref": "#/components/schemas/Provider" + }, + "delay_ms": { + "type": "number", + "format": "double", "nullable": true }, - "created_at": { - "type": "string" + "time_to_first_token": { + "type": "number", + "format": "double", + "nullable": true }, - "rows": { - "items": { - "$ref": "#/components/schemas/ExperimentV2Row" - }, - "type": "array" - } - }, - "required": [ - "id", - "name", - "original_prompt_version", - "copied_original_prompt_version", - "input_keys", - "created_at", - "rows" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_ExtendedExperimentData_": { - "properties": { - "data": { - "$ref": "#/components/schemas/ExtendedExperimentData" + "total_tokens": { + "type": "number", + "format": "double", + "nullable": true }, - "error": { + "prompt_tokens": { "type": "number", - "enum": [ - null - ], + "format": "double", "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_ExtendedExperimentData.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_ExtendedExperimentData_" }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "CreateNewPromptVersionForExperimentParams": { - "properties": { - "newHeliconeTemplate": {}, - "isMajorVersion": { - "type": "boolean" + "prompt_cache_write_tokens": { + "type": "number", + "format": "double", + "nullable": true }, - "metadata": { - "$ref": "#/components/schemas/Record_string.any_" + "prompt_cache_read_tokens": { + "type": "number", + "format": "double", + "nullable": true }, - "experimentId": { - "type": "string" + "completion_tokens": { + "type": "number", + "format": "double", + "nullable": true }, - "bumpForMajorPromptVersionId": { - "type": "string" + "reasoning_tokens": { + "type": "number", + "format": "double", + "nullable": true }, - "parentPromptVersionId": { - "type": "string" - } - }, - "required": [ - "newHeliconeTemplate", - "parentPromptVersionId" - ], - "type": "object", - "additionalProperties": false - }, - "Json": { - "anyOf": [ - { - "type": "string" + "prompt_audio_tokens": { + "type": "number", + "format": "double", + "nullable": true }, - { + "completion_audio_tokens": { "type": "number", - "format": "double" + "format": "double", + "nullable": true }, - { - "type": "boolean" + "cost": { + "type": "number", + "format": "double", + "nullable": true }, - { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/Json" - }, - "type": "object" + "prompt_id": { + "type": "string", + "nullable": true }, - { - "items": { - "$ref": "#/components/schemas/Json" - }, - "type": "array" - } - ], - "nullable": true - }, - "ExperimentV2PromptVersion": { - "properties": { - "created_at": { + "prompt_version": { "type": "string", "nullable": true }, - "experiment_id": { + "feedback_created_at": { "type": "string", "nullable": true }, - "helicone_template": { + "feedback_id": { + "type": "string", + "nullable": true + }, + "feedback_rating": { + "type": "boolean", + "nullable": true + }, + "signed_body_url": { + "type": "string", + "nullable": true + }, + "llmSchema": { "allOf": [ { - "$ref": "#/components/schemas/Json" + "$ref": "#/components/schemas/LlmSchema" } ], "nullable": true }, - "id": { - "type": "string" + "country_code": { + "type": "string", + "nullable": true }, - "major_version": { - "type": "number", - "format": "double" + "asset_ids": { + "items": { + "type": "string" + }, + "type": "array", + "nullable": true }, - "metadata": { + "asset_urls": { "allOf": [ { - "$ref": "#/components/schemas/Json" + "$ref": "#/components/schemas/Record_string.string_" } ], "nullable": true }, - "minor_version": { + "scores": { + "allOf": [ + { + "$ref": "#/components/schemas/Record_string.number_" + } + ], + "nullable": true + }, + "costUSD": { "type": "number", - "format": "double" + "format": "double", + "nullable": true + }, + "properties": { + "$ref": "#/components/schemas/Record_string.string_" + }, + "assets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "target_url": { + "type": "string" }, "model": { + "type": "string" + }, + "cache_reference_id": { "type": "string", "nullable": true }, - "organization": { - "type": "string" + "cache_enabled": { + "type": "boolean" }, - "prompt_v2": { + "updated_at": { "type": "string" }, - "soft_delete": { - "type": "boolean", + "request_referrer": { + "type": "string", + "nullable": true + }, + "ai_gateway_body_mapping": { + "type": "string", "nullable": true + }, + "storage_location": { + "type": "string" } }, "required": [ - "created_at", - "experiment_id", - "helicone_template", - "id", - "major_version", - "metadata", - "minor_version", + "response_id", + "response_created_at", + "response_status", + "response_model", + "request_id", + "request_created_at", + "request_body", + "request_path", + "request_user_id", + "request_properties", + "request_model", + "model_override", + "helicone_user", + "provider", + "delay_ms", + "time_to_first_token", + "total_tokens", + "prompt_tokens", + "prompt_cache_write_tokens", + "prompt_cache_read_tokens", + "completion_tokens", + "reasoning_tokens", + "prompt_audio_tokens", + "completion_audio_tokens", + "cost", + "prompt_id", + "prompt_version", + "llmSchema", + "country_code", + "asset_ids", + "asset_urls", + "scores", + "properties", + "assets", + "target_url", "model", - "organization", - "prompt_v2", - "soft_delete" + "cache_reference_id", + "cache_enabled", + "ai_gateway_body_mapping" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_ExperimentV2PromptVersion-Array_": { + "ResultSuccess_HeliconeRequest-Array_": { "properties": { "data": { "items": { - "$ref": "#/components/schemas/ExperimentV2PromptVersion" + "$ref": "#/components/schemas/HeliconeRequest" }, "type": "array" }, @@ -3357,20 +3295,20 @@ "type": "object", "additionalProperties": false }, - "Result_ExperimentV2PromptVersion-Array.string_": { + "Result_HeliconeRequest-Array.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_ExperimentV2PromptVersion-Array_" + "$ref": "#/components/schemas/ResultSuccess_HeliconeRequest-Array_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "ResultSuccess_string_": { + "ResultSuccess_HeliconeRequest_": { "properties": { "data": { - "type": "string" + "$ref": "#/components/schemas/HeliconeRequest" }, "error": { "type": "number", @@ -3387,20 +3325,42 @@ "type": "object", "additionalProperties": false }, - "Result_string.string_": { + "Result_HeliconeRequest.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_string_" + "$ref": "#/components/schemas/ResultSuccess_HeliconeRequest_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "ResultSuccess_boolean_": { + "ResultSuccess__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null_": { "properties": { "data": { - "type": "boolean" + "properties": { + "environment": { + "type": "string", + "nullable": true + }, + "version_id": { + "type": "string" + }, + "prompt_id": { + "type": "string" + }, + "inputs": { + "$ref": "#/components/schemas/Record_string.any_" + } + }, + "required": [ + "environment", + "version_id", + "prompt_id", + "inputs" + ], + "type": "object", + "nullable": true }, "error": { "type": "number", @@ -3417,66 +3377,32 @@ "type": "object", "additionalProperties": false }, - "Result_boolean.string_": { + "Result__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_boolean_" + "$ref": "#/components/schemas/ResultSuccess__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "ScoreV2": { + "HeliconeRequestAsset": { "properties": { - "valueType": { + "assetUrl": { "type": "string" - }, - "value": { - "anyOf": [ - { - "type": "number", - "format": "double" - }, - { - "type": "string", - "format": "date-time" - }, - { - "type": "string" - } - ] - }, - "max": { - "type": "number", - "format": "double" - }, - "min": { - "type": "number", - "format": "double" } }, "required": [ - "valueType", - "value", - "max", - "min" + "assetUrl" ], "type": "object", "additionalProperties": false }, - "Record_string.ScoreV2_": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/ScoreV2" - }, - "type": "object", - "description": "Construct a type with a set of properties K of type T" - }, - "ResultSuccess_Record_string.ScoreV2__": { + "ResultSuccess_HeliconeRequestAsset_": { "properties": { "data": { - "$ref": "#/components/schemas/Record_string.ScoreV2_" + "$ref": "#/components/schemas/HeliconeRequestAsset" }, "error": { "type": "number", @@ -3493,510 +3419,379 @@ "type": "object", "additionalProperties": false }, - "Result_Record_string.ScoreV2_.string_": { + "Result_HeliconeRequestAsset.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_Record_string.ScoreV2__" + "$ref": "#/components/schemas/ResultSuccess_HeliconeRequestAsset_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "ResultSuccess_ScoreV2-or-null_": { + "Record_string.number-or-boolean-or-undefined_": { + "properties": {}, + "additionalProperties": { + "anyOf": [ + { + "type": "number", + "format": "double" + }, + { + "type": "boolean" + } + ] + }, + "type": "object", + "description": "Construct a type with a set of properties K of type T" + }, + "Scores": { + "$ref": "#/components/schemas/Record_string.number-or-boolean-or-undefined_" + }, + "ScoreRequest": { "properties": { - "data": { - "allOf": [ - { - "$ref": "#/components/schemas/ScoreV2" - } - ], - "nullable": true - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true + "scores": { + "$ref": "#/components/schemas/Scores" } }, "required": [ - "data", - "error" + "scores" ], "type": "object", "additionalProperties": false }, - "Result_ScoreV2-or-null.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_ScoreV2-or-null_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "CreateCloudGatewayCheckoutSessionRequest": { + "ConversationMessage": { "properties": { - "amount": { - "type": "number", - "format": "double" + "role": { + "type": "string" }, - "returnUrl": { + "content": { "type": "string" } }, "required": [ - "amount" + "role", + "content" ], "type": "object", "additionalProperties": false }, - "UpgradeToProRequest": { + "MostExpensiveRequest": { "properties": { - "addons": { - "properties": { - "evals": { - "type": "boolean" - }, - "experiments": { - "type": "boolean" - }, - "prompts": { - "type": "boolean" - }, - "alerts": { - "type": "boolean" - } - }, - "type": "object" + "requestId": { + "type": "string" }, - "seats": { + "cost": { "type": "number", "format": "double" }, - "ui_mode": { - "type": "string", - "enum": [ - "embedded", - "hosted" - ] - } - }, - "type": "object", - "additionalProperties": false - }, - "UpgradeToTeamBundleRequest": { - "properties": { - "ui_mode": { - "type": "string", - "enum": [ - "embedded", - "hosted" - ] - } - }, - "type": "object", - "additionalProperties": false - }, - "LLMUsage": { - "properties": { "model": { "type": "string" }, "provider": { "type": "string" }, - "prompt_tokens": { - "type": "number", - "format": "double" - }, - "completion_tokens": { - "type": "number", - "format": "double" + "createdAt": { + "type": "string" }, - "total_count": { + "promptTokens": { "type": "number", "format": "double" }, - "amount": { + "completionTokens": { "type": "number", "format": "double" }, - "description": { - "type": "string" - }, - "totalCost": { + "conversation": { "properties": { - "prompt_token": { + "totalWords": { "type": "number", "format": "double" }, - "completion_token": { + "turnCount": { "type": "number", "format": "double" + }, + "messages": { + "items": { + "$ref": "#/components/schemas/ConversationMessage" + }, + "type": "array" } }, "required": [ - "prompt_token", - "completion_token" + "totalWords", + "turnCount", + "messages" ], - "type": "object" + "type": "object", + "nullable": true } }, "required": [ + "requestId", + "cost", "model", "provider", - "prompt_tokens", - "completion_tokens", - "total_count", - "amount", - "description", - "totalCost" + "createdAt", + "promptTokens", + "completionTokens", + "conversation" ], "type": "object", "additionalProperties": false }, - "PaymentIntentRecord": { + "WrappedStats": { "properties": { - "id": { - "type": "string" - }, - "amount": { - "type": "number", - "format": "double" - }, - "created": { + "totalRequests": { "type": "number", "format": "double" }, - "status": { - "type": "string" - }, - "isRefunded": { - "type": "boolean" - }, - "refundedAmount": { - "type": "number", - "format": "double" + "topProviders": { + "items": { + "properties": { + "count": { + "type": "number", + "format": "double" + }, + "provider": { + "type": "string" + } + }, + "required": [ + "count", + "provider" + ], + "type": "object" + }, + "type": "array" }, - "refundIds": { + "topModels": { "items": { - "type": "string" + "properties": { + "count": { + "type": "number", + "format": "double" + }, + "model": { + "type": "string" + } + }, + "required": [ + "count", + "model" + ], + "type": "object" }, "type": "array" + }, + "totalTokens": { + "properties": { + "total": { + "type": "number", + "format": "double" + }, + "cacheRead": { + "type": "number", + "format": "double" + }, + "cacheWrite": { + "type": "number", + "format": "double" + }, + "completion": { + "type": "number", + "format": "double" + }, + "prompt": { + "type": "number", + "format": "double" + } + }, + "required": [ + "total", + "cacheRead", + "cacheWrite", + "completion", + "prompt" + ], + "type": "object" + }, + "mostExpensiveRequest": { + "allOf": [ + { + "$ref": "#/components/schemas/MostExpensiveRequest" + } + ], + "nullable": true } }, "required": [ - "id", - "amount", - "created", - "status" + "totalRequests", + "topProviders", + "topModels", + "totalTokens", + "mostExpensiveRequest" ], "type": "object", "additionalProperties": false }, - "StripePaymentIntentsResponse": { + "ResultSuccess_WrappedStats_": { "properties": { "data": { - "items": { - "$ref": "#/components/schemas/PaymentIntentRecord" - }, - "type": "array" - }, - "has_more": { - "type": "boolean" - }, - "next_page": { - "type": "string", - "nullable": true + "$ref": "#/components/schemas/WrappedStats" }, - "count": { + "error": { "type": "number", - "format": "double" + "enum": [ + null + ], + "nullable": true } }, "required": [ "data", - "has_more", - "next_page", - "count" + "error" ], "type": "object", "additionalProperties": false }, - "AutoTopoffSettings": { - "properties": { - "enabled": { - "type": "boolean" + "Result_WrappedStats.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_WrappedStats_" }, - "thresholdCents": { - "type": "number", - "format": "double" + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "ResultSuccess__hasData-boolean__": { + "properties": { + "data": { + "properties": { + "hasData": { + "type": "boolean" + } + }, + "required": [ + "hasData" + ], + "type": "object" }, - "topoffAmountCents": { + "error": { "type": "number", - "format": "double" - }, - "stripePaymentMethodId": { - "type": "string", - "nullable": true - }, - "lastTopoffAt": { - "type": "string", + "enum": [ + null + ], "nullable": true - }, - "consecutiveFailures": { - "type": "number", - "format": "double" } }, "required": [ - "enabled", - "thresholdCents", - "topoffAmountCents", - "stripePaymentMethodId", - "lastTopoffAt", - "consecutiveFailures" + "data", + "error" ], "type": "object", "additionalProperties": false }, - "UpdateAutoTopoffSettingsRequest": { - "properties": { - "enabled": { - "type": "boolean" - }, - "thresholdCents": { - "type": "number", - "format": "double" - }, - "topoffAmountCents": { - "type": "number", - "format": "double" + "Result__hasData-boolean_.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess__hasData-boolean__" }, - "stripePaymentMethodId": { - "type": "string" + { + "$ref": "#/components/schemas/ResultError_string_" } - }, - "required": [ - "enabled", - "thresholdCents", - "topoffAmountCents", - "stripePaymentMethodId" - ], - "type": "object", - "additionalProperties": false + ] }, - "PaymentMethod": { + "ResultSuccess_unknown_": { "properties": { - "id": { - "type": "string" - }, - "brand": { - "type": "string" - }, - "last4": { - "type": "string" - }, - "exp_month": { - "type": "number", - "format": "double" - }, - "exp_year": { + "data": {}, + "error": { "type": "number", - "format": "double" + "enum": [ + null + ], + "nullable": true } }, "required": [ - "id", - "brand", - "last4", - "exp_month", - "exp_year" + "data", + "error" ], "type": "object", "additionalProperties": false }, - "CreateSetupSessionRequest": { - "properties": { - "returnUrl": { - "type": "string" - } - }, - "type": "object", - "additionalProperties": false - }, - "DailyUsageDataPoint": { + "ResultError_unknown_": { "properties": { - "date": { - "type": "string" - }, - "requests": { - "type": "number", - "format": "double" - }, - "bytes": { + "data": { "type": "number", - "format": "double" - } - }, - "required": [ - "date", - "requests", - "bytes" - ], - "type": "object", - "additionalProperties": false - }, - "UsageStatsResponse": { - "properties": { - "billingPeriod": { - "properties": { - "daysTotal": { - "type": "number", - "format": "double" - }, - "daysElapsed": { - "type": "number", - "format": "double" - }, - "end": { - "type": "string" - }, - "start": { - "type": "string" - } - }, - "required": [ - "daysTotal", - "daysElapsed", - "end", - "start" - ], - "type": "object" - }, - "usage": { - "properties": { - "totalGB": { - "type": "number", - "format": "double" - }, - "totalBytes": { - "type": "number", - "format": "double" - }, - "totalRequests": { - "type": "number", - "format": "double" - } - }, - "required": [ - "totalGB", - "totalBytes", - "totalRequests" - ], - "type": "object" - }, - "dailyData": { - "items": { - "$ref": "#/components/schemas/DailyUsageDataPoint" - }, - "type": "array" - }, - "estimatedCost": { - "properties": { - "projectedMonthlyTotalCost": { - "type": "number", - "format": "double" - }, - "projectedMonthlyGBCost": { - "type": "number", - "format": "double" - }, - "projectedMonthlyRequestsCost": { - "type": "number", - "format": "double" - }, - "totalCost": { - "type": "number", - "format": "double" - }, - "gbCost": { - "type": "number", - "format": "double" - }, - "requestsCost": { - "type": "number", - "format": "double" - } - }, - "required": [ - "projectedMonthlyTotalCost", - "projectedMonthlyGBCost", - "projectedMonthlyRequestsCost", - "totalCost", - "gbCost", - "requestsCost" + "enum": [ + null ], - "type": "object" - } - }, - "required": [ - "billingPeriod", - "usage", - "dailyData", - "estimatedCost" - ], - "type": "object", - "additionalProperties": false - }, - "IntegrationCreateParams": { - "properties": { - "integration_name": { - "type": "string" - }, - "settings": { - "$ref": "#/components/schemas/Json" + "nullable": true }, - "active": { - "type": "boolean" - } + "error": {} }, "required": [ - "integration_name" + "data", + "error" ], "type": "object", "additionalProperties": false }, - "Integration": { + "WebhookData": { "properties": { - "integration_name": { + "destination": { "type": "string" }, - "settings": { - "$ref": "#/components/schemas/Json" + "config": { + "$ref": "#/components/schemas/Record_string.any_" }, - "active": { + "includeData": { "type": "boolean" - }, - "id": { - "type": "string" } }, "required": [ - "id" + "destination", + "config" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_Array_Integration__": { + "ResultSuccess__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array_": { "properties": { "data": { "items": { - "$ref": "#/components/schemas/Integration" + "properties": { + "hmac_key": { + "type": "string" + }, + "config": { + "type": "string" + }, + "version": { + "type": "string" + }, + "destination": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "hmac_key", + "config", + "version", + "destination", + "created_at", + "id" + ], + "type": "object" }, "type": "array" }, @@ -4015,35 +3810,84 @@ "type": "object", "additionalProperties": false }, - "Result_Array_Integration_.string_": { + "Result__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_Array_Integration__" + "$ref": "#/components/schemas/ResultSuccess__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "IntegrationUpdateParams": { + "ResultSuccess__success-boolean--message-string__": { "properties": { - "integration_name": { + "data": { + "properties": { + "message": { + "type": "string" + }, + "success": { + "type": "boolean" + } + }, + "required": [ + "message", + "success" + ], + "type": "object" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true + } + }, + "required": [ + "data", + "error" + ], + "type": "object", + "additionalProperties": false + }, + "Result__success-boolean--message-string_.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess__success-boolean--message-string__" + }, + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "AddVaultKeyParams": { + "properties": { + "key": { "type": "string" }, - "settings": { - "$ref": "#/components/schemas/Json" + "provider": { + "type": "string" }, - "active": { - "type": "boolean" + "name": { + "type": "string" } }, + "required": [ + "key", + "provider" + ], "type": "object", "additionalProperties": false }, - "ResultSuccess_Integration_": { + "ResultSuccess_DecryptedProviderKey-Array_": { "properties": { "data": { - "$ref": "#/components/schemas/Integration" + "items": { + "$ref": "#/components/schemas/DecryptedProviderKey" + }, + "type": "array" }, "error": { "type": "number", @@ -4060,35 +3904,20 @@ "type": "object", "additionalProperties": false }, - "Result_Integration.string_": { + "Result_DecryptedProviderKey-Array.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_Integration_" + "$ref": "#/components/schemas/ResultSuccess_DecryptedProviderKey-Array_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "ResultSuccess_Array__id-string--name-string___": { + "ResultSuccess_DecryptedProviderKey_": { "properties": { "data": { - "items": { - "properties": { - "name": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "name", - "id" - ], - "type": "object" - }, - "type": "array" + "$ref": "#/components/schemas/DecryptedProviderKey" }, "error": { "type": "number", @@ -4105,2014 +3934,2347 @@ "type": "object", "additionalProperties": false }, - "Result_Array__id-string--name-string__.string_": { + "Result_DecryptedProviderKey.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_Array__id-string--name-string___" + "$ref": "#/components/schemas/ResultSuccess_DecryptedProviderKey_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "TestStripeMeterEventRequest": { + "HistogramRow": { "properties": { - "event_name": { + "range_start": { "type": "string" }, - "customer_id": { + "range_end": { "type": "string" + }, + "value": { + "type": "number", + "format": "double" } }, "required": [ - "event_name", - "customer_id" + "range_start", + "range_end", + "value" ], "type": "object", "additionalProperties": false }, - "Partial_ResponseTableToOperators_": { + "ResultSuccess__request_count-HistogramRow-Array--user_cost-HistogramRow-Array__": { "properties": { - "body_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "body_model": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "body_completion": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "status": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "data": { + "properties": { + "user_cost": { + "items": { + "$ref": "#/components/schemas/HistogramRow" + }, + "type": "array" + }, + "request_count": { + "items": { + "$ref": "#/components/schemas/HistogramRow" + }, + "type": "array" + } + }, + "required": [ + "user_cost", + "request_count" + ], + "type": "object" }, - "model": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, + "required": [ + "data", + "error" + ], "type": "object", - "description": "Make all properties in T optional" + "additionalProperties": false }, - "Partial_TimestampOperators_": { - "properties": { - "equals": { - "type": "string" - }, - "gte": { - "type": "string" - }, - "lte": { - "type": "string" - }, - "lt": { - "type": "string" + "Result__request_count-HistogramRow-Array--user_cost-HistogramRow-Array_.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess__request_count-HistogramRow-Array--user_cost-HistogramRow-Array__" }, - "gt": { - "type": "string" + { + "$ref": "#/components/schemas/ResultError_string_" } - }, - "type": "object", - "description": "Make all properties in T optional" + ] }, - "Partial_RequestTableToOperators_": { + "Partial_UserViewToOperators_": { "properties": { - "prompt": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "created_at": { - "$ref": "#/components/schemas/Partial_TimestampOperators_" - }, - "user_id": { + "user_user_id": { "$ref": "#/components/schemas/Partial_TextOperators_" }, - "auth_hash": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "user_active_for": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - "org_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "user_first_active": { + "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" }, - "id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "user_last_active": { + "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" }, - "node_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "user_total_requests": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - "model": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "user_average_requests_per_day_active": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - "modelOverride": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "user_average_tokens_per_request": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - "path": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "user_total_completion_tokens": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - "country_code": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "user_total_prompt_tokens": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - "prompt_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "user_cost": { + "$ref": "#/components/schemas/Partial_NumberOperators_" } }, "type": "object", "description": "Make all properties in T optional" }, - "Partial_BooleanOperators_": { + "Pick_FilterLeaf.users_view-or-request_response_rmt_": { "properties": { - "equals": { - "type": "boolean" + "request_response_rmt": { + "$ref": "#/components/schemas/Partial_RequestResponseRMTToOperators_" + }, + "users_view": { + "$ref": "#/components/schemas/Partial_UserViewToOperators_" } }, "type": "object", - "description": "Make all properties in T optional" + "description": "From T, pick a set of properties whose keys are in the union K" }, - "Partial_FeedbackTableToOperators_": { - "properties": { - "id": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "created_at": { - "$ref": "#/components/schemas/Partial_TimestampOperators_" + "FilterLeafSubset_users_view-or-request_response_rmt_": { + "$ref": "#/components/schemas/Pick_FilterLeaf.users_view-or-request_response_rmt_" + }, + "UserFilterNode": { + "anyOf": [ + { + "$ref": "#/components/schemas/FilterLeafSubset_users_view-or-request_response_rmt_" }, - "rating": { - "$ref": "#/components/schemas/Partial_BooleanOperators_" + { + "$ref": "#/components/schemas/UserFilterBranch" }, - "response_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" - } - }, - "type": "object", - "description": "Make all properties in T optional" + { + "type": "string", + "enum": [ + "all" + ] + } + ] }, - "Partial_TimestampOperatorsTyped_": { + "UserFilterBranch": { "properties": { - "equals": { - "type": "string", - "format": "date-time" - }, - "gte": { - "type": "string", - "format": "date-time" - }, - "lte": { - "type": "string", - "format": "date-time" + "right": { + "$ref": "#/components/schemas/UserFilterNode" }, - "lt": { + "operator": { "type": "string", - "format": "date-time" + "enum": [ + "or", + "and" + ] }, - "gt": { - "type": "string", - "format": "date-time" + "left": { + "$ref": "#/components/schemas/UserFilterNode" } }, - "type": "object", - "description": "Make all properties in T optional" + "required": [ + "right", + "operator", + "left" + ], + "type": "object" }, - "Partial_RequestResponseRMTToOperators_": { + "PSize": { + "type": "string", + "enum": [ + "p50", + "p75", + "p95", + "p99", + "p99.9" + ] + }, + "UserMetricsResult": { "properties": { - "country_code": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "latency": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "cost": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "provider": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "time_to_first_token": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "status": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "request_created_at": { - "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" - }, - "response_created_at": { - "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" - }, - "model": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "id": { + "type": "string" }, "user_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "organization_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "node_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "job_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "type": "string" }, - "threat": { - "$ref": "#/components/schemas/Partial_BooleanOperators_" + "active_for": { + "type": "number", + "format": "double" }, - "request_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "first_active": { + "type": "string" }, - "prompt_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "last_active": { + "type": "string" }, - "completion_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "total_requests": { + "type": "number", + "format": "double" }, - "prompt_cache_read_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "average_requests_per_day_active": { + "type": "number", + "format": "double" }, - "prompt_cache_write_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "average_tokens_per_request": { + "type": "number", + "format": "double" }, - "total_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "total_completion_tokens": { + "type": "number", + "format": "double" }, - "target_url": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "total_prompt_tokens": { + "type": "number", + "format": "double" }, - "property_key": { + "cost": { + "type": "number", + "format": "double" + } + }, + "required": [ + "id", + "user_id", + "active_for", + "first_active", + "last_active", + "total_requests", + "average_requests_per_day_active", + "average_tokens_per_request", + "total_completion_tokens", + "total_prompt_tokens", + "cost" + ], + "type": "object", + "additionalProperties": false + }, + "ResultSuccess__users-UserMetricsResult-Array--count-number--hasUsers-boolean__": { + "properties": { + "data": { "properties": { - "equals": { - "type": "string" + "hasUsers": { + "type": "boolean" + }, + "count": { + "type": "number", + "format": "double" + }, + "users": { + "items": { + "$ref": "#/components/schemas/UserMetricsResult" + }, + "type": "array" } }, "required": [ - "equals" + "hasUsers", + "count", + "users" ], "type": "object" }, - "properties": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "type": "object" + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true + } + }, + "required": [ + "data", + "error" + ], + "type": "object", + "additionalProperties": false + }, + "Result__users-UserMetricsResult-Array--count-number--hasUsers-boolean_.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess__users-UserMetricsResult-Array--count-number--hasUsers-boolean__" }, - "search_properties": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "type": "object" + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "SortLeafUsers": { + "properties": { + "id": { + "$ref": "#/components/schemas/SortDirection" }, - "scores": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "type": "object" + "user_id": { + "$ref": "#/components/schemas/SortDirection" }, - "scores_column": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "active_for": { + "$ref": "#/components/schemas/SortDirection" }, - "request_body": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "first_active": { + "$ref": "#/components/schemas/SortDirection" }, - "response_body": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "last_active": { + "$ref": "#/components/schemas/SortDirection" }, - "cache_enabled": { - "$ref": "#/components/schemas/Partial_BooleanOperators_" + "total_requests": { + "$ref": "#/components/schemas/SortDirection" }, - "cache_reference_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "average_requests_per_day_active": { + "$ref": "#/components/schemas/SortDirection" }, - "cached": { - "$ref": "#/components/schemas/Partial_BooleanOperators_" + "average_tokens_per_request": { + "$ref": "#/components/schemas/SortDirection" }, - "assets": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "total_prompt_tokens": { + "$ref": "#/components/schemas/SortDirection" }, - "helicone-score-feedback": { - "$ref": "#/components/schemas/Partial_BooleanOperators_" + "total_completion_tokens": { + "$ref": "#/components/schemas/SortDirection" }, - "prompt_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "prompt_version": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "request_referrer": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "cost": { + "$ref": "#/components/schemas/SortDirection" }, - "is_passthrough_billing": { - "$ref": "#/components/schemas/Partial_BooleanOperators_" + "rate_limited_count": { + "$ref": "#/components/schemas/SortDirection" } }, - "type": "object", - "description": "Make all properties in T optional" + "type": "object" }, - "Partial_SessionsRequestResponseRMTToOperators_": { + "UserMetricsQueryParams": { "properties": { - "session_session_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "session_session_name": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "session_total_cost": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "session_total_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "session_prompt_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "filter": { + "$ref": "#/components/schemas/UserFilterNode" }, - "session_completion_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "offset": { + "type": "number", + "format": "double" }, - "session_total_requests": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "limit": { + "type": "number", + "format": "double" }, - "session_created_at": { - "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" + "timeFilter": { + "properties": { + "endTimeUnixSeconds": { + "type": "number", + "format": "double" + }, + "startTimeUnixSeconds": { + "type": "number", + "format": "double" + } + }, + "required": [ + "endTimeUnixSeconds", + "startTimeUnixSeconds" + ], + "type": "object" }, - "session_latest_request_created_at": { - "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" + "timeZoneDifferenceMinutes": { + "type": "number", + "format": "double" }, - "session_tag": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "sort": { + "$ref": "#/components/schemas/SortLeafUsers" } }, + "required": [ + "filter", + "offset", + "limit" + ], "type": "object", - "description": "Make all properties in T optional" + "additionalProperties": false }, - "Pick_FilterLeaf.feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_": { + "ResultSuccess__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array_": { "properties": { - "values": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "data": { + "items": { + "properties": { + "cost": { + "type": "number", + "format": "double" + }, + "user_id": { + "type": "string" + }, + "completion_tokens": { + "type": "number", + "format": "double" + }, + "prompt_tokens": { + "type": "number", + "format": "double" + }, + "count": { + "type": "number", + "format": "double" + } + }, + "required": [ + "cost", + "user_id", + "completion_tokens", + "prompt_tokens", + "count" + ], + "type": "object" }, - "type": "object" - }, - "response": { - "$ref": "#/components/schemas/Partial_ResponseTableToOperators_" - }, - "request": { - "$ref": "#/components/schemas/Partial_RequestTableToOperators_" - }, - "feedback": { - "$ref": "#/components/schemas/Partial_FeedbackTableToOperators_" - }, - "request_response_rmt": { - "$ref": "#/components/schemas/Partial_RequestResponseRMTToOperators_" - }, - "sessions_request_response_rmt": { - "$ref": "#/components/schemas/Partial_SessionsRequestResponseRMTToOperators_" + "type": "array" }, - "properties": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "type": "object" + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, + "required": [ + "data", + "error" + ], "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "FilterLeafSubset_feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_": { - "$ref": "#/components/schemas/Pick_FilterLeaf.feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_" + "additionalProperties": false }, - "RequestFilterNode": { + "Result__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array.string_": { "anyOf": [ { - "$ref": "#/components/schemas/FilterLeafSubset_feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_" - }, - { - "$ref": "#/components/schemas/RequestFilterBranch" + "$ref": "#/components/schemas/ResultSuccess__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array_" }, { - "type": "string", - "enum": [ - "all" - ] + "$ref": "#/components/schemas/ResultError_string_" } ] }, - "RequestFilterBranch": { + "UserQueryParams": { "properties": { - "right": { - "$ref": "#/components/schemas/RequestFilterNode" + "userIds": { + "items": { + "type": "string" + }, + "type": "array" }, - "operator": { - "type": "string", - "enum": [ - "or", - "and" - ] + "timeFilter": { + "properties": { + "endTimeUnixSeconds": { + "type": "number", + "format": "double" + }, + "startTimeUnixSeconds": { + "type": "number", + "format": "double" + } + }, + "required": [ + "endTimeUnixSeconds", + "startTimeUnixSeconds" + ], + "type": "object" + } + }, + "type": "object", + "additionalProperties": false + }, + "ValidationError": { + "properties": { + "field": { + "type": "string" }, - "left": { - "$ref": "#/components/schemas/RequestFilterNode" + "message": { + "type": "string" } }, "required": [ - "right", - "operator", - "left" + "field", + "message" ], - "type": "object" - }, - "SortDirection": { - "type": "string", - "enum": [ - "asc", - "desc" - ] + "type": "object", + "additionalProperties": false }, - "SortLeafRequest": { + "ValidationResult": { "properties": { - "random": { - "type": "boolean", - "enum": [ - true - ], - "nullable": false - }, - "created_at": { - "$ref": "#/components/schemas/SortDirection" - }, - "cache_created_at": { - "$ref": "#/components/schemas/SortDirection" - }, - "latency": { - "$ref": "#/components/schemas/SortDirection" - }, - "last_active": { - "$ref": "#/components/schemas/SortDirection" - }, - "total_tokens": { - "$ref": "#/components/schemas/SortDirection" - }, - "completion_tokens": { - "$ref": "#/components/schemas/SortDirection" - }, - "prompt_tokens": { - "$ref": "#/components/schemas/SortDirection" + "isValid": { + "type": "boolean" }, - "user_id": { - "$ref": "#/components/schemas/SortDirection" - }, - "body_model": { - "$ref": "#/components/schemas/SortDirection" - }, - "is_cached": { - "$ref": "#/components/schemas/SortDirection" - }, - "request_prompt": { - "$ref": "#/components/schemas/SortDirection" - }, - "response_text": { - "$ref": "#/components/schemas/SortDirection" - }, - "properties": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/SortDirection" - }, - "type": "object" - }, - "values": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/SortDirection" + "errors": { + "items": { + "$ref": "#/components/schemas/ValidationError" }, - "type": "object" + "type": "array" + } + }, + "required": [ + "isValid", + "errors" + ], + "type": "object", + "additionalProperties": false + }, + "Record_string.unknown_": { + "properties": {}, + "additionalProperties": {}, + "type": "object", + "description": "Construct a type with a set of properties K of type T" + }, + "TypedProviderRequest": { + "properties": { + "url": { + "type": "string" }, - "cost": { - "$ref": "#/components/schemas/SortDirection" + "json": { + "$ref": "#/components/schemas/Record_string.unknown_" }, - "time_to_first_token": { - "$ref": "#/components/schemas/SortDirection" + "meta": { + "$ref": "#/components/schemas/Record_string.string_" } }, + "required": [ + "url", + "json", + "meta" + ], "type": "object", "additionalProperties": false }, - "RequestQueryParams": { + "TypedProviderResponse": { "properties": { - "filter": { - "$ref": "#/components/schemas/RequestFilterNode" + "json": { + "$ref": "#/components/schemas/Record_string.unknown_" }, - "offset": { - "type": "number", - "format": "double" + "textBody": { + "type": "string" }, - "limit": { + "status": { "type": "number", "format": "double" }, - "sort": { - "$ref": "#/components/schemas/SortLeafRequest" - }, - "isCached": { - "type": "boolean" - }, - "includeInputs": { - "type": "boolean" - }, - "isPartOfExperiment": { - "type": "boolean" - }, - "isScored": { - "type": "boolean" + "headers": { + "$ref": "#/components/schemas/Record_string.string_" } }, "required": [ - "filter" + "status", + "headers" ], "type": "object", "additionalProperties": false }, - "ProviderName": { - "type": "string", - "enum": [ - "OPENAI", - "ANTHROPIC", - "AZURE", - "LOCAL", - "HELICONE", - "AMDBARTEK", - "ANYSCALE", - "CLOUDFLARE", - "2YFV", - "TOGETHER", - "LEMONFOX", - "FIREWORKS", - "PERPLEXITY", - "GOOGLE", - "OPENROUTER", - "WISDOMINANUTSHELL", - "GROQ", - "COHERE", - "MISTRAL", - "DEEPINFRA", - "QSTASH", - "FIRECRAWL", - "AWS", - "BEDROCK", - "DEEPSEEK", - "X", - "AVIAN", - "NEBIUS", - "NOVITA", - "OPENPIPE", - "CHUTES", - "LLAMA", - "NVIDIA", - "VERCEL", - "CEREBRAS", - "BASETEN", - "CANOPYWAVE" - ] - }, - "ModelProviderName": { - "type": "string", - "enum": [ - "baseten", - "anthropic", - "azure", - "bedrock", - "canopywave", - "cerebras", - "chutes", - "deepinfra", - "deepseek", - "fireworks", - "google-ai-studio", - "groq", - "helicone", - "mistral", - "nebius", - "novita", - "openai", - "openrouter", - "perplexity", - "vertex", - "xai" - ], - "nullable": false - }, - "Provider": { - "anyOf": [ - { - "$ref": "#/components/schemas/ProviderName" - }, - { - "$ref": "#/components/schemas/ModelProviderName" - }, - { - "type": "string", - "enum": [ - "CUSTOM" - ] - } - ] - }, - "LlmType": { - "type": "string", - "enum": [ - "chat", - "completion" - ] - }, - "FunctionCall": { + "TypedTiming": { "properties": { - "id": { - "type": "string" + "timeToFirstToken": { + "type": "number", + "format": "double" }, - "name": { + "startTime": { "type": "string" }, - "arguments": { - "$ref": "#/components/schemas/Record_string.any_" + "endTime": { + "type": "string" } }, "required": [ - "name", - "arguments" + "startTime", + "endTime" ], "type": "object", "additionalProperties": false }, - "Message": { + "TypedAsyncLogModel": { "properties": { - "ending_event_id": { - "type": "string" + "providerRequest": { + "$ref": "#/components/schemas/TypedProviderRequest" }, - "trigger_event_id": { - "type": "string" + "providerResponse": { + "$ref": "#/components/schemas/TypedProviderResponse" }, - "start_timestamp": { - "type": "string" + "timing": { + "$ref": "#/components/schemas/TypedTiming" }, - "annotations": { + "provider": { + "$ref": "#/components/schemas/Provider" + } + }, + "required": [ + "providerRequest", + "providerResponse" + ], + "type": "object", + "additionalProperties": false + }, + "OTELTrace": { + "properties": { + "resourceSpans": { "items": { "properties": { - "content": { - "type": "string" - }, - "title": { - "type": "string" - }, - "url": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "url_citation" - ], - "nullable": false - } - }, - "required": [ - "title", - "url", - "type" - ], - "type": "object" + "scopeSpans": { + "items": { + "properties": { + "spans": { + "items": { + "properties": { + "droppedLinksCount": { + "type": "number", + "format": "double" + }, + "links": { + "items": {}, + "type": "array" + }, + "status": { + "properties": { + "code": { + "type": "number", + "format": "double" + } + }, + "required": [ + "code" + ], + "type": "object" + }, + "droppedEventsCount": { + "type": "number", + "format": "double" + }, + "events": { + "items": {}, + "type": "array" + }, + "droppedAttributesCount": { + "type": "number", + "format": "double" + }, + "attributes": { + "items": { + "properties": { + "value": { + "properties": { + "intValue": { + "type": "number", + "format": "double" + }, + "stringValue": { + "type": "string" + } + }, + "type": "object" + }, + "key": { + "type": "string" + } + }, + "required": [ + "value", + "key" + ], + "type": "object" + }, + "type": "array" + }, + "endTimeUnixNano": { + "type": "string" + }, + "startTimeUnixNano": { + "type": "string" + }, + "kind": { + "type": "number", + "format": "double" + }, + "name": { + "type": "string" + }, + "spanId": { + "type": "string" + }, + "traceId": { + "type": "string" + } + }, + "required": [ + "droppedLinksCount", + "links", + "status", + "droppedEventsCount", + "events", + "droppedAttributesCount", + "attributes", + "endTimeUnixNano", + "startTimeUnixNano", + "kind", + "name", + "spanId", + "traceId" + ], + "type": "object" + }, + "type": "array" + }, + "scope": { + "properties": { + "version": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "version", + "name" + ], + "type": "object" + } + }, + "required": [ + "spans", + "scope" + ], + "type": "object" + }, + "type": "array" + }, + "resource": { + "properties": { + "droppedAttributesCount": { + "type": "number", + "format": "double" + }, + "attributes": { + "items": { + "properties": { + "value": { + "properties": { + "arrayValue": { + "properties": { + "values": { + "items": { + "properties": { + "stringValue": { + "type": "string" + } + }, + "required": [ + "stringValue" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "values" + ], + "type": "object" + }, + "intValue": { + "type": "number", + "format": "double" + }, + "stringValue": { + "type": "string" + } + }, + "type": "object" + }, + "key": { + "type": "string" + } + }, + "required": [ + "value", + "key" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "droppedAttributesCount", + "attributes" + ], + "type": "object" + } + }, + "required": [ + "scopeSpans", + "resource" + ], + "type": "object" }, "type": "array" - }, - "reasoning": { - "type": "string" - }, - "deleted": { + } + }, + "required": [ + "resourceSpans" + ], + "type": "object" + }, + "SendTestRequestResponse": { + "properties": { + "success": { "type": "boolean" }, - "contentArray": { - "items": { - "$ref": "#/components/schemas/Message" - }, - "type": "array" + "response": { + "type": "string" }, - "idx": { - "type": "number", - "format": "double" + "requestId": { + "type": "string" }, - "detail": { + "error": { + "type": "string" + } + }, + "required": [ + "success" + ], + "type": "object", + "additionalProperties": false + }, + "SendTestRequestRequest": { + "properties": { + "apiKey": { + "type": "string" + } + }, + "required": [ + "apiKey" + ], + "type": "object", + "additionalProperties": false + }, + "SessionResult": { + "properties": { + "created_at": { "type": "string" }, - "filename": { + "latest_request_created_at": { "type": "string" }, - "file_id": { + "session_id": { "type": "string" }, - "file_data": { + "session_name": { "type": "string" }, - "type": { - "type": "string", - "enum": [ - "input_image", - "input_text", - "input_file" - ] + "total_cost": { + "type": "number", + "format": "double" }, - "audio_data": { - "type": "string" + "total_requests": { + "type": "number", + "format": "double" }, - "image_url": { - "type": "string" + "prompt_tokens": { + "type": "number", + "format": "double" }, - "timestamp": { - "type": "string" + "completion_tokens": { + "type": "number", + "format": "double" }, - "tool_call_id": { - "type": "string" + "total_tokens": { + "type": "number", + "format": "double" }, - "tool_calls": { + "avg_latency": { + "type": "number", + "format": "double" + }, + "user_ids": { "items": { - "$ref": "#/components/schemas/FunctionCall" + "type": "string" }, "type": "array" - }, - "mime_type": { - "type": "string" - }, - "content": { - "type": "string" - }, - "name": { - "type": "string" - }, - "instruction": { - "type": "string" - }, - "role": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "string", - "enum": [ - "user", - "assistant", - "system", - "developer" - ] - } - ] - }, - "id": { - "type": "string" - }, - "_type": { - "type": "string", - "enum": [ - "functionCall", - "function", - "image", - "file", - "message", - "autoInput", - "contentArray", - "audio" - ] } }, "required": [ - "_type" + "created_at", + "latest_request_created_at", + "session_id", + "session_name", + "total_cost", + "total_requests", + "prompt_tokens", + "completion_tokens", + "total_tokens", + "avg_latency", + "user_ids" ], - "type": "object" + "type": "object", + "additionalProperties": false }, - "Tool": { + "ResultSuccess_SessionResult-Array_": { "properties": { - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "parameters": { - "$ref": "#/components/schemas/Record_string.any_" + "data": { + "items": { + "$ref": "#/components/schemas/SessionResult" + }, + "type": "array" }, - "strict": { - "type": "boolean" + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, "required": [ - "name" + "data", + "error" ], "type": "object", "additionalProperties": false }, - "HeliconeEventTool": { - "properties": { - "_type": { - "type": "string", - "enum": [ - "tool" - ], - "nullable": false + "Result_SessionResult-Array.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_SessionResult-Array_" }, - "toolName": { - "type": "string" + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "Pick_FilterLeaf.request_response_rmt-or-sessions_request_response_rmt_": { + "properties": { + "request_response_rmt": { + "$ref": "#/components/schemas/Partial_RequestResponseRMTToOperators_" }, - "input": {} + "sessions_request_response_rmt": { + "$ref": "#/components/schemas/Partial_SessionsRequestResponseRMTToOperators_" + } }, - "required": [ - "_type", - "toolName", - "input" - ], "type": "object", - "additionalProperties": {} + "description": "From T, pick a set of properties whose keys are in the union K" }, - "HeliconeEventVectorDB": { - "properties": { - "_type": { + "FilterLeafSubset_request_response_rmt-or-sessions_request_response_rmt_": { + "$ref": "#/components/schemas/Pick_FilterLeaf.request_response_rmt-or-sessions_request_response_rmt_" + }, + "SessionFilterNode": { + "anyOf": [ + { + "$ref": "#/components/schemas/FilterLeafSubset_request_response_rmt-or-sessions_request_response_rmt_" + }, + { + "$ref": "#/components/schemas/SessionFilterBranch" + }, + { "type": "string", "enum": [ - "vector_db" - ], - "nullable": false + "all" + ] + } + ] + }, + "SessionFilterBranch": { + "properties": { + "right": { + "$ref": "#/components/schemas/SessionFilterNode" }, - "operation": { + "operator": { "type": "string", "enum": [ - "search", - "insert", - "delete", - "update" + "or", + "and" ] }, - "text": { + "left": { + "$ref": "#/components/schemas/SessionFilterNode" + } + }, + "required": [ + "right", + "operator", + "left" + ], + "type": "object" + }, + "SessionQueryParams": { + "properties": { + "search": { "type": "string" }, - "vector": { - "items": { - "type": "number", - "format": "double" + "timeFilter": { + "properties": { + "endTimeUnixMs": { + "type": "number", + "format": "double" + }, + "startTimeUnixMs": { + "type": "number", + "format": "double" + } }, - "type": "array" + "required": [ + "endTimeUnixMs", + "startTimeUnixMs" + ], + "type": "object" }, - "topK": { + "nameEquals": { + "type": "string" + }, + "timezoneDifference": { "type": "number", "format": "double" }, "filter": { - "additionalProperties": false, - "type": "object" + "$ref": "#/components/schemas/SessionFilterNode" }, - "databaseName": { - "type": "string" + "offset": { + "type": "number", + "format": "double" + }, + "limit": { + "type": "number", + "format": "double" } }, "required": [ - "_type", - "operation" + "search", + "timeFilter", + "timezoneDifference", + "filter" ], "type": "object", - "additionalProperties": {} + "additionalProperties": false }, - "HeliconeEventData": { + "SessionsAggregateMetrics": { "properties": { - "_type": { - "type": "string", - "enum": [ - "data" - ], - "nullable": false + "count": { + "type": "number", + "format": "double" }, - "name": { - "type": "string" + "total_cost": { + "type": "number", + "format": "double" }, - "meta": { - "$ref": "#/components/schemas/Record_string.any_" + "avg_cost": { + "type": "number", + "format": "double" + }, + "avg_latency": { + "type": "number", + "format": "double" + }, + "avg_requests": { + "type": "number", + "format": "double" } }, "required": [ - "_type", - "name" + "count", + "total_cost", + "avg_cost", + "avg_latency", + "avg_requests" ], "type": "object", - "additionalProperties": {} + "additionalProperties": false }, - "LLMRequestBody": { + "ResultSuccess_SessionsAggregateMetrics_": { "properties": { - "llm_type": { - "$ref": "#/components/schemas/LlmType" + "data": { + "$ref": "#/components/schemas/SessionsAggregateMetrics" }, - "provider": { - "type": "string" + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true + } + }, + "required": [ + "data", + "error" + ], + "type": "object", + "additionalProperties": false + }, + "Result_SessionsAggregateMetrics.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_SessionsAggregateMetrics_" }, - "model": { + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "SessionNameResult": { + "properties": { + "name": { "type": "string" }, - "messages": { - "items": { - "$ref": "#/components/schemas/Message" - }, - "type": "array", - "nullable": true + "created_at": { + "type": "string" }, - "prompt": { - "type": "string", - "nullable": true + "last_used": { + "type": "string" }, - "instructions": { - "type": "string", - "nullable": true + "first_used": { + "type": "string" }, - "max_tokens": { + "session_count": { "type": "number", - "format": "double", - "nullable": true + "format": "double" }, - "temperature": { + "avg_latency": { "type": "number", - "format": "double", - "nullable": true + "format": "double" + } + }, + "required": [ + "name", + "created_at", + "last_used", + "first_used", + "session_count", + "avg_latency" + ], + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_SessionNameResult-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/SessionNameResult" + }, + "type": "array" }, - "top_p": { + "error": { "type": "number", - "format": "double", + "enum": [ + null + ], "nullable": true + } + }, + "required": [ + "data", + "error" + ], + "type": "object", + "additionalProperties": false + }, + "Result_SessionNameResult-Array.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_SessionNameResult-Array_" }, - "seed": { + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "TimeFilterMs": { + "properties": { + "startTimeUnixMs": { "type": "number", - "format": "double", - "nullable": true - }, - "stream": { - "type": "boolean", - "nullable": true + "format": "double" }, - "presence_penalty": { + "endTimeUnixMs": { "type": "number", - "format": "double", - "nullable": true + "format": "double" + } + }, + "required": [ + "startTimeUnixMs", + "endTimeUnixMs" + ], + "type": "object", + "additionalProperties": false + }, + "SessionNameQueryParams": { + "properties": { + "nameContains": { + "type": "string" }, - "frequency_penalty": { + "timezoneDifference": { "type": "number", - "format": "double", - "nullable": true - }, - "stop": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "string" - } - ], - "nullable": true + "format": "double" }, - "reasoning_effort": { + "pSize": { "type": "string", "enum": [ - "minimal", - "low", - "medium", - "high", - null - ], - "nullable": true + "p50", + "p75", + "p95", + "p99", + "p99.9" + ] }, - "verbosity": { - "type": "string", - "enum": [ - "low", - "medium", - "high", - null - ], - "nullable": true + "useInterquartile": { + "type": "boolean" }, - "tools": { + "timeFilter": { + "$ref": "#/components/schemas/TimeFilterMs" + }, + "filter": { + "$ref": "#/components/schemas/SessionFilterNode" + } + }, + "required": [ + "nameContains", + "timezoneDifference" + ], + "type": "object", + "additionalProperties": false + }, + "AverageRow": { + "properties": { + "average": { + "type": "number", + "format": "double" + } + }, + "required": [ + "average" + ], + "type": "object", + "additionalProperties": false + }, + "SessionMetrics": { + "properties": { + "session_count": { "items": { - "$ref": "#/components/schemas/Tool" + "$ref": "#/components/schemas/HistogramRow" }, "type": "array" }, - "parallel_tool_calls": { - "type": "boolean", - "nullable": true + "session_duration": { + "items": { + "$ref": "#/components/schemas/HistogramRow" + }, + "type": "array" }, - "tool_choice": { - "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "none", - "auto", - "any", - "tool" - ] - } + "session_cost": { + "items": { + "$ref": "#/components/schemas/HistogramRow" }, - "required": [ - "type" - ], - "type": "object" + "type": "array" }, - "response_format": { + "average": { "properties": { - "json_schema": {}, - "type": { - "type": "string" + "session_cost": { + "items": { + "$ref": "#/components/schemas/AverageRow" + }, + "type": "array" + }, + "session_duration": { + "items": { + "$ref": "#/components/schemas/AverageRow" + }, + "type": "array" + }, + "session_count": { + "items": { + "$ref": "#/components/schemas/AverageRow" + }, + "type": "array" } }, "required": [ - "type" + "session_cost", + "session_duration", + "session_count" ], "type": "object" + } + }, + "required": [ + "session_count", + "session_duration", + "session_cost", + "average" + ], + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_SessionMetrics_": { + "properties": { + "data": { + "$ref": "#/components/schemas/SessionMetrics" }, - "toolDetails": { - "$ref": "#/components/schemas/HeliconeEventTool" + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true + } + }, + "required": [ + "data", + "error" + ], + "type": "object", + "additionalProperties": false + }, + "Result_SessionMetrics.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_SessionMetrics_" }, - "vectorDBDetails": { - "$ref": "#/components/schemas/HeliconeEventVectorDB" + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "SessionMetricsQueryParams": { + "properties": { + "nameContains": { + "type": "string" }, - "dataDetails": { - "$ref": "#/components/schemas/HeliconeEventData" + "timezoneDifference": { + "type": "number", + "format": "double" }, - "input": { - "anyOf": [ - { - "type": "string" - }, - { - "items": { - "type": "string" - }, - "type": "array" - } + "pSize": { + "type": "string", + "enum": [ + "p50", + "p75", + "p95", + "p99", + "p99.9" ] }, - "n": { - "type": "number", - "format": "double", - "nullable": true + "useInterquartile": { + "type": "boolean" }, - "size": { - "type": "string" + "timeFilter": { + "$ref": "#/components/schemas/TimeFilterMs" }, - "quality": { - "type": "string" + "filter": { + "$ref": "#/components/schemas/SessionFilterNode" } }, + "required": [ + "nameContains", + "timezoneDifference" + ], "type": "object", "additionalProperties": false }, - "Response": { + "ResultSuccess_string-or-null_": { "properties": { - "contentArray": { - "items": { - "$ref": "#/components/schemas/Response" - }, - "type": "array" - }, - "detail": { - "type": "string" - }, - "filename": { - "type": "string" - }, - "file_id": { - "type": "string" + "data": { + "type": "string", + "nullable": true }, - "file_data": { - "type": "string" + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true + } + }, + "required": [ + "data", + "error" + ], + "type": "object", + "additionalProperties": false + }, + "Result_string-or-null.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_string-or-null_" }, - "idx": { + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "MetricsData": { + "properties": { + "totalRequests": { "type": "number", "format": "double" }, - "audio_data": { - "type": "string" + "requestCountPrevious24h": { + "type": "number", + "format": "double" }, - "image_url": { - "type": "string" + "requestVolumeChange": { + "type": "number", + "format": "double" }, - "timestamp": { - "type": "string" + "errorRate24h": { + "type": "number", + "format": "double" }, - "tool_call_id": { - "type": "string" + "errorRatePrevious24h": { + "type": "number", + "format": "double" }, - "tool_calls": { - "items": { - "$ref": "#/components/schemas/FunctionCall" - }, - "type": "array" + "errorRateChange": { + "type": "number", + "format": "double" }, - "text": { - "type": "string" + "averageLatency": { + "type": "number", + "format": "double" }, - "type": { - "type": "string", - "enum": [ - "input_image", - "input_text", - "input_file" - ] + "averageLatencyPerToken": { + "type": "number", + "format": "double" }, - "name": { - "type": "string" + "latencyChange": { + "type": "number", + "format": "double" }, - "role": { - "type": "string", - "enum": [ - "user", - "assistant", - "system", - "developer" - ] + "latencyPerTokenChange": { + "type": "number", + "format": "double" }, - "id": { - "type": "string" + "recentRequestCount": { + "type": "number", + "format": "double" }, - "_type": { - "type": "string", - "enum": [ - "functionCall", - "function", - "image", - "text", - "file", - "contentArray" - ] + "recentErrorCount": { + "type": "number", + "format": "double" } }, "required": [ - "type", - "role", - "_type" + "totalRequests", + "requestCountPrevious24h", + "requestVolumeChange", + "errorRate24h", + "errorRatePrevious24h", + "errorRateChange", + "averageLatency", + "averageLatencyPerToken", + "latencyChange", + "latencyPerTokenChange", + "recentRequestCount", + "recentErrorCount" ], - "type": "object" + "type": "object", + "additionalProperties": false }, - "LLMResponseBody": { + "TimeSeriesDataPoint": { "properties": { - "dataDetailsResponse": { - "properties": { - "name": { - "type": "string" - }, - "_type": { - "type": "string", - "enum": [ - "data" - ], - "nullable": false - }, - "metadata": { - "properties": { - "timestamp": { - "type": "string" - } - }, - "additionalProperties": {}, - "required": [ - "timestamp" - ], - "type": "object" - }, - "message": { - "type": "string" - }, - "status": { - "type": "string" - } - }, - "additionalProperties": {}, - "required": [ - "name", - "_type", - "metadata", - "message", - "status" - ], - "type": "object" - }, - "vectorDBDetailsResponse": { - "properties": { - "_type": { - "type": "string", - "enum": [ - "vector_db" - ], - "nullable": false - }, - "metadata": { - "properties": { - "timestamp": { - "type": "string" - }, - "destination_parsed": { - "type": "boolean" - }, - "destination": { - "type": "string" - } - }, - "required": [ - "timestamp" - ], - "type": "object" - }, - "actualSimilarity": { - "type": "number", - "format": "double" - }, - "similarityThreshold": { - "type": "number", - "format": "double" - }, - "message": { - "type": "string" - }, - "status": { - "type": "string" - } - }, - "required": [ - "_type", - "metadata", - "message", - "status" - ], - "type": "object" - }, - "toolDetailsResponse": { - "properties": { - "toolName": { - "type": "string" - }, - "_type": { - "type": "string", - "enum": [ - "tool" - ], - "nullable": false - }, - "metadata": { - "properties": { - "timestamp": { - "type": "string" - } - }, - "required": [ - "timestamp" - ], - "type": "object" - }, - "tips": { - "items": { - "type": "string" - }, - "type": "array" - }, - "message": { - "type": "string" - }, - "status": { - "type": "string" - } - }, - "required": [ - "toolName", - "_type", - "metadata", - "tips", - "message", - "status" - ], - "type": "object" - }, - "error": { - "properties": { - "heliconeMessage": {} - }, - "required": [ - "heliconeMessage" - ], - "type": "object" - }, - "model": { + "timestamp": { "type": "string", - "nullable": true + "format": "date-time" }, - "instructions": { - "type": "string", - "nullable": true + "errorCount": { + "type": "number", + "format": "double" }, - "responses": { - "items": { - "$ref": "#/components/schemas/Response" - }, - "type": "array", - "nullable": true + "requestCount": { + "type": "number", + "format": "double" }, - "messages": { - "items": { - "$ref": "#/components/schemas/Message" - }, - "type": "array", - "nullable": true + "averageLatency": { + "type": "number", + "format": "double" + }, + "averageLatencyPerCompletionToken": { + "type": "number", + "format": "double" } }, - "type": "object" + "required": [ + "timestamp", + "errorCount", + "requestCount", + "averageLatency", + "averageLatencyPerCompletionToken" + ], + "type": "object", + "additionalProperties": false }, - "LlmSchema": { + "ProviderMetrics": { "properties": { - "request": { - "$ref": "#/components/schemas/LLMRequestBody" + "providerName": { + "type": "string" }, - "response": { + "metrics": { "allOf": [ { - "$ref": "#/components/schemas/LLMResponseBody" + "$ref": "#/components/schemas/MetricsData" + }, + { + "properties": { + "timeSeriesData": { + "items": { + "$ref": "#/components/schemas/TimeSeriesDataPoint" + }, + "type": "array" + } + }, + "required": [ + "timeSeriesData" + ], + "type": "object" } - ], - "nullable": true + ] } }, "required": [ - "request" + "providerName", + "metrics" ], "type": "object", "additionalProperties": false }, - "HeliconeRequest": { + "ResultSuccess_ProviderMetrics-Array_": { "properties": { - "response_id": { - "type": "string", - "nullable": true + "data": { + "items": { + "$ref": "#/components/schemas/ProviderMetrics" + }, + "type": "array" }, - "response_created_at": { - "type": "string", - "nullable": true - }, - "response_body": {}, - "response_status": { + "error": { "type": "number", - "format": "double" - }, - "response_model": { - "type": "string", - "nullable": true - }, - "request_id": { - "type": "string" - }, - "request_created_at": { - "type": "string" - }, - "request_body": {}, - "request_path": { - "type": "string" - }, - "request_user_id": { - "type": "string", - "nullable": true - }, - "request_properties": { - "allOf": [ - { - "$ref": "#/components/schemas/Record_string.string_" - } + "enum": [ + null ], "nullable": true + } + }, + "required": [ + "data", + "error" + ], + "type": "object", + "additionalProperties": false + }, + "Result_ProviderMetrics-Array.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_ProviderMetrics-Array_" }, - "request_model": { - "type": "string", - "nullable": true - }, - "model_override": { - "type": "string", - "nullable": true + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "ResultSuccess_ProviderMetrics_": { + "properties": { + "data": { + "$ref": "#/components/schemas/ProviderMetrics" }, - "helicone_user": { - "type": "string", + "error": { + "type": "number", + "enum": [ + null + ], "nullable": true + } + }, + "required": [ + "data", + "error" + ], + "type": "object", + "additionalProperties": false + }, + "Result_ProviderMetrics.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_ProviderMetrics_" }, + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "TimeFrame": { + "type": "string", + "enum": [ + "24h", + "7d", + "30d" + ] + }, + "ProviderMetric": { + "properties": { "provider": { - "$ref": "#/components/schemas/Provider" + "type": "string" }, - "delay_ms": { + "total_requests": { "type": "number", - "format": "double", - "nullable": true + "format": "double" + } + }, + "required": [ + "provider", + "total_requests" + ], + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_ProviderMetric-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/ProviderMetric" + }, + "type": "array" }, - "time_to_first_token": { + "error": { "type": "number", - "format": "double", + "enum": [ + null + ], "nullable": true + } + }, + "required": [ + "data", + "error" + ], + "type": "object", + "additionalProperties": false + }, + "Result_ProviderMetric-Array.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_ProviderMetric-Array_" }, - "total_tokens": { - "type": "number", - "format": "double", - "nullable": true + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "Partial_UserMetricsToOperators_": { + "properties": { + "user_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "prompt_tokens": { - "type": "number", - "format": "double", - "nullable": true + "last_active": { + "$ref": "#/components/schemas/Partial_TimestampOperators_" }, - "prompt_cache_write_tokens": { - "type": "number", - "format": "double", - "nullable": true + "total_requests": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - "prompt_cache_read_tokens": { - "type": "number", - "format": "double", - "nullable": true + "active_for": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - "completion_tokens": { - "type": "number", - "format": "double", - "nullable": true + "average_requests_per_day_active": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - "reasoning_tokens": { - "type": "number", - "format": "double", - "nullable": true + "average_tokens_per_request": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - "prompt_audio_tokens": { - "type": "number", - "format": "double", - "nullable": true + "total_completion_tokens": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - "completion_audio_tokens": { - "type": "number", - "format": "double", - "nullable": true + "total_prompt_tokens": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, "cost": { - "type": "number", - "format": "double", - "nullable": true + "$ref": "#/components/schemas/Partial_NumberOperators_" + } + }, + "type": "object", + "description": "Make all properties in T optional" + }, + "Partial_UserApiKeysTableToOperators_": { + "properties": { + "api_key_hash": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "prompt_id": { - "type": "string", - "nullable": true + "api_key_name": { + "$ref": "#/components/schemas/Partial_TextOperators_" + } + }, + "type": "object", + "description": "Make all properties in T optional" + }, + "Partial_PropertiesTableToOperators_": { + "properties": { + "auth_hash": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "prompt_version": { - "type": "string", - "nullable": true + "key": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "feedback_created_at": { - "type": "string", - "nullable": true + "value": { + "$ref": "#/components/schemas/Partial_TextOperators_" + } + }, + "type": "object", + "description": "Make all properties in T optional" + }, + "Partial_PromptToOperators_": { + "properties": { + "id": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "feedback_id": { - "type": "string", - "nullable": true + "user_defined_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" + } + }, + "type": "object", + "description": "Make all properties in T optional" + }, + "Partial_PromptVersionsToOperators_": { + "properties": { + "minor_version": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - "feedback_rating": { - "type": "boolean", - "nullable": true - }, - "signed_body_url": { - "type": "string", - "nullable": true - }, - "llmSchema": { - "allOf": [ - { - "$ref": "#/components/schemas/LlmSchema" - } - ], - "nullable": true - }, - "country_code": { - "type": "string", - "nullable": true + "major_version": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - "asset_ids": { - "items": { - "type": "string" - }, - "type": "array", - "nullable": true + "id": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "asset_urls": { - "allOf": [ - { - "$ref": "#/components/schemas/Record_string.string_" - } - ], - "nullable": true + "prompt_v2": { + "$ref": "#/components/schemas/Partial_TextOperators_" + } + }, + "type": "object", + "description": "Make all properties in T optional" + }, + "Partial_ExperimentToOperators_": { + "properties": { + "id": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "scores": { - "allOf": [ - { - "$ref": "#/components/schemas/Record_string.number_" - } - ], - "nullable": true + "prompt_v2": { + "$ref": "#/components/schemas/Partial_TextOperators_" + } + }, + "type": "object", + "description": "Make all properties in T optional" + }, + "Partial_ExperimentHypothesisRunToOperator_": { + "properties": { + "result_request_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" + } + }, + "type": "object", + "description": "Make all properties in T optional" + }, + "Partial_ScoreValueToOperator_": { + "properties": { + "request_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" + } + }, + "type": "object", + "description": "Make all properties in T optional" + }, + "Partial_RequestResponseLogToOperators_": { + "properties": { + "latency": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - "costUSD": { - "type": "number", - "format": "double", - "nullable": true + "status": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - "properties": { - "$ref": "#/components/schemas/Record_string.string_" + "request_created_at": { + "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" }, - "assets": { - "items": { - "type": "string" - }, - "type": "array" + "response_created_at": { + "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" }, - "target_url": { - "type": "string" + "auth_hash": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, "model": { - "type": "string" - }, - "cache_reference_id": { - "type": "string", - "nullable": true + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "cache_enabled": { - "type": "boolean" + "user_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "updated_at": { - "type": "string" + "organization_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "request_referrer": { - "type": "string", - "nullable": true + "node_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "ai_gateway_body_mapping": { - "type": "string", - "nullable": true + "job_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "storage_location": { - "type": "string" + "threat": { + "$ref": "#/components/schemas/Partial_BooleanOperators_" } }, - "required": [ - "response_id", - "response_created_at", - "response_status", - "response_model", - "request_id", - "request_created_at", - "request_body", - "request_path", - "request_user_id", - "request_properties", - "request_model", - "model_override", - "helicone_user", - "provider", - "delay_ms", - "time_to_first_token", - "total_tokens", - "prompt_tokens", - "prompt_cache_write_tokens", - "prompt_cache_read_tokens", - "completion_tokens", - "reasoning_tokens", - "prompt_audio_tokens", - "completion_audio_tokens", - "cost", - "prompt_id", - "prompt_version", - "llmSchema", - "country_code", - "asset_ids", - "asset_urls", - "scores", - "properties", - "assets", - "target_url", - "model", - "cache_reference_id", - "cache_enabled", - "ai_gateway_body_mapping" - ], "type": "object", - "additionalProperties": false + "description": "Make all properties in T optional" }, - "ResultSuccess_HeliconeRequest-Array_": { + "Partial_PropertiesV3ToOperators_": { "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/HeliconeRequest" - }, - "type": "array" + "key": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true + "value": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "organization_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" } }, - "required": [ - "data", - "error" - ], "type": "object", - "additionalProperties": false - }, - "Result_HeliconeRequest-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_HeliconeRequest-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] + "description": "Make all properties in T optional" }, - "ResultSuccess_HeliconeRequest_": { + "Partial_PropertyWithResponseV1ToOperators_": { "properties": { - "data": { - "$ref": "#/components/schemas/HeliconeRequest" + "property_key": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true + "property_value": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "request_created_at": { + "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" + }, + "organization_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "threat": { + "$ref": "#/components/schemas/Partial_BooleanOperators_" } }, - "required": [ - "data", - "error" - ], "type": "object", - "additionalProperties": false - }, - "Result_HeliconeRequest.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_HeliconeRequest_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] + "description": "Make all properties in T optional" }, - "ResultSuccess__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null_": { + "Partial_JobToOperators_": { "properties": { - "data": { - "properties": { - "environment": { - "type": "string", - "nullable": true - }, - "version_id": { - "type": "string" - }, - "prompt_id": { - "type": "string" - }, - "inputs": { - "$ref": "#/components/schemas/Record_string.any_" - } + "id": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "name": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "description": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "status": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "created_at": { + "$ref": "#/components/schemas/Partial_TimestampOperators_" + }, + "updated_at": { + "$ref": "#/components/schemas/Partial_TimestampOperators_" + }, + "timeout_seconds": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "custom_properties": { + "properties": {}, + "additionalProperties": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "required": [ - "environment", - "version_id", - "prompt_id", - "inputs" - ], - "type": "object", - "nullable": true + "type": "object" }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true + "org_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" } }, - "required": [ - "data", - "error" - ], "type": "object", - "additionalProperties": false - }, - "Result__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] + "description": "Make all properties in T optional" }, - "HeliconeRequestAsset": { + "Partial_NodesToOperators_": { "properties": { - "assetUrl": { - "type": "string" + "id": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "name": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "description": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "job_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "status": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "created_at": { + "$ref": "#/components/schemas/Partial_TimestampOperators_" + }, + "updated_at": { + "$ref": "#/components/schemas/Partial_TimestampOperators_" + }, + "timeout_seconds": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "custom_properties": { + "properties": {}, + "additionalProperties": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "type": "object" + }, + "org_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" } }, - "required": [ - "assetUrl" - ], "type": "object", - "additionalProperties": false + "description": "Make all properties in T optional" }, - "ResultSuccess_HeliconeRequestAsset_": { + "Partial_CacheMetricsTableToOperators_": { "properties": { - "data": { - "$ref": "#/components/schemas/HeliconeRequestAsset" + "organization_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_HeliconeRequestAsset.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_HeliconeRequestAsset_" + "request_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - { - "$ref": "#/components/schemas/ResultError_string_" + "date": { + "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" + }, + "hour": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "model": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "cache_hit_count": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "saved_latency_ms": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "saved_completion_tokens": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "saved_prompt_tokens": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "saved_completion_audio_tokens": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "saved_prompt_audio_tokens": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "saved_prompt_cache_write_tokens": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "saved_prompt_cache_read_tokens": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "first_hit": { + "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" + }, + "last_hit": { + "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" + }, + "request_body": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "response_body": { + "$ref": "#/components/schemas/Partial_TextOperators_" } - ] - }, - "Record_string.number-or-boolean-or-undefined_": { - "properties": {}, - "additionalProperties": { - "anyOf": [ - { - "type": "number", - "format": "double" - }, - { - "type": "boolean" - } - ] }, "type": "object", - "description": "Construct a type with a set of properties K of type T" - }, - "Scores": { - "$ref": "#/components/schemas/Record_string.number-or-boolean-or-undefined_" + "description": "Make all properties in T optional" }, - "ScoreRequest": { + "Partial_RateLimitTableToOperators_": { "properties": { - "scores": { - "$ref": "#/components/schemas/Scores" + "organization_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "created_at": { + "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" } }, - "required": [ - "scores" - ], "type": "object", - "additionalProperties": false + "description": "Make all properties in T optional" }, - "ConversationMessage": { + "Partial_OrganizationPropertiesToOperators_": { "properties": { - "role": { - "type": "string" + "organization_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "content": { - "type": "string" + "property_key": { + "$ref": "#/components/schemas/Partial_TextOperators_" } }, - "required": [ - "role", - "content" - ], "type": "object", - "additionalProperties": false + "description": "Make all properties in T optional" }, - "MostExpensiveRequest": { + "Partial_TablesAndViews_": { "properties": { - "requestId": { - "type": "string" + "user_metrics": { + "$ref": "#/components/schemas/Partial_UserMetricsToOperators_" }, - "cost": { - "type": "number", - "format": "double" + "user_api_keys": { + "$ref": "#/components/schemas/Partial_UserApiKeysTableToOperators_" }, - "model": { - "type": "string" + "response": { + "$ref": "#/components/schemas/Partial_ResponseTableToOperators_" }, - "provider": { - "type": "string" + "request": { + "$ref": "#/components/schemas/Partial_RequestTableToOperators_" }, - "createdAt": { - "type": "string" + "feedback": { + "$ref": "#/components/schemas/Partial_FeedbackTableToOperators_" }, - "promptTokens": { - "type": "number", - "format": "double" + "properties_table": { + "$ref": "#/components/schemas/Partial_PropertiesTableToOperators_" }, - "completionTokens": { + "prompt_v2": { + "$ref": "#/components/schemas/Partial_PromptToOperators_" + }, + "prompts_versions": { + "$ref": "#/components/schemas/Partial_PromptVersionsToOperators_" + }, + "experiment": { + "$ref": "#/components/schemas/Partial_ExperimentToOperators_" + }, + "experiment_hypothesis_run": { + "$ref": "#/components/schemas/Partial_ExperimentHypothesisRunToOperator_" + }, + "score_value": { + "$ref": "#/components/schemas/Partial_ScoreValueToOperator_" + }, + "request_response_log": { + "$ref": "#/components/schemas/Partial_RequestResponseLogToOperators_" + }, + "request_response_rmt": { + "$ref": "#/components/schemas/Partial_RequestResponseRMTToOperators_" + }, + "sessions_request_response_rmt": { + "$ref": "#/components/schemas/Partial_SessionsRequestResponseRMTToOperators_" + }, + "users_view": { + "$ref": "#/components/schemas/Partial_UserViewToOperators_" + }, + "properties_v3": { + "$ref": "#/components/schemas/Partial_PropertiesV3ToOperators_" + }, + "property_with_response_v1": { + "$ref": "#/components/schemas/Partial_PropertyWithResponseV1ToOperators_" + }, + "job": { + "$ref": "#/components/schemas/Partial_JobToOperators_" + }, + "job_node": { + "$ref": "#/components/schemas/Partial_NodesToOperators_" + }, + "cache_metrics": { + "$ref": "#/components/schemas/Partial_CacheMetricsTableToOperators_" + }, + "rate_limit_log": { + "$ref": "#/components/schemas/Partial_RateLimitTableToOperators_" + }, + "organization_properties": { + "$ref": "#/components/schemas/Partial_OrganizationPropertiesToOperators_" + }, + "properties": { + "properties": {}, + "additionalProperties": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "type": "object" + }, + "values": { + "properties": {}, + "additionalProperties": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "type": "object" + } + }, + "type": "object", + "description": "Make all properties in T optional" + }, + "SingleKey_TablesAndViews_": { + "$ref": "#/components/schemas/Partial_TablesAndViews_" + }, + "FilterLeaf": { + "$ref": "#/components/schemas/SingleKey_TablesAndViews_" + }, + "FilterNode": { + "anyOf": [ + { + "$ref": "#/components/schemas/FilterLeaf" + }, + { + "$ref": "#/components/schemas/FilterBranch" + }, + { + "properties": {}, + "type": "object" + }, + { + "type": "string", + "enum": [ + "all" + ] + } + ] + }, + "FilterBranch": { + "properties": { + "left": { + "$ref": "#/components/schemas/FilterNode" + }, + "operator": { + "type": "string", + "enum": [ + "or", + "and" + ] + }, + "right": { + "$ref": "#/components/schemas/FilterNode" + } + }, + "required": [ + "left", + "operator", + "right" + ], + "type": "object", + "additionalProperties": false + }, + "ProviderQueryParams": { + "properties": { + "filter": { + "$ref": "#/components/schemas/FilterNode" + }, + "offset": { "type": "number", "format": "double" }, - "conversation": { + "limit": { + "type": "number", + "format": "double" + }, + "timeFilter": { "properties": { - "totalWords": { - "type": "number", - "format": "double" - }, - "turnCount": { - "type": "number", - "format": "double" + "end": { + "type": "string" }, - "messages": { - "items": { - "$ref": "#/components/schemas/ConversationMessage" - }, - "type": "array" + "start": { + "type": "string" } }, "required": [ - "totalWords", - "turnCount", - "messages" + "end", + "start" ], - "type": "object", - "nullable": true + "type": "object" } }, "required": [ - "requestId", - "cost", - "model", - "provider", - "createdAt", - "promptTokens", - "completionTokens", - "conversation" + "filter", + "offset", + "limit", + "timeFilter" ], "type": "object", "additionalProperties": false }, - "WrappedStats": { + "ResultSuccess__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array_": { "properties": { - "totalRequests": { - "type": "number", - "format": "double" - }, - "topProviders": { + "data": { "items": { "properties": { - "count": { + "created_at_trunc": { + "type": "string" + }, + "request_count": { "type": "number", "format": "double" }, - "provider": { - "type": "string" - } - }, - "required": [ - "count", - "provider" - ], - "type": "object" - }, - "type": "array" - }, - "topModels": { - "items": { - "properties": { - "count": { + "total_cost": { "type": "number", "format": "double" }, - "model": { + "property": { "type": "string" } }, "required": [ - "count", - "model" + "created_at_trunc", + "request_count", + "total_cost", + "property" ], "type": "object" }, "type": "array" }, - "totalTokens": { - "properties": { - "total": { - "type": "number", - "format": "double" - }, - "cacheRead": { - "type": "number", - "format": "double" - }, - "cacheWrite": { - "type": "number", - "format": "double" - }, - "completion": { - "type": "number", - "format": "double" - }, - "prompt": { - "type": "number", - "format": "double" - } - }, - "required": [ - "total", - "cacheRead", - "cacheWrite", - "completion", - "prompt" - ], - "type": "object" - }, - "mostExpensiveRequest": { - "allOf": [ - { - "$ref": "#/components/schemas/MostExpensiveRequest" - } + "error": { + "type": "number", + "enum": [ + null ], "nullable": true } }, "required": [ - "totalRequests", - "topProviders", - "topModels", - "totalTokens", - "mostExpensiveRequest" + "data", + "error" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_WrappedStats_": { - "properties": { - "data": { - "$ref": "#/components/schemas/WrappedStats" + "Result__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array_" }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "Pick_FilterLeaf.request_response_rmt_": { + "properties": { + "request_response_rmt": { + "$ref": "#/components/schemas/Partial_RequestResponseRMTToOperators_" } }, - "required": [ - "data", - "error" - ], "type": "object", - "additionalProperties": false + "description": "From T, pick a set of properties whose keys are in the union K" }, - "Result_WrappedStats.string_": { + "FilterLeafSubset_request_response_rmt_": { + "$ref": "#/components/schemas/Pick_FilterLeaf.request_response_rmt_" + }, + "RequestClickhouseFilterNode": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_WrappedStats_" + "$ref": "#/components/schemas/FilterLeafSubset_request_response_rmt_" }, { - "$ref": "#/components/schemas/ResultError_string_" + "$ref": "#/components/schemas/RequestClickhouseFilterBranch" + }, + { + "type": "string", + "enum": [ + "all" + ] } ] }, - "ResultSuccess__hasData-boolean__": { + "RequestClickhouseFilterBranch": { "properties": { - "data": { + "right": { + "$ref": "#/components/schemas/RequestClickhouseFilterNode" + }, + "operator": { + "type": "string", + "enum": [ + "or", + "and" + ] + }, + "left": { + "$ref": "#/components/schemas/RequestClickhouseFilterNode" + } + }, + "required": [ + "right", + "operator", + "left" + ], + "type": "object" + }, + "TimeIncrement": { + "type": "string", + "enum": [ + "min", + "hour", + "day", + "week", + "month", + "year" + ] + }, + "DataOverTimeRequest": { + "properties": { + "timeFilter": { "properties": { - "hasData": { - "type": "boolean" + "end": { + "type": "string" + }, + "start": { + "type": "string" } }, "required": [ - "hasData" + "end", + "start" ], "type": "object" }, + "userFilter": { + "$ref": "#/components/schemas/RequestClickhouseFilterNode" + }, + "dbIncrement": { + "$ref": "#/components/schemas/TimeIncrement" + }, + "timeZoneDifference": { + "type": "number", + "format": "double" + } + }, + "required": [ + "timeFilter", + "userFilter", + "dbIncrement", + "timeZoneDifference" + ], + "type": "object", + "additionalProperties": false + }, + "Property": { + "properties": { + "property": { + "type": "string" + } + }, + "required": [ + "property" + ], + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_Property-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/Property" + }, + "type": "array" + }, "error": { "type": "number", "enum": [ @@ -6128,19 +6290,22 @@ "type": "object", "additionalProperties": false }, - "Result__hasData-boolean_.string_": { + "Result_Property-Array.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess__hasData-boolean__" + "$ref": "#/components/schemas/ResultSuccess_Property-Array_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "ResultSuccess_unknown_": { + "ResultSuccess_unknown-Array_": { "properties": { - "data": {}, + "data": { + "items": {}, + "type": "array" + }, "error": { "type": "number", "enum": [ @@ -6156,16 +6321,21 @@ "type": "object", "additionalProperties": false }, - "ResultError_unknown_": { + "ResultSuccess_string-Array_": { "properties": { "data": { + "items": { + "type": "string" + }, + "type": "array" + }, + "error": { "type": "number", "enum": [ null ], "nullable": true - }, - "error": {} + } }, "required": [ "data", @@ -6174,56 +6344,32 @@ "type": "object", "additionalProperties": false }, - "WebhookData": { - "properties": { - "destination": { - "type": "string" - }, - "config": { - "$ref": "#/components/schemas/Record_string.any_" + "Result_string-Array.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_string-Array_" }, - "includeData": { - "type": "boolean" + { + "$ref": "#/components/schemas/ResultError_string_" } - }, - "required": [ - "destination", - "config" - ], - "type": "object", - "additionalProperties": false + ] }, - "ResultSuccess__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array_": { + "ResultSuccess__value-string--cost-number_-Array_": { "properties": { "data": { "items": { "properties": { - "hmac_key": { - "type": "string" - }, - "config": { - "type": "string" - }, - "version": { - "type": "string" - }, - "destination": { - "type": "string" - }, - "created_at": { - "type": "string" + "cost": { + "type": "number", + "format": "double" }, - "id": { + "value": { "type": "string" } }, "required": [ - "hmac_key", - "config", - "version", - "destination", - "created_at", - "id" + "cost", + "value" ], "type": "object" }, @@ -6244,32 +6390,60 @@ "type": "object", "additionalProperties": false }, - "Result__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array.string_": { + "Result__value-string--cost-number_-Array.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array_" + "$ref": "#/components/schemas/ResultSuccess__value-string--cost-number_-Array_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "ResultSuccess__success-boolean--message-string__": { + "TimeFilterRequest": { "properties": { - "data": { + "timeFilter": { "properties": { - "message": { + "end": { "type": "string" }, - "success": { - "type": "boolean" + "start": { + "type": "string" } }, "required": [ - "message", - "success" + "end", + "start" ], "type": "object" + } + }, + "required": [ + "timeFilter" + ], + "type": "object", + "additionalProperties": false + }, + "ResultSuccess__value-string--count-number_-Array_": { + "properties": { + "data": { + "items": { + "properties": { + "count": { + "type": "number", + "format": "double" + }, + "value": { + "type": "string" + } + }, + "required": [ + "count", + "value" + ], + "type": "object" + }, + "type": "array" }, "error": { "type": "number", @@ -6286,42 +6460,47 @@ "type": "object", "additionalProperties": false }, - "Result__success-boolean--message-string_.string_": { + "Result__value-string--count-number_-Array.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess__success-boolean--message-string__" + "$ref": "#/components/schemas/ResultSuccess__value-string--count-number_-Array_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "AddVaultKeyParams": { + "Prompt2025": { "properties": { - "key": { + "id": { "type": "string" }, - "provider": { + "name": { "type": "string" }, - "name": { + "tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "created_at": { "type": "string" } }, "required": [ - "key", - "provider" + "id", + "name", + "tags", + "created_at" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_DecryptedProviderKey-Array_": { + "ResultSuccess_Prompt2025_": { "properties": { "data": { - "items": { - "$ref": "#/components/schemas/DecryptedProviderKey" - }, - "type": "array" + "$ref": "#/components/schemas/Prompt2025" }, "error": { "type": "number", @@ -6338,20 +6517,40 @@ "type": "object", "additionalProperties": false }, - "Result_DecryptedProviderKey-Array.string_": { + "Result_Prompt2025.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_DecryptedProviderKey-Array_" + "$ref": "#/components/schemas/ResultSuccess_Prompt2025_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "ResultSuccess_DecryptedProviderKey_": { + "Prompt2025Input": { + "properties": { + "request_id": { + "type": "string" + }, + "version_id": { + "type": "string" + }, + "inputs": { + "$ref": "#/components/schemas/Record_string.any_" + } + }, + "required": [ + "request_id", + "version_id", + "inputs" + ], + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_Prompt2025Input_": { "properties": { "data": { - "$ref": "#/components/schemas/DecryptedProviderKey" + "$ref": "#/components/schemas/Prompt2025Input" }, "error": { "type": "number", @@ -6368,59 +6567,36 @@ "type": "object", "additionalProperties": false }, - "Result_DecryptedProviderKey.string_": { + "Result_Prompt2025Input.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_DecryptedProviderKey_" + "$ref": "#/components/schemas/ResultSuccess_Prompt2025Input_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "HistogramRow": { + "PromptCreateResponse": { "properties": { - "range_start": { + "id": { "type": "string" }, - "range_end": { + "versionId": { "type": "string" - }, - "value": { - "type": "number", - "format": "double" } }, "required": [ - "range_start", - "range_end", - "value" + "id", + "versionId" ], "type": "object", "additionalProperties": false }, - "ResultSuccess__request_count-HistogramRow-Array--user_cost-HistogramRow-Array__": { + "ResultSuccess_PromptCreateResponse_": { "properties": { "data": { - "properties": { - "user_cost": { - "items": { - "$ref": "#/components/schemas/HistogramRow" - }, - "type": "array" - }, - "request_count": { - "items": { - "$ref": "#/components/schemas/HistogramRow" - }, - "type": "array" - } - }, - "required": [ - "user_cost", - "request_count" - ], - "type": "object" + "$ref": "#/components/schemas/PromptCreateResponse" }, "error": { "type": "number", @@ -6437,345 +6613,340 @@ "type": "object", "additionalProperties": false }, - "Result__request_count-HistogramRow-Array--user_cost-HistogramRow-Array_.string_": { + "Result_PromptCreateResponse.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess__request_count-HistogramRow-Array--user_cost-HistogramRow-Array__" + "$ref": "#/components/schemas/ResultSuccess_PromptCreateResponse_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "Partial_UserViewToOperators_": { + "OpenAIChatRequest": { + "description": "Simplified interface for the OpenAI Chat request format", "properties": { - "user_user_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "user_active_for": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "user_first_active": { - "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" + "model": { + "type": "string" }, - "user_last_active": { - "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" + "messages": { + "items": { + "properties": { + "tool_calls": { + "items": { + "properties": { + "type": { + "type": "string", + "enum": [ + "function" + ], + "nullable": false + }, + "function": { + "properties": { + "arguments": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "arguments", + "name" + ], + "type": "object" + }, + "id": { + "type": "string" + } + }, + "required": [ + "type", + "function", + "id" + ], + "type": "object" + }, + "type": "array" + }, + "tool_call_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "content": { + "anyOf": [ + { + "type": "string" + }, + { + "items": { + "properties": { + "image_url": { + "properties": { + "url": { + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" + }, + "text": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + "type": "array" + } + ], + "nullable": true + }, + "role": { + "type": "string" + } + }, + "required": [ + "content", + "role" + ], + "type": "object" + }, + "type": "array" }, - "user_total_requests": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "temperature": { + "type": "number", + "format": "double" }, - "user_average_requests_per_day_active": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "top_p": { + "type": "number", + "format": "double" }, - "user_average_tokens_per_request": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "max_tokens": { + "type": "number", + "format": "double" }, - "user_total_completion_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "max_completion_tokens": { + "type": "number", + "format": "double" }, - "user_total_prompt_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "stream": { + "type": "boolean" }, - "user_cost": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - } - }, - "type": "object", - "description": "Make all properties in T optional" - }, - "Pick_FilterLeaf.users_view-or-request_response_rmt_": { - "properties": { - "request_response_rmt": { - "$ref": "#/components/schemas/Partial_RequestResponseRMTToOperators_" + "stop": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "string" + } + ] }, - "users_view": { - "$ref": "#/components/schemas/Partial_UserViewToOperators_" - } - }, - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "FilterLeafSubset_users_view-or-request_response_rmt_": { - "$ref": "#/components/schemas/Pick_FilterLeaf.users_view-or-request_response_rmt_" - }, - "UserFilterNode": { - "anyOf": [ - { - "$ref": "#/components/schemas/FilterLeafSubset_users_view-or-request_response_rmt_" + "tools": { + "items": { + "properties": { + "function": { + "properties": { + "strict": { + "type": "boolean" + }, + "parameters": { + "$ref": "#/components/schemas/Record_string.any_" + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "type": { + "type": "string", + "enum": [ + "function" + ], + "nullable": false + } + }, + "required": [ + "function", + "type" + ], + "type": "object" + }, + "type": "array" }, - { - "$ref": "#/components/schemas/UserFilterBranch" + "tool_choice": { + "anyOf": [ + { + "properties": { + "function": { + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "function" + ], + "nullable": false + } + }, + "required": [ + "name", + "type" + ], + "type": "object" + }, + "type": { + "type": "string" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + { + "type": "string", + "enum": [ + "none", + "auto", + "required" + ] + } + ] }, - { + "parallel_tool_calls": { + "type": "boolean" + }, + "reasoning_effort": { "type": "string", "enum": [ - "all" + "minimal", + "low", + "medium", + "high" ] - } - ] - }, - "UserFilterBranch": { - "properties": { - "right": { - "$ref": "#/components/schemas/UserFilterNode" }, - "operator": { + "verbosity": { "type": "string", "enum": [ - "or", - "and" + "low", + "medium", + "high" ] }, - "left": { - "$ref": "#/components/schemas/UserFilterNode" - } - }, - "required": [ - "right", - "operator", - "left" - ], - "type": "object" - }, - "PSize": { - "type": "string", - "enum": [ - "p50", - "p75", - "p95", - "p99", - "p99.9" - ] - }, - "UserMetricsResult": { - "properties": { - "id": { - "type": "string" - }, - "user_id": { - "type": "string" - }, - "active_for": { + "frequency_penalty": { "type": "number", "format": "double" }, - "first_active": { - "type": "string" - }, - "last_active": { - "type": "string" - }, - "total_requests": { + "presence_penalty": { "type": "number", "format": "double" }, - "average_requests_per_day_active": { - "type": "number", - "format": "double" + "logit_bias": { + "$ref": "#/components/schemas/Record_string.number_" }, - "average_tokens_per_request": { - "type": "number", - "format": "double" + "logprobs": { + "type": "boolean" }, - "total_completion_tokens": { + "top_logprobs": { "type": "number", "format": "double" }, - "total_prompt_tokens": { + "n": { "type": "number", "format": "double" }, - "cost": { - "type": "number", - "format": "double" - } - }, - "required": [ - "id", - "user_id", - "active_for", - "first_active", - "last_active", - "total_requests", - "average_requests_per_day_active", - "average_tokens_per_request", - "total_completion_tokens", - "total_prompt_tokens", - "cost" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess__users-UserMetricsResult-Array--count-number--hasUsers-boolean__": { - "properties": { - "data": { + "modalities": { + "items": { + "type": "string" + }, + "type": "array" + }, + "prediction": {}, + "audio": {}, + "response_format": { "properties": { - "hasUsers": { - "type": "boolean" - }, - "count": { - "type": "number", - "format": "double" - }, - "users": { - "items": { - "$ref": "#/components/schemas/UserMetricsResult" - }, - "type": "array" + "json_schema": {}, + "type": { + "type": "string" } }, "required": [ - "hasUsers", - "count", - "users" + "type" ], "type": "object" }, - "error": { + "seed": { "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result__users-UserMetricsResult-Array--count-number--hasUsers-boolean_.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__users-UserMetricsResult-Array--count-number--hasUsers-boolean__" + "format": "double" }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "SortLeafUsers": { - "properties": { - "id": { - "$ref": "#/components/schemas/SortDirection" + "service_tier": { + "type": "string" }, - "user_id": { - "$ref": "#/components/schemas/SortDirection" + "store": { + "type": "boolean" }, - "active_for": { - "$ref": "#/components/schemas/SortDirection" - }, - "first_active": { - "$ref": "#/components/schemas/SortDirection" - }, - "last_active": { - "$ref": "#/components/schemas/SortDirection" - }, - "total_requests": { - "$ref": "#/components/schemas/SortDirection" - }, - "average_requests_per_day_active": { - "$ref": "#/components/schemas/SortDirection" - }, - "average_tokens_per_request": { - "$ref": "#/components/schemas/SortDirection" - }, - "total_prompt_tokens": { - "$ref": "#/components/schemas/SortDirection" - }, - "total_completion_tokens": { - "$ref": "#/components/schemas/SortDirection" - }, - "cost": { - "$ref": "#/components/schemas/SortDirection" - }, - "rate_limited_count": { - "$ref": "#/components/schemas/SortDirection" - } - }, - "type": "object" - }, - "UserMetricsQueryParams": { - "properties": { - "filter": { - "$ref": "#/components/schemas/UserFilterNode" - }, - "offset": { - "type": "number", - "format": "double" + "stream_options": {}, + "metadata": { + "$ref": "#/components/schemas/Record_string.string_" }, - "limit": { - "type": "number", - "format": "double" + "user": { + "type": "string" }, - "timeFilter": { - "properties": { - "endTimeUnixSeconds": { - "type": "number", - "format": "double" + "function_call": { + "anyOf": [ + { + "type": "string" }, - "startTimeUnixSeconds": { - "type": "number", - "format": "double" + { + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" } - }, - "required": [ - "endTimeUnixSeconds", - "startTimeUnixSeconds" - ], - "type": "object" - }, - "timeZoneDifferenceMinutes": { - "type": "number", - "format": "double" + ] }, - "sort": { - "$ref": "#/components/schemas/SortLeafUsers" + "functions": { + "items": {}, + "type": "array" } }, - "required": [ - "filter", - "offset", - "limit" - ], "type": "object", "additionalProperties": false }, - "ResultSuccess__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array_": { + "ResultSuccess_Prompt2025-Array_": { "properties": { "data": { "items": { - "properties": { - "cost": { - "type": "number", - "format": "double" - }, - "user_id": { - "type": "string" - }, - "completion_tokens": { - "type": "number", - "format": "double" - }, - "prompt_tokens": { - "type": "number", - "format": "double" - }, - "count": { - "type": "number", - "format": "double" - } - }, - "required": [ - "cost", - "user_id", - "completion_tokens", - "prompt_tokens", - "count" - ], - "type": "object" + "$ref": "#/components/schemas/Prompt2025" }, "type": "array" }, @@ -6794,474 +6965,478 @@ "type": "object", "additionalProperties": false }, - "Result__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array.string_": { + "Result_Prompt2025-Array.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array_" + "$ref": "#/components/schemas/ResultSuccess_Prompt2025-Array_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "UserQueryParams": { + "Prompt2025VersionPromptBody": { "properties": { - "userIds": { + "model": { + "type": "string" + }, + "messages": { "items": { - "type": "string" + "properties": { + "tool_calls": { + "items": { + "properties": { + "type": { + "type": "string", + "enum": [ + "function" + ], + "nullable": false + }, + "function": { + "properties": { + "arguments": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "arguments", + "name" + ], + "type": "object" + }, + "id": { + "type": "string" + } + }, + "required": [ + "type", + "function", + "id" + ], + "type": "object" + }, + "type": "array" + }, + "tool_call_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "content": { + "anyOf": [ + { + "type": "string" + }, + { + "items": { + "properties": { + "image_url": { + "properties": { + "url": { + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" + }, + "text": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + "type": "array" + } + ], + "nullable": true + }, + "role": { + "type": "string" + } + }, + "required": [ + "content", + "role" + ], + "type": "object" }, "type": "array" }, - "timeFilter": { - "properties": { - "endTimeUnixSeconds": { - "type": "number", - "format": "double" - }, - "startTimeUnixSeconds": { - "type": "number", - "format": "double" - } - }, - "required": [ - "endTimeUnixSeconds", - "startTimeUnixSeconds" - ], - "type": "object" - } - }, - "type": "object", - "additionalProperties": false - }, - "ValidationError": { - "properties": { - "field": { - "type": "string" + "temperature": { + "type": "number", + "format": "double" }, - "message": { - "type": "string" + "top_p": { + "type": "number", + "format": "double" + }, + "max_tokens": { + "type": "number", + "format": "double" + }, + "tools": { + "items": { + "properties": { + "function": { + "properties": { + "parameters": { + "$ref": "#/components/schemas/Record_string.unknown_" + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "parameters", + "description", + "name" + ], + "type": "object" + }, + "type": { + "type": "string", + "enum": [ + "function" + ], + "nullable": false + } + }, + "required": [ + "function", + "type" + ], + "type": "object" + }, + "type": "array" + }, + "tool_choice": { + "anyOf": [ + { + "type": "string" + }, + { + "properties": { + "function": { + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "function" + ], + "nullable": false + } + }, + "required": [ + "name", + "type" + ], + "type": "object" + }, + "type": { + "type": "string" + } + }, + "required": [ + "type" + ], + "type": "object" + } + ] } }, - "required": [ - "field", - "message" - ], "type": "object", - "additionalProperties": false + "additionalProperties": {} }, - "ValidationResult": { + "Prompt2025Version": { "properties": { - "isValid": { - "type": "boolean" + "id": { + "type": "string" }, - "errors": { + "model": { + "type": "string" + }, + "prompt_id": { + "type": "string" + }, + "major_version": { + "type": "number", + "format": "double" + }, + "minor_version": { + "type": "number", + "format": "double" + }, + "commit_message": { + "type": "string" + }, + "environments": { "items": { - "$ref": "#/components/schemas/ValidationError" + "type": "string" }, "type": "array" + }, + "created_at": { + "type": "string" + }, + "s3_url": { + "type": "string" + }, + "prompt_body": { + "$ref": "#/components/schemas/Prompt2025VersionPromptBody", + "description": "The full prompt body including messages. Only included when explicitly requested\nvia the `includePromptBody` parameter to avoid unnecessary data transfer." } }, "required": [ - "isValid", - "errors" + "id", + "model", + "prompt_id", + "major_version", + "minor_version", + "commit_message", + "created_at" ], "type": "object", "additionalProperties": false }, - "TypedProviderRequest": { + "ResultSuccess_Prompt2025Version_": { "properties": { - "url": { - "type": "string" - }, - "json": { - "$ref": "#/components/schemas/Record_string.unknown_" + "data": { + "$ref": "#/components/schemas/Prompt2025Version" }, - "meta": { - "$ref": "#/components/schemas/Record_string.string_" + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, "required": [ - "url", - "json", - "meta" + "data", + "error" ], "type": "object", "additionalProperties": false }, - "TypedProviderResponse": { - "properties": { - "json": { - "$ref": "#/components/schemas/Record_string.unknown_" + "Result_Prompt2025Version.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_Prompt2025Version_" }, - "textBody": { - "type": "string" + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "ResultSuccess_Prompt2025Version-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/Prompt2025Version" + }, + "type": "array" }, - "status": { + "error": { "type": "number", - "format": "double" - }, - "headers": { - "$ref": "#/components/schemas/Record_string.string_" + "enum": [ + null + ], + "nullable": true } }, "required": [ - "status", - "headers" + "data", + "error" ], "type": "object", "additionalProperties": false }, - "TypedTiming": { + "Result_Prompt2025Version-Array.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_Prompt2025Version-Array_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "PromptVersionCounts": { "properties": { - "timeToFirstToken": { + "totalVersions": { "type": "number", "format": "double" }, - "startTime": { - "type": "string" - }, - "endTime": { - "type": "string" + "majorVersions": { + "type": "number", + "format": "double" } }, "required": [ - "startTime", - "endTime" + "totalVersions", + "majorVersions" ], "type": "object", "additionalProperties": false }, - "TypedAsyncLogModel": { + "ResultSuccess_PromptVersionCounts_": { "properties": { - "providerRequest": { - "$ref": "#/components/schemas/TypedProviderRequest" - }, - "providerResponse": { - "$ref": "#/components/schemas/TypedProviderResponse" - }, - "timing": { - "$ref": "#/components/schemas/TypedTiming" + "data": { + "$ref": "#/components/schemas/PromptVersionCounts" }, - "provider": { - "$ref": "#/components/schemas/Provider" + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, "required": [ - "providerRequest", - "providerResponse" + "data", + "error" ], "type": "object", "additionalProperties": false }, - "OTELTrace": { + "Result_PromptVersionCounts.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_PromptVersionCounts_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "ResultSuccess_Prompt2025Version_91_prompt_body_93__": { "properties": { - "resourceSpans": { - "items": { - "properties": { - "scopeSpans": { - "items": { - "properties": { - "spans": { - "items": { - "properties": { - "droppedLinksCount": { - "type": "number", - "format": "double" - }, - "links": { - "items": {}, - "type": "array" - }, - "status": { - "properties": { - "code": { - "type": "number", - "format": "double" - } - }, - "required": [ - "code" - ], - "type": "object" - }, - "droppedEventsCount": { - "type": "number", - "format": "double" - }, - "events": { - "items": {}, - "type": "array" - }, - "droppedAttributesCount": { - "type": "number", - "format": "double" - }, - "attributes": { - "items": { - "properties": { - "value": { - "properties": { - "intValue": { - "type": "number", - "format": "double" - }, - "stringValue": { - "type": "string" - } - }, - "type": "object" - }, - "key": { - "type": "string" - } - }, - "required": [ - "value", - "key" - ], - "type": "object" - }, - "type": "array" - }, - "endTimeUnixNano": { - "type": "string" - }, - "startTimeUnixNano": { - "type": "string" - }, - "kind": { - "type": "number", - "format": "double" - }, - "name": { - "type": "string" - }, - "spanId": { - "type": "string" - }, - "traceId": { - "type": "string" - } - }, - "required": [ - "droppedLinksCount", - "links", - "status", - "droppedEventsCount", - "events", - "droppedAttributesCount", - "attributes", - "endTimeUnixNano", - "startTimeUnixNano", - "kind", - "name", - "spanId", - "traceId" - ], - "type": "object" - }, - "type": "array" - }, - "scope": { - "properties": { - "version": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "version", - "name" - ], - "type": "object" - } - }, - "required": [ - "spans", - "scope" - ], - "type": "object" - }, - "type": "array" - }, - "resource": { - "properties": { - "droppedAttributesCount": { - "type": "number", - "format": "double" - }, - "attributes": { - "items": { - "properties": { - "value": { - "properties": { - "arrayValue": { - "properties": { - "values": { - "items": { - "properties": { - "stringValue": { - "type": "string" - } - }, - "required": [ - "stringValue" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "values" - ], - "type": "object" - }, - "intValue": { - "type": "number", - "format": "double" - }, - "stringValue": { - "type": "string" - } - }, - "type": "object" - }, - "key": { - "type": "string" - } - }, - "required": [ - "value", - "key" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "droppedAttributesCount", - "attributes" - ], - "type": "object" - } - }, - "required": [ - "scopeSpans", - "resource" - ], - "type": "object" - }, - "type": "array" + "data": { + "$ref": "#/components/schemas/Prompt2025VersionPromptBody" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, "required": [ - "resourceSpans" + "data", + "error" ], - "type": "object" + "type": "object", + "additionalProperties": false }, - "SendTestRequestResponse": { - "properties": { - "success": { - "type": "boolean" - }, - "response": { - "type": "string" + "Result_Prompt2025Version_91_prompt_body_93_.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_Prompt2025Version_91_prompt_body_93__" }, - "requestId": { - "type": "string" + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "ResultSuccess__hasPrompts-boolean__": { + "properties": { + "data": { + "properties": { + "hasPrompts": { + "type": "boolean" + } + }, + "required": [ + "hasPrompts" + ], + "type": "object" }, "error": { - "type": "string" + "type": "number", + "enum": [ + null + ], + "nullable": true } }, "required": [ - "success" + "data", + "error" ], "type": "object", "additionalProperties": false }, - "SendTestRequestRequest": { - "properties": { - "apiKey": { - "type": "string" + "Result__hasPrompts-boolean_.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess__hasPrompts-boolean__" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } - }, - "required": [ - "apiKey" - ], - "type": "object", - "additionalProperties": false + ] }, - "SessionResult": { + "PromptsResult": { "properties": { - "created_at": { + "id": { "type": "string" }, - "latest_request_created_at": { + "user_defined_id": { "type": "string" }, - "session_id": { + "description": { "type": "string" }, - "session_name": { + "pretty_name": { "type": "string" }, - "total_cost": { - "type": "number", - "format": "double" - }, - "total_requests": { - "type": "number", - "format": "double" - }, - "prompt_tokens": { - "type": "number", - "format": "double" - }, - "completion_tokens": { - "type": "number", - "format": "double" - }, - "total_tokens": { - "type": "number", - "format": "double" + "created_at": { + "type": "string" }, - "avg_latency": { + "major_version": { "type": "number", "format": "double" }, - "user_ids": { - "items": { - "type": "string" - }, - "type": "array" + "metadata": { + "$ref": "#/components/schemas/Record_string.any_" } }, "required": [ + "id", + "user_defined_id", + "description", + "pretty_name", "created_at", - "latest_request_created_at", - "session_id", - "session_name", - "total_cost", - "total_requests", - "prompt_tokens", - "completion_tokens", - "total_tokens", - "avg_latency", - "user_ids" + "major_version" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_SessionResult-Array_": { + "ResultSuccess_PromptsResult-Array_": { "properties": { "data": { "items": { - "$ref": "#/components/schemas/SessionResult" + "$ref": "#/components/schemas/PromptsResult" }, "type": "array" }, @@ -7280,38 +7455,35 @@ "type": "object", "additionalProperties": false }, - "Result_SessionResult-Array.string_": { + "Result_PromptsResult-Array.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_SessionResult-Array_" + "$ref": "#/components/schemas/ResultSuccess_PromptsResult-Array_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "Pick_FilterLeaf.request_response_rmt-or-sessions_request_response_rmt_": { + "Pick_FilterLeaf.prompt_v2_": { "properties": { - "request_response_rmt": { - "$ref": "#/components/schemas/Partial_RequestResponseRMTToOperators_" - }, - "sessions_request_response_rmt": { - "$ref": "#/components/schemas/Partial_SessionsRequestResponseRMTToOperators_" + "prompt_v2": { + "$ref": "#/components/schemas/Partial_PromptToOperators_" } }, "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" }, - "FilterLeafSubset_request_response_rmt-or-sessions_request_response_rmt_": { - "$ref": "#/components/schemas/Pick_FilterLeaf.request_response_rmt-or-sessions_request_response_rmt_" + "FilterLeafSubset_prompt_v2_": { + "$ref": "#/components/schemas/Pick_FilterLeaf.prompt_v2_" }, - "SessionFilterNode": { + "PromptsFilterNode": { "anyOf": [ { - "$ref": "#/components/schemas/FilterLeafSubset_request_response_rmt-or-sessions_request_response_rmt_" + "$ref": "#/components/schemas/FilterLeafSubset_prompt_v2_" }, { - "$ref": "#/components/schemas/SessionFilterBranch" + "$ref": "#/components/schemas/PromptsFilterBranch" }, { "type": "string", @@ -7321,10 +7493,10 @@ } ] }, - "SessionFilterBranch": { + "PromptsFilterBranch": { "properties": { "right": { - "$ref": "#/components/schemas/SessionFilterNode" + "$ref": "#/components/schemas/PromptsFilterNode" }, "operator": { "type": "string", @@ -7334,7 +7506,7 @@ ] }, "left": { - "$ref": "#/components/schemas/SessionFilterNode" + "$ref": "#/components/schemas/PromptsFilterNode" } }, "required": [ @@ -7344,122 +7516,40 @@ ], "type": "object" }, - "SessionQueryParams": { + "PromptsQueryParams": { "properties": { - "search": { - "type": "string" - }, - "timeFilter": { - "properties": { - "endTimeUnixMs": { - "type": "number", - "format": "double" - }, - "startTimeUnixMs": { - "type": "number", - "format": "double" - } - }, - "required": [ - "endTimeUnixMs", - "startTimeUnixMs" - ], - "type": "object" - }, - "nameEquals": { - "type": "string" - }, - "timezoneDifference": { - "type": "number", - "format": "double" - }, "filter": { - "$ref": "#/components/schemas/SessionFilterNode" - }, - "offset": { - "type": "number", - "format": "double" - }, - "limit": { - "type": "number", - "format": "double" + "$ref": "#/components/schemas/PromptsFilterNode" } }, "required": [ - "search", - "timeFilter", - "timezoneDifference", "filter" ], "type": "object", "additionalProperties": false }, - "SessionsAggregateMetrics": { + "PromptResult": { "properties": { - "count": { - "type": "number", - "format": "double" + "id": { + "type": "string" }, - "total_cost": { - "type": "number", - "format": "double" + "user_defined_id": { + "type": "string" }, - "avg_cost": { - "type": "number", - "format": "double" + "description": { + "type": "string" }, - "avg_latency": { - "type": "number", - "format": "double" + "pretty_name": { + "type": "string" }, - "avg_requests": { + "major_version": { "type": "number", "format": "double" - } - }, - "required": [ - "count", - "total_cost", - "avg_cost", - "avg_latency", - "avg_requests" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_SessionsAggregateMetrics_": { - "properties": { - "data": { - "$ref": "#/components/schemas/SessionsAggregateMetrics" }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_SessionsAggregateMetrics.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_SessionsAggregateMetrics_" + "latest_version_id": { + "type": "string" }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "SessionNameResult": { - "properties": { - "name": { + "latest_model_used": { "type": "string" }, "created_at": { @@ -7468,36 +7558,35 @@ "last_used": { "type": "string" }, - "first_used": { - "type": "string" - }, - "session_count": { - "type": "number", - "format": "double" + "versions": { + "items": { + "type": "string" + }, + "type": "array" }, - "avg_latency": { - "type": "number", - "format": "double" + "metadata": { + "$ref": "#/components/schemas/Record_string.any_" } }, "required": [ - "name", + "id", + "user_defined_id", + "description", + "pretty_name", + "major_version", + "latest_version_id", + "latest_model_used", "created_at", "last_used", - "first_used", - "session_count", - "avg_latency" + "versions" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_SessionNameResult-Array_": { + "ResultSuccess_PromptResult_": { "properties": { "data": { - "items": { - "$ref": "#/components/schemas/SessionNameResult" - }, - "type": "array" + "$ref": "#/components/schemas/PromptResult" }, "error": { "type": "number", @@ -7514,145 +7603,98 @@ "type": "object", "additionalProperties": false }, - "Result_SessionNameResult-Array.string_": { + "Result_PromptResult.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_SessionNameResult-Array_" + "$ref": "#/components/schemas/ResultSuccess_PromptResult_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "TimeFilterMs": { + "PromptQueryParams": { "properties": { - "startTimeUnixMs": { - "type": "number", - "format": "double" - }, - "endTimeUnixMs": { - "type": "number", - "format": "double" + "timeFilter": { + "properties": { + "end": { + "type": "string" + }, + "start": { + "type": "string" + } + }, + "required": [ + "end", + "start" + ], + "type": "object" } }, "required": [ - "startTimeUnixMs", - "endTimeUnixMs" + "timeFilter" ], "type": "object", "additionalProperties": false }, - "SessionNameQueryParams": { + "CreatePromptResponse": { "properties": { - "nameContains": { + "id": { "type": "string" }, - "timezoneDifference": { - "type": "number", - "format": "double" - }, - "pSize": { - "type": "string", - "enum": [ - "p50", - "p75", - "p95", - "p99", - "p99.9" - ] - }, - "useInterquartile": { - "type": "boolean" - }, - "timeFilter": { - "$ref": "#/components/schemas/TimeFilterMs" - }, - "filter": { - "$ref": "#/components/schemas/SessionFilterNode" + "prompt_version_id": { + "type": "string" } }, "required": [ - "nameContains", - "timezoneDifference" + "id", + "prompt_version_id" ], "type": "object", "additionalProperties": false }, - "AverageRow": { + "ResultSuccess_CreatePromptResponse_": { "properties": { - "average": { + "data": { + "$ref": "#/components/schemas/CreatePromptResponse" + }, + "error": { "type": "number", - "format": "double" + "enum": [ + null + ], + "nullable": true } }, "required": [ - "average" + "data", + "error" ], "type": "object", "additionalProperties": false }, - "SessionMetrics": { - "properties": { - "session_count": { - "items": { - "$ref": "#/components/schemas/HistogramRow" - }, - "type": "array" - }, - "session_duration": { - "items": { - "$ref": "#/components/schemas/HistogramRow" - }, - "type": "array" - }, - "session_cost": { - "items": { - "$ref": "#/components/schemas/HistogramRow" - }, - "type": "array" + "Result_CreatePromptResponse.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_CreatePromptResponse_" }, - "average": { + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "ResultSuccess__metadata-Record_string.any___": { + "properties": { + "data": { "properties": { - "session_cost": { - "items": { - "$ref": "#/components/schemas/AverageRow" - }, - "type": "array" - }, - "session_duration": { - "items": { - "$ref": "#/components/schemas/AverageRow" - }, - "type": "array" - }, - "session_count": { - "items": { - "$ref": "#/components/schemas/AverageRow" - }, - "type": "array" + "metadata": { + "$ref": "#/components/schemas/Record_string.any_" } }, "required": [ - "session_cost", - "session_duration", - "session_count" + "metadata" ], "type": "object" - } - }, - "required": [ - "session_count", - "session_duration", - "session_cost", - "average" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_SessionMetrics_": { - "properties": { - "data": { - "$ref": "#/components/schemas/SessionMetrics" }, "error": { "type": "number", @@ -7669,57 +7711,98 @@ "type": "object", "additionalProperties": false }, - "Result_SessionMetrics.string_": { + "Result__metadata-Record_string.any__.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_SessionMetrics_" + "$ref": "#/components/schemas/ResultSuccess__metadata-Record_string.any___" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "SessionMetricsQueryParams": { + "PromptEditSubversionLabelParams": { "properties": { - "nameContains": { + "label": { + "type": "string" + } + }, + "required": [ + "label" + ], + "type": "object", + "additionalProperties": false + }, + "PromptEditSubversionTemplateParams": { + "properties": { + "heliconeTemplate": {}, + "experimentId": { + "type": "string" + } + }, + "required": [ + "heliconeTemplate" + ], + "type": "object", + "additionalProperties": false + }, + "PromptVersionResult": { + "properties": { + "id": { "type": "string" }, - "timezoneDifference": { + "minor_version": { "type": "number", "format": "double" }, - "pSize": { - "type": "string", - "enum": [ - "p50", - "p75", - "p95", - "p99", - "p99.9" - ] + "major_version": { + "type": "number", + "format": "double" }, - "useInterquartile": { - "type": "boolean" + "prompt_v2": { + "type": "string" }, - "timeFilter": { - "$ref": "#/components/schemas/TimeFilterMs" + "model": { + "type": "string" }, - "filter": { - "$ref": "#/components/schemas/SessionFilterNode" + "helicone_template": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "metadata": { + "$ref": "#/components/schemas/Record_string.any_" + }, + "parent_prompt_version": { + "type": "string", + "nullable": true + }, + "experiment_id": { + "type": "string", + "nullable": true + }, + "updated_at": { + "type": "string" } }, "required": [ - "nameContains", - "timezoneDifference" + "id", + "minor_version", + "major_version", + "prompt_v2", + "model", + "helicone_template", + "created_at", + "metadata" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_string-or-null_": { + "ResultSuccess_PromptVersionResult_": { "properties": { "data": { - "type": "string", - "nullable": true + "$ref": "#/components/schemas/PromptVersionResult" }, "error": { "type": "number", @@ -7736,156 +7819,85 @@ "type": "object", "additionalProperties": false }, - "Result_string-or-null.string_": { + "Result_PromptVersionResult.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_string-or-null_" + "$ref": "#/components/schemas/ResultSuccess_PromptVersionResult_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "MetricsData": { + "PromptCreateSubversionParams": { "properties": { - "totalRequests": { - "type": "number", - "format": "double" + "newHeliconeTemplate": {}, + "isMajorVersion": { + "type": "boolean" }, - "requestCountPrevious24h": { - "type": "number", - "format": "double" + "metadata": { + "$ref": "#/components/schemas/Record_string.any_" }, - "requestVolumeChange": { - "type": "number", - "format": "double" + "experimentId": { + "type": "string" }, - "errorRate24h": { - "type": "number", - "format": "double" - }, - "errorRatePrevious24h": { - "type": "number", - "format": "double" - }, - "errorRateChange": { - "type": "number", - "format": "double" - }, - "averageLatency": { - "type": "number", - "format": "double" - }, - "averageLatencyPerToken": { - "type": "number", - "format": "double" - }, - "latencyChange": { - "type": "number", - "format": "double" - }, - "latencyPerTokenChange": { - "type": "number", - "format": "double" - }, - "recentRequestCount": { - "type": "number", - "format": "double" - }, - "recentErrorCount": { - "type": "number", - "format": "double" + "bumpForMajorPromptVersionId": { + "type": "string" } }, "required": [ - "totalRequests", - "requestCountPrevious24h", - "requestVolumeChange", - "errorRate24h", - "errorRatePrevious24h", - "errorRateChange", - "averageLatency", - "averageLatencyPerToken", - "latencyChange", - "latencyPerTokenChange", - "recentRequestCount", - "recentErrorCount" + "newHeliconeTemplate" ], "type": "object", "additionalProperties": false }, - "TimeSeriesDataPoint": { + "PromptInputRecord": { "properties": { - "timestamp": { - "type": "string", - "format": "date-time" + "id": { + "type": "string" }, - "errorCount": { - "type": "number", - "format": "double" + "inputs": { + "$ref": "#/components/schemas/Record_string.string_" }, - "requestCount": { - "type": "number", - "format": "double" + "dataset_row_id": { + "type": "string" }, - "averageLatency": { - "type": "number", - "format": "double" + "source_request": { + "type": "string" }, - "averageLatencyPerCompletionToken": { - "type": "number", - "format": "double" - } - }, - "required": [ - "timestamp", - "errorCount", - "requestCount", - "averageLatency", - "averageLatencyPerCompletionToken" - ], - "type": "object", - "additionalProperties": false - }, - "ProviderMetrics": { - "properties": { - "providerName": { + "prompt_version": { "type": "string" }, - "metrics": { - "allOf": [ - { - "$ref": "#/components/schemas/MetricsData" - }, - { - "properties": { - "timeSeriesData": { - "items": { - "$ref": "#/components/schemas/TimeSeriesDataPoint" - }, - "type": "array" - } - }, - "required": [ - "timeSeriesData" - ], - "type": "object" - } - ] + "created_at": { + "type": "string" + }, + "response_body": { + "type": "string" + }, + "request_body": { + "type": "string" + }, + "auto_prompt_inputs": { + "items": {}, + "type": "array" } }, "required": [ - "providerName", - "metrics" + "id", + "inputs", + "source_request", + "prompt_version", + "created_at", + "auto_prompt_inputs" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_ProviderMetrics-Array_": { + "ResultSuccess_PromptInputRecord-Array_": { "properties": { "data": { "items": { - "$ref": "#/components/schemas/ProviderMetrics" + "$ref": "#/components/schemas/PromptInputRecord" }, "type": "array" }, @@ -7904,20 +7916,23 @@ "type": "object", "additionalProperties": false }, - "Result_ProviderMetrics-Array.string_": { + "Result_PromptInputRecord-Array.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_ProviderMetrics-Array_" + "$ref": "#/components/schemas/ResultSuccess_PromptInputRecord-Array_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "ResultSuccess_ProviderMetrics_": { + "ResultSuccess_PromptVersionResult-Array_": { "properties": { "data": { - "$ref": "#/components/schemas/ProviderMetrics" + "items": { + "$ref": "#/components/schemas/PromptVersionResult" + }, + "type": "array" }, "error": { "type": "number", @@ -7934,48 +7949,115 @@ "type": "object", "additionalProperties": false }, - "Result_ProviderMetrics.string_": { + "Result_PromptVersionResult-Array.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_ProviderMetrics_" + "$ref": "#/components/schemas/ResultSuccess_PromptVersionResult-Array_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "TimeFrame": { - "type": "string", - "enum": [ - "24h", - "7d", - "30d" + "Pick_FilterLeaf.prompts_versions_": { + "properties": { + "prompts_versions": { + "$ref": "#/components/schemas/Partial_PromptVersionsToOperators_" + } + }, + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "FilterLeafSubset_prompts_versions_": { + "$ref": "#/components/schemas/Pick_FilterLeaf.prompts_versions_" + }, + "PromptVersionsFilterNode": { + "anyOf": [ + { + "$ref": "#/components/schemas/FilterLeafSubset_prompts_versions_" + }, + { + "$ref": "#/components/schemas/PromptVersionsFilterBranch" + }, + { + "type": "string", + "enum": [ + "all" + ] + } ] }, - "ProviderMetric": { + "PromptVersionsFilterBranch": { "properties": { - "provider": { + "right": { + "$ref": "#/components/schemas/PromptVersionsFilterNode" + }, + "operator": { + "type": "string", + "enum": [ + "or", + "and" + ] + }, + "left": { + "$ref": "#/components/schemas/PromptVersionsFilterNode" + } + }, + "required": [ + "right", + "operator", + "left" + ], + "type": "object" + }, + "PromptVersionsQueryParams": { + "properties": { + "filter": { + "$ref": "#/components/schemas/PromptVersionsFilterNode" + }, + "includeExperimentVersions": { + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "PromptVersionResultCompiled": { + "properties": { + "id": { "type": "string" }, - "total_requests": { + "minor_version": { "type": "number", "format": "double" - } + }, + "major_version": { + "type": "number", + "format": "double" + }, + "prompt_v2": { + "type": "string" + }, + "model": { + "type": "string" + }, + "prompt_compiled": {} }, "required": [ - "provider", - "total_requests" + "id", + "minor_version", + "major_version", + "prompt_v2", + "model", + "prompt_compiled" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_ProviderMetric-Array_": { + "ResultSuccess_PromptVersionResultCompiled_": { "properties": { "data": { - "items": { - "$ref": "#/components/schemas/ProviderMetric" - }, - "type": "array" + "$ref": "#/components/schemas/PromptVersionResultCompiled" }, "error": { "type": "number", @@ -7992,686 +8074,667 @@ "type": "object", "additionalProperties": false }, - "Result_ProviderMetric-Array.string_": { + "Result_PromptVersionResultCompiled.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_ProviderMetric-Array_" + "$ref": "#/components/schemas/ResultSuccess_PromptVersionResultCompiled_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "Partial_UserMetricsToOperators_": { + "PromptVersiosQueryParamsCompiled": { "properties": { - "user_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "last_active": { - "$ref": "#/components/schemas/Partial_TimestampOperators_" + "filter": { + "$ref": "#/components/schemas/PromptVersionsFilterNode" }, - "total_requests": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "includeExperimentVersions": { + "type": "boolean" }, - "active_for": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "inputs": { + "$ref": "#/components/schemas/Record_string.string_" + } + }, + "required": [ + "inputs" + ], + "type": "object", + "additionalProperties": false + }, + "PromptVersionResultFilled": { + "properties": { + "id": { + "type": "string" }, - "average_requests_per_day_active": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "minor_version": { + "type": "number", + "format": "double" }, - "average_tokens_per_request": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "major_version": { + "type": "number", + "format": "double" }, - "total_completion_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "prompt_v2": { + "type": "string" }, - "total_prompt_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "model": { + "type": "string" }, - "cost": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - } + "filled_helicone_template": {} }, + "required": [ + "id", + "minor_version", + "major_version", + "prompt_v2", + "model", + "filled_helicone_template" + ], "type": "object", - "description": "Make all properties in T optional" + "additionalProperties": false }, - "Partial_UserApiKeysTableToOperators_": { + "ResultSuccess_PromptVersionResultFilled_": { "properties": { - "api_key_hash": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "data": { + "$ref": "#/components/schemas/PromptVersionResultFilled" }, - "api_key_name": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, + "required": [ + "data", + "error" + ], "type": "object", - "description": "Make all properties in T optional" + "additionalProperties": false }, - "Partial_PropertiesTableToOperators_": { - "properties": { - "auth_hash": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "key": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "Result_PromptVersionResultFilled.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_PromptVersionResultFilled_" }, - "value": { - "$ref": "#/components/schemas/Partial_TextOperators_" + { + "$ref": "#/components/schemas/ResultError_string_" } - }, - "type": "object", - "description": "Make all properties in T optional" + ] }, - "Partial_ExperimentToOperators_": { + "ChatCompletionTokenLogprob.TopLogprob": { "properties": { - "id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "token": { + "type": "string", + "description": "The token." }, - "prompt_v2": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "bytes": { + "items": { + "type": "number", + "format": "double" + }, + "type": "array", + "nullable": true, + "description": "A list of integers representing the UTF-8 bytes representation of the token.\nUseful in instances where characters are represented by multiple tokens and\ntheir byte representations must be combined to generate the correct text\nrepresentation. Can be `null` if there is no bytes representation for the token." + }, + "logprob": { + "type": "number", + "format": "double", + "description": "The log probability of this token, if it is within the top 20 most likely\ntokens. Otherwise, the value `-9999.0` is used to signify that the token is very\nunlikely." } }, + "required": [ + "token", + "bytes", + "logprob" + ], "type": "object", - "description": "Make all properties in T optional" + "additionalProperties": false }, - "Partial_ExperimentHypothesisRunToOperator_": { + "ChatCompletionTokenLogprob": { "properties": { - "result_request_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "token": { + "type": "string", + "description": "The token." + }, + "bytes": { + "items": { + "type": "number", + "format": "double" + }, + "type": "array", + "nullable": true, + "description": "A list of integers representing the UTF-8 bytes representation of the token.\nUseful in instances where characters are represented by multiple tokens and\ntheir byte representations must be combined to generate the correct text\nrepresentation. Can be `null` if there is no bytes representation for the token." + }, + "logprob": { + "type": "number", + "format": "double", + "description": "The log probability of this token, if it is within the top 20 most likely\ntokens. Otherwise, the value `-9999.0` is used to signify that the token is very\nunlikely." + }, + "top_logprobs": { + "items": { + "$ref": "#/components/schemas/ChatCompletionTokenLogprob.TopLogprob" + }, + "type": "array", + "description": "List of the most likely tokens and their log probability, at this token\nposition. In rare cases, there may be fewer than the number of requested\n`top_logprobs` returned." } }, + "required": [ + "token", + "bytes", + "logprob", + "top_logprobs" + ], "type": "object", - "description": "Make all properties in T optional" + "additionalProperties": false }, - "Partial_ScoreValueToOperator_": { + "ChatCompletion.Choice.Logprobs": { + "description": "Log probability information for the choice.", "properties": { - "request_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "content": { + "items": { + "$ref": "#/components/schemas/ChatCompletionTokenLogprob" + }, + "type": "array", + "nullable": true, + "description": "A list of message content tokens with log probability information." + }, + "refusal": { + "items": { + "$ref": "#/components/schemas/ChatCompletionTokenLogprob" + }, + "type": "array", + "nullable": true, + "description": "A list of message refusal tokens with log probability information." } }, + "required": [ + "content", + "refusal" + ], "type": "object", - "description": "Make all properties in T optional" + "additionalProperties": false }, - "Partial_RequestResponseLogToOperators_": { + "ChatCompletionMessage.Annotation.URLCitation": { + "description": "A URL citation when using web search.", "properties": { - "latency": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "status": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "request_created_at": { - "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" - }, - "response_created_at": { - "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" - }, - "auth_hash": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "model": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "user_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "organization_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "end_index": { + "type": "number", + "format": "double", + "description": "The index of the last character of the URL citation in the message." }, - "node_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "start_index": { + "type": "number", + "format": "double", + "description": "The index of the first character of the URL citation in the message." }, - "job_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "title": { + "type": "string", + "description": "The title of the web resource." }, - "threat": { - "$ref": "#/components/schemas/Partial_BooleanOperators_" + "url": { + "type": "string", + "description": "The URL of the web resource." } }, + "required": [ + "end_index", + "start_index", + "title", + "url" + ], "type": "object", - "description": "Make all properties in T optional" + "additionalProperties": false }, - "Partial_PropertiesV3ToOperators_": { + "ChatCompletionMessage.Annotation": { + "description": "A URL citation when using web search.", "properties": { - "key": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "type": { + "type": "string", + "enum": [ + "url_citation" + ], + "nullable": false, + "description": "The type of the URL citation. Always `url_citation`." }, - "value": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "organization_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "url_citation": { + "$ref": "#/components/schemas/ChatCompletionMessage.Annotation.URLCitation", + "description": "A URL citation when using web search." } }, + "required": [ + "type", + "url_citation" + ], "type": "object", - "description": "Make all properties in T optional" + "additionalProperties": false }, - "Partial_PropertyWithResponseV1ToOperators_": { + "ChatCompletionAudio": { + "description": "If the audio output modality is requested, this object contains data about the\naudio response from the model.\n[Learn more](https://platform.openai.com/docs/guides/audio).", "properties": { - "property_key": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "property_value": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "id": { + "type": "string", + "description": "Unique identifier for this audio response." }, - "request_created_at": { - "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" + "data": { + "type": "string", + "description": "Base64 encoded audio bytes generated by the model, in the format specified in\nthe request." }, - "organization_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "expires_at": { + "type": "number", + "format": "double", + "description": "The Unix timestamp (in seconds) for when this audio response will no longer be\naccessible on the server for use in multi-turn conversations." }, - "threat": { - "$ref": "#/components/schemas/Partial_BooleanOperators_" + "transcript": { + "type": "string", + "description": "Transcript of the audio generated by the model." } }, + "required": [ + "id", + "data", + "expires_at", + "transcript" + ], "type": "object", - "description": "Make all properties in T optional" + "additionalProperties": false }, - "Partial_JobToOperators_": { + "ChatCompletionMessage.FunctionCall": { "properties": { - "id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "arguments": { + "type": "string", + "description": "The arguments to call the function with, as generated by the model in JSON\nformat. Note that the model does not always generate valid JSON, and may\nhallucinate parameters not defined by your function schema. Validate the\narguments in your code before calling your function." }, "name": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "description": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "status": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "created_at": { - "$ref": "#/components/schemas/Partial_TimestampOperators_" - }, - "updated_at": { - "$ref": "#/components/schemas/Partial_TimestampOperators_" - }, - "timeout_seconds": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "custom_properties": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "type": "object" - }, - "org_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "type": "string", + "description": "The name of the function to call." } }, + "required": [ + "arguments", + "name" + ], "type": "object", - "description": "Make all properties in T optional" + "additionalProperties": false, + "deprecated": true }, - "Partial_NodesToOperators_": { + "ChatCompletionMessageFunctionToolCall.Function": { + "description": "The function that the model called.", "properties": { - "id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "arguments": { + "type": "string", + "description": "The arguments to call the function with, as generated by the model in JSON\nformat. Note that the model does not always generate valid JSON, and may\nhallucinate parameters not defined by your function schema. Validate the\narguments in your code before calling your function." }, "name": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "description": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "job_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "status": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "created_at": { - "$ref": "#/components/schemas/Partial_TimestampOperators_" - }, - "updated_at": { - "$ref": "#/components/schemas/Partial_TimestampOperators_" - }, - "timeout_seconds": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "custom_properties": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "type": "object" - }, - "org_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "type": "string", + "description": "The name of the function to call." } }, + "required": [ + "arguments", + "name" + ], "type": "object", - "description": "Make all properties in T optional" + "additionalProperties": false }, - "Partial_CacheMetricsTableToOperators_": { + "ChatCompletionMessageFunctionToolCall": { + "description": "A call to a function tool created by the model.", "properties": { - "organization_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "request_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "date": { - "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" - }, - "hour": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "model": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "cache_hit_count": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "saved_latency_ms": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "saved_completion_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "saved_prompt_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "saved_completion_audio_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "saved_prompt_audio_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "saved_prompt_cache_write_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "saved_prompt_cache_read_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "first_hit": { - "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" - }, - "last_hit": { - "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" + "id": { + "type": "string", + "description": "The ID of the tool call." }, - "request_body": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "function": { + "$ref": "#/components/schemas/ChatCompletionMessageFunctionToolCall.Function", + "description": "The function that the model called." }, - "response_body": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "type": { + "type": "string", + "enum": [ + "function" + ], + "nullable": false, + "description": "The type of the tool. Currently, only `function` is supported." } }, + "required": [ + "id", + "function", + "type" + ], "type": "object", - "description": "Make all properties in T optional" + "additionalProperties": false }, - "Partial_RateLimitTableToOperators_": { + "ChatCompletionMessageCustomToolCall.Custom": { + "description": "The custom tool that the model called.", "properties": { - "organization_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "input": { + "type": "string", + "description": "The input for the custom tool call generated by the model." }, - "created_at": { - "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" + "name": { + "type": "string", + "description": "The name of the custom tool to call." } }, + "required": [ + "input", + "name" + ], "type": "object", - "description": "Make all properties in T optional" + "additionalProperties": false }, - "Partial_OrganizationPropertiesToOperators_": { + "ChatCompletionMessageCustomToolCall": { + "description": "A call to a custom tool created by the model.", "properties": { - "organization_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "id": { + "type": "string", + "description": "The ID of the tool call." }, - "property_key": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "custom": { + "$ref": "#/components/schemas/ChatCompletionMessageCustomToolCall.Custom", + "description": "The custom tool that the model called." + }, + "type": { + "type": "string", + "enum": [ + "custom" + ], + "nullable": false, + "description": "The type of the tool. Always `custom`." } }, + "required": [ + "id", + "custom", + "type" + ], "type": "object", - "description": "Make all properties in T optional" + "additionalProperties": false }, - "Partial_TablesAndViews_": { - "properties": { - "user_metrics": { - "$ref": "#/components/schemas/Partial_UserMetricsToOperators_" - }, - "user_api_keys": { - "$ref": "#/components/schemas/Partial_UserApiKeysTableToOperators_" - }, - "response": { - "$ref": "#/components/schemas/Partial_ResponseTableToOperators_" - }, - "request": { - "$ref": "#/components/schemas/Partial_RequestTableToOperators_" - }, - "feedback": { - "$ref": "#/components/schemas/Partial_FeedbackTableToOperators_" - }, - "properties_table": { - "$ref": "#/components/schemas/Partial_PropertiesTableToOperators_" - }, - "prompt_v2": { - "$ref": "#/components/schemas/Partial_PromptToOperators_" - }, - "prompts_versions": { - "$ref": "#/components/schemas/Partial_PromptVersionsToOperators_" - }, - "experiment": { - "$ref": "#/components/schemas/Partial_ExperimentToOperators_" - }, - "experiment_hypothesis_run": { - "$ref": "#/components/schemas/Partial_ExperimentHypothesisRunToOperator_" - }, - "score_value": { - "$ref": "#/components/schemas/Partial_ScoreValueToOperator_" - }, - "request_response_log": { - "$ref": "#/components/schemas/Partial_RequestResponseLogToOperators_" - }, - "request_response_rmt": { - "$ref": "#/components/schemas/Partial_RequestResponseRMTToOperators_" - }, - "sessions_request_response_rmt": { - "$ref": "#/components/schemas/Partial_SessionsRequestResponseRMTToOperators_" - }, - "users_view": { - "$ref": "#/components/schemas/Partial_UserViewToOperators_" - }, - "properties_v3": { - "$ref": "#/components/schemas/Partial_PropertiesV3ToOperators_" - }, - "property_with_response_v1": { - "$ref": "#/components/schemas/Partial_PropertyWithResponseV1ToOperators_" + "ChatCompletionMessageToolCall": { + "anyOf": [ + { + "$ref": "#/components/schemas/ChatCompletionMessageFunctionToolCall" }, - "job": { - "$ref": "#/components/schemas/Partial_JobToOperators_" + { + "$ref": "#/components/schemas/ChatCompletionMessageCustomToolCall" + } + ], + "description": "A call to a function tool created by the model." + }, + "ChatCompletionMessage": { + "description": "A chat completion message generated by the model.", + "properties": { + "content": { + "type": "string", + "nullable": true, + "description": "The contents of the message." }, - "job_node": { - "$ref": "#/components/schemas/Partial_NodesToOperators_" + "refusal": { + "type": "string", + "nullable": true, + "description": "The refusal message generated by the model." }, - "cache_metrics": { - "$ref": "#/components/schemas/Partial_CacheMetricsTableToOperators_" + "role": { + "type": "string", + "enum": [ + "assistant" + ], + "nullable": false, + "description": "The role of the author of this message." }, - "rate_limit_log": { - "$ref": "#/components/schemas/Partial_RateLimitTableToOperators_" + "annotations": { + "items": { + "$ref": "#/components/schemas/ChatCompletionMessage.Annotation" + }, + "type": "array", + "description": "Annotations for the message, when applicable, as when using the\n[web search tool](https://platform.openai.com/docs/guides/tools-web-search?api-mode=chat)." }, - "organization_properties": { - "$ref": "#/components/schemas/Partial_OrganizationPropertiesToOperators_" + "audio": { + "allOf": [ + { + "$ref": "#/components/schemas/ChatCompletionAudio" + } + ], + "nullable": true, + "description": "If the audio output modality is requested, this object contains data about the\naudio response from the model.\n[Learn more](https://platform.openai.com/docs/guides/audio)." }, - "properties": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "type": "object" + "function_call": { + "allOf": [ + { + "$ref": "#/components/schemas/ChatCompletionMessage.FunctionCall" + } + ], + "nullable": true, + "deprecated": true }, - "values": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "tool_calls": { + "items": { + "$ref": "#/components/schemas/ChatCompletionMessageToolCall" }, - "type": "object" + "type": "array", + "description": "The tool calls generated by the model, such as function calls." } }, + "required": [ + "content", + "refusal", + "role" + ], "type": "object", - "description": "Make all properties in T optional" - }, - "SingleKey_TablesAndViews_": { - "$ref": "#/components/schemas/Partial_TablesAndViews_" - }, - "FilterLeaf": { - "$ref": "#/components/schemas/SingleKey_TablesAndViews_" - }, - "FilterNode": { - "anyOf": [ - { - "$ref": "#/components/schemas/FilterLeaf" - }, - { - "$ref": "#/components/schemas/FilterBranch" - }, - { - "properties": {}, - "type": "object" - }, - { - "type": "string", - "enum": [ - "all" - ] - } - ] + "additionalProperties": false }, - "FilterBranch": { + "ChatCompletion.Choice": { "properties": { - "left": { - "$ref": "#/components/schemas/FilterNode" - }, - "operator": { + "finish_reason": { "type": "string", "enum": [ - "or", - "and" - ] + "stop", + "length", + "tool_calls", + "content_filter", + "function_call" + ], + "description": "The reason the model stopped generating tokens. This will be `stop` if the model\nhit a natural stop point or a provided stop sequence, `length` if the maximum\nnumber of tokens specified in the request was reached, `content_filter` if\ncontent was omitted due to a flag from our content filters, `tool_calls` if the\nmodel called a tool, or `function_call` (deprecated) if the model called a\nfunction." }, - "right": { - "$ref": "#/components/schemas/FilterNode" + "index": { + "type": "number", + "format": "double", + "description": "The index of the choice in the list of choices." + }, + "logprobs": { + "allOf": [ + { + "$ref": "#/components/schemas/ChatCompletion.Choice.Logprobs" + } + ], + "nullable": true, + "description": "Log probability information for the choice." + }, + "message": { + "$ref": "#/components/schemas/ChatCompletionMessage", + "description": "A chat completion message generated by the model." } }, "required": [ - "left", - "operator", - "right" + "finish_reason", + "index", + "logprobs", + "message" ], "type": "object", "additionalProperties": false }, - "ProviderQueryParams": { + "CompletionUsage.CompletionTokensDetails": { + "description": "Breakdown of tokens used in a completion.", "properties": { - "filter": { - "$ref": "#/components/schemas/FilterNode" + "accepted_prediction_tokens": { + "type": "number", + "format": "double", + "description": "When using Predicted Outputs, the number of tokens in the prediction that\nappeared in the completion." }, - "offset": { + "audio_tokens": { "type": "number", - "format": "double" + "format": "double", + "description": "Audio input tokens generated by the model." }, - "limit": { + "reasoning_tokens": { "type": "number", - "format": "double" + "format": "double", + "description": "Tokens generated by the model for reasoning." }, - "timeFilter": { - "properties": { - "end": { - "type": "string" - }, - "start": { - "type": "string" - } - }, - "required": [ - "end", - "start" - ], - "type": "object" + "rejected_prediction_tokens": { + "type": "number", + "format": "double", + "description": "When using Predicted Outputs, the number of tokens in the prediction that did\nnot appear in the completion. However, like reasoning tokens, these tokens are\nstill counted in the total completion tokens for purposes of billing, output,\nand context window limits." } }, - "required": [ - "filter", - "offset", - "limit", - "timeFilter" - ], "type": "object", "additionalProperties": false }, - "ResultSuccess__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array_": { + "CompletionUsage.PromptTokensDetails": { + "description": "Breakdown of tokens used in the prompt.", "properties": { - "data": { - "items": { - "properties": { - "created_at_trunc": { - "type": "string" - }, - "request_count": { - "type": "number", - "format": "double" - }, - "total_cost": { - "type": "number", - "format": "double" - }, - "property": { - "type": "string" - } - }, - "required": [ - "created_at_trunc", - "request_count", - "total_cost", - "property" - ], - "type": "object" - }, - "type": "array" + "audio_tokens": { + "type": "number", + "format": "double", + "description": "Audio input tokens present in the prompt." }, - "error": { + "cached_tokens": { "type": "number", - "enum": [ - null - ], - "nullable": true + "format": "double", + "description": "Cached tokens present in the prompt." } }, - "required": [ - "data", - "error" - ], "type": "object", "additionalProperties": false }, - "Result__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "Pick_FilterLeaf.request_response_rmt_": { + "CompletionUsage": { + "description": "Usage statistics for the completion request.", "properties": { - "request_response_rmt": { - "$ref": "#/components/schemas/Partial_RequestResponseRMTToOperators_" - } - }, - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "FilterLeafSubset_request_response_rmt_": { - "$ref": "#/components/schemas/Pick_FilterLeaf.request_response_rmt_" - }, - "RequestClickhouseFilterNode": { - "anyOf": [ - { - "$ref": "#/components/schemas/FilterLeafSubset_request_response_rmt_" + "completion_tokens": { + "type": "number", + "format": "double", + "description": "Number of tokens in the generated completion." }, - { - "$ref": "#/components/schemas/RequestClickhouseFilterBranch" + "prompt_tokens": { + "type": "number", + "format": "double", + "description": "Number of tokens in the prompt." }, - { - "type": "string", - "enum": [ - "all" - ] - } - ] - }, - "RequestClickhouseFilterBranch": { - "properties": { - "right": { - "$ref": "#/components/schemas/RequestClickhouseFilterNode" + "total_tokens": { + "type": "number", + "format": "double", + "description": "Total number of tokens used in the request (prompt + completion)." }, - "operator": { - "type": "string", - "enum": [ - "or", - "and" - ] + "completion_tokens_details": { + "$ref": "#/components/schemas/CompletionUsage.CompletionTokensDetails", + "description": "Breakdown of tokens used in a completion." }, - "left": { - "$ref": "#/components/schemas/RequestClickhouseFilterNode" + "prompt_tokens_details": { + "$ref": "#/components/schemas/CompletionUsage.PromptTokensDetails", + "description": "Breakdown of tokens used in the prompt." } }, "required": [ - "right", - "operator", - "left" + "completion_tokens", + "prompt_tokens", + "total_tokens" ], - "type": "object" - }, - "TimeIncrement": { - "type": "string", - "enum": [ - "min", - "hour", - "day", - "week", - "month", - "year" - ] + "type": "object", + "additionalProperties": false }, - "DataOverTimeRequest": { + "ChatCompletion": { + "description": "Represents a chat completion response returned by model, based on the provided\ninput.", "properties": { - "timeFilter": { - "properties": { - "end": { - "type": "string" - }, - "start": { - "type": "string" - } + "id": { + "type": "string", + "description": "A unique identifier for the chat completion." + }, + "choices": { + "items": { + "$ref": "#/components/schemas/ChatCompletion.Choice" }, - "required": [ - "end", - "start" + "type": "array", + "description": "A list of chat completion choices. Can be more than one if `n` is greater\nthan 1." + }, + "created": { + "type": "number", + "format": "double", + "description": "The Unix timestamp (in seconds) of when the chat completion was created." + }, + "model": { + "type": "string", + "description": "The model used for the chat completion." + }, + "object": { + "type": "string", + "enum": [ + "chat.completion" ], - "type": "object" + "nullable": false, + "description": "The object type, which is always `chat.completion`." }, - "userFilter": { - "$ref": "#/components/schemas/RequestClickhouseFilterNode" + "service_tier": { + "type": "string", + "enum": [ + "auto", + "default", + "flex", + "scale", + "priority", + null + ], + "nullable": true, + "description": "Specifies the processing type used for serving the request.\n\n- If set to 'auto', then the request will be processed with the service tier\n configured in the Project settings. Unless otherwise configured, the Project\n will use 'default'.\n- If set to 'default', then the request will be processed with the standard\n pricing and performance for the selected model.\n- If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)' or\n 'priority', then the request will be processed with the corresponding service\n tier. [Contact sales](https://openai.com/contact-sales) to learn more about\n Priority processing.\n- When not set, the default behavior is 'auto'.\n\nWhen the `service_tier` parameter is set, the response body will include the\n`service_tier` value based on the processing mode actually used to serve the\nrequest. This response value may be different from the value set in the\nparameter." }, - "dbIncrement": { - "$ref": "#/components/schemas/TimeIncrement" + "system_fingerprint": { + "type": "string", + "description": "This fingerprint represents the backend configuration that the model runs with.\n\nCan be used in conjunction with the `seed` request parameter to understand when\nbackend changes have been made that might impact determinism." }, - "timeZoneDifference": { - "type": "number", - "format": "double" - } - }, - "required": [ - "timeFilter", - "userFilter", - "dbIncrement", - "timeZoneDifference" - ], - "type": "object", - "additionalProperties": false - }, - "Property": { - "properties": { - "property": { - "type": "string" + "usage": { + "$ref": "#/components/schemas/CompletionUsage", + "description": "Usage statistics for the completion request." } }, "required": [ - "property" + "id", + "choices", + "created", + "model", + "object" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_Property-Array_": { + "ResultSuccess_ChatCompletion-or-_content-string--reasoning-string--calls-any__": { "properties": { "data": { - "items": { - "$ref": "#/components/schemas/Property" - }, - "type": "array" + "anyOf": [ + { + "$ref": "#/components/schemas/ChatCompletion" + }, + { + "properties": { + "calls": {}, + "reasoning": { + "type": "string" + }, + "content": { + "type": "string" + } + }, + "required": [ + "calls", + "reasoning", + "content" + ], + "type": "object" + } + ] }, "error": { "type": "number", @@ -8688,21 +8751,20 @@ "type": "object", "additionalProperties": false }, - "Result_Property-Array.string_": { + "Result_ChatCompletion-or-_content-string--reasoning-string--calls-any_.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_Property-Array_" + "$ref": "#/components/schemas/ResultSuccess_ChatCompletion-or-_content-string--reasoning-string--calls-any__" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "ResultSuccess_unknown-Array_": { + "ResultSuccess_boolean_": { "properties": { "data": { - "items": {}, - "type": "array" + "type": "boolean" }, "error": { "type": "number", @@ -8719,26 +8781,28 @@ "type": "object", "additionalProperties": false }, - "ResultSuccess__value-string--cost-number_-Array_": { + "Result_boolean.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_boolean_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "ResultSuccess__apiKey-string__": { "properties": { "data": { - "items": { - "properties": { - "cost": { - "type": "number", - "format": "double" - }, - "value": { - "type": "string" - } - }, - "required": [ - "cost", - "value" - ], - "type": "object" + "properties": { + "apiKey": { + "type": "string" + } }, - "type": "array" + "required": [ + "apiKey" + ], + "type": "object" }, "error": { "type": "number", @@ -8755,56 +8819,32 @@ "type": "object", "additionalProperties": false }, - "Result__value-string--cost-number_-Array.string_": { + "Result__apiKey-string_.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess__value-string--cost-number_-Array_" + "$ref": "#/components/schemas/ResultSuccess__apiKey-string__" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "TimeFilterRequest": { - "properties": { - "timeFilter": { - "properties": { - "end": { - "type": "string" - }, - "start": { - "type": "string" - } - }, - "required": [ - "end", - "start" - ], - "type": "object" - } - }, - "required": [ - "timeFilter" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess__value-string--count-number_-Array_": { + "ResultSuccess__cost-number--created_at_trunc-string_-Array_": { "properties": { "data": { "items": { "properties": { - "count": { + "created_at_trunc": { + "type": "string" + }, + "cost": { "type": "number", "format": "double" - }, - "value": { - "type": "string" } }, "required": [ - "count", - "value" + "created_at_trunc", + "cost" ], "type": "object" }, @@ -8825,8184 +8865,3714 @@ "type": "object", "additionalProperties": false }, - "Result__value-string--count-number_-Array.string_": { + "Result__cost-number--created_at_trunc-string_-Array.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess__value-string--count-number_-Array_" + "$ref": "#/components/schemas/ResultSuccess__cost-number--created_at_trunc-string_-Array_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "ChatCompletionTokenLogprob.TopLogprob": { - "properties": { - "token": { - "type": "string", - "description": "The token." - }, - "bytes": { - "items": { - "type": "number", - "format": "double" - }, - "type": "array", - "nullable": true, - "description": "A list of integers representing the UTF-8 bytes representation of the token.\nUseful in instances where characters are represented by multiple tokens and\ntheir byte representations must be combined to generate the correct text\nrepresentation. Can be `null` if there is no bytes representation for the token." - }, - "logprob": { - "type": "number", - "format": "double", - "description": "The log probability of this token, if it is within the top 20 most likely\ntokens. Otherwise, the value `-9999.0` is used to signify that the token is very\nunlikely." - } - }, - "required": [ - "token", - "bytes", - "logprob" + "AuthorName": { + "type": "string", + "enum": [ + "anthropic", + "deepseek", + "mistral", + "openai", + "perplexity", + "xai", + "google", + "meta-llama", + "amazon", + "microsoft", + "nvidia", + "qwen", + "moonshotai", + "alibaba", + "zai", + "baidu", + "passthrough" + ] + }, + "StandardParameter": { + "type": "string", + "enum": [ + "max_tokens", + "max_completion_tokens", + "temperature", + "top_p", + "top_k", + "stop", + "stream", + "frequency_penalty", + "presence_penalty", + "repetition_penalty", + "seed", + "tools", + "tool_choice", + "functions", + "function_call", + "reasoning", + "include_reasoning", + "thinking", + "response_format", + "json_mode", + "truncate", + "min_p", + "logit_bias", + "logprobs", + "top_logprobs", + "structured_outputs", + "verbosity", + "n" + ] + }, + "PluginId": { + "type": "string", + "enum": [ + "web" ], - "type": "object", - "additionalProperties": false + "nullable": false }, - "ChatCompletionTokenLogprob": { + "RateLimits": { "properties": { - "token": { - "type": "string", - "description": "The token." - }, - "bytes": { - "items": { - "type": "number", - "format": "double" - }, - "type": "array", - "nullable": true, - "description": "A list of integers representing the UTF-8 bytes representation of the token.\nUseful in instances where characters are represented by multiple tokens and\ntheir byte representations must be combined to generate the correct text\nrepresentation. Can be `null` if there is no bytes representation for the token." + "rpm": { + "type": "number", + "format": "double" }, - "logprob": { + "tpm": { "type": "number", - "format": "double", - "description": "The log probability of this token, if it is within the top 20 most likely\ntokens. Otherwise, the value `-9999.0` is used to signify that the token is very\nunlikely." + "format": "double" }, - "top_logprobs": { - "items": { - "$ref": "#/components/schemas/ChatCompletionTokenLogprob.TopLogprob" - }, - "type": "array", - "description": "List of the most likely tokens and their log probability, at this token\nposition. In rare cases, there may be fewer than the number of requested\n`top_logprobs` returned." + "tpd": { + "type": "number", + "format": "double" } }, - "required": [ - "token", - "bytes", - "logprob", - "top_logprobs" - ], "type": "object", "additionalProperties": false }, - "ChatCompletion.Choice.Logprobs": { - "description": "Log probability information for the choice.", + "ModalityPricing": { + "description": "Per-modality pricing configuration.\nSupports input, cached input (as multiplier), and output rates.", "properties": { - "content": { - "items": { - "$ref": "#/components/schemas/ChatCompletionTokenLogprob" - }, - "type": "array", - "nullable": true, - "description": "A list of message content tokens with log probability information." + "input": { + "type": "number", + "format": "double" }, - "refusal": { - "items": { - "$ref": "#/components/schemas/ChatCompletionTokenLogprob" - }, - "type": "array", - "nullable": true, - "description": "A list of message refusal tokens with log probability information." + "cachedInputMultiplier": { + "type": "number", + "format": "double" + }, + "output": { + "type": "number", + "format": "double" } }, - "required": [ - "content", - "refusal" - ], "type": "object", "additionalProperties": false }, - "ChatCompletionMessage.Annotation.URLCitation": { - "description": "A URL citation when using web search.", + "ModelPricing": { "properties": { - "end_index": { + "threshold": { "type": "number", - "format": "double", - "description": "The index of the last character of the URL citation in the message." + "format": "double" }, - "start_index": { + "input": { "type": "number", - "format": "double", - "description": "The index of the first character of the URL citation in the message." + "format": "double" }, - "title": { - "type": "string", - "description": "The title of the web resource." + "output": { + "type": "number", + "format": "double" }, - "url": { - "type": "string", - "description": "The URL of the web resource." - } - }, - "required": [ - "end_index", - "start_index", - "title", - "url" - ], - "type": "object", - "additionalProperties": false - }, - "ChatCompletionMessage.Annotation": { - "description": "A URL citation when using web search.", - "properties": { - "type": { - "type": "string", - "enum": [ - "url_citation" + "cacheMultipliers": { + "properties": { + "write1h": { + "type": "number", + "format": "double" + }, + "write5m": { + "type": "number", + "format": "double" + }, + "cachedInput": { + "type": "number", + "format": "double" + } + }, + "required": [ + "cachedInput" ], - "nullable": false, - "description": "The type of the URL citation. Always `url_citation`." + "type": "object" }, - "url_citation": { - "$ref": "#/components/schemas/ChatCompletionMessage.Annotation.URLCitation", - "description": "A URL citation when using web search." - } - }, - "required": [ - "type", - "url_citation" - ], - "type": "object", - "additionalProperties": false - }, - "ChatCompletionAudio": { - "description": "If the audio output modality is requested, this object contains data about the\naudio response from the model.\n[Learn more](https://platform.openai.com/docs/guides/audio).", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for this audio response." + "cacheStoragePerHour": { + "type": "number", + "format": "double" }, - "data": { - "type": "string", - "description": "Base64 encoded audio bytes generated by the model, in the format specified in\nthe request." + "thinking": { + "type": "number", + "format": "double" }, - "expires_at": { + "request": { "type": "number", - "format": "double", - "description": "The Unix timestamp (in seconds) for when this audio response will no longer be\naccessible on the server for use in multi-turn conversations." + "format": "double" }, - "transcript": { - "type": "string", - "description": "Transcript of the audio generated by the model." - } - }, - "required": [ - "id", - "data", - "expires_at", - "transcript" - ], - "type": "object", - "additionalProperties": false - }, - "ChatCompletionMessage.FunctionCall": { - "properties": { - "arguments": { - "type": "string", - "description": "The arguments to call the function with, as generated by the model in JSON\nformat. Note that the model does not always generate valid JSON, and may\nhallucinate parameters not defined by your function schema. Validate the\narguments in your code before calling your function." + "image": { + "$ref": "#/components/schemas/ModalityPricing" }, - "name": { - "type": "string", - "description": "The name of the function to call." - } - }, - "required": [ - "arguments", - "name" - ], - "type": "object", - "additionalProperties": false, - "deprecated": true - }, - "ChatCompletionMessageFunctionToolCall.Function": { - "description": "The function that the model called.", - "properties": { - "arguments": { - "type": "string", - "description": "The arguments to call the function with, as generated by the model in JSON\nformat. Note that the model does not always generate valid JSON, and may\nhallucinate parameters not defined by your function schema. Validate the\narguments in your code before calling your function." + "audio": { + "$ref": "#/components/schemas/ModalityPricing" }, - "name": { - "type": "string", - "description": "The name of the function to call." + "video": { + "$ref": "#/components/schemas/ModalityPricing" + }, + "file": { + "$ref": "#/components/schemas/ModalityPricing" + }, + "web_search": { + "type": "number", + "format": "double" } }, "required": [ - "arguments", - "name" + "threshold", + "input", + "output" ], "type": "object", "additionalProperties": false }, - "ChatCompletionMessageFunctionToolCall": { - "description": "A call to a function tool created by the model.", + "BodyMappingType": { + "type": "string", + "enum": [ + "OPENAI", + "NO_MAPPING", + "RESPONSES" + ] + }, + "EndpointConfig": { "properties": { - "id": { - "type": "string", - "description": "The ID of the tool call." + "region": { + "type": "string" }, - "function": { - "$ref": "#/components/schemas/ChatCompletionMessageFunctionToolCall.Function", - "description": "The function that the model called." + "location": { + "type": "string" }, - "type": { - "type": "string", - "enum": [ - "function" - ], - "nullable": false, - "description": "The type of the tool. Currently, only `function` is supported." + "projectId": { + "type": "string" + }, + "baseUri": { + "type": "string" + }, + "deploymentName": { + "type": "string" + }, + "resourceName": { + "type": "string" + }, + "apiVersion": { + "type": "string" + }, + "crossRegion": { + "type": "boolean" + }, + "gatewayMapping": { + "$ref": "#/components/schemas/BodyMappingType" + }, + "modelName": { + "type": "string" + }, + "heliconeModelId": { + "type": "string" + }, + "providerModelId": { + "type": "string" + }, + "pricing": { + "items": { + "$ref": "#/components/schemas/ModelPricing" + }, + "type": "array" + }, + "contextLength": { + "type": "number", + "format": "double" + }, + "maxCompletionTokens": { + "type": "number", + "format": "double" + }, + "ptbEnabled": { + "type": "boolean" + }, + "version": { + "type": "string" + }, + "rateLimits": { + "$ref": "#/components/schemas/RateLimits" + }, + "priority": { + "type": "number", + "format": "double" } }, - "required": [ - "id", - "function", - "type" - ], "type": "object", "additionalProperties": false }, - "ChatCompletionMessageCustomToolCall.Custom": { - "description": "The custom tool that the model called.", - "properties": { - "input": { - "type": "string", - "description": "The input for the custom tool call generated by the model." - }, - "name": { - "type": "string", - "description": "The name of the custom tool to call." - } + "Record_string.EndpointConfig_": { + "properties": {}, + "additionalProperties": { + "$ref": "#/components/schemas/EndpointConfig" }, - "required": [ - "input", - "name" - ], "type": "object", - "additionalProperties": false + "description": "Construct a type with a set of properties K of type T" }, - "ChatCompletionMessageCustomToolCall": { - "description": "A call to a custom tool created by the model.", + "ResponseFormat": { + "type": "string", + "enum": [ + "ANTHROPIC", + "OPENAI", + "GOOGLE" + ] + }, + "ModelProviderConfig": { "properties": { - "id": { - "type": "string", - "description": "The ID of the tool call." + "pricing": { + "items": { + "$ref": "#/components/schemas/ModelPricing" + }, + "type": "array" }, - "custom": { - "$ref": "#/components/schemas/ChatCompletionMessageCustomToolCall.Custom", - "description": "The custom tool that the model called." + "contextLength": { + "type": "number", + "format": "double" }, - "type": { - "type": "string", - "enum": [ - "custom" - ], - "nullable": false, - "description": "The type of the tool. Always `custom`." - } - }, - "required": [ - "id", - "custom", - "type" - ], - "type": "object", - "additionalProperties": false - }, - "ChatCompletionMessageToolCall": { - "anyOf": [ - { - "$ref": "#/components/schemas/ChatCompletionMessageFunctionToolCall" - }, - { - "$ref": "#/components/schemas/ChatCompletionMessageCustomToolCall" - } - ], - "description": "A call to a function tool created by the model." - }, - "ChatCompletionMessage": { - "description": "A chat completion message generated by the model.", - "properties": { - "content": { - "type": "string", - "nullable": true, - "description": "The contents of the message." + "maxCompletionTokens": { + "type": "number", + "format": "double" }, - "refusal": { - "type": "string", - "nullable": true, - "description": "The refusal message generated by the model." + "ptbEnabled": { + "type": "boolean" }, - "role": { - "type": "string", - "enum": [ - "assistant" - ], - "nullable": false, - "description": "The role of the author of this message." + "version": { + "type": "string" }, - "annotations": { + "unsupportedParameters": { "items": { - "$ref": "#/components/schemas/ChatCompletionMessage.Annotation" + "$ref": "#/components/schemas/StandardParameter" }, - "type": "array", - "description": "Annotations for the message, when applicable, as when using the\n[web search tool](https://platform.openai.com/docs/guides/tools-web-search?api-mode=chat)." + "type": "array" }, - "audio": { - "allOf": [ - { - "$ref": "#/components/schemas/ChatCompletionAudio" - } - ], - "nullable": true, - "description": "If the audio output modality is requested, this object contains data about the\naudio response from the model.\n[Learn more](https://platform.openai.com/docs/guides/audio)." + "providerModelId": { + "type": "string" }, - "function_call": { - "allOf": [ - { - "$ref": "#/components/schemas/ChatCompletionMessage.FunctionCall" - } - ], - "nullable": true, - "deprecated": true + "provider": { + "$ref": "#/components/schemas/ModelProviderName" }, - "tool_calls": { + "author": { + "$ref": "#/components/schemas/AuthorName" + }, + "supportedParameters": { "items": { - "$ref": "#/components/schemas/ChatCompletionMessageToolCall" + "$ref": "#/components/schemas/StandardParameter" }, - "type": "array", - "description": "The tool calls generated by the model, such as function calls." - } - }, - "required": [ - "content", - "refusal", - "role" - ], - "type": "object", - "additionalProperties": false - }, - "ChatCompletion.Choice": { - "properties": { - "finish_reason": { + "type": "array" + }, + "supportedPlugins": { + "items": { + "$ref": "#/components/schemas/PluginId" + }, + "type": "array" + }, + "rateLimits": { + "$ref": "#/components/schemas/RateLimits" + }, + "endpointConfigs": { + "$ref": "#/components/schemas/Record_string.EndpointConfig_" + }, + "crossRegion": { + "type": "boolean" + }, + "priority": { + "type": "number", + "format": "double" + }, + "quantization": { "type": "string", "enum": [ - "stop", - "length", - "tool_calls", - "content_filter", - "function_call" - ], - "description": "The reason the model stopped generating tokens. This will be `stop` if the model\nhit a natural stop point or a provided stop sequence, `length` if the maximum\nnumber of tokens specified in the request was reached, `content_filter` if\ncontent was omitted due to a flag from our content filters, `tool_calls` if the\nmodel called a tool, or `function_call` (deprecated) if the model called a\nfunction." + "fp4", + "fp8", + "fp16", + "bf16", + "int4" + ] }, - "index": { - "type": "number", - "format": "double", - "description": "The index of the choice in the list of choices." + "responseFormat": { + "$ref": "#/components/schemas/ResponseFormat" }, - "logprobs": { - "allOf": [ - { - "$ref": "#/components/schemas/ChatCompletion.Choice.Logprobs" - } - ], - "nullable": true, - "description": "Log probability information for the choice." + "requireExplicitRouting": { + "type": "boolean" }, - "message": { - "$ref": "#/components/schemas/ChatCompletionMessage", - "description": "A chat completion message generated by the model." + "providerModelIdAliases": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "finish_reason", - "index", - "logprobs", - "message" + "pricing", + "contextLength", + "maxCompletionTokens", + "ptbEnabled", + "providerModelId", + "provider", + "author", + "supportedParameters", + "endpointConfigs" ], "type": "object", "additionalProperties": false }, - "CompletionUsage.CompletionTokensDetails": { - "description": "Breakdown of tokens used in a completion.", + "UserEndpointConfig": { "properties": { - "accepted_prediction_tokens": { - "type": "number", - "format": "double", - "description": "When using Predicted Outputs, the number of tokens in the prediction that\nappeared in the completion." + "region": { + "type": "string" }, - "audio_tokens": { - "type": "number", - "format": "double", - "description": "Audio input tokens generated by the model." + "location": { + "type": "string" }, - "reasoning_tokens": { - "type": "number", - "format": "double", - "description": "Tokens generated by the model for reasoning." + "projectId": { + "type": "string" }, - "rejected_prediction_tokens": { - "type": "number", - "format": "double", - "description": "When using Predicted Outputs, the number of tokens in the prediction that did\nnot appear in the completion. However, like reasoning tokens, these tokens are\nstill counted in the total completion tokens for purposes of billing, output,\nand context window limits." - } - }, - "type": "object", - "additionalProperties": false - }, - "CompletionUsage.PromptTokensDetails": { - "description": "Breakdown of tokens used in the prompt.", - "properties": { - "audio_tokens": { - "type": "number", - "format": "double", - "description": "Audio input tokens present in the prompt." + "baseUri": { + "type": "string" }, - "cached_tokens": { - "type": "number", - "format": "double", - "description": "Cached tokens present in the prompt." + "deploymentName": { + "type": "string" + }, + "resourceName": { + "type": "string" + }, + "apiVersion": { + "type": "string" + }, + "crossRegion": { + "type": "boolean" + }, + "gatewayMapping": { + "$ref": "#/components/schemas/BodyMappingType" + }, + "modelName": { + "type": "string" + }, + "heliconeModelId": { + "type": "string" } }, "type": "object", "additionalProperties": false }, - "CompletionUsage": { - "description": "Usage statistics for the completion request.", + "Endpoint": { "properties": { - "completion_tokens": { - "type": "number", - "format": "double", - "description": "Number of tokens in the generated completion." + "pricing": { + "items": { + "$ref": "#/components/schemas/ModelPricing" + }, + "type": "array" }, - "prompt_tokens": { + "contextLength": { "type": "number", - "format": "double", - "description": "Number of tokens in the prompt." + "format": "double" }, - "total_tokens": { + "maxCompletionTokens": { "type": "number", - "format": "double", - "description": "Total number of tokens used in the request (prompt + completion)." + "format": "double" }, - "completion_tokens_details": { - "$ref": "#/components/schemas/CompletionUsage.CompletionTokensDetails", - "description": "Breakdown of tokens used in a completion." + "ptbEnabled": { + "type": "boolean" }, - "prompt_tokens_details": { - "$ref": "#/components/schemas/CompletionUsage.PromptTokensDetails", - "description": "Breakdown of tokens used in the prompt." - } - }, - "required": [ - "completion_tokens", - "prompt_tokens", - "total_tokens" - ], - "type": "object", - "additionalProperties": false - }, - "ChatCompletion": { - "description": "Represents a chat completion response returned by model, based on the provided\ninput.", - "properties": { - "id": { - "type": "string", - "description": "A unique identifier for the chat completion." + "version": { + "type": "string" }, - "choices": { + "unsupportedParameters": { "items": { - "$ref": "#/components/schemas/ChatCompletion.Choice" + "$ref": "#/components/schemas/StandardParameter" }, - "type": "array", - "description": "A list of chat completion choices. Can be more than one if `n` is greater\nthan 1." + "type": "array" }, - "created": { - "type": "number", - "format": "double", - "description": "The Unix timestamp (in seconds) of when the chat completion was created." + "modelConfig": { + "$ref": "#/components/schemas/ModelProviderConfig" }, - "model": { - "type": "string", - "description": "The model used for the chat completion." + "userConfig": { + "$ref": "#/components/schemas/UserEndpointConfig" }, - "object": { - "type": "string", - "enum": [ - "chat.completion" - ], - "nullable": false, - "description": "The object type, which is always `chat.completion`." + "provider": { + "$ref": "#/components/schemas/ModelProviderName" }, - "service_tier": { - "type": "string", - "enum": [ - "auto", - "default", - "flex", - "scale", - "priority", - null - ], - "nullable": true, - "description": "Specifies the processing type used for serving the request.\n\n- If set to 'auto', then the request will be processed with the service tier\n configured in the Project settings. Unless otherwise configured, the Project\n will use 'default'.\n- If set to 'default', then the request will be processed with the standard\n pricing and performance for the selected model.\n- If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)' or\n 'priority', then the request will be processed with the corresponding service\n tier. [Contact sales](https://openai.com/contact-sales) to learn more about\n Priority processing.\n- When not set, the default behavior is 'auto'.\n\nWhen the `service_tier` parameter is set, the response body will include the\n`service_tier` value based on the processing mode actually used to serve the\nrequest. This response value may be different from the value set in the\nparameter." + "author": { + "$ref": "#/components/schemas/AuthorName" }, - "system_fingerprint": { - "type": "string", - "description": "This fingerprint represents the backend configuration that the model runs with.\n\nCan be used in conjunction with the `seed` request parameter to understand when\nbackend changes have been made that might impact determinism." + "providerModelId": { + "type": "string" }, - "usage": { - "$ref": "#/components/schemas/CompletionUsage", - "description": "Usage statistics for the completion request." + "supportedParameters": { + "items": { + "$ref": "#/components/schemas/StandardParameter" + }, + "type": "array" + }, + "priority": { + "type": "number", + "format": "double" } }, "required": [ - "id", - "choices", - "created", - "model", - "object" + "pricing", + "contextLength", + "maxCompletionTokens", + "ptbEnabled", + "modelConfig", + "userConfig", + "provider", + "author", + "providerModelId", + "supportedParameters" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_ChatCompletion-or-_content-string--reasoning-string--calls-any__": { + "SimplifiedModalityPricing": { "properties": { - "data": { - "anyOf": [ - { - "$ref": "#/components/schemas/ChatCompletion" - }, - { - "properties": { - "calls": {}, - "reasoning": { - "type": "string" - }, - "content": { - "type": "string" - } - }, - "required": [ - "calls", - "reasoning", - "content" - ], - "type": "object" - } - ] + "input": { + "type": "number", + "format": "double" }, - "error": { + "cachedInput": { "type": "number", - "enum": [ - null - ], - "nullable": true + "format": "double" + }, + "output": { + "type": "number", + "format": "double" } }, - "required": [ - "data", - "error" - ], "type": "object", "additionalProperties": false }, - "Result_ChatCompletion-or-_content-string--reasoning-string--calls-any_.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_ChatCompletion-or-_content-string--reasoning-string--calls-any__" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess__apiKey-string__": { + "SimplifiedPricing": { "properties": { - "data": { - "properties": { - "apiKey": { - "type": "string" - } - }, - "required": [ - "apiKey" - ], - "type": "object" + "prompt": { + "type": "number", + "format": "double" }, - "error": { + "completion": { "type": "number", - "enum": [ - null - ], - "nullable": true + "format": "double" + }, + "audio": { + "$ref": "#/components/schemas/SimplifiedModalityPricing" + }, + "thinking": { + "type": "number", + "format": "double" + }, + "web_search": { + "type": "number", + "format": "double" + }, + "image": { + "$ref": "#/components/schemas/SimplifiedModalityPricing" + }, + "video": { + "$ref": "#/components/schemas/SimplifiedModalityPricing" + }, + "file": { + "$ref": "#/components/schemas/SimplifiedModalityPricing" + }, + "cacheRead": { + "type": "number", + "format": "double" + }, + "cacheWrite": { + "type": "number", + "format": "double" + }, + "threshold": { + "type": "number", + "format": "double" } }, "required": [ - "data", - "error" + "prompt", + "completion" ], "type": "object", "additionalProperties": false }, - "Result__apiKey-string_.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__apiKey-string__" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess__cost-number--created_at_trunc-string_-Array_": { + "ModelEndpoint": { "properties": { - "data": { + "provider": { + "type": "string" + }, + "providerSlug": { + "type": "string" + }, + "endpoint": { + "$ref": "#/components/schemas/Endpoint" + }, + "supportsPtb": { + "type": "boolean" + }, + "pricing": { + "$ref": "#/components/schemas/SimplifiedPricing" + }, + "pricingTiers": { "items": { - "properties": { - "created_at_trunc": { - "type": "string" - }, - "cost": { - "type": "number", - "format": "double" - } - }, - "required": [ - "created_at_trunc", - "cost" - ], - "type": "object" + "$ref": "#/components/schemas/SimplifiedPricing" }, "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true } }, "required": [ - "data", - "error" + "provider", + "providerSlug", + "pricing" ], "type": "object", "additionalProperties": false }, - "Result__cost-number--created_at_trunc-string_-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__cost-number--created_at_trunc-string_-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "AuthorName": { + "InputModality": { "type": "string", "enum": [ - "anthropic", - "deepseek", - "mistral", - "openai", - "perplexity", - "xai", - "google", - "meta-llama", - "amazon", - "microsoft", - "nvidia", - "qwen", - "moonshotai", - "alibaba", - "zai", - "baidu", - "passthrough" + "text", + "image", + "audio", + "video" ] }, - "StandardParameter": { + "OutputModality": { "type": "string", "enum": [ - "max_tokens", - "max_completion_tokens", - "temperature", - "top_p", - "top_k", - "stop", - "stream", - "frequency_penalty", - "presence_penalty", - "repetition_penalty", - "seed", - "tools", - "tool_choice", - "functions", - "function_call", - "reasoning", - "include_reasoning", - "thinking", - "response_format", - "json_mode", - "truncate", - "min_p", - "logit_bias", - "logprobs", - "top_logprobs", - "structured_outputs", - "verbosity", - "n" + "text", + "image", + "audio", + "video" ] }, - "PluginId": { - "type": "string", - "enum": [ - "web" - ], - "nullable": false - }, - "RateLimits": { - "properties": { - "rpm": { - "type": "number", - "format": "double" - }, - "tpm": { - "type": "number", - "format": "double" - }, - "tpd": { - "type": "number", - "format": "double" - } - }, - "type": "object", - "additionalProperties": false - }, - "ModalityPricing": { - "description": "Per-modality pricing configuration.\nSupports input, cached input (as multiplier), and output rates.", + "ModelRegistryItem": { "properties": { - "input": { - "type": "number", - "format": "double" - }, - "cachedInputMultiplier": { - "type": "number", - "format": "double" + "id": { + "type": "string" }, - "output": { - "type": "number", - "format": "double" - } - }, - "type": "object", - "additionalProperties": false - }, - "ModelPricing": { - "properties": { - "threshold": { - "type": "number", - "format": "double" + "name": { + "type": "string" }, - "input": { - "type": "number", - "format": "double" + "author": { + "type": "string" }, - "output": { + "contextLength": { "type": "number", "format": "double" }, - "cacheMultipliers": { - "properties": { - "write1h": { - "type": "number", - "format": "double" - }, - "write5m": { - "type": "number", - "format": "double" - }, - "cachedInput": { - "type": "number", - "format": "double" - } + "endpoints": { + "items": { + "$ref": "#/components/schemas/ModelEndpoint" }, - "required": [ - "cachedInput" - ], - "type": "object" - }, - "cacheStoragePerHour": { - "type": "number", - "format": "double" + "type": "array" }, - "thinking": { + "maxOutput": { "type": "number", "format": "double" }, - "request": { - "type": "number", - "format": "double" + "trainingDate": { + "type": "string" }, - "image": { - "$ref": "#/components/schemas/ModalityPricing" + "description": { + "type": "string" }, - "audio": { - "$ref": "#/components/schemas/ModalityPricing" + "inputModalities": { + "items": { + "$ref": "#/components/schemas/InputModality" + }, + "type": "array" }, - "video": { - "$ref": "#/components/schemas/ModalityPricing" + "outputModalities": { + "items": { + "$ref": "#/components/schemas/OutputModality" + }, + "type": "array" }, - "file": { - "$ref": "#/components/schemas/ModalityPricing" + "supportedParameters": { + "items": { + "$ref": "#/components/schemas/StandardParameter" + }, + "type": "array" }, - "web_search": { - "type": "number", - "format": "double" + "pinnedVersionOfModel": { + "type": "string" } }, "required": [ - "threshold", - "input", - "output" + "id", + "name", + "author", + "contextLength", + "endpoints", + "inputModalities", + "outputModalities", + "supportedParameters" ], "type": "object", "additionalProperties": false }, - "BodyMappingType": { + "ModelCapability": { "type": "string", "enum": [ - "OPENAI", - "NO_MAPPING", - "RESPONSES" + "audio", + "video", + "image", + "thinking", + "web_search", + "caching", + "reasoning" ] }, - "EndpointConfig": { + "ModelRegistryResponse": { "properties": { - "region": { - "type": "string" - }, - "location": { - "type": "string" - }, - "projectId": { - "type": "string" - }, - "baseUri": { - "type": "string" - }, - "deploymentName": { - "type": "string" - }, - "resourceName": { - "type": "string" - }, - "apiVersion": { - "type": "string" + "models": { + "items": { + "$ref": "#/components/schemas/ModelRegistryItem" + }, + "type": "array" }, - "crossRegion": { - "type": "boolean" + "total": { + "type": "number", + "format": "double" }, - "gatewayMapping": { - "$ref": "#/components/schemas/BodyMappingType" - }, - "modelName": { - "type": "string" - }, - "heliconeModelId": { - "type": "string" - }, - "providerModelId": { - "type": "string" - }, - "pricing": { - "items": { - "$ref": "#/components/schemas/ModelPricing" + "filters": { + "properties": { + "capabilities": { + "items": { + "$ref": "#/components/schemas/ModelCapability" + }, + "type": "array" + }, + "authors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "providers": { + "items": { + "properties": { + "displayName": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "displayName", + "name" + ], + "type": "object" + }, + "type": "array" + } }, - "type": "array" - }, - "contextLength": { - "type": "number", - "format": "double" - }, - "maxCompletionTokens": { - "type": "number", - "format": "double" - }, - "ptbEnabled": { - "type": "boolean" - }, - "version": { - "type": "string" - }, - "rateLimits": { - "$ref": "#/components/schemas/RateLimits" - }, - "priority": { - "type": "number", - "format": "double" + "required": [ + "capabilities", + "authors", + "providers" + ], + "type": "object" } }, + "required": [ + "models", + "total", + "filters" + ], "type": "object", "additionalProperties": false }, - "Record_string.EndpointConfig_": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/EndpointConfig" + "ResultSuccess_ModelRegistryResponse_": { + "properties": { + "data": { + "$ref": "#/components/schemas/ModelRegistryResponse" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true + } }, + "required": [ + "data", + "error" + ], "type": "object", - "description": "Construct a type with a set of properties K of type T" + "additionalProperties": false }, - "ResponseFormat": { - "type": "string", - "enum": [ - "ANTHROPIC", - "OPENAI", - "GOOGLE" + "Result_ModelRegistryResponse.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_ModelRegistryResponse_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" + } ] }, - "ModelProviderConfig": { + "OAIModel": { "properties": { - "pricing": { - "items": { - "$ref": "#/components/schemas/ModelPricing" - }, - "type": "array" - }, - "contextLength": { - "type": "number", - "format": "double" - }, - "maxCompletionTokens": { - "type": "number", - "format": "double" - }, - "ptbEnabled": { - "type": "boolean" - }, - "version": { - "type": "string" - }, - "unsupportedParameters": { - "items": { - "$ref": "#/components/schemas/StandardParameter" - }, - "type": "array" - }, - "providerModelId": { + "id": { "type": "string" }, - "provider": { - "$ref": "#/components/schemas/ModelProviderName" - }, - "author": { - "$ref": "#/components/schemas/AuthorName" - }, - "supportedParameters": { - "items": { - "$ref": "#/components/schemas/StandardParameter" - }, - "type": "array" - }, - "supportedPlugins": { - "items": { - "$ref": "#/components/schemas/PluginId" - }, - "type": "array" - }, - "rateLimits": { - "$ref": "#/components/schemas/RateLimits" - }, - "endpointConfigs": { - "$ref": "#/components/schemas/Record_string.EndpointConfig_" - }, - "crossRegion": { - "type": "boolean" + "object": { + "type": "string", + "enum": [ + "model" + ], + "nullable": false }, - "priority": { + "created": { "type": "number", "format": "double" }, - "quantization": { + "owned_by": { + "type": "string" + } + }, + "required": [ + "id", + "object", + "created", + "owned_by" + ], + "type": "object", + "additionalProperties": false + }, + "OAIModelsResponse": { + "properties": { + "object": { "type": "string", "enum": [ - "fp4", - "fp8", - "fp16", - "bf16", - "int4" - ] - }, - "responseFormat": { - "$ref": "#/components/schemas/ResponseFormat" - }, - "requireExplicitRouting": { - "type": "boolean" + "list" + ], + "nullable": false }, - "providerModelIdAliases": { + "data": { "items": { - "type": "string" + "$ref": "#/components/schemas/OAIModel" }, "type": "array" } }, "required": [ - "pricing", - "contextLength", - "maxCompletionTokens", - "ptbEnabled", - "providerModelId", - "provider", - "author", - "supportedParameters", - "endpointConfigs" + "object", + "data" ], "type": "object", "additionalProperties": false }, - "UserEndpointConfig": { + "MetricStats": { "properties": { - "region": { - "type": "string" + "p99": { + "type": "number", + "format": "double" }, - "location": { - "type": "string" + "p95": { + "type": "number", + "format": "double" }, - "projectId": { - "type": "string" + "p90": { + "type": "number", + "format": "double" }, - "baseUri": { - "type": "string" + "max": { + "type": "number", + "format": "double" }, - "deploymentName": { - "type": "string" + "min": { + "type": "number", + "format": "double" }, - "resourceName": { - "type": "string" - }, - "apiVersion": { - "type": "string" - }, - "crossRegion": { - "type": "boolean" - }, - "gatewayMapping": { - "$ref": "#/components/schemas/BodyMappingType" - }, - "modelName": { - "type": "string" - }, - "heliconeModelId": { - "type": "string" - } - }, - "type": "object", - "additionalProperties": false - }, - "Endpoint": { - "properties": { - "pricing": { - "items": { - "$ref": "#/components/schemas/ModelPricing" - }, - "type": "array" - }, - "contextLength": { - "type": "number", - "format": "double" - }, - "maxCompletionTokens": { + "median": { "type": "number", "format": "double" }, - "ptbEnabled": { - "type": "boolean" - }, - "version": { - "type": "string" - }, - "unsupportedParameters": { - "items": { - "$ref": "#/components/schemas/StandardParameter" - }, - "type": "array" - }, - "modelConfig": { - "$ref": "#/components/schemas/ModelProviderConfig" - }, - "userConfig": { - "$ref": "#/components/schemas/UserEndpointConfig" - }, - "provider": { - "$ref": "#/components/schemas/ModelProviderName" - }, - "author": { - "$ref": "#/components/schemas/AuthorName" - }, - "providerModelId": { - "type": "string" - }, - "supportedParameters": { - "items": { - "$ref": "#/components/schemas/StandardParameter" - }, - "type": "array" - }, - "priority": { + "average": { "type": "number", "format": "double" } }, "required": [ - "pricing", - "contextLength", - "maxCompletionTokens", - "ptbEnabled", - "modelConfig", - "userConfig", - "provider", - "author", - "providerModelId", - "supportedParameters" + "p99", + "p95", + "p90", + "max", + "min", + "median", + "average" ], - "type": "object", - "additionalProperties": false + "type": "object" }, - "SimplifiedModalityPricing": { - "properties": { - "input": { - "type": "number", - "format": "double" - }, - "cachedInput": { - "type": "number", - "format": "double" + "TokenMetricStats": { + "allOf": [ + { + "$ref": "#/components/schemas/MetricStats" }, - "output": { - "type": "number", - "format": "double" + { + "properties": { + "medianPer1000Tokens": { + "type": "number", + "format": "double" + } + }, + "required": [ + "medianPer1000Tokens" + ], + "type": "object" } - }, - "type": "object", - "additionalProperties": false + ] }, - "SimplifiedPricing": { + "TimeSeriesMetric": { "properties": { - "prompt": { - "type": "number", - "format": "double" - }, - "completion": { - "type": "number", - "format": "double" - }, - "audio": { - "$ref": "#/components/schemas/SimplifiedModalityPricing" - }, - "thinking": { - "type": "number", - "format": "double" - }, - "web_search": { - "type": "number", - "format": "double" - }, - "image": { - "$ref": "#/components/schemas/SimplifiedModalityPricing" - }, - "video": { - "$ref": "#/components/schemas/SimplifiedModalityPricing" - }, - "file": { - "$ref": "#/components/schemas/SimplifiedModalityPricing" - }, - "cacheRead": { - "type": "number", - "format": "double" - }, - "cacheWrite": { + "value": { "type": "number", "format": "double" }, - "threshold": { - "type": "number", - "format": "double" + "timestamp": { + "type": "string" } }, "required": [ - "prompt", - "completion" + "value", + "timestamp" ], - "type": "object", - "additionalProperties": false + "type": "object" }, - "ModelEndpoint": { + "Model": { "properties": { - "provider": { - "type": "string" - }, - "providerSlug": { - "type": "string" - }, - "endpoint": { - "$ref": "#/components/schemas/Endpoint" - }, - "supportsPtb": { - "type": "boolean" + "timeSeriesData": { + "properties": { + "errorRate": { + "items": { + "$ref": "#/components/schemas/TimeSeriesMetric" + }, + "type": "array" + }, + "successRate": { + "items": { + "$ref": "#/components/schemas/TimeSeriesMetric" + }, + "type": "array" + }, + "ttft": { + "items": { + "$ref": "#/components/schemas/TimeSeriesMetric" + }, + "type": "array" + }, + "latency": { + "items": { + "$ref": "#/components/schemas/TimeSeriesMetric" + }, + "type": "array" + } + }, + "required": [ + "errorRate", + "successRate", + "ttft", + "latency" + ], + "type": "object" }, - "pricing": { - "$ref": "#/components/schemas/SimplifiedPricing" + "requestStatus": { + "properties": { + "errorRate": { + "type": "number", + "format": "double" + }, + "successRate": { + "type": "number", + "format": "double" + } + }, + "required": [ + "errorRate", + "successRate" + ], + "type": "object" }, - "pricingTiers": { + "geographicTtft": { "items": { - "$ref": "#/components/schemas/SimplifiedPricing" - }, - "type": "array" - } - }, - "required": [ - "provider", - "providerSlug", - "pricing" - ], - "type": "object", - "additionalProperties": false - }, - "InputModality": { - "type": "string", - "enum": [ - "text", - "image", - "audio", - "video" - ] - }, - "OutputModality": { - "type": "string", - "enum": [ - "text", - "image", - "audio", - "video" - ] - }, - "ModelRegistryItem": { - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "author": { - "type": "string" - }, - "contextLength": { - "type": "number", - "format": "double" - }, - "endpoints": { - "items": { - "$ref": "#/components/schemas/ModelEndpoint" - }, - "type": "array" - }, - "maxOutput": { - "type": "number", - "format": "double" - }, - "trainingDate": { - "type": "string" - }, - "description": { - "type": "string" - }, - "inputModalities": { - "items": { - "$ref": "#/components/schemas/InputModality" - }, - "type": "array" - }, - "outputModalities": { - "items": { - "$ref": "#/components/schemas/OutputModality" + "properties": { + "median": { + "type": "number", + "format": "double" + }, + "countryCode": { + "type": "string" + } + }, + "required": [ + "median", + "countryCode" + ], + "type": "object" }, "type": "array" }, - "supportedParameters": { - "items": { - "$ref": "#/components/schemas/StandardParameter" - }, - "type": "array" - }, - "pinnedVersionOfModel": { - "type": "string" - } - }, - "required": [ - "id", - "name", - "author", - "contextLength", - "endpoints", - "inputModalities", - "outputModalities", - "supportedParameters" - ], - "type": "object", - "additionalProperties": false - }, - "ModelCapability": { - "type": "string", - "enum": [ - "audio", - "video", - "image", - "thinking", - "web_search", - "caching", - "reasoning" - ] - }, - "ModelRegistryResponse": { - "properties": { - "models": { + "geographicLatency": { "items": { - "$ref": "#/components/schemas/ModelRegistryItem" + "properties": { + "median": { + "type": "number", + "format": "double" + }, + "countryCode": { + "type": "string" + } + }, + "required": [ + "median", + "countryCode" + ], + "type": "object" }, "type": "array" }, - "total": { - "type": "number", - "format": "double" - }, - "filters": { + "feedback": { "properties": { - "capabilities": { - "items": { - "$ref": "#/components/schemas/ModelCapability" - }, - "type": "array" - }, - "authors": { - "items": { - "type": "string" - }, - "type": "array" + "negativePercentage": { + "type": "number", + "format": "double" }, - "providers": { - "items": { - "properties": { - "displayName": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "displayName", - "name" - ], - "type": "object" - }, - "type": "array" + "positivePercentage": { + "type": "number", + "format": "double" } }, "required": [ - "capabilities", - "authors", - "providers" + "negativePercentage", + "positivePercentage" ], "type": "object" - } - }, - "required": [ - "models", - "total", - "filters" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_ModelRegistryResponse_": { - "properties": { - "data": { - "$ref": "#/components/schemas/ModelRegistryResponse" }, - "error": { - "type": "number", - "enum": [ - null + "costs": { + "properties": { + "completion_token": { + "type": "number", + "format": "double" + }, + "prompt_token": { + "type": "number", + "format": "double" + } + }, + "required": [ + "completion_token", + "prompt_token" ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_ModelRegistryResponse.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_ModelRegistryResponse_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "OAIModel": { - "properties": { - "id": { - "type": "string" + "type": "object" }, - "object": { - "type": "string", - "enum": [ - "model" - ], - "nullable": false + "ttft": { + "$ref": "#/components/schemas/MetricStats" }, - "created": { - "type": "number", - "format": "double" + "latency": { + "$ref": "#/components/schemas/TokenMetricStats" }, - "owned_by": { + "provider": { + "type": "string" + }, + "model": { "type": "string" } }, - "required": [ - "id", - "object", - "created", - "owned_by" - ], - "type": "object", - "additionalProperties": false - }, - "OAIModelsResponse": { - "properties": { - "object": { - "type": "string", - "enum": [ - "list" - ], - "nullable": false - }, - "data": { - "items": { - "$ref": "#/components/schemas/OAIModel" - }, - "type": "array" - } - }, - "required": [ - "object", - "data" - ], - "type": "object", - "additionalProperties": false - }, - "MetricStats": { - "properties": { - "p99": { - "type": "number", - "format": "double" - }, - "p95": { - "type": "number", - "format": "double" - }, - "p90": { - "type": "number", - "format": "double" - }, - "max": { - "type": "number", - "format": "double" - }, - "min": { - "type": "number", - "format": "double" - }, - "median": { - "type": "number", - "format": "double" - }, - "average": { - "type": "number", - "format": "double" - } - }, - "required": [ - "p99", - "p95", - "p90", - "max", - "min", - "median", - "average" - ], - "type": "object" - }, - "TokenMetricStats": { - "allOf": [ - { - "$ref": "#/components/schemas/MetricStats" - }, - { - "properties": { - "medianPer1000Tokens": { - "type": "number", - "format": "double" - } - }, - "required": [ - "medianPer1000Tokens" - ], - "type": "object" - } - ] - }, - "TimeSeriesMetric": { - "properties": { - "value": { - "type": "number", - "format": "double" - }, - "timestamp": { - "type": "string" - } - }, - "required": [ - "value", - "timestamp" - ], - "type": "object" - }, - "Model": { - "properties": { - "timeSeriesData": { - "properties": { - "errorRate": { - "items": { - "$ref": "#/components/schemas/TimeSeriesMetric" - }, - "type": "array" - }, - "successRate": { - "items": { - "$ref": "#/components/schemas/TimeSeriesMetric" - }, - "type": "array" - }, - "ttft": { - "items": { - "$ref": "#/components/schemas/TimeSeriesMetric" - }, - "type": "array" - }, - "latency": { - "items": { - "$ref": "#/components/schemas/TimeSeriesMetric" - }, - "type": "array" - } - }, - "required": [ - "errorRate", - "successRate", - "ttft", - "latency" - ], - "type": "object" - }, - "requestStatus": { - "properties": { - "errorRate": { - "type": "number", - "format": "double" - }, - "successRate": { - "type": "number", - "format": "double" - } - }, - "required": [ - "errorRate", - "successRate" - ], - "type": "object" - }, - "geographicTtft": { - "items": { - "properties": { - "median": { - "type": "number", - "format": "double" - }, - "countryCode": { - "type": "string" - } - }, - "required": [ - "median", - "countryCode" - ], - "type": "object" - }, - "type": "array" - }, - "geographicLatency": { - "items": { - "properties": { - "median": { - "type": "number", - "format": "double" - }, - "countryCode": { - "type": "string" - } - }, - "required": [ - "median", - "countryCode" - ], - "type": "object" - }, - "type": "array" - }, - "feedback": { - "properties": { - "negativePercentage": { - "type": "number", - "format": "double" - }, - "positivePercentage": { - "type": "number", - "format": "double" - } - }, - "required": [ - "negativePercentage", - "positivePercentage" - ], - "type": "object" - }, - "costs": { - "properties": { - "completion_token": { - "type": "number", - "format": "double" - }, - "prompt_token": { - "type": "number", - "format": "double" - } - }, - "required": [ - "completion_token", - "prompt_token" - ], - "type": "object" - }, - "ttft": { - "$ref": "#/components/schemas/MetricStats" - }, - "latency": { - "$ref": "#/components/schemas/TokenMetricStats" - }, - "provider": { - "type": "string" - }, - "model": { - "type": "string" - } - }, - "required": [ - "timeSeriesData", - "requestStatus", - "geographicTtft", - "geographicLatency", - "feedback", - "costs", - "ttft", - "latency", - "provider", - "model" - ], - "type": "object" - }, - "ResultSuccess_Model-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/Model" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_Model-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_Model-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ModelsToCompare": { - "properties": { - "provider": { - "type": "string" - }, - "names": { - "items": { - "type": "string" - }, - "type": "array" - }, - "parent": { - "type": "string" - } - }, - "required": [ - "provider", - "names", - "parent" - ], - "type": "object" - }, - "MetricsFilterBody": { - "properties": { - "filter": { - "$ref": "#/components/schemas/FilterNode" - }, - "timeFilter": { - "properties": { - "end": { - "type": "string" - }, - "start": { - "type": "string" - } - }, - "required": [ - "end", - "start" - ], - "type": "object" - } - }, - "required": [ - "filter", - "timeFilter" - ], - "type": "object", - "additionalProperties": false - }, - "TokensPerRequest": { - "properties": { - "average_prompt_tokens_per_response": { - "type": "number", - "format": "double" - }, - "average_completion_tokens_per_response": { - "type": "number", - "format": "double" - }, - "average_total_tokens_per_response": { - "type": "number", - "format": "double" - } - }, - "required": [ - "average_prompt_tokens_per_response", - "average_completion_tokens_per_response", - "average_total_tokens_per_response" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_TokensPerRequest_": { - "properties": { - "data": { - "$ref": "#/components/schemas/TokensPerRequest" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_TokensPerRequest.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_TokensPerRequest_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "RequestsOverTime": { - "properties": { - "time": { - "type": "string", - "format": "date-time" - }, - "count": { - "type": "number", - "format": "double" - }, - "status": { - "type": "number", - "format": "double" - } - }, - "required": [ - "time", - "count" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_RequestsOverTime-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/RequestsOverTime" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_RequestsOverTime-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_RequestsOverTime-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "MetricsOverTimeBody": { - "properties": { - "timeFilter": { - "properties": { - "end": { - "type": "string" - }, - "start": { - "type": "string" - } - }, - "required": [ - "end", - "start" - ], - "type": "object" - }, - "filter": { - "$ref": "#/components/schemas/FilterNode" - }, - "dbIncrement": { - "$ref": "#/components/schemas/TimeIncrement" - }, - "timeZoneDifference": { - "type": "number", - "format": "double" - } - }, - "required": [ - "timeFilter", - "filter", - "timeZoneDifference" - ], - "type": "object", - "additionalProperties": false - }, - "CostOverTime": { - "properties": { - "time": { - "type": "string", - "format": "date-time" - }, - "cost": { - "type": "number", - "format": "double" - } - }, - "required": [ - "time", - "cost" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_CostOverTime-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/CostOverTime" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_CostOverTime-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_CostOverTime-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "TokensOverTime": { - "properties": { - "time": { - "type": "string", - "format": "date-time" - }, - "prompt_tokens": { - "type": "number", - "format": "double" - }, - "completion_tokens": { - "type": "number", - "format": "double" - } - }, - "required": [ - "time", - "prompt_tokens", - "completion_tokens" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_TokensOverTime-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/TokensOverTime" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_TokensOverTime-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_TokensOverTime-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "LatencyOverTime": { - "properties": { - "time": { - "type": "string", - "format": "date-time" - }, - "duration": { - "type": "number", - "format": "double" - } - }, - "required": [ - "time", - "duration" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_LatencyOverTime-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/LatencyOverTime" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_LatencyOverTime-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_LatencyOverTime-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "TimeToFirstTokenOverTime": { - "properties": { - "time": { - "type": "string", - "format": "date-time" - }, - "ttft": { - "type": "number", - "format": "double" - } - }, - "required": [ - "time", - "ttft" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_TimeToFirstTokenOverTime-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/TimeToFirstTokenOverTime" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_TimeToFirstTokenOverTime-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_TimeToFirstTokenOverTime-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "UsersOverTime": { - "properties": { - "time": { - "type": "string", - "format": "date-time" - }, - "count": { - "type": "number", - "format": "double" - } - }, - "required": [ - "time", - "count" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_UsersOverTime-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/UsersOverTime" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_UsersOverTime-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_UsersOverTime-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ThreatsOverTime": { - "properties": { - "time": { - "type": "string", - "format": "date-time" - }, - "count": { - "type": "number", - "format": "double" - } - }, - "required": [ - "time", - "count" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_ThreatsOverTime-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/ThreatsOverTime" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_ThreatsOverTime-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_ThreatsOverTime-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ErrorOverTime": { - "properties": { - "time": { - "type": "string", - "format": "date-time" - }, - "count": { - "type": "number", - "format": "double" - } - }, - "required": [ - "time", - "count" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_ErrorOverTime-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/ErrorOverTime" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_ErrorOverTime-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_ErrorOverTime-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "RequestCountBody": { - "properties": { - "filter": { - "$ref": "#/components/schemas/FilterNode" - }, - "isCached": { - "type": "boolean" - } - }, - "required": [ - "filter" - ], - "type": "object", - "additionalProperties": false - }, - "ModelMetric": { - "properties": { - "model": { - "type": "string" - }, - "total_requests": { - "type": "number", - "format": "double" - }, - "total_completion_tokens": { - "type": "number", - "format": "double" - }, - "total_prompt_token": { - "type": "number", - "format": "double" - }, - "total_tokens": { - "type": "number", - "format": "double" - }, - "cost": { - "type": "number", - "format": "double" - } - }, - "required": [ - "model", - "total_requests", - "total_completion_tokens", - "total_prompt_token", - "total_tokens", - "cost" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_ModelMetric-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/ModelMetric" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_ModelMetric-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_ModelMetric-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ModelMetricsBody": { - "properties": { - "filter": { - "$ref": "#/components/schemas/FilterNode" - }, - "offset": { - "type": "number", - "format": "double" - }, - "limit": { - "type": "number", - "format": "double" - }, - "timeFilter": { - "properties": { - "end": { - "type": "string" - }, - "start": { - "type": "string" - } - }, - "required": [ - "end", - "start" - ], - "type": "object" - } - }, - "required": [ - "filter", - "offset", - "limit", - "timeFilter" - ], - "type": "object", - "additionalProperties": false - }, - "CountryData": { - "properties": { - "country": { - "type": "string" - }, - "total_requests": { - "type": "number", - "format": "double" - } - }, - "required": [ - "country", - "total_requests" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_CountryData-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/CountryData" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_CountryData-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_CountryData-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "CountryMetricsBody": { - "properties": { - "filter": { - "$ref": "#/components/schemas/FilterNode" - }, - "offset": { - "type": "number", - "format": "double" - }, - "limit": { - "type": "number", - "format": "double" - }, - "timeFilter": { - "properties": { - "end": { - "type": "string" - }, - "start": { - "type": "string" - } - }, - "required": [ - "end", - "start" - ], - "type": "object" - } - }, - "required": [ - "filter", - "offset", - "limit", - "timeFilter" - ], - "type": "object", - "additionalProperties": false - }, - "Quantiles": { - "properties": { - "time": { - "type": "string", - "format": "date-time" - }, - "p75": { - "type": "number", - "format": "double" - }, - "p90": { - "type": "number", - "format": "double" - }, - "p95": { - "type": "number", - "format": "double" - }, - "p99": { - "type": "number", - "format": "double" - } - }, - "required": [ - "time", - "p75", - "p90", - "p95", - "p99" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_Quantiles-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/Quantiles" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_Quantiles-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_Quantiles-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "QuantilesBody": { - "properties": { - "filter": { - "$ref": "#/components/schemas/FilterNode" - }, - "timeFilter": { - "properties": { - "end": { - "type": "string" - }, - "start": { - "type": "string" - } - }, - "required": [ - "end", - "start" - ], - "type": "object" - }, - "dbIncrement": { - "$ref": "#/components/schemas/TimeIncrement" - }, - "timeZoneDifference": { - "type": "number", - "format": "double" - }, - "metric": { - "type": "string" - } - }, - "required": [ - "filter", - "timeFilter", - "timeZoneDifference", - "metric" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess__unsafe-boolean__": { - "properties": { - "data": { - "properties": { - "unsafe": { - "type": "boolean" - } - }, - "required": [ - "unsafe" - ], - "type": "object" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result__unsafe-boolean_.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__unsafe-boolean__" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ClickHouseTableColumn": { - "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string" - }, - "default_type": { - "type": "string" - }, - "default_expression": { - "type": "string" - }, - "comment": { - "type": "string" - }, - "codec_expression": { - "type": "string" - }, - "ttl_expression": { - "type": "string" - } - }, - "required": [ - "name", - "type" - ], - "type": "object", - "additionalProperties": false - }, - "ClickHouseTableSchema": { - "properties": { - "table_name": { - "type": "string" - }, - "columns": { - "items": { - "$ref": "#/components/schemas/ClickHouseTableColumn" - }, - "type": "array" - } - }, - "required": [ - "table_name", - "columns" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_ClickHouseTableSchema-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/ClickHouseTableSchema" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_ClickHouseTableSchema-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_ClickHouseTableSchema-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ExecuteSqlResponse": { - "properties": { - "rowCount": { - "type": "number", - "format": "double" - }, - "size": { - "type": "number", - "format": "double" - }, - "elapsedMilliseconds": { - "type": "number", - "format": "double" - }, - "rows": { - "items": { - "$ref": "#/components/schemas/Record_string.any_" - }, - "type": "array" - } - }, - "required": [ - "rowCount", - "size", - "elapsedMilliseconds", - "rows" - ], - "type": "object" - }, - "ResultSuccess_ExecuteSqlResponse_": { - "properties": { - "data": { - "$ref": "#/components/schemas/ExecuteSqlResponse" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_ExecuteSqlResponse.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_ExecuteSqlResponse_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ExecuteSqlRequest": { - "properties": { - "sql": { - "type": "string" - } - }, - "required": [ - "sql" - ], - "type": "object", - "additionalProperties": false - }, - "HqlSavedQuery": { - "properties": { - "id": { - "type": "string" - }, - "organization_id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "sql": { - "type": "string" - }, - "created_at": { - "type": "string" - }, - "updated_at": { - "type": "string" - } - }, - "required": [ - "id", - "organization_id", - "name", - "sql", - "created_at", - "updated_at" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_Array_HqlSavedQuery__": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/HqlSavedQuery" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_Array_HqlSavedQuery_.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_Array_HqlSavedQuery__" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess_HqlSavedQuery-or-null_": { - "properties": { - "data": { - "allOf": [ - { - "$ref": "#/components/schemas/HqlSavedQuery" - } - ], - "nullable": true - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_HqlSavedQuery-or-null.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_HqlSavedQuery-or-null_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess_void_": { - "properties": { - "data": {}, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_void.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_void_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "BulkDeleteSavedQueriesRequest": { - "properties": { - "ids": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ids" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_HqlSavedQuery-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/HqlSavedQuery" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_HqlSavedQuery-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_HqlSavedQuery-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "CreateSavedQueryRequest": { - "properties": { - "name": { - "type": "string" - }, - "sql": { - "type": "string" - } - }, - "required": [ - "name", - "sql" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_HqlSavedQuery_": { - "properties": { - "data": { - "$ref": "#/components/schemas/HqlSavedQuery" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_HqlSavedQuery.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_HqlSavedQuery_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess__tableId-string--experimentId-string__": { - "properties": { - "data": { - "properties": { - "experimentId": { - "type": "string" - }, - "tableId": { - "type": "string" - } - }, - "required": [ - "experimentId", - "tableId" - ], - "type": "object" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result__tableId-string--experimentId-string_.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__tableId-string--experimentId-string__" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "CreateExperimentTableParams": { - "properties": { - "datasetId": { - "type": "string" - }, - "experimentMetadata": { - "$ref": "#/components/schemas/Record_string.any_" - }, - "promptVersionId": { - "type": "string" - }, - "newHeliconeTemplate": { - "type": "string" - }, - "isMajorVersion": { - "type": "boolean" - }, - "promptSubversionMetadata": { - "$ref": "#/components/schemas/Record_string.any_" - }, - "experimentTableMetadata": { - "$ref": "#/components/schemas/Record_string.any_" - } - }, - "required": [ - "datasetId", - "experimentMetadata", - "promptVersionId", - "newHeliconeTemplate", - "isMajorVersion", - "promptSubversionMetadata" - ], - "type": "object", - "additionalProperties": false - }, - "ExperimentTableColumn": { - "properties": { - "id": { - "type": "string" - }, - "columnName": { - "type": "string" - }, - "columnType": { - "type": "string" - }, - "hypothesisId": { - "type": "string" - }, - "cells": { - "items": { - "properties": { - "metadata": { - "$ref": "#/components/schemas/Record_string.any_" - }, - "value": { - "type": "string", - "nullable": true - }, - "requestId": { - "type": "string" - }, - "rowIndex": { - "type": "number", - "format": "double" - }, - "id": { - "type": "string" - } - }, - "required": [ - "value", - "rowIndex", - "id" - ], - "type": "object" - }, - "type": "array" - }, - "metadata": { - "$ref": "#/components/schemas/Record_string.any_" - } - }, - "required": [ - "id", - "columnName", - "columnType", - "cells" - ], - "type": "object", - "additionalProperties": false - }, - "ExperimentTable": { - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "experimentId": { - "type": "string" - }, - "columns": { - "items": { - "$ref": "#/components/schemas/ExperimentTableColumn" - }, - "type": "array" - }, - "metadata": { - "$ref": "#/components/schemas/Record_string.any_" - } - }, - "required": [ - "id", - "name", - "experimentId", - "columns" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_ExperimentTable_": { - "properties": { - "data": { - "$ref": "#/components/schemas/ExperimentTable" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_ExperimentTable.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_ExperimentTable_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ExperimentTableSimplified": { - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "experimentId": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "metadata": {}, - "columns": { - "items": { - "properties": { - "columnType": { - "type": "string" - }, - "columnName": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "columnType", - "columnName", - "id" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "id", - "name", - "experimentId", - "createdAt", - "columns" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_ExperimentTableSimplified_": { - "properties": { - "data": { - "$ref": "#/components/schemas/ExperimentTableSimplified" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_ExperimentTableSimplified.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_ExperimentTableSimplified_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess_ExperimentTableSimplified-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/ExperimentTableSimplified" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_ExperimentTableSimplified-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_ExperimentTableSimplified-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "NewExperimentParams": { - "properties": { - "datasetId": { - "type": "string" - }, - "promptVersion": { - "type": "string" - }, - "model": { - "type": "string" - }, - "providerKeyId": { - "type": "string" - }, - "meta": {} - }, - "required": [ - "datasetId", - "promptVersion", - "model", - "providerKeyId" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess__hypothesisId-string__": { - "properties": { - "data": { - "properties": { - "hypothesisId": { - "type": "string" - } - }, - "required": [ - "hypothesisId" - ], - "type": "object" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result__hypothesisId-string_.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__hypothesisId-string__" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "Score": { - "properties": { - "valueType": { - "type": "string" - }, - "value": { - "anyOf": [ - { - "type": "number", - "format": "double" - }, - { - "type": "string", - "format": "date-time" - }, - { - "type": "string" - } - ] - } - }, - "required": [ - "valueType", - "value" - ], - "type": "object", - "additionalProperties": false - }, - "Record_string.Score_": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/Score" - }, - "type": "object", - "description": "Construct a type with a set of properties K of type T" - }, - "ResultSuccess__runsCount-number--scores-Record_string.Score___": { - "properties": { - "data": { - "properties": { - "scores": { - "$ref": "#/components/schemas/Record_string.Score_" - }, - "runsCount": { - "type": "number", - "format": "double" - } - }, - "required": [ - "scores", - "runsCount" - ], - "type": "object" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result__runsCount-number--scores-Record_string.Score__.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__runsCount-number--scores-Record_string.Score___" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResponseObj": { - "properties": { - "body": {}, - "createdAt": { - "type": "string" - }, - "completionTokens": { - "type": "number", - "format": "double" - }, - "promptTokens": { - "type": "number", - "format": "double" - }, - "promptCacheWriteTokens": { - "type": "number", - "format": "double" - }, - "promptCacheReadTokens": { - "type": "number", - "format": "double" - }, - "delayMs": { - "type": "number", - "format": "double" - }, - "model": { - "type": "string" - } - }, - "required": [ - "body", - "createdAt", - "completionTokens", - "promptTokens", - "promptCacheWriteTokens", - "promptCacheReadTokens", - "delayMs", - "model" - ], - "type": "object", - "additionalProperties": false - }, - "RequestObj": { - "properties": { - "id": { - "type": "string" - }, - "provider": { - "type": "string" - } - }, - "required": [ - "id", - "provider" - ], - "type": "object", - "additionalProperties": false - }, - "ExperimentDatasetRow": { - "properties": { - "rowId": { - "type": "string" - }, - "inputRecord": { - "properties": { - "request": { - "$ref": "#/components/schemas/RequestObj" - }, - "response": { - "$ref": "#/components/schemas/ResponseObj" - }, - "autoInputs": { - "items": { - "$ref": "#/components/schemas/Record_string.string_" - }, - "type": "array" - }, - "inputs": { - "$ref": "#/components/schemas/Record_string.string_" - }, - "requestPath": { - "type": "string" - }, - "requestId": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "request", - "response", - "autoInputs", - "inputs", - "requestPath", - "requestId", - "id" - ], - "type": "object" - }, - "rowIndex": { - "type": "number", - "format": "double" - }, - "columnId": { - "type": "string" - }, - "scores": { - "$ref": "#/components/schemas/Record_string.Score_" - } - }, - "required": [ - "rowId", - "inputRecord", - "rowIndex", - "columnId", - "scores" - ], - "type": "object", - "additionalProperties": false - }, - "ExperimentScores": { - "properties": { - "dataset": { - "properties": { - "scores": { - "$ref": "#/components/schemas/Record_string.Score_" - } - }, - "required": [ - "scores" - ], - "type": "object" - }, - "hypothesis": { - "properties": { - "scores": { - "$ref": "#/components/schemas/Record_string.Score_" - }, - "runsCount": { - "type": "number", - "format": "double" - } - }, - "required": [ - "scores", - "runsCount" - ], - "type": "object" - } - }, - "required": [ - "dataset", - "hypothesis" - ], - "type": "object", - "additionalProperties": false - }, - "Experiment": { - "properties": { - "id": { - "type": "string" - }, - "organization": { - "type": "string" - }, - "dataset": { - "properties": { - "rows": { - "items": { - "$ref": "#/components/schemas/ExperimentDatasetRow" - }, - "type": "array" - }, - "name": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "rows", - "name", - "id" - ], - "type": "object" - }, - "meta": {}, - "createdAt": { - "type": "string" - }, - "hypotheses": { - "items": { - "properties": { - "runs": { - "items": { - "properties": { - "request": { - "$ref": "#/components/schemas/RequestObj" - }, - "scores": { - "$ref": "#/components/schemas/Record_string.Score_" - }, - "response": { - "$ref": "#/components/schemas/ResponseObj" - }, - "resultRequestId": { - "type": "string" - }, - "datasetRowId": { - "type": "string" - } - }, - "required": [ - "scores", - "resultRequestId", - "datasetRowId" - ], - "type": "object" - }, - "type": "array" - }, - "providerKey": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "status": { - "type": "string" - }, - "model": { - "type": "string" - }, - "parentPromptVersion": { - "properties": { - "template": {} - }, - "required": [ - "template" - ], - "type": "object" - }, - "promptVersion": { - "properties": { - "template": {} - }, - "required": [ - "template" - ], - "type": "object" - }, - "promptVersionId": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "runs", - "providerKey", - "createdAt", - "status", - "model", - "promptVersionId", - "id" - ], - "type": "object" - }, - "type": "array" - }, - "scores": { - "allOf": [ - { - "$ref": "#/components/schemas/ExperimentScores" - } - ], - "nullable": true - }, - "tableId": { - "type": "string", - "nullable": true - } - }, - "required": [ - "id", - "organization", - "dataset", - "meta", - "createdAt", - "hypotheses", - "scores", - "tableId" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_Experiment-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/Experiment" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_Experiment-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_Experiment-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "Pick_FilterLeaf.experiment_": { - "properties": { - "experiment": { - "$ref": "#/components/schemas/Partial_ExperimentToOperators_" - } - }, - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "FilterLeafSubset_experiment_": { - "$ref": "#/components/schemas/Pick_FilterLeaf.experiment_" - }, - "ExperimentFilterNode": { - "anyOf": [ - { - "$ref": "#/components/schemas/FilterLeafSubset_experiment_" - }, - { - "$ref": "#/components/schemas/ExperimentFilterBranch" - }, - { - "type": "string", - "enum": [ - "all" - ] - } - ] - }, - "ExperimentFilterBranch": { - "properties": { - "right": { - "$ref": "#/components/schemas/ExperimentFilterNode" - }, - "operator": { - "type": "string", - "enum": [ - "or", - "and" - ] - }, - "left": { - "$ref": "#/components/schemas/ExperimentFilterNode" - } - }, - "required": [ - "right", - "operator", - "left" - ], - "type": "object" - }, - "IncludeExperimentKeys": { - "properties": { - "inputs": { - "type": "boolean", - "enum": [ - true - ], - "nullable": false - }, - "promptVersion": { - "type": "boolean", - "enum": [ - true - ], - "nullable": false - }, - "responseBodies": { - "type": "boolean", - "enum": [ - true - ], - "nullable": false - }, - "score": { - "type": "boolean", - "enum": [ - true - ], - "nullable": false - } - }, - "type": "object", - "additionalProperties": false - }, - "ResultSuccess__datasetId-string__": { - "properties": { - "data": { - "properties": { - "datasetId": { - "type": "string" - } - }, - "required": [ - "datasetId" - ], - "type": "object" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result__datasetId-string_.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__datasetId-string__" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "DatasetMetadata": { - "properties": { - "promptVersionId": { - "type": "string" - }, - "inputRecordsIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object", - "additionalProperties": false - }, - "NewDatasetParams": { - "properties": { - "datasetName": { - "type": "string" - }, - "requestIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "datasetType": { - "type": "string", - "enum": [ - "experiment", - "helicone" - ] - }, - "meta": { - "$ref": "#/components/schemas/DatasetMetadata" - } - }, - "required": [ - "datasetName", - "requestIds", - "datasetType" - ], - "type": "object", - "additionalProperties": false - }, - "Pick_FilterLeaf.request-or-prompts_versions_": { - "properties": { - "request": { - "$ref": "#/components/schemas/Partial_RequestTableToOperators_" - }, - "prompts_versions": { - "$ref": "#/components/schemas/Partial_PromptVersionsToOperators_" - } - }, - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "FilterLeafSubset_request-or-prompts_versions_": { - "$ref": "#/components/schemas/Pick_FilterLeaf.request-or-prompts_versions_" - }, - "DatasetFilterNode": { - "anyOf": [ - { - "$ref": "#/components/schemas/FilterLeafSubset_request-or-prompts_versions_" - }, - { - "$ref": "#/components/schemas/DatasetFilterBranch" - }, - { - "type": "string", - "enum": [ - "all" - ] - } - ] - }, - "DatasetFilterBranch": { - "properties": { - "right": { - "$ref": "#/components/schemas/DatasetFilterNode" - }, - "operator": { - "type": "string", - "enum": [ - "or", - "and" - ] - }, - "left": { - "$ref": "#/components/schemas/DatasetFilterNode" - } - }, - "required": [ - "right", - "operator", - "left" - ], - "type": "object" - }, - "RandomDatasetParams": { - "properties": { - "datasetName": { - "type": "string" - }, - "filter": { - "$ref": "#/components/schemas/DatasetFilterNode" - }, - "offset": { - "type": "number", - "format": "double" - }, - "limit": { - "type": "number", - "format": "double" - } - }, - "required": [ - "datasetName", - "filter" - ], - "type": "object", - "additionalProperties": false - }, - "DatasetResult": { - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "created_at": { - "type": "string" - }, - "meta": { - "$ref": "#/components/schemas/DatasetMetadata" - } - }, - "required": [ - "id", - "name", - "created_at" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_DatasetResult-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/DatasetResult" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_DatasetResult-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_DatasetResult-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess___-Array_": { - "properties": { - "data": { - "items": { - "properties": {}, - "type": "object" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result___-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess___-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "HeliconeDatasetMetadata": { - "properties": { - "promptVersionId": { - "type": "string" - }, - "inputRecordsIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object", - "additionalProperties": false - }, - "NewHeliconeDatasetParams": { - "properties": { - "datasetName": { - "type": "string" - }, - "requestIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "meta": { - "$ref": "#/components/schemas/HeliconeDatasetMetadata" - } - }, - "required": [ - "datasetName", - "requestIds" - ], - "type": "object", - "additionalProperties": false - }, - "MutateParams": { - "properties": { - "addRequests": { - "items": { - "type": "string" - }, - "type": "array" - }, - "removeRequests": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "addRequests", - "removeRequests" - ], - "type": "object", - "additionalProperties": false - }, - "HeliconeDatasetRow": { - "properties": { - "id": { - "type": "string" - }, - "origin_request_id": { - "type": "string" - }, - "dataset_id": { - "type": "string" - }, - "created_at": { - "type": "string" - }, - "signed_url": { - "$ref": "#/components/schemas/Result_string.string_" - } - }, - "required": [ - "id", - "origin_request_id", - "dataset_id", - "created_at", - "signed_url" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_HeliconeDatasetRow-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/HeliconeDatasetRow" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_HeliconeDatasetRow-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_HeliconeDatasetRow-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "HeliconeDataset": { - "properties": { - "created_at": { - "type": "string", - "nullable": true - }, - "dataset_type": { - "type": "string" - }, - "id": { - "type": "string" - }, - "meta": { - "allOf": [ - { - "$ref": "#/components/schemas/Json" - } - ], - "nullable": true - }, - "name": { - "type": "string", - "nullable": true - }, - "organization": { - "type": "string" - }, - "requests_count": { - "type": "number", - "format": "double" - } - }, - "required": [ - "created_at", - "dataset_type", - "id", - "meta", - "name", - "organization", - "requests_count" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_HeliconeDataset-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/HeliconeDataset" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_HeliconeDataset-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_HeliconeDataset-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess_any_": { - "properties": { - "data": {}, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Eval": { - "properties": { - "name": { - "type": "string" - }, - "averageScore": { - "type": "number", - "format": "double" - }, - "minScore": { - "type": "number", - "format": "double" - }, - "maxScore": { - "type": "number", - "format": "double" - }, - "count": { - "type": "number", - "format": "double" - }, - "overTime": { - "items": { - "properties": { - "count": { - "type": "number", - "format": "double" - }, - "date": { - "type": "string" - } - }, - "required": [ - "count", - "date" - ], - "type": "object" - }, - "type": "array" - }, - "averageOverTime": { - "items": { - "properties": { - "value": { - "type": "number", - "format": "double" - }, - "date": { - "type": "string" - } - }, - "required": [ - "value", - "date" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "name", - "averageScore", - "minScore", - "maxScore", - "count", - "overTime", - "averageOverTime" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_Eval-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/Eval" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_Eval-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_Eval-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "EvalFilterNode": { - "anyOf": [ - { - "$ref": "#/components/schemas/FilterLeafSubset_request_response_rmt_" - }, - { - "$ref": "#/components/schemas/EvalFilterBranch" - }, - { - "type": "string", - "enum": [ - "all" - ] - } - ] - }, - "EvalFilterBranch": { - "properties": { - "right": { - "$ref": "#/components/schemas/EvalFilterNode" - }, - "operator": { - "type": "string", - "enum": [ - "or", - "and" - ] - }, - "left": { - "$ref": "#/components/schemas/EvalFilterNode" - } - }, - "required": [ - "right", - "operator", - "left" - ], - "type": "object" - }, - "EvalQueryParams": { - "properties": { - "filter": { - "$ref": "#/components/schemas/EvalFilterNode" - }, - "timeFilter": { - "properties": { - "end": { - "type": "string" - }, - "start": { - "type": "string" - } - }, - "required": [ - "end", - "start" - ], - "type": "object" - }, - "offset": { - "type": "number", - "format": "double" - }, - "limit": { - "type": "number", - "format": "double" - }, - "timeZoneDifference": { - "type": "number", - "format": "double" - } - }, - "required": [ - "filter", - "timeFilter" - ], - "type": "object", - "additionalProperties": false - }, - "ScoreDistribution": { - "properties": { - "name": { - "type": "string" - }, - "distribution": { - "items": { - "properties": { - "value": { - "type": "number", - "format": "double" - }, - "upper": { - "type": "number", - "format": "double" - }, - "lower": { - "type": "number", - "format": "double" - } - }, - "required": [ - "value", - "upper", - "lower" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "name", - "distribution" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_ScoreDistribution-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/ScoreDistribution" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_ScoreDistribution-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_ScoreDistribution-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess__score_key-string--score_sum-number--created_at_trunc-string_-Array_": { - "properties": { - "data": { - "items": { - "properties": { - "created_at_trunc": { - "type": "string" - }, - "score_sum": { - "type": "number", - "format": "double" - }, - "score_key": { - "type": "string" - } - }, - "required": [ - "created_at_trunc", - "score_sum", - "score_key" - ], - "type": "object" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result__score_key-string--score_sum-number--created_at_trunc-string_-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__score_key-string--score_sum-number--created_at_trunc-string_-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "CustomerUsage": { - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "cost": { - "type": "number", - "format": "double" - }, - "count": { - "type": "number", - "format": "double" - }, - "prompt_tokens": { - "type": "number", - "format": "double" - }, - "completion_tokens": { - "type": "number", - "format": "double" - } - }, - "required": [ - "id", - "name", - "cost", - "count", - "prompt_tokens", - "completion_tokens" - ], - "type": "object", - "additionalProperties": false - }, - "Customer": { - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "id", - "name" - ], - "type": "object", - "additionalProperties": false - }, - "CreditBalanceResponse": { - "properties": { - "totalCreditsPurchased": { - "type": "number", - "format": "double" - }, - "balance": { - "type": "number", - "format": "double" - } - }, - "required": [ - "totalCreditsPurchased", - "balance" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_CreditBalanceResponse_": { - "properties": { - "data": { - "$ref": "#/components/schemas/CreditBalanceResponse" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_CreditBalanceResponse.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_CreditBalanceResponse_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "PurchasedCredits": { - "properties": { - "id": { - "type": "string" - }, - "createdAt": { - "type": "number", - "format": "double" - }, - "credits": { - "type": "number", - "format": "double" - }, - "referenceId": { - "type": "string" - } - }, - "required": [ - "id", - "createdAt", - "credits", - "referenceId" - ], - "type": "object", - "additionalProperties": false - }, - "PaginatedPurchasedCredits": { - "properties": { - "purchases": { - "items": { - "$ref": "#/components/schemas/PurchasedCredits" - }, - "type": "array" - }, - "total": { - "type": "number", - "format": "double" - }, - "page": { - "type": "number", - "format": "double" - }, - "pageSize": { - "type": "number", - "format": "double" - } - }, - "required": [ - "purchases", - "total", - "page", - "pageSize" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_PaginatedPurchasedCredits_": { - "properties": { - "data": { - "$ref": "#/components/schemas/PaginatedPurchasedCredits" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_PaginatedPurchasedCredits.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_PaginatedPurchasedCredits_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess__totalSpend-number__": { - "properties": { - "data": { - "properties": { - "totalSpend": { - "type": "number", - "format": "double" - } - }, - "required": [ - "totalSpend" - ], - "type": "object" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result__totalSpend-number_.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__totalSpend-number__" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ModelSpend": { - "properties": { - "model": { - "type": "string" - }, - "provider": { - "type": "string" - }, - "promptTokens": { - "type": "number", - "format": "double" - }, - "completionTokens": { - "type": "number", - "format": "double" - }, - "cacheReadTokens": { - "type": "number", - "format": "double" - }, - "cacheWriteTokens": { - "type": "number", - "format": "double" - }, - "pricing": { - "properties": { - "cacheWritePer1M": { - "type": "number", - "format": "double" - }, - "cacheReadPer1M": { - "type": "number", - "format": "double" - }, - "outputPer1M": { - "type": "number", - "format": "double" - }, - "inputPer1M": { - "type": "number", - "format": "double" - } - }, - "required": [ - "outputPer1M", - "inputPer1M" - ], - "type": "object", - "nullable": true - }, - "subtotal": { - "type": "number", - "format": "double" - }, - "discountPercent": { - "type": "number", - "format": "double" - }, - "total": { - "type": "number", - "format": "double" - }, - "cacheAdjustment": { - "type": "number", - "format": "double" - } - }, - "required": [ - "model", - "provider", - "promptTokens", - "completionTokens", - "cacheReadTokens", - "cacheWriteTokens", - "pricing", - "subtotal", - "discountPercent", - "total" - ], - "type": "object", - "additionalProperties": false - }, - "SpendBreakdownResponse": { - "properties": { - "models": { - "items": { - "$ref": "#/components/schemas/ModelSpend" - }, - "type": "array" - }, - "totalCost": { - "type": "number", - "format": "double" - }, - "timeRange": { - "properties": { - "end": { - "type": "string" - }, - "start": { - "type": "string" - } - }, - "required": [ - "end", - "start" - ], - "type": "object" - } - }, - "required": [ - "models", - "totalCost", - "timeRange" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_SpendBreakdownResponse_": { - "properties": { - "data": { - "$ref": "#/components/schemas/SpendBreakdownResponse" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_SpendBreakdownResponse.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_SpendBreakdownResponse_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "PTBInvoice": { - "properties": { - "id": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "stripeInvoiceId": { - "type": "string", - "nullable": true - }, - "hostedInvoiceUrl": { - "type": "string", - "nullable": true - }, - "startDate": { - "type": "string" - }, - "endDate": { - "type": "string" - }, - "amountCents": { - "type": "number", - "format": "double" - }, - "subtotalCents": { - "type": "number", - "format": "double", - "nullable": true - }, - "notes": { - "type": "string", - "nullable": true - }, - "createdAt": { - "type": "string" - } - }, - "required": [ - "id", - "organizationId", - "stripeInvoiceId", - "hostedInvoiceUrl", - "startDate", - "endDate", - "amountCents", - "subtotalCents", - "notes", - "createdAt" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_PTBInvoice-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/PTBInvoice" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_PTBInvoice-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_PTBInvoice-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "OrgDiscount": { - "properties": { - "provider": { - "type": "string", - "nullable": true - }, - "model": { - "type": "string", - "nullable": true - }, - "percent": { - "type": "number", - "format": "double" - } - }, - "required": [ - "provider", - "model", - "percent" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_OrgDiscount-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/OrgDiscount" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_OrgDiscount-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_OrgDiscount-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "InAppThread": { - "properties": { - "id": { - "type": "string" - }, - "chat": {}, - "user_id": { - "type": "string" - }, - "org_id": { - "type": "string" - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "escalated": { - "type": "boolean" - }, - "metadata": {}, - "updated_at": { - "type": "string", - "format": "date-time" - }, - "soft_delete": { - "type": "boolean" - } - }, - "required": [ - "id", - "chat", - "user_id", - "org_id", - "created_at", - "escalated", - "metadata", - "updated_at", - "soft_delete" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_InAppThread_": { - "properties": { - "data": { - "$ref": "#/components/schemas/InAppThread" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_InAppThread.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_InAppThread_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess__success-boolean__": { - "properties": { - "data": { - "properties": { - "success": { - "type": "boolean" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result__success-boolean_.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__success-boolean__" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ThreadSummary": { - "properties": { - "id": { - "type": "string" - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "updated_at": { - "type": "string", - "format": "date-time" - }, - "escalated": { - "type": "boolean" - }, - "message_count": { - "type": "number", - "format": "double" - }, - "first_message": { - "type": "string" - }, - "last_message": { - "type": "string" - }, - "soft_delete": { - "type": "boolean" - } - }, - "required": [ - "id", - "created_at", - "updated_at", - "escalated", - "message_count" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_ThreadSummary-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/ThreadSummary" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_ThreadSummary-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_ThreadSummary-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - } - }, - "securitySchemes": { - "api_key": { - "type": "apiKey", - "name": "Authorization", - "in": "header", - "description": "Bearer token authentication. Format: 'Bearer YOUR_API_KEY'" - } - } - }, - "info": { - "title": "helicone-api", - "version": "1.0.0", - "license": { - "name": "MIT" - }, - "contact": {} - }, - "paths": { - "/v1/api-keys/provider-key/{providerKeyId}": { - "delete": { - "operationId": "DeleteProviderKey", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "properties": { - "providerName": { - "type": "string", - "enum": [ - "baseten", - "anthropic", - "azure", - "bedrock", - "canopywave", - "cerebras", - "chutes", - "deepinfra", - "deepseek", - "fireworks", - "google-ai-studio", - "groq", - "helicone", - "mistral", - "nebius", - "novita", - "openai", - "openrouter", - "perplexity", - "vertex", - "xai" - ] - } - }, - "required": [ - "providerName" - ], - "type": "object" - }, - { - "properties": { - "error": { - "type": "string" - } - }, - "required": [ - "error" - ], - "type": "object" - } - ] - } - } - } - } - }, - "tags": [ - "API Key" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "providerKeyId", - "required": true, - "schema": { - "type": "string" - } - } - ] - }, - "get": { - "operationId": "GetProviderKey", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "$ref": "#/components/schemas/DecryptedProviderKey" - }, - { - "properties": { - "error": { - "type": "string" - } - }, - "required": [ - "error" - ], - "type": "object" - } - ] - } - } - } - } - }, - "tags": [ - "API Key" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "providerKeyId", - "required": true, - "schema": { - "type": "string" - } - } - ] - }, - "patch": { - "operationId": "UpdateProviderKey", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result__id-string--providerName-string_.string_" - } - } - } - } - }, - "tags": [ - "API Key" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "providerKeyId", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateProviderKeyRequest" - } - } - } - } - } - }, - "/v1/api-keys/provider-key": { - "post": { - "operationId": "CreateProviderKey", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "properties": { - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "properties": { - "error": { - "type": "string" - } - }, - "required": [ - "error" - ], - "type": "object" - } - ] - } - } - } - } - }, - "tags": [ - "API Key" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateProviderKeyRequest" - } - } - } - } - } - }, - "/v1/api-keys/provider-keys": { - "get": { - "operationId": "GetProviderKeys", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "items": { - "$ref": "#/components/schemas/ProviderKeyRow" - }, - "type": "array" - }, - { - "properties": { - "error": { - "type": "string" - } - }, - "required": [ - "error" - ], - "type": "object" - } - ] - } - } - } - } - }, - "tags": [ - "API Key" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [] - } - }, - "/v1/api-keys": { - "get": { - "operationId": "GetAPIKeys", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result__api_key_hash-string--api_key_name-string--created_at-string--governance-boolean--id-number--key_permissions-string--organization_id-string--soft_delete-boolean--temp_key-boolean--updated_at-string--user_id-string_-Array.string_" - } - } - } - } - }, - "tags": [ - "API Key" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [] - }, - "post": { - "operationId": "CreateAPIKey", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "properties": { - "hashedKey": { - "type": "string" - }, - "apiKey": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "hashedKey", - "apiKey", - "id" - ], - "type": "object" - }, - { - "properties": { - "error": { - "type": "string" - } - }, - "required": [ - "error" - ], - "type": "object" - } - ] - } - } - } - } - }, - "tags": [ - "API Key" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "key_permissions": { - "type": "string", - "enum": [ - "rw", - "r", - "w" - ] - }, - "api_key_name": { - "type": "string" - } - }, - "required": [ - "api_key_name" - ], - "type": "object" - } - } - } - } - } - }, - "/v1/api-keys/proxy-key": { - "post": { - "operationId": "CreateProxyKey", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "properties": { - "proxyKeyId": { - "type": "string" - }, - "proxyKey": { - "type": "string" - } - }, - "required": [ - "proxyKeyId", - "proxyKey" - ], - "type": "object" - }, - { - "properties": { - "error": { - "type": "string" - } - }, - "required": [ - "error" - ], - "type": "object" - } - ] - } - } - } - } - }, - "tags": [ - "API Key" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "proxyKeyName": { - "type": "string" - }, - "providerKeyId": { - "type": "string" - } - }, - "required": [ - "proxyKeyName", - "providerKeyId" - ], - "type": "object" - } - } - } - } - } - }, - "/v1/api-keys/{apiKeyId}": { - "delete": { - "operationId": "DeleteAPIKey", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "properties": { - "hashedKey": { - "type": "string" - } - }, - "required": [ - "hashedKey" - ], - "type": "object" - }, - { - "properties": { - "error": { - "type": "string" - } - }, - "required": [ - "error" - ], - "type": "object" - } - ] - } - } - } - } - }, - "tags": [ - "API Key" + "required": [ + "timeSeriesData", + "requestStatus", + "geographicTtft", + "geographicLatency", + "feedback", + "costs", + "ttft", + "latency", + "provider", + "model" ], - "security": [ - { - "api_key": [] + "type": "object" + }, + "ResultSuccess_Model-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/Model" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } + }, + "required": [ + "data", + "error" ], - "parameters": [ + "type": "object", + "additionalProperties": false + }, + "Result_Model-Array.string_": { + "anyOf": [ { - "in": "path", - "name": "apiKeyId", - "required": true, - "schema": { - "format": "double", - "type": "number" - } + "$ref": "#/components/schemas/ResultSuccess_Model-Array_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } ] }, - "patch": { - "operationId": "UpdateAPIKey", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "properties": { - "hashedKey": { - "type": "string" - } - }, - "required": [ - "hashedKey" - ], - "type": "object" - }, - { - "properties": { - "error": { - "type": "string" - } - }, - "required": [ - "error" - ], - "type": "object" - } - ] - } - } - } + "ModelsToCompare": { + "properties": { + "provider": { + "type": "string" + }, + "names": { + "items": { + "type": "string" + }, + "type": "array" + }, + "parent": { + "type": "string" } }, - "tags": [ - "API Key" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "apiKeyId", - "required": true, - "schema": { - "format": "double", - "type": "number" - } - } + "required": [ + "provider", + "names", + "parent" ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "api_key_name": { - "type": "string" - } - }, - "required": [ - "api_key_name" - ], - "type": "object" - } - } - } - } - } - }, - "/v1/evaluator": { - "post": { - "operationId": "CreateEvaluator", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_EvaluatorResult.string_" - } + "type": "object" + }, + "MetricsFilterBody": { + "properties": { + "filter": { + "$ref": "#/components/schemas/FilterNode" + }, + "timeFilter": { + "properties": { + "end": { + "type": "string" + }, + "start": { + "type": "string" } - } + }, + "required": [ + "end", + "start" + ], + "type": "object" } }, - "tags": [ - "Evaluator" + "required": [ + "filter", + "timeFilter" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "TokensPerRequest": { + "properties": { + "average_prompt_tokens_per_response": { + "type": "number", + "format": "double" + }, + "average_completion_tokens_per_response": { + "type": "number", + "format": "double" + }, + "average_total_tokens_per_response": { + "type": "number", + "format": "double" } + }, + "required": [ + "average_prompt_tokens_per_response", + "average_completion_tokens_per_response", + "average_total_tokens_per_response" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateEvaluatorParams" - } - } - } - } - } - }, - "/v1/evaluator/{evaluatorId}": { - "get": { - "operationId": "GetEvaluator", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_EvaluatorResult.string_" - } - } - } + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_TokensPerRequest_": { + "properties": { + "data": { + "$ref": "#/components/schemas/TokensPerRequest" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Evaluator" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_TokensPerRequest.string_": { + "anyOf": [ { - "api_key": [] - } - ], - "parameters": [ + "$ref": "#/components/schemas/ResultSuccess_TokensPerRequest_" + }, { - "in": "path", - "name": "evaluatorId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultError_string_" } ] }, - "put": { - "operationId": "UpdateEvaluator", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_EvaluatorResult.string_" - } - } - } + "RequestsOverTime": { + "properties": { + "time": { + "type": "string", + "format": "date-time" + }, + "count": { + "type": "number", + "format": "double" + }, + "status": { + "type": "number", + "format": "double" } }, - "tags": [ - "Evaluator" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "evaluatorId", - "required": true, - "schema": { - "type": "string" - } - } + "required": [ + "time", + "count" ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateEvaluatorParams" - } - } - } - } + "type": "object", + "additionalProperties": false }, - "delete": { - "operationId": "DeleteEvaluator", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } - } - } + "ResultSuccess_RequestsOverTime-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/RequestsOverTime" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Evaluator" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_RequestsOverTime-Array.string_": { + "anyOf": [ { - "api_key": [] - } - ], - "parameters": [ + "$ref": "#/components/schemas/ResultSuccess_RequestsOverTime-Array_" + }, { - "in": "path", - "name": "evaluatorId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultError_string_" } ] - } - }, - "/v1/evaluator/query": { - "post": { - "operationId": "QueryEvaluators", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_EvaluatorResult-Array.string_" - } + }, + "MetricsOverTimeBody": { + "properties": { + "timeFilter": { + "properties": { + "end": { + "type": "string" + }, + "start": { + "type": "string" } - } + }, + "required": [ + "end", + "start" + ], + "type": "object" + }, + "filter": { + "$ref": "#/components/schemas/FilterNode" + }, + "dbIncrement": { + "$ref": "#/components/schemas/TimeIncrement" + }, + "timeZoneDifference": { + "type": "number", + "format": "double" } }, - "tags": [ - "Evaluator" - ], - "security": [ - { - "api_key": [] - } + "required": [ + "timeFilter", + "filter", + "timeZoneDifference" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": {}, - "type": "object" - } - } - } - } - } - }, - "/v1/evaluator/{evaluatorId}/experiments": { - "get": { - "operationId": "GetExperimentsForEvaluator", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_EvaluatorExperiment-Array.string_" - } - } - } + "type": "object", + "additionalProperties": false + }, + "CostOverTime": { + "properties": { + "time": { + "type": "string", + "format": "date-time" + }, + "cost": { + "type": "number", + "format": "double" } }, - "tags": [ - "Evaluator" - ], - "security": [ - { - "api_key": [] - } + "required": [ + "time", + "cost" ], - "parameters": [ - { - "in": "path", - "name": "evaluatorId", - "required": true, - "schema": { - "type": "string" - } - } - ] - } - }, - "/v1/evaluator/{evaluatorId}/onlineEvaluators": { - "get": { - "operationId": "GetOnlineEvaluators", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_OnlineEvaluatorByEvaluatorId-Array.string_" - } - } - } + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_CostOverTime-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/CostOverTime" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Evaluator" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_CostOverTime-Array.string_": { + "anyOf": [ { - "api_key": [] - } - ], - "parameters": [ + "$ref": "#/components/schemas/ResultSuccess_CostOverTime-Array_" + }, { - "in": "path", - "name": "evaluatorId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultError_string_" } ] }, - "post": { - "operationId": "CreateOnlineEvaluator", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } - } - } + "TokensOverTime": { + "properties": { + "time": { + "type": "string", + "format": "date-time" + }, + "prompt_tokens": { + "type": "number", + "format": "double" + }, + "completion_tokens": { + "type": "number", + "format": "double" } }, - "tags": [ - "Evaluator" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "evaluatorId", - "required": true, - "schema": { - "type": "string" - } - } + "required": [ + "time", + "prompt_tokens", + "completion_tokens" ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateOnlineEvaluatorParams" - } - } - } - } - } - }, - "/v1/evaluator/{evaluatorId}/onlineEvaluators/{onlineEvaluatorId}": { - "delete": { - "operationId": "DeleteOnlineEvaluator", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } - } - } + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_TokensOverTime-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/TokensOverTime" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Evaluator" - ], - "security": [ - { - "api_key": [] - } + "required": [ + "data", + "error" ], - "parameters": [ + "type": "object", + "additionalProperties": false + }, + "Result_TokensOverTime-Array.string_": { + "anyOf": [ { - "in": "path", - "name": "evaluatorId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultSuccess_TokensOverTime-Array_" }, { - "in": "path", - "name": "onlineEvaluatorId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultError_string_" } ] - } - }, - "/v1/evaluator/python/test": { - "post": { - "operationId": "TestPythonEvaluator", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result__output-string--traces-string-Array--statusCode_63_-number_.string_" - } - } - } + }, + "LatencyOverTime": { + "properties": { + "time": { + "type": "string", + "format": "date-time" + }, + "duration": { + "type": "number", + "format": "double" } }, - "tags": [ - "Evaluator" + "required": [ + "time", + "duration" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_LatencyOverTime-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/LatencyOverTime" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } + }, + "required": [ + "data", + "error" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "testInput": { - "$ref": "#/components/schemas/TestInput" - }, - "code": { - "type": "string" - } - }, - "required": [ - "testInput", - "code" - ], - "type": "object" - } - } + "type": "object", + "additionalProperties": false + }, + "Result_LatencyOverTime-Array.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_LatencyOverTime-Array_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } - } - } - }, - "/v1/evaluator/llm/test": { - "post": { - "operationId": "TestLLMEvaluator", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EvaluatorScoreResult" - } - } - } + ] + }, + "TimeToFirstTokenOverTime": { + "properties": { + "time": { + "type": "string", + "format": "date-time" + }, + "ttft": { + "type": "number", + "format": "double" } }, - "tags": [ - "Evaluator" + "required": [ + "time", + "ttft" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_TimeToFirstTokenOverTime-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/TimeToFirstTokenOverTime" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } + }, + "required": [ + "data", + "error" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "evaluatorName": { - "type": "string" - }, - "testInput": { - "$ref": "#/components/schemas/TestInput" - }, - "evaluatorConfig": { - "$ref": "#/components/schemas/EvaluatorConfig" - } - }, - "required": [ - "evaluatorName", - "testInput", - "evaluatorConfig" - ], - "type": "object" - } - } + "type": "object", + "additionalProperties": false + }, + "Result_TimeToFirstTokenOverTime-Array.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_TimeToFirstTokenOverTime-Array_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } - } - } - }, - "/v1/evaluator/lastmile/test": { - "post": { - "operationId": "TestLastMileEvaluator", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result__score-number--input-string--output-string--ground_truth_63_-string_.string_" - } - } - } + ] + }, + "UsersOverTime": { + "properties": { + "time": { + "type": "string", + "format": "date-time" + }, + "count": { + "type": "number", + "format": "double" } }, - "tags": [ - "Evaluator" + "required": [ + "time", + "count" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_UsersOverTime-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/UsersOverTime" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } + }, + "required": [ + "data", + "error" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "testInput": { - "$ref": "#/components/schemas/TestInput" - }, - "config": { - "$ref": "#/components/schemas/LastMileConfigForm" - } - }, - "required": [ - "testInput", - "config" - ], - "type": "object" - } - } + "type": "object", + "additionalProperties": false + }, + "Result_UsersOverTime-Array.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_UsersOverTime-Array_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } - } - } - }, - "/v1/evaluator/{evaluatorId}/stats": { - "get": { - "operationId": "GetEvaluatorStats", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_EvaluatorStats.string_" - } - } - } + ] + }, + "ThreatsOverTime": { + "properties": { + "time": { + "type": "string", + "format": "date-time" + }, + "count": { + "type": "number", + "format": "double" } }, - "tags": [ - "Evaluator" + "required": [ + "time", + "count" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_ThreatsOverTime-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/ThreatsOverTime" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } + }, + "required": [ + "data", + "error" ], - "parameters": [ + "type": "object", + "additionalProperties": false + }, + "Result_ThreatsOverTime-Array.string_": { + "anyOf": [ { - "in": "path", - "name": "evaluatorId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultSuccess_ThreatsOverTime-Array_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } ] - } - }, - "/v1/prompt-2025/id/{promptId}": { - "get": { - "operationId": "GetPrompt2025", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_Prompt2025.string_" - } - } - } + }, + "ErrorOverTime": { + "properties": { + "time": { + "type": "string", + "format": "date-time" + }, + "count": { + "type": "number", + "format": "double" + } + }, + "required": [ + "time", + "count" + ], + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_ErrorOverTime-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/ErrorOverTime" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Prompt2025" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_ErrorOverTime-Array.string_": { + "anyOf": [ { - "api_key": [] - } - ], - "parameters": [ + "$ref": "#/components/schemas/ResultSuccess_ErrorOverTime-Array_" + }, { - "in": "path", - "name": "promptId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultError_string_" } ] - } - }, - "/v1/prompt-2025/id/{promptId}/rename": { - "post": { - "operationId": "RenamePrompt2025", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } - } - } + }, + "RequestCountBody": { + "properties": { + "filter": { + "$ref": "#/components/schemas/FilterNode" + }, + "isCached": { + "type": "boolean" } }, - "tags": [ - "Prompt2025" - ], - "security": [ - { - "api_key": [] - } + "required": [ + "filter" ], - "parameters": [ - { - "in": "path", - "name": "promptId", - "required": true, - "schema": { - "type": "string" - } + "type": "object", + "additionalProperties": false + }, + "ModelMetric": { + "properties": { + "model": { + "type": "string" + }, + "total_requests": { + "type": "number", + "format": "double" + }, + "total_completion_tokens": { + "type": "number", + "format": "double" + }, + "total_prompt_token": { + "type": "number", + "format": "double" + }, + "total_tokens": { + "type": "number", + "format": "double" + }, + "cost": { + "type": "number", + "format": "double" } + }, + "required": [ + "model", + "total_requests", + "total_completion_tokens", + "total_prompt_token", + "total_tokens", + "cost" ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "name": { - "type": "string" - } - }, - "required": [ - "name" - ], - "type": "object" - } - } - } - } - } - }, - "/v1/prompt-2025/id/{promptId}/tags": { - "patch": { - "operationId": "UpdatePrompt2025Tags", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_string-Array.string_" - } - } - } + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_ModelMetric-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/ModelMetric" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Prompt2025" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_ModelMetric-Array.string_": { + "anyOf": [ { - "api_key": [] - } - ], - "parameters": [ + "$ref": "#/components/schemas/ResultSuccess_ModelMetric-Array_" + }, { - "in": "path", - "name": "promptId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultError_string_" } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "tags": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "tags" - ], - "type": "object" + ] + }, + "ModelMetricsBody": { + "properties": { + "filter": { + "$ref": "#/components/schemas/FilterNode" + }, + "offset": { + "type": "number", + "format": "double" + }, + "limit": { + "type": "number", + "format": "double" + }, + "timeFilter": { + "properties": { + "end": { + "type": "string" + }, + "start": { + "type": "string" } - } + }, + "required": [ + "end", + "start" + ], + "type": "object" } - } - } - }, - "/v1/prompt-2025/{promptId}": { - "delete": { - "operationId": "DeletePrompt2025", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } - } - } + }, + "required": [ + "filter", + "offset", + "limit", + "timeFilter" + ], + "type": "object", + "additionalProperties": false + }, + "CountryData": { + "properties": { + "country": { + "type": "string" + }, + "total_requests": { + "type": "number", + "format": "double" } }, - "tags": [ - "Prompt2025" + "required": [ + "country", + "total_requests" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_CountryData-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/CountryData" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } + }, + "required": [ + "data", + "error" ], - "parameters": [ + "type": "object", + "additionalProperties": false + }, + "Result_CountryData-Array.string_": { + "anyOf": [ { - "in": "path", - "name": "promptId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultSuccess_CountryData-Array_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } ] - } - }, - "/v1/prompt-2025/{promptId}/{versionId}": { - "delete": { - "operationId": "DeletePrompt2025Version", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } + }, + "CountryMetricsBody": { + "properties": { + "filter": { + "$ref": "#/components/schemas/FilterNode" + }, + "offset": { + "type": "number", + "format": "double" + }, + "limit": { + "type": "number", + "format": "double" + }, + "timeFilter": { + "properties": { + "end": { + "type": "string" + }, + "start": { + "type": "string" } - } + }, + "required": [ + "end", + "start" + ], + "type": "object" } }, - "tags": [ - "Prompt2025" + "required": [ + "filter", + "offset", + "limit", + "timeFilter" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "Quantiles": { + "properties": { + "time": { + "type": "string", + "format": "date-time" + }, + "p75": { + "type": "number", + "format": "double" + }, + "p90": { + "type": "number", + "format": "double" + }, + "p95": { + "type": "number", + "format": "double" + }, + "p99": { + "type": "number", + "format": "double" } + }, + "required": [ + "time", + "p75", + "p90", + "p95", + "p99" ], - "parameters": [ + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_Quantiles-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/Quantiles" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true + } + }, + "required": [ + "data", + "error" + ], + "type": "object", + "additionalProperties": false + }, + "Result_Quantiles-Array.string_": { + "anyOf": [ { - "in": "path", - "name": "promptId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultSuccess_Quantiles-Array_" }, { - "in": "path", - "name": "versionId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultError_string_" } ] - } - }, - "/v1/prompt-2025/id/{promptId}/{versionId}/inputs": { - "get": { - "operationId": "GetPrompt2025Inputs", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_Prompt2025Input.string_" - } + }, + "QuantilesBody": { + "properties": { + "filter": { + "$ref": "#/components/schemas/FilterNode" + }, + "timeFilter": { + "properties": { + "end": { + "type": "string" + }, + "start": { + "type": "string" } - } + }, + "required": [ + "end", + "start" + ], + "type": "object" + }, + "dbIncrement": { + "$ref": "#/components/schemas/TimeIncrement" + }, + "timeZoneDifference": { + "type": "number", + "format": "double" + }, + "metric": { + "type": "string" + } + }, + "required": [ + "filter", + "timeFilter", + "timeZoneDifference", + "metric" + ], + "type": "object", + "additionalProperties": false + }, + "ResultSuccess__unsafe-boolean__": { + "properties": { + "data": { + "properties": { + "unsafe": { + "type": "boolean" + } + }, + "required": [ + "unsafe" + ], + "type": "object" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Prompt2025" - ], - "security": [ - { - "api_key": [] - } + "required": [ + "data", + "error" ], - "parameters": [ - { - "in": "path", - "name": "promptId", - "required": true, - "schema": { - "type": "string" - } - }, + "type": "object", + "additionalProperties": false + }, + "Result__unsafe-boolean_.string_": { + "anyOf": [ { - "in": "path", - "name": "versionId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultSuccess__unsafe-boolean__" }, { - "in": "query", - "name": "requestId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultError_string_" } ] - } - }, - "/v1/prompt-2025/tags": { - "get": { - "operationId": "GetPrompt2025Tags", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_string-Array.string_" - } - } - } + }, + "ClickHouseTableColumn": { + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string" + }, + "default_type": { + "type": "string" + }, + "default_expression": { + "type": "string" + }, + "comment": { + "type": "string" + }, + "codec_expression": { + "type": "string" + }, + "ttl_expression": { + "type": "string" } }, - "tags": [ - "Prompt2025" + "required": [ + "name", + "type" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "ClickHouseTableSchema": { + "properties": { + "table_name": { + "type": "string" + }, + "columns": { + "items": { + "$ref": "#/components/schemas/ClickHouseTableColumn" + }, + "type": "array" } + }, + "required": [ + "table_name", + "columns" ], - "parameters": [] - } - }, - "/v1/prompt-2025/environments": { - "get": { - "operationId": "GetPrompt2025Environments", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_string-Array.string_" - } - } - } + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_ClickHouseTableSchema-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/ClickHouseTableSchema" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Prompt2025" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_ClickHouseTableSchema-Array.string_": { + "anyOf": [ { - "api_key": [] + "$ref": "#/components/schemas/ResultSuccess_ClickHouseTableSchema-Array_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } - ], - "parameters": [] - } - }, - "/v1/prompt-2025": { - "post": { - "operationId": "CreatePrompt2025", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_PromptCreateResponse.string_" - } - } - } + ] + }, + "ExecuteSqlResponse": { + "properties": { + "rowCount": { + "type": "number", + "format": "double" + }, + "size": { + "type": "number", + "format": "double" + }, + "elapsedMilliseconds": { + "type": "number", + "format": "double" + }, + "rows": { + "items": { + "$ref": "#/components/schemas/Record_string.any_" + }, + "type": "array" } }, - "tags": [ - "Prompt2025" - ], - "security": [ - { - "api_key": [] - } + "required": [ + "rowCount", + "size", + "elapsedMilliseconds", + "rows" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "promptBody": { - "$ref": "#/components/schemas/OpenAIChatRequest" - }, - "tags": { - "items": { - "type": "string" - }, - "type": "array" - }, - "name": { - "type": "string" - } - }, - "required": [ - "promptBody", - "tags", - "name" - ], - "type": "object" - } - } - } - } - } - }, - "/v1/prompt-2025/update": { - "post": { - "operationId": "UpdatePrompt2025", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result__id-string_.string_" - } - } - } + "type": "object" + }, + "ResultSuccess_ExecuteSqlResponse_": { + "properties": { + "data": { + "$ref": "#/components/schemas/ExecuteSqlResponse" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Prompt2025" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_ExecuteSqlResponse.string_": { + "anyOf": [ { - "api_key": [] - } - ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "promptBody": { - "$ref": "#/components/schemas/OpenAIChatRequest" - }, - "commitMessage": { - "type": "string" - }, - "environment": { - "type": "string" - }, - "newMajorVersion": { - "type": "boolean" - }, - "promptVersionId": { - "type": "string" - }, - "promptId": { - "type": "string" - } - }, - "required": [ - "promptBody", - "commitMessage", - "newMajorVersion", - "promptVersionId", - "promptId" - ], - "type": "object" - } - } + "$ref": "#/components/schemas/ResultSuccess_ExecuteSqlResponse_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } - } - } - }, - "/v1/prompt-2025/update/environment": { - "post": { - "operationId": "SetPromptVersionEnvironment", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } - } - } + ] + }, + "ExecuteSqlRequest": { + "properties": { + "sql": { + "type": "string" } }, - "tags": [ - "Prompt2025" + "required": [ + "sql" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "HqlSavedQuery": { + "properties": { + "id": { + "type": "string" + }, + "organization_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sql": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "updated_at": { + "type": "string" } + }, + "required": [ + "id", + "organization_id", + "name", + "sql", + "created_at", + "updated_at" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "environment": { - "type": "string" - }, - "promptVersionId": { - "type": "string" - }, - "promptId": { - "type": "string" - } - }, - "required": [ - "environment", - "promptVersionId", - "promptId" - ], - "type": "object" - } - } - } - } - } - }, - "/v1/prompt-2025/remove/environment": { - "post": { - "operationId": "RemoveEnvironmentFromVersion", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } - } - } + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_Array_HqlSavedQuery__": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/HqlSavedQuery" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Prompt2025" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_Array_HqlSavedQuery_.string_": { + "anyOf": [ { - "api_key": [] + "$ref": "#/components/schemas/ResultSuccess_Array_HqlSavedQuery__" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } - ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "environment": { - "type": "string" - }, - "promptVersionId": { - "type": "string" - }, - "promptId": { - "type": "string" - } - }, - "required": [ - "environment", - "promptVersionId", - "promptId" - ], - "type": "object" + ] + }, + "ResultSuccess_HqlSavedQuery-or-null_": { + "properties": { + "data": { + "allOf": [ + { + "$ref": "#/components/schemas/HqlSavedQuery" } - } + ], + "nullable": true + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } - } - } - }, - "/v1/prompt-2025/count": { - "get": { - "operationId": "GetPrompt2025Count", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_number.string_" - } - } - } + }, + "required": [ + "data", + "error" + ], + "type": "object", + "additionalProperties": false + }, + "Result_HqlSavedQuery-or-null.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_HqlSavedQuery-or-null_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "ResultSuccess_void_": { + "properties": { + "data": {}, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Prompt2025" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_void.string_": { + "anyOf": [ { - "api_key": [] + "$ref": "#/components/schemas/ResultSuccess_void_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "BulkDeleteSavedQueriesRequest": { + "properties": { + "ids": { + "items": { + "type": "string" + }, + "type": "array" } + }, + "required": [ + "ids" ], - "parameters": [] - } - }, - "/v1/prompt-2025/query": { - "post": { - "operationId": "GetPrompts2025", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_Prompt2025-Array.string_" - } - } - } + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_HqlSavedQuery-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/HqlSavedQuery" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Prompt2025" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_HqlSavedQuery-Array.string_": { + "anyOf": [ { - "api_key": [] + "$ref": "#/components/schemas/ResultSuccess_HqlSavedQuery-Array_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "CreateSavedQueryRequest": { + "properties": { + "name": { + "type": "string" + }, + "sql": { + "type": "string" } + }, + "required": [ + "name", + "sql" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "pageSize": { - "type": "number", - "format": "double" - }, - "page": { - "type": "number", - "format": "double" - }, - "tagsFilter": { - "items": { - "type": "string" - }, - "type": "array" - }, - "search": { - "type": "string" - } - }, - "required": [ - "pageSize", - "page", - "tagsFilter", - "search" - ], - "type": "object" - } - } + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_HqlSavedQuery_": { + "properties": { + "data": { + "$ref": "#/components/schemas/HqlSavedQuery" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } - } - } - }, - "/v1/prompt-2025/query/version": { - "post": { - "operationId": "GetPrompt2025Version", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_Prompt2025Version.string_" - } + }, + "required": [ + "data", + "error" + ], + "type": "object", + "additionalProperties": false + }, + "Result_HqlSavedQuery.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_HqlSavedQuery_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "ResultSuccess__datasetId-string__": { + "properties": { + "data": { + "properties": { + "datasetId": { + "type": "string" } - } + }, + "required": [ + "datasetId" + ], + "type": "object" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Prompt2025" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result__datasetId-string_.string_": { + "anyOf": [ { - "api_key": [] + "$ref": "#/components/schemas/ResultSuccess__datasetId-string__" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } - ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "promptVersionId": { - "type": "string" - } - }, - "required": [ - "promptVersionId" - ], - "type": "object" - } - } + ] + }, + "HeliconeDatasetMetadata": { + "properties": { + "promptVersionId": { + "type": "string" + }, + "inputRecordsIds": { + "items": { + "type": "string" + }, + "type": "array" } - } - } - }, - "/v1/prompt-2025/query/environment-version": { - "post": { - "operationId": "GetPrompt2025EnvironmentVersion", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_Prompt2025Version.string_" - } - } - } + }, + "type": "object", + "additionalProperties": false + }, + "NewHeliconeDatasetParams": { + "properties": { + "datasetName": { + "type": "string" + }, + "requestIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "meta": { + "$ref": "#/components/schemas/HeliconeDatasetMetadata" } }, - "tags": [ - "Prompt2025" + "required": [ + "datasetName", + "requestIds" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "MutateParams": { + "properties": { + "addRequests": { + "items": { + "type": "string" + }, + "type": "array" + }, + "removeRequests": { + "items": { + "type": "string" + }, + "type": "array" } + }, + "required": [ + "addRequests", + "removeRequests" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "environment": { - "type": "string" - }, - "promptId": { - "type": "string" - } - }, - "required": [ - "environment", - "promptId" - ], - "type": "object" - } - } + "type": "object", + "additionalProperties": false + }, + "HeliconeDatasetRow": { + "properties": { + "id": { + "type": "string" + }, + "origin_request_id": { + "type": "string" + }, + "dataset_id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "signed_url": { + "$ref": "#/components/schemas/Result_string.string_" } - } - } - }, - "/v1/prompt-2025/query/versions": { - "post": { - "operationId": "GetPrompt2025Versions", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_Prompt2025Version-Array.string_" - } - } - } + }, + "required": [ + "id", + "origin_request_id", + "dataset_id", + "created_at", + "signed_url" + ], + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_HeliconeDatasetRow-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/HeliconeDatasetRow" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Prompt2025" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_HeliconeDatasetRow-Array.string_": { + "anyOf": [ { - "api_key": [] + "$ref": "#/components/schemas/ResultSuccess_HeliconeDatasetRow-Array_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } - ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "majorVersion": { - "type": "number", - "format": "double" - }, - "promptId": { - "type": "string" - } - }, - "required": [ - "promptId" - ], - "type": "object" + ] + }, + "HeliconeDataset": { + "properties": { + "created_at": { + "type": "string", + "nullable": true + }, + "dataset_type": { + "type": "string" + }, + "id": { + "type": "string" + }, + "meta": { + "allOf": [ + { + "$ref": "#/components/schemas/Json" } - } + ], + "nullable": true + }, + "name": { + "type": "string", + "nullable": true + }, + "organization": { + "type": "string" + }, + "requests_count": { + "type": "number", + "format": "double" } - } - } - }, - "/v1/prompt-2025/query/production-version": { - "post": { - "operationId": "GetPrompt2025ProductionVersion", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_Prompt2025Version.string_" - } - } - } + }, + "required": [ + "created_at", + "dataset_type", + "id", + "meta", + "name", + "organization", + "requests_count" + ], + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_HeliconeDataset-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/HeliconeDataset" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Prompt2025" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_HeliconeDataset-Array.string_": { + "anyOf": [ { - "api_key": [] + "$ref": "#/components/schemas/ResultSuccess_HeliconeDataset-Array_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } + ] + }, + "ResultSuccess_any_": { + "properties": { + "data": {}, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true + } + }, + "required": [ + "data", + "error" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "promptId": { - "type": "string" - } + "type": "object", + "additionalProperties": false + }, + "Eval": { + "properties": { + "name": { + "type": "string" + }, + "averageScore": { + "type": "number", + "format": "double" + }, + "minScore": { + "type": "number", + "format": "double" + }, + "maxScore": { + "type": "number", + "format": "double" + }, + "count": { + "type": "number", + "format": "double" + }, + "overTime": { + "items": { + "properties": { + "count": { + "type": "number", + "format": "double" }, - "required": [ - "promptId" - ], - "type": "object" - } - } - } - } - } - }, - "/v1/prompt-2025/query/total-versions": { - "post": { - "operationId": "GetPrompt2025TotalVersions", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_PromptVersionCounts.string_" + "date": { + "type": "string" } - } - } + }, + "required": [ + "count", + "date" + ], + "type": "object" + }, + "type": "array" + }, + "averageOverTime": { + "items": { + "properties": { + "value": { + "type": "number", + "format": "double" + }, + "date": { + "type": "string" + } + }, + "required": [ + "value", + "date" + ], + "type": "object" + }, + "type": "array" } }, - "tags": [ - "Prompt2025" - ], - "security": [ - { - "api_key": [] - } + "required": [ + "name", + "averageScore", + "minScore", + "maxScore", + "count", + "overTime", + "averageOverTime" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "promptId": { - "type": "string" - } - }, - "required": [ - "promptId" - ], - "type": "object" - } - } - } - } - } - }, - "/v1/prompt-2025/{promptVersionId}/prompt-body": { - "get": { - "operationId": "GetPrompt2025VersionBody", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_Prompt2025Version_91_prompt_body_93_.string_" - } - } - } + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_Eval-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/Eval" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "description": "Get the full prompt body (messages, tools, etc.) for a specific prompt version.", - "tags": [ - "Prompt2025" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_Eval-Array.string_": { + "anyOf": [ { - "api_key": [] + "$ref": "#/components/schemas/ResultSuccess_Eval-Array_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } - ], - "parameters": [ + ] + }, + "EvalFilterNode": { + "anyOf": [ { - "in": "path", - "name": "promptVersionId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/FilterLeafSubset_request_response_rmt_" + }, + { + "$ref": "#/components/schemas/EvalFilterBranch" + }, + { + "type": "string", + "enum": [ + "all" + ] } ] - } - }, - "/v2/prompt-2025/query/version": { - "post": { - "operationId": "GetPrompt2025Version", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_Prompt2025Version.string_" - } - } - } + }, + "EvalFilterBranch": { + "properties": { + "right": { + "$ref": "#/components/schemas/EvalFilterNode" + }, + "operator": { + "type": "string", + "enum": [ + "or", + "and" + ] + }, + "left": { + "$ref": "#/components/schemas/EvalFilterNode" } }, - "tags": [ - "Prompt2025V2" - ], - "security": [ - { - "api_key": [] - } + "required": [ + "right", + "operator", + "left" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "promptVersionId": { - "type": "string" - } - }, - "required": [ - "promptVersionId" - ], - "type": "object" - } - } - } - } - } - }, - "/v2/prompt-2025/query/environment-version": { - "post": { - "operationId": "GetPrompt2025EnvironmentVersion", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_Prompt2025Version.string_" - } + "type": "object" + }, + "EvalQueryParams": { + "properties": { + "filter": { + "$ref": "#/components/schemas/EvalFilterNode" + }, + "timeFilter": { + "properties": { + "end": { + "type": "string" + }, + "start": { + "type": "string" } - } + }, + "required": [ + "end", + "start" + ], + "type": "object" + }, + "offset": { + "type": "number", + "format": "double" + }, + "limit": { + "type": "number", + "format": "double" + }, + "timeZoneDifference": { + "type": "number", + "format": "double" } }, - "tags": [ - "Prompt2025V2" - ], - "security": [ - { - "api_key": [] - } + "required": [ + "filter", + "timeFilter" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "environment": { - "type": "string" - }, - "promptId": { - "type": "string" - } + "type": "object", + "additionalProperties": false + }, + "ScoreDistribution": { + "properties": { + "name": { + "type": "string" + }, + "distribution": { + "items": { + "properties": { + "value": { + "type": "number", + "format": "double" }, - "required": [ - "environment", - "promptId" - ], - "type": "object" - } - } - } - } - } - }, - "/v2/prompt-2025/query/production-version": { - "post": { - "operationId": "GetPrompt2025ProductionVersion", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_Prompt2025Version.string_" + "upper": { + "type": "number", + "format": "double" + }, + "lower": { + "type": "number", + "format": "double" } - } - } + }, + "required": [ + "value", + "upper", + "lower" + ], + "type": "object" + }, + "type": "array" } }, - "tags": [ - "Prompt2025V2" - ], - "security": [ - { - "api_key": [] - } + "required": [ + "name", + "distribution" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "promptId": { - "type": "string" - } - }, - "required": [ - "promptId" - ], - "type": "object" - } - } - } - } - } - }, - "/v1/prompt/has-prompts": { - "get": { - "operationId": "HasPrompts", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result__hasPrompts-boolean_.string_" - } - } - } + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_ScoreDistribution-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/ScoreDistribution" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Prompt" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_ScoreDistribution-Array.string_": { + "anyOf": [ { - "api_key": [] + "$ref": "#/components/schemas/ResultSuccess_ScoreDistribution-Array_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } - ], - "parameters": [] - } - }, - "/v1/prompt/query": { - "post": { - "operationId": "GetPrompts", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_PromptsResult-Array.string_" + ] + }, + "ResultSuccess__score_key-string--score_sum-number--created_at_trunc-string_-Array_": { + "properties": { + "data": { + "items": { + "properties": { + "created_at_trunc": { + "type": "string" + }, + "score_sum": { + "type": "number", + "format": "double" + }, + "score_key": { + "type": "string" } - } - } + }, + "required": [ + "created_at_trunc", + "score_sum", + "score_key" + ], + "type": "object" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Prompt" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result__score_key-string--score_sum-number--created_at_trunc-string_-Array.string_": { + "anyOf": [ { - "api_key": [] - } - ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PromptsQueryParams" - } - } + "$ref": "#/components/schemas/ResultSuccess__score_key-string--score_sum-number--created_at_trunc-string_-Array_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } - } - } - }, - "/v1/prompt/{promptId}/query": { - "post": { - "operationId": "GetPrompt", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_PromptResult.string_" - } - } - } + ] + }, + "CustomerUsage": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "cost": { + "type": "number", + "format": "double" + }, + "count": { + "type": "number", + "format": "double" + }, + "prompt_tokens": { + "type": "number", + "format": "double" + }, + "completion_tokens": { + "type": "number", + "format": "double" } }, - "tags": [ - "Prompt" + "required": [ + "id", + "name", + "cost", + "count", + "prompt_tokens", + "completion_tokens" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "Customer": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" } + }, + "required": [ + "id", + "name" ], - "parameters": [ - { - "in": "path", - "name": "promptId", - "required": true, - "schema": { - "type": "string" - } + "type": "object", + "additionalProperties": false + }, + "CreditBalanceResponse": { + "properties": { + "totalCreditsPurchased": { + "type": "number", + "format": "double" + }, + "balance": { + "type": "number", + "format": "double" } + }, + "required": [ + "totalCreditsPurchased", + "balance" ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PromptQueryParams" - } - } - } - } - } - }, - "/v1/prompt/{promptId}": { - "delete": { - "operationId": "DeletePrompt", - "responses": { - "204": { - "description": "No content" + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_CreditBalanceResponse_": { + "properties": { + "data": { + "$ref": "#/components/schemas/CreditBalanceResponse" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Prompt" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_CreditBalanceResponse.string_": { + "anyOf": [ { - "api_key": [] - } - ], - "parameters": [ + "$ref": "#/components/schemas/ResultSuccess_CreditBalanceResponse_" + }, { - "in": "path", - "name": "promptId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultError_string_" } ] - } - }, - "/v1/prompt/create": { - "post": { - "operationId": "CreatePrompt", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_CreatePromptResponse.string_" - } - } - } + }, + "PurchasedCredits": { + "properties": { + "id": { + "type": "string" + }, + "createdAt": { + "type": "number", + "format": "double" + }, + "credits": { + "type": "number", + "format": "double" + }, + "referenceId": { + "type": "string" + } + }, + "required": [ + "id", + "createdAt", + "credits", + "referenceId" + ], + "type": "object", + "additionalProperties": false + }, + "PaginatedPurchasedCredits": { + "properties": { + "purchases": { + "items": { + "$ref": "#/components/schemas/PurchasedCredits" + }, + "type": "array" + }, + "total": { + "type": "number", + "format": "double" + }, + "page": { + "type": "number", + "format": "double" + }, + "pageSize": { + "type": "number", + "format": "double" } }, - "tags": [ - "Prompt" - ], - "security": [ - { - "api_key": [] - } + "required": [ + "purchases", + "total", + "page", + "pageSize" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "metadata": { - "$ref": "#/components/schemas/Record_string.any_" - }, - "prompt": {}, - "userDefinedId": { - "type": "string" - } - }, - "required": [ - "metadata", - "prompt", - "userDefinedId" - ], - "type": "object" - } - } - } - } - } - }, - "/v1/prompt/{promptId}/user-defined-id": { - "patch": { - "operationId": "UpdatePromptUserDefinedId", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } - } - } + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_PaginatedPurchasedCredits_": { + "properties": { + "data": { + "$ref": "#/components/schemas/PaginatedPurchasedCredits" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Prompt" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_PaginatedPurchasedCredits.string_": { + "anyOf": [ { - "api_key": [] - } - ], - "parameters": [ + "$ref": "#/components/schemas/ResultSuccess_PaginatedPurchasedCredits_" + }, { - "in": "path", - "name": "promptId", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "userDefinedId": { - "type": "string" - } - }, - "required": [ - "userDefinedId" - ], - "type": "object" - } - } + "$ref": "#/components/schemas/ResultError_string_" } - } - } - }, - "/v1/prompt/version/{promptVersionId}/edit-label": { - "post": { - "operationId": "EditPromptVersionLabel", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result__metadata-Record_string.any__.string_" - } + ] + }, + "ResultSuccess__totalSpend-number__": { + "properties": { + "data": { + "properties": { + "totalSpend": { + "type": "number", + "format": "double" } - } + }, + "required": [ + "totalSpend" + ], + "type": "object" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Prompt" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result__totalSpend-number_.string_": { + "anyOf": [ { - "api_key": [] - } - ], - "parameters": [ + "$ref": "#/components/schemas/ResultSuccess__totalSpend-number__" + }, { - "in": "path", - "name": "promptVersionId", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PromptEditSubversionLabelParams" - } - } + "$ref": "#/components/schemas/ResultError_string_" } - } - } - }, - "/v1/prompt/version/{promptVersionId}/edit-template": { - "post": { - "operationId": "EditPromptVersionTemplate", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } + ] + }, + "ModelSpend": { + "properties": { + "model": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "promptTokens": { + "type": "number", + "format": "double" + }, + "completionTokens": { + "type": "number", + "format": "double" + }, + "cacheReadTokens": { + "type": "number", + "format": "double" + }, + "cacheWriteTokens": { + "type": "number", + "format": "double" + }, + "pricing": { + "properties": { + "cacheWritePer1M": { + "type": "number", + "format": "double" + }, + "cacheReadPer1M": { + "type": "number", + "format": "double" + }, + "outputPer1M": { + "type": "number", + "format": "double" + }, + "inputPer1M": { + "type": "number", + "format": "double" } - } + }, + "required": [ + "outputPer1M", + "inputPer1M" + ], + "type": "object", + "nullable": true + }, + "subtotal": { + "type": "number", + "format": "double" + }, + "discountPercent": { + "type": "number", + "format": "double" + }, + "total": { + "type": "number", + "format": "double" + }, + "cacheAdjustment": { + "type": "number", + "format": "double" } }, - "tags": [ - "Prompt" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "promptVersionId", - "required": true, - "schema": { - "type": "string" - } - } + "required": [ + "model", + "provider", + "promptTokens", + "completionTokens", + "cacheReadTokens", + "cacheWriteTokens", + "pricing", + "subtotal", + "discountPercent", + "total" ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PromptEditSubversionTemplateParams" - } - } - } - } - } - }, - "/v1/prompt/version/{promptVersionId}/subversion-from-ui": { - "post": { - "operationId": "CreateSubversionFromUi", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_PromptVersionResult.string_" - } + "type": "object", + "additionalProperties": false + }, + "SpendBreakdownResponse": { + "properties": { + "models": { + "items": { + "$ref": "#/components/schemas/ModelSpend" + }, + "type": "array" + }, + "totalCost": { + "type": "number", + "format": "double" + }, + "timeRange": { + "properties": { + "end": { + "type": "string" + }, + "start": { + "type": "string" } - } + }, + "required": [ + "end", + "start" + ], + "type": "object" } }, - "tags": [ - "Prompt" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "promptVersionId", - "required": true, - "schema": { - "type": "string" - } - } + "required": [ + "models", + "totalCost", + "timeRange" ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PromptCreateSubversionParams" - } - } - } - } - } - }, - "/v1/prompt/version/{promptVersionId}/subversion": { - "post": { - "operationId": "CreateSubversion", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_PromptVersionResult.string_" - } - } - } + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_SpendBreakdownResponse_": { + "properties": { + "data": { + "$ref": "#/components/schemas/SpendBreakdownResponse" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Prompt" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_SpendBreakdownResponse.string_": { + "anyOf": [ { - "api_key": [] - } - ], - "parameters": [ + "$ref": "#/components/schemas/ResultSuccess_SpendBreakdownResponse_" + }, { - "in": "path", - "name": "promptVersionId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultError_string_" } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PromptCreateSubversionParams" - } - } + ] + }, + "PTBInvoice": { + "properties": { + "id": { + "type": "string" + }, + "organizationId": { + "type": "string" + }, + "stripeInvoiceId": { + "type": "string", + "nullable": true + }, + "hostedInvoiceUrl": { + "type": "string", + "nullable": true + }, + "startDate": { + "type": "string" + }, + "endDate": { + "type": "string" + }, + "amountCents": { + "type": "number", + "format": "double" + }, + "subtotalCents": { + "type": "number", + "format": "double", + "nullable": true + }, + "notes": { + "type": "string", + "nullable": true + }, + "createdAt": { + "type": "string" } - } - } - }, - "/v1/prompt/version/{promptVersionId}/promote": { - "post": { - "operationId": "PromotePromptVersionToProduction", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_PromptVersionResult.string_" - } - } - } + }, + "required": [ + "id", + "organizationId", + "stripeInvoiceId", + "hostedInvoiceUrl", + "startDate", + "endDate", + "amountCents", + "subtotalCents", + "notes", + "createdAt" + ], + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_PTBInvoice-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/PTBInvoice" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Prompt" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_PTBInvoice-Array.string_": { + "anyOf": [ { - "api_key": [] - } - ], - "parameters": [ + "$ref": "#/components/schemas/ResultSuccess_PTBInvoice-Array_" + }, { - "in": "path", - "name": "promptVersionId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultError_string_" } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "previousProductionVersionId": { - "type": "string" - } - }, - "required": [ - "previousProductionVersionId" - ], - "type": "object" - } - } + ] + }, + "OrgDiscount": { + "properties": { + "provider": { + "type": "string", + "nullable": true + }, + "model": { + "type": "string", + "nullable": true + }, + "percent": { + "type": "number", + "format": "double" } - } - } - }, - "/v1/prompt/version/{promptVersionId}/inputs/query": { - "post": { - "operationId": "GetInputs", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_PromptInputRecord-Array.string_" - } - } - } + }, + "required": [ + "provider", + "model", + "percent" + ], + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_OrgDiscount-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/OrgDiscount" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Prompt" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_OrgDiscount-Array.string_": { + "anyOf": [ { - "api_key": [] + "$ref": "#/components/schemas/ResultSuccess_OrgDiscount-Array_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "InAppThread": { + "properties": { + "id": { + "type": "string" + }, + "chat": {}, + "user_id": { + "type": "string" + }, + "org_id": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "escalated": { + "type": "boolean" + }, + "metadata": {}, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "soft_delete": { + "type": "boolean" } + }, + "required": [ + "id", + "chat", + "user_id", + "org_id", + "created_at", + "escalated", + "metadata", + "updated_at", + "soft_delete" ], - "parameters": [ - { - "in": "path", - "name": "promptVersionId", - "required": true, - "schema": { - "type": "string" - } + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_InAppThread_": { + "properties": { + "data": { + "$ref": "#/components/schemas/InAppThread" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } + }, + "required": [ + "data", + "error" ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "random": { - "type": "boolean" - }, - "limit": { - "type": "number", - "format": "double" - } - }, - "required": [ - "limit" - ], - "type": "object" - } - } + "type": "object", + "additionalProperties": false + }, + "Result_InAppThread.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_InAppThread_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } - } - } - }, - "/v1/prompt/{promptId}/experiments": { - "get": { - "operationId": "GetPromptExperiments", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array.string_" - } + ] + }, + "ResultSuccess__success-boolean__": { + "properties": { + "data": { + "properties": { + "success": { + "type": "boolean" } - } + }, + "required": [ + "success" + ], + "type": "object" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Prompt" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result__success-boolean_.string_": { + "anyOf": [ { - "api_key": [] - } - ], - "parameters": [ + "$ref": "#/components/schemas/ResultSuccess__success-boolean__" + }, { - "in": "path", - "name": "promptId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultError_string_" } ] - } - }, - "/v1/prompt/{promptId}/versions/query": { - "post": { - "operationId": "GetPromptVersions", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_PromptVersionResult-Array.string_" - } - } - } + }, + "ThreadSummary": { + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "escalated": { + "type": "boolean" + }, + "message_count": { + "type": "number", + "format": "double" + }, + "first_message": { + "type": "string" + }, + "last_message": { + "type": "string" + }, + "soft_delete": { + "type": "boolean" } }, - "tags": [ - "Prompt" + "required": [ + "id", + "created_at", + "updated_at", + "escalated", + "message_count" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_ThreadSummary-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/ThreadSummary" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } + }, + "required": [ + "data", + "error" ], - "parameters": [ + "type": "object", + "additionalProperties": false + }, + "Result_ThreadSummary-Array.string_": { + "anyOf": [ { - "in": "path", - "name": "promptId", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PromptVersionsQueryParams" - } - } + "$ref": "#/components/schemas/ResultSuccess_ThreadSummary-Array_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } - } + ] } }, - "/v1/prompt/version/{promptVersionId}": { - "get": { - "operationId": "GetPromptVersion", + "securitySchemes": { + "api_key": { + "type": "apiKey", + "name": "Authorization", + "in": "header", + "description": "Bearer token authentication. Format: 'Bearer YOUR_API_KEY'" + } + } + }, + "info": { + "title": "helicone-api", + "version": "1.0.0", + "license": { + "name": "MIT" + }, + "contact": {} + }, + "paths": { + "/v1/api-keys/provider-key/{providerKeyId}": { + "delete": { + "operationId": "DeleteProviderKey", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_PromptVersionResult.string_" + "anyOf": [ + { + "properties": { + "providerName": { + "type": "string", + "enum": [ + "baseten", + "anthropic", + "azure", + "bedrock", + "canopywave", + "cerebras", + "chutes", + "deepinfra", + "deepseek", + "fireworks", + "google-ai-studio", + "groq", + "helicone", + "mistral", + "nebius", + "novita", + "openai", + "openrouter", + "perplexity", + "vertex", + "xai" + ] + } + }, + "required": [ + "providerName" + ], + "type": "object" + }, + { + "properties": { + "error": { + "type": "string" + } + }, + "required": [ + "error" + ], + "type": "object" + } + ] } } } } }, "tags": [ - "Prompt" + "API Key" ], "security": [ { @@ -17012,7 +12582,7 @@ "parameters": [ { "in": "path", - "name": "promptVersionId", + "name": "providerKeyId", "required": true, "schema": { "type": "string" @@ -17020,22 +12590,37 @@ } ] }, - "delete": { - "operationId": "DeletePromptVersion", + "get": { + "operationId": "GetProviderKey", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "anyOf": [ + { + "$ref": "#/components/schemas/DecryptedProviderKey" + }, + { + "properties": { + "error": { + "type": "string" + } + }, + "required": [ + "error" + ], + "type": "object" + } + ] } } } } }, "tags": [ - "Prompt" + "API Key" ], "security": [ { @@ -17045,32 +12630,30 @@ "parameters": [ { "in": "path", - "name": "promptVersionId", + "name": "providerKeyId", "required": true, "schema": { "type": "string" } } ] - } - }, - "/v1/prompt/{user_defined_id}/compile": { - "post": { - "operationId": "GetPromptVersionsCompiled", + }, + "patch": { + "operationId": "UpdateProviderKey", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_PromptVersionResultCompiled.string_" + "$ref": "#/components/schemas/Result__id-string--providerName-string_.string_" } } } } }, "tags": [ - "Prompt" + "API Key" ], "security": [ { @@ -17080,7 +12663,7 @@ "parameters": [ { "in": "path", - "name": "user_defined_id", + "name": "providerKeyId", "required": true, "schema": { "type": "string" @@ -17092,75 +12675,107 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PromptVersiosQueryParamsCompiled" + "$ref": "#/components/schemas/UpdateProviderKeyRequest" } } } } } }, - "/v1/prompt/{user_defined_id}/template": { + "/v1/api-keys/provider-key": { "post": { - "operationId": "GetPromptVersionTemplates", + "operationId": "CreateProviderKey", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_PromptVersionResultFilled.string_" + "anyOf": [ + { + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "properties": { + "error": { + "type": "string" + } + }, + "required": [ + "error" + ], + "type": "object" + } + ] } } } } }, "tags": [ - "Prompt" + "API Key" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "user_defined_id", - "required": true, - "schema": { - "type": "string" - } - } - ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PromptVersiosQueryParamsCompiled" + "$ref": "#/components/schemas/CreateProviderKeyRequest" } } } } } }, - "/v2/experiment/create/empty": { - "post": { - "operationId": "CreateEmptyExperiment", + "/v1/api-keys/provider-keys": { + "get": { + "operationId": "GetProviderKeys", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__experimentId-string_.string_" + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/ProviderKeyRow" + }, + "type": "array" + }, + { + "properties": { + "error": { + "type": "string" + } + }, + "required": [ + "error" + ], + "type": "object" + } + ] } } } } }, "tags": [ - "Experiment" + "API Key" ], "security": [ { @@ -17170,58 +12785,78 @@ "parameters": [] } }, - "/v2/experiment/create/from-request/{requestId}": { - "post": { - "operationId": "CreateExperimentFromRequest", + "/v1/api-keys": { + "get": { + "operationId": "GetAPIKeys", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__experimentId-string_.string_" + "$ref": "#/components/schemas/Result__api_key_hash-string--api_key_name-string--created_at-string--governance-boolean--id-number--key_permissions-string--organization_id-string--soft_delete-boolean--temp_key-boolean--updated_at-string--user_id-string_-Array.string_" } } } } }, "tags": [ - "Experiment" + "API Key" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "requestId", - "required": true, - "schema": { - "type": "string" - } - } - ] - } - }, - "/v2/experiment/new": { + "parameters": [] + }, "post": { - "operationId": "CreateNewExperiment", + "operationId": "CreateAPIKey", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__experimentId-string_.string_" + "anyOf": [ + { + "properties": { + "hashedKey": { + "type": "string" + }, + "apiKey": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "hashedKey", + "apiKey", + "id" + ], + "type": "object" + }, + { + "properties": { + "error": { + "type": "string" + } + }, + "required": [ + "error" + ], + "type": "object" + } + ] } } } } }, "tags": [ - "Experiment" + "API Key" ], "security": [ { @@ -17235,16 +12870,20 @@ "application/json": { "schema": { "properties": { - "originalPromptVersion": { - "type": "string" + "key_permissions": { + "type": "string", + "enum": [ + "rw", + "r", + "w" + ] }, - "name": { + "api_key_name": { "type": "string" } }, "required": [ - "originalPromptVersion", - "name" + "api_key_name" ], "type": "object" } @@ -17253,49 +12892,121 @@ } } }, - "/v2/experiment": { - "get": { - "operationId": "GetExperiments", + "/v1/api-keys/proxy-key": { + "post": { + "operationId": "CreateProxyKey", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_ExperimentV2-Array.string_" + "anyOf": [ + { + "properties": { + "proxyKeyId": { + "type": "string" + }, + "proxyKey": { + "type": "string" + } + }, + "required": [ + "proxyKeyId", + "proxyKey" + ], + "type": "object" + }, + { + "properties": { + "error": { + "type": "string" + } + }, + "required": [ + "error" + ], + "type": "object" + } + ] } } } } }, "tags": [ - "Experiment" + "API Key" ], "security": [ { "api_key": [] } ], - "parameters": [] + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "proxyKeyName": { + "type": "string" + }, + "providerKeyId": { + "type": "string" + } + }, + "required": [ + "proxyKeyName", + "providerKeyId" + ], + "type": "object" + } + } + } + } } }, - "/v2/experiment/{experimentId}": { + "/v1/api-keys/{apiKeyId}": { "delete": { - "operationId": "DeleteExperiment", + "operationId": "DeleteAPIKey", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "anyOf": [ + { + "properties": { + "hashedKey": { + "type": "string" + } + }, + "required": [ + "hashedKey" + ], + "type": "object" + }, + { + "properties": { + "error": { + "type": "string" + } + }, + "required": [ + "error" + ], + "type": "object" + } + ] } } } } }, "tags": [ - "Experiment" + "API Key" ], "security": [ { @@ -17305,65 +13016,54 @@ "parameters": [ { "in": "path", - "name": "experimentId", + "name": "apiKeyId", "required": true, "schema": { - "type": "string" + "format": "double", + "type": "number" } } ] }, - "get": { - "operationId": "GetExperimentById", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_ExtendedExperimentData.string_" - } - } - } - } - }, - "tags": [ - "Experiment" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "experimentId", - "required": true, - "schema": { - "type": "string" - } - } - ] - } - }, - "/v2/experiment/{experimentId}/prompt-version": { - "post": { - "operationId": "CreateNewPromptVersionForExperiment", + "patch": { + "operationId": "UpdateAPIKey", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_PromptVersionResult.string_" + "anyOf": [ + { + "properties": { + "hashedKey": { + "type": "string" + } + }, + "required": [ + "hashedKey" + ], + "type": "object" + }, + { + "properties": { + "error": { + "type": "string" + } + }, + "required": [ + "error" + ], + "type": "object" + } + ] } } } } }, "tags": [ - "Experiment" + "API Key" ], "security": [ { @@ -17373,10 +13073,11 @@ "parameters": [ { "in": "path", - "name": "experimentId", + "name": "apiKeyId", "required": true, "schema": { - "type": "string" + "format": "double", + "type": "number" } } ], @@ -17385,73 +13086,74 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CreateNewPromptVersionForExperimentParams" + "properties": { + "api_key_name": { + "type": "string" + } + }, + "required": [ + "api_key_name" + ], + "type": "object" } } } } } }, - "/v2/experiment/{experimentId}/prompt-version/{promptVersionId}": { - "delete": { - "operationId": "DeletePromptVersion", + "/v1/evaluator": { + "post": { + "operationId": "CreateEvaluator", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result_EvaluatorResult.string_" } } } } }, "tags": [ - "Experiment" + "Evaluator" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "path", - "name": "promptVersionId", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateEvaluatorParams" + } } } - ] + } } }, - "/v2/experiment/{experimentId}/prompt-versions": { + "/v1/evaluator/{evaluatorId}": { "get": { - "operationId": "GetPromptVersionsForExperiment", + "operationId": "GetEvaluator", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_ExperimentV2PromptVersion-Array.string_" + "$ref": "#/components/schemas/Result_EvaluatorResult.string_" } } } } }, "tags": [ - "Experiment" + "Evaluator" ], "security": [ { @@ -17461,32 +13163,30 @@ "parameters": [ { "in": "path", - "name": "experimentId", + "name": "evaluatorId", "required": true, "schema": { "type": "string" } } ] - } - }, - "/v2/experiment/{experimentId}/input-keys": { - "get": { - "operationId": "GetInputKeysForExperiment", + }, + "put": { + "operationId": "UpdateEvaluator", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_string-Array.string_" + "$ref": "#/components/schemas/Result_EvaluatorResult.string_" } } } } }, "tags": [ - "Experiment" + "Evaluator" ], "security": [ { @@ -17496,32 +13196,40 @@ "parameters": [ { "in": "path", - "name": "experimentId", + "name": "evaluatorId", "required": true, "schema": { "type": "string" } } - ] - } - }, - "/v2/experiment/{experimentId}/add-manual-row": { - "post": { - "operationId": "AddManualRowToExperiment", + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateEvaluatorParams" + } + } + } + } + }, + "delete": { + "operationId": "DeleteEvaluator", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_string.string_" + "$ref": "#/components/schemas/Result_null.string_" } } } } }, "tags": [ - "Experiment" + "Evaluator" ], "security": [ { @@ -17531,82 +13239,45 @@ "parameters": [ { "in": "path", - "name": "experimentId", + "name": "evaluatorId", "required": true, "schema": { "type": "string" } } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "inputs": { - "$ref": "#/components/schemas/Record_string.string_" - } - }, - "required": [ - "inputs" - ], - "type": "object" - } - } - } - } + ] } }, - "/v2/experiment/{experimentId}/add-manual-rows-batch": { + "/v1/evaluator/query": { "post": { - "operationId": "AddManualRowsToExperimentBatch", + "operationId": "QueryEvaluators", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result_EvaluatorResult-Array.string_" } } } } }, "tags": [ - "Experiment" + "Evaluator" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentId", - "required": true, - "schema": { - "type": "string" - } - } - ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "properties": { - "inputs": { - "items": { - "$ref": "#/components/schemas/Record_string.string_" - }, - "type": "array" - } - }, - "required": [ - "inputs" - ], + "properties": {}, "type": "object" } } @@ -17614,23 +13285,23 @@ } } }, - "/v2/experiment/{experimentId}/rows": { - "delete": { - "operationId": "DeleteExperimentTableRows", + "/v1/evaluator/{evaluatorId}/onlineEvaluators": { + "get": { + "operationId": "GetOnlineEvaluators", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result_OnlineEvaluatorByEvaluatorId-Array.string_" } } } } }, "tags": [ - "Experiment" + "Evaluator" ], "security": [ { @@ -17640,39 +13311,16 @@ "parameters": [ { "in": "path", - "name": "experimentId", + "name": "evaluatorId", "required": true, "schema": { "type": "string" } } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "inputRecordIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "inputRecordIds" - ], - "type": "object" - } - } - } - } - } - }, - "/v2/experiment/{experimentId}/row/insert/batch": { + ] + }, "post": { - "operationId": "CreateExperimentTableRowBatch", + "operationId": "CreateOnlineEvaluator", "responses": { "200": { "description": "Ok", @@ -17686,7 +13334,7 @@ } }, "tags": [ - "Experiment" + "Evaluator" ], "security": [ { @@ -17696,7 +13344,7 @@ "parameters": [ { "in": "path", - "name": "experimentId", + "name": "evaluatorId", "required": true, "schema": { "type": "string" @@ -17708,44 +13356,16 @@ "content": { "application/json": { "schema": { - "properties": { - "rows": { - "items": { - "properties": { - "autoInputs": { - "items": {}, - "type": "array" - }, - "inputs": { - "$ref": "#/components/schemas/Record_string.string_" - }, - "inputRecordId": { - "type": "string" - } - }, - "required": [ - "autoInputs", - "inputs", - "inputRecordId" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "rows" - ], - "type": "object" + "$ref": "#/components/schemas/CreateOnlineEvaluatorParams" } } } } } }, - "/v2/experiment/{experimentId}/row/insert/dataset/{datasetId}": { - "post": { - "operationId": "CreateExperimentTableRowFromDataset", + "/v1/evaluator/{evaluatorId}/onlineEvaluators/{onlineEvaluatorId}": { + "delete": { + "operationId": "DeleteOnlineEvaluator", "responses": { "200": { "description": "Ok", @@ -17759,7 +13379,7 @@ } }, "tags": [ - "Experiment" + "Evaluator" ], "security": [ { @@ -17769,7 +13389,7 @@ "parameters": [ { "in": "path", - "name": "experimentId", + "name": "evaluatorId", "required": true, "schema": { "type": "string" @@ -17777,7 +13397,7 @@ }, { "in": "path", - "name": "datasetId", + "name": "onlineEvaluatorId", "required": true, "schema": { "type": "string" @@ -17786,112 +13406,46 @@ ] } }, - "/v2/experiment/{experimentId}/row/update": { - "post": { - "operationId": "UpdateExperimentTableRow", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } - } - } - } - }, - "tags": [ - "Experiment" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "experimentId", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "inputs": { - "$ref": "#/components/schemas/Record_string.string_" - }, - "inputRecordId": { - "type": "string" - } - }, - "required": [ - "inputs", - "inputRecordId" - ], - "type": "object" - } - } - } - } - } - }, - "/v2/experiment/{experimentId}/run-hypothesis": { + "/v1/evaluator/python/test": { "post": { - "operationId": "RunHypothesis", + "operationId": "TestPythonEvaluator", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_string.string_" + "$ref": "#/components/schemas/Result__output-string--traces-string-Array--statusCode_63_-number_.string_" } } } } }, "tags": [ - "Experiment" - ], - "security": [ - { - "api_key": [] - } + "Evaluator" ], - "parameters": [ - { - "in": "path", - "name": "experimentId", - "required": true, - "schema": { - "type": "string" - } + "security": [ + { + "api_key": [] } ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "properties": { - "inputRecordId": { - "type": "string" + "testInput": { + "$ref": "#/components/schemas/TestInput" }, - "promptVersionId": { + "code": { "type": "string" } }, "required": [ - "inputRecordId", - "promptVersionId" + "testInput", + "code" ], "type": "object" } @@ -17900,84 +13454,98 @@ } } }, - "/v2/experiment/{experimentId}/evaluators": { - "get": { - "operationId": "GetExperimentEvaluators", + "/v1/evaluator/llm/test": { + "post": { + "operationId": "TestLLMEvaluator", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_EvaluatorResult-Array.string_" + "$ref": "#/components/schemas/EvaluatorScoreResult" } } } } }, "tags": [ - "Experiment" + "Evaluator" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentId", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "evaluatorName": { + "type": "string" + }, + "testInput": { + "$ref": "#/components/schemas/TestInput" + }, + "evaluatorConfig": { + "$ref": "#/components/schemas/EvaluatorConfig" + } + }, + "required": [ + "evaluatorName", + "testInput", + "evaluatorConfig" + ], + "type": "object" + } } } - ] - }, + } + } + }, + "/v1/evaluator/lastmile/test": { "post": { - "operationId": "CreateExperimentEvaluator", + "operationId": "TestLastMileEvaluator", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result__score-number--input-string--output-string--ground_truth_63_-string_.string_" } } } } }, "tags": [ - "Experiment" + "Evaluator" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentId", - "required": true, - "schema": { - "type": "string" - } - } - ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "properties": { - "evaluatorId": { - "type": "string" + "testInput": { + "$ref": "#/components/schemas/TestInput" + }, + "config": { + "$ref": "#/components/schemas/LastMileConfigForm" } }, "required": [ - "evaluatorId" + "testInput", + "config" ], "type": "object" } @@ -17986,23 +13554,23 @@ } } }, - "/v2/experiment/{experimentId}/evaluators/{evaluatorId}": { - "delete": { - "operationId": "DeleteExperimentEvaluator", + "/v1/evaluator/{evaluatorId}/stats": { + "get": { + "operationId": "GetEvaluatorStats", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result_EvaluatorStats.string_" } } } } }, "tags": [ - "Experiment" + "Evaluator" ], "security": [ { @@ -18010,14 +13578,6 @@ } ], "parameters": [ - { - "in": "path", - "name": "experimentId", - "required": true, - "schema": { - "type": "string" - } - }, { "in": "path", "name": "evaluatorId", @@ -18029,181 +13589,259 @@ ] } }, - "/v2/experiment/{experimentId}/evaluators/run": { - "post": { - "operationId": "RunExperimentEvaluators", + "/v1/stripe/subscription/free/usage": { + "get": { + "operationId": "GetFreeUsage", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "type": "number", + "format": "double" } } } } }, "tags": [ - "Experiment" + "Stripe" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentId", - "required": true, - "schema": { - "type": "string" - } - } - ] + "parameters": [] } }, - "/v2/experiment/{experimentId}/should-run-evaluators": { - "get": { - "operationId": "ShouldRunEvaluators", + "/v1/stripe/cloud/checkout-session": { + "post": { + "operationId": "CreateCloudGatewayCheckoutSession", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_boolean.string_" + "properties": { + "checkoutUrl": { + "type": "string" + } + }, + "required": [ + "checkoutUrl" + ], + "type": "object" } } } } }, "tags": [ - "Experiment" + "Stripe" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentId", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateCloudGatewayCheckoutSessionRequest" + } } } - ] + } } }, - "/v2/experiment/{experimentId}/{promptVersionId}/scores": { - "get": { - "operationId": "GetExperimentPromptVersionScores", + "/v1/stripe/subscription/manage-subscription": { + "post": { + "operationId": "ManageSubscription", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_Record_string.ScoreV2_.string_" + "type": "string" } } } } }, "tags": [ - "Experiment" + "Stripe" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "path", - "name": "promptVersionId", - "required": true, - "schema": { - "type": "string" - } - } - ] + "parameters": [] } }, - "/v2/experiment/{experimentId}/{requestId}/{scoreKey}": { - "get": { - "operationId": "GetExperimentScore", + "/v1/stripe/subscription/undo-cancel-subscription": { + "post": { + "operationId": "UndoCancelSubscription", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_ScoreV2-or-null.string_" + "type": "number", + "enum": [ + null + ], + "nullable": true } } } } }, "tags": [ - "Experiment" + "Stripe" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "path", - "name": "requestId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "path", - "name": "scoreKey", - "required": true, - "schema": { - "type": "string" - } - } - ] + "parameters": [] } }, - "/v1/stripe/subscription/cost-for-prompts": { + "/v1/stripe/subscription/preview-invoice": { "get": { - "operationId": "GetCostForPrompts", + "operationId": "PreviewInvoice", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "type": "number", - "format": "double" + "properties": { + "evaluators_usage": { + "items": { + "$ref": "#/components/schemas/LLMUsage" + }, + "type": "array" + }, + "experiments_usage": { + "items": { + "$ref": "#/components/schemas/LLMUsage" + }, + "type": "array" + }, + "total": { + "type": "number", + "format": "double" + }, + "tax": { + "type": "number", + "format": "double", + "nullable": true + }, + "subtotal": { + "type": "number", + "format": "double" + }, + "discount": { + "properties": { + "coupon": { + "properties": { + "amount_off": { + "type": "number", + "format": "double", + "nullable": true + }, + "percent_off": { + "type": "number", + "format": "double", + "nullable": true + }, + "name": { + "type": "string", + "nullable": true + } + }, + "required": [ + "amount_off", + "percent_off", + "name" + ], + "type": "object" + } + }, + "required": [ + "coupon" + ], + "type": "object", + "nullable": true + }, + "lines": { + "properties": { + "data": { + "items": { + "properties": { + "description": { + "type": "string", + "nullable": true + }, + "amount": { + "type": "number", + "format": "double", + "nullable": true + }, + "id": { + "type": "string", + "nullable": true + } + }, + "required": [ + "description", + "amount", + "id" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "data" + ], + "type": "object", + "nullable": true + }, + "next_payment_attempt": { + "type": "number", + "format": "double", + "nullable": true + }, + "currency": { + "type": "string", + "nullable": true + } + }, + "required": [ + "evaluators_usage", + "experiments_usage", + "total", + "tax", + "subtotal", + "discount", + "lines", + "next_payment_attempt", + "currency" + ], + "type": "object", + "nullable": true } } } @@ -18220,9 +13858,9 @@ "parameters": [] } }, - "/v1/stripe/subscription/cost-for-evals": { - "get": { - "operationId": "GetCostForEvals", + "/v1/stripe/subscription/cancel-subscription": { + "post": { + "operationId": "CancelSubscription", "responses": { "200": { "description": "Ok", @@ -18230,7 +13868,10 @@ "application/json": { "schema": { "type": "number", - "format": "double" + "enum": [ + null + ], + "nullable": true } } } @@ -18247,17 +13888,16 @@ "parameters": [] } }, - "/v1/stripe/subscription/cost-for-experiments": { + "/v1/stripe/payment-intents/search": { "get": { - "operationId": "GetCostForExperiments", + "operationId": "SearchPaymentIntents", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "type": "number", - "format": "double" + "$ref": "#/components/schemas/StripePaymentIntentsResponse" } } } @@ -18271,39 +13911,38 @@ "api_key": [] } ], - "parameters": [] - } - }, - "/v1/stripe/subscription/free/usage": { - "get": { - "operationId": "GetFreeUsage", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "type": "number", - "format": "double" - } - } + "parameters": [ + { + "in": "query", + "name": "search_kind", + "required": true, + "schema": { + "type": "string" } - } - }, - "tags": [ - "Stripe" - ], - "security": [ + }, { - "api_key": [] + "in": "query", + "name": "limit", + "required": false, + "schema": { + "format": "double", + "type": "number" + } + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "string" + } } - ], - "parameters": [] + ] } }, - "/v1/stripe/cloud/checkout-session": { - "post": { - "operationId": "CreateCloudGatewayCheckoutSession", + "/v1/stripe/subscription": { + "get": { + "operationId": "GetSubscription", "responses": { "200": { "description": "Ok", @@ -18311,50 +13950,76 @@ "application/json": { "schema": { "properties": { - "checkoutUrl": { + "items": { + "items": { + "properties": { + "price": { + "properties": { + "product": { + "properties": { + "name": { + "type": "string", + "nullable": true + } + }, + "required": [ + "name" + ], + "type": "object", + "nullable": true + } + }, + "required": [ + "product" + ], + "type": "object" + }, + "quantity": { + "type": "number", + "format": "double" + } + }, + "required": [ + "price" + ], + "type": "object" + }, + "type": "array" + }, + "trial_end": { + "type": "number", + "format": "double", + "nullable": true + }, + "id": { + "type": "string" + }, + "current_period_start": { + "type": "number", + "format": "double" + }, + "current_period_end": { + "type": "number", + "format": "double" + }, + "cancel_at_period_end": { + "type": "boolean" + }, + "status": { "type": "string" } }, "required": [ - "checkoutUrl" + "items", + "trial_end", + "id", + "current_period_start", + "current_period_end", + "cancel_at_period_end", + "status" ], - "type": "object" - } - } - } - } - }, - "tags": [ - "Stripe" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateCloudGatewayCheckoutSessionRequest" - } - } - } - } - } - }, - "/v1/stripe/subscription/new-customer/upgrade-to-pro": { - "post": { - "operationId": "UpgradeToPro", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "type": "string" + "type": "object", + "nullable": true } } } @@ -18368,29 +14033,24 @@ "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpgradeToProRequest" - } - } - } - } + "parameters": [] } }, - "/v1/stripe/subscription/existing-customer/upgrade-to-pro": { - "post": { - "operationId": "UpgradeExistingCustomer", + "/v1/stripe/auto-topoff/settings": { + "get": { + "operationId": "GetAutoTopoffSettings", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "type": "string" + "allOf": [ + { + "$ref": "#/components/schemas/AutoTopoffSettings" + } + ], + "nullable": true } } } @@ -18404,29 +14064,17 @@ "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpgradeToProRequest" - } - } - } - } - } - }, - "/v1/stripe/subscription/new-customer/upgrade-to-team-bundle": { + "parameters": [] + }, "post": { - "operationId": "UpgradeToTeamBundle", + "operationId": "UpdateAutoTopoffSettings", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "type": "string" + "$ref": "#/components/schemas/AutoTopoffSettings" } } } @@ -18442,27 +14090,33 @@ ], "parameters": [], "requestBody": { - "required": false, + "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UpgradeToTeamBundleRequest" + "$ref": "#/components/schemas/UpdateAutoTopoffSettingsRequest" } } } } - } - }, - "/v1/stripe/subscription/existing-customer/upgrade-to-team-bundle": { - "post": { - "operationId": "UpgradeExistingCustomerToTeamBundle", + }, + "delete": { + "operationId": "DisableAutoTopoff", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "type": "string" + "properties": { + "success": { + "type": "boolean" + } + }, + "required": [ + "success" + ], + "type": "object" } } } @@ -18476,29 +14130,22 @@ "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": false, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpgradeToTeamBundleRequest" - } - } - } - } + "parameters": [] } }, - "/v1/stripe/subscription/manage-subscription": { - "post": { - "operationId": "ManageSubscription", + "/v1/stripe/payment-methods": { + "get": { + "operationId": "GetPaymentMethods", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "type": "string" + "items": { + "$ref": "#/components/schemas/PaymentMethod" + }, + "type": "array" } } } @@ -18515,20 +14162,24 @@ "parameters": [] } }, - "/v1/stripe/subscription/undo-cancel-subscription": { + "/v1/stripe/payment-methods/setup-session": { "post": { - "operationId": "UndoCancelSubscription", + "operationId": "CreateSetupSession", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "type": "number", - "enum": [ - null + "properties": { + "setupUrl": { + "type": "string" + } + }, + "required": [ + "setupUrl" ], - "nullable": true + "type": "object" } } } @@ -18542,23 +14193,37 @@ "api_key": [] } ], - "parameters": [] + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateSetupSessionRequest" + } + } + } + } } }, - "/v1/stripe/subscription/add-ons/{productType}": { - "post": { - "operationId": "AddOns", + "/v1/stripe/payment-methods/{paymentMethodId}": { + "delete": { + "operationId": "RemovePaymentMethod", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "type": "number", - "enum": [ - null + "properties": { + "success": { + "type": "boolean" + } + }, + "required": [ + "success" ], - "nullable": true + "type": "object" } } } @@ -18575,31 +14240,28 @@ "parameters": [ { "in": "path", - "name": "productType", + "name": "paymentMethodId", "required": true, "schema": { - "type": "string", - "enum": [ - "alerts", - "prompts", - "experiments", - "evals" - ] + "type": "string" } } ] - }, - "delete": { - "operationId": "DeleteAddOns", + } + }, + "/v1/stripe/subscription/usage-stats": { + "get": { + "operationId": "GetUsageStats", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "type": "number", - "enum": [ - null + "allOf": [ + { + "$ref": "#/components/schemas/UsageStatsResponse" + } ], "nullable": true } @@ -18615,187 +14277,60 @@ "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "productType", - "required": true, - "schema": { - "type": "string", - "enum": [ - "alerts", - "prompts", - "experiments", - "evals" - ] - } - } - ] + "parameters": [] } }, - "/v1/stripe/subscription/preview-invoice": { - "get": { - "operationId": "PreviewInvoice", + "/v1/integration": { + "post": { + "operationId": "CreateIntegration", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "properties": { - "evaluators_usage": { - "items": { - "$ref": "#/components/schemas/LLMUsage" - }, - "type": "array" - }, - "experiments_usage": { - "items": { - "$ref": "#/components/schemas/LLMUsage" - }, - "type": "array" - }, - "total": { - "type": "number", - "format": "double" - }, - "tax": { - "type": "number", - "format": "double", - "nullable": true - }, - "subtotal": { - "type": "number", - "format": "double" - }, - "discount": { - "properties": { - "coupon": { - "properties": { - "amount_off": { - "type": "number", - "format": "double", - "nullable": true - }, - "percent_off": { - "type": "number", - "format": "double", - "nullable": true - }, - "name": { - "type": "string", - "nullable": true - } - }, - "required": [ - "amount_off", - "percent_off", - "name" - ], - "type": "object" - } - }, - "required": [ - "coupon" - ], - "type": "object", - "nullable": true - }, - "lines": { - "properties": { - "data": { - "items": { - "properties": { - "description": { - "type": "string", - "nullable": true - }, - "amount": { - "type": "number", - "format": "double", - "nullable": true - }, - "id": { - "type": "string", - "nullable": true - } - }, - "required": [ - "description", - "amount", - "id" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "data" - ], - "type": "object", - "nullable": true - }, - "next_payment_attempt": { - "type": "number", - "format": "double", - "nullable": true - }, - "currency": { - "type": "string", - "nullable": true - } - }, - "required": [ - "evaluators_usage", - "experiments_usage", - "total", - "tax", - "subtotal", - "discount", - "lines", - "next_payment_attempt", - "currency" - ], - "type": "object", - "nullable": true + "$ref": "#/components/schemas/Result__id-string_.string_" } } } } }, "tags": [ - "Stripe" + "Integration" ], "security": [ { "api_key": [] } ], - "parameters": [] - } - }, - "/v1/stripe/subscription/cancel-subscription": { - "post": { - "operationId": "CancelSubscription", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IntegrationCreateParams" + } + } + } + } + }, + "get": { + "operationId": "GetIntegrations", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "type": "number", - "enum": [ - null - ], - "nullable": true + "$ref": "#/components/schemas/Result_Array_Integration_.string_" } } } } }, "tags": [ - "Stripe" + "Integration" ], "security": [ { @@ -18805,47 +14340,66 @@ "parameters": [] } }, - "/v1/stripe/subscription/migrate-to-pro": { + "/v1/integration/{integrationId}": { "post": { - "operationId": "MigrateToPro", + "operationId": "UpdateIntegration", "responses": { "200": { "description": "Ok", "content": { "application/json": { - "schema": {} + "schema": { + "$ref": "#/components/schemas/Result_null.string_" + } } } } }, "tags": [ - "Stripe" + "Integration" ], "security": [ { "api_key": [] } ], - "parameters": [] - } - }, - "/v1/stripe/payment-intents/search": { + "parameters": [ + { + "in": "path", + "name": "integrationId", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IntegrationUpdateParams" + } + } + } + } + }, "get": { - "operationId": "SearchPaymentIntents", + "operationId": "GetIntegration", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/StripePaymentIntentsResponse" + "$ref": "#/components/schemas/Result_Integration.string_" } } } } }, "tags": [ - "Stripe" + "Integration" ], "security": [ { @@ -18854,26 +14408,44 @@ ], "parameters": [ { - "in": "query", - "name": "search_kind", + "in": "path", + "name": "integrationId", "required": true, "schema": { "type": "string" } - }, - { - "in": "query", - "name": "limit", - "required": false, - "schema": { - "format": "double", - "type": "number" + } + ] + } + }, + "/v1/integration/type/{type}": { + "get": { + "operationId": "GetIntegrationByType", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Result_Integration.string_" + } + } } - }, + } + }, + "tags": [ + "Integration" + ], + "security": [ { - "in": "query", - "name": "page", - "required": false, + "api_key": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "type", + "required": true, "schema": { "type": "string" } @@ -18881,93 +14453,23 @@ ] } }, - "/v1/stripe/subscription": { + "/v1/integration/slack/settings": { "get": { - "operationId": "GetSubscription", + "operationId": "GetSlackSettings", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "properties": { - "items": { - "items": { - "properties": { - "price": { - "properties": { - "product": { - "properties": { - "name": { - "type": "string", - "nullable": true - } - }, - "required": [ - "name" - ], - "type": "object", - "nullable": true - } - }, - "required": [ - "product" - ], - "type": "object" - }, - "quantity": { - "type": "number", - "format": "double" - } - }, - "required": [ - "price" - ], - "type": "object" - }, - "type": "array" - }, - "trial_end": { - "type": "number", - "format": "double", - "nullable": true - }, - "id": { - "type": "string" - }, - "current_period_start": { - "type": "number", - "format": "double" - }, - "current_period_end": { - "type": "number", - "format": "double" - }, - "cancel_at_period_end": { - "type": "boolean" - }, - "status": { - "type": "string" - } - }, - "required": [ - "items", - "trial_end", - "id", - "current_period_start", - "current_period_end", - "cancel_at_period_end", - "status" - ], - "type": "object", - "nullable": true + "$ref": "#/components/schemas/Result_Integration.string_" } } } } }, "tags": [ - "Stripe" + "Integration" ], "security": [ { @@ -18977,28 +14479,23 @@ "parameters": [] } }, - "/v1/stripe/auto-topoff/settings": { + "/v1/integration/slack/channels": { "get": { - "operationId": "GetAutoTopoffSettings", + "operationId": "GetSlackChannels", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/AutoTopoffSettings" - } - ], - "nullable": true + "$ref": "#/components/schemas/Result_Array__id-string--name-string__.string_" } } } } }, "tags": [ - "Stripe" + "Integration" ], "security": [ { @@ -19006,128 +14503,172 @@ } ], "parameters": [] - }, + } + }, + "/v1/integration/{integrationId}/stripe/test-meter-event": { "post": { - "operationId": "UpdateAutoTopoffSettings", + "operationId": "TestStripeMeterEvent", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AutoTopoffSettings" + "$ref": "#/components/schemas/Result_string.string_" } } } } }, "tags": [ - "Stripe" + "Integration" ], "security": [ { "api_key": [] } ], - "parameters": [], + "parameters": [ + { + "in": "path", + "name": "integrationId", + "required": true, + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UpdateAutoTopoffSettingsRequest" + "$ref": "#/components/schemas/TestStripeMeterEventRequest" } } } } - }, - "delete": { - "operationId": "DisableAutoTopoff", + } + }, + "/v1/request/count/query": { + "post": { + "operationId": "GetRequestCount", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "properties": { - "success": { - "type": "boolean" - } - }, - "required": [ - "success" - ], - "type": "object" + "$ref": "#/components/schemas/Result_number.string_" } } } } }, "tags": [ - "Stripe" + "Request" ], "security": [ { "api_key": [] } - ], - "parameters": [] + ], + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RequestQueryParams" + } + } + } + } } }, - "/v1/stripe/payment-methods": { - "get": { - "operationId": "GetPaymentMethods", + "/v1/request/query": { + "post": { + "operationId": "GetRequests", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "items": { - "$ref": "#/components/schemas/PaymentMethod" - }, - "type": "array" + "$ref": "#/components/schemas/Result_HeliconeRequest-Array.string_" + }, + "examples": { + "Example 1": { + "value": { + "filter": {}, + "isCached": false, + "limit": 10, + "offset": 0, + "sort": { + "created_at": "desc" + }, + "isScored": false, + "isPartOfExperiment": false + } + } } } } } }, "tags": [ - "Stripe" + "Request" ], "security": [ { "api_key": [] } ], - "parameters": [] + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RequestQueryParams" + } + } + } + } } }, - "/v1/stripe/payment-methods/setup-session": { + "/v1/request/query-clickhouse": { "post": { - "operationId": "CreateSetupSession", + "operationId": "GetRequestsClickhouse", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "properties": { - "setupUrl": { - "type": "string" + "$ref": "#/components/schemas/Result_HeliconeRequest-Array.string_" + }, + "examples": { + "Example 1": { + "value": { + "filter": {}, + "isCached": false, + "limit": 10, + "offset": 0, + "sort": { + "created_at": "desc" + }, + "isScored": false, + "isPartOfExperiment": false } - }, - "required": [ - "setupUrl" - ], - "type": "object" + } } } } } }, "tags": [ - "Stripe" + "Request" ], "security": [ { @@ -19140,38 +14681,30 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CreateSetupSessionRequest" + "$ref": "#/components/schemas/RequestQueryParams" } } } } } }, - "/v1/stripe/payment-methods/{paymentMethodId}": { - "delete": { - "operationId": "RemovePaymentMethod", + "/v1/request/{requestId}": { + "get": { + "operationId": "GetRequestById", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "properties": { - "success": { - "type": "boolean" - } - }, - "required": [ - "success" - ], - "type": "object" + "$ref": "#/components/schemas/Result_HeliconeRequest.string_" } } } } }, "tags": [ - "Stripe" + "Request" ], "security": [ { @@ -19181,63 +14714,76 @@ "parameters": [ { "in": "path", - "name": "paymentMethodId", + "name": "requestId", "required": true, "schema": { "type": "string" } + }, + { + "in": "query", + "name": "includeBody", + "required": false, + "schema": { + "default": false, + "type": "boolean" + } } ] } }, - "/v1/stripe/subscription/usage-stats": { + "/v1/request/{requestId}/inputs": { "get": { - "operationId": "GetUsageStats", + "operationId": "GetRequestInputs", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/UsageStatsResponse" - } - ], - "nullable": true + "$ref": "#/components/schemas/Result__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null.string_" } } } } }, "tags": [ - "Stripe" + "Request" ], "security": [ { "api_key": [] } ], - "parameters": [] + "parameters": [ + { + "in": "path", + "name": "requestId", + "required": true, + "schema": { + "type": "string" + } + } + ] } }, - "/v1/integration": { + "/v1/request/query-ids": { "post": { - "operationId": "CreateIntegration", + "operationId": "GetRequestsByIds", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__id-string_.string_" + "$ref": "#/components/schemas/Result_HeliconeRequest-Array.string_" } } } } }, "tags": [ - "Integration" + "Request" ], "security": [ { @@ -19250,40 +14796,27 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IntegrationCreateParams" + "properties": { + "requestIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "requestIds" + ], + "type": "object" } } } } - }, - "get": { - "operationId": "GetIntegrations", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_Array_Integration_.string_" - } - } - } - } - }, - "tags": [ - "Integration" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [] } }, - "/v1/integration/{integrationId}": { + "/v1/request/{requestId}/feedback": { "post": { - "operationId": "UpdateIntegration", + "operationId": "FeedbackRequest", "responses": { "200": { "description": "Ok", @@ -19297,7 +14830,7 @@ } }, "tags": [ - "Integration" + "Request" ], "security": [ { @@ -19307,7 +14840,7 @@ "parameters": [ { "in": "path", - "name": "integrationId", + "name": "requestId", "required": true, "schema": { "type": "string" @@ -19319,28 +14852,38 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IntegrationUpdateParams" + "properties": { + "rating": { + "type": "boolean" + } + }, + "required": [ + "rating" + ], + "type": "object" } } } } - }, - "get": { - "operationId": "GetIntegration", + } + }, + "/v1/request/{requestId}/property": { + "put": { + "operationId": "PutProperty", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_Integration.string_" + "$ref": "#/components/schemas/Result_null.string_" } } } } }, "tags": [ - "Integration" + "Request" ], "security": [ { @@ -19350,119 +14893,97 @@ "parameters": [ { "in": "path", - "name": "integrationId", + "name": "requestId", "required": true, "schema": { "type": "string" } } - ] - } - }, - "/v1/integration/type/{type}": { - "get": { - "operationId": "GetIntegrationByType", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_Integration.string_" - } - } - } - } - }, - "tags": [ - "Integration" - ], - "security": [ - { - "api_key": [] - } ], - "parameters": [ - { - "in": "path", - "name": "type", - "required": true, - "schema": { - "type": "string" + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "value": { + "type": "string" + }, + "key": { + "type": "string" + } + }, + "required": [ + "value", + "key" + ], + "type": "object" + } } } - ] + } } }, - "/v1/integration/slack/settings": { - "get": { - "operationId": "GetSlackSettings", + "/v1/request/{requestId}/assets/{assetId}": { + "post": { + "operationId": "GetRequestAssetById", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_Integration.string_" + "$ref": "#/components/schemas/Result_HeliconeRequestAsset.string_" } } } } }, "tags": [ - "Integration" + "Request" ], "security": [ { "api_key": [] } ], - "parameters": [] - } - }, - "/v1/integration/slack/channels": { - "get": { - "operationId": "GetSlackChannels", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_Array__id-string--name-string__.string_" - } - } + "parameters": [ + { + "in": "path", + "name": "requestId", + "required": true, + "schema": { + "type": "string" } - } - }, - "tags": [ - "Integration" - ], - "security": [ + }, { - "api_key": [] + "in": "path", + "name": "assetId", + "required": true, + "schema": { + "type": "string" + } } - ], - "parameters": [] + ] } }, - "/v1/integration/{integrationId}/stripe/test-meter-event": { + "/v1/request/{requestId}/score": { "post": { - "operationId": "TestStripeMeterEvent", + "operationId": "AddScores", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_string.string_" + "$ref": "#/components/schemas/Result_null.string_" } } } } }, "tags": [ - "Integration" + "Request" ], "security": [ { @@ -19472,7 +14993,7 @@ "parameters": [ { "in": "path", - "name": "integrationId", + "name": "requestId", "required": true, "schema": { "type": "string" @@ -19484,132 +15005,89 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/TestStripeMeterEventRequest" + "$ref": "#/components/schemas/ScoreRequest" } } } } } }, - "/v1/request/count/query": { - "post": { - "operationId": "GetRequestCount", + "/v1/wrapped/2025": { + "get": { + "operationId": "GetWrapped2025Stats", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_number.string_" + "$ref": "#/components/schemas/Result_WrappedStats.string_" } } } } }, "tags": [ - "Request" + "Wrapped" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RequestQueryParams" - } - } - } - } + "parameters": [] } }, - "/v1/request/query": { - "post": { - "operationId": "GetRequests", + "/v1/wrapped/2025/check": { + "get": { + "operationId": "CheckHasWrapped2025Data", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_HeliconeRequest-Array.string_" - }, - "examples": { - "Example 1": { - "value": { - "filter": {}, - "isCached": false, - "limit": 10, - "offset": 0, - "sort": { - "created_at": "desc" - }, - "isScored": false, - "isPartOfExperiment": false - } - } + "$ref": "#/components/schemas/Result__hasData-boolean_.string_" } } } } }, "tags": [ - "Request" + "Wrapped" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RequestQueryParams" - } - } - } - } + "parameters": [] } }, - "/v1/request/query-clickhouse": { + "/v1/webhooks": { "post": { - "operationId": "GetRequestsClickhouse", + "operationId": "NewWebhook", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_HeliconeRequest-Array.string_" - }, - "examples": { - "Example 1": { - "value": { - "filter": {}, - "isCached": false, - "limit": 10, - "offset": 0, - "sort": { - "created_at": "desc" - }, - "isScored": false, - "isPartOfExperiment": false + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_unknown_" + }, + { + "$ref": "#/components/schemas/ResultError_unknown_" } - } + ] } } } } }, "tags": [ - "Request" + "Webhooks" ], "security": [ { @@ -19622,74 +15100,54 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/RequestQueryParams" + "$ref": "#/components/schemas/WebhookData" } } } } - } - }, - "/v1/request/{requestId}": { + }, "get": { - "operationId": "GetRequestById", + "operationId": "GetWebhooks", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_HeliconeRequest.string_" + "$ref": "#/components/schemas/Result__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array.string_" } } } } }, "tags": [ - "Request" + "Webhooks" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "requestId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "query", - "name": "includeBody", - "required": false, - "schema": { - "default": false, - "type": "boolean" - } - } - ] + "parameters": [] } }, - "/v1/request/{requestId}/inputs": { - "get": { - "operationId": "GetRequestInputs", + "/v1/webhooks/{webhookId}": { + "delete": { + "operationId": "DeleteWebhook", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null.string_" + "$ref": "#/components/schemas/Result_null.string_" } } } } }, "tags": [ - "Request" + "Webhooks" ], "security": [ { @@ -19699,7 +15157,7 @@ "parameters": [ { "in": "path", - "name": "requestId", + "name": "webhookId", "required": true, "schema": { "type": "string" @@ -19708,180 +15166,120 @@ ] } }, - "/v1/request/query-ids": { + "/v1/webhooks/{webhookId}/test": { "post": { - "operationId": "GetRequestsByIds", + "operationId": "TestWebhook", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_HeliconeRequest-Array.string_" + "$ref": "#/components/schemas/Result__success-boolean--message-string_.string_" } } } } }, "tags": [ - "Request" + "Webhooks" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "requestIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "requestIds" - ], - "type": "object" - } + "parameters": [ + { + "in": "path", + "name": "webhookId", + "required": true, + "schema": { + "type": "string" } } - } + ] } }, - "/v1/request/{requestId}/feedback": { + "/v1/vault/add": { "post": { - "operationId": "FeedbackRequest", + "operationId": "AddKey", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result__id-string_.string_" } } } } - }, - "tags": [ - "Request" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "requestId", - "required": true, - "schema": { - "type": "string" - } - } + }, + "tags": [ + "Vault" + ], + "security": [ + { + "api_key": [] + } ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "properties": { - "rating": { - "type": "boolean" - } - }, - "required": [ - "rating" - ], - "type": "object" + "$ref": "#/components/schemas/AddVaultKeyParams" } } } } } }, - "/v1/request/{requestId}/property": { - "put": { - "operationId": "PutProperty", + "/v1/vault/keys": { + "get": { + "operationId": "GetKeys", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result_DecryptedProviderKey-Array.string_" } } } } }, "tags": [ - "Request" + "Vault" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "requestId", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "value": { - "type": "string" - }, - "key": { - "type": "string" - } - }, - "required": [ - "value", - "key" - ], - "type": "object" - } - } - } - } + "parameters": [] } }, - "/v1/request/{requestId}/assets/{assetId}": { - "post": { - "operationId": "GetRequestAssetById", + "/v1/vault/key/{providerKeyId}": { + "get": { + "operationId": "GetKeyById", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_HeliconeRequestAsset.string_" + "$ref": "#/components/schemas/Result_DecryptedProviderKey.string_" } } } } }, "tags": [ - "Request" + "Vault" ], "security": [ { @@ -19891,15 +15289,7 @@ "parameters": [ { "in": "path", - "name": "requestId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "path", - "name": "assetId", + "name": "providerKeyId", "required": true, "schema": { "type": "string" @@ -19908,9 +15298,9 @@ ] } }, - "/v1/request/{requestId}/score": { - "post": { - "operationId": "AddScores", + "/v1/vault/update/{id}": { + "patch": { + "operationId": "UpdateKey", "responses": { "200": { "description": "Ok", @@ -19924,7 +15314,7 @@ } }, "tags": [ - "Request" + "Vault" ], "security": [ { @@ -19934,7 +15324,7 @@ "parameters": [ { "in": "path", - "name": "requestId", + "name": "id", "required": true, "schema": { "type": "string" @@ -19946,89 +15336,129 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ScoreRequest" + "properties": { + "active": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "key": { + "type": "string" + } + }, + "type": "object" } } } } } }, - "/v1/wrapped/2025": { - "get": { - "operationId": "GetWrapped2025Stats", + "/v1/user/metrics-overview/query": { + "post": { + "operationId": "GetUserMetricsOverview", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_WrappedStats.string_" + "$ref": "#/components/schemas/Result__request_count-HistogramRow-Array--user_cost-HistogramRow-Array_.string_" } } } } }, "tags": [ - "Wrapped" + "User" ], "security": [ { "api_key": [] } ], - "parameters": [] + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "useInterquartile": { + "type": "boolean" + }, + "pSize": { + "$ref": "#/components/schemas/PSize" + }, + "filter": { + "$ref": "#/components/schemas/UserFilterNode" + } + }, + "required": [ + "useInterquartile", + "pSize", + "filter" + ], + "type": "object" + } + } + } + } } }, - "/v1/wrapped/2025/check": { - "get": { - "operationId": "CheckHasWrapped2025Data", + "/v1/user/metrics/query": { + "post": { + "operationId": "GetUserMetrics", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__hasData-boolean_.string_" + "$ref": "#/components/schemas/Result__users-UserMetricsResult-Array--count-number--hasUsers-boolean_.string_" } } } } }, "tags": [ - "Wrapped" + "User" ], "security": [ { "api_key": [] } ], - "parameters": [] + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserMetricsQueryParams" + } + } + } + } } }, - "/v1/webhooks": { + "/v1/user/query": { "post": { - "operationId": "NewWebhook", + "operationId": "GetUsers", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_unknown_" - }, - { - "$ref": "#/components/schemas/ResultError_unknown_" - } - ] + "$ref": "#/components/schemas/Result__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array.string_" } } } } }, "tags": [ - "Webhooks" + "User" ], "security": [ { @@ -20041,124 +15471,118 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WebhookData" + "$ref": "#/components/schemas/UserQueryParams" } } } } - }, - "get": { - "operationId": "GetWebhooks", + } + }, + "/v1/trace/custom/v1/log": { + "post": { + "operationId": "LogCustomTraceLegacy", "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array.string_" - } - } - } + "204": { + "description": "No content" } }, "tags": [ - "Webhooks" + "Trace" ], "security": [ { "api_key": [] } ], - "parameters": [] + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": {} + } + } + } } }, - "/v1/webhooks/{webhookId}": { - "delete": { - "operationId": "DeleteWebhook", + "/v1/trace/custom/log": { + "post": { + "operationId": "LogCustomTrace", "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } - } - } + "204": { + "description": "No content" } }, "tags": [ - "Webhooks" + "Trace" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "webhookId", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": {} } } - ] + } } }, - "/v1/webhooks/{webhookId}/test": { + "/v1/trace/custom/log/typed": { "post": { - "operationId": "TestWebhook", + "operationId": "LogCustomTraceTyped", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__success-boolean--message-string_.string_" + "anyOf": [ + { + "$ref": "#/components/schemas/ValidationResult" + }, + {} + ] } } } } }, "tags": [ - "Webhooks" + "Trace" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "webhookId", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TypedAsyncLogModel" + } } } - ] + } } }, - "/v1/vault/add": { + "/v1/trace/log": { "post": { - "operationId": "AddKey", + "operationId": "LogTrace", "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result__id-string_.string_" - } - } - } + "204": { + "description": "No content" } }, "tags": [ - "Vault" + "Trace" ], "security": [ { @@ -20171,147 +15595,129 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AddVaultKeyParams" + "$ref": "#/components/schemas/OTELTrace" } } } } } }, - "/v1/vault/keys": { - "get": { - "operationId": "GetKeys", + "/v1/trace/log-python": { + "post": { + "operationId": "LogPythonTrace", "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_DecryptedProviderKey-Array.string_" - } - } - } + "204": { + "description": "No content" } }, "tags": [ - "Vault" + "Trace" ], "security": [ { "api_key": [] } ], - "parameters": [] + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": {} + } + } + } } }, - "/v1/vault/key/{providerKeyId}": { - "get": { - "operationId": "GetKeyById", + "/v1/test/gateway-request": { + "post": { + "operationId": "SendTestRequest", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_DecryptedProviderKey.string_" + "$ref": "#/components/schemas/SendTestRequestResponse" } } } } }, "tags": [ - "Vault" + "Test" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "providerKeyId", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SendTestRequestRequest" + } } } - ] + } } }, - "/v1/vault/update/{id}": { - "patch": { - "operationId": "UpdateKey", + "/v1/session/query": { + "post": { + "operationId": "GetSessions", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result_SessionResult-Array.string_" } } } } }, "tags": [ - "Vault" + "Session" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "id", - "required": true, - "schema": { - "type": "string" - } - } - ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "properties": { - "active": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "key": { - "type": "string" - } - }, - "type": "object" + "$ref": "#/components/schemas/SessionQueryParams" } } } } } }, - "/v1/user/metrics-overview/query": { + "/v1/session/count": { "post": { - "operationId": "GetUserMetricsOverview", + "operationId": "GetSessionsCount", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__request_count-HistogramRow-Array--user_cost-HistogramRow-Array_.string_" + "$ref": "#/components/schemas/Result_SessionsAggregateMetrics.string_" } } } } }, "tags": [ - "User" + "Session" ], "security": [ { @@ -20324,46 +15730,30 @@ "content": { "application/json": { "schema": { - "properties": { - "useInterquartile": { - "type": "boolean" - }, - "pSize": { - "$ref": "#/components/schemas/PSize" - }, - "filter": { - "$ref": "#/components/schemas/UserFilterNode" - } - }, - "required": [ - "useInterquartile", - "pSize", - "filter" - ], - "type": "object" + "$ref": "#/components/schemas/SessionQueryParams" } } } } } }, - "/v1/user/metrics/query": { + "/v1/session/name/query": { "post": { - "operationId": "GetUserMetrics", + "operationId": "GetNames", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__users-UserMetricsResult-Array--count-number--hasUsers-boolean_.string_" + "$ref": "#/components/schemas/Result_SessionNameResult-Array.string_" } } } } }, "tags": [ - "User" + "Session" ], "security": [ { @@ -20376,30 +15766,30 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UserMetricsQueryParams" + "$ref": "#/components/schemas/SessionNameQueryParams" } } } } } }, - "/v1/user/query": { + "/v1/session/metrics/query": { "post": { - "operationId": "GetUsers", + "operationId": "GetMetrics", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array.string_" + "$ref": "#/components/schemas/Result_SessionMetrics.string_" } } } } }, "tags": [ - "User" + "Session" ], "security": [ { @@ -20412,181 +15802,238 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UserQueryParams" + "$ref": "#/components/schemas/SessionMetricsQueryParams" } } } } } }, - "/v1/trace/custom/v1/log": { + "/v1/session/{sessionId}/feedback": { "post": { - "operationId": "LogCustomTraceLegacy", + "operationId": "UpdateSessionFeedback", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Result_null.string_" + } + } + } } }, "tags": [ - "Trace" + "Session" ], "security": [ { "api_key": [] } ], - "parameters": [], + "parameters": [ + { + "in": "path", + "name": "sessionId", + "required": true, + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { - "schema": {} + "schema": { + "properties": { + "rating": { + "type": "boolean" + } + }, + "required": [ + "rating" + ], + "type": "object" + } } } } } }, - "/v1/trace/custom/log": { - "post": { - "operationId": "LogCustomTrace", + "/v1/session/{sessionId}/tag": { + "get": { + "operationId": "GetSessionTag", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Result_string-or-null.string_" + } + } + } } }, "tags": [ - "Trace" + "Session" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": {} + "parameters": [ + { + "in": "path", + "name": "sessionId", + "required": true, + "schema": { + "type": "string" } } - } - } - }, - "/v1/trace/custom/log/typed": { + ] + }, "post": { - "operationId": "LogCustomTraceTyped", + "operationId": "UpdateSessionTag", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "anyOf": [ - { - "$ref": "#/components/schemas/ValidationResult" - }, - {} - ] + "$ref": "#/components/schemas/Result_null.string_" } } } } }, "tags": [ - "Trace" + "Session" ], "security": [ { "api_key": [] } ], - "parameters": [], + "parameters": [ + { + "in": "path", + "name": "sessionId", + "required": true, + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/TypedAsyncLogModel" + "properties": { + "tag": { + "type": "string" + } + }, + "required": [ + "tag" + ], + "type": "object" } } } } } }, - "/v1/trace/log": { - "post": { - "operationId": "LogTrace", + "/v1/public/status/provider": { + "get": { + "operationId": "GetAllProviderStatus", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Result_ProviderMetrics-Array.string_" + } + } + } } }, "tags": [ - "Trace" + "Status" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OTELTrace" - } - } - } - } + "parameters": [] } }, - "/v1/trace/log-python": { - "post": { - "operationId": "LogPythonTrace", + "/v1/public/status/provider/{provider}": { + "get": { + "operationId": "GetProviderStatus", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Result_ProviderMetrics.string_" + } + } + } } }, "tags": [ - "Trace" + "Status" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": {} + "parameters": [ + { + "in": "path", + "name": "provider", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "timeFrame", + "required": true, + "schema": { + "$ref": "#/components/schemas/TimeFrame" } } - } + ] } }, - "/v1/test/gateway-request": { + "/v1/providers": { "post": { - "operationId": "SendTestRequest", + "operationId": "GetProviders", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SendTestRequestResponse" + "$ref": "#/components/schemas/Result_ProviderMetric-Array.string_" } } } } }, "tags": [ - "Test" + "Providers" ], "security": [ { @@ -20599,30 +16046,30 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SendTestRequestRequest" + "$ref": "#/components/schemas/ProviderQueryParams" } } } } } }, - "/v1/session/query": { + "/v1/property/properties/over-time": { "post": { - "operationId": "GetSessions", + "operationId": "GetPropertiesOverTime", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_SessionResult-Array.string_" + "$ref": "#/components/schemas/Result__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array.string_" } } } } }, "tags": [ - "Session" + "Property" ], "security": [ { @@ -20635,30 +16082,45 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SessionQueryParams" + "allOf": [ + { + "$ref": "#/components/schemas/DataOverTimeRequest" + }, + { + "properties": { + "propertyKey": { + "type": "string" + } + }, + "required": [ + "propertyKey" + ], + "type": "object" + } + ] } } } } } }, - "/v1/session/count": { + "/v1/property/query": { "post": { - "operationId": "GetSessionsCount", + "operationId": "GetProperties", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_SessionsAggregateMetrics.string_" + "$ref": "#/components/schemas/Result_Property-Array.string_" } } } } }, "tags": [ - "Session" + "Property" ], "security": [ { @@ -20671,30 +16133,62 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SessionQueryParams" + "properties": {}, + "type": "object" } } } } } }, - "/v1/session/name/query": { + "/v1/property/hide": { "post": { - "operationId": "GetNames", + "operationId": "HideProperty", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_SessionNameResult-Array.string_" + "anyOf": [ + { + "$ref": "#/components/schemas/ResultError_string_" + }, + { + "$ref": "#/components/schemas/ResultSuccess_string_" + }, + { + "$ref": "#/components/schemas/ResultSuccess_unknown-Array_" + }, + { + "properties": { + "error": {}, + "data": { + "properties": { + "ok": { + "type": "boolean" + } + }, + "required": [ + "ok" + ], + "type": "object" + } + }, + "required": [ + "error", + "data" + ], + "type": "object" + } + ] } } } } }, "tags": [ - "Session" + "Property" ], "security": [ { @@ -20707,94 +16201,114 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SessionNameQueryParams" + "properties": { + "key": { + "type": "string" + } + }, + "required": [ + "key" + ], + "type": "object" } } } } } }, - "/v1/session/metrics/query": { + "/v1/property/hidden/query": { "post": { - "operationId": "GetMetrics", + "operationId": "GetHiddenProperties", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_SessionMetrics.string_" + "$ref": "#/components/schemas/Result_Property-Array.string_" } } } } }, "tags": [ - "Session" + "Property" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SessionMetricsQueryParams" - } - } - } - } + "parameters": [] } }, - "/v1/session/{sessionId}/feedback": { + "/v1/property/restore": { "post": { - "operationId": "UpdateSessionFeedback", + "operationId": "RestoreProperty", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "anyOf": [ + { + "$ref": "#/components/schemas/ResultError_string_" + }, + { + "$ref": "#/components/schemas/ResultSuccess_string_" + }, + { + "$ref": "#/components/schemas/ResultSuccess_unknown-Array_" + }, + { + "properties": { + "error": {}, + "data": { + "properties": { + "ok": { + "type": "boolean" + } + }, + "required": [ + "ok" + ], + "type": "object" + } + }, + "required": [ + "error", + "data" + ], + "type": "object" + } + ] } } } } }, "tags": [ - "Session" + "Property" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "sessionId", - "required": true, - "schema": { - "type": "string" - } - } - ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "properties": { - "rating": { - "type": "boolean" + "key": { + "type": "string" } }, "required": [ - "rating" + "key" ], "type": "object" } @@ -20803,56 +16317,23 @@ } } }, - "/v1/session/{sessionId}/tag": { - "get": { - "operationId": "GetSessionTag", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_string-or-null.string_" - } - } - } - } - }, - "tags": [ - "Session" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "sessionId", - "required": true, - "schema": { - "type": "string" - } - } - ] - }, + "/v1/property/{propertyKey}/search": { "post": { - "operationId": "UpdateSessionTag", + "operationId": "SearchProperties", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result_string-Array.string_" } } } } }, "tags": [ - "Session" + "Property" ], "security": [ { @@ -20862,7 +16343,7 @@ "parameters": [ { "in": "path", - "name": "sessionId", + "name": "propertyKey", "required": true, "schema": { "type": "string" @@ -20875,12 +16356,12 @@ "application/json": { "schema": { "properties": { - "tag": { + "searchTerm": { "type": "string" } }, "required": [ - "tag" + "searchTerm" ], "type": "object" } @@ -20889,49 +16370,23 @@ } } }, - "/v1/public/status/provider": { - "get": { - "operationId": "GetAllProviderStatus", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_ProviderMetrics-Array.string_" - } - } - } - } - }, - "tags": [ - "Status" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [] - } - }, - "/v1/public/status/provider/{provider}": { - "get": { - "operationId": "GetProviderStatus", + "/v1/property/{propertyKey}/top-costs/query": { + "post": { + "operationId": "GetTopCosts", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_ProviderMetrics.string_" + "$ref": "#/components/schemas/Result__value-string--cost-number_-Array.string_" } } } } }, "tags": [ - "Status" + "Property" ], "security": [ { @@ -20941,214 +16396,206 @@ "parameters": [ { "in": "path", - "name": "provider", + "name": "propertyKey", "required": true, "schema": { "type": "string" } - }, - { - "in": "query", - "name": "timeFrame", - "required": true, - "schema": { - "$ref": "#/components/schemas/TimeFrame" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TimeFilterRequest" + } } } - ] + } } }, - "/v1/providers": { + "/v1/property/{propertyKey}/top-requests/query": { "post": { - "operationId": "GetProviders", + "operationId": "GetTopRequests", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_ProviderMetric-Array.string_" + "$ref": "#/components/schemas/Result__value-string--count-number_-Array.string_" } } } } }, "tags": [ - "Providers" + "Property" ], "security": [ { "api_key": [] } ], - "parameters": [], + "parameters": [ + { + "in": "path", + "name": "propertyKey", + "required": true, + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProviderQueryParams" + "$ref": "#/components/schemas/TimeFilterRequest" } } } } } }, - "/v1/property/properties/over-time": { - "post": { - "operationId": "GetPropertiesOverTime", + "/v1/prompt-2025/id/{promptId}": { + "get": { + "operationId": "GetPrompt2025", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array.string_" + "$ref": "#/components/schemas/Result_Prompt2025.string_" } } } } }, "tags": [ - "Property" + "Prompt2025" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/DataOverTimeRequest" - }, - { - "properties": { - "propertyKey": { - "type": "string" - } - }, - "required": [ - "propertyKey" - ], - "type": "object" - } - ] - } + "parameters": [ + { + "in": "path", + "name": "promptId", + "required": true, + "schema": { + "type": "string" } } - } + ] } }, - "/v1/property/query": { + "/v1/prompt-2025/id/{promptId}/rename": { "post": { - "operationId": "GetProperties", + "operationId": "RenamePrompt2025", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_Property-Array.string_" + "$ref": "#/components/schemas/Result_null.string_" } } } } }, "tags": [ - "Property" + "Prompt2025" ], "security": [ { "api_key": [] } ], - "parameters": [], + "parameters": [ + { + "in": "path", + "name": "promptId", + "required": true, + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "properties": {}, + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], "type": "object" } } } - } - } - }, - "/v1/property/hide": { - "post": { - "operationId": "HideProperty", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultError_string_" - }, - { - "$ref": "#/components/schemas/ResultSuccess_string_" - }, - { - "$ref": "#/components/schemas/ResultSuccess_unknown-Array_" - }, - { - "properties": { - "error": {}, - "data": { - "properties": { - "ok": { - "type": "boolean" - } - }, - "required": [ - "ok" - ], - "type": "object" - } - }, - "required": [ - "error", - "data" - ], - "type": "object" - } - ] + } + } + }, + "/v1/prompt-2025/id/{promptId}/tags": { + "patch": { + "operationId": "UpdatePrompt2025Tags", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Result_string-Array.string_" } } } } }, "tags": [ - "Property" + "Prompt2025" ], "security": [ { "api_key": [] } ], - "parameters": [], + "parameters": [ + { + "in": "path", + "name": "promptId", + "required": true, + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "properties": { - "key": { - "type": "string" + "tags": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "key" + "tags" ], "type": "object" } @@ -21157,124 +16604,101 @@ } } }, - "/v1/property/hidden/query": { - "post": { - "operationId": "GetHiddenProperties", + "/v1/prompt-2025/{promptId}": { + "delete": { + "operationId": "DeletePrompt2025", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_Property-Array.string_" + "$ref": "#/components/schemas/Result_null.string_" } } } } }, "tags": [ - "Property" + "Prompt2025" ], "security": [ { "api_key": [] } ], - "parameters": [] + "parameters": [ + { + "in": "path", + "name": "promptId", + "required": true, + "schema": { + "type": "string" + } + } + ] } }, - "/v1/property/restore": { - "post": { - "operationId": "RestoreProperty", + "/v1/prompt-2025/{promptId}/{versionId}": { + "delete": { + "operationId": "DeletePrompt2025Version", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultError_string_" - }, - { - "$ref": "#/components/schemas/ResultSuccess_string_" - }, - { - "$ref": "#/components/schemas/ResultSuccess_unknown-Array_" - }, - { - "properties": { - "error": {}, - "data": { - "properties": { - "ok": { - "type": "boolean" - } - }, - "required": [ - "ok" - ], - "type": "object" - } - }, - "required": [ - "error", - "data" - ], - "type": "object" - } - ] + "$ref": "#/components/schemas/Result_null.string_" } } } } }, "tags": [ - "Property" + "Prompt2025" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "key": { - "type": "string" - } - }, - "required": [ - "key" - ], - "type": "object" - } + "parameters": [ + { + "in": "path", + "name": "promptId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "versionId", + "required": true, + "schema": { + "type": "string" } } - } + ] } }, - "/v1/property/{propertyKey}/search": { - "post": { - "operationId": "SearchProperties", + "/v1/prompt-2025/id/{promptId}/{versionId}/inputs": { + "get": { + "operationId": "GetPrompt2025Inputs", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_string-Array.string_" + "$ref": "#/components/schemas/Result_Prompt2025Input.string_" } } } } }, "tags": [ - "Property" + "Prompt2025" ], "security": [ { @@ -21284,140 +16708,218 @@ "parameters": [ { "in": "path", - "name": "propertyKey", + "name": "promptId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "versionId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "requestId", "required": true, "schema": { "type": "string" } } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "searchTerm": { - "type": "string" - } - }, - "required": [ - "searchTerm" - ], - "type": "object" + ] + } + }, + "/v1/prompt-2025/tags": { + "get": { + "operationId": "GetPrompt2025Tags", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Result_string-Array.string_" + } } } } - } + }, + "tags": [ + "Prompt2025" + ], + "security": [ + { + "api_key": [] + } + ], + "parameters": [] } }, - "/v1/property/{propertyKey}/top-costs/query": { - "post": { - "operationId": "GetTopCosts", + "/v1/prompt-2025/environments": { + "get": { + "operationId": "GetPrompt2025Environments", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__value-string--cost-number_-Array.string_" + "$ref": "#/components/schemas/Result_string-Array.string_" } } } } }, "tags": [ - "Property" + "Prompt2025" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "propertyKey", - "required": true, - "schema": { - "type": "string" + "parameters": [] + } + }, + "/v1/prompt-2025": { + "post": { + "operationId": "CreatePrompt2025", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Result_PromptCreateResponse.string_" + } + } } } + }, + "tags": [ + "Prompt2025" + ], + "security": [ + { + "api_key": [] + } ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/TimeFilterRequest" + "properties": { + "promptBody": { + "$ref": "#/components/schemas/OpenAIChatRequest" + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "type": "string" + } + }, + "required": [ + "promptBody", + "tags", + "name" + ], + "type": "object" } } } } } }, - "/v1/property/{propertyKey}/top-requests/query": { + "/v1/prompt-2025/update": { "post": { - "operationId": "GetTopRequests", + "operationId": "UpdatePrompt2025", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__value-string--count-number_-Array.string_" + "$ref": "#/components/schemas/Result__id-string_.string_" } } } } }, "tags": [ - "Property" + "Prompt2025" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "propertyKey", - "required": true, - "schema": { - "type": "string" - } - } - ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/TimeFilterRequest" + "properties": { + "promptBody": { + "$ref": "#/components/schemas/OpenAIChatRequest" + }, + "commitMessage": { + "type": "string" + }, + "environment": { + "type": "string" + }, + "newMajorVersion": { + "type": "boolean" + }, + "promptVersionId": { + "type": "string" + }, + "promptId": { + "type": "string" + } + }, + "required": [ + "promptBody", + "commitMessage", + "newMajorVersion", + "promptVersionId", + "promptId" + ], + "type": "object" } } } } } }, - "/v1/playground/generate": { + "/v1/prompt-2025/update/environment": { "post": { - "operationId": "Generate", + "operationId": "SetPromptVersionEnvironment", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_ChatCompletion-or-_content-string--reasoning-string--calls-any_.string_" + "$ref": "#/components/schemas/Result_null.string_" } } } } }, "tags": [ - "Playground" + "Prompt2025" ], "security": [ { @@ -21430,45 +16932,46 @@ "content": { "application/json": { "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/OpenAIChatRequest" + "properties": { + "environment": { + "type": "string" }, - { - "properties": { - "logRequest": { - "type": "boolean" - }, - "useAIGateway": { - "type": "boolean" - } - }, - "type": "object" + "promptVersionId": { + "type": "string" + }, + "promptId": { + "type": "string" } - ] + }, + "required": [ + "environment", + "promptVersionId", + "promptId" + ], + "type": "object" } } } } } }, - "/v1/playground/requests-through-helicone": { + "/v1/prompt-2025/remove/environment": { "post": { - "operationId": "RequestsThroughHelicone", + "operationId": "RemoveEnvironmentFromVersion", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_string.string_" + "$ref": "#/components/schemas/Result_null.string_" } } } } }, "tags": [ - "Playground" + "Prompt2025" ], "security": [ { @@ -21482,35 +16985,45 @@ "application/json": { "schema": { "properties": { - "requestsThroughHelicone": { - "type": "boolean" + "environment": { + "type": "string" + }, + "promptVersionId": { + "type": "string" + }, + "promptId": { + "type": "string" } }, "required": [ - "requestsThroughHelicone" + "environment", + "promptVersionId", + "promptId" ], "type": "object" } } } } - }, + } + }, + "/v1/prompt-2025/count": { "get": { - "operationId": "GetRequestsThroughHelicone", + "operationId": "GetPrompt2025Count", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_boolean.string_" + "$ref": "#/components/schemas/Result_number.string_" } } } } }, "tags": [ - "Playground" + "Prompt2025" ], "security": [ { @@ -21520,23 +17033,23 @@ "parameters": [] } }, - "/v1/public/pi/get-api-key": { + "/v1/prompt-2025/query": { "post": { - "operationId": "GetApiKey", + "operationId": "GetPrompts2025", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__apiKey-string_.string_" + "$ref": "#/components/schemas/Result_Prompt2025-Array.string_" } } } } }, "tags": [ - "PI" + "Prompt2025" ], "security": [ { @@ -21550,12 +17063,29 @@ "application/json": { "schema": { "properties": { - "sessionUUID": { + "pageSize": { + "type": "number", + "format": "double" + }, + "page": { + "type": "number", + "format": "double" + }, + "tagsFilter": { + "items": { + "type": "string" + }, + "type": "array" + }, + "search": { "type": "string" } }, "required": [ - "sessionUUID" + "pageSize", + "page", + "tagsFilter", + "search" ], "type": "object" } @@ -21564,23 +17094,23 @@ } } }, - "/v1/pi/session": { + "/v1/prompt-2025/query/version": { "post": { - "operationId": "AddSession", + "operationId": "GetPrompt2025Version", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_string.string_" + "$ref": "#/components/schemas/Result_Prompt2025Version.string_" } } } } }, "tags": [ - "PI" + "Prompt2025" ], "security": [ { @@ -21594,12 +17124,12 @@ "application/json": { "schema": { "properties": { - "sessionUUID": { + "promptVersionId": { "type": "string" } }, "required": [ - "sessionUUID" + "promptVersionId" ], "type": "object" } @@ -21608,114 +17138,163 @@ } } }, - "/v1/pi/org-name/query": { + "/v1/prompt-2025/query/environment-version": { "post": { - "operationId": "GetOrgName", + "operationId": "GetPrompt2025EnvironmentVersion", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_string.string_" + "$ref": "#/components/schemas/Result_Prompt2025Version.string_" } } } } }, "tags": [ - "PI" + "Prompt2025" ], "security": [ { "api_key": [] } ], - "parameters": [] + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "environment": { + "type": "string" + }, + "promptId": { + "type": "string" + } + }, + "required": [ + "environment", + "promptId" + ], + "type": "object" + } + } + } + } } }, - "/v1/pi/total-costs": { + "/v1/prompt-2025/query/versions": { "post": { - "operationId": "GetTotalCosts", + "operationId": "GetPrompt2025Versions", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_number.string_" + "$ref": "#/components/schemas/Result_Prompt2025Version-Array.string_" } } } } }, "tags": [ - "PI" + "Prompt2025" ], "security": [ { "api_key": [] } ], - "parameters": [] + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "majorVersion": { + "type": "number", + "format": "double" + }, + "promptId": { + "type": "string" + } + }, + "required": [ + "promptId" + ], + "type": "object" + } + } + } + } } }, - "/v1/pi/total_requests": { + "/v1/prompt-2025/query/production-version": { "post": { - "operationId": "PiGetTotalRequests", + "operationId": "GetPrompt2025ProductionVersion", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_number.string_" + "$ref": "#/components/schemas/Result_Prompt2025Version.string_" } } } } }, "tags": [ - "PI" + "Prompt2025" ], "security": [ { "api_key": [] } ], - "parameters": [] + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "promptId": { + "type": "string" + } + }, + "required": [ + "promptId" + ], + "type": "object" + } + } + } + } } }, - "/v1/pi/costs-over-time/query": { + "/v1/prompt-2025/query/total-versions": { "post": { - "operationId": "GetCostsOverTime", + "operationId": "GetPrompt2025TotalVersions", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__cost-number--created_at_trunc-string_-Array.string_" - }, - "examples": { - "Example 1": { - "value": { - "userFilter": "all", - "timeFilter": { - "start": "2024-01-01", - "end": "2024-01-31" - }, - "dbIncrement": "day", - "timeZoneDifference": 0 - } - } + "$ref": "#/components/schemas/Result_PromptVersionCounts.string_" } } } } }, "tags": [ - "PI" + "Prompt2025" ], "security": [ { @@ -21728,173 +17307,118 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DataOverTimeRequest" + "properties": { + "promptId": { + "type": "string" + } + }, + "required": [ + "promptId" + ], + "type": "object" } } } } } }, - "/v1/public/model-registry/models": { + "/v1/prompt-2025/{promptVersionId}/prompt-body": { "get": { - "operationId": "GetModelRegistry", + "operationId": "GetPrompt2025VersionBody", "responses": { "200": { - "description": "Complete model registry with models and filter options", + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_ModelRegistryResponse.string_" - }, - "examples": { - "Example 1": { - "value": { - "models": [ - { - "id": "claude-opus-4-1", - "name": "Anthropic: Claude Opus 4.1", - "author": "anthropic", - "contextLength": 200000, - "endpoints": [ - { - "provider": "anthropic", - "providerSlug": "anthropic", - "supportsPtb": true, - "pricing": { - "prompt": 15, - "completion": 75, - "cacheRead": 1.5, - "cacheWrite": 18.75 - } - } - ], - "maxOutput": 32000, - "trainingDate": "2025-08-05", - "description": "Most capable Claude model with extended context", - "inputModalities": [ - null - ], - "outputModalities": [ - null - ], - "supportedParameters": [ - null, - null, - null, - null, - null, - null, - null - ] - } - ], - "total": 150, - "filters": { - "providers": [ - { - "name": "anthropic", - "displayName": "Anthropic" - }, - { - "name": "openai", - "displayName": "OpenAI" - }, - { - "name": "google", - "displayName": "Google" - } - ], - "authors": [ - "anthropic", - "openai", - "google", - "meta" - ], - "capabilities": [ - "audio", - "image", - "thinking", - "caching", - "reasoning" - ] - } - } - } + "$ref": "#/components/schemas/Result_Prompt2025Version_91_prompt_body_93_.string_" } } } } }, - "description": "Get all available models from the registry", - "summary": "Returns a comprehensive list of all AI models with their configurations, pricing, and capabilities", + "description": "Get the full prompt body (messages, tools, etc.) for a specific prompt version.", "tags": [ - "Model Registry" + "Prompt2025" ], - "security": [], - "parameters": [] + "security": [ + { + "api_key": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "promptVersionId", + "required": true, + "schema": { + "type": "string" + } + } + ] } }, - "/v1/models": { - "get": { - "operationId": "GetModels", + "/v2/prompt-2025/query/version": { + "post": { + "operationId": "GetPrompt2025Version", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/OAIModelsResponse" + "$ref": "#/components/schemas/Result_Prompt2025Version.string_" } } } } }, "tags": [ - "Models" + "Prompt2025V2" ], - "security": [], - "parameters": [] - } - }, - "/v1/models/multimodal": { - "get": { - "operationId": "GetMultimodalModels", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OAIModelsResponse" - } + "security": [ + { + "api_key": [] + } + ], + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "promptVersionId": { + "type": "string" + } + }, + "required": [ + "promptVersionId" + ], + "type": "object" } } } - }, - "tags": [ - "Models" - ], - "security": [], - "parameters": [] + } } }, - "/v1/public/compare/models": { + "/v2/prompt-2025/query/environment-version": { "post": { - "operationId": "GetModelComparison", + "operationId": "GetPrompt2025EnvironmentVersion", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_Model-Array.string_" + "$ref": "#/components/schemas/Result_Prompt2025Version.string_" } } } } }, "tags": [ - "Comparison" + "Prompt2025V2" ], "security": [ { @@ -21907,33 +17431,42 @@ "content": { "application/json": { "schema": { - "items": { - "$ref": "#/components/schemas/ModelsToCompare" + "properties": { + "environment": { + "type": "string" + }, + "promptId": { + "type": "string" + } }, - "type": "array" + "required": [ + "environment", + "promptId" + ], + "type": "object" } } } } } }, - "/v1/metrics/totalRequests": { + "/v2/prompt-2025/query/production-version": { "post": { - "operationId": "GetTotalRequests", + "operationId": "GetPrompt2025ProductionVersion", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_number.string_" + "$ref": "#/components/schemas/Result_Prompt2025Version.string_" } } } } }, "tags": [ - "Metrics" + "Prompt2025V2" ], "security": [ { @@ -21946,66 +17479,64 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/MetricsFilterBody" + "properties": { + "promptId": { + "type": "string" + } + }, + "required": [ + "promptId" + ], + "type": "object" } } } } } }, - "/v1/metrics/totalCost": { - "post": { - "operationId": "GetTotalCost", + "/v1/prompt/has-prompts": { + "get": { + "operationId": "HasPrompts", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_number.string_" + "$ref": "#/components/schemas/Result__hasPrompts-boolean_.string_" } } } } }, "tags": [ - "Metrics" + "Prompt" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MetricsFilterBody" - } - } - } - } + "parameters": [] } }, - "/v1/metrics/averageLatency": { + "/v1/prompt/query": { "post": { - "operationId": "GetAverageLatency", + "operationId": "GetPrompts", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_number.string_" + "$ref": "#/components/schemas/Result_PromptsResult-Array.string_" } } } } }, "tags": [ - "Metrics" + "Prompt" ], "security": [ { @@ -22018,66 +17549,103 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/MetricsFilterBody" + "$ref": "#/components/schemas/PromptsQueryParams" } } } } } }, - "/v1/metrics/averageTimeToFirstToken": { + "/v1/prompt/{promptId}/query": { "post": { - "operationId": "GetAverageTimeToFirstToken", + "operationId": "GetPrompt", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_number.string_" + "$ref": "#/components/schemas/Result_PromptResult.string_" } } } } }, "tags": [ - "Metrics" + "Prompt" ], "security": [ { "api_key": [] } ], - "parameters": [], + "parameters": [ + { + "in": "path", + "name": "promptId", + "required": true, + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/MetricsFilterBody" + "$ref": "#/components/schemas/PromptQueryParams" } } } } } }, - "/v1/metrics/averageTokensPerRequest": { + "/v1/prompt/{promptId}": { + "delete": { + "operationId": "DeletePrompt", + "responses": { + "204": { + "description": "No content" + } + }, + "tags": [ + "Prompt" + ], + "security": [ + { + "api_key": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "promptId", + "required": true, + "schema": { + "type": "string" + } + } + ] + } + }, + "/v1/prompt/create": { "post": { - "operationId": "GetAverageTokensPerRequest", + "operationId": "CreatePrompt", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_TokensPerRequest.string_" + "$ref": "#/components/schemas/Result_CreatePromptResponse.string_" } } } } }, "tags": [ - "Metrics" + "Prompt" ], "security": [ { @@ -22090,462 +17658,590 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/MetricsFilterBody" + "properties": { + "metadata": { + "$ref": "#/components/schemas/Record_string.any_" + }, + "prompt": {}, + "userDefinedId": { + "type": "string" + } + }, + "required": [ + "metadata", + "prompt", + "userDefinedId" + ], + "type": "object" } } } } } }, - "/v1/metrics/totalThreats": { - "post": { - "operationId": "GetTotalThreats", + "/v1/prompt/{promptId}/user-defined-id": { + "patch": { + "operationId": "UpdatePromptUserDefinedId", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_number.string_" + "$ref": "#/components/schemas/Result_null.string_" } } } } }, "tags": [ - "Metrics" + "Prompt" ], "security": [ { "api_key": [] } ], - "parameters": [], + "parameters": [ + { + "in": "path", + "name": "promptId", + "required": true, + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/MetricsFilterBody" + "properties": { + "userDefinedId": { + "type": "string" + } + }, + "required": [ + "userDefinedId" + ], + "type": "object" } } } } } }, - "/v1/metrics/activeUsers": { + "/v1/prompt/version/{promptVersionId}/edit-label": { "post": { - "operationId": "GetActiveUsers", + "operationId": "EditPromptVersionLabel", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_number.string_" + "$ref": "#/components/schemas/Result__metadata-Record_string.any__.string_" } } } } }, "tags": [ - "Metrics" + "Prompt" ], "security": [ { "api_key": [] } ], - "parameters": [], + "parameters": [ + { + "in": "path", + "name": "promptVersionId", + "required": true, + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/MetricsFilterBody" + "$ref": "#/components/schemas/PromptEditSubversionLabelParams" } } } } } }, - "/v1/metrics/requestOverTime": { + "/v1/prompt/version/{promptVersionId}/edit-template": { "post": { - "operationId": "GetRequestsOverTime", + "operationId": "EditPromptVersionTemplate", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_RequestsOverTime-Array.string_" + "$ref": "#/components/schemas/Result_null.string_" } } } } }, "tags": [ - "Metrics" + "Prompt" ], "security": [ { "api_key": [] } ], - "parameters": [], + "parameters": [ + { + "in": "path", + "name": "promptVersionId", + "required": true, + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/MetricsOverTimeBody" + "$ref": "#/components/schemas/PromptEditSubversionTemplateParams" } } } } } }, - "/v1/metrics/costOverTime": { + "/v1/prompt/version/{promptVersionId}/subversion-from-ui": { "post": { - "operationId": "GetCostOverTime", + "operationId": "CreateSubversionFromUi", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_CostOverTime-Array.string_" + "$ref": "#/components/schemas/Result_PromptVersionResult.string_" } } } } }, "tags": [ - "Metrics" + "Prompt" ], "security": [ { "api_key": [] } ], - "parameters": [], + "parameters": [ + { + "in": "path", + "name": "promptVersionId", + "required": true, + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/MetricsOverTimeBody" + "$ref": "#/components/schemas/PromptCreateSubversionParams" } } } } } }, - "/v1/metrics/tokensOverTime": { + "/v1/prompt/version/{promptVersionId}/subversion": { "post": { - "operationId": "GetTokensOverTime", + "operationId": "CreateSubversion", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_TokensOverTime-Array.string_" + "$ref": "#/components/schemas/Result_PromptVersionResult.string_" } } } } }, "tags": [ - "Metrics" + "Prompt" ], "security": [ { "api_key": [] } ], - "parameters": [], + "parameters": [ + { + "in": "path", + "name": "promptVersionId", + "required": true, + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/MetricsOverTimeBody" + "$ref": "#/components/schemas/PromptCreateSubversionParams" } } } } } }, - "/v1/metrics/latencyOverTime": { + "/v1/prompt/version/{promptVersionId}/promote": { "post": { - "operationId": "GetLatencyOverTime", + "operationId": "PromotePromptVersionToProduction", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_LatencyOverTime-Array.string_" + "$ref": "#/components/schemas/Result_PromptVersionResult.string_" } } } } }, "tags": [ - "Metrics" + "Prompt" ], "security": [ { "api_key": [] } ], - "parameters": [], + "parameters": [ + { + "in": "path", + "name": "promptVersionId", + "required": true, + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/MetricsOverTimeBody" + "properties": { + "previousProductionVersionId": { + "type": "string" + } + }, + "required": [ + "previousProductionVersionId" + ], + "type": "object" } } } } } }, - "/v1/metrics/timeToFirstToken": { + "/v1/prompt/version/{promptVersionId}/inputs/query": { "post": { - "operationId": "GetTimeToFirstTokenOverTime", + "operationId": "GetInputs", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_TimeToFirstTokenOverTime-Array.string_" + "$ref": "#/components/schemas/Result_PromptInputRecord-Array.string_" } } } } }, "tags": [ - "Metrics" + "Prompt" ], "security": [ { "api_key": [] } ], - "parameters": [], + "parameters": [ + { + "in": "path", + "name": "promptVersionId", + "required": true, + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/MetricsOverTimeBody" + "properties": { + "random": { + "type": "boolean" + }, + "limit": { + "type": "number", + "format": "double" + } + }, + "required": [ + "limit" + ], + "type": "object" } } } } } }, - "/v1/metrics/usersOverTime": { + "/v1/prompt/{promptId}/versions/query": { "post": { - "operationId": "GetUsersOverTime", + "operationId": "GetPromptVersions", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_UsersOverTime-Array.string_" + "$ref": "#/components/schemas/Result_PromptVersionResult-Array.string_" } } } } }, "tags": [ - "Metrics" + "Prompt" ], "security": [ { "api_key": [] } ], - "parameters": [], + "parameters": [ + { + "in": "path", + "name": "promptId", + "required": true, + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/MetricsOverTimeBody" + "$ref": "#/components/schemas/PromptVersionsQueryParams" } } } } } }, - "/v1/metrics/threatsOverTime": { - "post": { - "operationId": "GetThreatsOverTime", + "/v1/prompt/version/{promptVersionId}": { + "get": { + "operationId": "GetPromptVersion", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_ThreatsOverTime-Array.string_" + "$ref": "#/components/schemas/Result_PromptVersionResult.string_" } } } } }, "tags": [ - "Metrics" + "Prompt" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MetricsOverTimeBody" - } + "parameters": [ + { + "in": "path", + "name": "promptVersionId", + "required": true, + "schema": { + "type": "string" } } - } - } - }, - "/v1/metrics/errorOverTime": { - "post": { - "operationId": "GetErrorsOverTime", + ] + }, + "delete": { + "operationId": "DeletePromptVersion", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_ErrorOverTime-Array.string_" + "$ref": "#/components/schemas/Result_null.string_" } } } } }, "tags": [ - "Metrics" + "Prompt" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MetricsOverTimeBody" - } + "parameters": [ + { + "in": "path", + "name": "promptVersionId", + "required": true, + "schema": { + "type": "string" } } - } + ] } }, - "/v1/metrics/requestStatusOverTime": { + "/v1/prompt/{user_defined_id}/compile": { "post": { - "operationId": "GetRequestStatusOverTime", + "operationId": "GetPromptVersionsCompiled", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_RequestsOverTime-Array.string_" + "$ref": "#/components/schemas/Result_PromptVersionResultCompiled.string_" } } } } }, "tags": [ - "Metrics" + "Prompt" ], "security": [ { "api_key": [] } ], - "parameters": [], + "parameters": [ + { + "in": "path", + "name": "user_defined_id", + "required": true, + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/MetricsOverTimeBody" + "$ref": "#/components/schemas/PromptVersiosQueryParamsCompiled" } } } } } }, - "/v1/metrics/requestCount": { + "/v1/prompt/{user_defined_id}/template": { "post": { - "operationId": "GetRequestCount", + "operationId": "GetPromptVersionTemplates", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_number.string_" + "$ref": "#/components/schemas/Result_PromptVersionResultFilled.string_" } } } } }, "tags": [ - "Metrics" + "Prompt" ], "security": [ { "api_key": [] } ], - "parameters": [], + "parameters": [ + { + "in": "path", + "name": "user_defined_id", + "required": true, + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/RequestCountBody" + "$ref": "#/components/schemas/PromptVersiosQueryParamsCompiled" } } } } } }, - "/v1/metrics/models": { + "/v1/playground/generate": { "post": { - "operationId": "GetModelMetrics", + "operationId": "Generate", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_ModelMetric-Array.string_" + "$ref": "#/components/schemas/Result_ChatCompletion-or-_content-string--reasoning-string--calls-any_.string_" } } } } }, "tags": [ - "Metrics" + "Playground" ], "security": [ { @@ -22558,30 +18254,45 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ModelMetricsBody" + "allOf": [ + { + "$ref": "#/components/schemas/OpenAIChatRequest" + }, + { + "properties": { + "logRequest": { + "type": "boolean" + }, + "useAIGateway": { + "type": "boolean" + } + }, + "type": "object" + } + ] } } } } } }, - "/v1/metrics/country": { + "/v1/playground/requests-through-helicone": { "post": { - "operationId": "GetCountryMetrics", + "operationId": "RequestsThroughHelicone", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_CountryData-Array.string_" + "$ref": "#/components/schemas/Result_string.string_" } } } } }, "tags": [ - "Metrics" + "Playground" ], "security": [ { @@ -22594,68 +18305,68 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CountryMetricsBody" + "properties": { + "requestsThroughHelicone": { + "type": "boolean" + } + }, + "required": [ + "requestsThroughHelicone" + ], + "type": "object" } } } } - } - }, - "/v1/metrics/quantiles": { - "post": { - "operationId": "GetQuantiles", + }, + "get": { + "operationId": "GetRequestsThroughHelicone", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_Quantiles-Array.string_" + "$ref": "#/components/schemas/Result_boolean.string_" } } } } }, "tags": [ - "Metrics" + "Playground" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/QuantilesBody" - } - } - } - } + "parameters": [] } }, - "/v1/public/security": { + "/v1/public/pi/get-api-key": { "post": { - "operationId": "GetSecurity", + "operationId": "GetApiKey", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__unsafe-boolean_.string_" + "$ref": "#/components/schemas/Result__apiKey-string_.string_" } } } } }, "tags": [ - "Security" + "PI" + ], + "security": [ + { + "api_key": [] + } ], - "security": [], "parameters": [], "requestBody": { "required": true, @@ -22663,16 +18374,12 @@ "application/json": { "schema": { "properties": { - "text": { + "sessionUUID": { "type": "string" - }, - "advanced": { - "type": "boolean" } }, "required": [ - "text", - "advanced" + "sessionUUID" ], "type": "object" } @@ -22681,53 +18388,23 @@ } } }, - "/v1/helicone-sql/schema": { - "get": { - "operationId": "GetClickHouseSchema", - "responses": { - "200": { - "description": "Array of table schemas with columns", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_ClickHouseTableSchema-Array.string_" - } - } - } - } - }, - "description": "Get ClickHouse schema (tables and columns)", - "summary": "Get database schema", - "tags": [ - "HeliconeSql" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [] - } - }, - "/v1/helicone-sql/execute": { + "/v1/pi/session": { "post": { - "operationId": "ExecuteSql", + "operationId": "AddSession", "responses": { "200": { - "description": "Query results with rows and metadata", + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_ExecuteSqlResponse.string_" + "$ref": "#/components/schemas/Result_string.string_" } } } } }, - "description": "Execute a SQL query against ClickHouse", - "summary": "Execute SQL query", "tags": [ - "HeliconeSql" + "PI" ], "security": [ { @@ -22736,25 +18413,31 @@ ], "parameters": [], "requestBody": { - "description": "The SQL query to execute", "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ExecuteSqlRequest", - "description": "The SQL query to execute" + "properties": { + "sessionUUID": { + "type": "string" + } + }, + "required": [ + "sessionUUID" + ], + "type": "object" } } } } } }, - "/v1/helicone-sql/download": { + "/v1/pi/org-name/query": { "post": { - "operationId": "DownloadCsv", + "operationId": "GetOrgName", "responses": { "200": { - "description": "URL to download the CSV file", + "description": "Ok", "content": { "application/json": { "schema": { @@ -22764,50 +18447,34 @@ } } }, - "description": "Execute a SQL query and download results as CSV", - "summary": "Download query results as CSV", "tags": [ - "HeliconeSql" + "PI" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "description": "The SQL query to execute", - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ExecuteSqlRequest", - "description": "The SQL query to execute" - } - } - } - } + "parameters": [] } }, - "/v1/helicone-sql/saved-queries": { - "get": { - "operationId": "GetSavedQueries", + "/v1/pi/total-costs": { + "post": { + "operationId": "GetTotalCosts", "responses": { "200": { - "description": "Array of saved queries", + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_Array_HqlSavedQuery_.string_" + "$ref": "#/components/schemas/Result_number.string_" } } } } }, - "description": "Get all saved queries for the organization", - "summary": "List saved queries", "tags": [ - "HeliconeSql" + "PI" ], "security": [ { @@ -22817,147 +18484,241 @@ "parameters": [] } }, - "/v1/helicone-sql/saved-query/{queryId}": { - "get": { - "operationId": "GetSavedQuery", + "/v1/pi/total_requests": { + "post": { + "operationId": "PiGetTotalRequests", "responses": { "200": { - "description": "The saved query details", + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_HqlSavedQuery-or-null.string_" + "$ref": "#/components/schemas/Result_number.string_" } } } } }, - "description": "Get a specific saved query by ID", - "summary": "Get saved query", "tags": [ - "HeliconeSql" + "PI" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "description": "The ID of the saved query", - "in": "path", - "name": "queryId", - "required": true, - "schema": { - "type": "string" - } - } - ] - }, - "delete": { - "operationId": "DeleteSavedQuery", + "parameters": [] + } + }, + "/v1/pi/costs-over-time/query": { + "post": { + "operationId": "GetCostsOverTime", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_void.string_" + "$ref": "#/components/schemas/Result__cost-number--created_at_trunc-string_-Array.string_" + }, + "examples": { + "Example 1": { + "value": { + "userFilter": "all", + "timeFilter": { + "start": "2024-01-01", + "end": "2024-01-31" + }, + "dbIncrement": "day", + "timeZoneDifference": 0 + } + } } } } } }, - "description": "Delete a saved query by ID", - "summary": "Delete saved query", "tags": [ - "HeliconeSql" + "PI" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "description": "The ID of the saved query to delete", - "in": "path", - "name": "queryId", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DataOverTimeRequest" + } } } - ] - }, - "put": { - "operationId": "UpdateSavedQuery", + } + } + }, + "/v1/public/model-registry/models": { + "get": { + "operationId": "GetModelRegistry", "responses": { "200": { - "description": "The updated saved query", + "description": "Complete model registry with models and filter options", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_HqlSavedQuery.string_" + "$ref": "#/components/schemas/Result_ModelRegistryResponse.string_" + }, + "examples": { + "Example 1": { + "value": { + "models": [ + { + "id": "claude-opus-4-1", + "name": "Anthropic: Claude Opus 4.1", + "author": "anthropic", + "contextLength": 200000, + "endpoints": [ + { + "provider": "anthropic", + "providerSlug": "anthropic", + "supportsPtb": true, + "pricing": { + "prompt": 15, + "completion": 75, + "cacheRead": 1.5, + "cacheWrite": 18.75 + } + } + ], + "maxOutput": 32000, + "trainingDate": "2025-08-05", + "description": "Most capable Claude model with extended context", + "inputModalities": [ + null + ], + "outputModalities": [ + null + ], + "supportedParameters": [ + null, + null, + null, + null, + null, + null, + null + ] + } + ], + "total": 150, + "filters": { + "providers": [ + { + "name": "anthropic", + "displayName": "Anthropic" + }, + { + "name": "openai", + "displayName": "OpenAI" + }, + { + "name": "google", + "displayName": "Google" + } + ], + "authors": [ + "anthropic", + "openai", + "google", + "meta" + ], + "capabilities": [ + "audio", + "image", + "thinking", + "caching", + "reasoning" + ] + } + } + } } } } } }, - "description": "Update an existing saved query", - "summary": "Update saved query", + "description": "Get all available models from the registry", + "summary": "Returns a comprehensive list of all AI models with their configurations, pricing, and capabilities", "tags": [ - "HeliconeSql" - ], - "security": [ - { - "api_key": [] - } + "Model Registry" ], - "parameters": [ - { - "description": "The ID of the saved query to update", - "in": "path", - "name": "queryId", - "required": true, - "schema": { - "type": "string" + "security": [], + "parameters": [] + } + }, + "/v1/models": { + "get": { + "operationId": "GetModels", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OAIModelsResponse" + } + } } } + }, + "tags": [ + "Models" ], - "requestBody": { - "description": "The updated query details", - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateSavedQueryRequest", - "description": "The updated query details" + "security": [], + "parameters": [] + } + }, + "/v1/models/multimodal": { + "get": { + "operationId": "GetMultimodalModels", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OAIModelsResponse" + } } } } - } + }, + "tags": [ + "Models" + ], + "security": [], + "parameters": [] } }, - "/v1/helicone-sql/saved-queries/bulk-delete": { + "/v1/public/compare/models": { "post": { - "operationId": "BulkDeleteSavedQueries", + "operationId": "GetModelComparison", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_void.string_" + "$ref": "#/components/schemas/Result_Model-Array.string_" } } } } }, - "description": "Delete multiple saved queries at once", - "summary": "Bulk delete saved queries", "tags": [ - "HeliconeSql" + "Comparison" ], "security": [ { @@ -22966,38 +18727,37 @@ ], "parameters": [], "requestBody": { - "description": "Array of query IDs to delete", "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/BulkDeleteSavedQueriesRequest", - "description": "Array of query IDs to delete" + "items": { + "$ref": "#/components/schemas/ModelsToCompare" + }, + "type": "array" } } } } } }, - "/v1/helicone-sql/saved-query": { + "/v1/metrics/totalRequests": { "post": { - "operationId": "CreateSavedQuery", + "operationId": "GetTotalRequests", "responses": { "200": { - "description": "Array containing the created saved query", + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_HqlSavedQuery-Array.string_" + "$ref": "#/components/schemas/Result_number.string_" } } } } }, - "description": "Create a new saved query", - "summary": "Create saved query", "tags": [ - "HeliconeSql" + "Metrics" ], "security": [ { @@ -23006,36 +18766,34 @@ ], "parameters": [], "requestBody": { - "description": "The saved query details", "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CreateSavedQueryRequest", - "description": "The saved query details" + "$ref": "#/components/schemas/MetricsFilterBody" } } } } } }, - "/v1/experiment/new-empty": { + "/v1/metrics/totalCost": { "post": { - "operationId": "CreateNewEmptyExperiment", + "operationId": "GetTotalCost", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__experimentId-string_.string_" + "$ref": "#/components/schemas/Result_number.string_" } } } } }, "tags": [ - "Experiment" + "Metrics" ], "security": [ { @@ -23048,42 +18806,30 @@ "content": { "application/json": { "schema": { - "properties": { - "datasetId": { - "type": "string" - }, - "metadata": { - "$ref": "#/components/schemas/Record_string.string_" - } - }, - "required": [ - "datasetId", - "metadata" - ], - "type": "object" + "$ref": "#/components/schemas/MetricsFilterBody" } } } } } }, - "/v1/experiment/table/new": { + "/v1/metrics/averageLatency": { "post": { - "operationId": "CreateNewExperimentTable", + "operationId": "GetAverageLatency", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__tableId-string--experimentId-string_.string_" + "$ref": "#/components/schemas/Result_number.string_" } } } } }, "tags": [ - "Experiment" + "Metrics" ], "security": [ { @@ -23096,527 +18842,354 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CreateExperimentTableParams" + "$ref": "#/components/schemas/MetricsFilterBody" } } } } } }, - "/v1/experiment/table/{experimentTableId}/query": { + "/v1/metrics/averageTimeToFirstToken": { "post": { - "operationId": "GetExperimentTableById", + "operationId": "GetAverageTimeToFirstToken", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_ExperimentTable.string_" + "$ref": "#/components/schemas/Result_number.string_" } } } } }, "tags": [ - "Experiment" + "Metrics" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentTableId", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetricsFilterBody" + } } } - ] + } } }, - "/v1/experiment/table/{experimentTableId}/metadata/query": { + "/v1/metrics/averageTokensPerRequest": { "post": { - "operationId": "GetExperimentTableMetadata", + "operationId": "GetAverageTokensPerRequest", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_ExperimentTableSimplified.string_" + "$ref": "#/components/schemas/Result_TokensPerRequest.string_" } } } } }, "tags": [ - "Experiment" + "Metrics" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentTableId", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetricsFilterBody" + } } } - ] + } } }, - "/v1/experiment/tables/query": { + "/v1/metrics/totalThreats": { "post": { - "operationId": "GetExperimentTables", + "operationId": "GetTotalThreats", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_ExperimentTableSimplified-Array.string_" + "$ref": "#/components/schemas/Result_number.string_" } } } } }, "tags": [ - "Experiment" + "Metrics" ], "security": [ { "api_key": [] } ], - "parameters": [] + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetricsFilterBody" + } + } + } + } } }, - "/v1/experiment/table/{experimentTableId}/cell": { + "/v1/metrics/activeUsers": { "post": { - "operationId": "CreateExperimentCell", + "operationId": "GetActiveUsers", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result_number.string_" } } } } }, "tags": [ - "Experiment" + "Metrics" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentTableId", - "required": true, - "schema": { - "type": "string" - } - } - ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "properties": { - "value": { - "type": "string", - "nullable": true - }, - "rowIndex": { - "type": "number", - "format": "double" - }, - "columnId": { - "type": "string" - } - }, - "required": [ - "value", - "rowIndex", - "columnId" - ], - "type": "object" + "$ref": "#/components/schemas/MetricsFilterBody" } } } } - }, - "patch": { - "operationId": "UpdateExperimentCell", + } + }, + "/v1/metrics/requestOverTime": { + "post": { + "operationId": "GetRequestsOverTime", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result_RequestsOverTime-Array.string_" } } } } }, "tags": [ - "Experiment" + "Metrics" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentTableId", - "required": true, - "schema": { - "type": "string" - } - } - ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "properties": { - "updateInputs": { - "type": "boolean" - }, - "metadata": { - "type": "string" - }, - "value": { - "type": "string" - }, - "status": { - "type": "string" - }, - "cellId": { - "type": "string" - } - }, - "required": [ - "cellId" - ], - "type": "object" + "$ref": "#/components/schemas/MetricsOverTimeBody" } } } } } }, - "/v1/experiment/table/{experimentTableId}/column": { + "/v1/metrics/costOverTime": { "post": { - "operationId": "CreateExperimentColumn", + "operationId": "GetCostOverTime", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result_CostOverTime-Array.string_" } } } } }, "tags": [ - "Experiment" + "Metrics" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentTableId", - "required": true, - "schema": { - "type": "string" - } - } - ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "properties": { - "inputKeys": { - "items": { - "type": "string" - }, - "type": "array" - }, - "promptVersionId": { - "type": "string" - }, - "hypothesisId": { - "type": "string" - }, - "columnType": { - "type": "string" - }, - "columnName": { - "type": "string" - } - }, - "required": [ - "columnType", - "columnName" - ], - "type": "object" + "$ref": "#/components/schemas/MetricsOverTimeBody" } } } } } }, - "/v1/experiment/table/{experimentTableId}/row/new": { + "/v1/metrics/tokensOverTime": { "post": { - "operationId": "CreateExperimentTableRow", + "operationId": "GetTokensOverTime", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result_TokensOverTime-Array.string_" } } } } }, "tags": [ - "Experiment" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "experimentTableId", - "required": true, - "schema": { - "type": "string" - } - } + "Metrics" ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "inputs": { - "$ref": "#/components/schemas/Record_string.string_" - }, - "sourceRequest": { - "type": "string" - }, - "promptVersionId": { - "type": "string" - } - }, - "required": [ - "promptVersionId" - ], - "type": "object" + "security": [ + { + "api_key": [] + } + ], + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetricsOverTimeBody" } } } } } }, - "/v1/experiment/table/{experimentTableId}/row/{rowIndex}": { - "delete": { - "operationId": "DeleteExperimentTableRow", + "/v1/metrics/latencyOverTime": { + "post": { + "operationId": "GetLatencyOverTime", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result_LatencyOverTime-Array.string_" } } } } }, "tags": [ - "Experiment" + "Metrics" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentTableId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "path", - "name": "rowIndex", - "required": true, - "schema": { - "format": "double", - "type": "number" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetricsOverTimeBody" + } } } - ] + } } }, - "/v1/experiment/table/{experimentTableId}/row/insert/batch": { + "/v1/metrics/timeToFirstToken": { "post": { - "operationId": "CreateExperimentTableRowWithCellsBatch", + "operationId": "GetTimeToFirstTokenOverTime", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result_TimeToFirstTokenOverTime-Array.string_" } } } } }, "tags": [ - "Experiment" + "Metrics" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentTableId", - "required": true, - "schema": { - "type": "string" - } - } - ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "properties": { - "rows": { - "items": { - "properties": { - "sourceRequest": { - "type": "string" - }, - "cells": { - "items": { - "properties": { - "metadata": {}, - "value": { - "type": "string", - "nullable": true - }, - "columnId": { - "type": "string" - } - }, - "required": [ - "value", - "columnId" - ], - "type": "object" - }, - "type": "array" - }, - "datasetId": { - "type": "string" - }, - "inputs": { - "$ref": "#/components/schemas/Record_string.string_" - }, - "inputRecordId": { - "type": "string" - } - }, - "required": [ - "cells", - "datasetId", - "inputs", - "inputRecordId" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "rows" - ], - "type": "object" + "$ref": "#/components/schemas/MetricsOverTimeBody" } } } } } }, - "/v1/experiment/update-meta": { + "/v1/metrics/usersOverTime": { "post": { - "operationId": "UpdateExperimentMeta", + "operationId": "GetUsersOverTime", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultError_string_" - }, - { - "$ref": "#/components/schemas/ResultSuccess_unknown_" - } - ] + "$ref": "#/components/schemas/Result_UsersOverTime-Array.string_" } } } } }, "tags": [ - "Experiment" + "Metrics" ], "security": [ { @@ -23629,42 +19202,30 @@ "content": { "application/json": { "schema": { - "properties": { - "meta": { - "$ref": "#/components/schemas/Record_string.string_" - }, - "experimentId": { - "type": "string" - } - }, - "required": [ - "meta", - "experimentId" - ], - "type": "object" + "$ref": "#/components/schemas/MetricsOverTimeBody" } } } } } }, - "/v1/experiment": { + "/v1/metrics/threatsOverTime": { "post": { - "operationId": "CreateNewExperimentOld", + "operationId": "GetThreatsOverTime", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__experimentId-string_.string_" + "$ref": "#/components/schemas/Result_ThreatsOverTime-Array.string_" } } } } }, "tags": [ - "Experiment" + "Metrics" ], "security": [ { @@ -23677,30 +19238,30 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/NewExperimentParams" + "$ref": "#/components/schemas/MetricsOverTimeBody" } } } } } }, - "/v1/experiment/hypothesis": { + "/v1/metrics/errorOverTime": { "post": { - "operationId": "CreateNewExperimentHypothesis", + "operationId": "GetErrorsOverTime", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__hypothesisId-string_.string_" + "$ref": "#/components/schemas/Result_ErrorOverTime-Array.string_" } } } } }, "tags": [ - "Experiment" + "Metrics" ], "security": [ { @@ -23713,265 +19274,212 @@ "content": { "application/json": { "schema": { - "properties": { - "status": { - "type": "string", - "enum": [ - "PENDING", - "RUNNING", - "COMPLETED", - "FAILED" - ] - }, - "providerKeyId": { - "type": "string" - }, - "promptVersion": { - "type": "string" - }, - "model": { - "type": "string" - }, - "experimentId": { - "type": "string" - } - }, - "required": [ - "status", - "providerKeyId", - "promptVersion", - "model", - "experimentId" - ], - "type": "object" + "$ref": "#/components/schemas/MetricsOverTimeBody" } } } } } }, - "/v1/experiment/hypothesis/{hypothesisId}/scores/query": { + "/v1/metrics/requestStatusOverTime": { "post": { - "operationId": "GetExperimentHypothesisScores", + "operationId": "GetRequestStatusOverTime", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__runsCount-number--scores-Record_string.Score__.string_" + "$ref": "#/components/schemas/Result_RequestsOverTime-Array.string_" } } } } }, "tags": [ - "Experiment" + "Metrics" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "hypothesisId", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetricsOverTimeBody" + } } } - ] + } } }, - "/v1/experiment/{experimentId}/evaluators": { - "get": { - "operationId": "GetExperimentEvaluators", + "/v1/metrics/requestCount": { + "post": { + "operationId": "GetRequestCount", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_EvaluatorResult-Array.string_" + "$ref": "#/components/schemas/Result_number.string_" } } } } }, "tags": [ - "Experiment" + "Metrics" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentId", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RequestCountBody" + } } } - ] - }, + } + } + }, + "/v1/metrics/models": { "post": { - "operationId": "CreateExperimentEvaluatorOld", + "operationId": "GetModelMetrics", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result_ModelMetric-Array.string_" } } } } }, "tags": [ - "Experiment" + "Metrics" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentId", - "required": true, - "schema": { - "type": "string" - } - } - ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "properties": { - "evaluatorId": { - "type": "string" - } - }, - "required": [ - "evaluatorId" - ], - "type": "object" + "$ref": "#/components/schemas/ModelMetricsBody" } } } } } }, - "/v1/experiment/{experimentId}/evaluators/run": { + "/v1/metrics/country": { "post": { - "operationId": "RunExperimentEvaluatorsOld", + "operationId": "GetCountryMetrics", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result_CountryData-Array.string_" } } } } }, "tags": [ - "Experiment" + "Metrics" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentId", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CountryMetricsBody" + } } } - ] + } } }, - "/v1/experiment/{experimentId}/evaluators/{evaluatorId}": { - "delete": { - "operationId": "DeleteExperimentEvaluatorOld", + "/v1/metrics/quantiles": { + "post": { + "operationId": "GetQuantiles", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result_Quantiles-Array.string_" } } } } }, "tags": [ - "Experiment" + "Metrics" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "path", - "name": "evaluatorId", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QuantilesBody" + } } } - ] + } } }, - "/v1/experiment/query": { + "/v1/public/security": { "post": { - "operationId": "GetExperimentsOld", + "operationId": "GetSecurity", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_Experiment-Array.string_" + "$ref": "#/components/schemas/Result__unsafe-boolean_.string_" } } } } }, "tags": [ - "Experiment" - ], - "security": [ - { - "api_key": [] - } + "Security" ], + "security": [], "parameters": [], "requestBody": { "required": true, @@ -23979,15 +19487,16 @@ "application/json": { "schema": { "properties": { - "include": { - "$ref": "#/components/schemas/IncludeExperimentKeys" + "text": { + "type": "string" }, - "filter": { - "$ref": "#/components/schemas/ExperimentFilterNode" + "advanced": { + "type": "boolean" } }, "required": [ - "filter" + "text", + "advanced" ], "type": "object" } @@ -23996,59 +19505,53 @@ } } }, - "/v1/experiment/dataset": { - "post": { - "operationId": "AddDataset", + "/v1/helicone-sql/schema": { + "get": { + "operationId": "GetClickHouseSchema", "responses": { "200": { - "description": "Ok", + "description": "Array of table schemas with columns", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__datasetId-string_.string_" + "$ref": "#/components/schemas/Result_ClickHouseTableSchema-Array.string_" } } } } }, + "description": "Get ClickHouse schema (tables and columns)", + "summary": "Get database schema", "tags": [ - "Dataset" + "HeliconeSql" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NewDatasetParams" - } - } - } - } + "parameters": [] } }, - "/v1/experiment/dataset/random": { + "/v1/helicone-sql/execute": { "post": { - "operationId": "AddRandomDataset", + "operationId": "ExecuteSql", "responses": { "200": { - "description": "Ok", + "description": "Query results with rows and metadata", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__datasetId-string_.string_" + "$ref": "#/components/schemas/Result_ExecuteSqlResponse.string_" } } } } }, + "description": "Execute a SQL query against ClickHouse", + "summary": "Execute SQL query", "tags": [ - "Dataset" + "HeliconeSql" ], "security": [ { @@ -24057,34 +19560,38 @@ ], "parameters": [], "requestBody": { + "description": "The SQL query to execute", "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/RandomDatasetParams" + "$ref": "#/components/schemas/ExecuteSqlRequest", + "description": "The SQL query to execute" } } } } } }, - "/v1/experiment/dataset/query": { + "/v1/helicone-sql/download": { "post": { - "operationId": "GetDatasets", + "operationId": "DownloadCsv", "responses": { "200": { - "description": "Ok", + "description": "URL to download the CSV file", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_DatasetResult-Array.string_" + "$ref": "#/components/schemas/Result_string.string_" } } } } }, + "description": "Execute a SQL query and download results as CSV", + "summary": "Download query results as CSV", "tags": [ - "Dataset" + "HeliconeSql" ], "security": [ { @@ -24093,39 +19600,66 @@ ], "parameters": [], "requestBody": { + "description": "The SQL query to execute", "required": true, "content": { "application/json": { "schema": { - "properties": { - "promptVersionId": { - "type": "string" - } - }, - "type": "object" + "$ref": "#/components/schemas/ExecuteSqlRequest", + "description": "The SQL query to execute" } } } } } }, - "/v1/experiment/dataset/{datasetId}/row/insert": { - "post": { - "operationId": "InsertDatasetRow", + "/v1/helicone-sql/saved-queries": { + "get": { + "operationId": "GetSavedQueries", "responses": { "200": { - "description": "Ok", + "description": "Array of saved queries", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_string.string_" + "$ref": "#/components/schemas/Result_Array_HqlSavedQuery_.string_" } } } } }, + "description": "Get all saved queries for the organization", + "summary": "List saved queries", "tags": [ - "Dataset" + "HeliconeSql" + ], + "security": [ + { + "api_key": [] + } + ], + "parameters": [] + } + }, + "/v1/helicone-sql/saved-query/{queryId}": { + "get": { + "operationId": "GetSavedQuery", + "responses": { + "200": { + "description": "The saved query details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Result_HqlSavedQuery-or-null.string_" + } + } + } + } + }, + "description": "Get a specific saved query by ID", + "summary": "Get saved query", + "tags": [ + "HeliconeSql" ], "security": [ { @@ -24134,58 +19668,34 @@ ], "parameters": [ { + "description": "The ID of the saved query", "in": "path", - "name": "datasetId", + "name": "queryId", "required": true, "schema": { "type": "string" } } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "originalColumnId": { - "type": "string" - }, - "inputs": { - "$ref": "#/components/schemas/Record_string.string_" - }, - "inputRecordId": { - "type": "string" - } - }, - "required": [ - "inputs", - "inputRecordId" - ], - "type": "object" - } - } - } - } - } - }, - "/v1/experiment/dataset/{datasetId}/version/{promptVersionId}/row/new": { - "post": { - "operationId": "CreateDatasetRow", + ] + }, + "delete": { + "operationId": "DeleteSavedQuery", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_string.string_" + "$ref": "#/components/schemas/Result_void.string_" } } } } }, + "description": "Delete a saved query by ID", + "summary": "Delete saved query", "tags": [ - "Dataset" + "HeliconeSql" ], "security": [ { @@ -24194,16 +19704,45 @@ ], "parameters": [ { + "description": "The ID of the saved query to delete", "in": "path", - "name": "datasetId", + "name": "queryId", "required": true, "schema": { "type": "string" } - }, + } + ] + }, + "put": { + "operationId": "UpdateSavedQuery", + "responses": { + "200": { + "description": "The updated saved query", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Result_HqlSavedQuery.string_" + } + } + } + } + }, + "description": "Update an existing saved query", + "summary": "Update saved query", + "tags": [ + "HeliconeSql" + ], + "security": [ + { + "api_key": [] + } + ], + "parameters": [ { + "description": "The ID of the saved query to update", "in": "path", - "name": "promptVersionId", + "name": "queryId", "required": true, "schema": { "type": "string" @@ -24211,80 +19750,78 @@ } ], "requestBody": { + "description": "The updated query details", "required": true, "content": { "application/json": { "schema": { - "properties": { - "sourceRequest": { - "type": "string" - }, - "inputs": { - "$ref": "#/components/schemas/Record_string.string_" - } - }, - "required": [ - "inputs" - ], - "type": "object" + "$ref": "#/components/schemas/CreateSavedQueryRequest", + "description": "The updated query details" } } } } } }, - "/v1/experiment/dataset/{datasetId}/inputs/query": { + "/v1/helicone-sql/saved-queries/bulk-delete": { "post": { - "operationId": "GetDataset", + "operationId": "BulkDeleteSavedQueries", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_PromptInputRecord-Array.string_" + "$ref": "#/components/schemas/Result_void.string_" } } } } }, + "description": "Delete multiple saved queries at once", + "summary": "Bulk delete saved queries", "tags": [ - "Dataset" + "HeliconeSql" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "datasetId", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "description": "Array of query IDs to delete", + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BulkDeleteSavedQueriesRequest", + "description": "Array of query IDs to delete" + } } } - ] + } } }, - "/v1/experiment/dataset/{datasetId}/mutate": { + "/v1/helicone-sql/saved-query": { "post": { - "operationId": "MutateDataset", + "operationId": "CreateSavedQuery", "responses": { "200": { - "description": "Ok", + "description": "Array containing the created saved query", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result___-Array.string_" + "$ref": "#/components/schemas/Result_HqlSavedQuery-Array.string_" } } } } }, + "description": "Create a new saved query", + "summary": "Create saved query", "tags": [ - "Dataset" + "HeliconeSql" ], "security": [ { @@ -24293,29 +19830,13 @@ ], "parameters": [], "requestBody": { + "description": "The saved query details", "required": true, "content": { "application/json": { "schema": { - "properties": { - "removeRequests": { - "items": { - "type": "string" - }, - "type": "array" - }, - "addRequests": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "removeRequests", - "addRequests" - ], - "type": "object" + "$ref": "#/components/schemas/CreateSavedQueryRequest", + "description": "The saved query details" } } } diff --git a/helicone-mcp/src/types/public.ts b/helicone-mcp/src/types/public.ts index 91d39a0f0f..0174df6644 100644 --- a/helicone-mcp/src/types/public.ts +++ b/helicone-mcp/src/types/public.ts @@ -42,9 +42,6 @@ export interface paths { "/v1/evaluator/query": { post: operations["QueryEvaluators"]; }; - "/v1/evaluator/{evaluatorId}/experiments": { - get: operations["GetExperimentsForEvaluator"]; - }; "/v1/evaluator/{evaluatorId}/onlineEvaluators": { get: operations["GetOnlineEvaluators"]; post: operations["CreateOnlineEvaluator"]; @@ -64,242 +61,24 @@ export interface paths { "/v1/evaluator/{evaluatorId}/stats": { get: operations["GetEvaluatorStats"]; }; - "/v1/prompt-2025/id/{promptId}": { - get: operations["GetPrompt2025"]; - }; - "/v1/prompt-2025/id/{promptId}/rename": { - post: operations["RenamePrompt2025"]; - }; - "/v1/prompt-2025/id/{promptId}/tags": { - patch: operations["UpdatePrompt2025Tags"]; - }; - "/v1/prompt-2025/{promptId}": { - delete: operations["DeletePrompt2025"]; - }; - "/v1/prompt-2025/{promptId}/{versionId}": { - delete: operations["DeletePrompt2025Version"]; - }; - "/v1/prompt-2025/id/{promptId}/{versionId}/inputs": { - get: operations["GetPrompt2025Inputs"]; - }; - "/v1/prompt-2025/tags": { - get: operations["GetPrompt2025Tags"]; - }; - "/v1/prompt-2025/environments": { - get: operations["GetPrompt2025Environments"]; - }; - "/v1/prompt-2025": { - post: operations["CreatePrompt2025"]; - }; - "/v1/prompt-2025/update": { - post: operations["UpdatePrompt2025"]; - }; - "/v1/prompt-2025/update/environment": { - post: operations["SetPromptVersionEnvironment"]; - }; - "/v1/prompt-2025/remove/environment": { - post: operations["RemoveEnvironmentFromVersion"]; - }; - "/v1/prompt-2025/count": { - get: operations["GetPrompt2025Count"]; - }; - "/v1/prompt-2025/query": { - post: operations["GetPrompts2025"]; - }; - "/v1/prompt-2025/query/version": { - post: operations["GetPrompt2025Version"]; - }; - "/v1/prompt-2025/query/environment-version": { - post: operations["GetPrompt2025EnvironmentVersion"]; - }; - "/v1/prompt-2025/query/versions": { - post: operations["GetPrompt2025Versions"]; - }; - "/v1/prompt-2025/query/production-version": { - post: operations["GetPrompt2025ProductionVersion"]; - }; - "/v1/prompt-2025/query/total-versions": { - post: operations["GetPrompt2025TotalVersions"]; - }; - "/v1/prompt-2025/{promptVersionId}/prompt-body": { - /** @description Get the full prompt body (messages, tools, etc.) for a specific prompt version. */ - get: operations["GetPrompt2025VersionBody"]; - }; - "/v2/prompt-2025/query/version": { - post: operations["GetPrompt2025Version"]; - }; - "/v2/prompt-2025/query/environment-version": { - post: operations["GetPrompt2025EnvironmentVersion"]; - }; - "/v2/prompt-2025/query/production-version": { - post: operations["GetPrompt2025ProductionVersion"]; - }; - "/v1/prompt/has-prompts": { - get: operations["HasPrompts"]; - }; - "/v1/prompt/query": { - post: operations["GetPrompts"]; - }; - "/v1/prompt/{promptId}/query": { - post: operations["GetPrompt"]; - }; - "/v1/prompt/{promptId}": { - delete: operations["DeletePrompt"]; - }; - "/v1/prompt/create": { - post: operations["CreatePrompt"]; - }; - "/v1/prompt/{promptId}/user-defined-id": { - patch: operations["UpdatePromptUserDefinedId"]; - }; - "/v1/prompt/version/{promptVersionId}/edit-label": { - post: operations["EditPromptVersionLabel"]; - }; - "/v1/prompt/version/{promptVersionId}/edit-template": { - post: operations["EditPromptVersionTemplate"]; - }; - "/v1/prompt/version/{promptVersionId}/subversion-from-ui": { - post: operations["CreateSubversionFromUi"]; - }; - "/v1/prompt/version/{promptVersionId}/subversion": { - post: operations["CreateSubversion"]; - }; - "/v1/prompt/version/{promptVersionId}/promote": { - post: operations["PromotePromptVersionToProduction"]; - }; - "/v1/prompt/version/{promptVersionId}/inputs/query": { - post: operations["GetInputs"]; - }; - "/v1/prompt/{promptId}/experiments": { - get: operations["GetPromptExperiments"]; - }; - "/v1/prompt/{promptId}/versions/query": { - post: operations["GetPromptVersions"]; - }; - "/v1/prompt/version/{promptVersionId}": { - get: operations["GetPromptVersion"]; - delete: operations["DeletePromptVersion"]; - }; - "/v1/prompt/{user_defined_id}/compile": { - post: operations["GetPromptVersionsCompiled"]; - }; - "/v1/prompt/{user_defined_id}/template": { - post: operations["GetPromptVersionTemplates"]; - }; - "/v2/experiment/create/empty": { - post: operations["CreateEmptyExperiment"]; - }; - "/v2/experiment/create/from-request/{requestId}": { - post: operations["CreateExperimentFromRequest"]; - }; - "/v2/experiment/new": { - post: operations["CreateNewExperiment"]; - }; - "/v2/experiment": { - get: operations["GetExperiments"]; - }; - "/v2/experiment/{experimentId}": { - get: operations["GetExperimentById"]; - delete: operations["DeleteExperiment"]; - }; - "/v2/experiment/{experimentId}/prompt-version": { - post: operations["CreateNewPromptVersionForExperiment"]; - }; - "/v2/experiment/{experimentId}/prompt-version/{promptVersionId}": { - delete: operations["DeletePromptVersion"]; - }; - "/v2/experiment/{experimentId}/prompt-versions": { - get: operations["GetPromptVersionsForExperiment"]; - }; - "/v2/experiment/{experimentId}/input-keys": { - get: operations["GetInputKeysForExperiment"]; - }; - "/v2/experiment/{experimentId}/add-manual-row": { - post: operations["AddManualRowToExperiment"]; - }; - "/v2/experiment/{experimentId}/add-manual-rows-batch": { - post: operations["AddManualRowsToExperimentBatch"]; - }; - "/v2/experiment/{experimentId}/rows": { - delete: operations["DeleteExperimentTableRows"]; - }; - "/v2/experiment/{experimentId}/row/insert/batch": { - post: operations["CreateExperimentTableRowBatch"]; - }; - "/v2/experiment/{experimentId}/row/insert/dataset/{datasetId}": { - post: operations["CreateExperimentTableRowFromDataset"]; - }; - "/v2/experiment/{experimentId}/row/update": { - post: operations["UpdateExperimentTableRow"]; - }; - "/v2/experiment/{experimentId}/run-hypothesis": { - post: operations["RunHypothesis"]; - }; - "/v2/experiment/{experimentId}/evaluators": { - get: operations["GetExperimentEvaluators"]; - post: operations["CreateExperimentEvaluator"]; - }; - "/v2/experiment/{experimentId}/evaluators/{evaluatorId}": { - delete: operations["DeleteExperimentEvaluator"]; - }; - "/v2/experiment/{experimentId}/evaluators/run": { - post: operations["RunExperimentEvaluators"]; - }; - "/v2/experiment/{experimentId}/should-run-evaluators": { - get: operations["ShouldRunEvaluators"]; - }; - "/v2/experiment/{experimentId}/{promptVersionId}/scores": { - get: operations["GetExperimentPromptVersionScores"]; - }; - "/v2/experiment/{experimentId}/{requestId}/{scoreKey}": { - get: operations["GetExperimentScore"]; - }; - "/v1/stripe/subscription/cost-for-prompts": { - get: operations["GetCostForPrompts"]; - }; - "/v1/stripe/subscription/cost-for-evals": { - get: operations["GetCostForEvals"]; - }; - "/v1/stripe/subscription/cost-for-experiments": { - get: operations["GetCostForExperiments"]; - }; "/v1/stripe/subscription/free/usage": { get: operations["GetFreeUsage"]; }; "/v1/stripe/cloud/checkout-session": { post: operations["CreateCloudGatewayCheckoutSession"]; }; - "/v1/stripe/subscription/new-customer/upgrade-to-pro": { - post: operations["UpgradeToPro"]; - }; - "/v1/stripe/subscription/existing-customer/upgrade-to-pro": { - post: operations["UpgradeExistingCustomer"]; - }; - "/v1/stripe/subscription/new-customer/upgrade-to-team-bundle": { - post: operations["UpgradeToTeamBundle"]; - }; - "/v1/stripe/subscription/existing-customer/upgrade-to-team-bundle": { - post: operations["UpgradeExistingCustomerToTeamBundle"]; - }; "/v1/stripe/subscription/manage-subscription": { post: operations["ManageSubscription"]; }; "/v1/stripe/subscription/undo-cancel-subscription": { post: operations["UndoCancelSubscription"]; }; - "/v1/stripe/subscription/add-ons/{productType}": { - post: operations["AddOns"]; - delete: operations["DeleteAddOns"]; - }; "/v1/stripe/subscription/preview-invoice": { get: operations["PreviewInvoice"]; }; "/v1/stripe/subscription/cancel-subscription": { post: operations["CancelSubscription"]; }; - "/v1/stripe/subscription/migrate-to-pro": { - post: operations["MigrateToPro"]; - }; "/v1/stripe/payment-intents/search": { get: operations["SearchPaymentIntents"]; }; @@ -480,84 +259,203 @@ export interface paths { "/v1/property/{propertyKey}/top-requests/query": { post: operations["GetTopRequests"]; }; - "/v1/playground/generate": { - post: operations["Generate"]; + "/v1/prompt-2025/id/{promptId}": { + get: operations["GetPrompt2025"]; }; - "/v1/playground/requests-through-helicone": { - get: operations["GetRequestsThroughHelicone"]; - post: operations["RequestsThroughHelicone"]; + "/v1/prompt-2025/id/{promptId}/rename": { + post: operations["RenamePrompt2025"]; }; - "/v1/public/pi/get-api-key": { - post: operations["GetApiKey"]; + "/v1/prompt-2025/id/{promptId}/tags": { + patch: operations["UpdatePrompt2025Tags"]; }; - "/v1/pi/session": { - post: operations["AddSession"]; + "/v1/prompt-2025/{promptId}": { + delete: operations["DeletePrompt2025"]; }; - "/v1/pi/org-name/query": { - post: operations["GetOrgName"]; + "/v1/prompt-2025/{promptId}/{versionId}": { + delete: operations["DeletePrompt2025Version"]; }; - "/v1/pi/total-costs": { - post: operations["GetTotalCosts"]; + "/v1/prompt-2025/id/{promptId}/{versionId}/inputs": { + get: operations["GetPrompt2025Inputs"]; }; - "/v1/pi/total_requests": { - post: operations["PiGetTotalRequests"]; + "/v1/prompt-2025/tags": { + get: operations["GetPrompt2025Tags"]; }; - "/v1/pi/costs-over-time/query": { - post: operations["GetCostsOverTime"]; + "/v1/prompt-2025/environments": { + get: operations["GetPrompt2025Environments"]; }; - "/v1/public/model-registry/models": { - /** - * Returns a comprehensive list of all AI models with their configurations, pricing, and capabilities - * @description Get all available models from the registry - */ - get: operations["GetModelRegistry"]; + "/v1/prompt-2025": { + post: operations["CreatePrompt2025"]; }; - "/v1/models": { - get: operations["GetModels"]; + "/v1/prompt-2025/update": { + post: operations["UpdatePrompt2025"]; }; - "/v1/models/multimodal": { - get: operations["GetMultimodalModels"]; + "/v1/prompt-2025/update/environment": { + post: operations["SetPromptVersionEnvironment"]; }; - "/v1/public/compare/models": { - post: operations["GetModelComparison"]; + "/v1/prompt-2025/remove/environment": { + post: operations["RemoveEnvironmentFromVersion"]; }; - "/v1/metrics/totalRequests": { - post: operations["GetTotalRequests"]; + "/v1/prompt-2025/count": { + get: operations["GetPrompt2025Count"]; }; - "/v1/metrics/totalCost": { - post: operations["GetTotalCost"]; + "/v1/prompt-2025/query": { + post: operations["GetPrompts2025"]; }; - "/v1/metrics/averageLatency": { - post: operations["GetAverageLatency"]; + "/v1/prompt-2025/query/version": { + post: operations["GetPrompt2025Version"]; }; - "/v1/metrics/averageTimeToFirstToken": { - post: operations["GetAverageTimeToFirstToken"]; + "/v1/prompt-2025/query/environment-version": { + post: operations["GetPrompt2025EnvironmentVersion"]; }; - "/v1/metrics/averageTokensPerRequest": { - post: operations["GetAverageTokensPerRequest"]; + "/v1/prompt-2025/query/versions": { + post: operations["GetPrompt2025Versions"]; }; - "/v1/metrics/totalThreats": { - post: operations["GetTotalThreats"]; + "/v1/prompt-2025/query/production-version": { + post: operations["GetPrompt2025ProductionVersion"]; }; - "/v1/metrics/activeUsers": { - post: operations["GetActiveUsers"]; + "/v1/prompt-2025/query/total-versions": { + post: operations["GetPrompt2025TotalVersions"]; }; - "/v1/metrics/requestOverTime": { - post: operations["GetRequestsOverTime"]; + "/v1/prompt-2025/{promptVersionId}/prompt-body": { + /** @description Get the full prompt body (messages, tools, etc.) for a specific prompt version. */ + get: operations["GetPrompt2025VersionBody"]; }; - "/v1/metrics/costOverTime": { - post: operations["GetCostOverTime"]; + "/v2/prompt-2025/query/version": { + post: operations["GetPrompt2025Version"]; }; - "/v1/metrics/tokensOverTime": { - post: operations["GetTokensOverTime"]; + "/v2/prompt-2025/query/environment-version": { + post: operations["GetPrompt2025EnvironmentVersion"]; }; - "/v1/metrics/latencyOverTime": { - post: operations["GetLatencyOverTime"]; + "/v2/prompt-2025/query/production-version": { + post: operations["GetPrompt2025ProductionVersion"]; }; - "/v1/metrics/timeToFirstToken": { - post: operations["GetTimeToFirstTokenOverTime"]; + "/v1/prompt/has-prompts": { + get: operations["HasPrompts"]; }; - "/v1/metrics/usersOverTime": { + "/v1/prompt/query": { + post: operations["GetPrompts"]; + }; + "/v1/prompt/{promptId}/query": { + post: operations["GetPrompt"]; + }; + "/v1/prompt/{promptId}": { + delete: operations["DeletePrompt"]; + }; + "/v1/prompt/create": { + post: operations["CreatePrompt"]; + }; + "/v1/prompt/{promptId}/user-defined-id": { + patch: operations["UpdatePromptUserDefinedId"]; + }; + "/v1/prompt/version/{promptVersionId}/edit-label": { + post: operations["EditPromptVersionLabel"]; + }; + "/v1/prompt/version/{promptVersionId}/edit-template": { + post: operations["EditPromptVersionTemplate"]; + }; + "/v1/prompt/version/{promptVersionId}/subversion-from-ui": { + post: operations["CreateSubversionFromUi"]; + }; + "/v1/prompt/version/{promptVersionId}/subversion": { + post: operations["CreateSubversion"]; + }; + "/v1/prompt/version/{promptVersionId}/promote": { + post: operations["PromotePromptVersionToProduction"]; + }; + "/v1/prompt/version/{promptVersionId}/inputs/query": { + post: operations["GetInputs"]; + }; + "/v1/prompt/{promptId}/versions/query": { + post: operations["GetPromptVersions"]; + }; + "/v1/prompt/version/{promptVersionId}": { + get: operations["GetPromptVersion"]; + delete: operations["DeletePromptVersion"]; + }; + "/v1/prompt/{user_defined_id}/compile": { + post: operations["GetPromptVersionsCompiled"]; + }; + "/v1/prompt/{user_defined_id}/template": { + post: operations["GetPromptVersionTemplates"]; + }; + "/v1/playground/generate": { + post: operations["Generate"]; + }; + "/v1/playground/requests-through-helicone": { + get: operations["GetRequestsThroughHelicone"]; + post: operations["RequestsThroughHelicone"]; + }; + "/v1/public/pi/get-api-key": { + post: operations["GetApiKey"]; + }; + "/v1/pi/session": { + post: operations["AddSession"]; + }; + "/v1/pi/org-name/query": { + post: operations["GetOrgName"]; + }; + "/v1/pi/total-costs": { + post: operations["GetTotalCosts"]; + }; + "/v1/pi/total_requests": { + post: operations["PiGetTotalRequests"]; + }; + "/v1/pi/costs-over-time/query": { + post: operations["GetCostsOverTime"]; + }; + "/v1/public/model-registry/models": { + /** + * Returns a comprehensive list of all AI models with their configurations, pricing, and capabilities + * @description Get all available models from the registry + */ + get: operations["GetModelRegistry"]; + }; + "/v1/models": { + get: operations["GetModels"]; + }; + "/v1/models/multimodal": { + get: operations["GetMultimodalModels"]; + }; + "/v1/public/compare/models": { + post: operations["GetModelComparison"]; + }; + "/v1/metrics/totalRequests": { + post: operations["GetTotalRequests"]; + }; + "/v1/metrics/totalCost": { + post: operations["GetTotalCost"]; + }; + "/v1/metrics/averageLatency": { + post: operations["GetAverageLatency"]; + }; + "/v1/metrics/averageTimeToFirstToken": { + post: operations["GetAverageTimeToFirstToken"]; + }; + "/v1/metrics/averageTokensPerRequest": { + post: operations["GetAverageTokensPerRequest"]; + }; + "/v1/metrics/totalThreats": { + post: operations["GetTotalThreats"]; + }; + "/v1/metrics/activeUsers": { + post: operations["GetActiveUsers"]; + }; + "/v1/metrics/requestOverTime": { + post: operations["GetRequestsOverTime"]; + }; + "/v1/metrics/costOverTime": { + post: operations["GetCostOverTime"]; + }; + "/v1/metrics/tokensOverTime": { + post: operations["GetTokensOverTime"]; + }; + "/v1/metrics/latencyOverTime": { + post: operations["GetLatencyOverTime"]; + }; + "/v1/metrics/timeToFirstToken": { + post: operations["GetTimeToFirstTokenOverTime"]; + }; + "/v1/metrics/usersOverTime": { post: operations["GetUsersOverTime"]; }; "/v1/metrics/threatsOverTime": { @@ -643,83 +541,6 @@ export interface paths { */ post: operations["CreateSavedQuery"]; }; - "/v1/experiment/new-empty": { - post: operations["CreateNewEmptyExperiment"]; - }; - "/v1/experiment/table/new": { - post: operations["CreateNewExperimentTable"]; - }; - "/v1/experiment/table/{experimentTableId}/query": { - post: operations["GetExperimentTableById"]; - }; - "/v1/experiment/table/{experimentTableId}/metadata/query": { - post: operations["GetExperimentTableMetadata"]; - }; - "/v1/experiment/tables/query": { - post: operations["GetExperimentTables"]; - }; - "/v1/experiment/table/{experimentTableId}/cell": { - post: operations["CreateExperimentCell"]; - patch: operations["UpdateExperimentCell"]; - }; - "/v1/experiment/table/{experimentTableId}/column": { - post: operations["CreateExperimentColumn"]; - }; - "/v1/experiment/table/{experimentTableId}/row/new": { - post: operations["CreateExperimentTableRow"]; - }; - "/v1/experiment/table/{experimentTableId}/row/{rowIndex}": { - delete: operations["DeleteExperimentTableRow"]; - }; - "/v1/experiment/table/{experimentTableId}/row/insert/batch": { - post: operations["CreateExperimentTableRowWithCellsBatch"]; - }; - "/v1/experiment/update-meta": { - post: operations["UpdateExperimentMeta"]; - }; - "/v1/experiment": { - post: operations["CreateNewExperimentOld"]; - }; - "/v1/experiment/hypothesis": { - post: operations["CreateNewExperimentHypothesis"]; - }; - "/v1/experiment/hypothesis/{hypothesisId}/scores/query": { - post: operations["GetExperimentHypothesisScores"]; - }; - "/v1/experiment/{experimentId}/evaluators": { - get: operations["GetExperimentEvaluators"]; - post: operations["CreateExperimentEvaluatorOld"]; - }; - "/v1/experiment/{experimentId}/evaluators/run": { - post: operations["RunExperimentEvaluatorsOld"]; - }; - "/v1/experiment/{experimentId}/evaluators/{evaluatorId}": { - delete: operations["DeleteExperimentEvaluatorOld"]; - }; - "/v1/experiment/query": { - post: operations["GetExperimentsOld"]; - }; - "/v1/experiment/dataset": { - post: operations["AddDataset"]; - }; - "/v1/experiment/dataset/random": { - post: operations["AddRandomDataset"]; - }; - "/v1/experiment/dataset/query": { - post: operations["GetDatasets"]; - }; - "/v1/experiment/dataset/{datasetId}/row/insert": { - post: operations["InsertDatasetRow"]; - }; - "/v1/experiment/dataset/{datasetId}/version/{promptVersionId}/row/new": { - post: operations["CreateDatasetRow"]; - }; - "/v1/experiment/dataset/{datasetId}/inputs/query": { - post: operations["GetDataset"]; - }; - "/v1/experiment/dataset/{datasetId}/mutate": { - post: operations["MutateDataset"]; - }; "/v1/helicone-dataset": { post: operations["AddHeliconeDataset"]; }; @@ -929,17 +750,6 @@ export interface components { error: null; }; "Result_null.string_": components["schemas"]["ResultSuccess_null_"] | components["schemas"]["ResultError_string_"]; - EvaluatorExperiment: { - experiment_name: string; - experiment_created_at: string; - experiment_id: string; - }; - "ResultSuccess_EvaluatorExperiment-Array_": { - data: components["schemas"]["EvaluatorExperiment"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_EvaluatorExperiment-Array.string_": components["schemas"]["ResultSuccess_EvaluatorExperiment-Array_"] | components["schemas"]["ResultError_string_"]; OnlineEvaluatorByEvaluatorId: { config: unknown; id: string; @@ -1055,134 +865,119 @@ export interface components { error: null; }; "Result_EvaluatorStats.string_": components["schemas"]["ResultSuccess_EvaluatorStats_"] | components["schemas"]["ResultError_string_"]; - Prompt2025: { - id: string; - name: string; - tags: string[]; - created_at: string; + CreateCloudGatewayCheckoutSessionRequest: { + /** Format: double */ + amount: number; + returnUrl?: string; }; - ResultSuccess_Prompt2025_: { - data: components["schemas"]["Prompt2025"]; - /** @enum {number|null} */ - error: null; + LLMUsage: { + model: string; + provider: string; + /** Format: double */ + prompt_tokens: number; + /** Format: double */ + completion_tokens: number; + /** Format: double */ + total_count: number; + /** Format: double */ + amount: number; + description: string; + totalCost: { + /** Format: double */ + prompt_token: number; + /** Format: double */ + completion_token: number; + }; }; - "Result_Prompt2025.string_": components["schemas"]["ResultSuccess_Prompt2025_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_string-Array_": { - data: string[]; - /** @enum {number|null} */ - error: null; + PaymentIntentRecord: { + id: string; + /** Format: double */ + amount: number; + /** Format: double */ + created: number; + status: string; + isRefunded?: boolean; + /** Format: double */ + refundedAmount?: number; + refundIds?: string[]; }; - "Result_string-Array.string_": components["schemas"]["ResultSuccess_string-Array_"] | components["schemas"]["ResultError_string_"]; - Prompt2025Input: { - request_id: string; - version_id: string; - inputs: components["schemas"]["Record_string.any_"]; + StripePaymentIntentsResponse: { + data: components["schemas"]["PaymentIntentRecord"][]; + has_more: boolean; + next_page: string | null; + /** Format: double */ + count: number; }; - ResultSuccess_Prompt2025Input_: { - data: components["schemas"]["Prompt2025Input"]; - /** @enum {number|null} */ - error: null; + AutoTopoffSettings: { + enabled: boolean; + /** Format: double */ + thresholdCents: number; + /** Format: double */ + topoffAmountCents: number; + stripePaymentMethodId: string | null; + lastTopoffAt: string | null; + /** Format: double */ + consecutiveFailures: number; }; - "Result_Prompt2025Input.string_": components["schemas"]["ResultSuccess_Prompt2025Input_"] | components["schemas"]["ResultError_string_"]; - PromptCreateResponse: { - id: string; - versionId: string; + UpdateAutoTopoffSettingsRequest: { + enabled: boolean; + /** Format: double */ + thresholdCents: number; + /** Format: double */ + topoffAmountCents: number; + stripePaymentMethodId: string; }; - ResultSuccess_PromptCreateResponse_: { - data: components["schemas"]["PromptCreateResponse"]; - /** @enum {number|null} */ - error: null; + PaymentMethod: { + id: string; + brand: string; + last4: string; + /** Format: double */ + exp_month: number; + /** Format: double */ + exp_year: number; }; - "Result_PromptCreateResponse.string_": components["schemas"]["ResultSuccess_PromptCreateResponse_"] | components["schemas"]["ResultError_string_"]; - /** @description Construct a type with a set of properties K of type T */ - "Record_string.number_": { - [key: string]: number; + CreateSetupSessionRequest: { + returnUrl?: string; }; - /** @description Simplified interface for the OpenAI Chat request format */ - OpenAIChatRequest: { - model?: string; - messages?: ({ - tool_calls?: { - /** @enum {string} */ - type: "function"; - function: { - arguments: string; - name: string; - }; - id: string; - }[]; - tool_call_id?: string; - name?: string; - content: (string | { - image_url?: { - url: string; - }; - text?: string; - type: string; - }[]) | null; - role: string; - })[]; - /** Format: double */ - temperature?: number; - /** Format: double */ - top_p?: number; - /** Format: double */ - max_tokens?: number; - /** Format: double */ - max_completion_tokens?: number; - stream?: boolean; - stop?: string[] | string; - tools?: { - function: { - strict?: boolean; - parameters?: components["schemas"]["Record_string.any_"]; - description?: string; - name: string; - }; - /** @enum {string} */ - type: "function"; - }[]; - tool_choice?: { - function?: { - name: string; - /** @enum {string} */ - type: "function"; - }; - type: string; - } | ("none" | "auto" | "required"); - parallel_tool_calls?: boolean; - /** @enum {string} */ - reasoning_effort?: "minimal" | "low" | "medium" | "high"; - /** @enum {string} */ - verbosity?: "low" | "medium" | "high"; - /** Format: double */ - frequency_penalty?: number; - /** Format: double */ - presence_penalty?: number; - logit_bias?: components["schemas"]["Record_string.number_"]; - logprobs?: boolean; + DailyUsageDataPoint: { + date: string; /** Format: double */ - top_logprobs?: number; + requests: number; /** Format: double */ - n?: number; - modalities?: string[]; - prediction?: unknown; - audio?: unknown; - response_format?: { - json_schema?: unknown; - type: string; + bytes: number; + }; + UsageStatsResponse: { + billingPeriod: { + /** Format: double */ + daysTotal: number; + /** Format: double */ + daysElapsed: number; + end: string; + start: string; }; - /** Format: double */ - seed?: number; - service_tier?: string; - store?: boolean; - stream_options?: unknown; - metadata?: components["schemas"]["Record_string.string_"]; - user?: string; - function_call?: string | { - name: string; + usage: { + /** Format: double */ + totalGB: number; + /** Format: double */ + totalBytes: number; + /** Format: double */ + totalRequests: number; + }; + dailyData: components["schemas"]["DailyUsageDataPoint"][]; + estimatedCost: { + /** Format: double */ + projectedMonthlyTotalCost: number; + /** Format: double */ + projectedMonthlyGBCost: number; + /** Format: double */ + projectedMonthlyRequestsCost: number; + /** Format: double */ + totalCost: number; + /** Format: double */ + gbCost: number; + /** Format: double */ + requestsCost: number; }; - functions?: unknown[]; }; "ResultSuccess__id-string__": { data: { @@ -1192,143 +987,61 @@ export interface components { error: null; }; "Result__id-string_.string_": components["schemas"]["ResultSuccess__id-string__"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_number_: { - /** Format: double */ - data: number; - /** @enum {number|null} */ - error: null; - }; - "Result_number.string_": components["schemas"]["ResultSuccess_number_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_Prompt2025-Array_": { - data: components["schemas"]["Prompt2025"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_Prompt2025-Array.string_": components["schemas"]["ResultSuccess_Prompt2025-Array_"] | components["schemas"]["ResultError_string_"]; - /** @description Construct a type with a set of properties K of type T */ - "Record_string.unknown_": { - [key: string]: unknown; - }; - Prompt2025VersionPromptBody: { - model?: string; - messages?: ({ - tool_calls?: { - /** @enum {string} */ - type: "function"; - function: { - arguments: string; - name: string; - }; - id: string; - }[]; - tool_call_id?: string; - name?: string; - content: (string | { - image_url?: { - url: string; - }; - text?: string; - type: string; - }[]) | null; - role: string; - })[]; - /** Format: double */ - temperature?: number; - /** Format: double */ - top_p?: number; - /** Format: double */ - max_tokens?: number; - tools?: { - function: { - parameters: components["schemas"]["Record_string.unknown_"]; - description: string; - name: string; - }; - /** @enum {string} */ - type: "function"; - }[]; - tool_choice?: string | { - function?: { - name: string; - /** @enum {string} */ - type: "function"; - }; - type: string; - }; - [key: string]: unknown; +Json: JsonObject; + IntegrationCreateParams: { + integration_name: string; + settings?: components["schemas"]["Json"]; + active?: boolean; }; - Prompt2025Version: { + Integration: { + integration_name?: string; + settings?: components["schemas"]["Json"]; + active?: boolean; id: string; - model: string; - prompt_id: string; - /** Format: double */ - major_version: number; - /** Format: double */ - minor_version: number; - commit_message: string; - environments?: string[]; - created_at: string; - s3_url?: string; - /** - * @description The full prompt body including messages. Only included when explicitly requested - * via the `includePromptBody` parameter to avoid unnecessary data transfer. - */ - prompt_body?: components["schemas"]["Prompt2025VersionPromptBody"]; }; - ResultSuccess_Prompt2025Version_: { - data: components["schemas"]["Prompt2025Version"]; + ResultSuccess_Array_Integration__: { + data: components["schemas"]["Integration"][]; /** @enum {number|null} */ error: null; }; - "Result_Prompt2025Version.string_": components["schemas"]["ResultSuccess_Prompt2025Version_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_Prompt2025Version-Array_": { - data: components["schemas"]["Prompt2025Version"][]; + "Result_Array_Integration_.string_": components["schemas"]["ResultSuccess_Array_Integration__"] | components["schemas"]["ResultError_string_"]; + IntegrationUpdateParams: { + integration_name?: string; + settings?: components["schemas"]["Json"]; + active?: boolean; + }; + ResultSuccess_Integration_: { + data: components["schemas"]["Integration"]; /** @enum {number|null} */ error: null; }; - "Result_Prompt2025Version-Array.string_": components["schemas"]["ResultSuccess_Prompt2025Version-Array_"] | components["schemas"]["ResultError_string_"]; - PromptVersionCounts: { - /** Format: double */ - totalVersions: number; - /** Format: double */ - majorVersions: number; - }; - ResultSuccess_PromptVersionCounts_: { - data: components["schemas"]["PromptVersionCounts"]; + "Result_Integration.string_": components["schemas"]["ResultSuccess_Integration_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess_Array__id-string--name-string___": { + data: { + name: string; + id: string; + }[]; /** @enum {number|null} */ error: null; }; - "Result_PromptVersionCounts.string_": components["schemas"]["ResultSuccess_PromptVersionCounts_"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_Prompt2025Version_91_prompt_body_93__: { - data: components["schemas"]["Prompt2025VersionPromptBody"]; + "Result_Array__id-string--name-string__.string_": components["schemas"]["ResultSuccess_Array__id-string--name-string___"] | components["schemas"]["ResultError_string_"]; + ResultSuccess_string_: { + data: string; /** @enum {number|null} */ error: null; }; - "Result_Prompt2025Version_91_prompt_body_93_.string_": components["schemas"]["ResultSuccess_Prompt2025Version_91_prompt_body_93__"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__hasPrompts-boolean__": { - data: { - hasPrompts: boolean; - }; + "Result_string.string_": components["schemas"]["ResultSuccess_string_"] | components["schemas"]["ResultError_string_"]; + TestStripeMeterEventRequest: { + event_name: string; + customer_id: string; + }; + ResultSuccess_number_: { + /** Format: double */ + data: number; /** @enum {number|null} */ error: null; }; - "Result__hasPrompts-boolean_.string_": components["schemas"]["ResultSuccess__hasPrompts-boolean__"] | components["schemas"]["ResultError_string_"]; - PromptsResult: { - id: string; - user_defined_id: string; - description: string; - pretty_name: string; - created_at: string; - /** Format: double */ - major_version: number; - metadata?: components["schemas"]["Record_string.any_"]; - }; - "ResultSuccess_PromptsResult-Array_": { - data: components["schemas"]["PromptsResult"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_PromptsResult-Array.string_": components["schemas"]["ResultSuccess_PromptsResult-Array_"] | components["schemas"]["ResultError_string_"]; + "Result_number.string_": components["schemas"]["ResultSuccess_number_"] | components["schemas"]["ResultError_string_"]; /** @description Make all properties in T optional */ Partial_TextOperators_: { "not-equals"?: string; @@ -1339,141 +1052,6 @@ export interface components { "not-contains"?: string; }; /** @description Make all properties in T optional */ - Partial_PromptToOperators_: { - id?: components["schemas"]["Partial_TextOperators_"]; - user_defined_id?: components["schemas"]["Partial_TextOperators_"]; - }; - /** @description From T, pick a set of properties whose keys are in the union K */ - "Pick_FilterLeaf.prompt_v2_": { - prompt_v2?: components["schemas"]["Partial_PromptToOperators_"]; - }; - FilterLeafSubset_prompt_v2_: components["schemas"]["Pick_FilterLeaf.prompt_v2_"]; - PromptsFilterNode: components["schemas"]["FilterLeafSubset_prompt_v2_"] | components["schemas"]["PromptsFilterBranch"] | "all"; - PromptsFilterBranch: { - right: components["schemas"]["PromptsFilterNode"]; - /** @enum {string} */ - operator: "or" | "and"; - left: components["schemas"]["PromptsFilterNode"]; - }; - PromptsQueryParams: { - filter: components["schemas"]["PromptsFilterNode"]; - }; - PromptResult: { - id: string; - user_defined_id: string; - description: string; - pretty_name: string; - /** Format: double */ - major_version: number; - latest_version_id: string; - latest_model_used: string; - created_at: string; - last_used: string; - versions: string[]; - metadata?: components["schemas"]["Record_string.any_"]; - }; - ResultSuccess_PromptResult_: { - data: components["schemas"]["PromptResult"]; - /** @enum {number|null} */ - error: null; - }; - "Result_PromptResult.string_": components["schemas"]["ResultSuccess_PromptResult_"] | components["schemas"]["ResultError_string_"]; - PromptQueryParams: { - timeFilter: { - end: string; - start: string; - }; - }; - CreatePromptResponse: { - id: string; - prompt_version_id: string; - }; - ResultSuccess_CreatePromptResponse_: { - data: components["schemas"]["CreatePromptResponse"]; - /** @enum {number|null} */ - error: null; - }; - "Result_CreatePromptResponse.string_": components["schemas"]["ResultSuccess_CreatePromptResponse_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__metadata-Record_string.any___": { - data: { - metadata: components["schemas"]["Record_string.any_"]; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__metadata-Record_string.any__.string_": components["schemas"]["ResultSuccess__metadata-Record_string.any___"] | components["schemas"]["ResultError_string_"]; - PromptEditSubversionLabelParams: { - label: string; - }; - PromptEditSubversionTemplateParams: { - heliconeTemplate: unknown; - experimentId?: string; - }; - PromptVersionResult: { - id: string; - /** Format: double */ - minor_version: number; - /** Format: double */ - major_version: number; - prompt_v2: string; - model: string; - helicone_template: string; - created_at: string; - metadata: components["schemas"]["Record_string.any_"]; - parent_prompt_version?: string | null; - experiment_id?: string | null; - updated_at?: string; - }; - ResultSuccess_PromptVersionResult_: { - data: components["schemas"]["PromptVersionResult"]; - /** @enum {number|null} */ - error: null; - }; - "Result_PromptVersionResult.string_": components["schemas"]["ResultSuccess_PromptVersionResult_"] | components["schemas"]["ResultError_string_"]; - PromptCreateSubversionParams: { - newHeliconeTemplate: unknown; - isMajorVersion?: boolean; - metadata?: components["schemas"]["Record_string.any_"]; - experimentId?: string; - bumpForMajorPromptVersionId?: string; - }; - PromptInputRecord: { - id: string; - inputs: components["schemas"]["Record_string.string_"]; - dataset_row_id?: string; - source_request: string; - prompt_version: string; - created_at: string; - response_body?: string; - request_body?: string; - auto_prompt_inputs: unknown[]; - }; - "ResultSuccess_PromptInputRecord-Array_": { - data: components["schemas"]["PromptInputRecord"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_PromptInputRecord-Array.string_": components["schemas"]["ResultSuccess_PromptInputRecord-Array_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array_": { - data: { - meta: components["schemas"]["Record_string.any_"]; - dataset: string; - /** Format: double */ - num_hypotheses: number; - created_at: string; - id: string; - }[]; - /** @enum {number|null} */ - error: null; - }; - "Result__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array.string_": components["schemas"]["ResultSuccess__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_PromptVersionResult-Array_": { - data: components["schemas"]["PromptVersionResult"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_PromptVersionResult-Array.string_": components["schemas"]["ResultSuccess_PromptVersionResult-Array_"] | components["schemas"]["ResultError_string_"]; - /** @description Make all properties in T optional */ Partial_NumberOperators_: { /** Format: double */ "not-equals"?: number; @@ -1489,1638 +1067,1730 @@ export interface components { gt?: number; }; /** @description Make all properties in T optional */ - Partial_PromptVersionsToOperators_: { - minor_version?: components["schemas"]["Partial_NumberOperators_"]; - major_version?: components["schemas"]["Partial_NumberOperators_"]; - id?: components["schemas"]["Partial_TextOperators_"]; - prompt_v2?: components["schemas"]["Partial_TextOperators_"]; - }; - /** @description From T, pick a set of properties whose keys are in the union K */ - "Pick_FilterLeaf.prompts_versions_": { - prompts_versions?: components["schemas"]["Partial_PromptVersionsToOperators_"]; - }; - FilterLeafSubset_prompts_versions_: components["schemas"]["Pick_FilterLeaf.prompts_versions_"]; - PromptVersionsFilterNode: components["schemas"]["FilterLeafSubset_prompts_versions_"] | components["schemas"]["PromptVersionsFilterBranch"] | "all"; - PromptVersionsFilterBranch: { - right: components["schemas"]["PromptVersionsFilterNode"]; - /** @enum {string} */ - operator: "or" | "and"; - left: components["schemas"]["PromptVersionsFilterNode"]; - }; - PromptVersionsQueryParams: { - filter?: components["schemas"]["PromptVersionsFilterNode"]; - includeExperimentVersions?: boolean; - }; - PromptVersionResultCompiled: { - id: string; - /** Format: double */ - minor_version: number; - /** Format: double */ - major_version: number; - prompt_v2: string; - model: string; - prompt_compiled: unknown; - }; - ResultSuccess_PromptVersionResultCompiled_: { - data: components["schemas"]["PromptVersionResultCompiled"]; - /** @enum {number|null} */ - error: null; + Partial_TimestampOperators_: { + equals?: string; + gte?: string; + lte?: string; + lt?: string; + gt?: string; }; - "Result_PromptVersionResultCompiled.string_": components["schemas"]["ResultSuccess_PromptVersionResultCompiled_"] | components["schemas"]["ResultError_string_"]; - PromptVersiosQueryParamsCompiled: { - filter?: components["schemas"]["PromptVersionsFilterNode"]; - includeExperimentVersions?: boolean; - inputs: components["schemas"]["Record_string.string_"]; + /** @description Make all properties in T optional */ + Partial_BooleanOperators_: { + equals?: boolean; }; - PromptVersionResultFilled: { - id: string; - /** Format: double */ - minor_version: number; - /** Format: double */ - major_version: number; - prompt_v2: string; - model: string; - filled_helicone_template: unknown; + /** @description Make all properties in T optional */ + Partial_FeedbackTableToOperators_: { + id?: components["schemas"]["Partial_NumberOperators_"]; + created_at?: components["schemas"]["Partial_TimestampOperators_"]; + rating?: components["schemas"]["Partial_BooleanOperators_"]; + response_id?: components["schemas"]["Partial_TextOperators_"]; }; - ResultSuccess_PromptVersionResultFilled_: { - data: components["schemas"]["PromptVersionResultFilled"]; - /** @enum {number|null} */ - error: null; + /** @description Make all properties in T optional */ + Partial_RequestTableToOperators_: { + prompt?: components["schemas"]["Partial_TextOperators_"]; + created_at?: components["schemas"]["Partial_TimestampOperators_"]; + user_id?: components["schemas"]["Partial_TextOperators_"]; + auth_hash?: components["schemas"]["Partial_TextOperators_"]; + org_id?: components["schemas"]["Partial_TextOperators_"]; + id?: components["schemas"]["Partial_TextOperators_"]; + node_id?: components["schemas"]["Partial_TextOperators_"]; + model?: components["schemas"]["Partial_TextOperators_"]; + modelOverride?: components["schemas"]["Partial_TextOperators_"]; + path?: components["schemas"]["Partial_TextOperators_"]; + country_code?: components["schemas"]["Partial_TextOperators_"]; + prompt_id?: components["schemas"]["Partial_TextOperators_"]; }; - "Result_PromptVersionResultFilled.string_": components["schemas"]["ResultSuccess_PromptVersionResultFilled_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__experimentId-string__": { - data: { - experimentId: string; - }; - /** @enum {number|null} */ - error: null; + /** @description Make all properties in T optional */ + Partial_ResponseTableToOperators_: { + body_tokens?: components["schemas"]["Partial_NumberOperators_"]; + body_model?: components["schemas"]["Partial_TextOperators_"]; + body_completion?: components["schemas"]["Partial_TextOperators_"]; + status?: components["schemas"]["Partial_NumberOperators_"]; + model?: components["schemas"]["Partial_TextOperators_"]; }; - "Result__experimentId-string_.string_": components["schemas"]["ResultSuccess__experimentId-string__"] | components["schemas"]["ResultError_string_"]; - ExperimentV2: { - id: string; - name: string; - original_prompt_version: string; - copied_original_prompt_version: string | null; - input_keys: string[] | null; - created_at: string; + /** @description Make all properties in T optional */ + Partial_TimestampOperatorsTyped_: { + /** Format: date-time */ + equals?: string; + /** Format: date-time */ + gte?: string; + /** Format: date-time */ + lte?: string; + /** Format: date-time */ + lt?: string; + /** Format: date-time */ + gt?: string; }; - "ResultSuccess_ExperimentV2-Array_": { - data: components["schemas"]["ExperimentV2"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_ExperimentV2-Array.string_": components["schemas"]["ResultSuccess_ExperimentV2-Array_"] | components["schemas"]["ResultError_string_"]; - ExperimentV2Output: { - id: string; - request_id: string; - is_original: boolean; - prompt_version_id: string; - created_at: string; - input_record_id: string; + /** @description Make all properties in T optional */ + Partial_RequestResponseRMTToOperators_: { + country_code?: components["schemas"]["Partial_TextOperators_"]; + latency?: components["schemas"]["Partial_NumberOperators_"]; + cost?: components["schemas"]["Partial_NumberOperators_"]; + provider?: components["schemas"]["Partial_TextOperators_"]; + time_to_first_token?: components["schemas"]["Partial_NumberOperators_"]; + status?: components["schemas"]["Partial_NumberOperators_"]; + request_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; + response_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; + model?: components["schemas"]["Partial_TextOperators_"]; + user_id?: components["schemas"]["Partial_TextOperators_"]; + organization_id?: components["schemas"]["Partial_TextOperators_"]; + node_id?: components["schemas"]["Partial_TextOperators_"]; + job_id?: components["schemas"]["Partial_TextOperators_"]; + threat?: components["schemas"]["Partial_BooleanOperators_"]; + request_id?: components["schemas"]["Partial_TextOperators_"]; + prompt_tokens?: components["schemas"]["Partial_NumberOperators_"]; + completion_tokens?: components["schemas"]["Partial_NumberOperators_"]; + prompt_cache_read_tokens?: components["schemas"]["Partial_NumberOperators_"]; + prompt_cache_write_tokens?: components["schemas"]["Partial_NumberOperators_"]; + total_tokens?: components["schemas"]["Partial_NumberOperators_"]; + target_url?: components["schemas"]["Partial_TextOperators_"]; + property_key?: { + equals: string; + }; + properties?: { + [key: string]: components["schemas"]["Partial_TextOperators_"]; + }; + search_properties?: { + [key: string]: components["schemas"]["Partial_TextOperators_"]; + }; + scores?: { + [key: string]: components["schemas"]["Partial_TextOperators_"]; + }; + scores_column?: components["schemas"]["Partial_TextOperators_"]; + request_body?: components["schemas"]["Partial_TextOperators_"]; + response_body?: components["schemas"]["Partial_TextOperators_"]; + cache_enabled?: components["schemas"]["Partial_BooleanOperators_"]; + cache_reference_id?: components["schemas"]["Partial_TextOperators_"]; + cached?: components["schemas"]["Partial_BooleanOperators_"]; + assets?: components["schemas"]["Partial_TextOperators_"]; + "helicone-score-feedback"?: components["schemas"]["Partial_BooleanOperators_"]; + prompt_id?: components["schemas"]["Partial_TextOperators_"]; + prompt_version?: components["schemas"]["Partial_TextOperators_"]; + request_referrer?: components["schemas"]["Partial_TextOperators_"]; + is_passthrough_billing?: components["schemas"]["Partial_BooleanOperators_"]; }; - ExperimentV2Row: { - id: string; - inputs: components["schemas"]["Record_string.string_"]; - prompt_version: string; - requests: components["schemas"]["ExperimentV2Output"][]; - auto_prompt_inputs: unknown[]; + /** @description Make all properties in T optional */ + Partial_SessionsRequestResponseRMTToOperators_: { + session_session_id?: components["schemas"]["Partial_TextOperators_"]; + session_session_name?: components["schemas"]["Partial_TextOperators_"]; + session_total_cost?: components["schemas"]["Partial_NumberOperators_"]; + session_total_tokens?: components["schemas"]["Partial_NumberOperators_"]; + session_prompt_tokens?: components["schemas"]["Partial_NumberOperators_"]; + session_completion_tokens?: components["schemas"]["Partial_NumberOperators_"]; + session_total_requests?: components["schemas"]["Partial_NumberOperators_"]; + session_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; + session_latest_request_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; + session_tag?: components["schemas"]["Partial_TextOperators_"]; }; - ExtendedExperimentData: { - id: string; - name: string; - original_prompt_version: string; - copied_original_prompt_version: string | null; - input_keys: string[] | null; - created_at: string; - rows: components["schemas"]["ExperimentV2Row"][]; + /** @description From T, pick a set of properties whose keys are in the union K */ + "Pick_FilterLeaf.feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_": { + values?: { + [key: string]: components["schemas"]["Partial_TextOperators_"]; + }; + feedback?: components["schemas"]["Partial_FeedbackTableToOperators_"]; + request?: components["schemas"]["Partial_RequestTableToOperators_"]; + response?: components["schemas"]["Partial_ResponseTableToOperators_"]; + properties?: { + [key: string]: components["schemas"]["Partial_TextOperators_"]; + }; + request_response_rmt?: components["schemas"]["Partial_RequestResponseRMTToOperators_"]; + sessions_request_response_rmt?: components["schemas"]["Partial_SessionsRequestResponseRMTToOperators_"]; }; - ResultSuccess_ExtendedExperimentData_: { - data: components["schemas"]["ExtendedExperimentData"]; - /** @enum {number|null} */ - error: null; + "FilterLeafSubset_feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_": components["schemas"]["Pick_FilterLeaf.feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_"]; + RequestFilterNode: components["schemas"]["FilterLeafSubset_feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_"] | components["schemas"]["RequestFilterBranch"] | "all"; + RequestFilterBranch: { + right: components["schemas"]["RequestFilterNode"]; + /** @enum {string} */ + operator: "or" | "and"; + left: components["schemas"]["RequestFilterNode"]; }; - "Result_ExtendedExperimentData.string_": components["schemas"]["ResultSuccess_ExtendedExperimentData_"] | components["schemas"]["ResultError_string_"]; - CreateNewPromptVersionForExperimentParams: { - newHeliconeTemplate: unknown; - isMajorVersion?: boolean; - metadata?: components["schemas"]["Record_string.any_"]; - experimentId?: string; - bumpForMajorPromptVersionId?: string; - parentPromptVersionId: string; + /** @enum {string} */ + SortDirection: "asc" | "desc"; + SortLeafRequest: { + /** @enum {boolean} */ + random?: true; + created_at?: components["schemas"]["SortDirection"]; + cache_created_at?: components["schemas"]["SortDirection"]; + latency?: components["schemas"]["SortDirection"]; + last_active?: components["schemas"]["SortDirection"]; + total_tokens?: components["schemas"]["SortDirection"]; + completion_tokens?: components["schemas"]["SortDirection"]; + prompt_tokens?: components["schemas"]["SortDirection"]; + user_id?: components["schemas"]["SortDirection"]; + body_model?: components["schemas"]["SortDirection"]; + is_cached?: components["schemas"]["SortDirection"]; + request_prompt?: components["schemas"]["SortDirection"]; + response_text?: components["schemas"]["SortDirection"]; + properties?: { + [key: string]: components["schemas"]["SortDirection"]; + }; + values?: { + [key: string]: components["schemas"]["SortDirection"]; + }; + cost?: components["schemas"]["SortDirection"]; + time_to_first_token?: components["schemas"]["SortDirection"]; }; -Json: JsonObject; - ExperimentV2PromptVersion: { - created_at: string | null; - experiment_id: string | null; - helicone_template: components["schemas"]["Json"] | null; - id: string; + RequestQueryParams: { + filter: components["schemas"]["RequestFilterNode"]; /** Format: double */ - major_version: number; - metadata: components["schemas"]["Json"] | null; + offset?: number; /** Format: double */ - minor_version: number; - model: string | null; - organization: string; - prompt_v2: string; - soft_delete: boolean | null; - }; - "ResultSuccess_ExperimentV2PromptVersion-Array_": { - data: components["schemas"]["ExperimentV2PromptVersion"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_ExperimentV2PromptVersion-Array.string_": components["schemas"]["ResultSuccess_ExperimentV2PromptVersion-Array_"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_string_: { - data: string; - /** @enum {number|null} */ - error: null; + limit?: number; + sort?: components["schemas"]["SortLeafRequest"]; + isCached?: boolean; + includeInputs?: boolean; + isPartOfExperiment?: boolean; + isScored?: boolean; }; - "Result_string.string_": components["schemas"]["ResultSuccess_string_"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_boolean_: { - data: boolean; - /** @enum {number|null} */ - error: null; + /** @enum {string} */ + ProviderName: "OPENAI" | "ANTHROPIC" | "AZURE" | "LOCAL" | "HELICONE" | "AMDBARTEK" | "ANYSCALE" | "CLOUDFLARE" | "2YFV" | "TOGETHER" | "LEMONFOX" | "FIREWORKS" | "PERPLEXITY" | "GOOGLE" | "OPENROUTER" | "WISDOMINANUTSHELL" | "GROQ" | "COHERE" | "MISTRAL" | "DEEPINFRA" | "QSTASH" | "FIRECRAWL" | "AWS" | "BEDROCK" | "DEEPSEEK" | "X" | "AVIAN" | "NEBIUS" | "NOVITA" | "OPENPIPE" | "CHUTES" | "LLAMA" | "NVIDIA" | "VERCEL" | "CEREBRAS" | "BASETEN" | "CANOPYWAVE"; + /** @enum {string} */ + ModelProviderName: "baseten" | "anthropic" | "azure" | "bedrock" | "canopywave" | "cerebras" | "chutes" | "deepinfra" | "deepseek" | "fireworks" | "google-ai-studio" | "groq" | "helicone" | "mistral" | "nebius" | "novita" | "openai" | "openrouter" | "perplexity" | "vertex" | "xai"; + Provider: components["schemas"]["ProviderName"] | components["schemas"]["ModelProviderName"] | "CUSTOM"; + /** @enum {string} */ + LlmType: "chat" | "completion"; + FunctionCall: { + id?: string; + name: string; + arguments: components["schemas"]["Record_string.any_"]; }; - "Result_boolean.string_": components["schemas"]["ResultSuccess_boolean_"] | components["schemas"]["ResultError_string_"]; - ScoreV2: { - valueType: string; - value: number | string; - /** Format: double */ - max: number; + Message: { + ending_event_id?: string; + trigger_event_id?: string; + start_timestamp?: string; + annotations?: { + content?: string; + title: string; + url: string; + /** @enum {string} */ + type: "url_citation"; + }[]; + reasoning?: string; + deleted?: boolean; + contentArray?: components["schemas"]["Message"][]; /** Format: double */ - min: number; - }; - /** @description Construct a type with a set of properties K of type T */ - "Record_string.ScoreV2_": { - [key: string]: components["schemas"]["ScoreV2"]; - }; - "ResultSuccess_Record_string.ScoreV2__": { - data: components["schemas"]["Record_string.ScoreV2_"]; - /** @enum {number|null} */ - error: null; + idx?: number; + detail?: string; + filename?: string; + file_id?: string; + file_data?: string; + /** @enum {string} */ + type?: "input_image" | "input_text" | "input_file"; + audio_data?: string; + image_url?: string; + timestamp?: string; + tool_call_id?: string; + tool_calls?: components["schemas"]["FunctionCall"][]; + mime_type?: string; + content?: string; + name?: string; + instruction?: string; + role?: string | ("user" | "assistant" | "system" | "developer"); + id?: string; + /** @enum {string} */ + _type: "functionCall" | "function" | "image" | "file" | "message" | "autoInput" | "contentArray" | "audio"; }; - "Result_Record_string.ScoreV2_.string_": components["schemas"]["ResultSuccess_Record_string.ScoreV2__"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_ScoreV2-or-null_": { - data: components["schemas"]["ScoreV2"] | null; - /** @enum {number|null} */ - error: null; + Tool: { + name: string; + description?: string; + parameters?: components["schemas"]["Record_string.any_"]; + strict?: boolean; }; - "Result_ScoreV2-or-null.string_": components["schemas"]["ResultSuccess_ScoreV2-or-null_"] | components["schemas"]["ResultError_string_"]; - CreateCloudGatewayCheckoutSessionRequest: { - /** Format: double */ - amount: number; - returnUrl?: string; + HeliconeEventTool: { + /** @enum {string} */ + _type: "tool"; + toolName: string; + input: unknown; + [key: string]: unknown; }; - UpgradeToProRequest: { - addons?: { - evals?: boolean; - experiments?: boolean; - prompts?: boolean; - alerts?: boolean; - }; - /** Format: double */ - seats?: number; + HeliconeEventVectorDB: { + /** @enum {string} */ + _type: "vector_db"; /** @enum {string} */ - ui_mode?: "embedded" | "hosted"; + operation: "search" | "insert" | "delete" | "update"; + text?: string; + vector?: number[]; + /** Format: double */ + topK?: number; + filter?: Record; + databaseName?: string; + [key: string]: unknown; }; - UpgradeToTeamBundleRequest: { + HeliconeEventData: { /** @enum {string} */ - ui_mode?: "embedded" | "hosted"; + _type: "data"; + name: string; + meta?: components["schemas"]["Record_string.any_"]; + [key: string]: unknown; }; - LLMUsage: { - model: string; - provider: string; + LLMRequestBody: { + llm_type?: components["schemas"]["LlmType"]; + provider?: string; + model?: string; + messages?: components["schemas"]["Message"][] | null; + prompt?: string | null; + instructions?: string | null; /** Format: double */ - prompt_tokens: number; + max_tokens?: number | null; /** Format: double */ - completion_tokens: number; + temperature?: number | null; /** Format: double */ - total_count: number; + top_p?: number | null; /** Format: double */ - amount: number; - description: string; - totalCost: { + seed?: number | null; + stream?: boolean | null; + /** Format: double */ + presence_penalty?: number | null; + /** Format: double */ + frequency_penalty?: number | null; + stop?: (string[] | string) | null; + /** @enum {string|null} */ + reasoning_effort?: "minimal" | "low" | "medium" | "high" | null; + /** @enum {string|null} */ + verbosity?: "low" | "medium" | "high" | null; + tools?: components["schemas"]["Tool"][]; + parallel_tool_calls?: boolean | null; + tool_choice?: { + name?: string; + /** @enum {string} */ + type: "none" | "auto" | "any" | "tool"; + }; + response_format?: { + json_schema?: unknown; + type: string; + }; + toolDetails?: components["schemas"]["HeliconeEventTool"]; + vectorDBDetails?: components["schemas"]["HeliconeEventVectorDB"]; + dataDetails?: components["schemas"]["HeliconeEventData"]; + input?: string | string[]; + /** Format: double */ + n?: number | null; + size?: string; + quality?: string; + }; + Response: { + contentArray?: components["schemas"]["Response"][]; + detail?: string; + filename?: string; + file_id?: string; + file_data?: string; + /** Format: double */ + idx?: number; + audio_data?: string; + image_url?: string; + timestamp?: string; + tool_call_id?: string; + tool_calls?: components["schemas"]["FunctionCall"][]; + text?: string; + /** @enum {string} */ + type: "input_image" | "input_text" | "input_file"; + name?: string; + /** @enum {string} */ + role: "user" | "assistant" | "system" | "developer"; + id?: string; + /** @enum {string} */ + _type: "functionCall" | "function" | "image" | "text" | "file" | "contentArray"; + }; + LLMResponseBody: { + dataDetailsResponse?: { + name: string; + /** @enum {string} */ + _type: "data"; + metadata: { + timestamp: string; + [key: string]: unknown; + }; + message: string; + status: string; + [key: string]: unknown; + }; + vectorDBDetailsResponse?: { + /** @enum {string} */ + _type: "vector_db"; + metadata: { + timestamp: string; + destination_parsed?: boolean; + destination?: string; + }; /** Format: double */ - prompt_token: number; + actualSimilarity?: number; /** Format: double */ - completion_token: number; + similarityThreshold?: number; + message: string; + status: string; + }; + toolDetailsResponse?: { + toolName: string; + /** @enum {string} */ + _type: "tool"; + metadata: { + timestamp: string; + }; + tips: string[]; + message: string; + status: string; + }; + error?: { + heliconeMessage: unknown; }; + model?: string | null; + instructions?: string | null; + responses?: components["schemas"]["Response"][] | null; + messages?: components["schemas"]["Message"][] | null; }; - PaymentIntentRecord: { - id: string; + LlmSchema: { + request: components["schemas"]["LLMRequestBody"]; + response?: components["schemas"]["LLMResponseBody"] | null; + }; + /** @description Construct a type with a set of properties K of type T */ + "Record_string.number_": { + [key: string]: number; + }; + HeliconeRequest: { + response_id: string | null; + response_created_at: string | null; + response_body?: unknown; /** Format: double */ - amount: number; + response_status: number; + response_model: string | null; + request_id: string; + request_created_at: string; + request_body: unknown; + request_path: string; + request_user_id: string | null; + request_properties: components["schemas"]["Record_string.string_"] | null; + request_model: string | null; + model_override: string | null; + helicone_user: string | null; + provider: components["schemas"]["Provider"]; /** Format: double */ - created: number; - status: string; - isRefunded?: boolean; + delay_ms: number | null; /** Format: double */ - refundedAmount?: number; - refundIds?: string[]; - }; - StripePaymentIntentsResponse: { - data: components["schemas"]["PaymentIntentRecord"][]; - has_more: boolean; - next_page: string | null; + time_to_first_token: number | null; /** Format: double */ - count: number; - }; - AutoTopoffSettings: { - enabled: boolean; + total_tokens: number | null; /** Format: double */ - thresholdCents: number; + prompt_tokens: number | null; /** Format: double */ - topoffAmountCents: number; - stripePaymentMethodId: string | null; - lastTopoffAt: string | null; + prompt_cache_write_tokens: number | null; /** Format: double */ - consecutiveFailures: number; - }; - UpdateAutoTopoffSettingsRequest: { - enabled: boolean; + prompt_cache_read_tokens: number | null; /** Format: double */ - thresholdCents: number; + completion_tokens: number | null; /** Format: double */ - topoffAmountCents: number; - stripePaymentMethodId: string; - }; - PaymentMethod: { - id: string; - brand: string; - last4: string; + reasoning_tokens: number | null; /** Format: double */ - exp_month: number; + prompt_audio_tokens: number | null; /** Format: double */ - exp_year: number; - }; - CreateSetupSessionRequest: { - returnUrl?: string; - }; - DailyUsageDataPoint: { - date: string; + completion_audio_tokens: number | null; /** Format: double */ - requests: number; + cost: number | null; + prompt_id: string | null; + prompt_version: string | null; + feedback_created_at?: string | null; + feedback_id?: string | null; + feedback_rating?: boolean | null; + signed_body_url?: string | null; + llmSchema: components["schemas"]["LlmSchema"] | null; + country_code: string | null; + asset_ids: string[] | null; + asset_urls: components["schemas"]["Record_string.string_"] | null; + scores: components["schemas"]["Record_string.number_"] | null; /** Format: double */ - bytes: number; - }; - UsageStatsResponse: { - billingPeriod: { - /** Format: double */ - daysTotal: number; - /** Format: double */ - daysElapsed: number; - end: string; - start: string; - }; - usage: { - /** Format: double */ - totalGB: number; - /** Format: double */ - totalBytes: number; - /** Format: double */ - totalRequests: number; - }; - dailyData: components["schemas"]["DailyUsageDataPoint"][]; - estimatedCost: { - /** Format: double */ - projectedMonthlyTotalCost: number; - /** Format: double */ - projectedMonthlyGBCost: number; - /** Format: double */ - projectedMonthlyRequestsCost: number; - /** Format: double */ - totalCost: number; - /** Format: double */ - gbCost: number; - /** Format: double */ - requestsCost: number; - }; - }; - IntegrationCreateParams: { - integration_name: string; - settings?: components["schemas"]["Json"]; - active?: boolean; + costUSD?: number | null; + properties: components["schemas"]["Record_string.string_"]; + assets: string[]; + target_url: string; + model: string; + cache_reference_id: string | null; + cache_enabled: boolean; + updated_at?: string; + request_referrer?: string | null; + ai_gateway_body_mapping: string | null; + storage_location?: string; }; - Integration: { - integration_name?: string; - settings?: components["schemas"]["Json"]; - active?: boolean; - id: string; + "ResultSuccess_HeliconeRequest-Array_": { + data: components["schemas"]["HeliconeRequest"][]; + /** @enum {number|null} */ + error: null; }; - ResultSuccess_Array_Integration__: { - data: components["schemas"]["Integration"][]; + "Result_HeliconeRequest-Array.string_": components["schemas"]["ResultSuccess_HeliconeRequest-Array_"] | components["schemas"]["ResultError_string_"]; + ResultSuccess_HeliconeRequest_: { + data: components["schemas"]["HeliconeRequest"]; /** @enum {number|null} */ error: null; }; - "Result_Array_Integration_.string_": components["schemas"]["ResultSuccess_Array_Integration__"] | components["schemas"]["ResultError_string_"]; - IntegrationUpdateParams: { - integration_name?: string; - settings?: components["schemas"]["Json"]; - active?: boolean; + "Result_HeliconeRequest.string_": components["schemas"]["ResultSuccess_HeliconeRequest_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null_": { + data: ({ + environment: string | null; + version_id: string; + prompt_id: string; + inputs: components["schemas"]["Record_string.any_"]; + }) | null; + /** @enum {number|null} */ + error: null; }; - ResultSuccess_Integration_: { - data: components["schemas"]["Integration"]; + "Result__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null.string_": components["schemas"]["ResultSuccess__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null_"] | components["schemas"]["ResultError_string_"]; + HeliconeRequestAsset: { + assetUrl: string; + }; + ResultSuccess_HeliconeRequestAsset_: { + data: components["schemas"]["HeliconeRequestAsset"]; /** @enum {number|null} */ error: null; }; - "Result_Integration.string_": components["schemas"]["ResultSuccess_Integration_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_Array__id-string--name-string___": { - data: { - name: string; - id: string; + "Result_HeliconeRequestAsset.string_": components["schemas"]["ResultSuccess_HeliconeRequestAsset_"] | components["schemas"]["ResultError_string_"]; + /** @description Construct a type with a set of properties K of type T */ + "Record_string.number-or-boolean-or-undefined_": { + [key: string]: number | boolean; + }; + Scores: components["schemas"]["Record_string.number-or-boolean-or-undefined_"]; + ScoreRequest: { + scores: components["schemas"]["Scores"]; + }; + ConversationMessage: { + role: string; + content: string; + }; + MostExpensiveRequest: { + requestId: string; + /** Format: double */ + cost: number; + model: string; + provider: string; + createdAt: string; + /** Format: double */ + promptTokens: number; + /** Format: double */ + completionTokens: number; + conversation: { + /** Format: double */ + totalWords: number; + /** Format: double */ + turnCount: number; + messages: components["schemas"]["ConversationMessage"][]; + } | null; + }; + WrappedStats: { + /** Format: double */ + totalRequests: number; + topProviders: { + /** Format: double */ + count: number; + provider: string; + }[]; + topModels: { + /** Format: double */ + count: number; + model: string; }[]; + totalTokens: { + /** Format: double */ + total: number; + /** Format: double */ + cacheRead: number; + /** Format: double */ + cacheWrite: number; + /** Format: double */ + completion: number; + /** Format: double */ + prompt: number; + }; + mostExpensiveRequest: components["schemas"]["MostExpensiveRequest"] | null; + }; + ResultSuccess_WrappedStats_: { + data: components["schemas"]["WrappedStats"]; /** @enum {number|null} */ error: null; }; - "Result_Array__id-string--name-string__.string_": components["schemas"]["ResultSuccess_Array__id-string--name-string___"] | components["schemas"]["ResultError_string_"]; - TestStripeMeterEventRequest: { - event_name: string; - customer_id: string; + "Result_WrappedStats.string_": components["schemas"]["ResultSuccess_WrappedStats_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__hasData-boolean__": { + data: { + hasData: boolean; + }; + /** @enum {number|null} */ + error: null; }; - /** @description Make all properties in T optional */ - Partial_ResponseTableToOperators_: { - body_tokens?: components["schemas"]["Partial_NumberOperators_"]; - body_model?: components["schemas"]["Partial_TextOperators_"]; - body_completion?: components["schemas"]["Partial_TextOperators_"]; - status?: components["schemas"]["Partial_NumberOperators_"]; - model?: components["schemas"]["Partial_TextOperators_"]; + "Result__hasData-boolean_.string_": components["schemas"]["ResultSuccess__hasData-boolean__"] | components["schemas"]["ResultError_string_"]; + ResultSuccess_unknown_: { + data: unknown; + /** @enum {number|null} */ + error: null; }; - /** @description Make all properties in T optional */ - Partial_TimestampOperators_: { - equals?: string; - gte?: string; - lte?: string; - lt?: string; - gt?: string; + ResultError_unknown_: { + /** @enum {number|null} */ + data: null; + error: unknown; }; - /** @description Make all properties in T optional */ - Partial_RequestTableToOperators_: { - prompt?: components["schemas"]["Partial_TextOperators_"]; - created_at?: components["schemas"]["Partial_TimestampOperators_"]; - user_id?: components["schemas"]["Partial_TextOperators_"]; - auth_hash?: components["schemas"]["Partial_TextOperators_"]; - org_id?: components["schemas"]["Partial_TextOperators_"]; - id?: components["schemas"]["Partial_TextOperators_"]; - node_id?: components["schemas"]["Partial_TextOperators_"]; - model?: components["schemas"]["Partial_TextOperators_"]; - modelOverride?: components["schemas"]["Partial_TextOperators_"]; - path?: components["schemas"]["Partial_TextOperators_"]; - country_code?: components["schemas"]["Partial_TextOperators_"]; - prompt_id?: components["schemas"]["Partial_TextOperators_"]; + WebhookData: { + destination: string; + config: components["schemas"]["Record_string.any_"]; + includeData?: boolean; }; - /** @description Make all properties in T optional */ - Partial_BooleanOperators_: { - equals?: boolean; + "ResultSuccess__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array_": { + data: { + hmac_key: string; + config: string; + version: string; + destination: string; + created_at: string; + id: string; + }[]; + /** @enum {number|null} */ + error: null; }; - /** @description Make all properties in T optional */ - Partial_FeedbackTableToOperators_: { - id?: components["schemas"]["Partial_NumberOperators_"]; - created_at?: components["schemas"]["Partial_TimestampOperators_"]; - rating?: components["schemas"]["Partial_BooleanOperators_"]; - response_id?: components["schemas"]["Partial_TextOperators_"]; + "Result__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array.string_": components["schemas"]["ResultSuccess__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__success-boolean--message-string__": { + data: { + message: string; + success: boolean; + }; + /** @enum {number|null} */ + error: null; }; - /** @description Make all properties in T optional */ - Partial_TimestampOperatorsTyped_: { - /** Format: date-time */ - equals?: string; - /** Format: date-time */ - gte?: string; - /** Format: date-time */ - lte?: string; - /** Format: date-time */ - lt?: string; - /** Format: date-time */ - gt?: string; + "Result__success-boolean--message-string_.string_": components["schemas"]["ResultSuccess__success-boolean--message-string__"] | components["schemas"]["ResultError_string_"]; + AddVaultKeyParams: { + key: string; + provider: string; + name?: string; }; - /** @description Make all properties in T optional */ - Partial_RequestResponseRMTToOperators_: { - country_code?: components["schemas"]["Partial_TextOperators_"]; - latency?: components["schemas"]["Partial_NumberOperators_"]; - cost?: components["schemas"]["Partial_NumberOperators_"]; - provider?: components["schemas"]["Partial_TextOperators_"]; - time_to_first_token?: components["schemas"]["Partial_NumberOperators_"]; - status?: components["schemas"]["Partial_NumberOperators_"]; - request_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - response_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - model?: components["schemas"]["Partial_TextOperators_"]; - user_id?: components["schemas"]["Partial_TextOperators_"]; - organization_id?: components["schemas"]["Partial_TextOperators_"]; - node_id?: components["schemas"]["Partial_TextOperators_"]; - job_id?: components["schemas"]["Partial_TextOperators_"]; - threat?: components["schemas"]["Partial_BooleanOperators_"]; - request_id?: components["schemas"]["Partial_TextOperators_"]; - prompt_tokens?: components["schemas"]["Partial_NumberOperators_"]; - completion_tokens?: components["schemas"]["Partial_NumberOperators_"]; - prompt_cache_read_tokens?: components["schemas"]["Partial_NumberOperators_"]; - prompt_cache_write_tokens?: components["schemas"]["Partial_NumberOperators_"]; - total_tokens?: components["schemas"]["Partial_NumberOperators_"]; - target_url?: components["schemas"]["Partial_TextOperators_"]; - property_key?: { - equals: string; - }; - properties?: { - [key: string]: components["schemas"]["Partial_TextOperators_"]; - }; - search_properties?: { - [key: string]: components["schemas"]["Partial_TextOperators_"]; - }; - scores?: { - [key: string]: components["schemas"]["Partial_TextOperators_"]; + "ResultSuccess_DecryptedProviderKey-Array_": { + data: components["schemas"]["DecryptedProviderKey"][]; + /** @enum {number|null} */ + error: null; + }; + "Result_DecryptedProviderKey-Array.string_": components["schemas"]["ResultSuccess_DecryptedProviderKey-Array_"] | components["schemas"]["ResultError_string_"]; + ResultSuccess_DecryptedProviderKey_: { + data: components["schemas"]["DecryptedProviderKey"]; + /** @enum {number|null} */ + error: null; + }; + "Result_DecryptedProviderKey.string_": components["schemas"]["ResultSuccess_DecryptedProviderKey_"] | components["schemas"]["ResultError_string_"]; + HistogramRow: { + range_start: string; + range_end: string; + /** Format: double */ + value: number; + }; + "ResultSuccess__request_count-HistogramRow-Array--user_cost-HistogramRow-Array__": { + data: { + user_cost: components["schemas"]["HistogramRow"][]; + request_count: components["schemas"]["HistogramRow"][]; }; - scores_column?: components["schemas"]["Partial_TextOperators_"]; - request_body?: components["schemas"]["Partial_TextOperators_"]; - response_body?: components["schemas"]["Partial_TextOperators_"]; - cache_enabled?: components["schemas"]["Partial_BooleanOperators_"]; - cache_reference_id?: components["schemas"]["Partial_TextOperators_"]; - cached?: components["schemas"]["Partial_BooleanOperators_"]; - assets?: components["schemas"]["Partial_TextOperators_"]; - "helicone-score-feedback"?: components["schemas"]["Partial_BooleanOperators_"]; - prompt_id?: components["schemas"]["Partial_TextOperators_"]; - prompt_version?: components["schemas"]["Partial_TextOperators_"]; - request_referrer?: components["schemas"]["Partial_TextOperators_"]; - is_passthrough_billing?: components["schemas"]["Partial_BooleanOperators_"]; + /** @enum {number|null} */ + error: null; }; + "Result__request_count-HistogramRow-Array--user_cost-HistogramRow-Array_.string_": components["schemas"]["ResultSuccess__request_count-HistogramRow-Array--user_cost-HistogramRow-Array__"] | components["schemas"]["ResultError_string_"]; /** @description Make all properties in T optional */ - Partial_SessionsRequestResponseRMTToOperators_: { - session_session_id?: components["schemas"]["Partial_TextOperators_"]; - session_session_name?: components["schemas"]["Partial_TextOperators_"]; - session_total_cost?: components["schemas"]["Partial_NumberOperators_"]; - session_total_tokens?: components["schemas"]["Partial_NumberOperators_"]; - session_prompt_tokens?: components["schemas"]["Partial_NumberOperators_"]; - session_completion_tokens?: components["schemas"]["Partial_NumberOperators_"]; - session_total_requests?: components["schemas"]["Partial_NumberOperators_"]; - session_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - session_latest_request_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - session_tag?: components["schemas"]["Partial_TextOperators_"]; + Partial_UserViewToOperators_: { + user_user_id?: components["schemas"]["Partial_TextOperators_"]; + user_active_for?: components["schemas"]["Partial_NumberOperators_"]; + user_first_active?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; + user_last_active?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; + user_total_requests?: components["schemas"]["Partial_NumberOperators_"]; + user_average_requests_per_day_active?: components["schemas"]["Partial_NumberOperators_"]; + user_average_tokens_per_request?: components["schemas"]["Partial_NumberOperators_"]; + user_total_completion_tokens?: components["schemas"]["Partial_NumberOperators_"]; + user_total_prompt_tokens?: components["schemas"]["Partial_NumberOperators_"]; + user_cost?: components["schemas"]["Partial_NumberOperators_"]; }; /** @description From T, pick a set of properties whose keys are in the union K */ - "Pick_FilterLeaf.feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_": { - values?: { - [key: string]: components["schemas"]["Partial_TextOperators_"]; - }; - response?: components["schemas"]["Partial_ResponseTableToOperators_"]; - request?: components["schemas"]["Partial_RequestTableToOperators_"]; - feedback?: components["schemas"]["Partial_FeedbackTableToOperators_"]; + "Pick_FilterLeaf.users_view-or-request_response_rmt_": { request_response_rmt?: components["schemas"]["Partial_RequestResponseRMTToOperators_"]; - sessions_request_response_rmt?: components["schemas"]["Partial_SessionsRequestResponseRMTToOperators_"]; - properties?: { - [key: string]: components["schemas"]["Partial_TextOperators_"]; - }; + users_view?: components["schemas"]["Partial_UserViewToOperators_"]; }; - "FilterLeafSubset_feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_": components["schemas"]["Pick_FilterLeaf.feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_"]; - RequestFilterNode: components["schemas"]["FilterLeafSubset_feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_"] | components["schemas"]["RequestFilterBranch"] | "all"; - RequestFilterBranch: { - right: components["schemas"]["RequestFilterNode"]; + "FilterLeafSubset_users_view-or-request_response_rmt_": components["schemas"]["Pick_FilterLeaf.users_view-or-request_response_rmt_"]; + UserFilterNode: components["schemas"]["FilterLeafSubset_users_view-or-request_response_rmt_"] | components["schemas"]["UserFilterBranch"] | "all"; + UserFilterBranch: { + right: components["schemas"]["UserFilterNode"]; /** @enum {string} */ operator: "or" | "and"; - left: components["schemas"]["RequestFilterNode"]; + left: components["schemas"]["UserFilterNode"]; }; /** @enum {string} */ - SortDirection: "asc" | "desc"; - SortLeafRequest: { - /** @enum {boolean} */ - random?: true; - created_at?: components["schemas"]["SortDirection"]; - cache_created_at?: components["schemas"]["SortDirection"]; - latency?: components["schemas"]["SortDirection"]; - last_active?: components["schemas"]["SortDirection"]; - total_tokens?: components["schemas"]["SortDirection"]; - completion_tokens?: components["schemas"]["SortDirection"]; - prompt_tokens?: components["schemas"]["SortDirection"]; - user_id?: components["schemas"]["SortDirection"]; - body_model?: components["schemas"]["SortDirection"]; - is_cached?: components["schemas"]["SortDirection"]; - request_prompt?: components["schemas"]["SortDirection"]; - response_text?: components["schemas"]["SortDirection"]; - properties?: { - [key: string]: components["schemas"]["SortDirection"]; - }; - values?: { - [key: string]: components["schemas"]["SortDirection"]; + PSize: "p50" | "p75" | "p95" | "p99" | "p99.9"; + UserMetricsResult: { + id: string; + user_id: string; + /** Format: double */ + active_for: number; + first_active: string; + last_active: string; + /** Format: double */ + total_requests: number; + /** Format: double */ + average_requests_per_day_active: number; + /** Format: double */ + average_tokens_per_request: number; + /** Format: double */ + total_completion_tokens: number; + /** Format: double */ + total_prompt_tokens: number; + /** Format: double */ + cost: number; + }; + "ResultSuccess__users-UserMetricsResult-Array--count-number--hasUsers-boolean__": { + data: { + hasUsers: boolean; + /** Format: double */ + count: number; + users: components["schemas"]["UserMetricsResult"][]; }; + /** @enum {number|null} */ + error: null; + }; + "Result__users-UserMetricsResult-Array--count-number--hasUsers-boolean_.string_": components["schemas"]["ResultSuccess__users-UserMetricsResult-Array--count-number--hasUsers-boolean__"] | components["schemas"]["ResultError_string_"]; + SortLeafUsers: { + id?: components["schemas"]["SortDirection"]; + user_id?: components["schemas"]["SortDirection"]; + active_for?: components["schemas"]["SortDirection"]; + first_active?: components["schemas"]["SortDirection"]; + last_active?: components["schemas"]["SortDirection"]; + total_requests?: components["schemas"]["SortDirection"]; + average_requests_per_day_active?: components["schemas"]["SortDirection"]; + average_tokens_per_request?: components["schemas"]["SortDirection"]; + total_prompt_tokens?: components["schemas"]["SortDirection"]; + total_completion_tokens?: components["schemas"]["SortDirection"]; cost?: components["schemas"]["SortDirection"]; - time_to_first_token?: components["schemas"]["SortDirection"]; + rate_limited_count?: components["schemas"]["SortDirection"]; }; - RequestQueryParams: { - filter: components["schemas"]["RequestFilterNode"]; + UserMetricsQueryParams: { + filter: components["schemas"]["UserFilterNode"]; /** Format: double */ - offset?: number; + offset: number; /** Format: double */ - limit?: number; - sort?: components["schemas"]["SortLeafRequest"]; - isCached?: boolean; - includeInputs?: boolean; - isPartOfExperiment?: boolean; - isScored?: boolean; - }; - /** @enum {string} */ - ProviderName: "OPENAI" | "ANTHROPIC" | "AZURE" | "LOCAL" | "HELICONE" | "AMDBARTEK" | "ANYSCALE" | "CLOUDFLARE" | "2YFV" | "TOGETHER" | "LEMONFOX" | "FIREWORKS" | "PERPLEXITY" | "GOOGLE" | "OPENROUTER" | "WISDOMINANUTSHELL" | "GROQ" | "COHERE" | "MISTRAL" | "DEEPINFRA" | "QSTASH" | "FIRECRAWL" | "AWS" | "BEDROCK" | "DEEPSEEK" | "X" | "AVIAN" | "NEBIUS" | "NOVITA" | "OPENPIPE" | "CHUTES" | "LLAMA" | "NVIDIA" | "VERCEL" | "CEREBRAS" | "BASETEN" | "CANOPYWAVE"; - /** @enum {string} */ - ModelProviderName: "baseten" | "anthropic" | "azure" | "bedrock" | "canopywave" | "cerebras" | "chutes" | "deepinfra" | "deepseek" | "fireworks" | "google-ai-studio" | "groq" | "helicone" | "mistral" | "nebius" | "novita" | "openai" | "openrouter" | "perplexity" | "vertex" | "xai"; - Provider: components["schemas"]["ProviderName"] | components["schemas"]["ModelProviderName"] | "CUSTOM"; - /** @enum {string} */ - LlmType: "chat" | "completion"; - FunctionCall: { - id?: string; - name: string; - arguments: components["schemas"]["Record_string.any_"]; + limit: number; + timeFilter?: { + /** Format: double */ + endTimeUnixSeconds: number; + /** Format: double */ + startTimeUnixSeconds: number; + }; + /** Format: double */ + timeZoneDifferenceMinutes?: number; + sort?: components["schemas"]["SortLeafUsers"]; }; - Message: { - ending_event_id?: string; - trigger_event_id?: string; - start_timestamp?: string; - annotations?: { - content?: string; - title: string; - url: string; - /** @enum {string} */ - type: "url_citation"; + "ResultSuccess__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array_": { + data: { + /** Format: double */ + cost: number; + user_id: string; + /** Format: double */ + completion_tokens: number; + /** Format: double */ + prompt_tokens: number; + /** Format: double */ + count: number; }[]; - reasoning?: string; - deleted?: boolean; - contentArray?: components["schemas"]["Message"][]; - /** Format: double */ - idx?: number; - detail?: string; - filename?: string; - file_id?: string; - file_data?: string; - /** @enum {string} */ - type?: "input_image" | "input_text" | "input_file"; - audio_data?: string; - image_url?: string; - timestamp?: string; - tool_call_id?: string; - tool_calls?: components["schemas"]["FunctionCall"][]; - mime_type?: string; - content?: string; - name?: string; - instruction?: string; - role?: string | ("user" | "assistant" | "system" | "developer"); - id?: string; - /** @enum {string} */ - _type: "functionCall" | "function" | "image" | "file" | "message" | "autoInput" | "contentArray" | "audio"; + /** @enum {number|null} */ + error: null; }; - Tool: { - name: string; - description?: string; - parameters?: components["schemas"]["Record_string.any_"]; - strict?: boolean; + "Result__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array.string_": components["schemas"]["ResultSuccess__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array_"] | components["schemas"]["ResultError_string_"]; + UserQueryParams: { + userIds?: string[]; + timeFilter?: { + /** Format: double */ + endTimeUnixSeconds: number; + /** Format: double */ + startTimeUnixSeconds: number; + }; }; - HeliconeEventTool: { - /** @enum {string} */ - _type: "tool"; - toolName: string; - input: unknown; - [key: string]: unknown; + ValidationError: { + field: string; + message: string; }; - HeliconeEventVectorDB: { - /** @enum {string} */ - _type: "vector_db"; - /** @enum {string} */ - operation: "search" | "insert" | "delete" | "update"; - text?: string; - vector?: number[]; - /** Format: double */ - topK?: number; - filter?: Record; - databaseName?: string; - [key: string]: unknown; + ValidationResult: { + isValid: boolean; + errors: components["schemas"]["ValidationError"][]; }; - HeliconeEventData: { - /** @enum {string} */ - _type: "data"; - name: string; - meta?: components["schemas"]["Record_string.any_"]; + /** @description Construct a type with a set of properties K of type T */ + "Record_string.unknown_": { [key: string]: unknown; }; - LLMRequestBody: { - llm_type?: components["schemas"]["LlmType"]; - provider?: string; - model?: string; - messages?: components["schemas"]["Message"][] | null; - prompt?: string | null; - instructions?: string | null; + TypedProviderRequest: { + url: string; + json: components["schemas"]["Record_string.unknown_"]; + meta: components["schemas"]["Record_string.string_"]; + }; + TypedProviderResponse: { + json?: components["schemas"]["Record_string.unknown_"]; + textBody?: string; /** Format: double */ - max_tokens?: number | null; + status: number; + headers: components["schemas"]["Record_string.string_"]; + }; + TypedTiming: { /** Format: double */ - temperature?: number | null; + timeToFirstToken?: number; + startTime: string; + endTime: string; + }; + TypedAsyncLogModel: { + providerRequest: components["schemas"]["TypedProviderRequest"]; + providerResponse: components["schemas"]["TypedProviderResponse"]; + timing?: components["schemas"]["TypedTiming"]; + provider?: components["schemas"]["Provider"]; + }; + OTELTrace: { + resourceSpans: { + scopeSpans: { + spans: { + /** Format: double */ + droppedLinksCount: number; + links: unknown[]; + status: { + /** Format: double */ + code: number; + }; + /** Format: double */ + droppedEventsCount: number; + events: unknown[]; + /** Format: double */ + droppedAttributesCount: number; + attributes: { + value: { + /** Format: double */ + intValue?: number; + stringValue?: string; + }; + key: string; + }[]; + endTimeUnixNano: string; + startTimeUnixNano: string; + /** Format: double */ + kind: number; + name: string; + spanId: string; + traceId: string; + }[]; + scope: { + version: string; + name: string; + }; + }[]; + resource: { + /** Format: double */ + droppedAttributesCount: number; + attributes: { + value: { + arrayValue?: { + values: { + stringValue: string; + }[]; + }; + /** Format: double */ + intValue?: number; + stringValue?: string; + }; + key: string; + }[]; + }; + }[]; + }; + SendTestRequestResponse: { + success: boolean; + response?: string; + requestId?: string; + error?: string; + }; + SendTestRequestRequest: { + apiKey: string; + }; + SessionResult: { + created_at: string; + latest_request_created_at: string; + session_id: string; + session_name: string; /** Format: double */ - top_p?: number | null; + total_cost: number; /** Format: double */ - seed?: number | null; - stream?: boolean | null; + total_requests: number; /** Format: double */ - presence_penalty?: number | null; + prompt_tokens: number; /** Format: double */ - frequency_penalty?: number | null; - stop?: (string[] | string) | null; - /** @enum {string|null} */ - reasoning_effort?: "minimal" | "low" | "medium" | "high" | null; - /** @enum {string|null} */ - verbosity?: "low" | "medium" | "high" | null; - tools?: components["schemas"]["Tool"][]; - parallel_tool_calls?: boolean | null; - tool_choice?: { - name?: string; - /** @enum {string} */ - type: "none" | "auto" | "any" | "tool"; - }; - response_format?: { - json_schema?: unknown; - type: string; - }; - toolDetails?: components["schemas"]["HeliconeEventTool"]; - vectorDBDetails?: components["schemas"]["HeliconeEventVectorDB"]; - dataDetails?: components["schemas"]["HeliconeEventData"]; - input?: string | string[]; + completion_tokens: number; /** Format: double */ - n?: number | null; - size?: string; - quality?: string; - }; - Response: { - contentArray?: components["schemas"]["Response"][]; - detail?: string; - filename?: string; - file_id?: string; - file_data?: string; + total_tokens: number; /** Format: double */ - idx?: number; - audio_data?: string; - image_url?: string; - timestamp?: string; - tool_call_id?: string; - tool_calls?: components["schemas"]["FunctionCall"][]; - text?: string; - /** @enum {string} */ - type: "input_image" | "input_text" | "input_file"; - name?: string; - /** @enum {string} */ - role: "user" | "assistant" | "system" | "developer"; - id?: string; + avg_latency: number; + user_ids: string[]; + }; + "ResultSuccess_SessionResult-Array_": { + data: components["schemas"]["SessionResult"][]; + /** @enum {number|null} */ + error: null; + }; + "Result_SessionResult-Array.string_": components["schemas"]["ResultSuccess_SessionResult-Array_"] | components["schemas"]["ResultError_string_"]; + /** @description From T, pick a set of properties whose keys are in the union K */ + "Pick_FilterLeaf.request_response_rmt-or-sessions_request_response_rmt_": { + request_response_rmt?: components["schemas"]["Partial_RequestResponseRMTToOperators_"]; + sessions_request_response_rmt?: components["schemas"]["Partial_SessionsRequestResponseRMTToOperators_"]; + }; + "FilterLeafSubset_request_response_rmt-or-sessions_request_response_rmt_": components["schemas"]["Pick_FilterLeaf.request_response_rmt-or-sessions_request_response_rmt_"]; + SessionFilterNode: components["schemas"]["FilterLeafSubset_request_response_rmt-or-sessions_request_response_rmt_"] | components["schemas"]["SessionFilterBranch"] | "all"; + SessionFilterBranch: { + right: components["schemas"]["SessionFilterNode"]; /** @enum {string} */ - _type: "functionCall" | "function" | "image" | "text" | "file" | "contentArray"; + operator: "or" | "and"; + left: components["schemas"]["SessionFilterNode"]; }; - LLMResponseBody: { - dataDetailsResponse?: { - name: string; - /** @enum {string} */ - _type: "data"; - metadata: { - timestamp: string; - [key: string]: unknown; - }; - message: string; - status: string; - [key: string]: unknown; - }; - vectorDBDetailsResponse?: { - /** @enum {string} */ - _type: "vector_db"; - metadata: { - timestamp: string; - destination_parsed?: boolean; - destination?: string; - }; + SessionQueryParams: { + search: string; + timeFilter: { /** Format: double */ - actualSimilarity?: number; + endTimeUnixMs: number; /** Format: double */ - similarityThreshold?: number; - message: string; - status: string; - }; - toolDetailsResponse?: { - toolName: string; - /** @enum {string} */ - _type: "tool"; - metadata: { - timestamp: string; - }; - tips: string[]; - message: string; - status: string; - }; - error?: { - heliconeMessage: unknown; + startTimeUnixMs: number; }; - model?: string | null; - instructions?: string | null; - responses?: components["schemas"]["Response"][] | null; - messages?: components["schemas"]["Message"][] | null; - }; - LlmSchema: { - request: components["schemas"]["LLMRequestBody"]; - response?: components["schemas"]["LLMResponseBody"] | null; - }; - HeliconeRequest: { - response_id: string | null; - response_created_at: string | null; - response_body?: unknown; + nameEquals?: string; /** Format: double */ - response_status: number; - response_model: string | null; - request_id: string; - request_created_at: string; - request_body: unknown; - request_path: string; - request_user_id: string | null; - request_properties: components["schemas"]["Record_string.string_"] | null; - request_model: string | null; - model_override: string | null; - helicone_user: string | null; - provider: components["schemas"]["Provider"]; + timezoneDifference: number; + filter: components["schemas"]["SessionFilterNode"]; /** Format: double */ - delay_ms: number | null; + offset?: number; /** Format: double */ - time_to_first_token: number | null; + limit?: number; + }; + SessionsAggregateMetrics: { /** Format: double */ - total_tokens: number | null; + count: number; /** Format: double */ - prompt_tokens: number | null; + total_cost: number; /** Format: double */ - prompt_cache_write_tokens: number | null; + avg_cost: number; /** Format: double */ - prompt_cache_read_tokens: number | null; + avg_latency: number; /** Format: double */ - completion_tokens: number | null; + avg_requests: number; + }; + ResultSuccess_SessionsAggregateMetrics_: { + data: components["schemas"]["SessionsAggregateMetrics"]; + /** @enum {number|null} */ + error: null; + }; + "Result_SessionsAggregateMetrics.string_": components["schemas"]["ResultSuccess_SessionsAggregateMetrics_"] | components["schemas"]["ResultError_string_"]; + SessionNameResult: { + name: string; + created_at: string; + last_used: string; + first_used: string; /** Format: double */ - reasoning_tokens: number | null; + session_count: number; /** Format: double */ - prompt_audio_tokens: number | null; + avg_latency: number; + }; + "ResultSuccess_SessionNameResult-Array_": { + data: components["schemas"]["SessionNameResult"][]; + /** @enum {number|null} */ + error: null; + }; + "Result_SessionNameResult-Array.string_": components["schemas"]["ResultSuccess_SessionNameResult-Array_"] | components["schemas"]["ResultError_string_"]; + TimeFilterMs: { /** Format: double */ - completion_audio_tokens: number | null; + startTimeUnixMs: number; /** Format: double */ - cost: number | null; - prompt_id: string | null; - prompt_version: string | null; - feedback_created_at?: string | null; - feedback_id?: string | null; - feedback_rating?: boolean | null; - signed_body_url?: string | null; - llmSchema: components["schemas"]["LlmSchema"] | null; - country_code: string | null; - asset_ids: string[] | null; - asset_urls: components["schemas"]["Record_string.string_"] | null; - scores: components["schemas"]["Record_string.number_"] | null; + endTimeUnixMs: number; + }; + SessionNameQueryParams: { + nameContains: string; /** Format: double */ - costUSD?: number | null; - properties: components["schemas"]["Record_string.string_"]; - assets: string[]; - target_url: string; - model: string; - cache_reference_id: string | null; - cache_enabled: boolean; - updated_at?: string; - request_referrer?: string | null; - ai_gateway_body_mapping: string | null; - storage_location?: string; + timezoneDifference: number; + /** @enum {string} */ + pSize?: "p50" | "p75" | "p95" | "p99" | "p99.9"; + useInterquartile?: boolean; + timeFilter?: components["schemas"]["TimeFilterMs"]; + filter?: components["schemas"]["SessionFilterNode"]; }; - "ResultSuccess_HeliconeRequest-Array_": { - data: components["schemas"]["HeliconeRequest"][]; - /** @enum {number|null} */ - error: null; + AverageRow: { + /** Format: double */ + average: number; }; - "Result_HeliconeRequest-Array.string_": components["schemas"]["ResultSuccess_HeliconeRequest-Array_"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_HeliconeRequest_: { - data: components["schemas"]["HeliconeRequest"]; - /** @enum {number|null} */ - error: null; + SessionMetrics: { + session_count: components["schemas"]["HistogramRow"][]; + session_duration: components["schemas"]["HistogramRow"][]; + session_cost: components["schemas"]["HistogramRow"][]; + average: { + session_cost: components["schemas"]["AverageRow"][]; + session_duration: components["schemas"]["AverageRow"][]; + session_count: components["schemas"]["AverageRow"][]; + }; }; - "Result_HeliconeRequest.string_": components["schemas"]["ResultSuccess_HeliconeRequest_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null_": { - data: ({ - environment: string | null; - version_id: string; - prompt_id: string; - inputs: components["schemas"]["Record_string.any_"]; - }) | null; + ResultSuccess_SessionMetrics_: { + data: components["schemas"]["SessionMetrics"]; /** @enum {number|null} */ error: null; }; - "Result__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null.string_": components["schemas"]["ResultSuccess__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null_"] | components["schemas"]["ResultError_string_"]; - HeliconeRequestAsset: { - assetUrl: string; + "Result_SessionMetrics.string_": components["schemas"]["ResultSuccess_SessionMetrics_"] | components["schemas"]["ResultError_string_"]; + SessionMetricsQueryParams: { + nameContains: string; + /** Format: double */ + timezoneDifference: number; + /** @enum {string} */ + pSize?: "p50" | "p75" | "p95" | "p99" | "p99.9"; + useInterquartile?: boolean; + timeFilter?: components["schemas"]["TimeFilterMs"]; + filter?: components["schemas"]["SessionFilterNode"]; }; - ResultSuccess_HeliconeRequestAsset_: { - data: components["schemas"]["HeliconeRequestAsset"]; + "ResultSuccess_string-or-null_": { + data: string | null; /** @enum {number|null} */ error: null; }; - "Result_HeliconeRequestAsset.string_": components["schemas"]["ResultSuccess_HeliconeRequestAsset_"] | components["schemas"]["ResultError_string_"]; - /** @description Construct a type with a set of properties K of type T */ - "Record_string.number-or-boolean-or-undefined_": { - [key: string]: number | boolean; - }; - Scores: components["schemas"]["Record_string.number-or-boolean-or-undefined_"]; - ScoreRequest: { - scores: components["schemas"]["Scores"]; - }; - ConversationMessage: { - role: string; - content: string; - }; - MostExpensiveRequest: { - requestId: string; + "Result_string-or-null.string_": components["schemas"]["ResultSuccess_string-or-null_"] | components["schemas"]["ResultError_string_"]; + MetricsData: { /** Format: double */ - cost: number; - model: string; - provider: string; - createdAt: string; + totalRequests: number; /** Format: double */ - promptTokens: number; + requestCountPrevious24h: number; /** Format: double */ - completionTokens: number; - conversation: { - /** Format: double */ - totalWords: number; - /** Format: double */ - turnCount: number; - messages: components["schemas"]["ConversationMessage"][]; - } | null; - }; - WrappedStats: { + requestVolumeChange: number; /** Format: double */ - totalRequests: number; - topProviders: { - /** Format: double */ - count: number; - provider: string; - }[]; - topModels: { - /** Format: double */ - count: number; - model: string; - }[]; - totalTokens: { - /** Format: double */ - total: number; - /** Format: double */ - cacheRead: number; - /** Format: double */ - cacheWrite: number; - /** Format: double */ - completion: number; - /** Format: double */ - prompt: number; - }; - mostExpensiveRequest: components["schemas"]["MostExpensiveRequest"] | null; + errorRate24h: number; + /** Format: double */ + errorRatePrevious24h: number; + /** Format: double */ + errorRateChange: number; + /** Format: double */ + averageLatency: number; + /** Format: double */ + averageLatencyPerToken: number; + /** Format: double */ + latencyChange: number; + /** Format: double */ + latencyPerTokenChange: number; + /** Format: double */ + recentRequestCount: number; + /** Format: double */ + recentErrorCount: number; }; - ResultSuccess_WrappedStats_: { - data: components["schemas"]["WrappedStats"]; - /** @enum {number|null} */ - error: null; + TimeSeriesDataPoint: { + /** Format: date-time */ + timestamp: string; + /** Format: double */ + errorCount: number; + /** Format: double */ + requestCount: number; + /** Format: double */ + averageLatency: number; + /** Format: double */ + averageLatencyPerCompletionToken: number; }; - "Result_WrappedStats.string_": components["schemas"]["ResultSuccess_WrappedStats_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__hasData-boolean__": { - data: { - hasData: boolean; + ProviderMetrics: { + providerName: string; + metrics: components["schemas"]["MetricsData"] & { + timeSeriesData: components["schemas"]["TimeSeriesDataPoint"][]; }; - /** @enum {number|null} */ - error: null; - }; - "Result__hasData-boolean_.string_": components["schemas"]["ResultSuccess__hasData-boolean__"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_unknown_: { - data: unknown; - /** @enum {number|null} */ - error: null; - }; - ResultError_unknown_: { - /** @enum {number|null} */ - data: null; - error: unknown; - }; - WebhookData: { - destination: string; - config: components["schemas"]["Record_string.any_"]; - includeData?: boolean; }; - "ResultSuccess__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array_": { - data: { - hmac_key: string; - config: string; - version: string; - destination: string; - created_at: string; - id: string; - }[]; + "ResultSuccess_ProviderMetrics-Array_": { + data: components["schemas"]["ProviderMetrics"][]; /** @enum {number|null} */ error: null; }; - "Result__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array.string_": components["schemas"]["ResultSuccess__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__success-boolean--message-string__": { - data: { - message: string; - success: boolean; - }; + "Result_ProviderMetrics-Array.string_": components["schemas"]["ResultSuccess_ProviderMetrics-Array_"] | components["schemas"]["ResultError_string_"]; + ResultSuccess_ProviderMetrics_: { + data: components["schemas"]["ProviderMetrics"]; /** @enum {number|null} */ error: null; }; - "Result__success-boolean--message-string_.string_": components["schemas"]["ResultSuccess__success-boolean--message-string__"] | components["schemas"]["ResultError_string_"]; - AddVaultKeyParams: { - key: string; + "Result_ProviderMetrics.string_": components["schemas"]["ResultSuccess_ProviderMetrics_"] | components["schemas"]["ResultError_string_"]; + /** @enum {string} */ + TimeFrame: "24h" | "7d" | "30d"; + ProviderMetric: { provider: string; - name?: string; - }; - "ResultSuccess_DecryptedProviderKey-Array_": { - data: components["schemas"]["DecryptedProviderKey"][]; - /** @enum {number|null} */ - error: null; + /** Format: double */ + total_requests: number; }; - "Result_DecryptedProviderKey-Array.string_": components["schemas"]["ResultSuccess_DecryptedProviderKey-Array_"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_DecryptedProviderKey_: { - data: components["schemas"]["DecryptedProviderKey"]; + "ResultSuccess_ProviderMetric-Array_": { + data: components["schemas"]["ProviderMetric"][]; /** @enum {number|null} */ error: null; }; - "Result_DecryptedProviderKey.string_": components["schemas"]["ResultSuccess_DecryptedProviderKey_"] | components["schemas"]["ResultError_string_"]; - HistogramRow: { - range_start: string; - range_end: string; - /** Format: double */ - value: number; + "Result_ProviderMetric-Array.string_": components["schemas"]["ResultSuccess_ProviderMetric-Array_"] | components["schemas"]["ResultError_string_"]; + /** @description Make all properties in T optional */ + Partial_UserMetricsToOperators_: { + user_id?: components["schemas"]["Partial_TextOperators_"]; + last_active?: components["schemas"]["Partial_TimestampOperators_"]; + total_requests?: components["schemas"]["Partial_NumberOperators_"]; + active_for?: components["schemas"]["Partial_NumberOperators_"]; + average_requests_per_day_active?: components["schemas"]["Partial_NumberOperators_"]; + average_tokens_per_request?: components["schemas"]["Partial_NumberOperators_"]; + total_completion_tokens?: components["schemas"]["Partial_NumberOperators_"]; + total_prompt_tokens?: components["schemas"]["Partial_NumberOperators_"]; + cost?: components["schemas"]["Partial_NumberOperators_"]; }; - "ResultSuccess__request_count-HistogramRow-Array--user_cost-HistogramRow-Array__": { - data: { - user_cost: components["schemas"]["HistogramRow"][]; - request_count: components["schemas"]["HistogramRow"][]; + /** @description Make all properties in T optional */ + Partial_UserApiKeysTableToOperators_: { + api_key_hash?: components["schemas"]["Partial_TextOperators_"]; + api_key_name?: components["schemas"]["Partial_TextOperators_"]; + }; + /** @description Make all properties in T optional */ + Partial_PropertiesTableToOperators_: { + auth_hash?: components["schemas"]["Partial_TextOperators_"]; + key?: components["schemas"]["Partial_TextOperators_"]; + value?: components["schemas"]["Partial_TextOperators_"]; + }; + /** @description Make all properties in T optional */ + Partial_PromptToOperators_: { + id?: components["schemas"]["Partial_TextOperators_"]; + user_defined_id?: components["schemas"]["Partial_TextOperators_"]; + }; + /** @description Make all properties in T optional */ + Partial_PromptVersionsToOperators_: { + minor_version?: components["schemas"]["Partial_NumberOperators_"]; + major_version?: components["schemas"]["Partial_NumberOperators_"]; + id?: components["schemas"]["Partial_TextOperators_"]; + prompt_v2?: components["schemas"]["Partial_TextOperators_"]; + }; + /** @description Make all properties in T optional */ + Partial_ExperimentToOperators_: { + id?: components["schemas"]["Partial_TextOperators_"]; + prompt_v2?: components["schemas"]["Partial_TextOperators_"]; + }; + /** @description Make all properties in T optional */ + Partial_ExperimentHypothesisRunToOperator_: { + result_request_id?: components["schemas"]["Partial_TextOperators_"]; + }; + /** @description Make all properties in T optional */ + Partial_ScoreValueToOperator_: { + request_id?: components["schemas"]["Partial_TextOperators_"]; + }; + /** @description Make all properties in T optional */ + Partial_RequestResponseLogToOperators_: { + latency?: components["schemas"]["Partial_NumberOperators_"]; + status?: components["schemas"]["Partial_NumberOperators_"]; + request_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; + response_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; + auth_hash?: components["schemas"]["Partial_TextOperators_"]; + model?: components["schemas"]["Partial_TextOperators_"]; + user_id?: components["schemas"]["Partial_TextOperators_"]; + organization_id?: components["schemas"]["Partial_TextOperators_"]; + node_id?: components["schemas"]["Partial_TextOperators_"]; + job_id?: components["schemas"]["Partial_TextOperators_"]; + threat?: components["schemas"]["Partial_BooleanOperators_"]; + }; + /** @description Make all properties in T optional */ + Partial_PropertiesV3ToOperators_: { + key?: components["schemas"]["Partial_TextOperators_"]; + value?: components["schemas"]["Partial_TextOperators_"]; + organization_id?: components["schemas"]["Partial_TextOperators_"]; + }; + /** @description Make all properties in T optional */ + Partial_PropertyWithResponseV1ToOperators_: { + property_key?: components["schemas"]["Partial_TextOperators_"]; + property_value?: components["schemas"]["Partial_TextOperators_"]; + request_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; + organization_id?: components["schemas"]["Partial_TextOperators_"]; + threat?: components["schemas"]["Partial_BooleanOperators_"]; + }; + /** @description Make all properties in T optional */ + Partial_JobToOperators_: { + id?: components["schemas"]["Partial_TextOperators_"]; + name?: components["schemas"]["Partial_TextOperators_"]; + description?: components["schemas"]["Partial_TextOperators_"]; + status?: components["schemas"]["Partial_TextOperators_"]; + created_at?: components["schemas"]["Partial_TimestampOperators_"]; + updated_at?: components["schemas"]["Partial_TimestampOperators_"]; + timeout_seconds?: components["schemas"]["Partial_NumberOperators_"]; + custom_properties?: { + [key: string]: components["schemas"]["Partial_TextOperators_"]; }; - /** @enum {number|null} */ - error: null; + org_id?: components["schemas"]["Partial_TextOperators_"]; }; - "Result__request_count-HistogramRow-Array--user_cost-HistogramRow-Array_.string_": components["schemas"]["ResultSuccess__request_count-HistogramRow-Array--user_cost-HistogramRow-Array__"] | components["schemas"]["ResultError_string_"]; /** @description Make all properties in T optional */ - Partial_UserViewToOperators_: { - user_user_id?: components["schemas"]["Partial_TextOperators_"]; - user_active_for?: components["schemas"]["Partial_NumberOperators_"]; - user_first_active?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - user_last_active?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - user_total_requests?: components["schemas"]["Partial_NumberOperators_"]; - user_average_requests_per_day_active?: components["schemas"]["Partial_NumberOperators_"]; - user_average_tokens_per_request?: components["schemas"]["Partial_NumberOperators_"]; - user_total_completion_tokens?: components["schemas"]["Partial_NumberOperators_"]; - user_total_prompt_tokens?: components["schemas"]["Partial_NumberOperators_"]; - user_cost?: components["schemas"]["Partial_NumberOperators_"]; + Partial_NodesToOperators_: { + id?: components["schemas"]["Partial_TextOperators_"]; + name?: components["schemas"]["Partial_TextOperators_"]; + description?: components["schemas"]["Partial_TextOperators_"]; + job_id?: components["schemas"]["Partial_TextOperators_"]; + status?: components["schemas"]["Partial_TextOperators_"]; + created_at?: components["schemas"]["Partial_TimestampOperators_"]; + updated_at?: components["schemas"]["Partial_TimestampOperators_"]; + timeout_seconds?: components["schemas"]["Partial_NumberOperators_"]; + custom_properties?: { + [key: string]: components["schemas"]["Partial_TextOperators_"]; + }; + org_id?: components["schemas"]["Partial_TextOperators_"]; }; - /** @description From T, pick a set of properties whose keys are in the union K */ - "Pick_FilterLeaf.users_view-or-request_response_rmt_": { - request_response_rmt?: components["schemas"]["Partial_RequestResponseRMTToOperators_"]; - users_view?: components["schemas"]["Partial_UserViewToOperators_"]; + /** @description Make all properties in T optional */ + Partial_CacheMetricsTableToOperators_: { + organization_id?: components["schemas"]["Partial_TextOperators_"]; + request_id?: components["schemas"]["Partial_TextOperators_"]; + date?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; + hour?: components["schemas"]["Partial_NumberOperators_"]; + model?: components["schemas"]["Partial_TextOperators_"]; + cache_hit_count?: components["schemas"]["Partial_NumberOperators_"]; + saved_latency_ms?: components["schemas"]["Partial_NumberOperators_"]; + saved_completion_tokens?: components["schemas"]["Partial_NumberOperators_"]; + saved_prompt_tokens?: components["schemas"]["Partial_NumberOperators_"]; + saved_completion_audio_tokens?: components["schemas"]["Partial_NumberOperators_"]; + saved_prompt_audio_tokens?: components["schemas"]["Partial_NumberOperators_"]; + saved_prompt_cache_write_tokens?: components["schemas"]["Partial_NumberOperators_"]; + saved_prompt_cache_read_tokens?: components["schemas"]["Partial_NumberOperators_"]; + first_hit?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; + last_hit?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; + request_body?: components["schemas"]["Partial_TextOperators_"]; + response_body?: components["schemas"]["Partial_TextOperators_"]; }; - "FilterLeafSubset_users_view-or-request_response_rmt_": components["schemas"]["Pick_FilterLeaf.users_view-or-request_response_rmt_"]; - UserFilterNode: components["schemas"]["FilterLeafSubset_users_view-or-request_response_rmt_"] | components["schemas"]["UserFilterBranch"] | "all"; - UserFilterBranch: { - right: components["schemas"]["UserFilterNode"]; - /** @enum {string} */ - operator: "or" | "and"; - left: components["schemas"]["UserFilterNode"]; + /** @description Make all properties in T optional */ + Partial_RateLimitTableToOperators_: { + organization_id?: components["schemas"]["Partial_TextOperators_"]; + created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; }; - /** @enum {string} */ - PSize: "p50" | "p75" | "p95" | "p99" | "p99.9"; - UserMetricsResult: { - id: string; - user_id: string; - /** Format: double */ - active_for: number; - first_active: string; - last_active: string; - /** Format: double */ - total_requests: number; - /** Format: double */ - average_requests_per_day_active: number; - /** Format: double */ - average_tokens_per_request: number; - /** Format: double */ - total_completion_tokens: number; - /** Format: double */ - total_prompt_tokens: number; - /** Format: double */ - cost: number; + /** @description Make all properties in T optional */ + Partial_OrganizationPropertiesToOperators_: { + organization_id?: components["schemas"]["Partial_TextOperators_"]; + property_key?: components["schemas"]["Partial_TextOperators_"]; }; - "ResultSuccess__users-UserMetricsResult-Array--count-number--hasUsers-boolean__": { - data: { - hasUsers: boolean; - /** Format: double */ - count: number; - users: components["schemas"]["UserMetricsResult"][]; + /** @description Make all properties in T optional */ + Partial_TablesAndViews_: { + user_metrics?: components["schemas"]["Partial_UserMetricsToOperators_"]; + user_api_keys?: components["schemas"]["Partial_UserApiKeysTableToOperators_"]; + response?: components["schemas"]["Partial_ResponseTableToOperators_"]; + request?: components["schemas"]["Partial_RequestTableToOperators_"]; + feedback?: components["schemas"]["Partial_FeedbackTableToOperators_"]; + properties_table?: components["schemas"]["Partial_PropertiesTableToOperators_"]; + prompt_v2?: components["schemas"]["Partial_PromptToOperators_"]; + prompts_versions?: components["schemas"]["Partial_PromptVersionsToOperators_"]; + experiment?: components["schemas"]["Partial_ExperimentToOperators_"]; + experiment_hypothesis_run?: components["schemas"]["Partial_ExperimentHypothesisRunToOperator_"]; + score_value?: components["schemas"]["Partial_ScoreValueToOperator_"]; + request_response_log?: components["schemas"]["Partial_RequestResponseLogToOperators_"]; + request_response_rmt?: components["schemas"]["Partial_RequestResponseRMTToOperators_"]; + sessions_request_response_rmt?: components["schemas"]["Partial_SessionsRequestResponseRMTToOperators_"]; + users_view?: components["schemas"]["Partial_UserViewToOperators_"]; + properties_v3?: components["schemas"]["Partial_PropertiesV3ToOperators_"]; + property_with_response_v1?: components["schemas"]["Partial_PropertyWithResponseV1ToOperators_"]; + job?: components["schemas"]["Partial_JobToOperators_"]; + job_node?: components["schemas"]["Partial_NodesToOperators_"]; + cache_metrics?: components["schemas"]["Partial_CacheMetricsTableToOperators_"]; + rate_limit_log?: components["schemas"]["Partial_RateLimitTableToOperators_"]; + organization_properties?: components["schemas"]["Partial_OrganizationPropertiesToOperators_"]; + properties?: { + [key: string]: components["schemas"]["Partial_TextOperators_"]; + }; + values?: { + [key: string]: components["schemas"]["Partial_TextOperators_"]; }; - /** @enum {number|null} */ - error: null; }; - "Result__users-UserMetricsResult-Array--count-number--hasUsers-boolean_.string_": components["schemas"]["ResultSuccess__users-UserMetricsResult-Array--count-number--hasUsers-boolean__"] | components["schemas"]["ResultError_string_"]; - SortLeafUsers: { - id?: components["schemas"]["SortDirection"]; - user_id?: components["schemas"]["SortDirection"]; - active_for?: components["schemas"]["SortDirection"]; - first_active?: components["schemas"]["SortDirection"]; - last_active?: components["schemas"]["SortDirection"]; - total_requests?: components["schemas"]["SortDirection"]; - average_requests_per_day_active?: components["schemas"]["SortDirection"]; - average_tokens_per_request?: components["schemas"]["SortDirection"]; - total_prompt_tokens?: components["schemas"]["SortDirection"]; - total_completion_tokens?: components["schemas"]["SortDirection"]; - cost?: components["schemas"]["SortDirection"]; - rate_limited_count?: components["schemas"]["SortDirection"]; + SingleKey_TablesAndViews_: components["schemas"]["Partial_TablesAndViews_"]; + FilterLeaf: components["schemas"]["SingleKey_TablesAndViews_"]; + FilterNode: components["schemas"]["FilterLeaf"] | components["schemas"]["FilterBranch"] | Record | "all"; + FilterBranch: { + left: components["schemas"]["FilterNode"]; + /** @enum {string} */ + operator: "or" | "and"; + right: components["schemas"]["FilterNode"]; }; - UserMetricsQueryParams: { - filter: components["schemas"]["UserFilterNode"]; + ProviderQueryParams: { + filter: components["schemas"]["FilterNode"]; /** Format: double */ offset: number; /** Format: double */ limit: number; - timeFilter?: { - /** Format: double */ - endTimeUnixSeconds: number; - /** Format: double */ - startTimeUnixSeconds: number; + timeFilter: { + end: string; + start: string; }; - /** Format: double */ - timeZoneDifferenceMinutes?: number; - sort?: components["schemas"]["SortLeafUsers"]; }; - "ResultSuccess__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array_": { + "ResultSuccess__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array_": { data: { + created_at_trunc: string; /** Format: double */ - cost: number; - user_id: string; - /** Format: double */ - completion_tokens: number; - /** Format: double */ - prompt_tokens: number; + request_count: number; /** Format: double */ - count: number; + total_cost: number; + property: string; }[]; /** @enum {number|null} */ error: null; }; - "Result__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array.string_": components["schemas"]["ResultSuccess__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array_"] | components["schemas"]["ResultError_string_"]; - UserQueryParams: { - userIds?: string[]; - timeFilter?: { - /** Format: double */ - endTimeUnixSeconds: number; - /** Format: double */ - startTimeUnixSeconds: number; - }; - }; - ValidationError: { - field: string; - message: string; - }; - ValidationResult: { - isValid: boolean; - errors: components["schemas"]["ValidationError"][]; - }; - TypedProviderRequest: { - url: string; - json: components["schemas"]["Record_string.unknown_"]; - meta: components["schemas"]["Record_string.string_"]; + "Result__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array.string_": components["schemas"]["ResultSuccess__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array_"] | components["schemas"]["ResultError_string_"]; + /** @description From T, pick a set of properties whose keys are in the union K */ + "Pick_FilterLeaf.request_response_rmt_": { + request_response_rmt?: components["schemas"]["Partial_RequestResponseRMTToOperators_"]; }; - TypedProviderResponse: { - json?: components["schemas"]["Record_string.unknown_"]; - textBody?: string; - /** Format: double */ - status: number; - headers: components["schemas"]["Record_string.string_"]; + FilterLeafSubset_request_response_rmt_: components["schemas"]["Pick_FilterLeaf.request_response_rmt_"]; + RequestClickhouseFilterNode: components["schemas"]["FilterLeafSubset_request_response_rmt_"] | components["schemas"]["RequestClickhouseFilterBranch"] | "all"; + RequestClickhouseFilterBranch: { + right: components["schemas"]["RequestClickhouseFilterNode"]; + /** @enum {string} */ + operator: "or" | "and"; + left: components["schemas"]["RequestClickhouseFilterNode"]; }; - TypedTiming: { + /** @enum {string} */ + TimeIncrement: "min" | "hour" | "day" | "week" | "month" | "year"; + DataOverTimeRequest: { + timeFilter: { + end: string; + start: string; + }; + userFilter: components["schemas"]["RequestClickhouseFilterNode"]; + dbIncrement: components["schemas"]["TimeIncrement"]; /** Format: double */ - timeToFirstToken?: number; - startTime: string; - endTime: string; - }; - TypedAsyncLogModel: { - providerRequest: components["schemas"]["TypedProviderRequest"]; - providerResponse: components["schemas"]["TypedProviderResponse"]; - timing?: components["schemas"]["TypedTiming"]; - provider?: components["schemas"]["Provider"]; - }; - OTELTrace: { - resourceSpans: { - scopeSpans: { - spans: { - /** Format: double */ - droppedLinksCount: number; - links: unknown[]; - status: { - /** Format: double */ - code: number; - }; - /** Format: double */ - droppedEventsCount: number; - events: unknown[]; - /** Format: double */ - droppedAttributesCount: number; - attributes: { - value: { - /** Format: double */ - intValue?: number; - stringValue?: string; - }; - key: string; - }[]; - endTimeUnixNano: string; - startTimeUnixNano: string; - /** Format: double */ - kind: number; - name: string; - spanId: string; - traceId: string; - }[]; - scope: { - version: string; - name: string; - }; - }[]; - resource: { - /** Format: double */ - droppedAttributesCount: number; - attributes: { - value: { - arrayValue?: { - values: { - stringValue: string; - }[]; - }; - /** Format: double */ - intValue?: number; - stringValue?: string; - }; - key: string; - }[]; - }; - }[]; - }; - SendTestRequestResponse: { - success: boolean; - response?: string; - requestId?: string; - error?: string; + timeZoneDifference: number; }; - SendTestRequestRequest: { - apiKey: string; + Property: { + property: string; }; - SessionResult: { - created_at: string; - latest_request_created_at: string; - session_id: string; - session_name: string; - /** Format: double */ - total_cost: number; - /** Format: double */ - total_requests: number; - /** Format: double */ - prompt_tokens: number; - /** Format: double */ - completion_tokens: number; - /** Format: double */ - total_tokens: number; - /** Format: double */ - avg_latency: number; - user_ids: string[]; + "ResultSuccess_Property-Array_": { + data: components["schemas"]["Property"][]; + /** @enum {number|null} */ + error: null; }; - "ResultSuccess_SessionResult-Array_": { - data: components["schemas"]["SessionResult"][]; + "Result_Property-Array.string_": components["schemas"]["ResultSuccess_Property-Array_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess_unknown-Array_": { + data: unknown[]; /** @enum {number|null} */ error: null; }; - "Result_SessionResult-Array.string_": components["schemas"]["ResultSuccess_SessionResult-Array_"] | components["schemas"]["ResultError_string_"]; - /** @description From T, pick a set of properties whose keys are in the union K */ - "Pick_FilterLeaf.request_response_rmt-or-sessions_request_response_rmt_": { - request_response_rmt?: components["schemas"]["Partial_RequestResponseRMTToOperators_"]; - sessions_request_response_rmt?: components["schemas"]["Partial_SessionsRequestResponseRMTToOperators_"]; + "ResultSuccess_string-Array_": { + data: string[]; + /** @enum {number|null} */ + error: null; }; - "FilterLeafSubset_request_response_rmt-or-sessions_request_response_rmt_": components["schemas"]["Pick_FilterLeaf.request_response_rmt-or-sessions_request_response_rmt_"]; - SessionFilterNode: components["schemas"]["FilterLeafSubset_request_response_rmt-or-sessions_request_response_rmt_"] | components["schemas"]["SessionFilterBranch"] | "all"; - SessionFilterBranch: { - right: components["schemas"]["SessionFilterNode"]; - /** @enum {string} */ - operator: "or" | "and"; - left: components["schemas"]["SessionFilterNode"]; + "Result_string-Array.string_": components["schemas"]["ResultSuccess_string-Array_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__value-string--cost-number_-Array_": { + data: { + /** Format: double */ + cost: number; + value: string; + }[]; + /** @enum {number|null} */ + error: null; }; - SessionQueryParams: { - search: string; + "Result__value-string--cost-number_-Array.string_": components["schemas"]["ResultSuccess__value-string--cost-number_-Array_"] | components["schemas"]["ResultError_string_"]; + TimeFilterRequest: { timeFilter: { - /** Format: double */ - endTimeUnixMs: number; - /** Format: double */ - startTimeUnixMs: number; + end: string; + start: string; }; - nameEquals?: string; - /** Format: double */ - timezoneDifference: number; - filter: components["schemas"]["SessionFilterNode"]; - /** Format: double */ - offset?: number; - /** Format: double */ - limit?: number; - }; - SessionsAggregateMetrics: { - /** Format: double */ - count: number; - /** Format: double */ - total_cost: number; - /** Format: double */ - avg_cost: number; - /** Format: double */ - avg_latency: number; - /** Format: double */ - avg_requests: number; }; - ResultSuccess_SessionsAggregateMetrics_: { - data: components["schemas"]["SessionsAggregateMetrics"]; + "ResultSuccess__value-string--count-number_-Array_": { + data: { + /** Format: double */ + count: number; + value: string; + }[]; /** @enum {number|null} */ error: null; }; - "Result_SessionsAggregateMetrics.string_": components["schemas"]["ResultSuccess_SessionsAggregateMetrics_"] | components["schemas"]["ResultError_string_"]; - SessionNameResult: { + "Result__value-string--count-number_-Array.string_": components["schemas"]["ResultSuccess__value-string--count-number_-Array_"] | components["schemas"]["ResultError_string_"]; + Prompt2025: { + id: string; name: string; + tags: string[]; created_at: string; - last_used: string; - first_used: string; - /** Format: double */ - session_count: number; - /** Format: double */ - avg_latency: number; }; - "ResultSuccess_SessionNameResult-Array_": { - data: components["schemas"]["SessionNameResult"][]; + ResultSuccess_Prompt2025_: { + data: components["schemas"]["Prompt2025"]; /** @enum {number|null} */ error: null; }; - "Result_SessionNameResult-Array.string_": components["schemas"]["ResultSuccess_SessionNameResult-Array_"] | components["schemas"]["ResultError_string_"]; - TimeFilterMs: { - /** Format: double */ - startTimeUnixMs: number; - /** Format: double */ - endTimeUnixMs: number; + "Result_Prompt2025.string_": components["schemas"]["ResultSuccess_Prompt2025_"] | components["schemas"]["ResultError_string_"]; + Prompt2025Input: { + request_id: string; + version_id: string; + inputs: components["schemas"]["Record_string.any_"]; }; - SessionNameQueryParams: { - nameContains: string; - /** Format: double */ - timezoneDifference: number; - /** @enum {string} */ - pSize?: "p50" | "p75" | "p95" | "p99" | "p99.9"; - useInterquartile?: boolean; - timeFilter?: components["schemas"]["TimeFilterMs"]; - filter?: components["schemas"]["SessionFilterNode"]; - }; - AverageRow: { - /** Format: double */ - average: number; - }; - SessionMetrics: { - session_count: components["schemas"]["HistogramRow"][]; - session_duration: components["schemas"]["HistogramRow"][]; - session_cost: components["schemas"]["HistogramRow"][]; - average: { - session_cost: components["schemas"]["AverageRow"][]; - session_duration: components["schemas"]["AverageRow"][]; - session_count: components["schemas"]["AverageRow"][]; - }; - }; - ResultSuccess_SessionMetrics_: { - data: components["schemas"]["SessionMetrics"]; + ResultSuccess_Prompt2025Input_: { + data: components["schemas"]["Prompt2025Input"]; /** @enum {number|null} */ error: null; }; - "Result_SessionMetrics.string_": components["schemas"]["ResultSuccess_SessionMetrics_"] | components["schemas"]["ResultError_string_"]; - SessionMetricsQueryParams: { - nameContains: string; - /** Format: double */ - timezoneDifference: number; - /** @enum {string} */ - pSize?: "p50" | "p75" | "p95" | "p99" | "p99.9"; - useInterquartile?: boolean; - timeFilter?: components["schemas"]["TimeFilterMs"]; - filter?: components["schemas"]["SessionFilterNode"]; + "Result_Prompt2025Input.string_": components["schemas"]["ResultSuccess_Prompt2025Input_"] | components["schemas"]["ResultError_string_"]; + PromptCreateResponse: { + id: string; + versionId: string; }; - "ResultSuccess_string-or-null_": { - data: string | null; + ResultSuccess_PromptCreateResponse_: { + data: components["schemas"]["PromptCreateResponse"]; /** @enum {number|null} */ error: null; }; - "Result_string-or-null.string_": components["schemas"]["ResultSuccess_string-or-null_"] | components["schemas"]["ResultError_string_"]; - MetricsData: { + "Result_PromptCreateResponse.string_": components["schemas"]["ResultSuccess_PromptCreateResponse_"] | components["schemas"]["ResultError_string_"]; + /** @description Simplified interface for the OpenAI Chat request format */ + OpenAIChatRequest: { + model?: string; + messages?: ({ + tool_calls?: { + /** @enum {string} */ + type: "function"; + function: { + arguments: string; + name: string; + }; + id: string; + }[]; + tool_call_id?: string; + name?: string; + content: (string | { + image_url?: { + url: string; + }; + text?: string; + type: string; + }[]) | null; + role: string; + })[]; /** Format: double */ - totalRequests: number; + temperature?: number; /** Format: double */ - requestCountPrevious24h: number; + top_p?: number; /** Format: double */ - requestVolumeChange: number; + max_tokens?: number; /** Format: double */ - errorRate24h: number; + max_completion_tokens?: number; + stream?: boolean; + stop?: string[] | string; + tools?: { + function: { + strict?: boolean; + parameters?: components["schemas"]["Record_string.any_"]; + description?: string; + name: string; + }; + /** @enum {string} */ + type: "function"; + }[]; + tool_choice?: { + function?: { + name: string; + /** @enum {string} */ + type: "function"; + }; + type: string; + } | ("none" | "auto" | "required"); + parallel_tool_calls?: boolean; + /** @enum {string} */ + reasoning_effort?: "minimal" | "low" | "medium" | "high"; + /** @enum {string} */ + verbosity?: "low" | "medium" | "high"; /** Format: double */ - errorRatePrevious24h: number; + frequency_penalty?: number; /** Format: double */ - errorRateChange: number; + presence_penalty?: number; + logit_bias?: components["schemas"]["Record_string.number_"]; + logprobs?: boolean; /** Format: double */ - averageLatency: number; + top_logprobs?: number; /** Format: double */ - averageLatencyPerToken: number; + n?: number; + modalities?: string[]; + prediction?: unknown; + audio?: unknown; + response_format?: { + json_schema?: unknown; + type: string; + }; /** Format: double */ - latencyChange: number; + seed?: number; + service_tier?: string; + store?: boolean; + stream_options?: unknown; + metadata?: components["schemas"]["Record_string.string_"]; + user?: string; + function_call?: string | { + name: string; + }; + functions?: unknown[]; + }; + "ResultSuccess_Prompt2025-Array_": { + data: components["schemas"]["Prompt2025"][]; + /** @enum {number|null} */ + error: null; + }; + "Result_Prompt2025-Array.string_": components["schemas"]["ResultSuccess_Prompt2025-Array_"] | components["schemas"]["ResultError_string_"]; + Prompt2025VersionPromptBody: { + model?: string; + messages?: ({ + tool_calls?: { + /** @enum {string} */ + type: "function"; + function: { + arguments: string; + name: string; + }; + id: string; + }[]; + tool_call_id?: string; + name?: string; + content: (string | { + image_url?: { + url: string; + }; + text?: string; + type: string; + }[]) | null; + role: string; + })[]; /** Format: double */ - latencyPerTokenChange: number; + temperature?: number; /** Format: double */ - recentRequestCount: number; + top_p?: number; /** Format: double */ - recentErrorCount: number; + max_tokens?: number; + tools?: { + function: { + parameters: components["schemas"]["Record_string.unknown_"]; + description: string; + name: string; + }; + /** @enum {string} */ + type: "function"; + }[]; + tool_choice?: string | { + function?: { + name: string; + /** @enum {string} */ + type: "function"; + }; + type: string; + }; + [key: string]: unknown; }; - TimeSeriesDataPoint: { - /** Format: date-time */ - timestamp: string; - /** Format: double */ - errorCount: number; - /** Format: double */ - requestCount: number; + Prompt2025Version: { + id: string; + model: string; + prompt_id: string; /** Format: double */ - averageLatency: number; + major_version: number; /** Format: double */ - averageLatencyPerCompletionToken: number; - }; - ProviderMetrics: { - providerName: string; - metrics: components["schemas"]["MetricsData"] & { - timeSeriesData: components["schemas"]["TimeSeriesDataPoint"][]; - }; + minor_version: number; + commit_message: string; + environments?: string[]; + created_at: string; + s3_url?: string; + /** + * @description The full prompt body including messages. Only included when explicitly requested + * via the `includePromptBody` parameter to avoid unnecessary data transfer. + */ + prompt_body?: components["schemas"]["Prompt2025VersionPromptBody"]; }; - "ResultSuccess_ProviderMetrics-Array_": { - data: components["schemas"]["ProviderMetrics"][]; + ResultSuccess_Prompt2025Version_: { + data: components["schemas"]["Prompt2025Version"]; /** @enum {number|null} */ error: null; }; - "Result_ProviderMetrics-Array.string_": components["schemas"]["ResultSuccess_ProviderMetrics-Array_"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_ProviderMetrics_: { - data: components["schemas"]["ProviderMetrics"]; + "Result_Prompt2025Version.string_": components["schemas"]["ResultSuccess_Prompt2025Version_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess_Prompt2025Version-Array_": { + data: components["schemas"]["Prompt2025Version"][]; /** @enum {number|null} */ error: null; }; - "Result_ProviderMetrics.string_": components["schemas"]["ResultSuccess_ProviderMetrics_"] | components["schemas"]["ResultError_string_"]; - /** @enum {string} */ - TimeFrame: "24h" | "7d" | "30d"; - ProviderMetric: { - provider: string; + "Result_Prompt2025Version-Array.string_": components["schemas"]["ResultSuccess_Prompt2025Version-Array_"] | components["schemas"]["ResultError_string_"]; + PromptVersionCounts: { /** Format: double */ - total_requests: number; + totalVersions: number; + /** Format: double */ + majorVersions: number; }; - "ResultSuccess_ProviderMetric-Array_": { - data: components["schemas"]["ProviderMetric"][]; + ResultSuccess_PromptVersionCounts_: { + data: components["schemas"]["PromptVersionCounts"]; /** @enum {number|null} */ error: null; }; - "Result_ProviderMetric-Array.string_": components["schemas"]["ResultSuccess_ProviderMetric-Array_"] | components["schemas"]["ResultError_string_"]; - /** @description Make all properties in T optional */ - Partial_UserMetricsToOperators_: { - user_id?: components["schemas"]["Partial_TextOperators_"]; - last_active?: components["schemas"]["Partial_TimestampOperators_"]; - total_requests?: components["schemas"]["Partial_NumberOperators_"]; - active_for?: components["schemas"]["Partial_NumberOperators_"]; - average_requests_per_day_active?: components["schemas"]["Partial_NumberOperators_"]; - average_tokens_per_request?: components["schemas"]["Partial_NumberOperators_"]; - total_completion_tokens?: components["schemas"]["Partial_NumberOperators_"]; - total_prompt_tokens?: components["schemas"]["Partial_NumberOperators_"]; - cost?: components["schemas"]["Partial_NumberOperators_"]; + "Result_PromptVersionCounts.string_": components["schemas"]["ResultSuccess_PromptVersionCounts_"] | components["schemas"]["ResultError_string_"]; + ResultSuccess_Prompt2025Version_91_prompt_body_93__: { + data: components["schemas"]["Prompt2025VersionPromptBody"]; + /** @enum {number|null} */ + error: null; }; - /** @description Make all properties in T optional */ - Partial_UserApiKeysTableToOperators_: { - api_key_hash?: components["schemas"]["Partial_TextOperators_"]; - api_key_name?: components["schemas"]["Partial_TextOperators_"]; - }; - /** @description Make all properties in T optional */ - Partial_PropertiesTableToOperators_: { - auth_hash?: components["schemas"]["Partial_TextOperators_"]; - key?: components["schemas"]["Partial_TextOperators_"]; - value?: components["schemas"]["Partial_TextOperators_"]; - }; - /** @description Make all properties in T optional */ - Partial_ExperimentToOperators_: { - id?: components["schemas"]["Partial_TextOperators_"]; - prompt_v2?: components["schemas"]["Partial_TextOperators_"]; - }; - /** @description Make all properties in T optional */ - Partial_ExperimentHypothesisRunToOperator_: { - result_request_id?: components["schemas"]["Partial_TextOperators_"]; - }; - /** @description Make all properties in T optional */ - Partial_ScoreValueToOperator_: { - request_id?: components["schemas"]["Partial_TextOperators_"]; - }; - /** @description Make all properties in T optional */ - Partial_RequestResponseLogToOperators_: { - latency?: components["schemas"]["Partial_NumberOperators_"]; - status?: components["schemas"]["Partial_NumberOperators_"]; - request_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - response_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - auth_hash?: components["schemas"]["Partial_TextOperators_"]; - model?: components["schemas"]["Partial_TextOperators_"]; - user_id?: components["schemas"]["Partial_TextOperators_"]; - organization_id?: components["schemas"]["Partial_TextOperators_"]; - node_id?: components["schemas"]["Partial_TextOperators_"]; - job_id?: components["schemas"]["Partial_TextOperators_"]; - threat?: components["schemas"]["Partial_BooleanOperators_"]; - }; - /** @description Make all properties in T optional */ - Partial_PropertiesV3ToOperators_: { - key?: components["schemas"]["Partial_TextOperators_"]; - value?: components["schemas"]["Partial_TextOperators_"]; - organization_id?: components["schemas"]["Partial_TextOperators_"]; - }; - /** @description Make all properties in T optional */ - Partial_PropertyWithResponseV1ToOperators_: { - property_key?: components["schemas"]["Partial_TextOperators_"]; - property_value?: components["schemas"]["Partial_TextOperators_"]; - request_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - organization_id?: components["schemas"]["Partial_TextOperators_"]; - threat?: components["schemas"]["Partial_BooleanOperators_"]; - }; - /** @description Make all properties in T optional */ - Partial_JobToOperators_: { - id?: components["schemas"]["Partial_TextOperators_"]; - name?: components["schemas"]["Partial_TextOperators_"]; - description?: components["schemas"]["Partial_TextOperators_"]; - status?: components["schemas"]["Partial_TextOperators_"]; - created_at?: components["schemas"]["Partial_TimestampOperators_"]; - updated_at?: components["schemas"]["Partial_TimestampOperators_"]; - timeout_seconds?: components["schemas"]["Partial_NumberOperators_"]; - custom_properties?: { - [key: string]: components["schemas"]["Partial_TextOperators_"]; - }; - org_id?: components["schemas"]["Partial_TextOperators_"]; - }; - /** @description Make all properties in T optional */ - Partial_NodesToOperators_: { - id?: components["schemas"]["Partial_TextOperators_"]; - name?: components["schemas"]["Partial_TextOperators_"]; - description?: components["schemas"]["Partial_TextOperators_"]; - job_id?: components["schemas"]["Partial_TextOperators_"]; - status?: components["schemas"]["Partial_TextOperators_"]; - created_at?: components["schemas"]["Partial_TimestampOperators_"]; - updated_at?: components["schemas"]["Partial_TimestampOperators_"]; - timeout_seconds?: components["schemas"]["Partial_NumberOperators_"]; - custom_properties?: { - [key: string]: components["schemas"]["Partial_TextOperators_"]; + "Result_Prompt2025Version_91_prompt_body_93_.string_": components["schemas"]["ResultSuccess_Prompt2025Version_91_prompt_body_93__"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__hasPrompts-boolean__": { + data: { + hasPrompts: boolean; }; - org_id?: components["schemas"]["Partial_TextOperators_"]; - }; - /** @description Make all properties in T optional */ - Partial_CacheMetricsTableToOperators_: { - organization_id?: components["schemas"]["Partial_TextOperators_"]; - request_id?: components["schemas"]["Partial_TextOperators_"]; - date?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - hour?: components["schemas"]["Partial_NumberOperators_"]; - model?: components["schemas"]["Partial_TextOperators_"]; - cache_hit_count?: components["schemas"]["Partial_NumberOperators_"]; - saved_latency_ms?: components["schemas"]["Partial_NumberOperators_"]; - saved_completion_tokens?: components["schemas"]["Partial_NumberOperators_"]; - saved_prompt_tokens?: components["schemas"]["Partial_NumberOperators_"]; - saved_completion_audio_tokens?: components["schemas"]["Partial_NumberOperators_"]; - saved_prompt_audio_tokens?: components["schemas"]["Partial_NumberOperators_"]; - saved_prompt_cache_write_tokens?: components["schemas"]["Partial_NumberOperators_"]; - saved_prompt_cache_read_tokens?: components["schemas"]["Partial_NumberOperators_"]; - first_hit?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - last_hit?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - request_body?: components["schemas"]["Partial_TextOperators_"]; - response_body?: components["schemas"]["Partial_TextOperators_"]; + /** @enum {number|null} */ + error: null; }; - /** @description Make all properties in T optional */ - Partial_RateLimitTableToOperators_: { - organization_id?: components["schemas"]["Partial_TextOperators_"]; - created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; + "Result__hasPrompts-boolean_.string_": components["schemas"]["ResultSuccess__hasPrompts-boolean__"] | components["schemas"]["ResultError_string_"]; + PromptsResult: { + id: string; + user_defined_id: string; + description: string; + pretty_name: string; + created_at: string; + /** Format: double */ + major_version: number; + metadata?: components["schemas"]["Record_string.any_"]; }; - /** @description Make all properties in T optional */ - Partial_OrganizationPropertiesToOperators_: { - organization_id?: components["schemas"]["Partial_TextOperators_"]; - property_key?: components["schemas"]["Partial_TextOperators_"]; + "ResultSuccess_PromptsResult-Array_": { + data: components["schemas"]["PromptsResult"][]; + /** @enum {number|null} */ + error: null; }; - /** @description Make all properties in T optional */ - Partial_TablesAndViews_: { - user_metrics?: components["schemas"]["Partial_UserMetricsToOperators_"]; - user_api_keys?: components["schemas"]["Partial_UserApiKeysTableToOperators_"]; - response?: components["schemas"]["Partial_ResponseTableToOperators_"]; - request?: components["schemas"]["Partial_RequestTableToOperators_"]; - feedback?: components["schemas"]["Partial_FeedbackTableToOperators_"]; - properties_table?: components["schemas"]["Partial_PropertiesTableToOperators_"]; + "Result_PromptsResult-Array.string_": components["schemas"]["ResultSuccess_PromptsResult-Array_"] | components["schemas"]["ResultError_string_"]; + /** @description From T, pick a set of properties whose keys are in the union K */ + "Pick_FilterLeaf.prompt_v2_": { prompt_v2?: components["schemas"]["Partial_PromptToOperators_"]; - prompts_versions?: components["schemas"]["Partial_PromptVersionsToOperators_"]; - experiment?: components["schemas"]["Partial_ExperimentToOperators_"]; - experiment_hypothesis_run?: components["schemas"]["Partial_ExperimentHypothesisRunToOperator_"]; - score_value?: components["schemas"]["Partial_ScoreValueToOperator_"]; - request_response_log?: components["schemas"]["Partial_RequestResponseLogToOperators_"]; - request_response_rmt?: components["schemas"]["Partial_RequestResponseRMTToOperators_"]; - sessions_request_response_rmt?: components["schemas"]["Partial_SessionsRequestResponseRMTToOperators_"]; - users_view?: components["schemas"]["Partial_UserViewToOperators_"]; - properties_v3?: components["schemas"]["Partial_PropertiesV3ToOperators_"]; - property_with_response_v1?: components["schemas"]["Partial_PropertyWithResponseV1ToOperators_"]; - job?: components["schemas"]["Partial_JobToOperators_"]; - job_node?: components["schemas"]["Partial_NodesToOperators_"]; - cache_metrics?: components["schemas"]["Partial_CacheMetricsTableToOperators_"]; - rate_limit_log?: components["schemas"]["Partial_RateLimitTableToOperators_"]; - organization_properties?: components["schemas"]["Partial_OrganizationPropertiesToOperators_"]; - properties?: { - [key: string]: components["schemas"]["Partial_TextOperators_"]; - }; - values?: { - [key: string]: components["schemas"]["Partial_TextOperators_"]; - }; }; - SingleKey_TablesAndViews_: components["schemas"]["Partial_TablesAndViews_"]; - FilterLeaf: components["schemas"]["SingleKey_TablesAndViews_"]; - FilterNode: components["schemas"]["FilterLeaf"] | components["schemas"]["FilterBranch"] | Record | "all"; - FilterBranch: { - left: components["schemas"]["FilterNode"]; + FilterLeafSubset_prompt_v2_: components["schemas"]["Pick_FilterLeaf.prompt_v2_"]; + PromptsFilterNode: components["schemas"]["FilterLeafSubset_prompt_v2_"] | components["schemas"]["PromptsFilterBranch"] | "all"; + PromptsFilterBranch: { + right: components["schemas"]["PromptsFilterNode"]; /** @enum {string} */ operator: "or" | "and"; - right: components["schemas"]["FilterNode"]; + left: components["schemas"]["PromptsFilterNode"]; }; - ProviderQueryParams: { - filter: components["schemas"]["FilterNode"]; - /** Format: double */ - offset: number; + PromptsQueryParams: { + filter: components["schemas"]["PromptsFilterNode"]; + }; + PromptResult: { + id: string; + user_defined_id: string; + description: string; + pretty_name: string; /** Format: double */ - limit: number; - timeFilter: { - end: string; - start: string; - }; + major_version: number; + latest_version_id: string; + latest_model_used: string; + created_at: string; + last_used: string; + versions: string[]; + metadata?: components["schemas"]["Record_string.any_"]; }; - "ResultSuccess__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array_": { - data: { - created_at_trunc: string; - /** Format: double */ - request_count: number; - /** Format: double */ - total_cost: number; - property: string; - }[]; + ResultSuccess_PromptResult_: { + data: components["schemas"]["PromptResult"]; /** @enum {number|null} */ error: null; }; - "Result__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array.string_": components["schemas"]["ResultSuccess__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array_"] | components["schemas"]["ResultError_string_"]; - /** @description From T, pick a set of properties whose keys are in the union K */ - "Pick_FilterLeaf.request_response_rmt_": { - request_response_rmt?: components["schemas"]["Partial_RequestResponseRMTToOperators_"]; - }; - FilterLeafSubset_request_response_rmt_: components["schemas"]["Pick_FilterLeaf.request_response_rmt_"]; - RequestClickhouseFilterNode: components["schemas"]["FilterLeafSubset_request_response_rmt_"] | components["schemas"]["RequestClickhouseFilterBranch"] | "all"; - RequestClickhouseFilterBranch: { - right: components["schemas"]["RequestClickhouseFilterNode"]; - /** @enum {string} */ - operator: "or" | "and"; - left: components["schemas"]["RequestClickhouseFilterNode"]; - }; - /** @enum {string} */ - TimeIncrement: "min" | "hour" | "day" | "week" | "month" | "year"; - DataOverTimeRequest: { + "Result_PromptResult.string_": components["schemas"]["ResultSuccess_PromptResult_"] | components["schemas"]["ResultError_string_"]; + PromptQueryParams: { timeFilter: { end: string; start: string; }; - userFilter: components["schemas"]["RequestClickhouseFilterNode"]; - dbIncrement: components["schemas"]["TimeIncrement"]; - /** Format: double */ - timeZoneDifference: number; - }; - Property: { - property: string; }; - "ResultSuccess_Property-Array_": { - data: components["schemas"]["Property"][]; - /** @enum {number|null} */ - error: null; + CreatePromptResponse: { + id: string; + prompt_version_id: string; }; - "Result_Property-Array.string_": components["schemas"]["ResultSuccess_Property-Array_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_unknown-Array_": { - data: unknown[]; + ResultSuccess_CreatePromptResponse_: { + data: components["schemas"]["CreatePromptResponse"]; /** @enum {number|null} */ error: null; }; - "ResultSuccess__value-string--cost-number_-Array_": { + "Result_CreatePromptResponse.string_": components["schemas"]["ResultSuccess_CreatePromptResponse_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__metadata-Record_string.any___": { data: { - /** Format: double */ - cost: number; - value: string; - }[]; + metadata: components["schemas"]["Record_string.any_"]; + }; /** @enum {number|null} */ error: null; }; - "Result__value-string--cost-number_-Array.string_": components["schemas"]["ResultSuccess__value-string--cost-number_-Array_"] | components["schemas"]["ResultError_string_"]; - TimeFilterRequest: { - timeFilter: { - end: string; - start: string; - }; + "Result__metadata-Record_string.any__.string_": components["schemas"]["ResultSuccess__metadata-Record_string.any___"] | components["schemas"]["ResultError_string_"]; + PromptEditSubversionLabelParams: { + label: string; }; - "ResultSuccess__value-string--count-number_-Array_": { - data: { - /** Format: double */ - count: number; - value: string; - }[]; + PromptEditSubversionTemplateParams: { + heliconeTemplate: unknown; + experimentId?: string; + }; + PromptVersionResult: { + id: string; + /** Format: double */ + minor_version: number; + /** Format: double */ + major_version: number; + prompt_v2: string; + model: string; + helicone_template: string; + created_at: string; + metadata: components["schemas"]["Record_string.any_"]; + parent_prompt_version?: string | null; + experiment_id?: string | null; + updated_at?: string; + }; + ResultSuccess_PromptVersionResult_: { + data: components["schemas"]["PromptVersionResult"]; /** @enum {number|null} */ error: null; }; - "Result__value-string--count-number_-Array.string_": components["schemas"]["ResultSuccess__value-string--count-number_-Array_"] | components["schemas"]["ResultError_string_"]; + "Result_PromptVersionResult.string_": components["schemas"]["ResultSuccess_PromptVersionResult_"] | components["schemas"]["ResultError_string_"]; + PromptCreateSubversionParams: { + newHeliconeTemplate: unknown; + isMajorVersion?: boolean; + metadata?: components["schemas"]["Record_string.any_"]; + experimentId?: string; + bumpForMajorPromptVersionId?: string; + }; + PromptInputRecord: { + id: string; + inputs: components["schemas"]["Record_string.string_"]; + dataset_row_id?: string; + source_request: string; + prompt_version: string; + created_at: string; + response_body?: string; + request_body?: string; + auto_prompt_inputs: unknown[]; + }; + "ResultSuccess_PromptInputRecord-Array_": { + data: components["schemas"]["PromptInputRecord"][]; + /** @enum {number|null} */ + error: null; + }; + "Result_PromptInputRecord-Array.string_": components["schemas"]["ResultSuccess_PromptInputRecord-Array_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess_PromptVersionResult-Array_": { + data: components["schemas"]["PromptVersionResult"][]; + /** @enum {number|null} */ + error: null; + }; + "Result_PromptVersionResult-Array.string_": components["schemas"]["ResultSuccess_PromptVersionResult-Array_"] | components["schemas"]["ResultError_string_"]; + /** @description From T, pick a set of properties whose keys are in the union K */ + "Pick_FilterLeaf.prompts_versions_": { + prompts_versions?: components["schemas"]["Partial_PromptVersionsToOperators_"]; + }; + FilterLeafSubset_prompts_versions_: components["schemas"]["Pick_FilterLeaf.prompts_versions_"]; + PromptVersionsFilterNode: components["schemas"]["FilterLeafSubset_prompts_versions_"] | components["schemas"]["PromptVersionsFilterBranch"] | "all"; + PromptVersionsFilterBranch: { + right: components["schemas"]["PromptVersionsFilterNode"]; + /** @enum {string} */ + operator: "or" | "and"; + left: components["schemas"]["PromptVersionsFilterNode"]; + }; + PromptVersionsQueryParams: { + filter?: components["schemas"]["PromptVersionsFilterNode"]; + includeExperimentVersions?: boolean; + }; + PromptVersionResultCompiled: { + id: string; + /** Format: double */ + minor_version: number; + /** Format: double */ + major_version: number; + prompt_v2: string; + model: string; + prompt_compiled: unknown; + }; + ResultSuccess_PromptVersionResultCompiled_: { + data: components["schemas"]["PromptVersionResultCompiled"]; + /** @enum {number|null} */ + error: null; + }; + "Result_PromptVersionResultCompiled.string_": components["schemas"]["ResultSuccess_PromptVersionResultCompiled_"] | components["schemas"]["ResultError_string_"]; + PromptVersiosQueryParamsCompiled: { + filter?: components["schemas"]["PromptVersionsFilterNode"]; + includeExperimentVersions?: boolean; + inputs: components["schemas"]["Record_string.string_"]; + }; + PromptVersionResultFilled: { + id: string; + /** Format: double */ + minor_version: number; + /** Format: double */ + major_version: number; + prompt_v2: string; + model: string; + filled_helicone_template: unknown; + }; + ResultSuccess_PromptVersionResultFilled_: { + data: components["schemas"]["PromptVersionResultFilled"]; + /** @enum {number|null} */ + error: null; + }; + "Result_PromptVersionResultFilled.string_": components["schemas"]["ResultSuccess_PromptVersionResultFilled_"] | components["schemas"]["ResultError_string_"]; "ChatCompletionTokenLogprob.TopLogprob": { /** @description The token. */ token: string; @@ -3451,6 +3121,12 @@ Json: JsonObject; error: null; }; "Result_ChatCompletion-or-_content-string--reasoning-string--calls-any_.string_": components["schemas"]["ResultSuccess_ChatCompletion-or-_content-string--reasoning-string--calls-any__"] | components["schemas"]["ResultError_string_"]; + ResultSuccess_boolean_: { + data: boolean; + /** @enum {number|null} */ + error: null; + }; + "Result_boolean.string_": components["schemas"]["ResultSuccess_boolean_"] | components["schemas"]["ResultError_string_"]; "ResultSuccess__apiKey-string__": { data: { apiKey: string; @@ -3609,2340 +3285,916 @@ Json: JsonObject; providerModelId: string; supportedParameters: components["schemas"]["StandardParameter"][]; /** Format: double */ - priority?: number; - }; - SimplifiedModalityPricing: { - /** Format: double */ - input?: number; - /** Format: double */ - cachedInput?: number; - /** Format: double */ - output?: number; - }; - SimplifiedPricing: { - /** Format: double */ - prompt: number; - /** Format: double */ - completion: number; - audio?: components["schemas"]["SimplifiedModalityPricing"]; - /** Format: double */ - thinking?: number; - /** Format: double */ - web_search?: number; - image?: components["schemas"]["SimplifiedModalityPricing"]; - video?: components["schemas"]["SimplifiedModalityPricing"]; - file?: components["schemas"]["SimplifiedModalityPricing"]; - /** Format: double */ - cacheRead?: number; - /** Format: double */ - cacheWrite?: number; - /** Format: double */ - threshold?: number; - }; - ModelEndpoint: { - provider: string; - providerSlug: string; - endpoint?: components["schemas"]["Endpoint"]; - supportsPtb?: boolean; - pricing: components["schemas"]["SimplifiedPricing"]; - pricingTiers?: components["schemas"]["SimplifiedPricing"][]; - }; - /** @enum {string} */ - InputModality: "text" | "image" | "audio" | "video"; - /** @enum {string} */ - OutputModality: "text" | "image" | "audio" | "video"; - ModelRegistryItem: { - id: string; - name: string; - author: string; - /** Format: double */ - contextLength: number; - endpoints: components["schemas"]["ModelEndpoint"][]; - /** Format: double */ - maxOutput?: number; - trainingDate?: string; - description?: string; - inputModalities: components["schemas"]["InputModality"][]; - outputModalities: components["schemas"]["OutputModality"][]; - supportedParameters: components["schemas"]["StandardParameter"][]; - pinnedVersionOfModel?: string; - }; - /** @enum {string} */ - ModelCapability: "audio" | "video" | "image" | "thinking" | "web_search" | "caching" | "reasoning"; - ModelRegistryResponse: { - models: components["schemas"]["ModelRegistryItem"][]; - /** Format: double */ - total: number; - filters: { - capabilities: components["schemas"]["ModelCapability"][]; - authors: string[]; - providers: { - displayName: string; - name: string; - }[]; - }; - }; - ResultSuccess_ModelRegistryResponse_: { - data: components["schemas"]["ModelRegistryResponse"]; - /** @enum {number|null} */ - error: null; - }; - "Result_ModelRegistryResponse.string_": components["schemas"]["ResultSuccess_ModelRegistryResponse_"] | components["schemas"]["ResultError_string_"]; - OAIModel: { - id: string; - /** @enum {string} */ - object: "model"; - /** Format: double */ - created: number; - owned_by: string; - }; - OAIModelsResponse: { - /** @enum {string} */ - object: "list"; - data: components["schemas"]["OAIModel"][]; - }; - MetricStats: { - /** Format: double */ - p99: number; - /** Format: double */ - p95: number; - /** Format: double */ - p90: number; - /** Format: double */ - max: number; - /** Format: double */ - min: number; - /** Format: double */ - median: number; - /** Format: double */ - average: number; - }; - TokenMetricStats: components["schemas"]["MetricStats"] & { - /** Format: double */ - medianPer1000Tokens: number; - }; - TimeSeriesMetric: { - /** Format: double */ - value: number; - timestamp: string; - }; - Model: { - timeSeriesData: { - errorRate: components["schemas"]["TimeSeriesMetric"][]; - successRate: components["schemas"]["TimeSeriesMetric"][]; - ttft: components["schemas"]["TimeSeriesMetric"][]; - latency: components["schemas"]["TimeSeriesMetric"][]; - }; - requestStatus: { - /** Format: double */ - errorRate: number; - /** Format: double */ - successRate: number; - }; - geographicTtft: { - /** Format: double */ - median: number; - countryCode: string; - }[]; - geographicLatency: { - /** Format: double */ - median: number; - countryCode: string; - }[]; - feedback: { - /** Format: double */ - negativePercentage: number; - /** Format: double */ - positivePercentage: number; - }; - costs: { - /** Format: double */ - completion_token: number; - /** Format: double */ - prompt_token: number; - }; - ttft: components["schemas"]["MetricStats"]; - latency: components["schemas"]["TokenMetricStats"]; - provider: string; - model: string; - }; - "ResultSuccess_Model-Array_": { - data: components["schemas"]["Model"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_Model-Array.string_": components["schemas"]["ResultSuccess_Model-Array_"] | components["schemas"]["ResultError_string_"]; - ModelsToCompare: { - provider: string; - names: string[]; - parent: string; - }; - MetricsFilterBody: { - filter: components["schemas"]["FilterNode"]; - timeFilter: { - end: string; - start: string; - }; - }; - TokensPerRequest: { - /** Format: double */ - average_prompt_tokens_per_response: number; - /** Format: double */ - average_completion_tokens_per_response: number; - /** Format: double */ - average_total_tokens_per_response: number; - }; - ResultSuccess_TokensPerRequest_: { - data: components["schemas"]["TokensPerRequest"]; - /** @enum {number|null} */ - error: null; - }; - "Result_TokensPerRequest.string_": components["schemas"]["ResultSuccess_TokensPerRequest_"] | components["schemas"]["ResultError_string_"]; - RequestsOverTime: { - /** Format: date-time */ - time: string; - /** Format: double */ - count: number; - /** Format: double */ - status?: number; - }; - "ResultSuccess_RequestsOverTime-Array_": { - data: components["schemas"]["RequestsOverTime"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_RequestsOverTime-Array.string_": components["schemas"]["ResultSuccess_RequestsOverTime-Array_"] | components["schemas"]["ResultError_string_"]; - MetricsOverTimeBody: { - timeFilter: { - end: string; - start: string; - }; - filter: components["schemas"]["FilterNode"]; - dbIncrement?: components["schemas"]["TimeIncrement"]; - /** Format: double */ - timeZoneDifference: number; - }; - CostOverTime: { - /** Format: date-time */ - time: string; - /** Format: double */ - cost: number; - }; - "ResultSuccess_CostOverTime-Array_": { - data: components["schemas"]["CostOverTime"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_CostOverTime-Array.string_": components["schemas"]["ResultSuccess_CostOverTime-Array_"] | components["schemas"]["ResultError_string_"]; - TokensOverTime: { - /** Format: date-time */ - time: string; - /** Format: double */ - prompt_tokens: number; - /** Format: double */ - completion_tokens: number; - }; - "ResultSuccess_TokensOverTime-Array_": { - data: components["schemas"]["TokensOverTime"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_TokensOverTime-Array.string_": components["schemas"]["ResultSuccess_TokensOverTime-Array_"] | components["schemas"]["ResultError_string_"]; - LatencyOverTime: { - /** Format: date-time */ - time: string; - /** Format: double */ - duration: number; - }; - "ResultSuccess_LatencyOverTime-Array_": { - data: components["schemas"]["LatencyOverTime"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_LatencyOverTime-Array.string_": components["schemas"]["ResultSuccess_LatencyOverTime-Array_"] | components["schemas"]["ResultError_string_"]; - TimeToFirstTokenOverTime: { - /** Format: date-time */ - time: string; - /** Format: double */ - ttft: number; - }; - "ResultSuccess_TimeToFirstTokenOverTime-Array_": { - data: components["schemas"]["TimeToFirstTokenOverTime"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_TimeToFirstTokenOverTime-Array.string_": components["schemas"]["ResultSuccess_TimeToFirstTokenOverTime-Array_"] | components["schemas"]["ResultError_string_"]; - UsersOverTime: { - /** Format: date-time */ - time: string; - /** Format: double */ - count: number; - }; - "ResultSuccess_UsersOverTime-Array_": { - data: components["schemas"]["UsersOverTime"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_UsersOverTime-Array.string_": components["schemas"]["ResultSuccess_UsersOverTime-Array_"] | components["schemas"]["ResultError_string_"]; - ThreatsOverTime: { - /** Format: date-time */ - time: string; - /** Format: double */ - count: number; - }; - "ResultSuccess_ThreatsOverTime-Array_": { - data: components["schemas"]["ThreatsOverTime"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_ThreatsOverTime-Array.string_": components["schemas"]["ResultSuccess_ThreatsOverTime-Array_"] | components["schemas"]["ResultError_string_"]; - ErrorOverTime: { - /** Format: date-time */ - time: string; - /** Format: double */ - count: number; - }; - "ResultSuccess_ErrorOverTime-Array_": { - data: components["schemas"]["ErrorOverTime"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_ErrorOverTime-Array.string_": components["schemas"]["ResultSuccess_ErrorOverTime-Array_"] | components["schemas"]["ResultError_string_"]; - RequestCountBody: { - filter: components["schemas"]["FilterNode"]; - isCached?: boolean; - }; - ModelMetric: { - model: string; - /** Format: double */ - total_requests: number; - /** Format: double */ - total_completion_tokens: number; - /** Format: double */ - total_prompt_token: number; - /** Format: double */ - total_tokens: number; - /** Format: double */ - cost: number; - }; - "ResultSuccess_ModelMetric-Array_": { - data: components["schemas"]["ModelMetric"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_ModelMetric-Array.string_": components["schemas"]["ResultSuccess_ModelMetric-Array_"] | components["schemas"]["ResultError_string_"]; - ModelMetricsBody: { - filter: components["schemas"]["FilterNode"]; - /** Format: double */ - offset: number; - /** Format: double */ - limit: number; - timeFilter: { - end: string; - start: string; - }; - }; - CountryData: { - country: string; - /** Format: double */ - total_requests: number; - }; - "ResultSuccess_CountryData-Array_": { - data: components["schemas"]["CountryData"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_CountryData-Array.string_": components["schemas"]["ResultSuccess_CountryData-Array_"] | components["schemas"]["ResultError_string_"]; - CountryMetricsBody: { - filter: components["schemas"]["FilterNode"]; - /** Format: double */ - offset: number; - /** Format: double */ - limit: number; - timeFilter: { - end: string; - start: string; - }; - }; - Quantiles: { - /** Format: date-time */ - time: string; - /** Format: double */ - p75: number; - /** Format: double */ - p90: number; - /** Format: double */ - p95: number; - /** Format: double */ - p99: number; - }; - "ResultSuccess_Quantiles-Array_": { - data: components["schemas"]["Quantiles"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_Quantiles-Array.string_": components["schemas"]["ResultSuccess_Quantiles-Array_"] | components["schemas"]["ResultError_string_"]; - QuantilesBody: { - filter: components["schemas"]["FilterNode"]; - timeFilter: { - end: string; - start: string; - }; - dbIncrement?: components["schemas"]["TimeIncrement"]; - /** Format: double */ - timeZoneDifference: number; - metric: string; - }; - "ResultSuccess__unsafe-boolean__": { - data: { - unsafe: boolean; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__unsafe-boolean_.string_": components["schemas"]["ResultSuccess__unsafe-boolean__"] | components["schemas"]["ResultError_string_"]; - ClickHouseTableColumn: { - name: string; - type: string; - default_type?: string; - default_expression?: string; - comment?: string; - codec_expression?: string; - ttl_expression?: string; - }; - ClickHouseTableSchema: { - table_name: string; - columns: components["schemas"]["ClickHouseTableColumn"][]; - }; - "ResultSuccess_ClickHouseTableSchema-Array_": { - data: components["schemas"]["ClickHouseTableSchema"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_ClickHouseTableSchema-Array.string_": components["schemas"]["ResultSuccess_ClickHouseTableSchema-Array_"] | components["schemas"]["ResultError_string_"]; - ExecuteSqlResponse: { - /** Format: double */ - rowCount: number; - /** Format: double */ - size: number; - /** Format: double */ - elapsedMilliseconds: number; - rows: components["schemas"]["Record_string.any_"][]; - }; - ResultSuccess_ExecuteSqlResponse_: { - data: components["schemas"]["ExecuteSqlResponse"]; - /** @enum {number|null} */ - error: null; - }; - "Result_ExecuteSqlResponse.string_": components["schemas"]["ResultSuccess_ExecuteSqlResponse_"] | components["schemas"]["ResultError_string_"]; - ExecuteSqlRequest: { - sql: string; - }; - HqlSavedQuery: { - id: string; - organization_id: string; - name: string; - sql: string; - created_at: string; - updated_at: string; - }; - ResultSuccess_Array_HqlSavedQuery__: { - data: components["schemas"]["HqlSavedQuery"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_Array_HqlSavedQuery_.string_": components["schemas"]["ResultSuccess_Array_HqlSavedQuery__"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_HqlSavedQuery-or-null_": { - data: components["schemas"]["HqlSavedQuery"] | null; - /** @enum {number|null} */ - error: null; - }; - "Result_HqlSavedQuery-or-null.string_": components["schemas"]["ResultSuccess_HqlSavedQuery-or-null_"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_void_: { - data: unknown; - /** @enum {number|null} */ - error: null; - }; - "Result_void.string_": components["schemas"]["ResultSuccess_void_"] | components["schemas"]["ResultError_string_"]; - BulkDeleteSavedQueriesRequest: { - ids: string[]; - }; - "ResultSuccess_HqlSavedQuery-Array_": { - data: components["schemas"]["HqlSavedQuery"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_HqlSavedQuery-Array.string_": components["schemas"]["ResultSuccess_HqlSavedQuery-Array_"] | components["schemas"]["ResultError_string_"]; - CreateSavedQueryRequest: { - name: string; - sql: string; - }; - ResultSuccess_HqlSavedQuery_: { - data: components["schemas"]["HqlSavedQuery"]; - /** @enum {number|null} */ - error: null; - }; - "Result_HqlSavedQuery.string_": components["schemas"]["ResultSuccess_HqlSavedQuery_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__tableId-string--experimentId-string__": { - data: { - experimentId: string; - tableId: string; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__tableId-string--experimentId-string_.string_": components["schemas"]["ResultSuccess__tableId-string--experimentId-string__"] | components["schemas"]["ResultError_string_"]; - CreateExperimentTableParams: { - datasetId: string; - experimentMetadata: components["schemas"]["Record_string.any_"]; - promptVersionId: string; - newHeliconeTemplate: string; - isMajorVersion: boolean; - promptSubversionMetadata: components["schemas"]["Record_string.any_"]; - experimentTableMetadata?: components["schemas"]["Record_string.any_"]; - }; - ExperimentTableColumn: { - id: string; - columnName: string; - columnType: string; - hypothesisId?: string; - cells: ({ - metadata?: components["schemas"]["Record_string.any_"]; - value: string | null; - requestId?: string; - /** Format: double */ - rowIndex: number; - id: string; - })[]; - metadata?: components["schemas"]["Record_string.any_"]; - }; - ExperimentTable: { - id: string; - name: string; - experimentId: string; - columns: components["schemas"]["ExperimentTableColumn"][]; - metadata?: components["schemas"]["Record_string.any_"]; - }; - ResultSuccess_ExperimentTable_: { - data: components["schemas"]["ExperimentTable"]; - /** @enum {number|null} */ - error: null; - }; - "Result_ExperimentTable.string_": components["schemas"]["ResultSuccess_ExperimentTable_"] | components["schemas"]["ResultError_string_"]; - ExperimentTableSimplified: { - id: string; - name: string; - experimentId: string; - createdAt: string; - metadata?: unknown; - columns: { - columnType: string; - columnName: string; - id: string; - }[]; - }; - ResultSuccess_ExperimentTableSimplified_: { - data: components["schemas"]["ExperimentTableSimplified"]; - /** @enum {number|null} */ - error: null; - }; - "Result_ExperimentTableSimplified.string_": components["schemas"]["ResultSuccess_ExperimentTableSimplified_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_ExperimentTableSimplified-Array_": { - data: components["schemas"]["ExperimentTableSimplified"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_ExperimentTableSimplified-Array.string_": components["schemas"]["ResultSuccess_ExperimentTableSimplified-Array_"] | components["schemas"]["ResultError_string_"]; - NewExperimentParams: { - datasetId: string; - promptVersion: string; - model: string; - providerKeyId: string; - meta?: unknown; - }; - "ResultSuccess__hypothesisId-string__": { - data: { - hypothesisId: string; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__hypothesisId-string_.string_": components["schemas"]["ResultSuccess__hypothesisId-string__"] | components["schemas"]["ResultError_string_"]; - Score: { - valueType: string; - value: number | string; - }; - /** @description Construct a type with a set of properties K of type T */ - "Record_string.Score_": { - [key: string]: components["schemas"]["Score"]; - }; - "ResultSuccess__runsCount-number--scores-Record_string.Score___": { - data: { - scores: components["schemas"]["Record_string.Score_"]; - /** Format: double */ - runsCount: number; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__runsCount-number--scores-Record_string.Score__.string_": components["schemas"]["ResultSuccess__runsCount-number--scores-Record_string.Score___"] | components["schemas"]["ResultError_string_"]; - ResponseObj: { - body: unknown; - createdAt: string; - /** Format: double */ - completionTokens: number; - /** Format: double */ - promptTokens: number; - /** Format: double */ - promptCacheWriteTokens: number; - /** Format: double */ - promptCacheReadTokens: number; - /** Format: double */ - delayMs: number; - model: string; - }; - RequestObj: { - id: string; - provider: string; - }; - ExperimentDatasetRow: { - rowId: string; - inputRecord: { - request: components["schemas"]["RequestObj"]; - response: components["schemas"]["ResponseObj"]; - autoInputs: components["schemas"]["Record_string.string_"][]; - inputs: components["schemas"]["Record_string.string_"]; - requestPath: string; - requestId: string; - id: string; - }; - /** Format: double */ - rowIndex: number; - columnId: string; - scores: components["schemas"]["Record_string.Score_"]; - }; - ExperimentScores: { - dataset: { - scores: components["schemas"]["Record_string.Score_"]; - }; - hypothesis: { - scores: components["schemas"]["Record_string.Score_"]; - /** Format: double */ - runsCount: number; - }; - }; - Experiment: { - id: string; - organization: string; - dataset: { - rows: components["schemas"]["ExperimentDatasetRow"][]; - name: string; - id: string; - }; - meta: unknown; - createdAt: string; - hypotheses: { - runs: { - request?: components["schemas"]["RequestObj"]; - scores: components["schemas"]["Record_string.Score_"]; - response?: components["schemas"]["ResponseObj"]; - resultRequestId: string; - datasetRowId: string; - }[]; - providerKey: string; - createdAt: string; - status: string; - model: string; - parentPromptVersion?: { - template: unknown; - }; - promptVersion?: { - template: unknown; - }; - promptVersionId: string; - id: string; - }[]; - scores: components["schemas"]["ExperimentScores"] | null; - tableId: string | null; - }; - "ResultSuccess_Experiment-Array_": { - data: components["schemas"]["Experiment"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_Experiment-Array.string_": components["schemas"]["ResultSuccess_Experiment-Array_"] | components["schemas"]["ResultError_string_"]; - /** @description From T, pick a set of properties whose keys are in the union K */ - "Pick_FilterLeaf.experiment_": { - experiment?: components["schemas"]["Partial_ExperimentToOperators_"]; - }; - FilterLeafSubset_experiment_: components["schemas"]["Pick_FilterLeaf.experiment_"]; - ExperimentFilterNode: components["schemas"]["FilterLeafSubset_experiment_"] | components["schemas"]["ExperimentFilterBranch"] | "all"; - ExperimentFilterBranch: { - right: components["schemas"]["ExperimentFilterNode"]; - /** @enum {string} */ - operator: "or" | "and"; - left: components["schemas"]["ExperimentFilterNode"]; - }; - IncludeExperimentKeys: { - /** @enum {boolean} */ - inputs?: true; - /** @enum {boolean} */ - promptVersion?: true; - /** @enum {boolean} */ - responseBodies?: true; - /** @enum {boolean} */ - score?: true; - }; - "ResultSuccess__datasetId-string__": { - data: { - datasetId: string; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__datasetId-string_.string_": components["schemas"]["ResultSuccess__datasetId-string__"] | components["schemas"]["ResultError_string_"]; - DatasetMetadata: { - promptVersionId?: string; - inputRecordsIds?: string[]; - }; - NewDatasetParams: { - datasetName: string; - requestIds: string[]; - /** @enum {string} */ - datasetType: "experiment" | "helicone"; - meta?: components["schemas"]["DatasetMetadata"]; - }; - /** @description From T, pick a set of properties whose keys are in the union K */ - "Pick_FilterLeaf.request-or-prompts_versions_": { - request?: components["schemas"]["Partial_RequestTableToOperators_"]; - prompts_versions?: components["schemas"]["Partial_PromptVersionsToOperators_"]; - }; - "FilterLeafSubset_request-or-prompts_versions_": components["schemas"]["Pick_FilterLeaf.request-or-prompts_versions_"]; - DatasetFilterNode: components["schemas"]["FilterLeafSubset_request-or-prompts_versions_"] | components["schemas"]["DatasetFilterBranch"] | "all"; - DatasetFilterBranch: { - right: components["schemas"]["DatasetFilterNode"]; - /** @enum {string} */ - operator: "or" | "and"; - left: components["schemas"]["DatasetFilterNode"]; - }; - RandomDatasetParams: { - datasetName: string; - filter: components["schemas"]["DatasetFilterNode"]; - /** Format: double */ - offset?: number; - /** Format: double */ - limit?: number; - }; - DatasetResult: { - id: string; - name: string; - created_at: string; - meta?: components["schemas"]["DatasetMetadata"]; - }; - "ResultSuccess_DatasetResult-Array_": { - data: components["schemas"]["DatasetResult"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_DatasetResult-Array.string_": components["schemas"]["ResultSuccess_DatasetResult-Array_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess___-Array_": { - data: Record[]; - /** @enum {number|null} */ - error: null; - }; - "Result___-Array.string_": components["schemas"]["ResultSuccess___-Array_"] | components["schemas"]["ResultError_string_"]; - HeliconeDatasetMetadata: { - promptVersionId?: string; - inputRecordsIds?: string[]; - }; - NewHeliconeDatasetParams: { - datasetName: string; - requestIds: string[]; - meta?: components["schemas"]["HeliconeDatasetMetadata"]; - }; - MutateParams: { - addRequests: string[]; - removeRequests: string[]; - }; - HeliconeDatasetRow: { - id: string; - origin_request_id: string; - dataset_id: string; - created_at: string; - signed_url: components["schemas"]["Result_string.string_"]; - }; - "ResultSuccess_HeliconeDatasetRow-Array_": { - data: components["schemas"]["HeliconeDatasetRow"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_HeliconeDatasetRow-Array.string_": components["schemas"]["ResultSuccess_HeliconeDatasetRow-Array_"] | components["schemas"]["ResultError_string_"]; - HeliconeDataset: { - created_at: string | null; - dataset_type: string; - id: string; - meta: components["schemas"]["Json"] | null; - name: string | null; - organization: string; - /** Format: double */ - requests_count: number; - }; - "ResultSuccess_HeliconeDataset-Array_": { - data: components["schemas"]["HeliconeDataset"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_HeliconeDataset-Array.string_": components["schemas"]["ResultSuccess_HeliconeDataset-Array_"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_any_: { - data: unknown; - /** @enum {number|null} */ - error: null; - }; - Eval: { - name: string; - /** Format: double */ - averageScore: number; - /** Format: double */ - minScore: number; - /** Format: double */ - maxScore: number; - /** Format: double */ - count: number; - overTime: { - /** Format: double */ - count: number; - date: string; - }[]; - averageOverTime: { - /** Format: double */ - value: number; - date: string; - }[]; - }; - "ResultSuccess_Eval-Array_": { - data: components["schemas"]["Eval"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_Eval-Array.string_": components["schemas"]["ResultSuccess_Eval-Array_"] | components["schemas"]["ResultError_string_"]; - EvalFilterNode: components["schemas"]["FilterLeafSubset_request_response_rmt_"] | components["schemas"]["EvalFilterBranch"] | "all"; - EvalFilterBranch: { - right: components["schemas"]["EvalFilterNode"]; - /** @enum {string} */ - operator: "or" | "and"; - left: components["schemas"]["EvalFilterNode"]; - }; - EvalQueryParams: { - filter: components["schemas"]["EvalFilterNode"]; - timeFilter: { - end: string; - start: string; - }; - /** Format: double */ - offset?: number; - /** Format: double */ - limit?: number; - /** Format: double */ - timeZoneDifference?: number; - }; - ScoreDistribution: { - name: string; - distribution: { - /** Format: double */ - value: number; - /** Format: double */ - upper: number; - /** Format: double */ - lower: number; - }[]; - }; - "ResultSuccess_ScoreDistribution-Array_": { - data: components["schemas"]["ScoreDistribution"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_ScoreDistribution-Array.string_": components["schemas"]["ResultSuccess_ScoreDistribution-Array_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__score_key-string--score_sum-number--created_at_trunc-string_-Array_": { - data: { - created_at_trunc: string; - /** Format: double */ - score_sum: number; - score_key: string; - }[]; - /** @enum {number|null} */ - error: null; - }; - "Result__score_key-string--score_sum-number--created_at_trunc-string_-Array.string_": components["schemas"]["ResultSuccess__score_key-string--score_sum-number--created_at_trunc-string_-Array_"] | components["schemas"]["ResultError_string_"]; - CustomerUsage: { - id: string; - name: string; - /** Format: double */ - cost: number; - /** Format: double */ - count: number; - /** Format: double */ - prompt_tokens: number; - /** Format: double */ - completion_tokens: number; - }; - Customer: { - id: string; - name: string; - }; - CreditBalanceResponse: { - /** Format: double */ - totalCreditsPurchased: number; - /** Format: double */ - balance: number; - }; - ResultSuccess_CreditBalanceResponse_: { - data: components["schemas"]["CreditBalanceResponse"]; - /** @enum {number|null} */ - error: null; - }; - "Result_CreditBalanceResponse.string_": components["schemas"]["ResultSuccess_CreditBalanceResponse_"] | components["schemas"]["ResultError_string_"]; - PurchasedCredits: { - id: string; - /** Format: double */ - createdAt: number; - /** Format: double */ - credits: number; - referenceId: string; - }; - PaginatedPurchasedCredits: { - purchases: components["schemas"]["PurchasedCredits"][]; - /** Format: double */ - total: number; - /** Format: double */ - page: number; - /** Format: double */ - pageSize: number; - }; - ResultSuccess_PaginatedPurchasedCredits_: { - data: components["schemas"]["PaginatedPurchasedCredits"]; - /** @enum {number|null} */ - error: null; - }; - "Result_PaginatedPurchasedCredits.string_": components["schemas"]["ResultSuccess_PaginatedPurchasedCredits_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__totalSpend-number__": { - data: { - /** Format: double */ - totalSpend: number; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__totalSpend-number_.string_": components["schemas"]["ResultSuccess__totalSpend-number__"] | components["schemas"]["ResultError_string_"]; - ModelSpend: { - model: string; - provider: string; - /** Format: double */ - promptTokens: number; - /** Format: double */ - completionTokens: number; - /** Format: double */ - cacheReadTokens: number; - /** Format: double */ - cacheWriteTokens: number; - pricing: { - /** Format: double */ - cacheWritePer1M?: number; - /** Format: double */ - cacheReadPer1M?: number; - /** Format: double */ - outputPer1M: number; - /** Format: double */ - inputPer1M: number; - } | null; - /** Format: double */ - subtotal: number; - /** Format: double */ - discountPercent: number; - /** Format: double */ - total: number; - /** Format: double */ - cacheAdjustment?: number; - }; - SpendBreakdownResponse: { - models: components["schemas"]["ModelSpend"][]; - /** Format: double */ - totalCost: number; - timeRange: { - end: string; - start: string; - }; - }; - ResultSuccess_SpendBreakdownResponse_: { - data: components["schemas"]["SpendBreakdownResponse"]; - /** @enum {number|null} */ - error: null; - }; - "Result_SpendBreakdownResponse.string_": components["schemas"]["ResultSuccess_SpendBreakdownResponse_"] | components["schemas"]["ResultError_string_"]; - PTBInvoice: { - id: string; - organizationId: string; - stripeInvoiceId: string | null; - hostedInvoiceUrl: string | null; - startDate: string; - endDate: string; - /** Format: double */ - amountCents: number; - /** Format: double */ - subtotalCents: number | null; - notes: string | null; - createdAt: string; - }; - "ResultSuccess_PTBInvoice-Array_": { - data: components["schemas"]["PTBInvoice"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_PTBInvoice-Array.string_": components["schemas"]["ResultSuccess_PTBInvoice-Array_"] | components["schemas"]["ResultError_string_"]; - OrgDiscount: { - provider: string | null; - model: string | null; - /** Format: double */ - percent: number; - }; - "ResultSuccess_OrgDiscount-Array_": { - data: components["schemas"]["OrgDiscount"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_OrgDiscount-Array.string_": components["schemas"]["ResultSuccess_OrgDiscount-Array_"] | components["schemas"]["ResultError_string_"]; - InAppThread: { - id: string; - chat: unknown; - user_id: string; - org_id: string; - /** Format: date-time */ - created_at: string; - escalated: boolean; - metadata: unknown; - /** Format: date-time */ - updated_at: string; - soft_delete: boolean; - }; - ResultSuccess_InAppThread_: { - data: components["schemas"]["InAppThread"]; - /** @enum {number|null} */ - error: null; - }; - "Result_InAppThread.string_": components["schemas"]["ResultSuccess_InAppThread_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__success-boolean__": { - data: { - success: boolean; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__success-boolean_.string_": components["schemas"]["ResultSuccess__success-boolean__"] | components["schemas"]["ResultError_string_"]; - ThreadSummary: { - id: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - escalated: boolean; - /** Format: double */ - message_count: number; - first_message?: string; - last_message?: string; - soft_delete?: boolean; - }; - "ResultSuccess_ThreadSummary-Array_": { - data: components["schemas"]["ThreadSummary"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_ThreadSummary-Array.string_": components["schemas"]["ResultSuccess_ThreadSummary-Array_"] | components["schemas"]["ResultError_string_"]; - }; - responses: { - }; - parameters: { - }; - requestBodies: { - }; - headers: { - }; - pathItems: never; -} - -export type $defs = Record; - -export type external = Record; - -export interface operations { - - GetProviderKey: { - parameters: { - path: { - providerKeyId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["DecryptedProviderKey"] | { - error: string; - }; - }; - }; - }; - }; - DeleteProviderKey: { - parameters: { - path: { - providerKeyId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": ({ - /** @enum {string} */ - providerName: "baseten" | "anthropic" | "azure" | "bedrock" | "canopywave" | "cerebras" | "chutes" | "deepinfra" | "deepseek" | "fireworks" | "google-ai-studio" | "groq" | "helicone" | "mistral" | "nebius" | "novita" | "openai" | "openrouter" | "perplexity" | "vertex" | "xai"; - }) | { - error: string; - }; - }; - }; - }; - }; - UpdateProviderKey: { - parameters: { - path: { - providerKeyId: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["UpdateProviderKeyRequest"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__id-string--providerName-string_.string_"]; - }; - }; - }; - }; - CreateProviderKey: { - requestBody: { - content: { - "application/json": components["schemas"]["CreateProviderKeyRequest"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": { - id: string; - } | { - error: string; - }; - }; - }; - }; - }; - GetProviderKeys: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["ProviderKeyRow"][] | { - error: string; - }; - }; - }; - }; - }; - GetAPIKeys: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__api_key_hash-string--api_key_name-string--created_at-string--governance-boolean--id-number--key_permissions-string--organization_id-string--soft_delete-boolean--temp_key-boolean--updated_at-string--user_id-string_-Array.string_"]; - }; - }; - }; - }; - CreateAPIKey: { - requestBody: { - content: { - "application/json": { - /** @enum {string} */ - key_permissions?: "rw" | "r" | "w"; - api_key_name: string; - }; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": { - hashedKey: string; - apiKey: string; - id: string; - } | { - error: string; - }; - }; - }; - }; - }; - CreateProxyKey: { - requestBody: { - content: { - "application/json": { - proxyKeyName: string; - providerKeyId: string; - }; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": { - proxyKeyId: string; - proxyKey: string; - } | { - error: string; - }; - }; - }; - }; - }; - DeleteAPIKey: { - parameters: { - path: { - apiKeyId: number; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": { - hashedKey: string; - } | { - error: string; - }; - }; - }; - }; - }; - UpdateAPIKey: { - parameters: { - path: { - apiKeyId: number; - }; - }; - requestBody: { - content: { - "application/json": { - api_key_name: string; - }; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": { - hashedKey: string; - } | { - error: string; - }; - }; - }; - }; - }; - CreateEvaluator: { - requestBody: { - content: { - "application/json": components["schemas"]["CreateEvaluatorParams"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_EvaluatorResult.string_"]; - }; - }; - }; - }; - GetEvaluator: { - parameters: { - path: { - evaluatorId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_EvaluatorResult.string_"]; - }; - }; - }; - }; - UpdateEvaluator: { - parameters: { - path: { - evaluatorId: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["UpdateEvaluatorParams"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_EvaluatorResult.string_"]; - }; - }; - }; - }; - DeleteEvaluator: { - parameters: { - path: { - evaluatorId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; - }; - }; - QueryEvaluators: { - requestBody: { - content: { - "application/json": Record; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_EvaluatorResult-Array.string_"]; - }; - }; - }; - }; - GetExperimentsForEvaluator: { - parameters: { - path: { - evaluatorId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_EvaluatorExperiment-Array.string_"]; - }; - }; - }; - }; - GetOnlineEvaluators: { - parameters: { - path: { - evaluatorId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_OnlineEvaluatorByEvaluatorId-Array.string_"]; - }; - }; - }; - }; - CreateOnlineEvaluator: { - parameters: { - path: { - evaluatorId: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["CreateOnlineEvaluatorParams"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; - }; - }; - DeleteOnlineEvaluator: { - parameters: { - path: { - evaluatorId: string; - onlineEvaluatorId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; - }; - }; - TestPythonEvaluator: { - requestBody: { - content: { - "application/json": { - testInput: components["schemas"]["TestInput"]; - code: string; - }; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__output-string--traces-string-Array--statusCode_63_-number_.string_"]; - }; - }; - }; - }; - TestLLMEvaluator: { - requestBody: { - content: { - "application/json": { - evaluatorName: string; - testInput: components["schemas"]["TestInput"]; - evaluatorConfig: components["schemas"]["EvaluatorConfig"]; - }; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["EvaluatorScoreResult"]; - }; - }; - }; - }; - TestLastMileEvaluator: { - requestBody: { - content: { - "application/json": { - testInput: components["schemas"]["TestInput"]; - config: components["schemas"]["LastMileConfigForm"]; - }; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__score-number--input-string--output-string--ground_truth_63_-string_.string_"]; - }; - }; - }; - }; - GetEvaluatorStats: { - parameters: { - path: { - evaluatorId: string; - }; + priority?: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_EvaluatorStats.string_"]; - }; - }; + SimplifiedModalityPricing: { + /** Format: double */ + input?: number; + /** Format: double */ + cachedInput?: number; + /** Format: double */ + output?: number; }; - }; - GetPrompt2025: { - parameters: { - path: { - promptId: string; - }; + SimplifiedPricing: { + /** Format: double */ + prompt: number; + /** Format: double */ + completion: number; + audio?: components["schemas"]["SimplifiedModalityPricing"]; + /** Format: double */ + thinking?: number; + /** Format: double */ + web_search?: number; + image?: components["schemas"]["SimplifiedModalityPricing"]; + video?: components["schemas"]["SimplifiedModalityPricing"]; + file?: components["schemas"]["SimplifiedModalityPricing"]; + /** Format: double */ + cacheRead?: number; + /** Format: double */ + cacheWrite?: number; + /** Format: double */ + threshold?: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_Prompt2025.string_"]; - }; - }; + ModelEndpoint: { + provider: string; + providerSlug: string; + endpoint?: components["schemas"]["Endpoint"]; + supportsPtb?: boolean; + pricing: components["schemas"]["SimplifiedPricing"]; + pricingTiers?: components["schemas"]["SimplifiedPricing"][]; }; - }; - RenamePrompt2025: { - parameters: { - path: { - promptId: string; - }; + /** @enum {string} */ + InputModality: "text" | "image" | "audio" | "video"; + /** @enum {string} */ + OutputModality: "text" | "image" | "audio" | "video"; + ModelRegistryItem: { + id: string; + name: string; + author: string; + /** Format: double */ + contextLength: number; + endpoints: components["schemas"]["ModelEndpoint"][]; + /** Format: double */ + maxOutput?: number; + trainingDate?: string; + description?: string; + inputModalities: components["schemas"]["InputModality"][]; + outputModalities: components["schemas"]["OutputModality"][]; + supportedParameters: components["schemas"]["StandardParameter"][]; + pinnedVersionOfModel?: string; }; - requestBody: { - content: { - "application/json": { - name: string; - }; + /** @enum {string} */ + ModelCapability: "audio" | "video" | "image" | "thinking" | "web_search" | "caching" | "reasoning"; + ModelRegistryResponse: { + models: components["schemas"]["ModelRegistryItem"][]; + /** Format: double */ + total: number; + filters: { + capabilities: components["schemas"]["ModelCapability"][]; + authors: string[]; + providers: { + displayName: string; + name: string; + }[]; }; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; + ResultSuccess_ModelRegistryResponse_: { + data: components["schemas"]["ModelRegistryResponse"]; + /** @enum {number|null} */ + error: null; }; - }; - UpdatePrompt2025Tags: { - parameters: { - path: { - promptId: string; - }; + "Result_ModelRegistryResponse.string_": components["schemas"]["ResultSuccess_ModelRegistryResponse_"] | components["schemas"]["ResultError_string_"]; + OAIModel: { + id: string; + /** @enum {string} */ + object: "model"; + /** Format: double */ + created: number; + owned_by: string; }; - requestBody: { - content: { - "application/json": { - tags: string[]; - }; - }; + OAIModelsResponse: { + /** @enum {string} */ + object: "list"; + data: components["schemas"]["OAIModel"][]; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_string-Array.string_"]; - }; - }; + MetricStats: { + /** Format: double */ + p99: number; + /** Format: double */ + p95: number; + /** Format: double */ + p90: number; + /** Format: double */ + max: number; + /** Format: double */ + min: number; + /** Format: double */ + median: number; + /** Format: double */ + average: number; }; - }; - DeletePrompt2025: { - parameters: { - path: { - promptId: string; - }; + TokenMetricStats: components["schemas"]["MetricStats"] & { + /** Format: double */ + medianPer1000Tokens: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; + TimeSeriesMetric: { + /** Format: double */ + value: number; + timestamp: string; }; - }; - DeletePrompt2025Version: { - parameters: { - path: { - promptId: string; - versionId: string; + Model: { + timeSeriesData: { + errorRate: components["schemas"]["TimeSeriesMetric"][]; + successRate: components["schemas"]["TimeSeriesMetric"][]; + ttft: components["schemas"]["TimeSeriesMetric"][]; + latency: components["schemas"]["TimeSeriesMetric"][]; }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; + requestStatus: { + /** Format: double */ + errorRate: number; + /** Format: double */ + successRate: number; }; - }; - }; - GetPrompt2025Inputs: { - parameters: { - query: { - requestId: string; + geographicTtft: { + /** Format: double */ + median: number; + countryCode: string; + }[]; + geographicLatency: { + /** Format: double */ + median: number; + countryCode: string; + }[]; + feedback: { + /** Format: double */ + negativePercentage: number; + /** Format: double */ + positivePercentage: number; }; - path: { - promptId: string; - versionId: string; + costs: { + /** Format: double */ + completion_token: number; + /** Format: double */ + prompt_token: number; }; + ttft: components["schemas"]["MetricStats"]; + latency: components["schemas"]["TokenMetricStats"]; + provider: string; + model: string; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_Prompt2025Input.string_"]; - }; - }; + "ResultSuccess_Model-Array_": { + data: components["schemas"]["Model"][]; + /** @enum {number|null} */ + error: null; }; - }; - GetPrompt2025Tags: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_string-Array.string_"]; - }; - }; + "Result_Model-Array.string_": components["schemas"]["ResultSuccess_Model-Array_"] | components["schemas"]["ResultError_string_"]; + ModelsToCompare: { + provider: string; + names: string[]; + parent: string; }; - }; - GetPrompt2025Environments: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_string-Array.string_"]; - }; + MetricsFilterBody: { + filter: components["schemas"]["FilterNode"]; + timeFilter: { + end: string; + start: string; }; }; - }; - CreatePrompt2025: { - requestBody: { - content: { - "application/json": { - promptBody: components["schemas"]["OpenAIChatRequest"]; - tags: string[]; - name: string; - }; - }; + TokensPerRequest: { + /** Format: double */ + average_prompt_tokens_per_response: number; + /** Format: double */ + average_completion_tokens_per_response: number; + /** Format: double */ + average_total_tokens_per_response: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptCreateResponse.string_"]; - }; - }; + ResultSuccess_TokensPerRequest_: { + data: components["schemas"]["TokensPerRequest"]; + /** @enum {number|null} */ + error: null; }; - }; - UpdatePrompt2025: { - requestBody: { - content: { - "application/json": { - promptBody: components["schemas"]["OpenAIChatRequest"]; - commitMessage: string; - environment?: string; - newMajorVersion: boolean; - promptVersionId: string; - promptId: string; - }; - }; + "Result_TokensPerRequest.string_": components["schemas"]["ResultSuccess_TokensPerRequest_"] | components["schemas"]["ResultError_string_"]; + RequestsOverTime: { + /** Format: date-time */ + time: string; + /** Format: double */ + count: number; + /** Format: double */ + status?: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__id-string_.string_"]; - }; - }; + "ResultSuccess_RequestsOverTime-Array_": { + data: components["schemas"]["RequestsOverTime"][]; + /** @enum {number|null} */ + error: null; }; - }; - SetPromptVersionEnvironment: { - requestBody: { - content: { - "application/json": { - environment: string; - promptVersionId: string; - promptId: string; - }; + "Result_RequestsOverTime-Array.string_": components["schemas"]["ResultSuccess_RequestsOverTime-Array_"] | components["schemas"]["ResultError_string_"]; + MetricsOverTimeBody: { + timeFilter: { + end: string; + start: string; }; + filter: components["schemas"]["FilterNode"]; + dbIncrement?: components["schemas"]["TimeIncrement"]; + /** Format: double */ + timeZoneDifference: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; + CostOverTime: { + /** Format: date-time */ + time: string; + /** Format: double */ + cost: number; }; - }; - RemoveEnvironmentFromVersion: { - requestBody: { - content: { - "application/json": { - environment: string; - promptVersionId: string; - promptId: string; - }; - }; + "ResultSuccess_CostOverTime-Array_": { + data: components["schemas"]["CostOverTime"][]; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; + "Result_CostOverTime-Array.string_": components["schemas"]["ResultSuccess_CostOverTime-Array_"] | components["schemas"]["ResultError_string_"]; + TokensOverTime: { + /** Format: date-time */ + time: string; + /** Format: double */ + prompt_tokens: number; + /** Format: double */ + completion_tokens: number; }; - }; - GetPrompt2025Count: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_number.string_"]; - }; - }; + "ResultSuccess_TokensOverTime-Array_": { + data: components["schemas"]["TokensOverTime"][]; + /** @enum {number|null} */ + error: null; }; - }; - GetPrompts2025: { - requestBody: { - content: { - "application/json": { - /** Format: double */ - pageSize: number; - /** Format: double */ - page: number; - tagsFilter: string[]; - search: string; - }; - }; + "Result_TokensOverTime-Array.string_": components["schemas"]["ResultSuccess_TokensOverTime-Array_"] | components["schemas"]["ResultError_string_"]; + LatencyOverTime: { + /** Format: date-time */ + time: string; + /** Format: double */ + duration: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_Prompt2025-Array.string_"]; - }; - }; + "ResultSuccess_LatencyOverTime-Array_": { + data: components["schemas"]["LatencyOverTime"][]; + /** @enum {number|null} */ + error: null; }; - }; - GetPrompt2025Version: { - requestBody: { - content: { - "application/json": { - promptVersionId: string; - }; - }; + "Result_LatencyOverTime-Array.string_": components["schemas"]["ResultSuccess_LatencyOverTime-Array_"] | components["schemas"]["ResultError_string_"]; + TimeToFirstTokenOverTime: { + /** Format: date-time */ + time: string; + /** Format: double */ + ttft: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_Prompt2025Version.string_"]; - }; - }; + "ResultSuccess_TimeToFirstTokenOverTime-Array_": { + data: components["schemas"]["TimeToFirstTokenOverTime"][]; + /** @enum {number|null} */ + error: null; }; - }; - GetPrompt2025EnvironmentVersion: { - requestBody: { - content: { - "application/json": { - environment: string; - promptId: string; - }; - }; + "Result_TimeToFirstTokenOverTime-Array.string_": components["schemas"]["ResultSuccess_TimeToFirstTokenOverTime-Array_"] | components["schemas"]["ResultError_string_"]; + UsersOverTime: { + /** Format: date-time */ + time: string; + /** Format: double */ + count: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_Prompt2025Version.string_"]; - }; - }; + "ResultSuccess_UsersOverTime-Array_": { + data: components["schemas"]["UsersOverTime"][]; + /** @enum {number|null} */ + error: null; }; - }; - GetPrompt2025Versions: { - requestBody: { - content: { - "application/json": { - /** Format: double */ - majorVersion?: number; - promptId: string; - }; - }; + "Result_UsersOverTime-Array.string_": components["schemas"]["ResultSuccess_UsersOverTime-Array_"] | components["schemas"]["ResultError_string_"]; + ThreatsOverTime: { + /** Format: date-time */ + time: string; + /** Format: double */ + count: number; + }; + "ResultSuccess_ThreatsOverTime-Array_": { + data: components["schemas"]["ThreatsOverTime"][]; + /** @enum {number|null} */ + error: null; + }; + "Result_ThreatsOverTime-Array.string_": components["schemas"]["ResultSuccess_ThreatsOverTime-Array_"] | components["schemas"]["ResultError_string_"]; + ErrorOverTime: { + /** Format: date-time */ + time: string; + /** Format: double */ + count: number; + }; + "ResultSuccess_ErrorOverTime-Array_": { + data: components["schemas"]["ErrorOverTime"][]; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_Prompt2025Version-Array.string_"]; - }; - }; + "Result_ErrorOverTime-Array.string_": components["schemas"]["ResultSuccess_ErrorOverTime-Array_"] | components["schemas"]["ResultError_string_"]; + RequestCountBody: { + filter: components["schemas"]["FilterNode"]; + isCached?: boolean; }; - }; - GetPrompt2025ProductionVersion: { - requestBody: { - content: { - "application/json": { - promptId: string; - }; - }; + ModelMetric: { + model: string; + /** Format: double */ + total_requests: number; + /** Format: double */ + total_completion_tokens: number; + /** Format: double */ + total_prompt_token: number; + /** Format: double */ + total_tokens: number; + /** Format: double */ + cost: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_Prompt2025Version.string_"]; - }; - }; + "ResultSuccess_ModelMetric-Array_": { + data: components["schemas"]["ModelMetric"][]; + /** @enum {number|null} */ + error: null; }; - }; - GetPrompt2025TotalVersions: { - requestBody: { - content: { - "application/json": { - promptId: string; - }; + "Result_ModelMetric-Array.string_": components["schemas"]["ResultSuccess_ModelMetric-Array_"] | components["schemas"]["ResultError_string_"]; + ModelMetricsBody: { + filter: components["schemas"]["FilterNode"]; + /** Format: double */ + offset: number; + /** Format: double */ + limit: number; + timeFilter: { + end: string; + start: string; }; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptVersionCounts.string_"]; - }; - }; + CountryData: { + country: string; + /** Format: double */ + total_requests: number; }; - }; - /** @description Get the full prompt body (messages, tools, etc.) for a specific prompt version. */ - GetPrompt2025VersionBody: { - parameters: { - path: { - promptVersionId: string; - }; + "ResultSuccess_CountryData-Array_": { + data: components["schemas"]["CountryData"][]; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_Prompt2025Version_91_prompt_body_93_.string_"]; - }; + "Result_CountryData-Array.string_": components["schemas"]["ResultSuccess_CountryData-Array_"] | components["schemas"]["ResultError_string_"]; + CountryMetricsBody: { + filter: components["schemas"]["FilterNode"]; + /** Format: double */ + offset: number; + /** Format: double */ + limit: number; + timeFilter: { + end: string; + start: string; }; }; - }; - HasPrompts: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__hasPrompts-boolean_.string_"]; - }; - }; + Quantiles: { + /** Format: date-time */ + time: string; + /** Format: double */ + p75: number; + /** Format: double */ + p90: number; + /** Format: double */ + p95: number; + /** Format: double */ + p99: number; }; - }; - GetPrompts: { - requestBody: { - content: { - "application/json": components["schemas"]["PromptsQueryParams"]; - }; + "ResultSuccess_Quantiles-Array_": { + data: components["schemas"]["Quantiles"][]; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptsResult-Array.string_"]; - }; + "Result_Quantiles-Array.string_": components["schemas"]["ResultSuccess_Quantiles-Array_"] | components["schemas"]["ResultError_string_"]; + QuantilesBody: { + filter: components["schemas"]["FilterNode"]; + timeFilter: { + end: string; + start: string; }; + dbIncrement?: components["schemas"]["TimeIncrement"]; + /** Format: double */ + timeZoneDifference: number; + metric: string; }; - }; - GetPrompt: { - parameters: { - path: { - promptId: string; + "ResultSuccess__unsafe-boolean__": { + data: { + unsafe: boolean; }; + /** @enum {number|null} */ + error: null; }; - requestBody: { - content: { - "application/json": components["schemas"]["PromptQueryParams"]; - }; + "Result__unsafe-boolean_.string_": components["schemas"]["ResultSuccess__unsafe-boolean__"] | components["schemas"]["ResultError_string_"]; + ClickHouseTableColumn: { + name: string; + type: string; + default_type?: string; + default_expression?: string; + comment?: string; + codec_expression?: string; + ttl_expression?: string; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptResult.string_"]; - }; - }; + ClickHouseTableSchema: { + table_name: string; + columns: components["schemas"]["ClickHouseTableColumn"][]; }; - }; - DeletePrompt: { - parameters: { - path: { - promptId: string; - }; + "ResultSuccess_ClickHouseTableSchema-Array_": { + data: components["schemas"]["ClickHouseTableSchema"][]; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description No content */ - 204: { - content: never; - }; + "Result_ClickHouseTableSchema-Array.string_": components["schemas"]["ResultSuccess_ClickHouseTableSchema-Array_"] | components["schemas"]["ResultError_string_"]; + ExecuteSqlResponse: { + /** Format: double */ + rowCount: number; + /** Format: double */ + size: number; + /** Format: double */ + elapsedMilliseconds: number; + rows: components["schemas"]["Record_string.any_"][]; }; - }; - CreatePrompt: { - requestBody: { - content: { - "application/json": { - metadata: components["schemas"]["Record_string.any_"]; - prompt: unknown; - userDefinedId: string; - }; - }; + ResultSuccess_ExecuteSqlResponse_: { + data: components["schemas"]["ExecuteSqlResponse"]; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_CreatePromptResponse.string_"]; - }; - }; + "Result_ExecuteSqlResponse.string_": components["schemas"]["ResultSuccess_ExecuteSqlResponse_"] | components["schemas"]["ResultError_string_"]; + ExecuteSqlRequest: { + sql: string; }; - }; - UpdatePromptUserDefinedId: { - parameters: { - path: { - promptId: string; - }; + HqlSavedQuery: { + id: string; + organization_id: string; + name: string; + sql: string; + created_at: string; + updated_at: string; }; - requestBody: { - content: { - "application/json": { - userDefinedId: string; - }; - }; + ResultSuccess_Array_HqlSavedQuery__: { + data: components["schemas"]["HqlSavedQuery"][]; + /** @enum {number|null} */ + error: null; + }; + "Result_Array_HqlSavedQuery_.string_": components["schemas"]["ResultSuccess_Array_HqlSavedQuery__"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess_HqlSavedQuery-or-null_": { + data: components["schemas"]["HqlSavedQuery"] | null; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; + "Result_HqlSavedQuery-or-null.string_": components["schemas"]["ResultSuccess_HqlSavedQuery-or-null_"] | components["schemas"]["ResultError_string_"]; + ResultSuccess_void_: { + data: unknown; + /** @enum {number|null} */ + error: null; }; - }; - EditPromptVersionLabel: { - parameters: { - path: { - promptVersionId: string; - }; + "Result_void.string_": components["schemas"]["ResultSuccess_void_"] | components["schemas"]["ResultError_string_"]; + BulkDeleteSavedQueriesRequest: { + ids: string[]; }; - requestBody: { - content: { - "application/json": components["schemas"]["PromptEditSubversionLabelParams"]; - }; + "ResultSuccess_HqlSavedQuery-Array_": { + data: components["schemas"]["HqlSavedQuery"][]; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__metadata-Record_string.any__.string_"]; - }; - }; + "Result_HqlSavedQuery-Array.string_": components["schemas"]["ResultSuccess_HqlSavedQuery-Array_"] | components["schemas"]["ResultError_string_"]; + CreateSavedQueryRequest: { + name: string; + sql: string; }; - }; - EditPromptVersionTemplate: { - parameters: { - path: { - promptVersionId: string; - }; + ResultSuccess_HqlSavedQuery_: { + data: components["schemas"]["HqlSavedQuery"]; + /** @enum {number|null} */ + error: null; }; - requestBody: { - content: { - "application/json": components["schemas"]["PromptEditSubversionTemplateParams"]; + "Result_HqlSavedQuery.string_": components["schemas"]["ResultSuccess_HqlSavedQuery_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__datasetId-string__": { + data: { + datasetId: string; }; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; + "Result__datasetId-string_.string_": components["schemas"]["ResultSuccess__datasetId-string__"] | components["schemas"]["ResultError_string_"]; + HeliconeDatasetMetadata: { + promptVersionId?: string; + inputRecordsIds?: string[]; }; - }; - CreateSubversionFromUi: { - parameters: { - path: { - promptVersionId: string; - }; + NewHeliconeDatasetParams: { + datasetName: string; + requestIds: string[]; + meta?: components["schemas"]["HeliconeDatasetMetadata"]; }; - requestBody: { - content: { - "application/json": components["schemas"]["PromptCreateSubversionParams"]; - }; + MutateParams: { + addRequests: string[]; + removeRequests: string[]; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptVersionResult.string_"]; - }; - }; + HeliconeDatasetRow: { + id: string; + origin_request_id: string; + dataset_id: string; + created_at: string; + signed_url: components["schemas"]["Result_string.string_"]; }; - }; - CreateSubversion: { - parameters: { - path: { - promptVersionId: string; - }; + "ResultSuccess_HeliconeDatasetRow-Array_": { + data: components["schemas"]["HeliconeDatasetRow"][]; + /** @enum {number|null} */ + error: null; }; - requestBody: { - content: { - "application/json": components["schemas"]["PromptCreateSubversionParams"]; - }; + "Result_HeliconeDatasetRow-Array.string_": components["schemas"]["ResultSuccess_HeliconeDatasetRow-Array_"] | components["schemas"]["ResultError_string_"]; + HeliconeDataset: { + created_at: string | null; + dataset_type: string; + id: string; + meta: components["schemas"]["Json"] | null; + name: string | null; + organization: string; + /** Format: double */ + requests_count: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptVersionResult.string_"]; - }; - }; + "ResultSuccess_HeliconeDataset-Array_": { + data: components["schemas"]["HeliconeDataset"][]; + /** @enum {number|null} */ + error: null; }; - }; - PromotePromptVersionToProduction: { - parameters: { - path: { - promptVersionId: string; - }; + "Result_HeliconeDataset-Array.string_": components["schemas"]["ResultSuccess_HeliconeDataset-Array_"] | components["schemas"]["ResultError_string_"]; + ResultSuccess_any_: { + data: unknown; + /** @enum {number|null} */ + error: null; }; - requestBody: { - content: { - "application/json": { - previousProductionVersionId: string; - }; - }; + Eval: { + name: string; + /** Format: double */ + averageScore: number; + /** Format: double */ + minScore: number; + /** Format: double */ + maxScore: number; + /** Format: double */ + count: number; + overTime: { + /** Format: double */ + count: number; + date: string; + }[]; + averageOverTime: { + /** Format: double */ + value: number; + date: string; + }[]; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptVersionResult.string_"]; - }; - }; + "ResultSuccess_Eval-Array_": { + data: components["schemas"]["Eval"][]; + /** @enum {number|null} */ + error: null; }; - }; - GetInputs: { - parameters: { - path: { - promptVersionId: string; + "Result_Eval-Array.string_": components["schemas"]["ResultSuccess_Eval-Array_"] | components["schemas"]["ResultError_string_"]; + EvalFilterNode: components["schemas"]["FilterLeafSubset_request_response_rmt_"] | components["schemas"]["EvalFilterBranch"] | "all"; + EvalFilterBranch: { + right: components["schemas"]["EvalFilterNode"]; + /** @enum {string} */ + operator: "or" | "and"; + left: components["schemas"]["EvalFilterNode"]; + }; + EvalQueryParams: { + filter: components["schemas"]["EvalFilterNode"]; + timeFilter: { + end: string; + start: string; }; + /** Format: double */ + offset?: number; + /** Format: double */ + limit?: number; + /** Format: double */ + timeZoneDifference?: number; }; - requestBody: { - content: { - "application/json": { - random?: boolean; + ScoreDistribution: { + name: string; + distribution: { /** Format: double */ - limit: number; - }; - }; + value: number; + /** Format: double */ + upper: number; + /** Format: double */ + lower: number; + }[]; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptInputRecord-Array.string_"]; - }; - }; + "ResultSuccess_ScoreDistribution-Array_": { + data: components["schemas"]["ScoreDistribution"][]; + /** @enum {number|null} */ + error: null; }; - }; - GetPromptExperiments: { - parameters: { - path: { - promptId: string; - }; + "Result_ScoreDistribution-Array.string_": components["schemas"]["ResultSuccess_ScoreDistribution-Array_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__score_key-string--score_sum-number--created_at_trunc-string_-Array_": { + data: { + created_at_trunc: string; + /** Format: double */ + score_sum: number; + score_key: string; + }[]; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array.string_"]; - }; - }; + "Result__score_key-string--score_sum-number--created_at_trunc-string_-Array.string_": components["schemas"]["ResultSuccess__score_key-string--score_sum-number--created_at_trunc-string_-Array_"] | components["schemas"]["ResultError_string_"]; + CustomerUsage: { + id: string; + name: string; + /** Format: double */ + cost: number; + /** Format: double */ + count: number; + /** Format: double */ + prompt_tokens: number; + /** Format: double */ + completion_tokens: number; }; - }; - GetPromptVersions: { - parameters: { - path: { - promptId: string; - }; + Customer: { + id: string; + name: string; }; - requestBody: { - content: { - "application/json": components["schemas"]["PromptVersionsQueryParams"]; - }; + CreditBalanceResponse: { + /** Format: double */ + totalCreditsPurchased: number; + /** Format: double */ + balance: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptVersionResult-Array.string_"]; - }; - }; + ResultSuccess_CreditBalanceResponse_: { + data: components["schemas"]["CreditBalanceResponse"]; + /** @enum {number|null} */ + error: null; }; - }; - GetPromptVersion: { - parameters: { - path: { - promptVersionId: string; - }; + "Result_CreditBalanceResponse.string_": components["schemas"]["ResultSuccess_CreditBalanceResponse_"] | components["schemas"]["ResultError_string_"]; + PurchasedCredits: { + id: string; + /** Format: double */ + createdAt: number; + /** Format: double */ + credits: number; + referenceId: string; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptVersionResult.string_"]; - }; - }; + PaginatedPurchasedCredits: { + purchases: components["schemas"]["PurchasedCredits"][]; + /** Format: double */ + total: number; + /** Format: double */ + page: number; + /** Format: double */ + pageSize: number; }; - }; - DeletePromptVersion: { - parameters: { - path: { - experimentId: string; - promptVersionId: string; - }; + ResultSuccess_PaginatedPurchasedCredits_: { + data: components["schemas"]["PaginatedPurchasedCredits"]; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; + "Result_PaginatedPurchasedCredits.string_": components["schemas"]["ResultSuccess_PaginatedPurchasedCredits_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__totalSpend-number__": { + data: { + /** Format: double */ + totalSpend: number; }; + /** @enum {number|null} */ + error: null; }; - }; - GetPromptVersionsCompiled: { - parameters: { - path: { - user_defined_id: string; - }; + "Result__totalSpend-number_.string_": components["schemas"]["ResultSuccess__totalSpend-number__"] | components["schemas"]["ResultError_string_"]; + ModelSpend: { + model: string; + provider: string; + /** Format: double */ + promptTokens: number; + /** Format: double */ + completionTokens: number; + /** Format: double */ + cacheReadTokens: number; + /** Format: double */ + cacheWriteTokens: number; + pricing: { + /** Format: double */ + cacheWritePer1M?: number; + /** Format: double */ + cacheReadPer1M?: number; + /** Format: double */ + outputPer1M: number; + /** Format: double */ + inputPer1M: number; + } | null; + /** Format: double */ + subtotal: number; + /** Format: double */ + discountPercent: number; + /** Format: double */ + total: number; + /** Format: double */ + cacheAdjustment?: number; }; - requestBody: { - content: { - "application/json": components["schemas"]["PromptVersiosQueryParamsCompiled"]; + SpendBreakdownResponse: { + models: components["schemas"]["ModelSpend"][]; + /** Format: double */ + totalCost: number; + timeRange: { + end: string; + start: string; }; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptVersionResultCompiled.string_"]; - }; - }; + ResultSuccess_SpendBreakdownResponse_: { + data: components["schemas"]["SpendBreakdownResponse"]; + /** @enum {number|null} */ + error: null; }; - }; - GetPromptVersionTemplates: { - parameters: { - path: { - user_defined_id: string; - }; + "Result_SpendBreakdownResponse.string_": components["schemas"]["ResultSuccess_SpendBreakdownResponse_"] | components["schemas"]["ResultError_string_"]; + PTBInvoice: { + id: string; + organizationId: string; + stripeInvoiceId: string | null; + hostedInvoiceUrl: string | null; + startDate: string; + endDate: string; + /** Format: double */ + amountCents: number; + /** Format: double */ + subtotalCents: number | null; + notes: string | null; + createdAt: string; }; - requestBody: { - content: { - "application/json": components["schemas"]["PromptVersiosQueryParamsCompiled"]; - }; + "ResultSuccess_PTBInvoice-Array_": { + data: components["schemas"]["PTBInvoice"][]; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptVersionResultFilled.string_"]; - }; - }; + "Result_PTBInvoice-Array.string_": components["schemas"]["ResultSuccess_PTBInvoice-Array_"] | components["schemas"]["ResultError_string_"]; + OrgDiscount: { + provider: string | null; + model: string | null; + /** Format: double */ + percent: number; }; - }; - CreateEmptyExperiment: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__experimentId-string_.string_"]; - }; - }; + "ResultSuccess_OrgDiscount-Array_": { + data: components["schemas"]["OrgDiscount"][]; + /** @enum {number|null} */ + error: null; }; - }; - CreateExperimentFromRequest: { - parameters: { - path: { - requestId: string; - }; + "Result_OrgDiscount-Array.string_": components["schemas"]["ResultSuccess_OrgDiscount-Array_"] | components["schemas"]["ResultError_string_"]; + InAppThread: { + id: string; + chat: unknown; + user_id: string; + org_id: string; + /** Format: date-time */ + created_at: string; + escalated: boolean; + metadata: unknown; + /** Format: date-time */ + updated_at: string; + soft_delete: boolean; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__experimentId-string_.string_"]; - }; - }; + ResultSuccess_InAppThread_: { + data: components["schemas"]["InAppThread"]; + /** @enum {number|null} */ + error: null; }; - }; - CreateNewExperiment: { - requestBody: { - content: { - "application/json": { - originalPromptVersion: string; - name: string; - }; + "Result_InAppThread.string_": components["schemas"]["ResultSuccess_InAppThread_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__success-boolean__": { + data: { + success: boolean; }; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__experimentId-string_.string_"]; - }; - }; + "Result__success-boolean_.string_": components["schemas"]["ResultSuccess__success-boolean__"] | components["schemas"]["ResultError_string_"]; + ThreadSummary: { + id: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + escalated: boolean; + /** Format: double */ + message_count: number; + first_message?: string; + last_message?: string; + soft_delete?: boolean; }; - }; - GetExperiments: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_ExperimentV2-Array.string_"]; - }; - }; + "ResultSuccess_ThreadSummary-Array_": { + data: components["schemas"]["ThreadSummary"][]; + /** @enum {number|null} */ + error: null; }; + "Result_ThreadSummary-Array.string_": components["schemas"]["ResultSuccess_ThreadSummary-Array_"] | components["schemas"]["ResultError_string_"]; }; - GetExperimentById: { + responses: { + }; + parameters: { + }; + requestBodies: { + }; + headers: { + }; + pathItems: never; +} + +export type $defs = Record; + +export type external = Record; + +export interface operations { + + GetProviderKey: { parameters: { path: { - experimentId: string; + providerKeyId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ExtendedExperimentData.string_"]; + "application/json": components["schemas"]["DecryptedProviderKey"] | { + error: string; + }; }; }; }; }; - DeleteExperiment: { + DeleteProviderKey: { parameters: { path: { - experimentId: string; + providerKeyId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": ({ + /** @enum {string} */ + providerName: "baseten" | "anthropic" | "azure" | "bedrock" | "canopywave" | "cerebras" | "chutes" | "deepinfra" | "deepseek" | "fireworks" | "google-ai-studio" | "groq" | "helicone" | "mistral" | "nebius" | "novita" | "openai" | "openrouter" | "perplexity" | "vertex" | "xai"; + }) | { + error: string; + }; }; }; }; }; - CreateNewPromptVersionForExperiment: { + UpdateProviderKey: { parameters: { path: { - experimentId: string; + providerKeyId: string; }; }; requestBody: { content: { - "application/json": components["schemas"]["CreateNewPromptVersionForExperimentParams"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptVersionResult.string_"]; - }; - }; - }; - }; - GetPromptVersionsForExperiment: { - parameters: { - path: { - experimentId: string; + "application/json": components["schemas"]["UpdateProviderKeyRequest"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ExperimentV2PromptVersion-Array.string_"]; + "application/json": components["schemas"]["Result__id-string--providerName-string_.string_"]; }; }; }; }; - GetInputKeysForExperiment: { - parameters: { - path: { - experimentId: string; + CreateProviderKey: { + requestBody: { + content: { + "application/json": components["schemas"]["CreateProviderKeyRequest"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_string-Array.string_"]; + "application/json": { + id: string; + } | { + error: string; + }; }; }; }; }; - AddManualRowToExperiment: { - parameters: { - path: { - experimentId: string; - }; - }; - requestBody: { - content: { - "application/json": { - inputs: components["schemas"]["Record_string.string_"]; - }; - }; - }; + GetProviderKeys: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_string.string_"]; + "application/json": components["schemas"]["ProviderKeyRow"][] | { + error: string; + }; }; }; }; }; - AddManualRowsToExperimentBatch: { - parameters: { - path: { - experimentId: string; - }; - }; - requestBody: { - content: { - "application/json": { - inputs: components["schemas"]["Record_string.string_"][]; - }; - }; - }; + GetAPIKeys: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result__api_key_hash-string--api_key_name-string--created_at-string--governance-boolean--id-number--key_permissions-string--organization_id-string--soft_delete-boolean--temp_key-boolean--updated_at-string--user_id-string_-Array.string_"]; }; }; }; }; - DeleteExperimentTableRows: { - parameters: { - path: { - experimentId: string; - }; - }; + CreateAPIKey: { requestBody: { content: { "application/json": { - inputRecordIds: string[]; + /** @enum {string} */ + key_permissions?: "rw" | "r" | "w"; + api_key_name: string; }; }; }; @@ -5950,25 +4202,23 @@ export interface operations { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": { + hashedKey: string; + apiKey: string; + id: string; + } | { + error: string; + }; }; }; }; }; - CreateExperimentTableRowBatch: { - parameters: { - path: { - experimentId: string; - }; - }; + CreateProxyKey: { requestBody: { content: { "application/json": { - rows: { - autoInputs: unknown[]; - inputs: components["schemas"]["Record_string.string_"]; - inputRecordId: string; - }[]; + proxyKeyName: string; + providerKeyId: string; }; }; }; @@ -5976,38 +4226,45 @@ export interface operations { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": { + proxyKeyId: string; + proxyKey: string; + } | { + error: string; + }; }; }; }; }; - CreateExperimentTableRowFromDataset: { + DeleteAPIKey: { parameters: { path: { - experimentId: string; - datasetId: string; + apiKeyId: number; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": { + hashedKey: string; + } | { + error: string; + }; }; }; }; }; - UpdateExperimentTableRow: { + UpdateAPIKey: { parameters: { path: { - experimentId: string; + apiKeyId: number; }; }; requestBody: { content: { "application/json": { - inputs: components["schemas"]["Record_string.string_"]; - inputRecordId: string; + api_key_name: string; }; }; }; @@ -6015,75 +4272,68 @@ export interface operations { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": { + hashedKey: string; + } | { + error: string; + }; }; }; }; }; - RunHypothesis: { - parameters: { - path: { - experimentId: string; - }; - }; + CreateEvaluator: { requestBody: { content: { - "application/json": { - inputRecordId: string; - promptVersionId: string; - }; + "application/json": components["schemas"]["CreateEvaluatorParams"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_string.string_"]; + "application/json": components["schemas"]["Result_EvaluatorResult.string_"]; }; }; }; }; - GetExperimentEvaluators: { + GetEvaluator: { parameters: { path: { - experimentId: string; + evaluatorId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_EvaluatorResult-Array.string_"]; + "application/json": components["schemas"]["Result_EvaluatorResult.string_"]; }; }; }; }; - CreateExperimentEvaluator: { + UpdateEvaluator: { parameters: { path: { - experimentId: string; + evaluatorId: string; }; }; requestBody: { content: { - "application/json": { - evaluatorId: string; - }; + "application/json": components["schemas"]["UpdateEvaluatorParams"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result_EvaluatorResult.string_"]; }; }; }; }; - DeleteExperimentEvaluator: { + DeleteEvaluator: { parameters: { path: { - experimentId: string; evaluatorId: string; }; }; @@ -6096,227 +4346,180 @@ export interface operations { }; }; }; - RunExperimentEvaluators: { - parameters: { - path: { - experimentId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; - }; - }; - ShouldRunEvaluators: { - parameters: { - path: { - experimentId: string; + QueryEvaluators: { + requestBody: { + content: { + "application/json": Record; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_boolean.string_"]; + "application/json": components["schemas"]["Result_EvaluatorResult-Array.string_"]; }; }; }; }; - GetExperimentPromptVersionScores: { + GetOnlineEvaluators: { parameters: { path: { - experimentId: string; - promptVersionId: string; + evaluatorId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_Record_string.ScoreV2_.string_"]; + "application/json": components["schemas"]["Result_OnlineEvaluatorByEvaluatorId-Array.string_"]; }; }; }; }; - GetExperimentScore: { + CreateOnlineEvaluator: { parameters: { path: { - experimentId: string; - requestId: string; - scoreKey: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_ScoreV2-or-null.string_"]; - }; - }; - }; - }; - GetCostForPrompts: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": number; - }; - }; - }; - }; - GetCostForEvals: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": number; - }; + evaluatorId: string; }; }; - }; - GetCostForExperiments: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": number; - }; + requestBody: { + content: { + "application/json": components["schemas"]["CreateOnlineEvaluatorParams"]; }; }; - }; - GetFreeUsage: { responses: { /** @description Ok */ 200: { content: { - "application/json": number; + "application/json": components["schemas"]["Result_null.string_"]; }; }; }; }; - CreateCloudGatewayCheckoutSession: { - requestBody: { - content: { - "application/json": components["schemas"]["CreateCloudGatewayCheckoutSessionRequest"]; + DeleteOnlineEvaluator: { + parameters: { + path: { + evaluatorId: string; + onlineEvaluatorId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": { - checkoutUrl: string; - }; + "application/json": components["schemas"]["Result_null.string_"]; }; }; }; }; - UpgradeToPro: { + TestPythonEvaluator: { requestBody: { content: { - "application/json": components["schemas"]["UpgradeToProRequest"]; + "application/json": { + testInput: components["schemas"]["TestInput"]; + code: string; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": string; + "application/json": components["schemas"]["Result__output-string--traces-string-Array--statusCode_63_-number_.string_"]; }; }; }; }; - UpgradeExistingCustomer: { + TestLLMEvaluator: { requestBody: { content: { - "application/json": components["schemas"]["UpgradeToProRequest"]; + "application/json": { + evaluatorName: string; + testInput: components["schemas"]["TestInput"]; + evaluatorConfig: components["schemas"]["EvaluatorConfig"]; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": string; + "application/json": components["schemas"]["EvaluatorScoreResult"]; }; }; }; }; - UpgradeToTeamBundle: { - requestBody?: { + TestLastMileEvaluator: { + requestBody: { content: { - "application/json": components["schemas"]["UpgradeToTeamBundleRequest"]; + "application/json": { + testInput: components["schemas"]["TestInput"]; + config: components["schemas"]["LastMileConfigForm"]; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": string; + "application/json": components["schemas"]["Result__score-number--input-string--output-string--ground_truth_63_-string_.string_"]; }; }; }; }; - UpgradeExistingCustomerToTeamBundle: { - requestBody?: { - content: { - "application/json": components["schemas"]["UpgradeToTeamBundleRequest"]; + GetEvaluatorStats: { + parameters: { + path: { + evaluatorId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": string; + "application/json": components["schemas"]["Result_EvaluatorStats.string_"]; }; }; }; }; - ManageSubscription: { + GetFreeUsage: { responses: { /** @description Ok */ 200: { content: { - "application/json": string; + "application/json": number; }; }; }; }; - UndoCancelSubscription: { + CreateCloudGatewayCheckoutSession: { + requestBody: { + content: { + "application/json": components["schemas"]["CreateCloudGatewayCheckoutSessionRequest"]; + }; + }; responses: { /** @description Ok */ 200: { content: { - "application/json": null; + "application/json": { + checkoutUrl: string; + }; }; }; }; }; - AddOns: { - parameters: { - path: { - productType: "alerts" | "prompts" | "experiments" | "evals"; - }; - }; + ManageSubscription: { responses: { /** @description Ok */ 200: { content: { - "application/json": null; + "application/json": string; }; }; }; }; - DeleteAddOns: { - parameters: { - path: { - productType: "alerts" | "prompts" | "experiments" | "evals"; - }; - }; + UndoCancelSubscription: { responses: { /** @description Ok */ 200: { @@ -6375,16 +4578,6 @@ export interface operations { }; }; }; - MigrateToPro: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": unknown; - }; - }; - }; - }; SearchPaymentIntents: { parameters: { query: { @@ -7331,16 +5524,204 @@ export interface operations { }; }; }; - SearchProperties: { - parameters: { - path: { - propertyKey: string; - }; - }; + SearchProperties: { + parameters: { + path: { + propertyKey: string; + }; + }; + requestBody: { + content: { + "application/json": { + searchTerm: string; + }; + }; + }; + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["Result_string-Array.string_"]; + }; + }; + }; + }; + GetTopCosts: { + parameters: { + path: { + propertyKey: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["TimeFilterRequest"]; + }; + }; + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["Result__value-string--cost-number_-Array.string_"]; + }; + }; + }; + }; + GetTopRequests: { + parameters: { + path: { + propertyKey: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["TimeFilterRequest"]; + }; + }; + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["Result__value-string--count-number_-Array.string_"]; + }; + }; + }; + }; + GetPrompt2025: { + parameters: { + path: { + promptId: string; + }; + }; + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["Result_Prompt2025.string_"]; + }; + }; + }; + }; + RenamePrompt2025: { + parameters: { + path: { + promptId: string; + }; + }; + requestBody: { + content: { + "application/json": { + name: string; + }; + }; + }; + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["Result_null.string_"]; + }; + }; + }; + }; + UpdatePrompt2025Tags: { + parameters: { + path: { + promptId: string; + }; + }; + requestBody: { + content: { + "application/json": { + tags: string[]; + }; + }; + }; + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["Result_string-Array.string_"]; + }; + }; + }; + }; + DeletePrompt2025: { + parameters: { + path: { + promptId: string; + }; + }; + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["Result_null.string_"]; + }; + }; + }; + }; + DeletePrompt2025Version: { + parameters: { + path: { + promptId: string; + versionId: string; + }; + }; + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["Result_null.string_"]; + }; + }; + }; + }; + GetPrompt2025Inputs: { + parameters: { + query: { + requestId: string; + }; + path: { + promptId: string; + versionId: string; + }; + }; + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["Result_Prompt2025Input.string_"]; + }; + }; + }; + }; + GetPrompt2025Tags: { + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["Result_string-Array.string_"]; + }; + }; + }; + }; + GetPrompt2025Environments: { + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["Result_string-Array.string_"]; + }; + }; + }; + }; + CreatePrompt2025: { requestBody: { content: { "application/json": { - searchTerm: string; + promptBody: components["schemas"]["OpenAIChatRequest"]; + tags: string[]; + name: string; }; }; }; @@ -7348,60 +5729,59 @@ export interface operations { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_string-Array.string_"]; + "application/json": components["schemas"]["Result_PromptCreateResponse.string_"]; }; }; }; }; - GetTopCosts: { - parameters: { - path: { - propertyKey: string; - }; - }; + UpdatePrompt2025: { requestBody: { content: { - "application/json": components["schemas"]["TimeFilterRequest"]; + "application/json": { + promptBody: components["schemas"]["OpenAIChatRequest"]; + commitMessage: string; + environment?: string; + newMajorVersion: boolean; + promptVersionId: string; + promptId: string; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__value-string--cost-number_-Array.string_"]; + "application/json": components["schemas"]["Result__id-string_.string_"]; }; }; }; }; - GetTopRequests: { - parameters: { - path: { - propertyKey: string; - }; - }; + SetPromptVersionEnvironment: { requestBody: { content: { - "application/json": components["schemas"]["TimeFilterRequest"]; + "application/json": { + environment: string; + promptVersionId: string; + promptId: string; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__value-string--count-number_-Array.string_"]; + "application/json": components["schemas"]["Result_null.string_"]; }; }; }; }; - Generate: { + RemoveEnvironmentFromVersion: { requestBody: { content: { - "application/json": components["schemas"]["OpenAIChatRequest"] & { - inputs?: unknown; - environment?: string; - prompt_id?: string; - logRequest?: boolean; - useAIGateway?: boolean; + "application/json": { + environment: string; + promptVersionId: string; + promptId: string; }; }; }; @@ -7409,26 +5789,31 @@ export interface operations { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ChatCompletion-or-_content-string--reasoning-string--calls-any_.string_"]; + "application/json": components["schemas"]["Result_null.string_"]; }; }; }; }; - GetRequestsThroughHelicone: { + GetPrompt2025Count: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_boolean.string_"]; + "application/json": components["schemas"]["Result_number.string_"]; }; }; }; }; - RequestsThroughHelicone: { + GetPrompts2025: { requestBody: { content: { "application/json": { - requestsThroughHelicone: boolean; + /** Format: double */ + pageSize: number; + /** Format: double */ + page: number; + tagsFilter: string[]; + search: string; }; }; }; @@ -7436,16 +5821,16 @@ export interface operations { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_string.string_"]; + "application/json": components["schemas"]["Result_Prompt2025-Array.string_"]; }; }; }; }; - GetApiKey: { + GetPrompt2025Version: { requestBody: { content: { "application/json": { - sessionUUID: string; + promptVersionId: string; }; }; }; @@ -7453,16 +5838,17 @@ export interface operations { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__apiKey-string_.string_"]; + "application/json": components["schemas"]["Result_Prompt2025Version.string_"]; }; }; }; }; - AddSession: { + GetPrompt2025EnvironmentVersion: { requestBody: { content: { "application/json": { - sessionUUID: string; + environment: string; + promptId: string; }; }; }; @@ -7470,396 +5856,465 @@ export interface operations { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_string.string_"]; + "application/json": components["schemas"]["Result_Prompt2025Version.string_"]; }; }; }; }; - GetOrgName: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_string.string_"]; + GetPrompt2025Versions: { + requestBody: { + content: { + "application/json": { + /** Format: double */ + majorVersion?: number; + promptId: string; }; }; }; - }; - GetTotalCosts: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_number.string_"]; + "application/json": components["schemas"]["Result_Prompt2025Version-Array.string_"]; }; }; }; }; - PiGetTotalRequests: { + GetPrompt2025ProductionVersion: { + requestBody: { + content: { + "application/json": { + promptId: string; + }; + }; + }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_number.string_"]; + "application/json": components["schemas"]["Result_Prompt2025Version.string_"]; }; }; }; }; - GetCostsOverTime: { + GetPrompt2025TotalVersions: { requestBody: { content: { - "application/json": components["schemas"]["DataOverTimeRequest"]; + "application/json": { + promptId: string; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__cost-number--created_at_trunc-string_-Array.string_"]; + "application/json": components["schemas"]["Result_PromptVersionCounts.string_"]; }; }; }; }; - /** - * Returns a comprehensive list of all AI models with their configurations, pricing, and capabilities - * @description Get all available models from the registry - */ - GetModelRegistry: { - responses: { - /** @description Complete model registry with models and filter options */ - 200: { - content: { - "application/json": components["schemas"]["Result_ModelRegistryResponse.string_"]; - }; + /** @description Get the full prompt body (messages, tools, etc.) for a specific prompt version. */ + GetPrompt2025VersionBody: { + parameters: { + path: { + promptVersionId: string; }; }; - }; - GetModels: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["OAIModelsResponse"]; + "application/json": components["schemas"]["Result_Prompt2025Version_91_prompt_body_93_.string_"]; }; }; }; }; - GetMultimodalModels: { + HasPrompts: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["OAIModelsResponse"]; + "application/json": components["schemas"]["Result__hasPrompts-boolean_.string_"]; }; }; }; }; - GetModelComparison: { + GetPrompts: { requestBody: { content: { - "application/json": components["schemas"]["ModelsToCompare"][]; + "application/json": components["schemas"]["PromptsQueryParams"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_Model-Array.string_"]; + "application/json": components["schemas"]["Result_PromptsResult-Array.string_"]; }; }; }; }; - GetTotalRequests: { + GetPrompt: { + parameters: { + path: { + promptId: string; + }; + }; requestBody: { content: { - "application/json": components["schemas"]["MetricsFilterBody"]; + "application/json": components["schemas"]["PromptQueryParams"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_number.string_"]; + "application/json": components["schemas"]["Result_PromptResult.string_"]; }; }; }; }; - GetTotalCost: { - requestBody: { - content: { - "application/json": components["schemas"]["MetricsFilterBody"]; + DeletePrompt: { + parameters: { + path: { + promptId: string; }; }; responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_number.string_"]; - }; + /** @description No content */ + 204: { + content: never; }; }; }; - GetAverageLatency: { + CreatePrompt: { requestBody: { content: { - "application/json": components["schemas"]["MetricsFilterBody"]; + "application/json": { + metadata: components["schemas"]["Record_string.any_"]; + prompt: unknown; + userDefinedId: string; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_number.string_"]; + "application/json": components["schemas"]["Result_CreatePromptResponse.string_"]; }; }; }; }; - GetAverageTimeToFirstToken: { + UpdatePromptUserDefinedId: { + parameters: { + path: { + promptId: string; + }; + }; requestBody: { content: { - "application/json": components["schemas"]["MetricsFilterBody"]; + "application/json": { + userDefinedId: string; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_number.string_"]; + "application/json": components["schemas"]["Result_null.string_"]; }; }; }; }; - GetAverageTokensPerRequest: { + EditPromptVersionLabel: { + parameters: { + path: { + promptVersionId: string; + }; + }; requestBody: { content: { - "application/json": components["schemas"]["MetricsFilterBody"]; + "application/json": components["schemas"]["PromptEditSubversionLabelParams"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_TokensPerRequest.string_"]; + "application/json": components["schemas"]["Result__metadata-Record_string.any__.string_"]; }; }; }; }; - GetTotalThreats: { + EditPromptVersionTemplate: { + parameters: { + path: { + promptVersionId: string; + }; + }; requestBody: { content: { - "application/json": components["schemas"]["MetricsFilterBody"]; + "application/json": components["schemas"]["PromptEditSubversionTemplateParams"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_number.string_"]; + "application/json": components["schemas"]["Result_null.string_"]; }; }; }; }; - GetActiveUsers: { + CreateSubversionFromUi: { + parameters: { + path: { + promptVersionId: string; + }; + }; requestBody: { content: { - "application/json": components["schemas"]["MetricsFilterBody"]; + "application/json": components["schemas"]["PromptCreateSubversionParams"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_number.string_"]; + "application/json": components["schemas"]["Result_PromptVersionResult.string_"]; }; }; }; }; - GetRequestsOverTime: { + CreateSubversion: { + parameters: { + path: { + promptVersionId: string; + }; + }; requestBody: { content: { - "application/json": components["schemas"]["MetricsOverTimeBody"]; + "application/json": components["schemas"]["PromptCreateSubversionParams"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_RequestsOverTime-Array.string_"]; + "application/json": components["schemas"]["Result_PromptVersionResult.string_"]; }; }; }; }; - GetCostOverTime: { + PromotePromptVersionToProduction: { + parameters: { + path: { + promptVersionId: string; + }; + }; requestBody: { content: { - "application/json": components["schemas"]["MetricsOverTimeBody"]; + "application/json": { + previousProductionVersionId: string; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_CostOverTime-Array.string_"]; + "application/json": components["schemas"]["Result_PromptVersionResult.string_"]; }; }; }; }; - GetTokensOverTime: { + GetInputs: { + parameters: { + path: { + promptVersionId: string; + }; + }; requestBody: { content: { - "application/json": components["schemas"]["MetricsOverTimeBody"]; + "application/json": { + random?: boolean; + /** Format: double */ + limit: number; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_TokensOverTime-Array.string_"]; + "application/json": components["schemas"]["Result_PromptInputRecord-Array.string_"]; }; }; }; }; - GetLatencyOverTime: { + GetPromptVersions: { + parameters: { + path: { + promptId: string; + }; + }; requestBody: { content: { - "application/json": components["schemas"]["MetricsOverTimeBody"]; + "application/json": components["schemas"]["PromptVersionsQueryParams"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_LatencyOverTime-Array.string_"]; + "application/json": components["schemas"]["Result_PromptVersionResult-Array.string_"]; }; }; }; }; - GetTimeToFirstTokenOverTime: { - requestBody: { - content: { - "application/json": components["schemas"]["MetricsOverTimeBody"]; + GetPromptVersion: { + parameters: { + path: { + promptVersionId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_TimeToFirstTokenOverTime-Array.string_"]; + "application/json": components["schemas"]["Result_PromptVersionResult.string_"]; }; }; }; }; - GetUsersOverTime: { - requestBody: { - content: { - "application/json": components["schemas"]["MetricsOverTimeBody"]; + DeletePromptVersion: { + parameters: { + path: { + promptVersionId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_UsersOverTime-Array.string_"]; + "application/json": components["schemas"]["Result_null.string_"]; }; }; }; }; - GetThreatsOverTime: { + GetPromptVersionsCompiled: { + parameters: { + path: { + user_defined_id: string; + }; + }; requestBody: { content: { - "application/json": components["schemas"]["MetricsOverTimeBody"]; + "application/json": components["schemas"]["PromptVersiosQueryParamsCompiled"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ThreatsOverTime-Array.string_"]; + "application/json": components["schemas"]["Result_PromptVersionResultCompiled.string_"]; }; }; }; }; - GetErrorsOverTime: { + GetPromptVersionTemplates: { + parameters: { + path: { + user_defined_id: string; + }; + }; requestBody: { content: { - "application/json": components["schemas"]["MetricsOverTimeBody"]; + "application/json": components["schemas"]["PromptVersiosQueryParamsCompiled"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ErrorOverTime-Array.string_"]; + "application/json": components["schemas"]["Result_PromptVersionResultFilled.string_"]; }; }; }; }; - GetRequestStatusOverTime: { + Generate: { requestBody: { content: { - "application/json": components["schemas"]["MetricsOverTimeBody"]; + "application/json": components["schemas"]["OpenAIChatRequest"] & { + inputs?: unknown; + environment?: string; + prompt_id?: string; + logRequest?: boolean; + useAIGateway?: boolean; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_RequestsOverTime-Array.string_"]; + "application/json": components["schemas"]["Result_ChatCompletion-or-_content-string--reasoning-string--calls-any_.string_"]; }; }; }; }; - GetModelMetrics: { - requestBody: { - content: { - "application/json": components["schemas"]["ModelMetricsBody"]; - }; - }; + GetRequestsThroughHelicone: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ModelMetric-Array.string_"]; + "application/json": components["schemas"]["Result_boolean.string_"]; }; }; }; }; - GetCountryMetrics: { + RequestsThroughHelicone: { requestBody: { content: { - "application/json": components["schemas"]["CountryMetricsBody"]; + "application/json": { + requestsThroughHelicone: boolean; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_CountryData-Array.string_"]; + "application/json": components["schemas"]["Result_string.string_"]; }; }; }; }; - GetQuantiles: { + GetApiKey: { requestBody: { content: { - "application/json": components["schemas"]["QuantilesBody"]; + "application/json": { + sessionUUID: string; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_Quantiles-Array.string_"]; + "application/json": components["schemas"]["Result__apiKey-string_.string_"]; }; }; }; }; - GetSecurity: { + AddSession: { requestBody: { content: { "application/json": { - text: string; - advanced: boolean; + sessionUUID: string; }; }; }; @@ -7867,672 +6322,578 @@ export interface operations { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__unsafe-boolean_.string_"]; + "application/json": components["schemas"]["Result_string.string_"]; }; }; }; }; - /** - * Get database schema - * @description Get ClickHouse schema (tables and columns) - */ - GetClickHouseSchema: { + GetOrgName: { responses: { - /** @description Array of table schemas with columns */ + /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ClickHouseTableSchema-Array.string_"]; + "application/json": components["schemas"]["Result_string.string_"]; }; }; }; }; - /** - * Execute SQL query - * @description Execute a SQL query against ClickHouse - */ - ExecuteSql: { - /** @description The SQL query to execute */ - requestBody: { - content: { - "application/json": components["schemas"]["ExecuteSqlRequest"]; + GetTotalCosts: { + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["Result_number.string_"]; + }; }; }; + }; + PiGetTotalRequests: { responses: { - /** @description Query results with rows and metadata */ + /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ExecuteSqlResponse.string_"]; + "application/json": components["schemas"]["Result_number.string_"]; }; }; }; }; - /** - * Download query results as CSV - * @description Execute a SQL query and download results as CSV - */ - DownloadCsv: { - /** @description The SQL query to execute */ + GetCostsOverTime: { requestBody: { content: { - "application/json": components["schemas"]["ExecuteSqlRequest"]; + "application/json": components["schemas"]["DataOverTimeRequest"]; }; }; responses: { - /** @description URL to download the CSV file */ + /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_string.string_"]; + "application/json": components["schemas"]["Result__cost-number--created_at_trunc-string_-Array.string_"]; }; }; }; }; /** - * List saved queries - * @description Get all saved queries for the organization + * Returns a comprehensive list of all AI models with their configurations, pricing, and capabilities + * @description Get all available models from the registry */ - GetSavedQueries: { + GetModelRegistry: { responses: { - /** @description Array of saved queries */ + /** @description Complete model registry with models and filter options */ 200: { content: { - "application/json": components["schemas"]["Result_Array_HqlSavedQuery_.string_"]; + "application/json": components["schemas"]["Result_ModelRegistryResponse.string_"]; }; }; }; }; - /** - * Get saved query - * @description Get a specific saved query by ID - */ - GetSavedQuery: { - parameters: { - path: { - /** @description The ID of the saved query */ - queryId: string; - }; - }; + GetModels: { responses: { - /** @description The saved query details */ + /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_HqlSavedQuery-or-null.string_"]; + "application/json": components["schemas"]["OAIModelsResponse"]; }; }; }; }; - /** - * Update saved query - * @description Update an existing saved query - */ - UpdateSavedQuery: { - parameters: { - path: { - /** @description The ID of the saved query to update */ - queryId: string; + GetMultimodalModels: { + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["OAIModelsResponse"]; + }; }; }; - /** @description The updated query details */ + }; + GetModelComparison: { requestBody: { content: { - "application/json": components["schemas"]["CreateSavedQueryRequest"]; + "application/json": components["schemas"]["ModelsToCompare"][]; }; }; responses: { - /** @description The updated saved query */ + /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_HqlSavedQuery.string_"]; + "application/json": components["schemas"]["Result_Model-Array.string_"]; }; }; }; }; - /** - * Delete saved query - * @description Delete a saved query by ID - */ - DeleteSavedQuery: { - parameters: { - path: { - /** @description The ID of the saved query to delete */ - queryId: string; + GetTotalRequests: { + requestBody: { + content: { + "application/json": components["schemas"]["MetricsFilterBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_void.string_"]; + "application/json": components["schemas"]["Result_number.string_"]; }; }; }; }; - /** - * Bulk delete saved queries - * @description Delete multiple saved queries at once - */ - BulkDeleteSavedQueries: { - /** @description Array of query IDs to delete */ + GetTotalCost: { requestBody: { content: { - "application/json": components["schemas"]["BulkDeleteSavedQueriesRequest"]; + "application/json": components["schemas"]["MetricsFilterBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_void.string_"]; + "application/json": components["schemas"]["Result_number.string_"]; }; }; }; }; - /** - * Create saved query - * @description Create a new saved query - */ - CreateSavedQuery: { - /** @description The saved query details */ + GetAverageLatency: { requestBody: { content: { - "application/json": components["schemas"]["CreateSavedQueryRequest"]; + "application/json": components["schemas"]["MetricsFilterBody"]; }; }; responses: { - /** @description Array containing the created saved query */ + /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_HqlSavedQuery-Array.string_"]; + "application/json": components["schemas"]["Result_number.string_"]; }; }; }; }; - CreateNewEmptyExperiment: { + GetAverageTimeToFirstToken: { requestBody: { content: { - "application/json": { - datasetId: string; - metadata: components["schemas"]["Record_string.string_"]; - }; + "application/json": components["schemas"]["MetricsFilterBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__experimentId-string_.string_"]; + "application/json": components["schemas"]["Result_number.string_"]; }; }; }; }; - CreateNewExperimentTable: { + GetAverageTokensPerRequest: { requestBody: { content: { - "application/json": components["schemas"]["CreateExperimentTableParams"]; + "application/json": components["schemas"]["MetricsFilterBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__tableId-string--experimentId-string_.string_"]; + "application/json": components["schemas"]["Result_TokensPerRequest.string_"]; }; }; }; }; - GetExperimentTableById: { - parameters: { - path: { - experimentTableId: string; + GetTotalThreats: { + requestBody: { + content: { + "application/json": components["schemas"]["MetricsFilterBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ExperimentTable.string_"]; + "application/json": components["schemas"]["Result_number.string_"]; }; }; }; }; - GetExperimentTableMetadata: { - parameters: { - path: { - experimentTableId: string; + GetActiveUsers: { + requestBody: { + content: { + "application/json": components["schemas"]["MetricsFilterBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ExperimentTableSimplified.string_"]; + "application/json": components["schemas"]["Result_number.string_"]; }; }; }; }; - GetExperimentTables: { + GetRequestsOverTime: { + requestBody: { + content: { + "application/json": components["schemas"]["MetricsOverTimeBody"]; + }; + }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ExperimentTableSimplified-Array.string_"]; + "application/json": components["schemas"]["Result_RequestsOverTime-Array.string_"]; }; }; }; }; - CreateExperimentCell: { - parameters: { - path: { - experimentTableId: string; - }; - }; + GetCostOverTime: { requestBody: { content: { - "application/json": { - value: string | null; - /** Format: double */ - rowIndex: number; - columnId: string; - }; + "application/json": components["schemas"]["MetricsOverTimeBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result_CostOverTime-Array.string_"]; }; }; }; }; - UpdateExperimentCell: { - parameters: { - path: { - experimentTableId: string; - }; - }; + GetTokensOverTime: { requestBody: { content: { - "application/json": { - updateInputs?: boolean; - metadata?: string; - value?: string; - status?: string; - cellId: string; - }; + "application/json": components["schemas"]["MetricsOverTimeBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result_TokensOverTime-Array.string_"]; }; }; }; }; - CreateExperimentColumn: { - parameters: { - path: { - experimentTableId: string; - }; - }; + GetLatencyOverTime: { requestBody: { content: { - "application/json": { - inputKeys?: string[]; - promptVersionId?: string; - hypothesisId?: string; - columnType: string; - columnName: string; - }; + "application/json": components["schemas"]["MetricsOverTimeBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result_LatencyOverTime-Array.string_"]; }; }; }; }; - CreateExperimentTableRow: { - parameters: { - path: { - experimentTableId: string; - }; - }; + GetTimeToFirstTokenOverTime: { requestBody: { content: { - "application/json": { - inputs?: components["schemas"]["Record_string.string_"]; - sourceRequest?: string; - promptVersionId: string; - }; + "application/json": components["schemas"]["MetricsOverTimeBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result_TimeToFirstTokenOverTime-Array.string_"]; }; }; }; }; - DeleteExperimentTableRow: { - parameters: { - path: { - experimentTableId: string; - rowIndex: number; + GetUsersOverTime: { + requestBody: { + content: { + "application/json": components["schemas"]["MetricsOverTimeBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result_UsersOverTime-Array.string_"]; }; }; }; }; - CreateExperimentTableRowWithCellsBatch: { - parameters: { - path: { - experimentTableId: string; - }; - }; + GetThreatsOverTime: { requestBody: { content: { - "application/json": { - rows: ({ - sourceRequest?: string; - cells: ({ - metadata?: unknown; - value: string | null; - columnId: string; - })[]; - datasetId: string; - inputs: components["schemas"]["Record_string.string_"]; - inputRecordId: string; - })[]; - }; + "application/json": components["schemas"]["MetricsOverTimeBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result_ThreatsOverTime-Array.string_"]; }; }; }; }; - UpdateExperimentMeta: { + GetErrorsOverTime: { requestBody: { content: { - "application/json": { - meta: components["schemas"]["Record_string.string_"]; - experimentId: string; - }; + "application/json": components["schemas"]["MetricsOverTimeBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["ResultError_string_"] | components["schemas"]["ResultSuccess_unknown_"]; + "application/json": components["schemas"]["Result_ErrorOverTime-Array.string_"]; }; }; }; }; - CreateNewExperimentOld: { + GetRequestStatusOverTime: { requestBody: { content: { - "application/json": components["schemas"]["NewExperimentParams"]; + "application/json": components["schemas"]["MetricsOverTimeBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__experimentId-string_.string_"]; + "application/json": components["schemas"]["Result_RequestsOverTime-Array.string_"]; }; }; }; }; - CreateNewExperimentHypothesis: { + GetModelMetrics: { requestBody: { content: { - "application/json": { - /** @enum {string} */ - status: "PENDING" | "RUNNING" | "COMPLETED" | "FAILED"; - providerKeyId: string; - promptVersion: string; - model: string; - experimentId: string; - }; + "application/json": components["schemas"]["ModelMetricsBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__hypothesisId-string_.string_"]; + "application/json": components["schemas"]["Result_ModelMetric-Array.string_"]; }; }; }; }; - GetExperimentHypothesisScores: { - parameters: { - path: { - hypothesisId: string; + GetCountryMetrics: { + requestBody: { + content: { + "application/json": components["schemas"]["CountryMetricsBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__runsCount-number--scores-Record_string.Score__.string_"]; + "application/json": components["schemas"]["Result_CountryData-Array.string_"]; }; }; }; }; - CreateExperimentEvaluatorOld: { - parameters: { - path: { - experimentId: string; - }; - }; + GetQuantiles: { requestBody: { content: { - "application/json": { - evaluatorId: string; - }; + "application/json": components["schemas"]["QuantilesBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result_Quantiles-Array.string_"]; }; }; }; }; - RunExperimentEvaluatorsOld: { - parameters: { - path: { - experimentId: string; + GetSecurity: { + requestBody: { + content: { + "application/json": { + text: string; + advanced: boolean; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result__unsafe-boolean_.string_"]; }; }; }; }; - DeleteExperimentEvaluatorOld: { - parameters: { - path: { - experimentId: string; - evaluatorId: string; - }; - }; + /** + * Get database schema + * @description Get ClickHouse schema (tables and columns) + */ + GetClickHouseSchema: { responses: { - /** @description Ok */ + /** @description Array of table schemas with columns */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result_ClickHouseTableSchema-Array.string_"]; }; }; }; }; - GetExperimentsOld: { + /** + * Execute SQL query + * @description Execute a SQL query against ClickHouse + */ + ExecuteSql: { + /** @description The SQL query to execute */ requestBody: { content: { - "application/json": { - include?: components["schemas"]["IncludeExperimentKeys"]; - filter: components["schemas"]["ExperimentFilterNode"]; - }; + "application/json": components["schemas"]["ExecuteSqlRequest"]; }; }; responses: { - /** @description Ok */ + /** @description Query results with rows and metadata */ 200: { content: { - "application/json": components["schemas"]["Result_Experiment-Array.string_"]; + "application/json": components["schemas"]["Result_ExecuteSqlResponse.string_"]; }; }; }; }; - AddDataset: { + /** + * Download query results as CSV + * @description Execute a SQL query and download results as CSV + */ + DownloadCsv: { + /** @description The SQL query to execute */ requestBody: { content: { - "application/json": components["schemas"]["NewDatasetParams"]; + "application/json": components["schemas"]["ExecuteSqlRequest"]; }; }; responses: { - /** @description Ok */ + /** @description URL to download the CSV file */ 200: { content: { - "application/json": components["schemas"]["Result__datasetId-string_.string_"]; + "application/json": components["schemas"]["Result_string.string_"]; }; }; }; }; - AddRandomDataset: { - requestBody: { - content: { - "application/json": components["schemas"]["RandomDatasetParams"]; - }; - }; + /** + * List saved queries + * @description Get all saved queries for the organization + */ + GetSavedQueries: { responses: { - /** @description Ok */ + /** @description Array of saved queries */ 200: { content: { - "application/json": components["schemas"]["Result__datasetId-string_.string_"]; + "application/json": components["schemas"]["Result_Array_HqlSavedQuery_.string_"]; }; }; }; }; - GetDatasets: { - requestBody: { - content: { - "application/json": { - promptVersionId?: string; - }; + /** + * Get saved query + * @description Get a specific saved query by ID + */ + GetSavedQuery: { + parameters: { + path: { + /** @description The ID of the saved query */ + queryId: string; }; }; responses: { - /** @description Ok */ + /** @description The saved query details */ 200: { content: { - "application/json": components["schemas"]["Result_DatasetResult-Array.string_"]; + "application/json": components["schemas"]["Result_HqlSavedQuery-or-null.string_"]; }; }; }; }; - InsertDatasetRow: { + /** + * Update saved query + * @description Update an existing saved query + */ + UpdateSavedQuery: { parameters: { path: { - datasetId: string; + /** @description The ID of the saved query to update */ + queryId: string; }; }; + /** @description The updated query details */ requestBody: { content: { - "application/json": { - originalColumnId?: string; - inputs: components["schemas"]["Record_string.string_"]; - inputRecordId: string; - }; + "application/json": components["schemas"]["CreateSavedQueryRequest"]; }; }; responses: { - /** @description Ok */ + /** @description The updated saved query */ 200: { content: { - "application/json": components["schemas"]["Result_string.string_"]; + "application/json": components["schemas"]["Result_HqlSavedQuery.string_"]; }; }; }; }; - CreateDatasetRow: { + /** + * Delete saved query + * @description Delete a saved query by ID + */ + DeleteSavedQuery: { parameters: { path: { - datasetId: string; - promptVersionId: string; - }; - }; - requestBody: { - content: { - "application/json": { - sourceRequest?: string; - inputs: components["schemas"]["Record_string.string_"]; - }; + /** @description The ID of the saved query to delete */ + queryId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_string.string_"]; + "application/json": components["schemas"]["Result_void.string_"]; }; }; }; }; - GetDataset: { - parameters: { - path: { - datasetId: string; + /** + * Bulk delete saved queries + * @description Delete multiple saved queries at once + */ + BulkDeleteSavedQueries: { + /** @description Array of query IDs to delete */ + requestBody: { + content: { + "application/json": components["schemas"]["BulkDeleteSavedQueriesRequest"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_PromptInputRecord-Array.string_"]; + "application/json": components["schemas"]["Result_void.string_"]; }; }; }; }; - MutateDataset: { + /** + * Create saved query + * @description Create a new saved query + */ + CreateSavedQuery: { + /** @description The saved query details */ requestBody: { content: { - "application/json": { - removeRequests: string[]; - addRequests: string[]; - }; + "application/json": components["schemas"]["CreateSavedQueryRequest"]; }; }; responses: { - /** @description Ok */ + /** @description Array containing the created saved query */ 200: { content: { - "application/json": components["schemas"]["Result___-Array.string_"]; + "application/json": components["schemas"]["Result_HqlSavedQuery-Array.string_"]; }; }; }; diff --git a/packages/cost/models/provider-helpers.ts b/packages/cost/models/provider-helpers.ts index ae00f70ee3..4f9d9ae44f 100644 --- a/packages/cost/models/provider-helpers.ts +++ b/packages/cost/models/provider-helpers.ts @@ -62,6 +62,8 @@ export function heliconeProviderToModelProviderName( return "fireworks"; case "CANOPYWAVE": return "canopywave"; + case "SCALATTICE": + return "scalattice"; // new registry does not have case "LOCAL": case "HELICONE": @@ -159,6 +161,9 @@ export const dbProviderToProvider = ( if (provider === "nebius" || provider === "Nebius") { return "nebius"; } + if (provider === "scalattice" || provider === "Scalattice") { + return "scalattice"; + } return null; }; diff --git a/packages/cost/models/providers/index.ts b/packages/cost/models/providers/index.ts index 963717d50d..aaf70a9d45 100644 --- a/packages/cost/models/providers/index.ts +++ b/packages/cost/models/providers/index.ts @@ -17,6 +17,7 @@ import { NovitaProvider } from "./novita"; import { OpenAIProvider } from "./openai"; import { OpenRouterProvider } from "./openrouter"; import { PerplexityProvider } from "./perplexity"; +import { ScalatticeProvider } from "./scalattice"; import { VertexProvider } from "./vertex"; import { XAIProvider } from "./xai"; @@ -41,6 +42,7 @@ export const providers = { openai: new OpenAIProvider(), openrouter: new OpenRouterProvider(), perplexity: new PerplexityProvider(), + scalattice: new ScalatticeProvider(), vertex: new VertexProvider(), xai: new XAIProvider() } as const; @@ -84,6 +86,7 @@ export const ResponsesAPIEnabledProviders: ModelProviderName[] = [ "novita", "openrouter", "perplexity", + "scalattice", "xai", "baseten", "fireworks", diff --git a/packages/cost/models/providers/priorities.ts b/packages/cost/models/providers/priorities.ts index 38df67014c..e6e929ef7e 100644 --- a/packages/cost/models/providers/priorities.ts +++ b/packages/cost/models/providers/priorities.ts @@ -34,6 +34,7 @@ export const PROVIDER_PRIORITIES: Record = { mistral: 4, nebius: 4, novita: 4, + scalattice: 4, perplexity: 4, vertex: 4, diff --git a/packages/cost/models/providers/scalattice.ts b/packages/cost/models/providers/scalattice.ts new file mode 100644 index 0000000000..7aeda075e2 --- /dev/null +++ b/packages/cost/models/providers/scalattice.ts @@ -0,0 +1,14 @@ +import { BaseProvider } from "./base"; +import type { Endpoint, RequestParams } from "../types"; + +export class ScalatticeProvider extends BaseProvider { + readonly displayName = "Scalattice"; + readonly baseUrl = "https://api.scalattice.cloud/v1"; + readonly auth = "api-key" as const; + readonly pricingPages = ["https://scalattice.com/pricing/"]; + readonly modelPages = ["https://scalattice.cloud/docs/developers"]; + + buildUrl(endpoint: Endpoint, requestParams: RequestParams): string { + return `${this.baseUrl}/chat/completions`; + } +} diff --git a/packages/cost/providers/mappings.ts b/packages/cost/providers/mappings.ts index 7e856b54c5..f1ab63c67d 100644 --- a/packages/cost/providers/mappings.ts +++ b/packages/cost/providers/mappings.ts @@ -94,6 +94,9 @@ const cerebras = /^https:\/\/api\.cerebras\.ai/; // https://inference.canopywave.io const canopywave = /^https:\/\/inference\.canopywave\.io/; +// https://api.scalattice.cloud +const scalattice = /^https:\/\/api\.scalattice\.cloud/; + export const providersNames = [ "OPENAI", "ANTHROPIC", @@ -132,6 +135,7 @@ export const providersNames = [ "CEREBRAS", "BASETEN", "CANOPYWAVE", + "SCALATTICE", ] as const; export type ProviderName = (typeof providersNames)[number]; @@ -325,6 +329,11 @@ export const providers: { pattern: canopywave, provider: "CANOPYWAVE", costs: [], + }, + { + pattern: scalattice, + provider: "SCALATTICE", + costs: [], } ]; diff --git a/packages/cost/usage/getUsageProcessor.ts b/packages/cost/usage/getUsageProcessor.ts index 3dc612abf9..091c6247ab 100644 --- a/packages/cost/usage/getUsageProcessor.ts +++ b/packages/cost/usage/getUsageProcessor.ts @@ -27,6 +27,7 @@ export function getUsageProcessor( case "fireworks": case "cerebras": case "perplexity": + case "scalattice": return new OpenAIUsageProcessor(); case "anthropic": return new AnthropicUsageProcessor(); diff --git a/supabase/migrations/20260831000000_proxy_key_provider_key_same_org.sql b/supabase/migrations/20260831000000_proxy_key_provider_key_same_org.sql new file mode 100644 index 0000000000..86591cc839 --- /dev/null +++ b/supabase/migrations/20260831000000_proxy_key_provider_key_same_org.sql @@ -0,0 +1,27 @@ +-- CIRT-80: a proxy key must only ever map to a provider key owned by the same +-- organization. Application code now scopes the lookup by org_id; this makes +-- the invariant hold at the database regardless of what any caller does. +-- +-- The foreign key is added NOT VALID so it is enforced for all new and updated +-- rows immediately without failing the migration if historical violations +-- exist. Audit existing rows before validating: +-- +-- SELECT pk.id, pk.org_id AS proxy_org, p.org_id AS provider_org +-- FROM helicone_proxy_keys pk +-- JOIN provider_keys p ON p.id = pk.provider_key_id +-- WHERE pk.org_id <> p.org_id; +-- +-- Any rows returned are evidence of cross-tenant mappings and should be +-- escalated (see CIRT-74) and removed. Once the query is empty, run: +-- +-- ALTER TABLE public.helicone_proxy_keys +-- VALIDATE CONSTRAINT helicone_proxy_keys_provider_key_same_org_fk; + +ALTER TABLE public.provider_keys + ADD CONSTRAINT provider_keys_id_org_id_unique UNIQUE (id, org_id); + +ALTER TABLE public.helicone_proxy_keys + ADD CONSTRAINT helicone_proxy_keys_provider_key_same_org_fk + FOREIGN KEY (provider_key_id, org_id) + REFERENCES public.provider_keys (id, org_id) + NOT VALID; diff --git a/supabase/seeds/0_seed.sql b/supabase/seeds/0_seed.sql index 062289d879..2bcbbccc4f 100644 --- a/supabase/seeds/0_seed.sql +++ b/supabase/seeds/0_seed.sql @@ -33,10 +33,13 @@ INSERT INTO public.admins (user_id, user_email) VALUES ('f76629c5-a070-4bbc-9918-64beaea48848', 'test@helicone.ai'), ('d9064bb5-1501-4ec9-bfee-21ab74d645b8', 'admin@helicone.ai'); --- Enable credits feature flag for test organization +-- Feature flags for the e2e/test organizations. +-- ptb_enabled gates pass-through billing in the AI gateway (AttemptExecutor.PTBPreCheck); +-- without it the wallet e2e suite gets 403 "Pass-through billing is disabled". INSERT INTO public.feature_flags (org_id, feature) VALUES -('83635a30-5ba6-41a8-8cc6-fb7df941b24a', 'credits') +('83635a30-5ba6-41a8-8cc6-fb7df941b24a', 'credits'), +('83635a30-5ba6-41a8-8cc6-fb7df941b24a', 'ptb_enabled') ON CONFLICT DO NOTHING; diff --git a/valhalla/jawn/fix_swagger_operators.py b/valhalla/jawn/fix_swagger_operators.py new file mode 100644 index 0000000000..d0d8207efb --- /dev/null +++ b/valhalla/jawn/fix_swagger_operators.py @@ -0,0 +1,55 @@ +""" +Repair empty filter-operator schemas in the tsoa-generated swagger files. + +tsoa's type resolver intermittently fails to expand Partial> +aliases from @helicone-package/filters (the result depends on the order in which +the compiler happens to visit the referencing controllers), leaving schemas like +Partial_TextOperators_ as an empty object. An empty schema type-checks as +Record downstream and breaks every filter body in the web client. + +Until tsoa resolves these reliably (see https://github.com/lukeautry/tsoa/issues/911 +for the underlying Record-alias handling), patch the known operator schemas with +their true expansions, which mirror packages/filters/filterDefs.ts. +""" + +import json +import sys + +TEXT_OPERATOR_KEYS = ["not-equals", "equals", "like", "ilike", "contains", "not-contains"] +VECTOR_OPERATOR_KEYS = ["contains"] + +REPAIRS = { + "Partial_TextOperators_": { + "properties": {key: {"type": "string"} for key in TEXT_OPERATOR_KEYS}, + "type": "object", + "description": "Make all properties in T optional", + }, + "Partial_VectorOperators_": { + "properties": {key: {"type": "string"} for key in VECTOR_OPERATOR_KEYS}, + "type": "object", + "description": "Make all properties in T optional", + }, +} + + +def repair(path: str) -> None: + with open(path) as f: + spec = json.load(f) + + schemas = spec.get("components", {}).get("schemas", {}) + repaired = [] + for name, replacement in REPAIRS.items(): + schema = schemas.get(name) + if schema is not None and not schema.get("properties"): + schemas[name] = replacement + repaired.append(name) + + if repaired: + with open(path, "w") as f: + json.dump(spec, f, indent="\t") + print(f"{path}: repaired {', '.join(repaired)}") + + +if __name__ == "__main__": + for swagger_path in sys.argv[1:]: + repair(swagger_path) diff --git a/valhalla/jawn/package.json b/valhalla/jawn/package.json index 1f3c4573e0..59c76bf5bc 100644 --- a/valhalla/jawn/package.json +++ b/valhalla/jawn/package.json @@ -46,7 +46,6 @@ "dotenv": "^16.3.1", "express": "^5.1.0", "express-rate-limit": "^7.2.0", - "fluent-ffmpeg": "^2.1.3", "form-data": "^4.0.4", "fs": "^0.0.1-security", "generate-api-key": "^1.0.2", @@ -82,7 +81,6 @@ "@types/cors": "^2.8.17", "@types/dateformat": "^5.0.2", "@types/express": "^5.0.2", - "@types/fluent-ffmpeg": "^2.1.27", "@types/jest": "^30.0.0", "@types/lodash": "^4.14.202", "@types/morgan": "^1.9.7", diff --git a/valhalla/jawn/src/controllers/private/AudioController.ts b/valhalla/jawn/src/controllers/private/AudioController.ts index 5da691d63f..7800e1883a 100644 --- a/valhalla/jawn/src/controllers/private/AudioController.ts +++ b/valhalla/jawn/src/controllers/private/AudioController.ts @@ -1,36 +1,7 @@ -import { Buffer } from "buffer"; -import ffmpeg from "fluent-ffmpeg"; -import * as fs from "fs/promises"; -import * as os from "os"; -import * as path from "path"; -import { Writable } from "stream"; import { Body, Controller, Post, Route, Security, Tags } from "tsoa"; -import { randomUUID } from "crypto"; // We won't directly use Result in the method signature for TSOA compatibility // import { Result } from "../../lib/shared/result"; -// Helper function to probe using a Promise -const ffprobePromise = (filePath: string): Promise => { - return new Promise((resolve, reject) => { - ffmpeg.ffprobe(filePath, (err, metadata) => { - if (err) { - reject(new Error(`ffprobe failed: ${err.message}`)); - } else { - resolve(metadata); - } - }); - }); -}; - -// Simple mapping from ffprobe codec_name to ffmpeg format flag -// Expand as needed for other expected raw formats -const codecToInputFormat: Record = { - pcm_s16le: "s16le", - pcm_s16be: "s16be", - pcm_u8: "u8", - // Add more mappings if other raw PCM types are expected -}; - interface ConvertToWavRequestBody { audioData: string; // Base64 encoded audio data } @@ -45,179 +16,17 @@ interface ConvertToWavResponse { @Tags("Audio") @Security("api_key") export class AudioController extends Controller { + /** + * Dead endpoint. The route stays registered so existing callers keep getting + * the same response, but the implementation is gone: it shelled out to + * ffmpeg with input options built from request-derived values, which was an + * argument-injection sink. Do not reintroduce it -- if WAV conversion is + * needed again, build it on a library that does not take a command line. + */ @Post("/convert-to-wav") public async convertToWav( @Body() body: ConvertToWavRequestBody ): Promise { - const { audioData } = body; - - if (!audioData) { - return { data: null, error: "Missing audioData in request body" }; - } - - // Declare variable for cleanup outside try - let pathToClean: string | null = null; - - try { - const inputBuffer = Buffer.from(audioData, "base64"); - if (inputBuffer.length === 0) { - return { - data: null, - error: "Input audio data is empty after base64 decoding.", - }; - } - - // Declare and assign tempInputPath inside try block - const tempDir = os.tmpdir(); - const tempFilename = `helicone-audio-input-${randomUUID()}`; - const tempInputPath = path.join(tempDir, tempFilename); // Now const string - pathToClean = tempInputPath; // Assign for cleanup - await fs.writeFile(tempInputPath, inputBuffer); - - // Probe the file first --- - let inputMetadata: ffmpeg.FfprobeData | null = null; // Allow null - let assumedInput = false; // Flag if we assumed format - try { - inputMetadata = await ffprobePromise(tempInputPath); - } catch (probeError: any) { - console.warn("ffprobe failed:", probeError.message); - // Check if it's the specific "Invalid data" error - if ( - probeError.message && - (probeError.message.includes( - "Invalid data found when processing input" - ) || - probeError.message.includes("ffprobe exited with code 1")) - ) { - // Log message for new assumed format - console.warn( - "Assuming default input format (s16le, 24kHz, mono) due to ffprobe failure." - ); - assumedInput = true; // Set flag - // No inputMetadata, parameters will be set below - } else { - // Different ffprobe error, report it - return { - data: null, - error: `Failed to probe input audio format: ${probeError.message}`, - }; - } - } - - let audioStream: ffmpeg.FfprobeStream | undefined; - if (inputMetadata) { - audioStream = inputMetadata.streams.find( - (s) => s.codec_type === "audio" - ); - } - - // Use probed values OR fallback defaults if probe failed with invalid data - const detectedCodec = assumedInput - ? "pcm_s16le" - : audioStream?.codec_name; - const detectedRate = assumedInput ? 24000 : audioStream?.sample_rate; - const detectedChannels = assumedInput ? 1 : audioStream?.channels; - - // Check if we have enough info (especially if probing was expected but failed partially) - if (!assumedInput && !audioStream) { - return { - data: null, - error: "No audio stream found or probe failed unexpectedly.", - }; - } - - console.log( - `Using input parameters: Codec=${detectedCodec || "N/A"}, Rate=${ - detectedRate || "N/A" - }, Channels=${detectedChannels || "N/A"} ${ - assumedInput ? "(Assumed)" : "(Detected)" - }` - ); - - // --- Prepare ffmpeg command with detected or assumed parameters --- - const outputBufferPromise = new Promise((resolve, reject) => { - const chunks: Buffer[] = []; - const outputStream = new Writable({ - write(chunk, encoding, callback) { - chunks.push(chunk); - callback(); - }, - }); - - const command = ffmpeg().input(tempInputPath); // Start with input file - - // Apply detected format/options IF they seem valid - const inputFormat = detectedCodec - ? codecToInputFormat[detectedCodec] - : null; - if (inputFormat) { - command.inputFormat(inputFormat); - console.log(`Applying input format: -f ${inputFormat}`); - } else if (detectedCodec) { - // If codec detected but not in our map (e.g., 'mp3', 'aac'), - // ffmpeg *should* handle it without -f, so don't add format. - console.log( - `Codec ${detectedCodec} detected, relying on ffmpeg internal handling.` - ); - } else { - // No codec detected by ffprobe? Very unlikely, but log it. - console.warn("ffprobe did not detect a codec name."); - } - - const inputOpts: string[] = []; - if (detectedRate) { - inputOpts.push("-ar", detectedRate.toString()); - } - if (detectedChannels) { - inputOpts.push("-ac", detectedChannels.toString()); - } - if (inputOpts.length > 0) { - command.inputOptions(inputOpts); - console.log(`Applying input options: ${inputOpts.join(" ")}`); - } - - // Add output options (always applied) - command - .outputOptions([ - "-ar", - "44100", // Target sample rate - "-af", - "aresample=resampler=soxr", // High-quality resampler - ]) - .toFormat("wav") - .on("error", (err, stdout, stderr) => { - console.error("FFmpeg Error:", err); - console.error("FFmpeg stderr:", stderr); - reject(`FFmpeg conversion failed: ${err.message}`); - }) - .on("end", () => { - resolve(Buffer.concat(chunks)); - }) - .pipe(outputStream, { end: true }); - }); - - const outputBuffer = await outputBufferPromise; - const outputBase64 = outputBuffer.toString("base64"); - - return { data: outputBase64, error: null }; - } catch (error: any) { - console.error("Error converting audio to WAV:", error); - const errorMessage = - error instanceof Error ? error.message : String(error); - return { data: null, error: `Conversion failed: ${errorMessage}` }; - } finally { - // Cleanup using pathToClean - if (pathToClean) { - try { - await fs.unlink(pathToClean); - console.log(`Cleaned up temporary file: ${pathToClean}`); - } catch (cleanupError) { - console.error( - `Failed to clean up temporary file ${pathToClean}:`, - cleanupError - ); - } - } - } + return { data: null, error: "dead endpoint" }; } } diff --git a/valhalla/jawn/src/controllers/public/evaluatorController.ts b/valhalla/jawn/src/controllers/public/evaluatorController.ts index 8daef194c6..6625e139fb 100644 --- a/valhalla/jawn/src/controllers/public/evaluatorController.ts +++ b/valhalla/jawn/src/controllers/public/evaluatorController.ts @@ -54,12 +54,6 @@ export interface EvaluatorResult { last_mile_config: any; } -type EvaluatorExperiment = { - experiment_id: string; - experiment_created_at: string; - experiment_name: string; -}; - type CreateOnlineEvaluatorParams = { config: Record; }; @@ -177,22 +171,6 @@ export class EvaluatorController extends Controller { return result; } - @Get("{evaluatorId}/experiments") - public async getExperimentsForEvaluator( - @Request() request: JawnAuthenticatedRequest, - @Path() evaluatorId: string - ): Promise> { - const evaluatorManager = new EvaluatorManager(request.authParams); - const result = await evaluatorManager.getExperiments(evaluatorId); - - if (result.error || !result.data) { - this.setStatus(500); - } else { - this.setStatus(200); - } - return result; - } - @Get("{evaluatorId}/onlineEvaluators") public async getOnlineEvaluators( @Request() request: JawnAuthenticatedRequest, diff --git a/valhalla/jawn/src/controllers/public/experimentController.ts b/valhalla/jawn/src/controllers/public/experimentController.ts deleted file mode 100644 index 0a77580b4b..0000000000 --- a/valhalla/jawn/src/controllers/public/experimentController.ts +++ /dev/null @@ -1,776 +0,0 @@ -// src/users/usersController.ts -import { - Body, - Controller, - Delete, - Get, - Patch, - Path, - Post, - Request, - Route, - Security, - Tags, -} from "tsoa"; -import { FilterLeafSubset } from "@helicone-package/filters/filterDefs"; -import { Result, err, ok } from "../../packages/common/result"; -import { - Experiment, - ExperimentTable, - ExperimentTableSimplified, - IncludeExperimentKeys, - Score, -} from "../../lib/stores/experimentStore"; -import { DatasetManager } from "../../managers/dataset/DatasetManager"; -import { EvaluatorManager } from "../../managers/evaluator/EvaluatorManager"; -import { - type CreateExperimentTableParams, - ExperimentManager, -} from "../../managers/experiment/ExperimentManager"; -import { InputsManager } from "../../managers/inputs/InputsManager"; -import { type JawnAuthenticatedRequest } from "../../types/request"; -import { EvaluatorResult } from "./evaluatorController"; -import { dbExecute } from "../../lib/shared/db/dbExecute"; - -export type ExperimentFilterBranch = { - left: ExperimentFilterNode; - operator: "or" | "and"; - right: ExperimentFilterNode; -}; -type ExperimentFilterNode = - | FilterLeafSubset<"experiment"> - | ExperimentFilterBranch - | "all"; - -export interface NewExperimentParams { - datasetId: string; - promptVersion: string; - model: string; - providerKeyId: string; - meta?: any; -} - -export interface ExperimentRun {} - -@Route("v1/experiment") -@Tags("Experiment") -@Security("api_key") -export class ExperimentController extends Controller { - @Post("/new-empty") - public async createNewEmptyExperiment( - @Body() - requestBody: { - metadata: Record; - datasetId: string; - }, - @Request() request: JawnAuthenticatedRequest - ): Promise< - Result< - { - experimentId: string; - }, - string - > - > { - const result = await dbExecute<{ - id: string; - }>( - `INSERT INTO experiment_v2 - (dataset, organization, meta) - VALUES ($1, $2, $3) - RETURNING id`, - [ - requestBody.datasetId, - request.authParams.organizationId, - requestBody.metadata, - ] - ); - - if (result.error || !result.data || result.data.length === 0) { - this.setStatus(500); - console.error(result.error); - return err(result.error ?? "Failed to create experiment"); - } else { - const experimentId = result.data[0].id; - - await dbExecute( - `INSERT INTO experiment_table - (experiment_id, name, organization_id, metadata) - VALUES ($1, $2, $3, $4)`, - [ - experimentId, - "Experiment Table", - request.authParams.organizationId, - { datasetId: requestBody.datasetId }, - ] - ); - - this.setStatus(200); - return ok({ - experimentId: experimentId, - }); - } - } - - @Post("/table/new") - public async createNewExperimentTable( - @Body() - requestBody: CreateExperimentTableParams, - @Request() request: JawnAuthenticatedRequest - ): Promise< - Result< - { - tableId: string; - experimentId: string; - }, - string - > - > { - const experimentManager = new ExperimentManager(request.authParams); - const result = await experimentManager.createNewExperimentTable( - requestBody - ); - if (result.error || !result.data) { - this.setStatus(500); - console.error(result.error); - return err(result.error); - } - const inputManager = new InputsManager(request.authParams); - const inputRecordResult = await inputManager.createInputRecord( - requestBody.promptVersionId, - {} - ); - - if (inputRecordResult.error || !inputRecordResult.data) { - this.setStatus(500); - console.error(inputRecordResult.error); - return err(inputRecordResult.error ?? "Failed to create input record"); - } - - const datasetManager = new DatasetManager(request.authParams); - const datasetRowResult = await datasetManager.addDatasetRow( - (requestBody.experimentTableMetadata as any)?.datasetId, - inputRecordResult.data - ); - - if (datasetRowResult.error || !datasetRowResult.data) { - console.error(datasetRowResult.error); - this.setStatus(500); - } else { - this.setStatus(200); - } - const inputs = Object.fromEntries( - result.data.inputKeys.map((key) => [key, ""]) - ); - const experimentTableRowResult = - await experimentManager.createExperimentTableRow({ - experimentTableId: result.data.tableId, - metadata: { - datasetRowId: datasetRowResult.data, - inputId: inputRecordResult.data, - }, - inputs, - }); - - if (experimentTableRowResult.error || !experimentTableRowResult.data) { - this.setStatus(500); - console.error(experimentTableRowResult.error); - return err(experimentTableRowResult.error); - } - - const inputCellId = experimentTableRowResult.data.find( - (cell) => cell.cellType === "input" - )?.id; - - if (!inputCellId) { - this.setStatus(500); - return err("Failed to find input cell"); - } - - const inputCellResult = await experimentManager.updateExperimentCells({ - cells: [ - { - cellId: inputCellId, - status: "initialized", - value: "inputs", - metadata: { - inputs: result.data.inputKeys.map((key) => ({ - key, - value: "", - })), - }, - }, - ], - }); - - if (inputCellResult.error || !inputCellResult.data) { - this.setStatus(500); - console.error(inputCellResult.error); - return err(inputCellResult.error); - } - - this.setStatus(200); - return ok({ - tableId: result.data.tableId, - experimentId: result.data.experimentId, - }); - } - - @Post("/table/{experimentTableId}/query") - public async getExperimentTableById( - @Path() experimentTableId: string, - @Request() request: JawnAuthenticatedRequest - ): Promise> { - const experimentManager = new ExperimentManager(request.authParams); - return experimentManager.getExperimentTableById(experimentTableId); - } - @Post("/table/{experimentTableId}/metadata/query") - public async getExperimentTableMetadata( - @Path() experimentTableId: string, - @Request() request: JawnAuthenticatedRequest - ): Promise> { - const experimentManager = new ExperimentManager(request.authParams); - return experimentManager.getExperimentTableSimplifiedById( - experimentTableId - ); - } - @Post("/tables/query") - public async getExperimentTables( - @Request() request: JawnAuthenticatedRequest - ): Promise> { - const experimentManager = new ExperimentManager(request.authParams); - return experimentManager.getExperimentTables(); - } - - @Post("/table/{experimentTableId}/cell") - public async createExperimentCell( - @Path() experimentTableId: string, - @Body() - requestBody: { - columnId: string; - rowIndex: number; - value: string | null; - }, - @Request() request: JawnAuthenticatedRequest - ): Promise> { - const experimentManager = new ExperimentManager(request.authParams); - const experimentTable = - await experimentManager.getExperimentTableSimplifiedById( - experimentTableId - ); - if (experimentTable.error || !experimentTable.data) { - this.setStatus(500); - console.error(experimentTable.error); - return err(experimentTable.error); - } - const result = await experimentManager.createExperimentCells({ - cells: [requestBody], - }); - if (result.error) { - this.setStatus(500); - console.error(result.error); - return err(result.error); - } - this.setStatus(204); - return ok(null); - } - - @Patch("/table/{experimentTableId}/cell") - public async updateExperimentCell( - @Path() experimentTableId: string, - @Body() - requestBody: { - cellId: string; - status?: string; - value?: string; - metadata?: string; - updateInputs?: boolean; - }, - @Request() request: JawnAuthenticatedRequest - ): Promise> { - const experimentManager = new ExperimentManager(request.authParams); - const experimentTable = - await experimentManager.getExperimentTableSimplifiedById( - experimentTableId - ); - if (experimentTable.error || !experimentTable.data) { - this.setStatus(500); - console.error(experimentTable.error); - return err(experimentTable.error); - } - const result = await experimentManager.updateExperimentCells({ - cells: [ - { - cellId: requestBody.cellId, - status: requestBody.status ?? null, - value: requestBody.value ?? null, - metadata: requestBody.metadata - ? JSON.parse(requestBody.metadata) - : null, - }, - ], - }); - if (result.error || !result.data) { - this.setStatus(500); - console.error(result.error); - return err(result.error); - } - - if (requestBody.updateInputs) { - const inputManager = new InputsManager(request.authParams); - await Promise.all( - result.data.map((cell) => { - if (cell.metadata?.inputId && cell.metadata.inputs) { - // Transform the inputs array into a Record - const inputData = Object.fromEntries( - cell.metadata.inputs.map( - (input: { key: string; value: string }) => [ - input.key, - input.value ?? "", - ] - ) - ); - - return inputManager.updateInputRecord( - cell.metadata.inputId, - inputData - ); - } - }) - ); - } - - this.setStatus(204); - return ok(null); - } - - @Post("/table/{experimentTableId}/column") - public async createExperimentColumn( - @Path() experimentTableId: string, - @Body() - requestBody: { - columnName: string; - columnType: string; - hypothesisId?: string; - promptVersionId?: string; - inputKeys?: string[]; - }, - @Request() request: JawnAuthenticatedRequest - ): Promise> { - const experimentManager = new ExperimentManager(request.authParams); - const experimentTable = - await experimentManager.getExperimentTableSimplifiedById( - experimentTableId - ); - if (experimentTable.error || !experimentTable.data) { - this.setStatus(500); - console.error(experimentTable.error); - return err(experimentTable.error); - } - - const experimentTableColumns = - await experimentManager.getExperimentTableColumns(experimentTableId); - if (experimentTableColumns.error || !experimentTableColumns.data) { - this.setStatus(500); - console.error(experimentTableColumns.error); - return err(experimentTableColumns.error); - } - // const missingInputKeys = requestBody.inputKeys?.filter( - // (key) => !experimentTableColumns.data.map((col) => col.name).includes(key) - // ); - - // if (missingInputKeys && missingInputKeys.length > 0) { - // await Promise.all( - // missingInputKeys.map(async (key) => { - // return experimentManager.createExperimentColumn({ - // experimentTableId, - // columnName: key, - // columnType: "input", - // inputKeys: [key], - // }); - // }) - // ); - // } - - const result = await experimentManager.createExperimentColumn({ - experimentTableId, - columnName: requestBody.columnName, - columnType: requestBody.columnType, - hypothesisId: requestBody.hypothesisId, - promptVersionId: requestBody.promptVersionId, - }); - - if (result.error) { - this.setStatus(500); - console.error(result.error); - return err(result.error); - } - - this.setStatus(204); - return ok(null); - } - - @Post("/table/{experimentTableId}/row/new") - public async createExperimentTableRow( - @Path() experimentTableId: string, - @Body() - requestBody: { - promptVersionId: string; - sourceRequest?: string; - inputs?: Record; - }, - @Request() request: JawnAuthenticatedRequest - ): Promise> { - const experimentManager = new ExperimentManager(request.authParams); - const experimentTable = - await experimentManager.getExperimentTableSimplifiedById( - experimentTableId - ); - - if (experimentTable.error || !experimentTable.data) { - this.setStatus(500); - console.error(experimentTable.error); - return err(experimentTable.error); - } - - const inputManager = new InputsManager(request.authParams); - const inputRecordResult = await inputManager.createInputRecord( - requestBody.promptVersionId, - {}, - requestBody.sourceRequest - ); - if (inputRecordResult.error || !inputRecordResult.data) { - this.setStatus(500); - console.error(inputRecordResult.error); - return err(inputRecordResult.error); - } - - const datasetManager = new DatasetManager(request.authParams); - const datasetRowResult = await datasetManager.addDatasetRow( - (experimentTable.data?.metadata as any)?.datasetId, - inputRecordResult.data - ); - - if (datasetRowResult.error || !datasetRowResult.data) { - console.error(datasetRowResult.error); - this.setStatus(500); - } else { - this.setStatus(200); - } - const result = await experimentManager.createExperimentTableRow({ - experimentTableId, - metadata: { - datasetRowId: datasetRowResult.data, - inputId: inputRecordResult.data, - }, - inputs: requestBody.inputs, - }); - - if (!result.data || result.error) { - this.setStatus(500); - console.error(result.error); - return err(result.error); - } - - const inputCell = result.data.find((cell) => cell.cellType === "input"); - if (inputCell) { - await experimentManager.updateExperimentCells({ - cells: [ - { - cellId: inputCell.id, - value: "inputs", - status: "initialized", - metadata: { - inputs: Object.entries(requestBody.inputs ?? {}).map( - ([key, value]) => ({ - key, - value: "", - }) - ), - }, - }, - ], - }); - } - - return ok(null); - } - - @Delete("/table/{experimentTableId}/row/{rowIndex}") - public async deleteExperimentTableRow( - @Path() experimentTableId: string, - @Path() rowIndex: number, - @Request() request: JawnAuthenticatedRequest - ): Promise> { - const experimentManager = new ExperimentManager(request.authParams); - const experimentTable = - await experimentManager.getExperimentTableSimplifiedById( - experimentTableId - ); - if (experimentTable.error || !experimentTable.data) { - this.setStatus(500); - console.error(experimentTable.error); - return err(experimentTable.error); - } - const result = await experimentManager.deleteExperimentTableRow({ - experimentTableId, - rowIndex, - }); - return result; - } - - @Post("/table/{experimentTableId}/row/insert/batch") - public async createExperimentTableRowWithCellsBatch( - @Path() experimentTableId: string, - @Body() - requestBody: { - rows: { - inputRecordId: string; - inputs: Record; - datasetId: string; - cells: { - columnId: string; - value: string | null; - metadata?: any; - }[]; - sourceRequest?: string; - }[]; - }, - @Request() request: JawnAuthenticatedRequest - ): Promise> { - const experimentManager = new ExperimentManager(request.authParams); - const experimentTable = - await experimentManager.getExperimentTableSimplifiedById( - experimentTableId - ); - - if (experimentTable.error || !experimentTable.data) { - this.setStatus(500); - console.error(experimentTable.error); - return err(experimentTable.error); - } - - const datasetManager = new DatasetManager(request.authParams); - - // Process dataset rows in parallel - const datasetRowPromises = requestBody.rows.map((row) => - datasetManager.addDatasetRow(row.datasetId, row.inputRecordId) - ); - - const datasetRowResults = await Promise.all(datasetRowPromises); - - // Check for errors - for (let i = 0; i < datasetRowResults.length; i++) { - const result = datasetRowResults[i]; - if (result.error || !result.data) { - console.error(result.error); - this.setStatus(500); - return err(result.error); - } - } - - // Prepare the rows with metadata - const rowsWithMetadata = requestBody.rows.map((row, index) => ({ - metadata: { - datasetRowId: datasetRowResults[index].data, - inputId: row.inputRecordId, - cellType: "input", - }, - cells: row.cells, - sourceRequest: row.sourceRequest, - })); - - // Now call the bulk insertion function - const result = - await experimentManager.createExperimentTableRowWithCellsBatch({ - experimentTableId, - rows: rowsWithMetadata, - }); - - if (result.error || !result.data) { - this.setStatus(500); - console.error(result.error); - return err(result.error); - } - return ok(null); - } - - @Post("/update-meta") - public async updateExperimentMeta( - @Body() - requestBody: { - experimentId: string; - meta: Record; - }, - @Request() request: JawnAuthenticatedRequest - ) { - const result = await dbExecute( - `UPDATE experiment_v2 - SET meta = $1 - WHERE id = $2 AND organization = $3 - RETURNING id`, - [ - requestBody.meta, - requestBody.experimentId, - request.authParams.organizationId, - ] - ); - - if (result.error || !result.data || result.data.length === 0) { - this.setStatus(500); - console.error(result.error); - return err(result.error); - } else { - this.setStatus(200); - return result; - } - } - - @Post("/") - public async createNewExperimentOld( - @Body() - requestBody: NewExperimentParams, - @Request() request: JawnAuthenticatedRequest - ): Promise< - Result< - { - experimentId: string; - }, - string - > - > { - const experimentManager = new ExperimentManager(request.authParams); - - const result = await experimentManager.addNewExperiment(requestBody); - // const result = await promptManager.getPrompts(requestBody); - if (result.error || !result.data) { - this.setStatus(500); - console.error(result.error); - return err(result.error); - } else { - this.setStatus(200); // set return status 201 - return result; - } - } - - @Post("/hypothesis") - public async createNewExperimentHypothesis( - @Body() - requestBody: { - experimentId: string; - model: string; - promptVersion: string; - providerKeyId: string; - status: "PENDING" | "RUNNING" | "COMPLETED" | "FAILED"; - }, - @Request() request: JawnAuthenticatedRequest - ): Promise> { - const experimentManager = new ExperimentManager(request.authParams); - - const result = await experimentManager.createNewExperimentHypothesis( - requestBody - ); - - if (result.error) { - this.setStatus(500); - console.error(result.error); - return err(result.error); - } else { - this.setStatus(200); - return result; - } - } - - @Post("/hypothesis/{hypothesisId}/scores/query") - public async getExperimentHypothesisScores( - @Path() hypothesisId: string, - @Request() request: JawnAuthenticatedRequest - ): Promise< - Result<{ runsCount: number; scores: Record }, string> - > { - const experimentManager = new ExperimentManager(request.authParams); - const result = await experimentManager.getExperimentHypothesisScores({ - hypothesisId, - }); - return result; - } - - @Get("/{experimentId}/evaluators") - public async getExperimentEvaluators( - @Path() experimentId: string, - @Request() request: JawnAuthenticatedRequest - ): Promise> { - const evaluatorManager = new EvaluatorManager(request.authParams); - const result = await evaluatorManager.getEvaluatorsForExperiment( - experimentId - ); - return result; - } - - @Post("/{experimentId}/evaluators/run") - public async runExperimentEvaluatorsOld( - @Path() experimentId: string, - @Request() request: JawnAuthenticatedRequest - ): Promise> { - const evaluatorManager = new EvaluatorManager(request.authParams); - const result = await evaluatorManager.runExperimentEvaluators(experimentId); - return result; - } - - @Post("/{experimentId}/evaluators") - public async createExperimentEvaluatorOld( - @Path() experimentId: string, - @Body() - requestBody: { - evaluatorId: string; - }, - @Request() request: JawnAuthenticatedRequest - ): Promise> { - const evaluatorManager = new EvaluatorManager(request.authParams); - const result = await evaluatorManager.createExperimentEvaluator( - experimentId, - requestBody.evaluatorId - ); - return result; - } - - @Delete("/{experimentId}/evaluators/{evaluatorId}") - public async deleteExperimentEvaluatorOld( - @Path() experimentId: string, - @Path() evaluatorId: string, - @Request() request: JawnAuthenticatedRequest - ): Promise> { - const evaluatorManager = new EvaluatorManager(request.authParams); - const result = await evaluatorManager.deleteExperimentEvaluator( - experimentId, - evaluatorId - ); - return result; - } - - @Post("/query") - public async getExperimentsOld( - @Body() - requestBody: { - filter: ExperimentFilterNode; - include?: IncludeExperimentKeys; - }, - @Request() request: JawnAuthenticatedRequest - ): Promise> { - const experimentManager = new ExperimentManager(request.authParams); - - const result = await experimentManager.getExperiments( - requestBody.filter, - requestBody.include ?? {} - ); - // const result = await promptManager.getPrompts(requestBody); - if (result.error || !result.data) { - this.setStatus(500); - console.error(result.error); - return err("Not implemented"); - } else { - this.setStatus(200); // set return status 201 - return result; - } - } -} diff --git a/valhalla/jawn/src/controllers/public/experimentDatasetController.ts b/valhalla/jawn/src/controllers/public/experimentDatasetController.ts deleted file mode 100644 index 119a116a46..0000000000 --- a/valhalla/jawn/src/controllers/public/experimentDatasetController.ts +++ /dev/null @@ -1,226 +0,0 @@ -// src/users/usersController.ts -import { - Body, - Controller, - Path, - Post, - Request, - Route, - Security, - Tags, -} from "tsoa"; -import { Result, err, ok } from "../../packages/common/result"; -import { - FilterLeafSubset, - FilterNode, -} from "@helicone-package/filters/filterDefs"; -import { DatasetManager } from "../../managers/dataset/DatasetManager"; -import { type JawnAuthenticatedRequest } from "../../types/request"; -import { randomUUID } from "crypto"; -import { InputsManager } from "../../managers/inputs/InputsManager"; -import { ExperimentManager } from "../../managers/experiment/ExperimentManager"; - -export type DatasetFilterBranch = { - left: DatasetFilterNode; - operator: "or" | "and"; - right: DatasetFilterNode; -}; -type DatasetFilterNode = - | FilterLeafSubset<"request" | "prompts_versions"> - | DatasetFilterBranch - | "all"; - -export interface DatasetMetadata { - promptVersionId?: string; - inputRecordsIds?: string[]; -} - -export interface NewDatasetParams { - datasetName: string; - requestIds: string[]; - datasetType: "experiment" | "helicone"; - meta?: DatasetMetadata; -} - -export interface DatasetResult { - id: string; - name: string; - created_at: string; - meta?: DatasetMetadata; -} - -export interface RandomDatasetParams { - datasetName: string; - filter: DatasetFilterNode; - offset?: number; - limit?: number; -} - -@Route("v1/experiment/dataset") -@Tags("Dataset") -@Security("api_key") -export class ExperimentDatasetController extends Controller { - @Post("/") - public async addDataset( - @Body() - requestBody: NewDatasetParams, - @Request() request: JawnAuthenticatedRequest - ): Promise< - Result< - { - datasetId: string; - }, - string - > - > { - const datasetManager = new DatasetManager(request.authParams); - - const result = await datasetManager.addDataset(requestBody); - // const result = await promptManager.getPrompts(requestBody); - if (result.error || !result.data) { - this.setStatus(500); - return err("Not implemented"); - } else { - this.setStatus(200); // set return status 201 - return ok({ - datasetId: result.data, - }); - } - } - - @Post("/random") - public async addRandomDataset( - @Body() - requestBody: RandomDatasetParams, - @Request() request: JawnAuthenticatedRequest - ): Promise< - Result< - { - datasetId: string; - }, - string - > - > { - const datasetManager = new DatasetManager(request.authParams); - - const result = await datasetManager.addRandomDataset(requestBody); - // const result = await promptManager.getPrompts(requestBody); - if (result.error) { - this.setStatus(500); - console.error(result.error); - return err("Not implemented"); - } else { - this.setStatus(200); // set return status 201 - return ok(result.data!); - } - } - - @Post("/query") - public async getDatasets( - @Body() - requestBody: { - promptVersionId?: string; - }, - @Request() request: JawnAuthenticatedRequest - ): Promise> { - const datasetManager = new DatasetManager(request.authParams); - const result = await datasetManager.getDatasets( - requestBody.promptVersionId - ); - if (result.error || !result.data) { - this.setStatus(500); - } else { - this.setStatus(200); // set return status 201 - } - return result; - } - - @Post("{datasetId}/row/insert") - public async insertDatasetRow( - @Body() - requestBody: { - inputRecordId: string; - inputs: Record; - originalColumnId?: string; - }, - @Request() request: JawnAuthenticatedRequest, - @Path() datasetId: string - ): Promise> { - const datasetManager = new DatasetManager(request.authParams); - const datasetRowResult = await datasetManager.addDatasetRow( - datasetId, - requestBody.inputRecordId - ); - if (datasetRowResult.error || !datasetRowResult.data) { - console.error(datasetRowResult.error); - this.setStatus(500); - return datasetRowResult; - } - - this.setStatus(200); - return ok(requestBody.inputRecordId); - } - - @Post("{datasetId}/version/{promptVersionId}/row/new") - public async createDatasetRow( - @Body() - requestBody: { - inputs: Record; - sourceRequest?: string; - }, - @Request() request: JawnAuthenticatedRequest, - @Path() datasetId: string, - @Path() promptVersionId: string - ): Promise> { - const inputManager = new InputsManager(request.authParams); - - const inputRecordResult = await inputManager.createInputRecord( - promptVersionId, - requestBody.inputs, - requestBody.sourceRequest - ); - - if (inputRecordResult.error || !inputRecordResult.data) { - console.error(inputRecordResult.error); - this.setStatus(500); - return inputRecordResult; - } - - const datasetManager = new DatasetManager(request.authParams); - const datasetRowResult = await datasetManager.addDatasetRow( - datasetId, - inputRecordResult.data - ); - - if (datasetRowResult.error || !datasetRowResult.data) { - console.error(datasetRowResult.error); - this.setStatus(500); - } else { - this.setStatus(200); - } - - return inputRecordResult; - } - - @Post("/{datasetId}/inputs/query") - public async getDataset( - // @Body() requestBody: {}, - @Request() request: JawnAuthenticatedRequest, - @Path() datasetId: string - ) { - const inputManager = new InputsManager(request.authParams); - return inputManager.getInputsFromDataset(datasetId, 1_000); - } - - @Post("/{datasetId}/mutate") - public async mutateDataset( - @Body() - requestBody: { - addRequests: string[]; - removeRequests: string[]; - }, - @Request() request: JawnAuthenticatedRequest - ): Promise> { - return err("Not implemented"); - } -} diff --git a/valhalla/jawn/src/controllers/public/experimentV2Controller.ts b/valhalla/jawn/src/controllers/public/experimentV2Controller.ts deleted file mode 100644 index 8ec2544d1e..0000000000 --- a/valhalla/jawn/src/controllers/public/experimentV2Controller.ts +++ /dev/null @@ -1,606 +0,0 @@ -import { - Body, - Controller, - Delete, - Get, - Path, - Post, - Request, - Route, - Security, - Tags, -} from "tsoa"; -import { err, ok, Result } from "../../packages/common/result"; -import type { JawnAuthenticatedRequest } from "../../types/request"; -import { - ExperimentV2Manager, - ScoreV2, -} from "../../managers/experiment/ExperimentV2Manager"; -import { Json } from "../../lib/db/database.types"; -import { - PromptCreateSubversionParams, - PromptVersionResult, -} from "./promptController"; -import { EvaluatorManager } from "../../managers/evaluator/EvaluatorManager"; -import { EvaluatorResult } from "./evaluatorController"; -import { randomUUID } from "crypto"; -import { RequestManager } from "../../managers/request/RequestManager"; -import { PromptManager } from "../../managers/prompt/PromptManager"; -import { dbExecute } from "../../lib/shared/db/dbExecute"; - -export interface ExperimentV2 { - id: string; - name: string; - original_prompt_version: string; - copied_original_prompt_version: string | null; - input_keys: string[] | null; - created_at: string; -} - -export interface ExperimentV2Output { - id: string; - request_id: string; - is_original: boolean; - prompt_version_id: string; - created_at: string; - input_record_id: string; -} - -export interface ExperimentV2PromptVersion { - created_at: string | null; - experiment_id: string | null; - helicone_template: Json | null; - id: string; - major_version: number; - metadata: Json | null; - minor_version: number; - model: string | null; - organization: string; - prompt_v2: string; - soft_delete: boolean | null; -} - -export interface ExperimentV2Row { - id: string; - inputs: Record; - prompt_version: string; - requests: ExperimentV2Output[]; - auto_prompt_inputs: any[]; -} - -export interface ExtendedExperimentData extends ExperimentV2 { - rows: ExperimentV2Row[]; - // prompt_versions: ExperimentV2PromptVersion[]; -} - -export interface CreateNewPromptVersionForExperimentParams - extends PromptCreateSubversionParams { - parentPromptVersionId: string; -} - -@Route("v2/experiment") -@Tags("Experiment") -@Security("api_key") -export class ExperimentV2Controller extends Controller { - @Post("/create/empty") - public async createEmptyExperiment( - @Request() request: JawnAuthenticatedRequest - ): Promise< - Result< - { - experimentId: string; - }, - string - > - > { - const promptManager = new PromptManager(request.authParams); - const promptVersionResult = await promptManager.createPrompt({ - metadata: { - emptyPrompt: true, - }, - prompt: { - model: "gpt-4o", - messages: [ - { - role: "system", - content: "You are a helpful assistant.", - }, - ], - }, - userDefinedId: `empty-prompt-${randomUUID()}`, - }); - - if (promptVersionResult.error) { - return err(promptVersionResult.error); - } - - const experimentManager = new ExperimentV2Manager(request.authParams); - const experiment = await experimentManager.createNewExperiment( - `experiment-${randomUUID()}`, - promptVersionResult.data?.prompt_version_id! - ); - - if (experiment.error || !experiment.data) { - console.log(experiment, promptVersionResult.data!); - return err(experiment.error); - } - - return ok({ experimentId: experiment.data.experimentId }); - } - - @Post("/create/from-request/{requestId}") - public async createExperimentFromRequest( - @Path() requestId: string, - @Request() request: JawnAuthenticatedRequest - ): Promise< - Result< - { - experimentId: string; - }, - string - > - > { - const promptManager = new PromptManager(request.authParams); - const promptVersionResult = - await promptManager.getOrCreatePromptVersionFromRequest(requestId); - if (promptVersionResult.error) { - return err(promptVersionResult.error); - } - - const experimentManager = new ExperimentV2Manager(request.authParams); - const experiment = await experimentManager.createNewExperiment( - `experiment-from-request-${requestId}-${randomUUID()}`, - promptVersionResult.data! - ); - - if (experiment.error || !experiment.data) { - console.log(experiment, promptVersionResult.data!); - return err(experiment.error); - } - - // Try to find an existing input record - const inputRecordResult = await dbExecute<{ - id: string; - inputs: Record; - auto_prompt_inputs: any[]; - }>( - `SELECT id, inputs, auto_prompt_inputs - FROM prompt_input_record - WHERE source_request = $1`, - [requestId] - ); - - let inputRecordId: string; - let inputs: Record = {}; - let autoInputs: any[] = []; - - if ( - inputRecordResult.error || - !inputRecordResult.data || - inputRecordResult.data.length === 0 - ) { - // Create new input record if none exists - const newInputResult = await dbExecute<{ id: string }>( - `INSERT INTO prompt_input_record - (inputs, prompt_version, auto_prompt_inputs, source_request) - VALUES ($1, $2, $3, $4) - RETURNING id`, - [{}, promptVersionResult.data!, [], requestId] - ); - - if ( - newInputResult.error || - !newInputResult.data || - newInputResult.data.length === 0 - ) { - return err("Failed to create input record"); - } - - inputRecordId = newInputResult.data[0].id; - } else { - inputRecordId = inputRecordResult.data[0].id; - inputs = - (inputRecordResult.data[0].inputs as Record) || {}; - autoInputs = - (inputRecordResult.data[0].auto_prompt_inputs as any[]) || []; - } - - await experimentManager.createExperimentTableRowBatch( - experiment.data.experimentId, - [ - { - inputRecordId: inputRecordId, - inputs: inputs, - autoInputs: autoInputs, - }, - ] - ); - - return ok({ experimentId: experiment.data.experimentId }); - } - - @Post("/new") - public async createNewExperiment( - @Body() - requestBody: { - name: string; - originalPromptVersion: string; - }, - @Request() request: JawnAuthenticatedRequest - ): Promise> { - const experimentManager = new ExperimentV2Manager(request.authParams); - const result = await experimentManager.createNewExperiment( - requestBody.name, - requestBody.originalPromptVersion - ); - - if (result.error || !result.data) { - this.setStatus(500); - } else { - this.setStatus(200); - } - return result; - } - - @Get("/") - public async getExperiments( - @Request() request: JawnAuthenticatedRequest - ): Promise> { - const experimentManager = new ExperimentV2Manager(request.authParams); - const result = await experimentManager.getExperiments(); - - if (result.error || !result.data) { - this.setStatus(500); - } else { - this.setStatus(200); - } - return result; - } - - @Delete("/{experimentId}") - public async deleteExperiment( - @Path() experimentId: string, - @Request() request: JawnAuthenticatedRequest - ): Promise> { - const experimentManager = new ExperimentV2Manager(request.authParams); - const result = await experimentManager.deleteExperiment(experimentId); - - if (result.error) { - this.setStatus(500); - } else { - this.setStatus(200); - } - - return result; - } - - @Get("/{experimentId}") - public async getExperimentById( - @Path() experimentId: string, - @Request() request: JawnAuthenticatedRequest - ): Promise> { - const experimentManager = new ExperimentV2Manager(request.authParams); - const result = await experimentManager.getExperimentWithRowsById( - experimentId - ); - if (result.error || !result.data) { - this.setStatus(500); - } else { - this.setStatus(200); - } - return result; - } - - @Post("/{experimentId}/prompt-version") - public async createNewPromptVersionForExperiment( - @Path() experimentId: string, - @Body() requestBody: CreateNewPromptVersionForExperimentParams, - @Request() request: JawnAuthenticatedRequest - ): Promise> { - const experimentManager = new ExperimentV2Manager(request.authParams); - const result = await experimentManager.createNewPromptVersionForExperiment( - experimentId, - requestBody - ); - - if (result.error || !result.data) { - this.setStatus(500); - } else { - this.setStatus(200); - } - return result; - } - - @Delete("/{experimentId}/prompt-version/{promptVersionId}") - public async deletePromptVersion( - @Path() experimentId: string, - @Path() promptVersionId: string, - @Request() request: JawnAuthenticatedRequest - ): Promise> { - const experimentManager = new ExperimentV2Manager(request.authParams); - const result = await experimentManager.deletePromptVersion( - experimentId, - promptVersionId - ); - return result; - } - - @Get("/{experimentId}/prompt-versions") - public async getPromptVersionsForExperiment( - @Path() experimentId: string, - @Request() request: JawnAuthenticatedRequest - ): Promise> { - const experimentManager = new ExperimentV2Manager(request.authParams); - const result = await experimentManager.getPromptVersionsForExperiment( - experimentId - ); - - if (result.error || !result.data) { - this.setStatus(500); - } else { - this.setStatus(200); - } - return result; - } - - @Get("/{experimentId}/input-keys") - public async getInputKeysForExperiment( - @Path() experimentId: string, - @Request() request: JawnAuthenticatedRequest - ): Promise> { - const experimentManager = new ExperimentV2Manager(request.authParams); - const result = await experimentManager.getInputKeysForExperiment( - experimentId - ); - - if (result.error || !result.data) { - this.setStatus(500); - } else { - this.setStatus(200); - } - return result; - } - - @Post("/{experimentId}/add-manual-row") - public async addManualRowToExperiment( - @Path() experimentId: string, - @Body() requestBody: { inputs: Record }, - @Request() request: JawnAuthenticatedRequest - ): Promise> { - const experimentManager = new ExperimentV2Manager(request.authParams); - const result = await experimentManager.addManualRowToExperiment( - experimentId, - requestBody.inputs - ); - - if (result.error || !result.data) { - this.setStatus(500); - } else { - this.setStatus(200); - } - return result; - } - - @Post("/{experimentId}/add-manual-rows-batch") - public async addManualRowsToExperimentBatch( - @Path() experimentId: string, - @Body() requestBody: { inputs: Record[] }, - @Request() request: JawnAuthenticatedRequest - ): Promise> { - const experimentManager = new ExperimentV2Manager(request.authParams); - const result = await experimentManager.addManualRowsToExperimentBatch( - experimentId, - requestBody.inputs - ); - - if (result.error) { - this.setStatus(500); - } else { - this.setStatus(200); - } - return result; - } - - @Delete("/{experimentId}/rows") - public async deleteExperimentTableRows( - @Path() experimentId: string, - @Body() requestBody: { inputRecordIds: string[] }, - @Request() request: JawnAuthenticatedRequest - ): Promise> { - const experimentManager = new ExperimentV2Manager(request.authParams); - const result = await experimentManager.deleteExperimentTableRows( - experimentId, - requestBody.inputRecordIds - ); - - if (result.error) { - this.setStatus(500); - } else { - this.setStatus(200); - } - return result; - } - - @Post("/{experimentId}/row/insert/batch") - public async createExperimentTableRowBatch( - @Path() experimentId: string, - @Body() - requestBody: { - rows: { - inputRecordId: string; - inputs: Record; - autoInputs: any[]; - }[]; - }, - @Request() request: JawnAuthenticatedRequest - ): Promise> { - const experimentManager = new ExperimentV2Manager(request.authParams); - const result = await experimentManager.createExperimentTableRowBatch( - experimentId, - requestBody.rows - ); - - if (result.error || !result.data) { - this.setStatus(500); - } else { - this.setStatus(200); - } - return result; - } - - @Post("/{experimentId}/row/insert/dataset/{datasetId}") - public async createExperimentTableRowFromDataset( - @Path() experimentId: string, - @Path() datasetId: string, - @Request() request: JawnAuthenticatedRequest - ): Promise> { - const experimentManager = new ExperimentV2Manager(request.authParams); - const result = - await experimentManager.createExperimentTableRowBatchFromDataset( - experimentId, - datasetId - ); - if (result.error || !result.data) { - this.setStatus(500); - } else { - this.setStatus(200); - } - return result; - } - - @Post("/{experimentId}/row/update") - public async updateExperimentTableRow( - @Path() experimentId: string, - @Body() - requestBody: { - inputRecordId: string; - inputs: Record; - }, - @Request() request: JawnAuthenticatedRequest - ): Promise> { - const experimentManager = new ExperimentV2Manager(request.authParams); - const result = await experimentManager.updateExperimentTableRow( - experimentId, - requestBody.inputRecordId, - requestBody.inputs - ); - - if (result.error) { - this.setStatus(500); - } else { - this.setStatus(200); - } - return result; - } - - @Post("/{experimentId}/run-hypothesis") - public async runHypothesis( - @Path() experimentId: string, - @Body() requestBody: { promptVersionId: string; inputRecordId: string }, - @Request() request: JawnAuthenticatedRequest - ): Promise> { - const experimentManager = new ExperimentV2Manager(request.authParams); - const result = await experimentManager.runHypothesis( - experimentId, - requestBody.promptVersionId, - requestBody.inputRecordId - ); - - if (result.error || !result.data) { - this.setStatus(500); - } else { - this.setStatus(200); - } - return result; - } - - @Get("/{experimentId}/evaluators") - public async getExperimentEvaluators( - @Path() experimentId: string, - @Request() request: JawnAuthenticatedRequest - ): Promise> { - const evaluatorManager = new EvaluatorManager(request.authParams); - const result = await evaluatorManager.getEvaluatorsForExperiment( - experimentId - ); - return result; - } - - @Post("/{experimentId}/evaluators") - public async createExperimentEvaluator( - @Path() experimentId: string, - @Body() requestBody: { evaluatorId: string }, - @Request() request: JawnAuthenticatedRequest - ): Promise> { - const evaluatorManager = new EvaluatorManager(request.authParams); - const result = await evaluatorManager.createExperimentEvaluator( - experimentId, - requestBody.evaluatorId - ); - return result; - } - - @Delete("/{experimentId}/evaluators/{evaluatorId}") - public async deleteExperimentEvaluator( - @Path() experimentId: string, - @Path() evaluatorId: string, - @Request() request: JawnAuthenticatedRequest - ): Promise> { - const evaluatorManager = new EvaluatorManager(request.authParams); - const result = await evaluatorManager.deleteExperimentEvaluator( - experimentId, - evaluatorId - ); - return result; - } - - @Post("/{experimentId}/evaluators/run") - public async runExperimentEvaluators( - @Path() experimentId: string, - @Request() request: JawnAuthenticatedRequest - ): Promise> { - const evaluatorManager = new EvaluatorManager(request.authParams); - const result = await evaluatorManager.runExperimentEvaluators(experimentId); - return result; - } - - @Get("/{experimentId}/should-run-evaluators") - public async shouldRunEvaluators( - @Path() experimentId: string, - @Request() request: JawnAuthenticatedRequest - ): Promise> { - const evaluatorManager = new EvaluatorManager(request.authParams); - const result = await evaluatorManager.shouldRunEvaluators(experimentId); - return result; - } - - @Get("/{experimentId}/{promptVersionId}/scores") - public async getExperimentPromptVersionScores( - @Path() experimentId: string, - @Path() promptVersionId: string, - @Request() request: JawnAuthenticatedRequest - ): Promise, string>> { - const experimentManager = new ExperimentV2Manager(request.authParams); - const result = await experimentManager.getExperimentPromptVersionScores( - experimentId, - promptVersionId - ); - return result; - } - - @Get("/{experimentId}/{requestId}/{scoreKey}") - public async getExperimentScore( - @Path() experimentId: string, - @Path() requestId: string, - @Path() scoreKey: string, - @Request() request: JawnAuthenticatedRequest - ): Promise> { - const experimentManager = new ExperimentV2Manager(request.authParams); - const result = await experimentManager.getExperimentRequestScore( - experimentId, - requestId, - scoreKey - ); - return result; - } -} diff --git a/valhalla/jawn/src/controllers/public/heliconeDatasetController.ts b/valhalla/jawn/src/controllers/public/heliconeDatasetController.ts index 18fd9c13b4..e24f2cb8a5 100644 --- a/valhalla/jawn/src/controllers/public/heliconeDatasetController.ts +++ b/valhalla/jawn/src/controllers/public/heliconeDatasetController.ts @@ -11,10 +11,10 @@ import { } from "tsoa"; import { Result, err, ok } from "../../packages/common/result"; import { FilterLeafSubset } from "@helicone-package/filters/filterDefs"; -import { DatasetManager } from "../../managers/dataset/DatasetManager"; import { type JawnAuthenticatedRequest } from "../../types/request"; import { HeliconeDataset, + HeliconeDatasetManager, HeliconeDatasetRow, type MutateParams, } from "../../managers/dataset/HeliconeDatasetManager"; @@ -65,9 +65,9 @@ export class HeliconeDatasetController extends Controller { string > > { - const datasetManager = new DatasetManager(request.authParams); + const datasetManager = new HeliconeDatasetManager(request.authParams); - const result = await datasetManager.helicone.createDatasetWithRequests({ + const result = await datasetManager.createDatasetWithRequests({ name: requestBody.datasetName, requestIds: requestBody.requestIds, meta: requestBody.meta, @@ -92,8 +92,8 @@ export class HeliconeDatasetController extends Controller { requestBody: MutateParams, @Request() request: JawnAuthenticatedRequest ): Promise> { - const datasetManager = new DatasetManager(request.authParams); - const result = await datasetManager.helicone.mutate(datasetId, requestBody); + const datasetManager = new HeliconeDatasetManager(request.authParams); + const result = await datasetManager.mutate(datasetId, requestBody); if (result.error) { this.setStatus(500); return err(result.error); @@ -114,8 +114,8 @@ export class HeliconeDatasetController extends Controller { }, @Request() request: JawnAuthenticatedRequest ): Promise> { - const datasetManager = new DatasetManager(request.authParams); - const result = await datasetManager.helicone.query(datasetId, requestBody); + const datasetManager = new HeliconeDatasetManager(request.authParams); + const result = await datasetManager.query(datasetId, requestBody); if (result.error) { this.setStatus(500); return err(result.error); @@ -131,8 +131,8 @@ export class HeliconeDatasetController extends Controller { datasetId: string, @Request() request: JawnAuthenticatedRequest ): Promise> { - const datasetManager = new DatasetManager(request.authParams); - const result = await datasetManager.helicone.count(datasetId); + const datasetManager = new HeliconeDatasetManager(request.authParams); + const result = await datasetManager.count(datasetId); if (result.error) { this.setStatus(500); return err(result.error); @@ -150,9 +150,9 @@ export class HeliconeDatasetController extends Controller { }, @Request() request: JawnAuthenticatedRequest ): Promise> { - const datasetManager = new DatasetManager(request.authParams); + const datasetManager = new HeliconeDatasetManager(request.authParams); - const result = await datasetManager.helicone.getDatasets(requestBody); + const result = await datasetManager.getDatasets(requestBody); if (result.error || !result.data) { this.setStatus(500); return err(result.error); @@ -171,8 +171,8 @@ export class HeliconeDatasetController extends Controller { @Body() requestBody: { requestBody: Json; responseBody: Json }, @Request() request: JawnAuthenticatedRequest ) { - const datasetManager = new DatasetManager(request.authParams); - const result = await datasetManager.helicone.updateDatasetRequest( + const datasetManager = new HeliconeDatasetManager(request.authParams); + const result = await datasetManager.updateDatasetRequest( datasetId, requestId, requestBody @@ -191,8 +191,8 @@ export class HeliconeDatasetController extends Controller { datasetId: string, @Request() request: JawnAuthenticatedRequest ): Promise> { - const datasetManager = new DatasetManager(request.authParams); - const result = await datasetManager.helicone.deleteDataset(datasetId); + const datasetManager = new HeliconeDatasetManager(request.authParams); + const result = await datasetManager.deleteDataset(datasetId); if (result.error) { this.setStatus(500); return err(result.error); diff --git a/valhalla/jawn/src/controllers/public/promptController.ts b/valhalla/jawn/src/controllers/public/promptController.ts index 6fd16182e5..5666072ca1 100644 --- a/valhalla/jawn/src/controllers/public/promptController.ts +++ b/valhalla/jawn/src/controllers/public/promptController.ts @@ -417,43 +417,6 @@ export class PromptController extends Controller { return result; } - @Get("{promptId}/experiments") - public async getPromptExperiments( - @Request() request: JawnAuthenticatedRequest, - @Path() promptId: string - ) { - const result = await dbExecute<{ - id: string; - created_at: string; - num_hypotheses: number; - dataset: string; - meta: Record; - }>( - ` - SELECT - experiment_v2.id, - created_at, - ( - SELECT count(*) from experiment_v2_hypothesis - WHERE experiment_v2_hypothesis.experiment_v2 = experiment_v2.id - ) as num_hypotheses, - dataset, - meta - FROM experiment_v2 - WHERE experiment_v2.meta->>'prompt_id' = $1 - AND experiment_v2.organization = $2 - `, - [promptId, request.authParams.organizationId] - ); - if (result.error || !result.data) { - console.error(result.error); - this.setStatus(500); - } else { - this.setStatus(200); // set return status 201 - } - return result; - } - @Post("{promptId}/versions/query") public async getPromptVersions( @Body() diff --git a/valhalla/jawn/src/controllers/public/proxyController.ts b/valhalla/jawn/src/controllers/public/proxyController.ts deleted file mode 100644 index 6559f28cd2..0000000000 --- a/valhalla/jawn/src/controllers/public/proxyController.ts +++ /dev/null @@ -1,138 +0,0 @@ -import express, { - Request as ExpressRequest, - Response as ExpressResponse, - RequestHandler, -} from "express"; -import fetch, { Response } from "node-fetch"; -import { Readable as NodeReadableStream } from "stream"; -import { proxyForwarder } from "../../lib/proxy/ProxyForwarder"; -import { webSocketProxyForwarder } from "../../lib/proxy/WebSocketProxyForwarder"; -import { RequestWrapper } from "../../lib/requestWrapper/requestWrapper"; -import { Provider } from "@helicone-package/llm-mapper/types"; - -export const proxyRouter = express.Router(); -proxyRouter.use(express.json()); - -export interface ProxyRequestBody { - url: string; - method: string; - headers: Record; - body: string; -} - -/* -------------------------------------------------------------------------- */ -/* /:provider/* */ -/* -------------------------------------------------------------------------- */ -proxyRouter.post("/v1/gateway/:provider/{*path}", (async ( - req: ExpressRequest, - res: ExpressResponse -) => { - const { provider } = req.params; - - const { data: requestWrapper, error: requestWrapperErr } = - await RequestWrapper.create(req); - if (requestWrapperErr || !requestWrapper) { - return res.status(500).json({ message: "Error creating request wrapper" }); - } - - const routerFunction = ROUTER_MAP[provider.toUpperCase()]; - - if (routerFunction) { - const response: Response = await routerFunction( - { data: requestWrapper, error: requestWrapperErr }.data - ); - - res.status(response.status); - - response.headers.forEach((value, key) => { - res.setHeader(key, value); - }); - - // TODO we need to pipe the response body to res. but the response body is a ReadableStream or a Buffer or a string - const responseBody = response.body; - - if (responseBody instanceof NodeReadableStream) { - // Pipe ReadableStream to the response - responseBody.pipe(res); - } else if (Buffer.isBuffer(responseBody)) { - // Write Buffer to the response - res.end(responseBody); - } else if (typeof responseBody === "string") { - // Write string to the response - res.end(responseBody); - } else { - try { - const text = await response.text(); - if (text) { - res.end(text); - } else { - res.status(500).json({ message: "Unsupported response body type" }); - } - } catch (e) { - res.status(500).json({ message: "Unsupported response body type" }); - } - } - } else { - res.status(400).json({ message: "Invalid provider" }); - } -}) as RequestHandler); - -/* -------------------------------------------------------------------------- */ -/* /* (Error) */ -/* -------------------------------------------------------------------------- */ -proxyRouter.post( - "/v1/gateway/{*path}", - async (req: ExpressRequest, res: ExpressResponse) => { - throw new Error("Not implemented"); - // const { data: requestWrapper, error: requestWrapperErr } = - // await RequestWrapper.create(req); - // if (requestWrapperErr || !requestWrapper) { - // return res.status(500).json({ message: "Error creating request wrapper" }); - // } - - // const routerFunction = ROUTER_MAP["GATEWAY"]; - - // if (routerFunction) { - // routerFunction( - // { data: requestWrapper, error: requestWrapperErr }.data, - // res - // ); - // } else { - // res.status(400).json({ message: "Invalid provider" }); - // } - } -); - -/* -------------------------------------------------------------------------- */ -/* HELPERS */ -/* -------------------------------------------------------------------------- */ -const handleAnthropicProxy = async (requestWrapper: RequestWrapper) => { - return await proxyForwarder(requestWrapper, "ANTHROPIC"); -}; - -const handleOpenAIProxy = async (requestWrapper: RequestWrapper) => { - if (requestWrapper.url.pathname.includes("audio")) { - const new_url = new URL( - `https://api.openai.com${requestWrapper.url.pathname}` - ); - return await fetch(new_url.href, { - method: requestWrapper.getMethod(), - headers: requestWrapper.getHeaders(), - body: requestWrapper.getBody(), - }); - } - - return await proxyForwarder(requestWrapper, "OPENAI"); -}; - -const handleGatewayAPIRouter = async (requestWrapper: RequestWrapper) => { - return new Response("Not implemented", { status: 501 }); -}; - -const ROUTER_MAP: { - [key: string]: (requestWrapper: RequestWrapper) => Promise; -} = { - OAI: handleOpenAIProxy, - GATEWAY: handleGatewayAPIRouter, - ANTHROPIC: handleAnthropicProxy, -}; diff --git a/valhalla/jawn/src/controllers/public/stripeController.ts b/valhalla/jawn/src/controllers/public/stripeController.ts index 10d5ab4d2a..d0dbd05f3c 100644 --- a/valhalla/jawn/src/controllers/public/stripeController.ts +++ b/valhalla/jawn/src/controllers/public/stripeController.ts @@ -19,21 +19,6 @@ import Stripe from "stripe"; import { hasPtbAccess } from "../../lib/billing/ptbAccess"; import { PTB_DISABLED_MESSAGE } from "../../../../../packages/common/billing/ptbAccess"; -export interface UpgradeToProRequest { - addons?: { - alerts?: boolean; - prompts?: boolean; - experiments?: boolean; - evals?: boolean; - }; - seats?: number; - ui_mode?: "embedded" | "hosted"; -} - -export interface UpgradeToTeamBundleRequest { - ui_mode?: "embedded" | "hosted"; -} - export interface CreateCloudGatewayCheckoutSessionRequest { amount: number; returnUrl?: string; @@ -141,47 +126,6 @@ export interface LLMUsage { @Tags("Stripe") @Security("api_key") export class StripeController extends Controller { - @Get("/subscription/cost-for-prompts") - public async getCostForPrompts(@Request() request: JawnAuthenticatedRequest) { - const stripeManager = new StripeManager(request.authParams); - const result = await stripeManager.getCostForPrompts(); - - if (result.error) { - this.setStatus(400); - throw new Error(result.error); - } - - return result.data; - } - - @Get("/subscription/cost-for-evals") - public async getCostForEvals(@Request() request: JawnAuthenticatedRequest) { - const stripeManager = new StripeManager(request.authParams); - const result = await stripeManager.getCostForEvals(); - - if (result.error) { - this.setStatus(400); - throw new Error(result.error); - } - - return result.data; - } - - @Get("/subscription/cost-for-experiments") - public async getCostForExperiments( - @Request() request: JawnAuthenticatedRequest - ) { - const stripeManager = new StripeManager(request.authParams); - const result = await stripeManager.getCostForExperiments(); - - if (result.error) { - this.setStatus(400); - throw new Error(result.error); - } - - return result.data; - } - @Get("/subscription/free/usage") public async getFreeUsage(@Request() request: JawnAuthenticatedRequest) { const stripeManager = new StripeManager(request.authParams); @@ -198,13 +142,13 @@ export class StripeController extends Controller { @Post("/cloud/checkout-session") public async createCloudGatewayCheckoutSession( @Request() request: JawnAuthenticatedRequest, - @Body() body: CreateCloudGatewayCheckoutSessionRequest + @Body() body: CreateCloudGatewayCheckoutSessionRequest, ): Promise<{ checkoutUrl: string }> { const accessResult = await hasPtbAccess(request.authParams.organizationId); if (accessResult.error) { console.error( "Error checking pass-through billing access", - accessResult.error + accessResult.error, ); this.setStatus(503); throw new Error("Unable to verify pass-through billing access"); @@ -226,19 +170,26 @@ export class StripeController extends Controller { // Validate returnUrl to prevent open redirect attacks if (body.returnUrl) { - if (!body.returnUrl.startsWith('/')) { + if (!body.returnUrl.startsWith("/")) { this.setStatus(400); throw new Error("returnUrl must be a relative path starting with /"); } - if (body.returnUrl.includes('..')) { + if (body.returnUrl.includes("..")) { this.setStatus(400); throw new Error("returnUrl contains invalid characters"); } // Whitelist allowed paths - const allowedPaths = ['/quickstart', '/credits', '/dashboard', '/settings']; - if (!allowedPaths.some(path => body.returnUrl?.startsWith(path))) { + const allowedPaths = [ + "/quickstart", + "/credits", + "/dashboard", + "/settings", + ]; + if (!allowedPaths.some((path) => body.returnUrl?.startsWith(path))) { this.setStatus(400); - throw new Error("returnUrl must start with one of: " + allowedPaths.join(', ')); + throw new Error( + "returnUrl must start with one of: " + allowedPaths.join(", "), + ); } } @@ -249,7 +200,10 @@ export class StripeController extends Controller { ); if (isError(result)) { - console.error("Error creating checkout session", JSON.stringify(result.error)); + console.error( + "Error creating checkout session", + JSON.stringify(result.error), + ); this.setStatus(400); throw new Error(result.error); } @@ -257,96 +211,13 @@ export class StripeController extends Controller { return { checkoutUrl: result.data }; } - - @Post("/subscription/new-customer/upgrade-to-pro") - public async upgradeToPro( - @Request() request: JawnAuthenticatedRequest, - @Body() body: UpgradeToProRequest - ) { - const stripeManager = new StripeManager(request.authParams); - - const clientOrigin = request.headers.origin; - const result = await stripeManager.upgradeToProLink( - `${clientOrigin}`, - body - ); - - if (result.error) { - this.setStatus(400); - throw new Error(result.error); - } - - return result.data; - } - - @Post("/subscription/existing-customer/upgrade-to-pro") - public async upgradeExistingCustomer( - @Request() request: JawnAuthenticatedRequest, - @Body() body: UpgradeToProRequest - ) { - const stripeManager = new StripeManager(request.authParams); - - const result = await stripeManager.upgradeToProExistingCustomer( - request.headers.origin ?? "", - body - ); - - if (result.error) { - this.setStatus(400); - throw new Error(result.error); - } - - return result.data; - } - - @Post("/subscription/new-customer/upgrade-to-team-bundle") - public async upgradeToTeamBundle( - @Request() request: JawnAuthenticatedRequest, - @Body() body?: UpgradeToTeamBundleRequest - ) { - const stripeManager = new StripeManager(request.authParams); - const clientOrigin = request.headers.origin; - - const result = await stripeManager.upgradeToTeamBundleLink( - `${clientOrigin}`, - body ?? {} - ); - - if (result.error) { - this.setStatus(400); - throw new Error(result.error); - } - - return result.data; - } - - @Post("/subscription/existing-customer/upgrade-to-team-bundle") - public async upgradeExistingCustomerToTeamBundle( - @Request() request: JawnAuthenticatedRequest, - @Body() body?: UpgradeToTeamBundleRequest - ) { - const stripeManager = new StripeManager(request.authParams); - - const result = await stripeManager.upgradeToTeamBundleExistingCustomer( - request.headers.origin ?? "", - body ?? {} - ); - - if (result.error) { - this.setStatus(400); - throw new Error(result.error); - } - - return result.data; - } - @Post("/subscription/manage-subscription") public async manageSubscription( - @Request() request: JawnAuthenticatedRequest + @Request() request: JawnAuthenticatedRequest, ) { const stripeManager = new StripeManager(request.authParams); const result = await stripeManager.manageSubscriptionPaymentLink( - request.headers.origin ?? "" + request.headers.origin ?? "", ); if (result.error) { @@ -359,44 +230,10 @@ export class StripeController extends Controller { @Post("/subscription/undo-cancel-subscription") public async undoCancelSubscription( - @Request() request: JawnAuthenticatedRequest - ) { - const stripeManager = new StripeManager(request.authParams); - const result = await stripeManager.undoCancelSubscription(); - - if (result.error) { - this.setStatus(400); - throw new Error(result.error); - } - - return result.data; - } - - @Post("/subscription/add-ons/{productType}") - public async addOns( - @Request() request: JawnAuthenticatedRequest, - @Path() productType: "alerts" | "prompts" | "experiments" | "evals" - ) { - const stripeManager = new StripeManager(request.authParams); - const result = await stripeManager.addProductToSubscription(productType); - - if (result.error) { - this.setStatus(400); - throw new Error(result.error); - } - - return result.data; - } - - @Delete("/subscription/add-ons/{productType}") - public async deleteAddOns( @Request() request: JawnAuthenticatedRequest, - @Path() productType: "alerts" | "prompts" | "experiments" | "evals" ) { const stripeManager = new StripeManager(request.authParams); - const result = await stripeManager.deleteProductFromSubscription( - productType - ); + const result = await stripeManager.undoCancelSubscription(); if (result.error) { this.setStatus(400); @@ -408,7 +245,7 @@ export class StripeController extends Controller { @Get("/subscription/preview-invoice") public async previewInvoice( - @Request() request: JawnAuthenticatedRequest + @Request() request: JawnAuthenticatedRequest, ): Promise<{ currency: string | null; next_payment_attempt: number | null; @@ -455,7 +292,7 @@ export class StripeController extends Controller { @Post("/subscription/cancel-subscription") public async cancelSubscription( - @Request() request: JawnAuthenticatedRequest + @Request() request: JawnAuthenticatedRequest, ) { const stripeManager = new StripeManager(request.authParams); const result = await stripeManager.downgradeToFree(); @@ -468,31 +305,23 @@ export class StripeController extends Controller { return result.data; } - @Post("/subscription/migrate-to-pro") - public async migrateToPro(@Request() request: JawnAuthenticatedRequest) { - const stripeManager = new StripeManager(request.authParams); - const result = await stripeManager.migrateToPro(); - - if (isError(result) || !result.data) { - console.error("Error migrating to pro", JSON.stringify(result.error || "No data returned")); - this.setStatus(400); - throw new Error(result.error || "Failed to migrate to pro"); - } - - return result.data; - } - @Get("/payment-intents/search") public async searchPaymentIntents( @Request() request: JawnAuthenticatedRequest, @Query() search_kind: string, @Query() limit?: number, - @Query() page?: string + @Query() page?: string, ): Promise { // Check if search_kind is valid - if (!Object.values(PaymentIntentSearchKind).includes(search_kind as PaymentIntentSearchKind)) { + if ( + !Object.values(PaymentIntentSearchKind).includes( + search_kind as PaymentIntentSearchKind, + ) + ) { this.setStatus(400); - throw new Error(`Invalid search_kind: ${search_kind}. Supported types: ${Object.values(PaymentIntentSearchKind).join(", ")}`); + throw new Error( + `Invalid search_kind: ${search_kind}. Supported types: ${Object.values(PaymentIntentSearchKind).join(", ")}`, + ); } const searchKind = search_kind as PaymentIntentSearchKind; @@ -500,7 +329,7 @@ export class StripeController extends Controller { const result = await stripeManager.searchPaymentIntents( searchKind, limit ?? 10, - page + page, ); if (isError(result)) { @@ -513,7 +342,7 @@ export class StripeController extends Controller { @Get("/subscription") public async getSubscription( - @Request() request: JawnAuthenticatedRequest + @Request() request: JawnAuthenticatedRequest, ): Promise<{ status: string; cancel_at_period_end: boolean; @@ -561,7 +390,7 @@ export class StripeController extends Controller { @Get("/auto-topoff/settings") public async getAutoTopoffSettings( - @Request() request: JawnAuthenticatedRequest + @Request() request: JawnAuthenticatedRequest, ): Promise { const stripeManager = new StripeManager(request.authParams); const result = await stripeManager.getAutoTopoffSettings(); @@ -577,7 +406,7 @@ export class StripeController extends Controller { @Post("/auto-topoff/settings") public async updateAutoTopoffSettings( @Request() request: JawnAuthenticatedRequest, - @Body() body: UpdateAutoTopoffSettingsRequest + @Body() body: UpdateAutoTopoffSettingsRequest, ): Promise { // Validation if (body.thresholdCents < 0) { @@ -615,7 +444,7 @@ export class StripeController extends Controller { @Delete("/auto-topoff/settings") public async disableAutoTopoff( - @Request() request: JawnAuthenticatedRequest + @Request() request: JawnAuthenticatedRequest, ): Promise<{ success: boolean }> { const stripeManager = new StripeManager(request.authParams); const result = await stripeManager.disableAutoTopoff(); @@ -630,7 +459,7 @@ export class StripeController extends Controller { @Get("/payment-methods") public async getPaymentMethods( - @Request() request: JawnAuthenticatedRequest + @Request() request: JawnAuthenticatedRequest, ): Promise { const stripeManager = new StripeManager(request.authParams); const result = await stripeManager.getPaymentMethods(); @@ -651,7 +480,7 @@ export class StripeController extends Controller { @Post("/payment-methods/setup-session") public async createSetupSession( @Request() request: JawnAuthenticatedRequest, - @Body() body: CreateSetupSessionRequest + @Body() body: CreateSetupSessionRequest, ): Promise<{ setupUrl: string }> { // Validate returnUrl to prevent open redirect attacks if (body.returnUrl) { @@ -668,7 +497,7 @@ export class StripeController extends Controller { if (!allowedPaths.some((path) => body.returnUrl?.startsWith(path))) { this.setStatus(400); throw new Error( - "returnUrl must start with one of: " + allowedPaths.join(", ") + "returnUrl must start with one of: " + allowedPaths.join(", "), ); } } @@ -676,7 +505,7 @@ export class StripeController extends Controller { const stripeManager = new StripeManager(request.authParams); const result = await stripeManager.createSetupSession( request.headers.origin ?? "", - body.returnUrl + body.returnUrl, ); if (result.error) { @@ -695,7 +524,7 @@ export class StripeController extends Controller { @Delete("/payment-methods/{paymentMethodId}") public async removePaymentMethod( @Request() request: JawnAuthenticatedRequest, - @Path() paymentMethodId: string + @Path() paymentMethodId: string, ): Promise<{ success: boolean }> { const stripeManager = new StripeManager(request.authParams); const result = await stripeManager.removePaymentMethod(paymentMethodId); @@ -710,7 +539,7 @@ export class StripeController extends Controller { @Get("/subscription/usage-stats") public async getUsageStats( - @Request() request: JawnAuthenticatedRequest + @Request() request: JawnAuthenticatedRequest, ): Promise { const stripeManager = new StripeManager(request.authParams); const result = await stripeManager.getUsageStats(); diff --git a/valhalla/jawn/src/controllers/public/vaultController.ts b/valhalla/jawn/src/controllers/public/vaultController.ts index beba33d533..8fd772e1fd 100644 --- a/valhalla/jawn/src/controllers/public/vaultController.ts +++ b/valhalla/jawn/src/controllers/public/vaultController.ts @@ -97,8 +97,10 @@ export class VaultController extends Controller { providerKeyId ); if (result.error || !result.data) { - this.setStatus(500); - return { data: null, error: result.error || "Failed to retrieve key" }; + // Return a generic 404 for both "does not exist" and "belongs to another + // organization" so this endpoint cannot be used as an existence oracle. + this.setStatus(404); + return { data: null, error: "Provider key not found" }; } this.setStatus(200); diff --git a/valhalla/jawn/src/index.ts b/valhalla/jawn/src/index.ts index cdd2910780..d3f82e814e 100644 --- a/valhalla/jawn/src/index.ts +++ b/valhalla/jawn/src/index.ts @@ -8,17 +8,14 @@ import bodyParser from "body-parser"; import express, { Request as ExpressRequest, NextFunction } from "express"; import swaggerUi from "swagger-ui-express"; import cors from "cors"; -import { proxyRouter } from "./controllers/public/proxyController"; import { ENVIRONMENT } from "./lib/clients/constant"; import { DLQ_WORKER_COUNT, NORMAL_WORKER_COUNT, SCORES_WORKER_COUNT, } from "./lib/clients/kafkaConsumers/constant"; -import { webSocketProxyForwarder } from "./lib/proxy/WebSocketProxyForwarder"; import { RequestWrapper } from "./lib/requestWrapper/requestWrapper"; import { DelayedOperationService } from "./lib/shared/delayedOperationService"; -import { runLoopsOnce, runMainLoops } from "./mainLoops"; import { authFromRequest, authMiddleware } from "./middleware/auth"; import { IS_RATE_LIMIT_ENABLED, limiter } from "./middleware/ratelimitter"; import { unauthorizedCacheMiddleware } from "./middleware/unauthorizedCache"; @@ -35,9 +32,6 @@ import { startDBListener } from "./controlPlane/dbListener"; import { ValidateError } from "tsoa"; import { SecretManager } from "@helicone-package/secrets/SecretManager"; -if (ENVIRONMENT === "production" || process.env.ENABLE_CRON_JOB === "true") { - runMainLoops(); -} const getAppUrlRegex = () => { const appUrl = process.env.APP_URL || @@ -153,25 +147,11 @@ app.get("/healthcheck", (req, res) => { }); }); -if (ENVIRONMENT !== "production") { - app.get("/run-loops/:index", async (req, res) => { - const index = parseInt(req.params.index); - await runLoopsOnce(index); - res.json({ - status: "done", - }); - }); -} - initSentry(app); initLogs(app); const v1APIRouter = express.Router(); const unAuthenticatedRouter = express.Router(); -const v1ProxyRouter = express.Router(); - -v1ProxyRouter.use(proxyRouter); -app.use(v1ProxyRouter); unAuthenticatedRouter.use( "/docs", @@ -283,9 +263,7 @@ server.on("upgrade", async (req, socket, head) => { if (requestWrapperErr || !requestWrapper) { throw new Error("Error creating request wrapper"); } - if (req.url?.startsWith("/v1/gateway/oai/realtime")) { - webSocketProxyForwarder(requestWrapper, socket, head); - } else if (req.url?.startsWith("/ws/v1/router/control-plane")) { + if (req.url?.startsWith("/ws/v1/router/control-plane")) { return webSocketControlPlaneServer(requestWrapper, socket, head); } else { socket.destroy(); diff --git a/valhalla/jawn/src/lib/experiment/hypothesisRunner.ts b/valhalla/jawn/src/lib/experiment/hypothesisRunner.ts deleted file mode 100644 index a5f2b304ca..0000000000 --- a/valhalla/jawn/src/lib/experiment/hypothesisRunner.ts +++ /dev/null @@ -1,154 +0,0 @@ -import { dbExecute } from "../shared/db/dbExecute"; -import { Result, err, ok } from "../../packages/common/result"; -import { HeliconeManualLogger } from "@helicone/helpers"; -import { GET_KEY } from "../clients/constant"; - -interface RunnerProps { - url: URL; - headers: { [key: string]: string }; - body: any; - requestId: string; - experimentId: string; - promptVersionId: string; - inputRecordId: string; - isOriginalRequest?: boolean; -} - -interface DatabaseOperation { - execute: () => Promise>; - errorMessage: string; -} - -async function runWithRetry( - props: RunnerProps, - dbOp: DatabaseOperation -): Promise> { - const { - url, - headers, - body, - requestId, - experimentId, - inputRecordId, - promptVersionId, - isOriginalRequest, - } = props; - // Validate URL to prevent SSRF - if (!["https:", "http:"].includes(url.protocol)) { - return err(`Invalid URL protocol: ${url.protocol}`); - } - - const heliconeOnHeliconeApiKey = await GET_KEY( - "key:helicone_on_helicone_key" - ); - const heliconeClient = new HeliconeManualLogger({ - apiKey: heliconeOnHeliconeApiKey, - }); - - const logBuilder = heliconeClient.logBuilder(body); - const response = await fetch(url, { - method: "POST", - headers: headers, - body: JSON.stringify(body), - }); - const responseBody = await response.text(); - - if (response.status !== 200) { - const error = - "error running operation" + - experimentId + - inputRecordId + - promptVersionId + - isOriginalRequest + - requestId + - response.status + - "\n" + - responseBody; - console.error(error); - logBuilder.setError(error); - await logBuilder.sendLog(); - return err("Request failed"); - } - logBuilder.setResponse(responseBody); - - const maxWaitTime = 10 * 60 * 1000; // 10 minutes in milliseconds - let waitTime = 1000; // Start with 1 second - let totalWaitTime = 0; - - while (totalWaitTime < maxWaitTime) { - await new Promise((resolve) => setTimeout(resolve, waitTime)); - totalWaitTime += waitTime; - - const result = await dbOp.execute(); - - if (!result.error) { - await logBuilder.sendLog(); - return ok("success"); - } - - console.error(result.error); - - // Exponential backoff: double the wait time for the next iteration - waitTime = Math.min(waitTime * 2, maxWaitTime - totalWaitTime); - } - - // If we've reached this point, all attempts have failed - logBuilder.setError(dbOp.errorMessage); - await logBuilder.sendLog(); - return err(dbOp.errorMessage); -} - -export async function runHypothesis( - props: RunnerProps -): Promise> { - const { - experimentId, - inputRecordId, - requestId, - promptVersionId, - isOriginalRequest, - } = props; - const dbOp: DatabaseOperation = { - execute: async () => { - return dbExecute( - `INSERT INTO experiment_output - (experiment_id, input_record_id, request_id, prompt_version_id, is_original) - VALUES ($1, $2, $3, $4, $5) - ON CONFLICT (experiment_id, input_record_id, prompt_version_id) - DO UPDATE SET - request_id = $3, - is_original = $5 - RETURNING id`, - [ - experimentId, - inputRecordId ?? "", - requestId, - promptVersionId, - isOriginalRequest ?? false, - ] - ); - }, - errorMessage: "Failed to insert hypothesis run after multiple attempts", - }; - return runWithRetry(props, dbOp); -} - -export async function runOriginalRequest( - props: RunnerProps & { inputRecordId: string } -): Promise> { - const { requestId, inputRecordId } = props; - const dbOp: DatabaseOperation = { - execute: async () => { - return await dbExecute( - `UPDATE prompt_input_record - SET source_request = $1 - WHERE id = $2 - RETURNING id`, - [requestId, inputRecordId] - ); - }, - errorMessage: - "Failed to update prompt input record after multiple attempts", - }; - return runWithRetry(props, dbOp); -} diff --git a/valhalla/jawn/src/lib/experiment/openRouterModelMap.ts b/valhalla/jawn/src/lib/experiment/openRouterModelMap.ts deleted file mode 100644 index 688f3cd004..0000000000 --- a/valhalla/jawn/src/lib/experiment/openRouterModelMap.ts +++ /dev/null @@ -1,76 +0,0 @@ -export const OPENROUTER_MODEL_MAP: Record = { - "claude-3-5-sonnet-20241022": "anthropic/claude-3.5-sonnet", - "claude-3-opus-20240229": "anthropic/claude-3-opus", - "claude-3-haiku-20240307": "anthropic/claude-3-haiku", - "claude-3-5-haiku": "anthropic/claude-3.5-haiku", - "claude-3-5-sonnet": "anthropic/claude-3.5-sonnet", - "claude-3-7-sonnet": "anthropic/claude-3.7-sonnet", - "claude-3-5-haiku-latest": "anthropic/claude-3.5-haiku", - "claude-3-5-sonnet-latest": "anthropic/claude-3.5-sonnet", - "claude-3-7-sonnet-latest": "anthropic/claude-3.7-sonnet", - "claude-3.5-haiku": "anthropic/claude-3.5-haiku", - "claude-3.5-sonnet": "anthropic/claude-3.5-sonnet", - "claude-3.7-sonnet": "anthropic/claude-3.7-sonnet", - "claude-3.5-haiku-latest": "anthropic/claude-3.5-haiku", - "claude-3.5-sonnet-latest": "anthropic/claude-3.5-sonnet", - "claude-3.7-sonnet-latest": "anthropic/claude-3.7-sonnet", - "claude-3-opus": "anthropic/claude-3-opus", - "claude-3-haiku": "anthropic/claude-3-haiku", - "gemini-flash-1.5-8b": "google/gemini-flash-1.5-8b", - "gemini-flash-1.5-8b-exp": "google/gemini-flash-1.5-8b-exp", - "gemini-flash-1.5-exp": "google/gemini-flash-1.5-exp", - "gemini-flash-1.5": "google/gemini-flash-1.5", - "gemini-pro-1.5": "google/gemini-pro-1.5", - "gemini-pro": "google/gemini-pro", - "gemini-pro-vision": "google/gemini-pro-vision", - "ministral-8b": "mistralai/ministral-8b", - "ministral-3b": "mistralai/ministral-3b", - "pixtral-12b": "mistralai/pixtral-12b", - "codestral-mamba": "mistralai/codestral-mamba", - "mistral-nemo": "mistralai/mistral-nemo", - "mistral-7b-instruct-v0.3": "mistralai/mistral-7b-instruct-v0.3", - "mistral-7b-instruct:free": "mistralai/mistral-7b-instruct:free", - "mistral-7b-instruct": "mistralai/mistral-7b-instruct", - "mistral-7b-instruct:nitro": "mistralai/mistral-7b-instruct:nitro", - "mistral-8x22b-instruct": "mistralai/mistral-8x22b-instruct", - "mistral-large": "mistralai/mistral-large", - "mistral-medium": "mistralai/mistral-medium", - "mistral-small": "mistralai/mistral-small", - "mistral-tiny": "mistralai/mistral-tiny", - "mistral-7b-instruct-v0.2": "mistralai/mistral-7b-instruct-v0.2", - "mistral-8x7b-instruct": "mistralai/mistral-8x7b-instruct", - "mistral-8x7b-instruct:nitro": "mistralai/mistral-8x7b-instruct:nitro", - "mistral-8x7b": "mistralai/mistral-8x7b", - "mistral-7b-instruct-v0.1": "mistralai/mistral-7b-instruct-v0.1", - "grok-beta": "x-ai/grok-beta", - "grok-4": "x-ai/grok-4", - "llama-3.2-3b-instruct:free": "meta-llama/llama-3.2-3b-instruct:free", - "llama-3.2-3b-instruct": "meta-llama/llama-3.2-3b-instruct", - "llama-3.2-1b-instruct:free": "meta-llama/llama-3.2-1b-instruct:free", - "llama-3.2-1b-instruct": "meta-llama/llama-3.2-1b-instruct", - "llama-3.2-90b-vision-instruct": "meta-llama/llama-3.2-90b-vision-instruct", - "llama-3.2-11b-vision-instruct:free": - "meta-llama/llama-3.2-11b-vision-instruct:free", - "llama-3.2-11b-vision-instruct": "meta-llama/llama-3.2-11b-vision-instruct", - "llama-3.1-405b": "meta-llama/llama-3.1-405b", - "llama-3.1-70b-instruct:free": "meta-llama/llama-3.1-70b-instruct:free", - "llama-3.1-70b-instruct": "meta-llama/llama-3.1-70b-instruct", - "llama-3.1-70b-instruct:nitro": "meta-llama/llama-3.1-70b-instruct:nitro", - "llama-3.1-8b-instruct:free": "meta-llama/llama-3.1-8b-instruct:free", - "llama-3.1-8b-instruct": "meta-llama/llama-3.1-8b-instruct", - "llama-3.1-405b-instruct:free": "meta-llama/llama-3.1-405b-instruct:free", - "llama-3.1-405b-instruct": "meta-llama/llama-3.1-405b-instruct", - "llama-3.1-405b-instruct:nitro": "meta-llama/llama-3.1-405b-instruct:nitro", - "llama-guard-2-8b": "meta-llama/llama-guard-2-8b", - "llama-3-70b-instruct": "meta-llama/llama-3-70b-instruct", - "llama-3-70b-instruct:nitro": "meta-llama/llama-3-70b-instruct:nitro", - "llama-3-8b-instruct:free": "meta-llama/llama-3-8b-instruct:free", - "llama-3-8b-instruct": "meta-llama/llama-3-8b-instruct", - "llama-3-8b-instruct:nitro": "meta-llama/llama-3-8b-instruct:nitro", - "llama-3-8b-instruct:extended": "meta-llama/llama-3-8b-instruct:extended", - "llama-2-13b-chat": "meta-llama/llama-2-13b-chat", - "deepseek/deepseek-chat": "deepseek/deepseek-chat", - "deepseek/deepseek-r1": "deepseek/deepseek-r1", - "o3-mini": "openai/o3-mini", - "o1-mini": "openai/o1-mini", -}; diff --git a/valhalla/jawn/src/lib/experiment/requestPrep/PreparedRequest.ts b/valhalla/jawn/src/lib/experiment/requestPrep/PreparedRequest.ts index 71b40423e9..dd814121d7 100644 --- a/valhalla/jawn/src/lib/experiment/requestPrep/PreparedRequest.ts +++ b/valhalla/jawn/src/lib/experiment/requestPrep/PreparedRequest.ts @@ -1,5 +1,3 @@ -import { Experiment } from "../../stores/experimentStore"; - export interface PreparedRequest { url: URL; headers: { [key: string]: string }; diff --git a/valhalla/jawn/src/lib/experiment/requestPrep/openRouter.ts b/valhalla/jawn/src/lib/experiment/requestPrep/openRouter.ts deleted file mode 100644 index be05505b62..0000000000 --- a/valhalla/jawn/src/lib/experiment/requestPrep/openRouter.ts +++ /dev/null @@ -1,72 +0,0 @@ -import { autoFillInputs } from "@helicone/prompts"; -import { PreparedRequest, PreparedRequestArgs } from "./PreparedRequest"; -import { OPENROUTER_MODEL_MAP } from "../openRouterModelMap"; -import { OPENROUTER_WORKER_URL } from "../../clients/constant"; - -function prepareRequestOpenRouter( - requestPath: string, - heliconeApiKey: string, - providerKey: string, - requestId: string, - experimentId?: string -): { - url: URL; - headers: { [key: string]: string }; -} { - let headers: { [key: string]: string } = { - "Content-Type": "application/json", - "Helicone-Request-Id": requestId, - "Helicone-Auth": `Bearer ${heliconeApiKey}`, - Authorization: `Bearer ${providerKey}`, - Accept: "application/json", - "Accept-Encoding": "", - "Helicone-Manual-Access-Key": process.env.HELICONE_MANUAL_ACCESS_KEY ?? "", - }; - if (experimentId) { - headers["Helicone-Experiment-Id"] = experimentId; - } - let fetchUrl = requestPath; - return { - url: new URL(fetchUrl), - headers, - }; -} - -export function prepareRequestOpenRouterFull({ - template, - secretKey: heliconeApiKey, - providerKey, - inputs, - autoInputs, - requestPath, - requestId, - experimentId, - model, - openrouterKey, -}: PreparedRequestArgs): PreparedRequest { - if (!openrouterKey) { - throw new Error("OpenRouter key is required"); - } - const newRequestBody = autoFillInputs({ - template: template ?? {}, - inputs: inputs ?? {}, - autoInputs: autoInputs ?? [], - }); - - const { url: fetchUrl, headers } = prepareRequestOpenRouter( - requestPath ?? `${OPENROUTER_WORKER_URL}/api/v1/chat/completions`, - heliconeApiKey, - providerKey ?? "", - requestId, - experimentId - ); - - return { - url: fetchUrl, - headers, - body: { - ...newRequestBody, - model: OPENROUTER_MODEL_MAP[model ?? ""], - }, - }; -} diff --git a/valhalla/jawn/src/lib/experiment/requestPrep/openai.ts b/valhalla/jawn/src/lib/experiment/requestPrep/openai.ts deleted file mode 100644 index 1a12a91db4..0000000000 --- a/valhalla/jawn/src/lib/experiment/requestPrep/openai.ts +++ /dev/null @@ -1,183 +0,0 @@ -import { autoFillInputs } from "@helicone/prompts"; -import { PreparedRequest, PreparedRequestArgs } from "./PreparedRequest"; - -function prepareRequestAzure( - requestPath: string, - openaiKey: string, - apiKey: string, - requestId: string, - columnId?: string, - rowIndex?: number, - experimentId?: string -): { - url: URL; - headers: { [key: string]: string }; -} { - let headers: { [key: string]: string } = { - "Content-Type": "application/json", - "Helicone-Request-Id": requestId, - Authorization: `Bearer ${openaiKey}`, - "Helicone-Auth": `Bearer ${apiKey}`, - Accept: "application/json", - "Accept-Encoding": "", - "Helicone-Manual-Access-Key": process.env.HELICONE_MANUAL_ACCESS_KEY ?? "", - }; - - if (columnId) { - headers["Helicone-Experiment-Column-Id"] = columnId; - } - if (rowIndex !== undefined) { - headers["Helicone-Experiment-Row-Index"] = rowIndex.toString(); - } - if (experimentId) { - headers["Helicone-Experiment-Id"] = experimentId; - } - - const heliconeWorkerUrl = process.env.HELICONE_WORKER_URL ?? ""; - let fetchUrl = `${heliconeWorkerUrl}/v1/chat/completions`; - - return { - url: new URL(fetchUrl), - headers, - }; -} - -function prepareRequestAnthropic( - requestPath: string, - apiKey: string, - requestId: string, - experimentId?: string -): { - url: URL; - headers: { [key: string]: string }; -} { - let headers: { [key: string]: string } = { - "Content-Type": "application/json", - "Helicone-Request-Id": requestId, - Authorization: `Bearer ${process.env.ANTHROPIC_API_KEY}`, - "Helicone-Auth": `Bearer ${apiKey}`, - Accept: "application/json", - "Accept-Encoding": "", - "Helicone-Manual-Access-Key": process.env.HELICONE_MANUAL_ACCESS_KEY ?? "", - }; - - if (experimentId) { - headers["Helicone-Experiment-Id"] = experimentId; - } - - const fetchUrl = `${process.env.HELICONE_LLMMAPPER_URL}/oai2ant/v1/chat/completions`; - - return { - url: new URL(fetchUrl), - headers, - }; -} - -export function prepareRequestOpenAIOnPremFull({ - template, - secretKey: apiKey, - inputs, - autoInputs, - requestPath, - requestId, - columnId, - rowIndex, - experimentId, - openaiKey, -}: PreparedRequestArgs): PreparedRequest { - if (!openaiKey) { - throw new Error("OpenAI key is required"); - } - const newRequestBody = autoFillInputs({ - template: template ?? {}, - inputs: inputs ?? {}, - autoInputs: autoInputs ?? [], - }); - - const requestBodyRemoved = removeKeysWithValue( - newRequestBody, - "helicone-to-remove" - ); - - const { url: fetchUrl, headers } = prepareRequestAzure( - requestPath ?? "", - openaiKey, - apiKey, - requestId, - columnId, - rowIndex, - experimentId - ); - - return { - url: fetchUrl, - headers, - body: requestBodyRemoved, - }; -} - -export function prepareRequestAnthropicFull({ - template, - secretKey: proxyKey, - inputs, - autoInputs, - requestPath, - requestId, - experimentId, -}: PreparedRequestArgs): PreparedRequest { - const newRequestBody = autoFillInputs({ - template: template ?? {}, - inputs: inputs ?? {}, - autoInputs: autoInputs ?? [], - }); - - const requestBodyRemoved = removeKeysWithValue( - newRequestBody, - "helicone-to-remove" - ); - - const { url: fetchUrl, headers } = prepareRequestAnthropic( - `${process.env.HELICONE_LLMMAPPER_URL}/oai2ant/v1/chat/completions`, - proxyKey, - requestId, - experimentId - ); - return { - url: fetchUrl, - headers, - body: requestBodyRemoved, - }; -} - -function removeKeysWithValue(obj: any, valueToRemove: any): any { - if (Array.isArray(obj)) { - const newArray = obj - .map((item) => removeKeysWithValue(item, valueToRemove)) - .filter((item) => { - if (item === valueToRemove) return false; - if (Array.isArray(item) && item.length === 0) return false; - if ( - typeof item === "object" && - item !== null && - Object.keys(item).length === 0 - ) - return false; - return true; - }); - return newArray; - } else if (obj && typeof obj === "object") { - const newObj: any = {}; - for (const [key, value] of Object.entries(obj)) { - const newValue = removeKeysWithValue(value, valueToRemove); - const shouldRemove = - newValue === valueToRemove || - (Array.isArray(newValue) && newValue.length === 0); - if (!shouldRemove) { - newObj[key] = newValue; - } - } - return newObj; - } else { - return obj; - } -} diff --git a/valhalla/jawn/src/lib/experiment/requestPrep/openaiCloud.ts b/valhalla/jawn/src/lib/experiment/requestPrep/openaiCloud.ts deleted file mode 100644 index 4ed9a6df3d..0000000000 --- a/valhalla/jawn/src/lib/experiment/requestPrep/openaiCloud.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { autoFillInputs } from "@helicone/prompts"; -import { PreparedRequest, PreparedRequestArgs } from "./PreparedRequest"; - -function prepareRequestOpenAI( - requestPath: string, - proxyKey: string, - requestId: string, - experimentId?: string -): { - url: URL; - headers: { [key: string]: string }; -} { - let headers: { [key: string]: string } = { - "Content-Type": "application/json", - "Helicone-Request-Id": requestId, - Authorization: `Bearer ${proxyKey}`, - Accept: "application/json", - "Accept-Encoding": "", - "Helicone-Manual-Access-Key": process.env.HELICONE_MANUAL_ACCESS_KEY ?? "", - }; - if (experimentId) { - headers["Helicone-Experiment-Id"] = experimentId; - } - let fetchUrl = requestPath; - return { - url: new URL(fetchUrl), - headers, - }; -} - -export function prepareRequestOpenAIFull({ - template, - secretKey: proxyKey, - inputs, - autoInputs, - requestPath, - requestId, - experimentId, -}: PreparedRequestArgs): PreparedRequest { - const newRequestBody = autoFillInputs({ - template: template ?? {}, - inputs: inputs ?? {}, - autoInputs: autoInputs ?? [], - }); - - const { url: fetchUrl, headers } = prepareRequestOpenAI( - requestPath ?? `${process.env.HELICONE_WORKER_URL}/v1/chat/completions`, - proxyKey, - requestId, - experimentId - ); - return { - url: fetchUrl, - headers, - body: newRequestBody, - }; -} diff --git a/valhalla/jawn/src/lib/experiment/run.ts b/valhalla/jawn/src/lib/experiment/run.ts deleted file mode 100644 index d46e0f2514..0000000000 --- a/valhalla/jawn/src/lib/experiment/run.ts +++ /dev/null @@ -1,214 +0,0 @@ -import { uuid } from "uuidv4"; -import { Result, err, ok } from "../../packages/common/result"; - -import { getAllSignedURLsFromInputs } from "../../managers/inputs/InputsManager"; -import { SettingsManager } from "../../utils/settings"; -import { GET_KEY, OPENROUTER_WORKER_URL } from "../clients/constant"; -import { dbExecute } from "../shared/db/dbExecute"; -import { Experiment, ExperimentDatasetRow } from "../stores/experimentStore"; -import { runHypothesis } from "./hypothesisRunner"; -import { prepareRequestAzureFull as prepareRequestAzureOnPremFull } from "./requestPrep/azure"; -import { prepareRequestOpenAIOnPremFull } from "./requestPrep/openai"; -import { prepareRequestOpenRouterFull } from "./requestPrep/openRouter"; -import { - PreparedRequest, - PreparedRequestArgs, -} from "./requestPrep/PreparedRequest"; -import { BaseTempKey } from "./tempKeys/baseTempKey"; -import { generateTempHeliconeAPIKey } from "./tempKeys/tempAPIKey"; - -async function isOnPrem(): Promise { - const settingsManager = new SettingsManager(); - const azureSettings = await settingsManager.getSetting("azure:experiment"); - const truthy = - azureSettings?.azureApiKey && - azureSettings?.azureBaseUri && - azureSettings?.azureApiVersion && - azureSettings?.azureDeploymentName; - return truthy ? true : false; -} - -type Provider = "OPENAI" | "OPENROUTER"; - -async function prepareRequest( - args: PreparedRequestArgs, - provider: Provider -): Promise { - if (await isOnPrem()) { - return await prepareRequestAzureOnPremFull(args); - } else if (provider === "OPENAI") { - const openaiKey = await GET_KEY("key:openai"); - return prepareRequestOpenAIOnPremFull({ - ...args, - openaiKey, - }); - } else { - const openrouterKey = await GET_KEY("key:openrouter"); - return prepareRequestOpenRouterFull({ - ...args, - openrouterKey, - }); - } -} - -interface PromptVersion { - id: string; - helicone_template: any; - model: string | null; - [key: string]: any; -} - -interface PromptInputRecord { - id: string; - inputs: Record | null; - auto_prompt_inputs: Record[] | null; - [key: string]: any; -} - -export async function runOriginalExperiment( - experiment: Experiment, - datasetRows: ExperimentDatasetRow[] -): Promise> { - const tempKey: Result = await generateTempHeliconeAPIKey( - experiment.organization - ); - - if (tempKey.error || !tempKey.data) { - return err(tempKey.error); - } - - return tempKey.data.with>(async (secretKey) => { - for (const data of datasetRows) { - if (data.inputRecord?.inputs) { - data.inputRecord.inputs = await getAllSignedURLsFromInputs( - data.inputRecord.inputs, - experiment.organization, - data.inputRecord.requestId, - true - ); - } - - const promptVersionId = experiment.meta?.["prompt_version"]; - - const promptVersionResult = await dbExecute( - `SELECT * - FROM prompts_versions - WHERE id = $1 - LIMIT 1`, - [promptVersionId] - ); - - if ( - promptVersionResult.error || - !promptVersionResult.data || - promptVersionResult.data.length === 0 - ) { - return err(promptVersionResult.error || "Prompt version not found"); - } - } - return ok("success"); - }); -} - -export async function run( - experimentId: string, - promptVersionId: string, - inputRecordId: string, - organizationId: string, - isOriginalRequest?: boolean -): Promise> { - const tempKey: Result = await generateTempHeliconeAPIKey( - organizationId - ); - - if (tempKey.error || !tempKey.data) { - return err(tempKey.error); - } - - const promptVersionResult = await dbExecute( - `SELECT * - FROM prompts_versions - WHERE id = $1 - LIMIT 1`, - [promptVersionId] - ); - - if ( - promptVersionResult.error || - !promptVersionResult.data || - promptVersionResult.data.length === 0 - ) { - return err(promptVersionResult.error || "Prompt version not found"); - } - const promptVersion = promptVersionResult.data[0]; - - const promptInputRecordResult = await dbExecute( - `SELECT * - FROM prompt_input_record - WHERE id = $1 - LIMIT 1`, - [inputRecordId] - ); - - if ( - promptInputRecordResult.error || - !promptInputRecordResult.data || - promptInputRecordResult.data.length === 0 - ) { - return err( - promptInputRecordResult.error || "Prompt input record not found" - ); - } - const promptInputRecord = promptInputRecordResult.data[0]; - - return tempKey.data.with>(async (secretKey) => { - const requestId = uuid(); - - let inputs: Record = {}; - if (promptInputRecord.inputs) { - inputs = await getAllSignedURLsFromInputs( - promptInputRecord.inputs, - organizationId, - requestId, - true - ); - } - - const openrouterKey = await GET_KEY("key:openrouter"); - const preparedRequest = await prepareRequest( - { - template: promptVersion.helicone_template, - providerKey: openrouterKey, - secretKey, - inputs: inputs, - autoInputs: - (promptInputRecord.auto_prompt_inputs as Record[]) || [], - requestPath: `${OPENROUTER_WORKER_URL}/api/v1/chat/completions`, - requestId, - experimentId, - model: promptVersion.model ?? "", - }, - providerByModelName(promptVersion.model ?? "") - ); - - await runHypothesis({ - body: preparedRequest.body, - headers: preparedRequest.headers, - url: preparedRequest.url, - requestId, - experimentId, - inputRecordId, - promptVersionId, - isOriginalRequest, - }); - - return ok(requestId); - }); -} -const providerByModelName = (modelName: string) => { - if (modelName.includes("gpt")) { - return "OPENAI"; - } else { - return "OPENROUTER"; - } -}; diff --git a/valhalla/jawn/src/lib/handlers/ExperimentHandler.ts b/valhalla/jawn/src/lib/handlers/ExperimentHandler.ts deleted file mode 100644 index a3d6c1a335..0000000000 --- a/valhalla/jawn/src/lib/handlers/ExperimentHandler.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { S3Client } from "../shared/db/s3Client"; -import { PromiseGenericResult, err, ok } from "../../packages/common/result"; -import { AbstractLogHandler } from "./AbstractLogHandler"; -import { HandlerContext } from "./HandlerContext"; - -export class ExperimentHandler extends AbstractLogHandler { - public async handle(context: HandlerContext): PromiseGenericResult { - try { - if (!context.orgParams?.id) { - return err("Organization ID not found in org params"); - } - - return await super.handle(context); - } catch (error) { - return err( - `Error handling experiment: ${error}, Context: ${this.constructor.name}` - ); - } - } -} diff --git a/valhalla/jawn/src/lib/proxy/DBLoggable.ts b/valhalla/jawn/src/lib/proxy/DBLoggable.ts deleted file mode 100644 index 4c7c2303c1..0000000000 --- a/valhalla/jawn/src/lib/proxy/DBLoggable.ts +++ /dev/null @@ -1,191 +0,0 @@ -import { HeliconeHeaders } from "../../../../../shared/proxy/heliconeHeaders"; -import { Provider } from "@helicone-package/llm-mapper/types"; -import { PromptSettings } from "../requestWrapper/requestWrapper"; -import { err, ok } from "../../packages/common/result"; -import { HeliconeProxyRequest } from "./HeliconeProxyRequest"; -import { HeliconeQueueProducer } from "../clients/HeliconeQueueProducer"; -import { AuthParams } from "../../packages/common/auth/types"; -import { OrgParams } from "../../packages/common/auth/types"; -import { S3Manager } from "./S3Manager"; -import { KafkaMessageContents } from "../handlers/HandlerContext"; -import { Headers } from "node-fetch"; -import { TemplateWithInputs } from "@helicone/prompts/dist/objectParser"; - -export interface DBLoggableProps { - response: { - responseId: string; - getResponseBody: () => Promise<{ - body: string; - endTime: Date; - }>; - status: () => Promise; - responseHeaders: Headers; - omitLog: boolean; - }; - request: { - requestId: string; - userId?: string; - heliconeProxyKeyId?: string; - promptSettings: PromptSettings; - startTime: Date; - bodyText?: string; - path: string; - targetUrl: string; - properties: Record; - isStream: boolean; - omitLog: boolean; - provider: Provider; - nodeId: string | null; - modelOverride?: string; - heliconeTemplate?: TemplateWithInputs; - threat: boolean | null; - flaggedForModeration: boolean | null; - request_ip: string | null; - country_code: string | null; - experimentColumnId: string | null; - experimentRowIndex: string | null; - }; - timing: { - startTime: Date; - endTime?: Date; - timeToFirstToken: () => Promise; - }; - tokenCalcUrl: string; -} - -export function dbLoggableRequestFromProxyRequest( - proxyRequest: HeliconeProxyRequest, - requestStartTime: Date -): DBLoggableProps["request"] { - return { - requestId: proxyRequest.requestId, - heliconeProxyKeyId: proxyRequest.heliconeProxyKeyId, - promptSettings: proxyRequest.requestWrapper.promptSettings, - heliconeTemplate: proxyRequest.heliconePromptTemplate ?? undefined, - userId: proxyRequest.userId, - startTime: requestStartTime, - bodyText: proxyRequest.bodyText ?? undefined, - path: proxyRequest.requestWrapper.url.href, - targetUrl: proxyRequest.targetUrl.href, - properties: proxyRequest.requestWrapper.heliconeHeaders.heliconeProperties, - isStream: proxyRequest.isStream, - omitLog: proxyRequest.omitOptions.omitRequest, - provider: proxyRequest.provider, - nodeId: proxyRequest.nodeId, - modelOverride: - proxyRequest.requestWrapper.heliconeHeaders.modelOverride ?? undefined, - threat: proxyRequest.threat ?? null, - flaggedForModeration: proxyRequest.flaggedForModeration ?? null, - request_ip: null, - country_code: null, - experimentColumnId: proxyRequest.experimentColumnId ?? null, - experimentRowIndex: proxyRequest.experimentRowIndex ?? null, - }; -} - -export class DBLoggable { - private response: DBLoggableProps["response"]; - private request: DBLoggableProps["request"]; - private timing: DBLoggableProps["timing"]; - - constructor(props: DBLoggableProps) { - this.response = props.response; - this.request = props.request; - this.timing = props.timing; - } - - async getRequestId() { - return this.request.requestId; - } - - async log( - db: { - s3Manager: S3Manager; - kafkaProducer: HeliconeQueueProducer; - }, - authParams: AuthParams, - orgParams: OrgParams, - requestHeaders?: HeliconeHeaders - ) { - // TODO: Add logging rate limiting - if ( - !orgParams?.id || - // Must be helicone api key or proxy key - !requestHeaders?.heliconeAuthV2 || - (!requestHeaders?.heliconeAuthV2?.token && - !this.request.heliconeProxyKeyId) - ) { - return err(`Auth failed for org ${orgParams?.id}`); - } - - const { body: rawResponseBody, endTime: responseEndTime } = - await this.response.getResponseBody(); - - const s3Result = await db.s3Manager.storeRequestResponseRaw({ - organizationId: orgParams.id, - requestId: this.request.requestId, - requestBody: this.request.bodyText ?? "{}", - responseBody: rawResponseBody, - }); - - if (s3Result.error) { - console.error(`Error storing request response in S3: ${s3Result.error}`); - } - - const endTime = this.timing.endTime ?? responseEndTime; - const kafkaMessage: KafkaMessageContents = { - authorization: requestHeaders.heliconeAuthV2.token, - heliconeMeta: { - modelOverride: requestHeaders.modelOverride ?? undefined, - omitRequestLog: requestHeaders.omitHeaders.omitRequest, - omitResponseLog: requestHeaders.omitHeaders.omitResponse, - webhookEnabled: requestHeaders.webhookEnabled, - posthogApiKey: requestHeaders.posthogKey ?? undefined, - posthogHost: requestHeaders.posthogHost ?? undefined, - gatewayRouterId: requestHeaders.gatewayRouterId ?? undefined, - gatewayDeploymentTarget: - requestHeaders.gatewayDeploymentTarget ?? undefined, - }, - log: { - request: { - id: this.request.requestId, - userId: this.request.userId ?? "", - promptId: - this.request.promptSettings.promptMode === "production" - ? this.request.promptSettings.promptId - : "", - properties: this.request.properties, - heliconeApiKeyId: authParams.heliconeApiKeyId, // If undefined, proxy key id must be present - heliconeProxyKeyId: this.request.heliconeProxyKeyId ?? undefined, - targetUrl: this.request.targetUrl, - provider: this.request.provider, - bodySize: this.request.bodyText?.length ?? 0, - path: this.request.path, - threat: this.request.threat ?? undefined, - countryCode: this.request.country_code ?? undefined, - requestCreatedAt: this.request.startTime ?? new Date(), - isStream: this.request.isStream, - heliconeTemplate: this.request.heliconeTemplate ?? undefined, - experimentColumnId: this.request.experimentColumnId ?? undefined, - experimentRowIndex: this.request.experimentRowIndex ?? undefined, - }, - response: { - id: this.response.responseId, - status: await this.response.status(), - bodySize: rawResponseBody.length, - timeToFirstToken: (await this.timing.timeToFirstToken()) ?? undefined, - responseCreatedAt: endTime, - delayMs: endTime.getTime() - this.timing.startTime.getTime(), - }, - }, - }; - - // Send to Kafka or REST if not enabled - await db.kafkaProducer.sendMessages( - [kafkaMessage], - "request-response-logs-prod" - ); - - return ok(null); - } -} diff --git a/valhalla/jawn/src/lib/proxy/HeliconeProxyRequest.ts b/valhalla/jawn/src/lib/proxy/HeliconeProxyRequest.ts deleted file mode 100644 index 3e0f44b163..0000000000 --- a/valhalla/jawn/src/lib/proxy/HeliconeProxyRequest.ts +++ /dev/null @@ -1,203 +0,0 @@ -import { TemplateWithInputs } from "@helicone/prompts/dist/objectParser"; -import { IHeliconeHeaders } from "../../../../../shared/proxy/heliconeHeaders"; -import { approvedDomains } from "@helicone-package/cost/providers/mappings"; -import { Provider } from "@helicone-package/llm-mapper/types"; - -import { parseJSXObject } from "@helicone/prompts"; -import { RequestWrapper } from "../requestWrapper/requestWrapper"; -import { Result, ok } from "../../packages/common/result"; -import { buildTargetUrl } from "./ProviderClient"; -import { RateLimitOptionsBuilder } from "./RateLimitOptions"; -import { RateLimitOptions } from "./RateLimiter"; - -export type RetryOptions = { - retries: number; // number of times to retry the request - factor: number; // exponential backoff factor - minTimeout: number; // minimum amount of time to wait before retrying (in milliseconds) - maxTimeout: number; // maximum amount of time to wait before retrying (in milliseconds) -}; - -export type HeliconeProperties = Record; -type Nullable = T | null; - -// This neatly formats and holds all of the state that a request can come into Helicone -export interface HeliconeProxyRequest { - provider: Provider; - tokenCalcUrl: string; - rateLimitOptions: Nullable; - retryOptions: IHeliconeHeaders["retryHeaders"]; - omitOptions: IHeliconeHeaders["omitHeaders"]; - - requestJson: { stream?: boolean; user?: string } | Record; - bodyText: string | null; - - heliconeErrors: string[]; - providerAuthHash?: string; - heliconeProxyKeyId?: string; - api_base: string; - heliconeProperties: HeliconeProperties; - userId?: string; - isStream: boolean; - startTime: Date; - url: URL; - requestWrapper: RequestWrapper; - requestId: string; - nodeId: string | null; - heliconePromptTemplate: TemplateWithInputs | null; - targetUrl: URL; - threat?: boolean; - flaggedForModeration?: boolean; - experimentColumnId: string | null; - experimentRowIndex: string | null; -} - -const providerBaseUrlMappings: Record< - "OPENAI" | "ANTHROPIC" | "CUSTOM", - string -> = { - OPENAI: "https://api.openai.com", - ANTHROPIC: "https://api.anthropic.com", - CUSTOM: "", -}; - -// Helps map a RequestWrapper -> HeliconProxyRequest -export class HeliconeProxyRequestMapper { - heliconeErrors: string[] = []; - - constructor(private request: RequestWrapper, private provider: Provider) {} - - private async getHeliconeTemplate() { - if (this.request.heliconeHeaders.promptHeaders.promptId) { - const { templateWithInputs } = parseJSXObject( - JSON.parse(await this.request.getRawText()) - ); - return templateWithInputs; - } - return null; - } - - async tryToProxyRequest(): Promise> { - const startTime = new Date(); - const { data: api_base, error: api_base_error } = this.getApiBase(); - if (api_base_error !== null) { - return { data: null, error: api_base_error }; - } - - const targetUrl = buildTargetUrl(this.request.url, api_base); - - const requestJson = await this.requestJson(); - let isStream = requestJson.stream === true; - - if (this.provider === "GOOGLE") { - const queryParams = new URLSearchParams(targetUrl.search); - // alt = sse is how Gemini determines if a request is a stream - isStream = isStream || queryParams.get("alt") === "sse"; - } - - if (this.provider === "AWS" || this.provider === "BEDROCK") { - // Bedrock uses invoke-with-response-stream endpoint for streaming - isStream = isStream || targetUrl.pathname.includes("invoke-with-response-stream"); - } - - return { - data: { - heliconePromptTemplate: await this.getHeliconeTemplate(), - rateLimitOptions: this.rateLimitOptions(), - requestJson: requestJson, - retryOptions: this.request.heliconeHeaders.retryHeaders, - provider: this.provider, - tokenCalcUrl: "", - providerAuthHash: await this.request.getProviderAuthHeader(), - omitOptions: this.request.heliconeHeaders.omitHeaders, - heliconeProxyKeyId: this.request.heliconeProxyKeyId, - heliconeProperties: this.request.heliconeHeaders.heliconeProperties, - userId: await this.request.getUserId(), - heliconeErrors: this.heliconeErrors, - api_base, - isStream: isStream, - bodyText: await this.getBody(), - startTime, - url: this.request.url, - requestId: - this.request.heliconeHeaders.requestId ?? crypto.randomUUID(), - requestWrapper: this.request, - nodeId: this.request.heliconeHeaders.nodeId ?? null, - targetUrl, - experimentColumnId: - this.request.heliconeHeaders.experimentColumnId ?? null, - experimentRowIndex: - this.request.heliconeHeaders.experimentRowIndex ?? null, - }, - error: null, - }; - } - - private async getBody(): Promise { - if (this.request.getMethod() === "GET") { - return null; - } - - return await this.request.getText(); - } - - private validateApiConfiguration(api_base: string | undefined): boolean { - return ( - api_base === undefined || - approvedDomains.some((domain) => domain.test(api_base)) - ); - } - - private getApiBase(): Result { - if (this.request.baseURLOverride) { - return ok(this.request.baseURLOverride); - } - const api_base = - this.request.heliconeHeaders.openaiBaseUrl ?? - this.request.heliconeHeaders.targetBaseUrl; - - if (api_base && !this.validateApiConfiguration(api_base)) { - // return new Response(`Invalid API base "${api_base}"`, { - return { - data: null, - error: `Invalid API base "${api_base}"`, - }; - } - - // this is kind of legacy stuff. the correct way to add providers is to add it to `modifyEnvBasedOnPath` (04/28/2024) - if (api_base) { - return { data: api_base, error: null }; - } else if ( - this.provider === "CUSTOM" || - this.provider === "ANTHROPIC" || - this.provider === "OPENAI" - ) { - return { - data: providerBaseUrlMappings[this.provider], - error: null, - }; - } else { - return { - data: null, - error: `Invalid provider "${this.provider}"`, - }; - } - } - - rateLimitOptions(): HeliconeProxyRequest["rateLimitOptions"] { - const rateLimitOptions = new RateLimitOptionsBuilder( - this.request.heliconeHeaders.rateLimitPolicy - ).build(); - - if (rateLimitOptions.error) { - rateLimitOptions.error = `Invalid rate limit policy: ${rateLimitOptions.error}`; - this.heliconeErrors.push(rateLimitOptions.error); - } - return rateLimitOptions.data ?? null; - } - - async requestJson(): Promise { - return this.request.getMethod() === "POST" - ? await this.request.getJson() - : {}; - } -} diff --git a/valhalla/jawn/src/lib/proxy/ProviderClient.ts b/valhalla/jawn/src/lib/proxy/ProviderClient.ts deleted file mode 100644 index a181f68cbe..0000000000 --- a/valhalla/jawn/src/lib/proxy/ProviderClient.ts +++ /dev/null @@ -1,115 +0,0 @@ -import retry from "async-retry"; -import { HeliconeProxyRequest, RetryOptions } from "./HeliconeProxyRequest"; -import fetch from "node-fetch"; -import { Headers, Response } from "node-fetch"; -export interface CallProps { - headers: Headers; - method: string; - apiBase: string; - body: string | null; - increaseTimeout: boolean; - originalUrl: URL; -} - -export function callPropsFromProxyRequest( - proxyRequest: HeliconeProxyRequest -): CallProps { - return { - apiBase: proxyRequest.api_base, - body: proxyRequest.bodyText, - headers: proxyRequest.requestWrapper.getHeaders(), - method: proxyRequest.requestWrapper.getMethod(), - increaseTimeout: - proxyRequest.requestWrapper.heliconeHeaders.featureFlags.increaseTimeout, - originalUrl: proxyRequest.requestWrapper.url, - }; -} - -function removeHeliconeHeaders(request: Headers): Headers { - const newHeaders = new Headers(); - for (const [key, value] of request.entries()) { - if ( - !key.toLowerCase().startsWith("helicone-") && - key.toLowerCase() !== "content-length" - ) { - newHeaders.set(key, value); - } - } - return newHeaders; -} - -export async function callProvider(props: CallProps) { - const { headers, method, apiBase, body, increaseTimeout, originalUrl } = - props; - - const targetUrl = buildTargetUrl(originalUrl, apiBase); - - const finalHeaders = removeHeliconeHeaders(headers); - const baseInit = { method, headers: finalHeaders }; - const init = - method === "GET" ? { ...baseInit } : { ...baseInit, body: body ?? "" }; - init.headers.delete("host"); - init.headers.delete("Content-Encoding"); - - const result = await fetch(targetUrl.href, init); - result.headers.delete("Content-Encoding"); - return result; -} - -export function buildTargetUrl(originalUrl: URL, apiBase: string): URL { - const apiBaseUrl = new URL(apiBase.replace(/\/$/, "")); - const pathname = originalUrl.pathname.replace( - /^\/v1\/gateway(\/[^\/]+)?/, - "" - ); - - return new URL(`${apiBaseUrl.origin}${pathname}${originalUrl.search}`); -} - -export async function callProviderWithRetry( - callProps: CallProps, - retryOptions: RetryOptions -): Promise { - let lastResponse; - - try { - // Use async-retry to call the forwardRequestToOpenAi function with exponential backoff - await retry( - async (bail, attempt) => { - try { - const res = await callProvider(callProps); - - lastResponse = res; - // Throw an error if the status code is 429 - if (res.status === 429 || res.status === 500 || res.status === 522) { - throw new Error(`Status code ${res.status}`); - } - return res; - } catch (e) { - // If we reach the maximum number of retries, bail with the error - if (attempt >= retryOptions.retries) { - bail(e as Error); - } - // Otherwise, retry with exponential backoff - throw e; - } - }, - { - ...retryOptions, - onRetry: (error, attempt) => { - console.log(`Retry attempt ${attempt}. Error: ${error}`); - }, - } - ); - } catch (e) { - console.warn( - `Retried ${retryOptions.retries} times but still failed. Error: ${e}` - ); - } - - if (lastResponse === undefined) { - throw new Error("500 An error occured while retrying your requests"); - } - - return lastResponse; -} diff --git a/valhalla/jawn/src/lib/proxy/ProxyForwarder.ts b/valhalla/jawn/src/lib/proxy/ProxyForwarder.ts deleted file mode 100644 index 6ec02545de..0000000000 --- a/valhalla/jawn/src/lib/proxy/ProxyForwarder.ts +++ /dev/null @@ -1,124 +0,0 @@ -import { Response } from "node-fetch"; -import { Provider } from "@helicone-package/llm-mapper/types"; -import { HeliconeQueueProducer } from "../clients/HeliconeQueueProducer"; -import { RequestWrapper } from "../requestWrapper/requestWrapper"; -import { getHeliconeAuthClient } from "../../packages/common/auth/server/AuthClientFactory"; -import { S3Client } from "../shared/db/s3Client"; -import { DBLoggable } from "./DBLoggable"; -import { - HeliconeProxyRequest, - HeliconeProxyRequestMapper, -} from "./HeliconeProxyRequest"; -import { handleProxyRequest } from "./ProxyRequestHandler"; -import { checkRateLimit } from "./RateLimiter"; -import { ResponseBuilder } from "./ResponseBuilder"; -import { S3Manager } from "./S3Manager"; - -export async function proxyForwarder( - request: RequestWrapper, - provider: Provider -): Promise { - const { data: proxyRequest, error: proxyRequestError } = - await new HeliconeProxyRequestMapper(request, provider).tryToProxyRequest(); - - if (proxyRequestError !== null) { - return new Response(proxyRequestError, { - status: 500, - }); - } - const responseBuilder = new ResponseBuilder(); - - if (proxyRequest.rateLimitOptions) { - if (!proxyRequest.providerAuthHash) { - return new Response("Authorization header required for rate limiting", { - status: 401, - }); - } - - const rateLimitCheckResult = await checkRateLimit({ - providerAuthHash: proxyRequest.providerAuthHash, - heliconeProperties: proxyRequest.heliconeProperties, - rateLimitOptions: proxyRequest.rateLimitOptions, - userId: proxyRequest.userId, - cost: 0, - }); - - responseBuilder.addRateLimitHeaders( - rateLimitCheckResult, - proxyRequest.rateLimitOptions - ); - - if (rateLimitCheckResult.status === "rate_limited") { - return responseBuilder.buildRateLimitedResponse(); - } - } - - const { data, error } = await handleProxyRequest(proxyRequest); - if (error !== null) { - return responseBuilder.build({ - body: error, - status: 500, - }); - } - const { loggable, response } = data; - - try { - void log(loggable, request, proxyRequest); - } catch (e) { - console.error("Error logging", e); - } - // const tex; - - return response; -} - -async function log( - loggable: DBLoggable, - request: RequestWrapper, - proxyRequest: HeliconeProxyRequest -) { - const { data: auth, error: authError } = await request.auth(); - if (authError !== null) { - console.error("Error getting auth", authError); - return; - } - - const authClient = getHeliconeAuthClient(); - const { data: authParams, error: authParamsError } = - await authClient.authenticate(auth); - - if (authParamsError || !authParams) { - console.error("Error getting auth params", authParamsError); - return; - } - - const { data: orgParams, error: orgParamsError } = - await authClient.getOrganization(authParams); - - if (orgParamsError || !orgParams) { - console.error("Error getting organization", orgParamsError); - return; - } - - const res = await loggable.log( - { - s3Manager: new S3Manager( - new S3Client( - process.env.S3_ACCESS_KEY || undefined, - process.env.S3_SECRET_KEY || undefined, - process.env.S3_ENDPOINT ?? "", - process.env.S3_BUCKET_NAME ?? "", - (process.env.S3_REGION as "us-west-2" | "eu-west-1") ?? "us-west-2" - ) - ), - kafkaProducer: new HeliconeQueueProducer(), - }, - authParams, - orgParams, - proxyRequest?.requestWrapper.heliconeHeaders - ); - - if (res.error !== null) { - console.error("Error logging", res.error); - } -} diff --git a/valhalla/jawn/src/lib/proxy/ProxyRequestHandler.ts b/valhalla/jawn/src/lib/proxy/ProxyRequestHandler.ts deleted file mode 100644 index 430c801ec5..0000000000 --- a/valhalla/jawn/src/lib/proxy/ProxyRequestHandler.ts +++ /dev/null @@ -1,115 +0,0 @@ -import { Result } from "../../packages/common/result"; -import { DBLoggable, dbLoggableRequestFromProxyRequest } from "./DBLoggable"; -import { HeliconeProxyRequest } from "./HeliconeProxyRequest"; -import { - callPropsFromProxyRequest, - callProvider, - callProviderWithRetry, -} from "./ProviderClient"; -import { CompletedChunk, ReadableInterceptor } from "./ReadableInterceptor"; -import crypto from "crypto"; -import { Headers, Response } from "node-fetch"; - -export type ProxyResult = { - loggable: DBLoggable; - response: Response; -}; - -function getStatus( - responseStatus: number, - endReason?: CompletedChunk["reason"] -) { - if (!endReason) { - return responseStatus; - } else if (endReason === "done") { - return responseStatus; - } else if (endReason === "cancel") { - return -3; - } else if (endReason === "timeout") { - return -2; - } else { - return -100; - } -} - -export async function handleProxyRequest( - proxyRequest: HeliconeProxyRequest -): Promise> { - const { retryOptions } = proxyRequest; - - const requestStartTime = new Date(); - const callProps = callPropsFromProxyRequest(proxyRequest); - const response = await (retryOptions - ? callProviderWithRetry(callProps, retryOptions) - : callProvider(callProps)); - - const interceptor = response.body - ? new ReadableInterceptor(response.body as any, proxyRequest.isStream) - : null; - let body = interceptor ? interceptor.stream : null; - - const responseHeaders = new Headers(response.headers); - responseHeaders.set("Helicone-Status", "success"); - responseHeaders.set("Helicone-Id", proxyRequest.requestId); - - let status = response.status; - if (status < 200 || status >= 600) { - console.error("Invalid status code: ", status); - status = 500; - if (status === 100) { - status = 200; - } - } - - return { - data: { - loggable: new DBLoggable({ - request: dbLoggableRequestFromProxyRequest( - proxyRequest, - requestStartTime - ), - response: { - responseId: crypto.randomUUID(), - getResponseBody: async () => ({ - body: (await interceptor?.waitForChunk())?.body ?? "", - endTime: new Date( - (await interceptor?.waitForChunk())?.endTimeUnix ?? - new Date().getTime() - ), - }), - responseHeaders: new Headers(response.headers), - status: async () => { - return getStatus( - response.status, - (await interceptor?.waitForChunk())?.reason - ); - }, - omitLog: - proxyRequest.requestWrapper.heliconeHeaders.omitHeaders - .omitResponse, - }, - timing: { - startTime: proxyRequest.startTime, - timeToFirstToken: async () => { - if (proxyRequest.isStream) { - const chunk = await interceptor?.waitForChunk(); - const startTimeUnix = proxyRequest.startTime.getTime(); - if (chunk?.firstChunkTimeUnix && startTimeUnix) { - return chunk.firstChunkTimeUnix - startTimeUnix; - } - } - - return null; - }, - }, - tokenCalcUrl: proxyRequest.tokenCalcUrl, - }), - response: new Response(body ?? "", { - ...response, - headers: responseHeaders, - status: status, - }), - }, - error: null, - }; -} diff --git a/valhalla/jawn/src/lib/proxy/RateLimitOptions.ts b/valhalla/jawn/src/lib/proxy/RateLimitOptions.ts deleted file mode 100644 index 5d6a254053..0000000000 --- a/valhalla/jawn/src/lib/proxy/RateLimitOptions.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { Result, err } from "../../packages/common/result"; -import { RateLimitOptions } from "./RateLimiter"; - -export class RateLimitOptionsBuilder { - constructor(private policy: string | null) {} - - build(): Result { - if (this.policy) { - return this.parsePolicy(this.policy); - } - - return { - data: undefined, - error: null, - }; - } - - parsePolicy(input: string): Result { - const regex = /^(\d+);w=(\d+)(?:;u=(request|cents))?(?:;s=([\w-]+))?$/; - - const match = input.match(regex); - - if (!match) { - return err("Invalid rate limit string format"); - } - - const quota = parseInt(match[1], 10); - const time_window = parseInt(match[2], 10); - const unit = match[3] as RateLimitOptions["unit"] | undefined; - - if (unit !== undefined && unit !== "request" && unit !== "cents") { - return err("Invalid rate limit unit"); - } - const segment = match[4]; - - return { - data: { - quota, - time_window, - unit: unit || "request", - segment, - }, - error: null, - }; - } -} diff --git a/valhalla/jawn/src/lib/proxy/RateLimiter.ts b/valhalla/jawn/src/lib/proxy/RateLimiter.ts deleted file mode 100644 index 2faaa14006..0000000000 --- a/valhalla/jawn/src/lib/proxy/RateLimiter.ts +++ /dev/null @@ -1,164 +0,0 @@ -import { redisClient } from "../clients/redisClient"; -import { HeliconeProperties } from "./HeliconeProxyRequest"; - -export interface RateLimitOptions { - time_window: number; - segment: string | undefined; - quota: number; - unit: "request" | "cents"; -} - -export interface RateLimitResponse { - status: "ok" | "rate_limited"; - limit: number; - remaining: number; - reset?: number; -} - -type KVObject = { - timestamp: number; - unit: number; -}[]; - -async function getSegmentKeyValue( - properties: HeliconeProperties, - userId: string | undefined, - segment: string | undefined -): Promise { - if (segment === undefined) { - return "global"; - } else if (segment === "user") { - if (userId === undefined) { - throw new Error("Missing user ID"); - } - return `user=${userId}`; - } else { - const headerValue = properties[segment.toLowerCase()]; - if (headerValue === undefined) { - throw new Error(`Missing "${segment}" header`); - } - return `${segment.toLowerCase()}=${headerValue}`; - } -} - -function binarySearchFirstRelevantIndex( - timestamps: number[], - now: number, - timeWindowMillis: number -): number { - let left = 0; - let right = timestamps.length - 1; - let result = -1; - - while (left <= right) { - const mid = Math.floor((left + right) / 2); - if (now - timestamps[mid] < timeWindowMillis) { - result = mid; - right = mid - 1; - } else { - left = mid + 1; - } - } - - return result; -} - -interface RateLimitProps { - heliconeProperties: HeliconeProperties; - userId: string | undefined; - rateLimitOptions: RateLimitOptions; - providerAuthHash: string | undefined; - cost: number; -} - -export async function checkRateLimit( - props: RateLimitProps -): Promise { - const { heliconeProperties, userId, rateLimitOptions, providerAuthHash } = - props; - const { time_window, segment, quota } = rateLimitOptions; - - const segmentKeyValue = await getSegmentKeyValue( - heliconeProperties, - userId, - segment - ); - const kvKey = `rl_${segmentKeyValue}_${providerAuthHash}_3`; - const kv = await redisClient?.get(kvKey); - const timestamps: KVObject = kv ? JSON.parse(kv) : []; - - const now = Date.now(); - const timeWindowMillis = time_window * 1000; // Convert time_window to milliseconds - - const firstRelevantIndex = binarySearchFirstRelevantIndex( - timestamps.map((x) => x.timestamp), - now, - timeWindowMillis - ); - - const relevantTimestamps = timestamps.slice(firstRelevantIndex); - - if (relevantTimestamps.length === 0) { - return { status: "ok", limit: quota, remaining: quota }; - } - const currentQuota = relevantTimestamps.reduce((acc, x) => acc + x.unit, 0); - - const remaining = Math.max(0, quota - currentQuota); - - const reset = Math.ceil( - (timestamps[firstRelevantIndex].timestamp + timeWindowMillis - now) / 1000 - ); - - if (currentQuota >= quota) { - return { status: "rate_limited", limit: quota, remaining, reset }; - } - - return { status: "ok", limit: quota, remaining }; -} - -export async function updateRateLimitCounter( - props: RateLimitProps -): Promise { - const { - heliconeProperties, - userId, - rateLimitOptions, - providerAuthHash: heliconeAuthHash, - } = props; - const { time_window, segment } = rateLimitOptions; - - const segmentKeyValue = await getSegmentKeyValue( - heliconeProperties, - userId, - segment - ); - - const kvKey = `rl_${segmentKeyValue}_${heliconeAuthHash}_3`; - const kv = await redisClient?.get(kvKey); - const timestamps: KVObject = kv ? JSON.parse(kv) : []; - - const now = Date.now(); - const timeWindowMillis = time_window * 1000; // Convert time_window to milliseconds - const prunedTimestamps = timestamps.filter((timestamp) => { - return now - timestamp.timestamp < timeWindowMillis; - }); - - if (props.rateLimitOptions.unit === "request") { - prunedTimestamps.push({ - timestamp: now, - unit: 1, - }); - } else if (props.rateLimitOptions.unit === "cents") { - prunedTimestamps.push({ - timestamp: now, - unit: props.cost * 100, - }); - } - - await redisClient?.set( - kvKey, - JSON.stringify(prunedTimestamps), - "EX", - Math.ceil(timeWindowMillis / 1000) - ); -} diff --git a/valhalla/jawn/src/lib/proxy/ReadableInterceptor.ts b/valhalla/jawn/src/lib/proxy/ReadableInterceptor.ts deleted file mode 100644 index 30f26ab633..0000000000 --- a/valhalla/jawn/src/lib/proxy/ReadableInterceptor.ts +++ /dev/null @@ -1,100 +0,0 @@ -import { EventEmitter } from "events"; -import { Readable as NodeReadableStream } from "stream"; - -export interface CompletedChunk { - body: string; - reason: "cancel" | "done" | "timeout"; - endTimeUnix: number; - firstChunkTimeUnix: number | null; -} - -export class ReadableInterceptor { - private chunkEmitter = new EventEmitter(); - private cachedChunk: CompletedChunk | null = null; - private responseBody = ""; - private decoder = new TextDecoder("utf-8"); - private firstChunkTimeUnix: number | null = null; - stream: NodeReadableStream; - - constructor( - stream: NodeReadableStream, - private isStream: boolean, - private chunkEventName = "done", - private chunkTimeoutMs = 30 * 60 * 1000 // Default to 30 minutes - ) { - this.stream = this.interceptStream(stream); - this.setupChunkListener(); - } - - private setupChunkListener() { - this.once(this.chunkEventName).then((value) => { - this.cachedChunk = value; - }); - } - - private interceptStream(stream: NodeReadableStream): NodeReadableStream { - const onDone = (reason: "cancel" | "done") => { - this.chunkEmitter.emit(this.chunkEventName, { - body: this.responseBody, - reason, - endTimeUnix: new Date().getTime(), - firstChunkTimeUnix: this.firstChunkTimeUnix, - } as CompletedChunk); - }; - - const onChunk = (chunk: Uint8Array) => { - if (this.isStream && this.firstChunkTimeUnix === null) { - this.firstChunkTimeUnix = Date.now(); - } - - this.responseBody += this.decoder.decode(chunk, { stream: true }); - }; - - stream.on("data", onChunk); - stream.on("end", () => onDone("done")); - stream.on("error", (err) => { - console.error("Stream error:", err); - onDone("cancel"); - }); - - return stream; - } - - async waitForChunk(): Promise { - const startTime = Date.now(); - - while (!this.cachedChunk) { - // Check if the waiting duration has exceeded chunkTimeoutMs - if (Date.now() - startTime >= this.chunkTimeoutMs) { - throw new Error("Waiting for chunk timed out"); - } - - // Wait for 1s before rechecking - await new Promise((resolve) => setTimeout(resolve, 1000)); - } - - return this.cachedChunk; - } - - private once(eventName: string): Promise { - return new Promise((resolve, _reject) => { - const timeoutId = setTimeout(() => { - this.chunkEmitter.removeListener(eventName, listener); - resolve({ - body: this.responseBody, - reason: "timeout", - endTimeUnix: new Date().getTime(), - firstChunkTimeUnix: this.firstChunkTimeUnix, - }); - }, this.chunkTimeoutMs); - - const listener = (value: CompletedChunk) => { - clearTimeout(timeoutId); - this.chunkEmitter.removeListener(eventName, listener); - resolve(value); - }; - - this.chunkEmitter.addListener(eventName, listener); - }); - } -} diff --git a/valhalla/jawn/src/lib/proxy/ResponseBuilder.ts b/valhalla/jawn/src/lib/proxy/ResponseBuilder.ts deleted file mode 100644 index ace658847d..0000000000 --- a/valhalla/jawn/src/lib/proxy/ResponseBuilder.ts +++ /dev/null @@ -1,89 +0,0 @@ -import { RateLimitOptions, RateLimitResponse } from "./RateLimiter"; - -import { Readable } from "stream"; -import { Response, Headers } from "node-fetch"; - -export interface BuildParams { - body: any; // Express allows various types for body (string, object, buffer, etc.) - status: number; - inheritFrom?: Response; -} - -export class ResponseBuilder { - private headers: { [key: string]: string } = {}; - - setHeader(key: string, value: string): ResponseBuilder { - this.headers[key] = value; - return this; - } - - addRateLimitHeaders( - rateLimitCheckResult: RateLimitResponse, - rateLimitOptions: RateLimitOptions - ): void { - const policy = `${rateLimitOptions.quota};w=${rateLimitOptions.time_window};u=${rateLimitOptions.unit}`; - const headers: { [key: string]: string } = { - "Helicone-RateLimit-Limit": rateLimitCheckResult.limit.toString(), - "Helicone-RateLimit-Remaining": rateLimitCheckResult.remaining.toString(), - "Helicone-RateLimit-Policy": policy, - }; - - if (rateLimitCheckResult.reset !== undefined) { - headers["Helicone-RateLimit-Reset"] = - rateLimitCheckResult.reset.toString(); - } - - Object.entries(headers).forEach(([key, value]) => { - this.setHeader(key, value); - }); - } - - build(params: BuildParams): Response { - const { body, inheritFrom: _inheritFrom } = params; - let { status } = params; - const inheritFrom = _inheritFrom ?? new Response(); - - const headers = new Headers(); - inheritFrom.headers.forEach((value, key) => { - headers.set(key, value); - }); - if (status < 200 || status >= 600) { - console.log("Invalid status code:", status); - status = 500; - } - - const res = new Response(body, { - ...inheritFrom, - headers, - status, - }); - - return res; - } - - buildRateLimitedResponse(): Response { - this.setHeader("content-type", "application/json;charset=UTF-8"); - - return this.build({ - body: { - message: "Rate limit reached. Please wait before making more requests.", - }, - status: 429, - }); - } - - readableStreamToNodeStream(readableStream: ReadableStream) { - const reader = readableStream.getReader(); - const nodeStream = new Readable({ - async read() { - const { done, value } = await reader.read(); - if (done) { - this.push(null); - } else { - this.push(Buffer.from(value)); - } - }, - }); - return nodeStream; - } -} diff --git a/valhalla/jawn/src/lib/proxy/S3Manager.ts b/valhalla/jawn/src/lib/proxy/S3Manager.ts deleted file mode 100644 index 7acc266edd..0000000000 --- a/valhalla/jawn/src/lib/proxy/S3Manager.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { S3Client } from "../shared/db/s3Client"; -import { Result } from "../../packages/common/result"; - -export class S3Manager { - constructor(private s3Client: S3Client) {} - - async storeRequestResponseRaw(content: { - organizationId: string; - requestId: string; - // eslint-disable-next-line @typescript-eslint/no-explicit-any - requestBody: any; - responseBody: string; - }): Promise> { - const url = this.s3Client.getRequestResponseRawUrl( - content.requestId, - content.organizationId - ); - - const tags: Record = { - name: "raw-request-response-body", - }; - - return await this.s3Client.store( - url, - JSON.stringify({ - request: content.requestBody, - response: content.responseBody, - }), - tags - ); - } -} diff --git a/valhalla/jawn/src/lib/proxy/WebSocketProxyForwarder.ts b/valhalla/jawn/src/lib/proxy/WebSocketProxyForwarder.ts deleted file mode 100644 index 0e9e27f70b..0000000000 --- a/valhalla/jawn/src/lib/proxy/WebSocketProxyForwarder.ts +++ /dev/null @@ -1,291 +0,0 @@ -import internal from "stream"; -import { WebSocket, WebSocketServer } from "ws"; -import { SocketMessage } from "../../types/realtime"; -import { safeJsonParse } from "../../utils/helpers"; -import { HeliconeQueueProducer } from "../clients/HeliconeQueueProducer"; -import { RequestWrapper } from "../requestWrapper/requestWrapper"; -import { getHeliconeAuthClient } from "../../packages/common/auth/server/AuthClientFactory"; -import { S3Client } from "../shared/db/s3Client"; -import { S3Manager } from "./S3Manager"; -import { handleSocketSession } from "./WebSocketProxyRequestHandler"; - -/* -------------------------------------------------------------------------- */ -// NOTE: "failed: Invalid frame header" is currently being experienced after first minute on local -> local connection causing client side drop -// TODO: If this problem occurs in production, we will have to dig further. -/* -------------------------------------------------------------------------- */ - -const REALTIME_LOGGING_INTERVAL = 15000; // 15 seconds - -// Create a WebSocket server to handle the upgrade -const wss = new WebSocketServer({ noServer: true }); - -// Helper function to log the current session -async function logCurrentSession( - loggedRequestId: string | null, - messages: SocketMessage[], - requestWrapper: RequestWrapper -): Promise<{ - requestId: string | null; -}> { - try { - const authClient = getHeliconeAuthClient(); - // 1. Create loggable object - const { loggable } = await handleSocketSession( - messages, - requestWrapper, - loggedRequestId ?? undefined - ); - const requestId = await loggable.getRequestId(); - - // 2. Get the auth - const { data: auth, error: authError } = await requestWrapper.auth(); - if (authError !== null) { - console.error("Error getting auth", authError); - return { requestId }; - } - - // 3. Get the auth params - const { data: authParams, error: authParamsError } = - await authClient.authenticate(auth); - if (authParamsError || !authParams) { - console.error("Error getting auth params", authParamsError); - return { requestId }; - } - - // 4. Get the org params - const { data: orgParams, error: orgParamsError } = - await authClient.getOrganization(authParams); - - if (orgParamsError || !orgParams) { - console.error("Error getting organization", orgParamsError); - return { requestId }; - } - // 5. Log the session - const result = await loggable.log( - { - s3Manager: new S3Manager( - new S3Client( - process.env.S3_ACCESS_KEY || undefined, - process.env.S3_SECRET_KEY || undefined, - process.env.S3_ENDPOINT ?? "", - process.env.S3_BUCKET_NAME ?? "", - (process.env.S3_REGION as "us-west-2" | "eu-west-1") ?? "us-west-2" - ) - ), - kafkaProducer: new HeliconeQueueProducer(), - }, - authParams, - orgParams, - requestWrapper.heliconeHeaders - ); - - if (result.error) { - console.error("Error logging WebSocket session:", result.error); - } - - return { requestId }; - } catch (error) { - console.error("Error handling socket session:", error); - return { requestId: null }; - } -} - -export function webSocketProxyForwarder( - requestWrapper: RequestWrapper, - socket: internal.Duplex, - head: Buffer -) { - const req = requestWrapper.getRequest(); - - wss.handleUpgrade(req, socket, head, async (clientWs) => { - // Keep message events in memory for logging. - const messages: SocketMessage[] = []; - - // Buffer to store early incoming messages from the client. - const messageBuffer: Array<{ data: ArrayBufferLike; isBinary: boolean }> = - []; - - let requestId: string | null = null; - let loggingInterval: NodeJS.Timeout | null = null; - - // Attach a temporary listener to capture messages until the target is ready. - const tempListener = (data: ArrayBufferLike, isBinary: boolean) => { - messageBuffer.push({ data, isBinary }); - // Also log the message - const dataCopy = Buffer.from(data); - // Always convert to string for message logging - const message = dataCopy.toString("utf-8"); - const content = safeJsonParse(message) ?? {}; - messages.push({ - type: "message", - content, - timestamp: new Date().toISOString(), - from: "client", - }); - }; - clientWs.on("message", tempListener); - - // Create a new WebSocket connection depending on the endpoint - const searchParams = new URLSearchParams(requestWrapper.url.search); - const azureResource = searchParams.get("resource"); - const azureDeployment = searchParams.get("deployment"); - const azureApiVersion = "2024-10-01-preview"; // 2024-12-17 or 2024-10-01-preview - const isAzure = azureResource && azureDeployment; - const targetUrl = isAzure - ? `wss://${azureResource}.openai.azure.com/openai/realtime?api-version=${azureApiVersion}&deployment=${azureDeployment}` - : `wss://api.openai.com/v1/realtime${requestWrapper.url.search}`; - - const openaiWs = new WebSocket(targetUrl, { - headers: { - ...(isAzure - ? { - "api-key": requestWrapper.getAuthorization()?.split(" ")[1], - } - : { - Authorization: requestWrapper.getAuthorization(), - }), - "OpenAI-Beta": "realtime=v1", - }, - }); - - openaiWs.on("error", (error) => { - console.error( - `WebSocket connection error: ${error.message} | Type: ${ - error.name - } | Code: ${(error as any).code || "N/A"} | Stack: ${ - error.stack?.split("\n")[1]?.trim() || "N/A" - } | Target URL: ${targetUrl} | Headers: ${JSON.stringify({ - Authorization: requestWrapper.getAuthorization() - ? "Bearer [REDACTED]" - : "None", - "OpenAI-Beta": "realtime=v1", - })} | Request path: ${ - requestWrapper.url.pathname - } | Azure params: resource=${azureResource}, deployment=${azureDeployment} | Timestamp: ${new Date().toISOString()}` - ); - }); - - openaiWs.on("open", async () => { - // Remove the temporary listener and flush any buffered messages. - clientWs.off("message", tempListener); - messageBuffer.forEach(({ data, isBinary }) => { - openaiWs.send(data, { binary: isBinary }); - }); - - loggingInterval = setInterval(async () => { - const { requestId: newRequestId } = await logCurrentSession( - requestId, - [...messages], - requestWrapper - ); - requestId = newRequestId; - }, REALTIME_LOGGING_INTERVAL); - - // Link the WebSocket connections, with a callback for events. - linkWebSocket({ - clientWs, - targetWs: openaiWs, - on: async (messageType, from, data) => { - /* -------------------------------------------------------------------------- */ - /* Append Message Events */ - /* -------------------------------------------------------------------------- */ - if (messageType === "message") { - const content = safeJsonParse(data as string) ?? {}; - messages.push({ - type: messageType, - content, - timestamp: new Date().toISOString(), - from, - }); - } else if (messageType === "close") { - /* -------------------------------------------------------------------------- */ - /* Handle Closing Event */ - /* -------------------------------------------------------------------------- */ - if (loggingInterval) { - clearInterval(loggingInterval); - } - const { requestId: newRequestId } = await logCurrentSession( - requestId, - [...messages], - requestWrapper - ); - requestId = newRequestId; - } - }, - }); - }); - }); -} - -/** - * Links two WebSocket connections (client and target) by forwarding messages and handling events. - * Sets up error handling, close events, and bidirectional message forwarding with event callbacks. - */ -async function linkWebSocket({ - clientWs, - targetWs, - on, -}: { - targetWs: WebSocket; - clientWs: WebSocket; - on: ( - messageType: - | "open" - | "message" - | "close" - | "error" - | "ping" - | "pong" - | "unexpected-response", - from: "client" | "target", - data: string | Error - ) => Promise; -}) { - // MESSAGE EVENTS - clientWs.on("message", async (data: ArrayBufferLike, isBinary: boolean) => { - targetWs.send(data, { binary: isBinary }); - - const dataCopy = Buffer.from(data); - // Always convert to string for consistency when sending to the callback - const message = dataCopy.toString("utf-8"); - await on("message", "client", message); - }); - targetWs.on("message", async (data: ArrayBufferLike, isBinary: boolean) => { - clientWs.send(data, { binary: isBinary }); - - const dataCopy = Buffer.from(data); - // Always convert to string for consistency when sending to the callback - const message = dataCopy.toString("utf-8"); - await on("message", "target", message); - }); - - // CLOSE EVENTS - let hasLogged = false; // Flag to prevent double logging - - clientWs.on("close", async () => { - if (!hasLogged) { - hasLogged = true; - await on("close", "client", "Client connection closed"); - } - targetWs.close(1000, "Client connection closed"); - }); - targetWs.on("close", async () => { - if (!hasLogged) { - hasLogged = true; - await on("close", "target", "Target connection closed"); - } - clientWs.close(1000, "Target connection closed"); - }); - - // ERROR EVENTS - clientWs.on("error", (error) => { - console.error("Client WebSocket error:", error); - targetWs.close(1000, "Client connection error"); - on("error", "client", error); - }); - targetWs.on("error", (error) => { - console.error("Target WebSocket error:", error); - clientWs.close(1000, "Target connection error"); - on("error", "target", error); - }); -} diff --git a/valhalla/jawn/src/lib/proxy/WebSocketProxyRequestHandler.ts b/valhalla/jawn/src/lib/proxy/WebSocketProxyRequestHandler.ts deleted file mode 100644 index 13685ea255..0000000000 --- a/valhalla/jawn/src/lib/proxy/WebSocketProxyRequestHandler.ts +++ /dev/null @@ -1,162 +0,0 @@ -import crypto from "crypto"; -import { Headers, Response } from "node-fetch"; -import { SocketMessage } from "../../types/realtime"; -import { safeJSONStringify } from "../../utils/sanitize"; -import { RequestWrapper } from "../requestWrapper/requestWrapper"; -import { DBLoggable } from "./DBLoggable"; - -export async function handleSocketSession( - messages: SocketMessage[], - requestWrapper: RequestWrapper, - requestId?: string, -): Promise<{ - loggable: DBLoggable; - response: Response; -}> { - if (!requestId) { - requestId = crypto.randomUUID(); - } - const responseId = crypto.randomUUID(); - - const startTime = new Date( - messages[0]?.timestamp ?? new Date().toISOString() - ); - const endTime = new Date( - messages[messages.length - 1]?.timestamp ?? new Date().toISOString() - ); - - const responseHeaders = new Headers(); - responseHeaders.set("Helicone-Status", "success"); - responseHeaders.set("Helicone-Id", requestId); - - const clientMessages = messages.filter((msg) => msg.from === "client"); - const targetMessages = messages.filter((msg) => msg.from === "target"); - - let requestBody; - const startingSession = targetMessages.find((msg) => msg.content?.session) - ?.content?.session; - if (startingSession) { - requestBody = { - model: startingSession.model, - temperature: startingSession.temperature, - modalities: startingSession.modalities, - instructions: startingSession.instructions, - voice: startingSession.voice, - turn_detection: startingSession.turn_detection, - input_audio_format: startingSession.input_audio_format, - output_audio_format: startingSession.output_audio_format, - tool_choice: startingSession.tool_choice, - max_response_output_tokens: startingSession.max_response_output_tokens, - tools: startingSession.tools, - - messages: clientMessages, - }; - } else { - requestBody = { - error: "No Realtime Starting Session Found.", - - messages: clientMessages, - }; - } - - const responseBody = { - id: startingSession.id, - object: startingSession.object, - usage: calculateTokenUsage(targetMessages), - - messages: targetMessages, - }; - - return { - loggable: new DBLoggable({ - request: { - requestId, - userId: requestWrapper.heliconeHeaders.userId ?? undefined, - provider: "OPENAI", - promptSettings: { promptId: undefined, promptMode: "deactivated" }, - startTime, - path: requestWrapper.url.pathname, - heliconeProxyKeyId: requestWrapper.heliconeProxyKeyId, - isStream: true, - targetUrl: requestWrapper.url.toString(), - properties: requestWrapper.heliconeHeaders.heliconeProperties, - omitLog: false, - nodeId: null, - threat: null, - flaggedForModeration: null, - request_ip: null, - country_code: null, - experimentColumnId: null, - experimentRowIndex: null, - bodyText: safeJSONStringify(requestBody), - }, - response: { - responseId, - getResponseBody: async () => ({ - body: safeJSONStringify(responseBody), - endTime, - }), - status: async () => 200, // always set to 200 (For live session updates, we upsert continually on Clickhouse which requires status not to change) - responseHeaders, - omitLog: requestWrapper.heliconeHeaders.omitHeaders.omitResponse, - }, - timing: { - startTime, - endTime, - timeToFirstToken: async () => null, - }, - tokenCalcUrl: "", - }), - response: new Response("", { - headers: responseHeaders, - status: 200, - }), - }; -} - -/** - * Calculates the total token usage from all "response.done" messages in a WebSocket session. - * - * @param messages - Array of SocketMessages from the WebSocket session - * @returns An object containing: - * - promptTokens: Sum of all input text tokens - * - completionTokens: Sum of all output text tokens - * - totalTokens: Sum of all tokens used - * - promptAudioTokens: Sum of all input audio tokens - * - completionAudioTokens: Sum of all output audio tokens - */ -function calculateTokenUsage(messages: SocketMessage[]) { - const doneMessages = messages.filter( - (msg) => msg.from === "target" && msg.content?.type === "response.done" - ); - - return doneMessages.reduce( - (acc, msg) => { - const usage = msg.content?.response?.usage; - if (!usage) return acc; - - return { - promptTokens: - (acc.promptTokens || 0) + - (usage.input_token_details?.text_tokens || 0), - completionTokens: - (acc.completionTokens || 0) + - (usage.output_token_details?.text_tokens || 0), - totalTokens: (acc.totalTokens || 0) + (usage.total_tokens || 0), - promptAudioTokens: - (acc.promptAudioTokens || 0) + - (usage.input_token_details?.audio_tokens || 0), - completionAudioTokens: - (acc.completionAudioTokens || 0) + - (usage.output_token_details?.audio_tokens || 0), - }; - }, - { - promptTokens: 0, - completionTokens: 0, - totalTokens: 0, - promptAudioTokens: 0, - completionAudioTokens: 0, - } - ); -} diff --git a/valhalla/jawn/src/lib/stores/experimentStore.ts b/valhalla/jawn/src/lib/stores/experimentStore.ts deleted file mode 100644 index be989b8a50..0000000000 --- a/valhalla/jawn/src/lib/stores/experimentStore.ts +++ /dev/null @@ -1,1929 +0,0 @@ -import { getAllSignedURLsFromInputs } from "../../managers/inputs/InputsManager"; -import { costOfPrompt } from "@helicone-package/cost"; -import { dbExecute } from "../shared/db/dbExecute"; -import { FilterNode } from "@helicone-package/filters/filterDefs"; -import { buildFilterPostgres } from "@helicone-package/filters/filters"; -import { - err, - ok, - promiseResultMap, - Result, - resultMap, -} from "../../packages/common/result"; -import { BaseStore } from "./baseStore"; -import { RequestResponseBodyStore } from "./request/RequestResponseBodyStore"; - -export interface ResponseObj { - body: any; - createdAt: string; - completionTokens: number; - promptTokens: number; - promptCacheWriteTokens: number; - promptCacheReadTokens: number; - delayMs: number; - model: string; -} - -export interface RequestObj { - id: string; - provider: string; -} - -export interface Score { - valueType: string; - value: number | Date | string; -} - -export interface ExperimentDatasetRow { - rowId: string; - inputRecord: { - id: string; - requestId: string; - requestPath: string; - inputs: Record; - autoInputs: Record[]; - response: ResponseObj; - request: RequestObj; - }; - rowIndex: number; - columnId: string; - scores: Record; -} - -export interface Experiment { - id: string; - organization: string; - dataset: { - id: string; - name: string; - rows: ExperimentDatasetRow[]; - }; - meta: any; - createdAt: string; - hypotheses: { - id: string; - promptVersionId: string; - promptVersion?: { - template: any; - }; - parentPromptVersion?: { - template: any; - }; - model: string; - status: string; - createdAt: string; - providerKey: string; - runs: { - datasetRowId: string; - resultRequestId: string; - response?: ResponseObj; - scores: Record; - request?: RequestObj; - }[]; - }[]; - scores: ExperimentScores | null; - tableId: string | null; -} - -export interface ExperimentScores { - dataset: { - scores: Record; - }; - hypothesis: { - runsCount: number; - scores: Record; - }; -} - -export interface IncludeExperimentKeys { - inputs?: true; - promptVersion?: true; - responseBodies?: true; - score?: true; -} - -export interface ExperimentTableColumn { - id: string; - columnName: string; - columnType: string; - hypothesisId?: string; - cells: { - id: string; - rowIndex: number; - requestId?: string; - value: string | null; - metadata?: Record; - }[]; - metadata?: Record; -} - -export interface ExperimentTable { - id: string; - name: string; - experimentId: string; - columns: ExperimentTableColumn[]; - metadata?: Record; -} - -export interface ExperimentTableSimplified { - id: string; - name: string; - experimentId: string; - createdAt: string; - metadata?: any; - columns: { - id: string; - columnName: string; - columnType: string; - }[]; -} - -function getExperimentsQuery( - filter?: string, - limit?: number, - include?: IncludeExperimentKeys -) { - const responseObjectString = (filter: string) => { - return `( - SELECT jsonb_build_object( - 'createdAt', response.created_at, - 'completionTokens', response.completion_tokens, - 'promptTokens', response.prompt_tokens, - 'delayMs', response.delay_ms, - 'model', response.model - ) - FROM response - WHERE ${filter} - )`; - }; - - const requestObjectString = (filter: string) => { - return `( - SELECT jsonb_build_object( - 'id', re.id, - 'provider', re.provider - ) - FROM request re - WHERE ${filter} - LIMIT 1 - )`; - }; - - return ` - SELECT jsonb_build_object( - 'id', e.id, - 'meta', e.meta, - 'organization', e.organization, - 'dataset', jsonb_build_object( - 'id', ds.id, - 'name', ds.name, - 'rows', json_agg( - jsonb_build_object( - - ${ - include?.inputs - ? ` - 'inputRecord', ( - SELECT jsonb_build_object( - 'id', pir.id, - ${ - include?.responseBodies - ? ` - 'response', ${responseObjectString( - "response.request = pir.source_request" - )}, - 'request', ${requestObjectString( - "re.id = pir.source_request" - )}, - ` - : "" - } - 'requestId', pir.source_request, - 'requestPath', re.path, - 'inputs', pir.inputs, - 'autoInputs', pir.auto_prompt_inputs - ) - FROM prompt_input_record pir - left join request re on re.id = pir.source_request - WHERE pir.id = dsr.input_record - AND re.helicone_org_id = e.organization - ),` - : "" - } - 'rowId', dsr.id, - 'scores', ( - SELECT jsonb_object_agg( - sa.score_key, - jsonb_build_object( - 'value', sv.int_value, - 'valueType', sa.value_type - ) - ) - FROM score_value sv - JOIN score_attribute sa ON sa.id = sv.score_attribute - JOIN prompt_input_record pir ON pir.source_request = sv.request_id - WHERE pir.id = dsr.input_record - AND sa.organization = e.organization - ) - ) - ) - ), - 'createdAt', e.created_at, - 'hypotheses', COALESCE(( - SELECT json_agg( - jsonb_build_object( - 'id', h.id, - 'providerKey', h.provider_key, - 'promptVersionId', h.prompt_version, - ${ - include?.promptVersion - ? ` - 'promptVersion', ( - SELECT jsonb_build_object( - 'template', pv.helicone_template - ) - FROM prompts_versions pv - WHERE pv.id = h.prompt_version - ),` - : "" - } - ${ - include?.promptVersion - ? ` - 'parentPromptVersion', ( - SELECT jsonb_build_object( - 'template', pv_parent.helicone_template - ) - FROM prompts_versions pv_current - JOIN prompts_versions pv_parent ON pv_parent.prompt_v2 = pv_current.prompt_v2 - WHERE pv_current.id = h.prompt_version - AND pv_parent.helicone_template is not null - AND pv_parent.organization = e.organization - AND pv_current.organization = e.organization - AND pv_parent.minor_version = 0 - and pv_parent.major_version = pv_current.major_version - limit 1 - ),` - : "" - } - 'model', h.model, - 'status', h.status, - 'createdAt', h.created_at, - 'runs', ( - SELECT json_agg( - jsonb_build_object( - ${ - include?.responseBodies - ? ` - 'response', ${responseObjectString( - "response.request = hr.result_request_id" - )}, - 'request', ${requestObjectString( - "request.id = hr.result_request_id" - )}, - ` - : "" - } - 'datasetRowId', hr.dataset_row, - 'resultRequestId', hr.result_request_id, - 'scores', ( - SELECT jsonb_object_agg( - sa.score_key, - jsonb_build_object( - 'value', sv.int_value, - 'valueType', sa.value_type - ) - ) - FROM score_value sv - JOIN score_attribute sa ON sa.id = sv.score_attribute - WHERE sv.request_id = hr.result_request_id - AND sa.organization = e.organization - ) - ) - ) - FROM experiment_v2_hypothesis_run hr - left join experiment_v2_hypothesis evh on evh.id = hr.experiment_hypothesis - left join experiment_v2 on experiment_v2.id = evh.experiment_v2 - left join request on request.id = hr.result_request_id - WHERE hr.experiment_hypothesis = h.id - AND experiment_v2.organization = e.organization - AND request.id = hr.result_request_id - ) - ) - ) - FROM experiment_v2_hypothesis h - WHERE h.experiment_v2 = e.id - ), '[]'::json) - ) - FROM experiment_v2 e - left join experiment_v2_hypothesis eh on e.id = eh.experiment_v2 - left join prompts_versions pv on pv.id = eh.prompt_version - left join prompt_v2 p_v2 on p_v2.id = pv.prompt_v2 - LEFT JOIN helicone_dataset ds ON e.dataset = ds.id - LEFT JOIN experiment_dataset_v2_row dsr ON dsr.dataset_id = ds.id - ${filter ? `WHERE ${filter}` : ""} - GROUP BY e.id, ds.id - ORDER BY e.created_at DESC - ${limit ? `limit ${limit}` : ""} - `; -} - -async function enrichExperiment( - experiment: Experiment, - include: IncludeExperimentKeys -) { - const bodyStore = new RequestResponseBodyStore(experiment.organization); - - if (include.inputs) { - for (const row of experiment.dataset.rows) { - if (row.inputRecord) { - row.inputRecord.inputs = await getAllSignedURLsFromInputs( - row.inputRecord.inputs, - experiment.organization, - row.inputRecord.requestId - ); - if (include.responseBodies) { - row.inputRecord.response.body = await ( - await bodyStore.getRequestResponseBody(row.inputRecord.requestId) - ).data?.response; - } - } - } - } - - if (include.responseBodies) { - for (const hypothesis of experiment.hypotheses) { - for (const run of hypothesis?.runs ?? []) { - if (run.response) { - run.response.body = await ( - await bodyStore.getRequestResponseBody(run.resultRequestId) - ).data?.response; - } - } - } - } - - if (include.responseBodies) { - const experimentScores = getExperimentScores(experiment); - if (experimentScores.data) { - experiment.scores = experimentScores.data; - } - } - return experiment; -} - -export class ExperimentStore extends BaseStore { - async getExperiments( - filter: FilterNode, - include: IncludeExperimentKeys - ): Promise> { - const builtFilter = buildFilterPostgres({ - filter, - argsAcc: [this.organizationId], - }); - - const experimentQuery = getExperimentsQuery( - `e.organization = $1 AND ${builtFilter.filter}`, - 30, - include - ); - - const experiments = resultMap( - await dbExecute<{ - jsonb_build_object: Experiment; - }>(experimentQuery, builtFilter.argsAcc), - (d) => d.map((d) => d.jsonb_build_object) - ); - - if (experiments.error) { - return err(experiments.error); - } - - const experimentResults = await Promise.all( - experiments.data!.map((d) => enrichExperiment(d, include)) - ); - return ok(experimentResults); - } - - async createNewExperimentTable( - datasetId: string, - name: string, - experimentMetadata: Record, - experimentTableMetadata?: Record - ): Promise< - Result<{ experimentTableId: string; experimentId: string }, string> - > { - try { - // Create experiment - const experimentResult = await dbExecute<{ id: string }>( - `INSERT INTO experiment_v2 (dataset, organization, meta) - VALUES ($1, $2, $3) - RETURNING id`, - [datasetId, this.organizationId, experimentMetadata] - ); - - if ( - experimentResult.error || - !experimentResult.data || - experimentResult.data.length === 0 - ) { - return err("Failed to create experiment"); - } - - const experimentId = experimentResult.data[0].id; - - // Create experiment table - const experimentTableResult = await dbExecute<{ id: string }>( - `INSERT INTO experiment_table (experiment_id, name, organization_id, metadata) - VALUES ($1, $2, $3, $4) - RETURNING id`, - [ - experimentId, - name, - this.organizationId, - experimentTableMetadata ?? null, - ] - ); - - if ( - experimentTableResult.error || - !experimentTableResult.data || - experimentTableResult.data.length === 0 - ) { - return err("Failed to create experiment table"); - } - - return ok({ - experimentTableId: experimentTableResult.data[0].id, - experimentId: experimentId, - }); - } catch (error) { - console.error("Error creating experiment table:", error); - return err(String(error)); - } - } - - async getMaxRowIndex( - experimentTableId: string - ): Promise> { - const query = ` - SELECT COALESCE(MAX(ecv.row_index), -1) as max_row_index - FROM experiment_cell ecv - JOIN experiment_column ec ON ec.id = ecv.column_id - JOIN experiment_table et ON et.id = ec.table_id - WHERE et.id = $1 - `; - - const result = await dbExecute<{ max_row_index: number }>(query, [ - experimentTableId, - ]); - - if (result.error || result.data === null || result.data.length === 0) { - return err(result.error ?? "Failed to get max row index"); - } - - return ok(result.data[0].max_row_index); - } - - async getExperimentTableColumns( - experimentTableId: string - ): Promise, string>> { - try { - const result = await dbExecute<{ id: string; column_name: string }>( - `SELECT id, column_name - FROM experiment_column - WHERE table_id = $1`, - [experimentTableId] - ); - - if (result.error || !result.data) { - return err(result.error ?? "Experiment columns not found"); - } - - const columns = result.data.map((col) => ({ - id: col.id, - name: col.column_name, - })); - - return ok(columns); - } catch (error) { - console.error("Error fetching experiment table columns:", error); - return err(String(error)); - } - } - - async updateExperimentTableMetadata(params: { - experimentTableId: string; - metadata: Record; - }): Promise> { - try { - const existingMetadata = await this.getExperimentTable( - params.experimentTableId - ); - - if (existingMetadata.error || !existingMetadata.data) { - return err("Failed to get existing experiment table metadata"); - } - - const result = await dbExecute( - `UPDATE experiment_table - SET metadata = $1 - WHERE id = $2 - AND organization_id = $3`, - [ - { - ...existingMetadata.data?.metadata, - ...params.metadata, - }, - params.experimentTableId, - this.organizationId, - ] - ); - - if (result.error) { - return err(result.error); - } - return ok(null); - } catch (error) { - console.error("Error updating experiment table metadata:", error); - return err(String(error)); - } - } - - async createExperimentTableColumn( - experimentTableId: string, - columnName: string, - columnType: "input" | "output" | "experiment", - hypothesisId?: string, - promptVersionId?: string, - inputKeys?: string[] - ): Promise> { - try { - const metadata: Record = {}; - if (hypothesisId) { - metadata.hypothesisId = hypothesisId; - } - if (promptVersionId) { - metadata.promptVersionId = promptVersionId; - } - - // Create the column using dbExecute - const columnResult = await dbExecute<{ id: string }>( - `INSERT INTO experiment_column (table_id, column_name, column_type, metadata) - VALUES ($1, $2, $3, $4) - RETURNING id, table_id, column_name, column_type, metadata`, - [experimentTableId, columnName, columnType, metadata] - ); - - if ( - columnResult.error || - !columnResult.data || - columnResult.data.length === 0 - ) { - return err(columnResult.error ?? "Failed to create column"); - } - - // Fetch existing columns for the experiment table - const existingColumnsResult = await dbExecute<{ id: string }>( - `SELECT id FROM experiment_column - WHERE table_id = $1 - LIMIT 1`, - [experimentTableId] - ); - - if ( - existingColumnsResult.error || - !existingColumnsResult.data || - existingColumnsResult.data.length === 0 - ) { - return err("No existing columns found in the experiment table."); - } - - // Use the first existing column to copy metadata from - const existingColumnId = existingColumnsResult.data[0].id; - - // Fetch existing cells to obtain inputIds - const existingCellsResult = await dbExecute<{ - row_index: number; - metadata: any; - }>( - `SELECT row_index, metadata - FROM experiment_cell - WHERE column_id = $1`, - [existingColumnId] - ); - - if (existingCellsResult.error || !existingCellsResult.data) { - return err( - existingCellsResult.error ?? "Failed to fetch existing cells" - ); - } - - // Prepare arrays to collect updates and new cells - const inputUpdates: { - inputId: string; - inputs: Record; - }[] = []; - const newCellsData: any[] = []; - - // Iterate over existing cells - for (const cell of existingCellsResult.data) { - const inputId = cell.metadata?.inputId; - if (inputId) { - // Build the inputs object you wish to add - const inputs = Object.fromEntries( - (inputKeys ?? []).map((key) => [key, ""]) - ); - - // Collect data for bulk input record update - inputUpdates.push({ inputId, inputs }); - } - - // Prepare new cell data - newCellsData.push({ - column_id: columnResult.data[0].id, - row_index: cell.row_index, - status: "initialized", - value: null, - metadata: { ...(cell.metadata ?? {}), cellType: columnType }, - }); - } - - // Insert new cells into the database - if (newCellsData.length > 0) { - const insertValues = newCellsData - .map((cell, index) => { - const baseIdx = index * 4 + 1; - return `($${baseIdx}, $${baseIdx + 1}, $${baseIdx + 2}, $${ - baseIdx + 3 - })`; - }) - .join(", "); - - const params = newCellsData.flatMap((cell) => [ - cell.column_id, - cell.row_index, - cell.status, - cell.metadata, - ]); - - const cellsInsertResult = await dbExecute( - `INSERT INTO experiment_cell (column_id, row_index, status, metadata) - VALUES ${insertValues}`, - params - ); - - if (cellsInsertResult.error) { - return err(cellsInsertResult.error); - } - } - - // Perform bulk update of input records - if (inputUpdates.length > 0) { - // Build the SQL query for batch updating input records - const updateQueries = inputUpdates - .map((update, index) => { - const paramIdx1 = index * 2 + 1; - const paramIdx2 = index * 2 + 2; - return ` - UPDATE prompt_input_record - SET inputs = COALESCE(inputs, '{}'::jsonb) || $${paramIdx1}::jsonb - WHERE id = $${paramIdx2}; - `; - }) - .join("\n"); - - const queryParams = inputUpdates.flatMap((update) => [ - JSON.stringify(update.inputs), - update.inputId, - ]); - - const result = await dbExecute(updateQueries, queryParams); - - if (result.error) { - return err(result.error ?? "Failed to update input records"); - } - } - - return ok({ id: columnResult.data[0].id }); - } catch (error) { - console.error("Error creating experiment table column:", error); - return err(String(error)); - } - } - - async createExperimentTableColumns( - experimentTableId: string, - columns: { - name: string; - type: "input" | "output" | "experiment"; - hypothesisId?: string; - promptVersionId?: string; - }[] - ): Promise> { - const results = await Promise.all( - columns.map((column) => - this.createExperimentTableColumn( - experimentTableId, - column.name, - column.type, - column.hypothesisId, - column.promptVersionId - ) - ) - ); - if (results.some((result) => result.error)) { - return err("Failed to create experiment table columns"); - } - return ok({ ids: results.map((result) => result.data!.id) }); - } - - async createExperimentCell( - columnId: string, - rowIndex: number, - value: string | null, - metadata?: Record - ): Promise> { - try { - const result = await dbExecute<{ - id: string; - metadata: Record | null; - }>( - `INSERT INTO experiment_cell - (column_id, row_index, value, status, metadata) - VALUES ($1, $2, $3, $4, $5) - RETURNING id, metadata`, - [columnId, rowIndex, value ?? null, "initialized", metadata ?? null] - ); - - if (result.error || !result.data || result.data.length === 0) { - return err(result.error ?? "Failed to create experiment cell"); - } - - return ok({ - id: result.data[0].id, - cellType: result.data[0].metadata?.cellType, - }); - } catch (error) { - console.error("Error creating experiment cell:", error); - return err(String(error)); - } - } - - async getExperimentCellsByIds(cellIds: string[]): Promise< - Result< - { - cellId: string; - status: string | null; - value: string | null; - metadata: Record | null; - rowIndex: number; - columnId: string; - }[], - string - > - > { - const query = ` - SELECT - ec.id, - ec.status, - ec.value, - ec.metadata, - ec.row_index, - ec.column_id - FROM experiment_cell ec - WHERE ec.id = ANY($1::uuid[]) - `; - const result = await dbExecute<{ - id: string; - status: string | null; - value: string | null; - metadata: Record | null; - row_index: number; - column_id: string; - }>(query, [cellIds]); - - if (result.error || !result.data) { - return err(result.error ?? "Failed to get experiment cells"); - } - return ok( - result.data.map((cell) => ({ - cellId: cell.id, - status: cell.status, - value: cell.value, - metadata: cell.metadata, - rowIndex: cell.row_index, - columnId: cell.column_id, - })) - ); - } - - async updateExperimentCell(params: { - cellId: string; - status: string | null; - value?: string | null; - metadata?: Record | null; - }): Promise< - Result< - { - cellId: string; - status: string | null; - value: string | null; - metadata: Record | null; - columnName: string; - }, - string - > - > { - const { cellId, status, value, metadata } = params; - - // Build the updates dynamically - const updates: string[] = []; - const values: any[] = []; - let index = 1; - - if (status !== null && status !== undefined && status !== "") { - updates.push(`status = $${index++}`); - values.push(status); - } - - if (value !== null && value !== undefined && value !== "") { - updates.push(`value = $${index++}`); - values.push(value); - } - - if (metadata) { - // Use jsonb concatenation operator to merge existing and new metadata - updates.push( - `metadata = COALESCE(ec.metadata, '{}'::jsonb) || $${index++}::jsonb` - ); - values.push(JSON.stringify(metadata)); - } - - if (updates.length === 0) { - return err("No fields to update"); - } - - const query = ` - UPDATE experiment_cell ec - SET ${updates.join(", ")} - FROM experiment_column col - WHERE ec.id = $${index} - AND ec.column_id = col.id - RETURNING ec.id, ec.status, ec.value, ec.metadata, col.column_name; - `; - - values.push(cellId); - - const result = await dbExecute<{ - id: string; - status: string | null; - value: string | null; - metadata: Record | null; - column_name: string; - }>(query, values); - - if (result.error || !result.data || result.data.length === 0) { - return err(result.error ?? "Failed to update experiment cell"); - } - - return ok({ - cellId: result.data[0].id, - status: result.data[0].status, - value: result.data[0].value, - metadata: result.data[0].metadata, - columnName: result.data[0].column_name, - }); - } - - async updateExperimentCells(params: { - cells: { - cellId: string; - status: string | null; - value?: string | null; - metadata?: Record | null; - }[]; - }): Promise< - Result< - { - cellId: string; - status: string | null; - value?: string | null; - metadata?: Record | null; - columnName: string; - }[], - string - > - > { - const results = await Promise.all( - params.cells.map((cell) => this.updateExperimentCell(cell)) - ); - if (results.some((result) => result.error)) { - return err("Failed to update experiment cell statuses"); - } - return ok(results.map((result) => result.data!)); - } - - async createExperimentTableRow(params: { - experimentTableId: string; - rowIndex: number; - metadata?: Record; - inputs?: Record; - }): Promise> { - try { - // First, get all columns for this experiment table - const columnsResult = await dbExecute<{ - id: string; - column_name: string; - column_type: string; - }>( - `SELECT id, column_name, column_type - FROM experiment_column - WHERE table_id = $1`, - [params.experimentTableId] - ); - - if (columnsResult.error || !columnsResult.data) { - return err(columnsResult.error ?? "Failed to fetch experiment columns"); - } - - // Create empty cells for each column - let cellPromises: Promise< - Result<{ id: string; cellType: string }, string> - >[] = []; - - if (params.inputs && Object.keys(params.inputs).length > 0) { - cellPromises = columnsResult.data.map((column) => - this.createExperimentCell( - column.id, - params.rowIndex, - params?.inputs?.[column.column_name] ?? null, - { - ...params.metadata, - cellType: column.column_type, - } - ) - ); - } else { - cellPromises = columnsResult.data.map((column) => - this.createExperimentCell(column.id, params.rowIndex, null, { - ...params.metadata, - cellType: column.column_type, - }) - ); - } - - const results = await Promise.all(cellPromises); - - // Check if any cell creation failed - const failedResults = results.filter((result) => result.error); - if (failedResults.length > 0) { - return err(`Failed to create cells: ${failedResults[0].error}`); - } - - // Return the first cell's ID as the row identifier - // Since all cells are created for the same row, any cell ID can serve as the row ID - return ok( - results.map((result) => ({ - id: result.data!.id, - cellType: result.data!.cellType, - })) - ); - } catch (error) { - console.error("Error creating experiment table row:", error); - return err(`Failed to create experiment row: ${error}`); - } - } - - async softDeleteExperimentTableRow(params: { - experimentTableId: string; - rowIndex: number; - }): Promise> { - const { experimentTableId, rowIndex } = params; - - try { - const query = ` - UPDATE experiment_cell AS ec - SET metadata = COALESCE(ec.metadata, '{}'::jsonb) || '{"deleted": true}'::jsonb - FROM experiment_column AS col - WHERE ec.column_id = col.id - AND col.table_id = $1 - AND ec.row_index = $2 - `; - - const result = await dbExecute(query, [experimentTableId, rowIndex]); - - if (result.error) { - return err(`Failed to soft delete row ${rowIndex}: ${result.error}`); - } - - return ok(null); - } catch (error) { - console.error(`Error soft deleting experiment table row: ${error}`); - return err(`Error soft deleting row ${rowIndex}: ${error}`); - } - } - - async createExperimentCells( - cells: { - columnId: string; - rowIndex: number; - value: string | null; - metadata?: Record; - }[] - ): Promise> { - const results = await Promise.all( - cells.map((cell) => - this.createExperimentCell( - cell.columnId, - cell.rowIndex, - cell.value === null || cell.value === "" ? null : cell.value, - cell.metadata - ) - ) - ); - if (results.some((result) => result.error)) { - return err("Failed to create experiment cells"); - } - return ok({ ids: results.map((result) => result.data!.id) }); - } - - async getExperimentHypothesisScores(params: { - hypothesisId: string; - }): Promise> { - const { hypothesisId } = params; - - const query = ` - WITH latest_runs AS ( - SELECT DISTINCT ON (hr.dataset_row) - hr.result_request_id, - hr.dataset_row, - r.created_at - FROM experiment_v2_hypothesis_run hr - JOIN request r ON r.id = hr.result_request_id - WHERE hr.experiment_hypothesis = $1 - AND r.helicone_org_id = $2 - ORDER BY hr.dataset_row, r.created_at DESC - ) - SELECT - hr.result_request_id, - r.provider, - r.model, - r.created_at, - resp.completion_tokens, - resp.prompt_tokens, - resp.delay_ms, - COALESCE( - ( - SELECT jsonb_object_agg( - sa.score_key, - jsonb_build_object( - 'value', sv.int_value, - 'valueType', sa.value_type - ) - ) - FROM score_value sv - JOIN score_attribute sa ON sa.id = sv.score_attribute - WHERE sv.request_id = r.id and sa.organization = $2 - ), - '{}'::jsonb - ) as scores - FROM latest_runs lr - JOIN experiment_v2_hypothesis_run hr ON hr.result_request_id = lr.result_request_id - JOIN request r ON r.id = hr.result_request_id - JOIN response resp ON resp.request = r.id - WHERE hr.experiment_hypothesis = $1 - AND r.helicone_org_id = $2 - `; - - const result = await dbExecute<{ - result_request_id: string; - provider: string; - model: string; - created_at: string; - completion_tokens: number; - prompt_tokens: number; - prompt_cache_write_tokens: number; - prompt_cache_read_tokens: number; - delay_ms: number; - scores: Record; - }>(query, [hypothesisId, this.organizationId]); - - if (result.error) { - return err(result.error); - } - - const runs = result.data; - - if (!runs || runs.length === 0) { - return ok({ - runsCount: 0, - scores: { - model: { value: "No data", valueType: "string" }, - cost: { value: -1, valueType: "number" }, - latency: { value: -1, valueType: "number" }, - }, - }); - } - - try { - const totalCost = runs.reduce((sum, run) => { - const cost = - modelCost({ - model: run.model, - provider: run.provider, - sum_prompt_tokens: run.prompt_tokens, - prompt_cache_write_tokens: run.prompt_cache_write_tokens, - prompt_cache_read_tokens: run.prompt_cache_read_tokens, - sum_completion_tokens: run.completion_tokens, - }) ?? 0; - return sum + cost; - }, 0); - - const totalLatency = runs.reduce((sum, run) => sum + run.delay_ms, 0); - - // Collect the custom scores from each run - const customScoresArray = runs.map((run) => run.scores); - - const customScores = getCustomScores(customScoresArray); - - const scores: ExperimentScores["hypothesis"] = { - runsCount: runs.length, - scores: { - dateCreated: { - value: new Date(runs[0].created_at), - valueType: "date", - }, - model: { value: runs[0].model, valueType: "string" }, - cost: { - value: totalCost / runs.length, - valueType: "number", - }, - latency: { - value: totalLatency / runs.length, - valueType: "number", - }, - ...customScores, - }, - }; - - return ok(scores); - } catch (error) { - console.error("Error calculating hypothesis scores", error); - return err("Error calculating hypothesis scores"); - } - } - - async getExperimentTable( - experimentTableId: string - ): Promise> { - const query = ` - SELECT - et.id, - et.name, - et.experiment_id as "experimentId", - et.metadata, - COALESCE( - jsonb_agg( - jsonb_build_object( - 'id', ec.id, - 'columnName', ec.column_name, - 'columnType', ec.column_type, - 'metadata', ec.metadata, - 'cells', ( - SELECT jsonb_agg( - jsonb_build_object( - 'id', ecv.id, - 'rowIndex', ecv.row_index, - 'value', ecv.value, - 'status', ecv.status, - 'metadata', CASE - WHEN ecv.metadata IS NULL THEN NULL - ELSE ecv.metadata::jsonb - END - ) - ORDER BY ecv.row_index - ) - FROM experiment_cell ecv - WHERE ecv.column_id = ec.id - ) - ) - ORDER BY - CASE - WHEN ec.column_type = 'input' THEN 1 - WHEN ec.column_type = 'output' THEN 2 - WHEN ec.column_type = 'experiment' THEN 3 - ELSE 4 - END, - ec.created_at ASC - ), - '[]' - ) as columns - FROM experiment_table et - LEFT JOIN experiment_column ec ON ec.table_id = et.id - WHERE et.id = $1 AND et.organization_id = $2 - GROUP BY et.id, et.name, et.experiment_id, et.metadata; - `; - - try { - const { data, error } = await dbExecute<{ - id: string; - name: string; - experimentId: string; - columns: ExperimentTableColumn[]; - }>(query, [experimentTableId, this.organizationId]); - - if (error) { - console.error("Query Error:", error); - return err(error); - } - - if (!data || data.length === 0) { - return err("Experiment table not found"); - } - - // Sort columns by columnType: input, output, experiment - const result = { - ...data[0], - columns: data[0].columns - .sort((a, b) => { - const order = { input: 0, output: 1, experiment: 2 }; - return ( - order[a.columnType as keyof typeof order] - - order[b.columnType as keyof typeof order] - ); - }) - .map((col) => ({ - ...col, - cells: col.cells || [], - })), - }; - - return ok(result); - } catch (e) { - console.error("Exception:", e); - return err("An unexpected error occurred"); - } - } - - async getExperimentTableById( - experimentTableId: string - ): Promise> { - try { - // First get the experiment table - const tableResult = await dbExecute<{ - id: string; - name: string; - experiment_id: string; - metadata: any; - created_at: string; - }>( - `SELECT id, name, experiment_id, metadata, created_at - FROM experiment_table - WHERE id = $1 AND organization_id = $2`, - [experimentTableId, this.organizationId] - ); - - if ( - tableResult.error || - !tableResult.data || - tableResult.data.length === 0 - ) { - return err("Experiment table not found"); - } - - // Then get the columns - const columnsResult = await dbExecute<{ - id: string; - column_name: string; - column_type: string; - metadata: any; - }>( - `SELECT id, column_name, column_type, metadata - FROM experiment_column - WHERE table_id = $1`, - [experimentTableId] - ); - - if (columnsResult.error) { - return err("Failed to fetch experiment table columns"); - } - - const columns = (columnsResult.data || []).map((col) => ({ - id: col.id, - columnName: col.column_name, - columnType: col.column_type, - metadata: col.metadata, - })); - - const table = tableResult.data[0]; - return ok({ - id: table.id, - name: table.name, - experimentId: table.experiment_id, - metadata: table.metadata, - createdAt: table.created_at, - columns: columns, - }); - } catch (error) { - console.error("Error fetching experiment table by ID:", error); - return err(String(error)); - } - } - - async getExperimentTables(): Promise< - Result - > { - try { - const result = await dbExecute<{ - id: string; - name: string; - experiment_id: string; - metadata: any; - created_at: string; - }>( - `SELECT id, name, experiment_id, metadata, created_at - FROM experiment_table - WHERE organization_id = $1 - ORDER BY created_at DESC`, - [this.organizationId] - ); - - if (result.error) { - return err("Failed to fetch experiment tables"); - } - - const tables = (result.data || []).map((table) => ({ - id: table.id, - name: table.name, - experimentId: table.experiment_id, - metadata: table.metadata, - createdAt: table.created_at, - columns: [], - })); - - return ok(tables); - } catch (error) { - console.error("Error fetching experiment tables:", error); - return err(String(error)); - } - } - - async getExperimentById( - experimentId: string, - include: IncludeExperimentKeys - ): Promise> { - return await ServerExperimentStore.getExperiment(experimentId, include); - } - - async getDatasetRowsByIds(params: { - datasetRowIds: string[]; - include?: IncludeExperimentKeys; - }): Promise> { - const { datasetRowIds, include } = params; - - // Helper functions for building parts of the query - const responseObjectString = () => ` - jsonb_build_object( - 'body', COALESCE(resp.body, ''), - 'createdAt', COALESCE(resp.created_at::text, ''), - 'completionTokens', COALESCE(resp.completion_tokens, 0), - 'promptTokens', COALESCE(resp.prompt_tokens, 0), - 'delayMs', COALESCE(resp.delay_ms, 0), - 'model', COALESCE(resp.model, '') - ) - `; - - const requestObjectString = () => ` - jsonb_build_object( - 'id', req.id, - 'provider', COALESCE(req.provider, '') - ) - `; - - const query = ` - SELECT jsonb_build_object( - 'rowId', dsr.id, - 'inputRecord', jsonb_build_object( - 'id', pir.id, - 'requestId', pir.source_request, - 'requestPath', COALESCE(req.path, ''), - 'inputs', COALESCE(pir.inputs::jsonb, '{}'::jsonb), - 'autoInputs', COALESCE(pir.auto_prompt_inputs::jsonb, '[]'::jsonb) - ${ - include?.responseBodies - ? ` - ,'response', ${responseObjectString()} - ,'request', ${requestObjectString()} - ` - : "" - } - ) - ${ - include?.score - ? ` - ,'scores', COALESCE(( - SELECT jsonb_object_agg( - sa.score_key, - jsonb_build_object( - 'value', - CASE - WHEN sa.value_type = 'int' THEN sv.int_value::text - WHEN sa.value_type = 'float' THEN sv.float_value::text - WHEN sa.value_type = 'string' THEN sv.string_value - WHEN sa.value_type = 'boolean' THEN sv.boolean_value::text - WHEN sa.value_type = 'date' THEN sv.date_value::text - END, - 'valueType', sa.value_type - ) - ) - FROM score_value sv - JOIN score_attribute sa ON sa.id = sv.score_attribute - WHERE sv.request_id = pir.source_request - ), '{}'::jsonb) - ` - : "" - } - ) AS row_data - FROM experiment_dataset_v2_row dsr - LEFT JOIN prompt_input_record pir ON pir.id = dsr.input_record - LEFT JOIN request req ON req.id = pir.source_request - ${ - include?.responseBodies - ? "LEFT JOIN response resp ON resp.request = pir.source_request" - : "" - } - WHERE dsr.id = ANY($1::uuid[]) - `; - - try { - const { data, error } = await dbExecute<{ - row_data: ExperimentDatasetRow; - }>(query, [datasetRowIds]); - - if (error) { - console.error("Query Error:", error); - return err(error); - } - - if (!data) { - return err("No data returned from the query"); - } - - return ok( - data.map((d) => { - const row = d.row_data; - row.inputRecord.requestPath = - row.inputRecord.requestPath === "" - ? `${process.env.HELICONE_WORKER_URL}/v1/chat/completions` - : row.inputRecord.requestPath; - return row; - }) - ); - } catch (e) { - console.error("Exception:", e); - return err("An unexpected error occurred"); - } - } - - async createExperimentTableRowWithCells(params: { - experimentTableId: string; - rowIndex: number; - metadata?: Record; - cells: { - columnId: string; - value: string | null; - metadata?: Record; - }[]; - }): Promise> { - try { - // Fetch all columns for the experiment table - const columnsResult = await dbExecute<{ id: string }>( - `SELECT id - FROM experiment_column - WHERE table_id = $1`, - [params.experimentTableId] - ); - - if (columnsResult.error || !columnsResult.data) { - return err(columnsResult.error ?? "Failed to fetch experiment columns"); - } - - const allColumnIds = columnsResult.data.map((col) => col.id); - - // Create cells for specified columns - const cellPromises = params.cells.map((cell) => - this.createExperimentCell( - cell.columnId, - params.rowIndex, - cell.value, - cell.metadata ?? params.metadata - ) - ); - - // Create empty cells for other columns - const specifiedColumnIds = params.cells.map((cell) => cell.columnId); - const otherColumnIds = allColumnIds.filter( - (id) => !specifiedColumnIds.includes(id) - ); - - for (const columnId of otherColumnIds) { - cellPromises.push( - this.createExperimentCell( - columnId, - params.rowIndex, - null, - params.metadata - ) - ); - } - - const results = await Promise.all(cellPromises); - - // Check if any cell creation failed - const failedResults = results.filter((result) => result.error); - if (failedResults.length > 0) { - return err(`Failed to create cells: ${failedResults[0].error}`); - } - - // Return the IDs of all created cells - return ok({ ids: results.map((result) => result.data!.id) }); - } catch (error) { - console.error("Error creating experiment row with cells:", error); - return err(`Failed to create experiment row: ${error}`); - } - } - - async createExperimentTableRowsWithCells(params: { - experimentTableId: string; - rows: { - metadata?: Record; - cells: { - columnId: string; - value: string | null; - metadata?: Record; - }[]; - sourceRequest?: string; - }[]; - }): Promise> { - try { - // Fetch all columns for the experiment table - const columnsResult = await dbExecute<{ - id: string; - column_type: string; - }>( - `SELECT id, column_type - FROM experiment_column - WHERE table_id = $1`, - [params.experimentTableId] - ); - - if (columnsResult.error || !columnsResult.data) { - return err(columnsResult.error ?? "Failed to fetch experiment columns"); - } - - const allColumns = columnsResult.data; - - // Get the current max row index - const maxRowIndexResult = await this.getMaxRowIndex( - params.experimentTableId - ); - if (maxRowIndexResult.error || maxRowIndexResult.data === null) { - return err(maxRowIndexResult.error ?? "Failed to get max row index"); - } - - let currentRowIndex = maxRowIndexResult.data + 1; - - // Collect all cells to create - const cellsToCreate: { - columnId: string; - rowIndex: number; - value: string | null; - metadata?: Record; - sourceRequest?: string; - }[] = []; - - for (const row of params.rows) { - // Create cells for specified columns - const specifiedColumnIds = row.cells.map((cell) => cell.columnId); - const otherColumnIds = allColumns.filter( - (col) => !specifiedColumnIds.includes(col.id) - ); - - // Cells for specified columns - for (const cell of row.cells) { - cellsToCreate.push({ - columnId: cell.columnId, - rowIndex: currentRowIndex, - value: cell.value, - metadata: cell.metadata ?? row.metadata, - }); - } - - // Cells for other columns (empty) - for (const column of otherColumnIds) { - cellsToCreate.push({ - columnId: column.id, - rowIndex: currentRowIndex, - value: - column.column_type === "output" - ? row.sourceRequest ?? null - : null, - metadata: { - ...row.metadata, - cellType: "output", - }, - }); - } - - // Increment rowIndex for next row - currentRowIndex++; - } - - // Now, bulk insert all cells - const results = await this.createExperimentCells(cellsToCreate); - - if (results.error) { - return err(results.error); - } - - // Return the IDs of the created cells - return ok({ ids: results.data?.ids ?? [] }); - } catch (error) { - console.error("Error creating experiment rows with cells:", error); - return err(`Failed to create experiment rows: ${error}`); - } - } -} - -export const ServerExperimentStore: { - experimentPop: ( - include?: IncludeExperimentKeys - ) => Promise>; - getExperiment: ( - id: string, - include?: IncludeExperimentKeys - ) => Promise>; - popLatestExperiment: () => Promise< - Result< - { - experimentId?: string; - }, - string - > - >; -} = { - experimentPop: async (include?: IncludeExperimentKeys) => { - const { data: experimentId, error: experimentIdError } = - await ServerExperimentStore.popLatestExperiment(); - - if (experimentIdError) { - return err(experimentIdError); - } - - if (!experimentId?.experimentId) { - return err("No experiment found"); - } - - return await ServerExperimentStore.getExperiment( - experimentId.experimentId, - include - ); - }, - getExperiment: async (id: string, include?: IncludeExperimentKeys) => { - return promiseResultMap( - await dbExecute<{ - jsonb_build_object: Experiment; - }>(getExperimentsQuery("e.id = $1", 1, include), [id]), - async (d) => enrichExperiment(d[0].jsonb_build_object, include ?? {}) - ); - }, - - popLatestExperiment: async () => { - return resultMap( - await dbExecute<{ - experiment_id?: string; - }>( - ` - WITH selected_experiment AS ( - SELECT experiment_v2 - FROM experiment_v2_hypothesis - WHERE status = 'PENDING' - ORDER BY created_at ASC - LIMIT 1 - ), updated_experiment_hypothesis AS ( - UPDATE experiment_v2_hypothesis - SET status = 'RUNNING' - WHERE experiment_v2 IN (SELECT experiment_v2 FROM selected_experiment) - RETURNING experiment_v2 - ) - SELECT experiment_v2 as experiment_id - FROM updated_experiment_hypothesis - LIMIT 1; - `, - [] - ), - (d) => { - return { - experimentId: d?.[0]?.experiment_id, - }; - } - ); - }, -}; - -function getExperimentScores( - experiment: Experiment -): Result { - const datasetScores = getExperimentDatasetScores(experiment.dataset); - const hypothesisScores = getExperimentHypothesisScores( - experiment.hypotheses[0] - ); - - if (datasetScores.error || !datasetScores.data) { - return err(datasetScores.error); - } - - if (hypothesisScores.error || !hypothesisScores.data) { - return err(hypothesisScores.error); - } - - return ok({ - dataset: datasetScores.data, - hypothesis: hypothesisScores.data, - }); -} - -function getExperimentHypothesisScores( - hypothesis: Experiment["hypotheses"][0] -): Result { - try { - const validRuns = - hypothesis.runs?.filter((run) => run.request && run.response) ?? []; - - const { totalCost, totalLatency } = validRuns.reduce<{ - totalCost: number; - totalLatency: number; - }>( - (acc, run) => { - const cost = - modelCost({ - model: hypothesis.model, - provider: run.request!.provider, - sum_prompt_tokens: run.response!.promptTokens, - prompt_cache_write_tokens: run.response!.promptCacheWriteTokens, - prompt_cache_read_tokens: run.response!.promptCacheReadTokens, - sum_completion_tokens: run.response!.completionTokens, - }) ?? 0; - - return { - totalCost: acc.totalCost + cost, - totalLatency: acc.totalLatency + run.response!.delayMs, - }; - }, - { totalCost: 0, totalLatency: 0 } - ); - - return ok({ - scores: { - dateCreated: { - value: new Date(hypothesis.createdAt), - valueType: "date", - }, - model: { value: hypothesis.model, valueType: "string" }, - cost: { - value: validRuns.length > 0 ? totalCost / validRuns.length : 0, - valueType: "number", - }, - latency: { - value: validRuns.length > 0 ? totalLatency / validRuns.length : 0, - valueType: "number", - }, - ...getCustomScores(hypothesis.runs?.map((run) => run.scores) ?? []), - }, - }) as Result; - } catch (error) { - console.error("Error calculating hypothesis cost", error); - return err("Error calculating hypothesis cost"); - } -} -function getExperimentDatasetScores( - dataset: Experiment["dataset"] -): Result { - try { - const validRows = dataset.rows.filter((row) => row?.inputRecord?.response); - - const { totalCost, totalLatency, latest } = validRows.reduce<{ - totalCost: number; - totalLatency: number; - latest: { - createdAt: string; - model: string; - }; - }>( - ({ totalCost, totalLatency, latest }, row) => { - const cost = - modelCost({ - model: row.inputRecord!.response.model, - provider: row.inputRecord!.request.provider, - sum_prompt_tokens: row.inputRecord!.response.promptTokens, - prompt_cache_write_tokens: - row.inputRecord!.response.promptCacheWriteTokens, - prompt_cache_read_tokens: - row.inputRecord!.response.promptCacheReadTokens, - sum_completion_tokens: row.inputRecord!.response.completionTokens, - }) ?? 0; - - const isCurrentNewer = - new Date(row.inputRecord!.response.createdAt) > - new Date(latest.createdAt); - - return { - totalCost: totalCost + cost, - totalLatency: totalLatency + row.inputRecord!.response.delayMs, - latest: isCurrentNewer ? row.inputRecord!.response : latest, - }; - }, - { - totalCost: 0, - totalLatency: 0, - latest: { - createdAt: new Date(0).toISOString(), - model: "", - }, - } - ); - - return ok({ - scores: { - dateCreated: { value: new Date(latest.createdAt), valueType: "date" }, - model: { value: latest.model, valueType: "string" }, - cost: { - value: validRows.length > 0 ? totalCost / validRows.length : 0, - valueType: "number", - }, - latency: { - value: validRows.length > 0 ? totalLatency / validRows.length : 0, - valueType: "number", - }, - ...getCustomScores(validRows.map((row) => row.scores)), - }, - }) as Result; - } catch (error) { - console.error("Error calculating dataset cost", error); - return err("Error calculating dataset cost"); - } -} - -function getCustomScores( - scores: Record[] -): Record { - const scoresValues = scores.reduce((acc, record) => { - for (const key in record) { - if (record.hasOwnProperty(key) && typeof record[key].value === "number") { - if (!acc[key]) { - acc[key] = { sum: 0, count: 0, valueType: record[key].valueType }; - } - acc[key].sum += record[key].value as number; - acc[key].count += 1; - } - } - return acc; - }, {} as Record); - - return Object.fromEntries( - Object.entries(scoresValues).map(([key, { sum, count, valueType }]) => [ - key, - { value: sum / count, valueType }, - ]) - ); -} - -function modelCost(modelRow: { - model: string; - provider: string; - sum_prompt_tokens: number; - prompt_cache_write_tokens: number; - prompt_cache_read_tokens: number; - sum_completion_tokens: number; -}): number { - const model = modelRow.model; - const promptTokens = modelRow.sum_prompt_tokens; - const promptCacheWriteTokens = modelRow.prompt_cache_write_tokens; - const promptCacheReadTokens = modelRow.prompt_cache_read_tokens; - const completionTokens = modelRow.sum_completion_tokens; - return ( - costOfPrompt({ - model, - promptTokens, - promptCacheWriteTokens, - promptCacheReadTokens, - completionTokens, - provider: modelRow.provider, - promptAudioTokens: 0, - completionAudioTokens: 0, - promptCacheWrite5m: 0, - promptCacheWrite1h: 0, - }) ?? 0 - ); -} diff --git a/valhalla/jawn/src/loops/experiments.ts b/valhalla/jawn/src/loops/experiments.ts deleted file mode 100644 index aeaa23cd16..0000000000 --- a/valhalla/jawn/src/loops/experiments.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { run } from "../lib/experiment/run"; -import { ServerExperimentStore } from "../lib/stores/experimentStore"; - -export const experimentsLoop = async () => { - // try { - // // This is a loop that runs every 1 second - // const experiment = await ServerExperimentStore.experimentPop({ - // inputs: true, - // promptVersion: true, - // }); - // if (experiment.error || !experiment.data) { - // return; - // } - - // const experimentResult = await run(experiment.data, "unknown"); - // } catch (e) { - // console.error("Error running experiment", e); - // } - return; -}; diff --git a/valhalla/jawn/src/mainLoops.ts b/valhalla/jawn/src/mainLoops.ts deleted file mode 100644 index bbb9de1eef..0000000000 --- a/valhalla/jawn/src/mainLoops.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { experimentsLoop } from "./loops/experiments"; - -export interface LoopedSubscriber { - cronInterval: number; - onLoop: ({}) => Promise; -} - -const mainLoops: LoopedSubscriber[] = [ - { - cronInterval: 1000, // 1 second - onLoop: experimentsLoop, - }, -]; - -const runSingleLoop = async (loop: LoopedSubscriber) => { - while (true) { - try { - await loop.onLoop({}); - await new Promise((resolve) => setTimeout(resolve, loop.cronInterval)); - } catch (e) { - console.error(e); - } - } -}; - -export const runMainLoops = async () => { - for (const loop of mainLoops) { - runSingleLoop(loop); - } -}; - -export const runLoopsOnce = async (index: number) => { - await mainLoops[index].onLoop({}); -}; diff --git a/valhalla/jawn/src/managers/VaultManager.ts b/valhalla/jawn/src/managers/VaultManager.ts index 0f4e212ec9..56f100d887 100644 --- a/valhalla/jawn/src/managers/VaultManager.ts +++ b/valhalla/jawn/src/managers/VaultManager.ts @@ -118,9 +118,10 @@ export class VaultManager extends BaseManager { `SELECT id, org_id, decrypted_provider_key, provider_key_name, provider_name, provider_secret_key FROM decrypted_provider_keys_v2 WHERE id = $1 + AND org_id = $2 AND soft_delete = false LIMIT 1`, - [providerKeyId] + [providerKeyId, this.authParams.organizationId] ); if (result.error || !result.data || result.data.length === 0) { diff --git a/valhalla/jawn/src/managers/dataset/DatasetManager.ts b/valhalla/jawn/src/managers/dataset/DatasetManager.ts deleted file mode 100644 index f6f87d8cae..0000000000 --- a/valhalla/jawn/src/managers/dataset/DatasetManager.ts +++ /dev/null @@ -1,286 +0,0 @@ -// src/users/usersService.ts -import { - DatasetMetadata, - DatasetResult, - NewDatasetParams, - RandomDatasetParams, -} from "../../controllers/public/experimentDatasetController"; -import { - PromptQueryParams, - PromptResult, - PromptVersionResult, - PromptsQueryParams, - PromptsResult, -} from "../../controllers/public/promptController"; -import { AuthParams } from "../../packages/common/auth/types"; -import { Result, err, ok } from "../../packages/common/result"; -import { dbExecute } from "../../lib/shared/db/dbExecute"; -import { FilterNode } from "@helicone-package/filters/filterDefs"; -import { buildFilterPostgres } from "@helicone-package/filters/filters"; -import { resultMap } from "../../packages/common/result"; -import { User } from "../../models/user"; -import { BaseManager } from "../BaseManager"; -import { Database, Json } from "../../lib/db/database.types"; -import { HeliconeDatasetManager } from "./HeliconeDatasetManager"; -import { randomUUID } from "crypto"; - -// A post request should not contain an id. -export type UserCreationParams = Pick; - -export class DatasetManager extends BaseManager { - readonly helicone: HeliconeDatasetManager; - constructor(authParams: AuthParams) { - super(authParams); - this.helicone = new HeliconeDatasetManager(authParams); - } - - async getDatasets( - promptVersionId?: string - ): Promise> { - const result = dbExecute<{ - id: string; - name: string; - created_at: string; - meta: DatasetMetadata; - }>( - ` - SELECT - id, - name, - created_at, - meta - FROM helicone_dataset - WHERE organization = $1 ${ - promptVersionId ? "AND meta->>'promptVersionId' = $2" : "" - } - LIMIT 100 - `, - [this.authParams.organizationId].concat( - promptVersionId ? [promptVersionId] : [] - ) - ); - return result; - } - - async addDataset(params: NewDatasetParams): Promise> { - // DEPRECATED: This function used the deleted prompt_input_record table. - // The legacy prompt system has been replaced by prompts_2025_inputs. - // Use HeliconeDatasetManager for new dataset operations. - return err("addDataset is deprecated - prompt_input_record table has been removed. Use the new prompt system instead."); - } - - async addDatasetRow( - datasetId: string, - inputRecordId: string - ): Promise> { - try { - // First verify the dataset exists and belongs to this organization - const existingDataset = await dbExecute<{ id: string }>( - `SELECT id - FROM helicone_dataset - WHERE organization = $1 - AND id = $2 - LIMIT 1`, - [this.authParams.organizationId, datasetId] - ); - - if ( - existingDataset.error || - !existingDataset.data || - existingDataset.data.length === 0 - ) { - return err("Dataset not found"); - } - - const dataset = await dbExecute<{ id: string }>( - `INSERT INTO experiment_dataset_v2_row (dataset_id, input_record) - VALUES ($1, $2) - RETURNING id`, - [datasetId, inputRecordId] - ); - - if (dataset.error || !dataset.data || dataset.data.length === 0) { - return err(dataset.error ?? "Failed to add dataset row"); - } - - return ok(dataset.data[0].id); - } catch (error) { - console.error("Error adding dataset row:", error); - return err(String(error)); - } - } - - async addRandomDataset(params: RandomDatasetParams): Promise< - Result< - { - datasetId: string; - }, - string - > - > { - // DEPRECATED: This function used the deleted prompt_input_record and request tables. - // The legacy prompt system has been replaced by prompts_2025_inputs. - // Use HeliconeDatasetManager for new dataset operations. - return err("addRandomDataset is deprecated - prompt_input_record table has been removed. Use the new prompt system instead."); - } - - async getPromptVersions( - filter: FilterNode - ): Promise> { - const filterWithAuth = buildFilterPostgres({ - filter, - argsAcc: [this.authParams.organizationId], - }); - - const result = dbExecute<{ - id: string; - minor_version: number; - major_version: number; - helicone_template: string; - prompt_v2: string; - model: string; - created_at: string; - metadata: Record; - }>( - ` - SELECT - prompts_versions.id, - minor_version, - major_version, - helicone_template, - prompt_v2, - model, - created_at, - metadata - FROM prompts_versions - left join prompt_v2 on prompt_v2.id = prompts_versions.prompt_v2 - WHERE prompt_v2.organization = $1 - AND prompt_v2.soft_delete = false - AND (${filterWithAuth.filter}) - `, - filterWithAuth.argsAcc - ); - - return result; - } - - async getPrompts( - params: PromptsQueryParams - ): Promise> { - const filterWithAuth = buildFilterPostgres({ - filter: params.filter, - argsAcc: [this.authParams.organizationId], - }); - - filterWithAuth.argsAcc; - const result = dbExecute<{ - id: string; - user_defined_id: string; - description: string; - pretty_name: string; - created_at: string; - major_version: number; - }>( - ` - SELECT - id, - user_defined_id, - description, - pretty_name, - created_at, - (SELECT major_version FROM prompts_versions pv WHERE pv.prompt_v2 = prompt_v2.id ORDER BY major_version DESC LIMIT 1) as major_version - FROM prompt_v2 - WHERE prompt_v2.organization = $1 - AND prompt_v2.soft_delete = false - AND (${filterWithAuth.filter}) - `, - filterWithAuth.argsAcc - ); - return result; - } - - async getPrompt( - params: PromptQueryParams, - promptId: string - ): Promise> { - const result = await dbExecute<{ - id: string; - user_defined_id: string; - description: string; - pretty_name: string; - major_version: number; - latest_version_id: string; - latest_model_used: string; - created_at: string; - last_used: string; - versions: string[]; - metadata: Record; - }>( - ` - SELECT - prompt_v2.id, - prompt_v2.user_defined_id, - prompt_v2.description, - prompt_v2.pretty_name, - prompts_versions.major_version, - prompts_versions.id as latest_version_id, - prompts_versions.model as latest_model_used, - prompt_v2.created_at as created_at, - (SELECT created_at FROM prompts_2025_inputs WHERE version_id = prompts_versions.id ORDER BY created_at DESC LIMIT 1) as last_used, - ( - SELECT array_agg(pv2.versions) as versions - FROM - ( - SELECT prompts_versions.id as versions - from prompts_versions - WHERE prompts_versions.prompt_v2 = prompt_v2.id - ORDER BY prompts_versions.major_version DESC, prompts_versions.minor_version DESC - LIMIT 100 - ) as pv2 - ) as versions, - prompt_v2.metadata - FROM prompts_versions - left join prompt_v2 on prompt_v2.id = prompts_versions.prompt_v2 - WHERE prompt_v2.organization = $1 - AND prompt_v2.soft_delete = false - AND prompt_v2.id = $2 - ORDER BY prompts_versions.major_version DESC, prompts_versions.minor_version DESC - `, - [this.authParams.organizationId, promptId] - ); - - return resultMap(result, (data) => data[0]); - } - - async getPromptVersion(params: { - promptVersionId: string; - }): Promise> { - const result = dbExecute<{ - id: string; - minor_version: number; - major_version: number; - helicone_template: string; - prompt_v2: string; - model: string; - created_at: string; - metadata: Record; - }>( - ` - SELECT - id, - minor_version, - major_version, - helicone_template, - prompt_v2, - model, - created_at, - metadata - FROM prompts_versions - WHERE prompts_versions.organization = $1 - AND prompts_versions.id = $2 - `, - [this.authParams.organizationId, params.promptVersionId] - ); - return result; - } -} diff --git a/valhalla/jawn/src/managers/evaluator/EvaluatorManager.ts b/valhalla/jawn/src/managers/evaluator/EvaluatorManager.ts index 31db382a23..54dc00a512 100644 --- a/valhalla/jawn/src/managers/evaluator/EvaluatorManager.ts +++ b/valhalla/jawn/src/managers/evaluator/EvaluatorManager.ts @@ -8,46 +8,14 @@ import { import { LLMAsAJudge } from "../../lib/clients/LLMAsAJudge/LLMAsAJudge"; import { dbExecute } from "../../lib/shared/db/dbExecute"; import { Result, err, ok, resultMap } from "../../packages/common/result"; -import { - ExperimentOutputForScores, - ExperimentV2Manager, -} from "../../managers/experiment/ExperimentV2Manager"; import { HeliconeRequest, LlmSchema } from "@helicone-package/llm-mapper/types"; import { BaseManager } from "../BaseManager"; -import { RequestManager } from "../request/RequestManager"; -import { ScoreManager } from "../score/ScoreManager"; import { convertTestInputToHeliconeRequest } from "./convert"; import { runLastMileEvaluator } from "./lastmile/run"; import { pythonEvaluator } from "./pythonEvaluator"; import { LastMileConfigForm } from "./types"; import { dbQueryClickhouse } from "../../lib/shared/db/dbExecute"; -export function placeAssetIdValues( - inputValues: Record, - heliconeTemplate: any -): any { - function traverseAndTransform(obj: any): any { - if (typeof obj === "string") { - // Adjusted regex for pattern - const regex = //g; - return obj.replace(regex, (match, key) => { - // Use the key extracted from to fetch the replacement value - return inputValues[key] ?? match; // Replace with value from inputValues or keep the match if not found - }); - } else if (Array.isArray(obj)) { - return obj.map(traverseAndTransform); - } else if (typeof obj === "object" && obj !== null) { - const result: { [key: string]: any } = {}; - for (const key of Object.keys(obj)) { - result[key] = traverseAndTransform(obj[key]); - } - return result; - } - return obj; // Return the object if it doesn't match any of the above conditions - } - return traverseAndTransform(heliconeTemplate); -} - export function getEvaluatorScoreName(evaluatorName: string) { return evaluatorName .toLowerCase() @@ -93,26 +61,6 @@ export class EvaluatorManager extends BaseManager { uniqueId: "0", }); } - async getExperiments(evaluatorId: string) { - const result = await dbExecute<{ - experiment_id: string; - experiment_created_at: string; - experiment_name: string; - }>( - `SELECT - experiment.id as experiment_id, - experiment.created_at as experiment_created_at, - experiment.name as experiment_name - FROM evaluator_experiments_v3 - left join experiment_v3 as experiment on evaluator_experiments_v3.experiment = experiment.id - WHERE evaluator = $1 - AND experiment.organization = $2 - `, - [evaluatorId, this.authParams.organizationId] - ); - return result; - } - async runLLMEvaluatorScore({ evaluator, inputRecord, @@ -181,314 +129,6 @@ export class EvaluatorManager extends BaseManager { } } - private async getContent(requestId: string): Promise< - Result< - { - requestBody: string; - responseBody: string; - }, - string - > - > { - const reqManager = new RequestManager(this.authParams); - const request = await reqManager.uncachedGetRequestByIdWithBody(requestId); - - if (request.error) { - return err(request.error); - } - - if (!request.data?.signed_body_url) { - return err("Request response not found"); - } - - if ( - request.data.asset_urls && - Object.keys(request.data.asset_urls).length > 0 - ) { - request.data.request_body = placeAssetIdValues( - request.data.asset_urls, - request.data.request_body - ); - } - return ok({ - requestBody: request.data.request_body, - responseBody: request.data.response_body, - }); - } - - private async runEvaluatorAndPostScore({ - evaluator, - inputRecord, - run, - requestBody, - responseBody, - }: { - evaluator: EvaluatorResult; - inputRecord: { - inputs: Record; - autoInputs?: Record; - }; - run: ExperimentOutputForScores; - requestBody: any; - responseBody: any; - }): Promise> { - try { - const scoreResult = await this.runLLMEvaluatorScore({ - evaluator, - inputRecord, - request_id: run.request_id, - requestBody, - responseBody, - heliconeRequest: { - request_id: run.request_id, - request_created_at: new Date().toISOString(), - request_body: requestBody, - request_path: "", - request_user_id: null, - request_properties: null, - request_model: null, - model_override: null, - response_id: null, - response_created_at: null, - response_status: 200, - response_model: null, - helicone_user: null, - provider: "OPENAI", - delay_ms: null, - time_to_first_token: null, - total_tokens: null, - prompt_tokens: null, - prompt_cache_write_tokens: null, - prompt_cache_read_tokens: null, - completion_tokens: null, - reasoning_tokens: null, - prompt_id: null, - prompt_version: null, // SEE NOTE IN jawn/.../HandlerContext.ts - llmSchema: null, - country_code: null, - asset_ids: null, - asset_urls: null, - response_body: responseBody, - scores: {}, - properties: {}, - assets: [], - target_url: "", - model: "gpt-3.5-turbo", - prompt_audio_tokens: null, - completion_audio_tokens: null, - cache_enabled: false, - cache_reference_id: null, - cost: null, - ai_gateway_body_mapping: null, - }, - }); - if (scoreResult.error) { - return err(scoreResult.error); - } - - const scoreName = getFullEvaluatorScoreName(evaluator.name); - - const scoreManager = new ScoreManager(this.authParams); - if ( - scoreResult.data?.score == undefined || - scoreResult.data?.score == null - ) { - return err("Score is undefined"); - } - const requestFeedback = await scoreManager.addScores( - run.request_id, - { - [scoreName]: scoreResult.data?.score, - }, - 0, - evaluator.id - ); - - return ok(null); - } catch (e) { - console.error("error evaluating", e); - return err("Error evaluating" + JSON.stringify(e)); - } - } - - async runEvaluator( - evaluator: EvaluatorResult, - inputRecord: { - inputs: Record; - autoInputs?: Record; - }, - run: ExperimentOutputForScores - ) { - const content = await this.getContent(run.request_id); - if (content.error) { - return err(content.error); - } - return this.runEvaluatorAndPostScore({ - evaluator, - inputRecord, - run, - requestBody: content.data?.requestBody ?? "", - responseBody: content.data?.responseBody ?? "", - }); - } - - async runExperimentEvaluators( - experimentId: string - ): Promise> { - const experimentManager = new ExperimentV2Manager(this.authParams); - const experiment = - await experimentManager.hasAccessToExperiment(experimentId); - if (!experiment) { - return err("Unauthorized"); - } - - const evaluators = await this.getEvaluatorsForExperiment(experimentId); - - const experimentData = - await experimentManager.getExperimentOutputForScores(experimentId); - - if (experimentData.error) { - return err(experimentData.error); - } - - const x = await Promise.all( - experimentData.data?.map(async (request) => { - const content = await this.getContent(request.request_id); - if (content.error) { - return err(content.error); - } - const evaluationPromises: Promise>[] = []; - for (const evaluator of evaluators.data ?? []) { - const scoreName = getFullEvaluatorScoreName(evaluator.name); - if (!(request.scores && scoreName in request.scores)) { - evaluationPromises.push( - this.runEvaluatorAndPostScore({ - evaluator, - inputRecord: request.input_record, - run: request, - requestBody: content.data?.requestBody ?? "", - responseBody: content.data?.responseBody ?? "", - }) - ); - } - } - return Promise.all(evaluationPromises); - }) ?? [] - ); - - return ok(null); - } - - async shouldRunEvaluators( - experimentId: string - ): Promise> { - const experimentManager = new ExperimentV2Manager(this.authParams); - const experiment = - await experimentManager.hasAccessToExperiment(experimentId); - if (!experiment) { - return err("Unauthorized"); - } - - const evaluators = await this.getEvaluatorsForExperiment(experimentId); - - const experimentData = - await experimentManager.getExperimentOutputForScores(experimentId); - - if (experimentData.error) { - return err(experimentData.error); - } - - if (experimentData.data?.length === 0) { - return ok(false); - } - - let shouldRun = false; - for (const request of experimentData.data ?? []) { - for (const evaluator of evaluators.data ?? []) { - const scoreName = getFullEvaluatorScoreName(evaluator.name); - if (!(request.scores && scoreName in request.scores)) { - shouldRun = true; - } - } - } - return ok(shouldRun); - } - - async deleteExperimentEvaluator( - experimentId: string, - evaluatorId: string - ): Promise> { - const experimentManager = new ExperimentV2Manager(this.authParams); - const experiment = - await experimentManager.hasAccessToExperiment(experimentId); - if (!experiment) { - return err("Unauthorized"); - } - const result = await dbExecute( - `DELETE FROM evaluator_experiments_v3 WHERE experiment = $1 AND evaluator = $2`, - [experimentId, evaluatorId] - ); - if (result.error) { - return err(`Failed to delete evaluator experiment: ${result.error}`); - } - return ok(null); - } - async getEvaluatorsForExperiment( - experimentId: string - ): Promise> { - const experimentManager = new ExperimentV2Manager(this.authParams); - const experiment = - await experimentManager.hasAccessToExperiment(experimentId); - if (!experiment) { - return err("Unauthorized"); - } - - const result = await dbExecute( - ` - SELECT - evaluator.id, - evaluator.created_at, - evaluator.scoring_type, - evaluator.llm_template, - evaluator.organization_id, - evaluator.updated_at, - evaluator.name, - evaluator.code_template, - evaluator.last_mile_config - FROM evaluator_experiments_v3 - left join evaluator on evaluator_experiments_v3.evaluator = evaluator.id - WHERE evaluator_experiments_v3.experiment = $1 - `, - [experimentId] - ); - - return result; - } - - async createExperimentEvaluator( - experimentId: string, - evaluatorId: string - ): Promise> { - const experimentManager = new ExperimentV2Manager(this.authParams); - const experiment = - await experimentManager.hasAccessToExperiment(experimentId); - if (!experiment) { - return err("Unauthorized"); - } - const result = await dbExecute( - ` - INSERT INTO evaluator_experiments_v3 (experiment, evaluator) - VALUES ($1, $2) - `, - [experimentId, evaluatorId] - ); - - if (result.error) { - return err(`Failed to create evaluator experiment: ${result.error}`); - } - return ok(null); - } - async createEvaluator( params: CreateEvaluatorParams ): Promise> { diff --git a/valhalla/jawn/src/managers/experiment/ExperimentManager.ts b/valhalla/jawn/src/managers/experiment/ExperimentManager.ts deleted file mode 100644 index a364e9481a..0000000000 --- a/valhalla/jawn/src/managers/experiment/ExperimentManager.ts +++ /dev/null @@ -1,432 +0,0 @@ -// src/users/usersService.ts -import { NewExperimentParams } from "../../controllers/public/experimentController"; -import { AuthParams } from "../../packages/common/auth/types"; -import { dbExecute } from "../../lib/shared/db/dbExecute"; -import { FilterNode } from "@helicone-package/filters/filterDefs"; -import { Result, err, ok } from "../../packages/common/result"; -import { - Experiment, - ExperimentDatasetRow, - ExperimentStore, - ExperimentTable, - ExperimentTableSimplified, - IncludeExperimentKeys, - Score, -} from "../../lib/stores/experimentStore"; -import { BaseManager } from "../BaseManager"; -import { PromptManager } from "../prompt/PromptManager"; - -export interface CreateExperimentTableParams { - datasetId: string; - experimentMetadata: Record; - promptVersionId: string; - newHeliconeTemplate: string; - isMajorVersion: boolean; - promptSubversionMetadata: Record; - experimentTableMetadata?: Record; -} - -export class ExperimentManager extends BaseManager { - private ExperimentStore: ExperimentStore; - constructor(authParams: AuthParams) { - super(authParams); - this.ExperimentStore = new ExperimentStore(authParams.organizationId); - } - - async hasAccessToExperiment(experimentId: string): Promise { - try { - const result = await dbExecute<{ id: string }>( - `SELECT id - FROM experiment_v2 - WHERE id = $1 - AND organization = $2 - LIMIT 1`, - [experimentId, this.authParams.organizationId] - ); - - return !!(result.data && result.data.length > 0); - } catch (error) { - console.error("Error checking experiment access:", error); - return false; - } - } - - async getExperimentById( - experimentId: string, - include: IncludeExperimentKeys - ): Promise> { - if (!(await this.hasAccessToExperiment(experimentId))) { - return err("Unauthorized"); - } - return this.ExperimentStore.getExperimentById(experimentId, include); - } - - async getDatasetRowsByIds(params: { - datasetRowIds: string[]; - }): Promise> { - return this.ExperimentStore.getDatasetRowsByIds(params); - } - - async getExperiments( - filter: FilterNode, - include: IncludeExperimentKeys - ): Promise> { - return this.ExperimentStore.getExperiments(filter, include); - } - - async createNewExperimentHypothesis(params: { - experimentId: string; - model: string; - promptVersion: string; - providerKeyId: string; - status: "PENDING" | "RUNNING" | "COMPLETED" | "FAILED"; - }): Promise> { - try { - // Check if user has access to the experiment - const hasAccess = await dbExecute<{ count: number }>( - `SELECT COUNT(*) as count - FROM experiment_v2 - WHERE id = $1 - AND organization = $2`, - [params.experimentId, this.authParams.organizationId] - ); - - if (hasAccess.error || !hasAccess.data || hasAccess.data[0].count === 0) { - return err("Experiment not found"); - } - - const result = await dbExecute<{ id: string }>( - ` - INSERT INTO experiment_v2_hypothesis ( - prompt_version, - model, - status, - experiment_v2, - provider_key - ) - VALUES ($1, $2, $3, $4, $5) - RETURNING id - `, - [ - params.promptVersion, - params.model, - params.status, - params.experimentId, - params.providerKeyId === "NOKEY" ? null : params.providerKeyId, - ] - ); - - if (result.error || !result.data) { - return err(result.error); - } - - return ok({ hypothesisId: result.data[0].id }); - } catch (error) { - console.error("Error creating experiment hypothesis:", error); - return err(String(error)); - } - } - - async addNewExperiment( - params: NewExperimentParams - ): Promise> { - try { - // Create the experiment - const experiment = await dbExecute<{ id: string }>( - `INSERT INTO experiment_v2 (dataset, organization, meta) - VALUES ($1, $2, $3) - RETURNING id`, - [params.datasetId, this.authParams.organizationId, params.meta || null] - ); - - if ( - experiment.error || - !experiment.data || - experiment.data.length === 0 - ) { - return err("Failed to create experiment: " + experiment.error); - } - - const experimentId = experiment.data[0].id; - - // Create the hypothesis - const result = await dbExecute( - ` - INSERT INTO experiment_v2_hypothesis ( - prompt_version, - model, - status, - experiment_v2, - provider_key - ) - VALUES ($1, $2, $3, $4, $5) - `, - [ - params.promptVersion, - params.model, - "PENDING", - experimentId, - params.providerKeyId === "NOKEY" ? null : params.providerKeyId, - ] - ); - - if (result.error) { - return err(result.error); - } - - return ok({ experimentId }); - } catch (error) { - console.error("Error adding new experiment:", error); - return err(String(error)); - } - } - - async createNewExperimentTable( - params: CreateExperimentTableParams - ): Promise< - Result< - { tableId: string; experimentId: string; inputKeys: string[] }, - string - > - > { - const experimentTableResult = - await this.ExperimentStore.createNewExperimentTable( - params.datasetId, - params.experimentMetadata.experiment_name || "Experiment", - params.experimentMetadata, - params.experimentTableMetadata - ); - - if (experimentTableResult.error || !experimentTableResult.data) { - return err(experimentTableResult.error); - } - - const promptManager = new PromptManager(this.authParams); - const newPromptVersionResult = await promptManager.createNewPromptVersion( - params.promptVersionId, - { - newHeliconeTemplate: params.newHeliconeTemplate, - isMajorVersion: params.isMajorVersion, - metadata: params.promptSubversionMetadata, - } - ); - - if (newPromptVersionResult.error || !newPromptVersionResult.data) { - return err(newPromptVersionResult.error); - } - - const heliconeInputKeys = promptManager.getHeliconeTemplateKeys( - newPromptVersionResult.data.helicone_template - ); - - const experimentTableColumnsResult = - await this.ExperimentStore.createExperimentTableColumns( - experimentTableResult.data.experimentTableId, - [ - { - name: "inputs", - type: "input", - }, - { - name: "original", - type: "output", - promptVersionId: params.promptVersionId, - }, - ] as { name: string; type: "input" | "output" }[] - ); - - if ( - experimentTableColumnsResult.error || - !experimentTableColumnsResult.data - ) { - return err( - "Failed to create experiment table columns. Make sure the prompt has any inputs." - ); - } - - return ok({ - tableId: experimentTableResult.data.experimentTableId, - experimentId: experimentTableResult.data.experimentId, - inputKeys: heliconeInputKeys, - }); - } - - async createExperimentCells(params: { - cells: { - columnId: string; - rowIndex: number; - value: string | null; - metadata?: Record; - }[]; - }): Promise> { - return this.ExperimentStore.createExperimentCells(params.cells); - } - - async updateExperimentCells(params: { - cells: { - cellId: string; - status: string | null; - value?: string | null; - metadata?: Record | null; - }[]; - }): Promise< - Result< - { - cellId: string; - status: string | null; - value?: string | null; - metadata?: Record | null; - columnName: string; - }[], - string - > - > { - return this.ExperimentStore.updateExperimentCells(params); - } - - async getExperimentCellsByIds(cellIds: string[]): Promise< - Result< - { - cellId: string; - status: string | null; - value: string | null; - metadata: Record | null; - rowIndex: number; - columnId: string; - }[], - string - > - > { - return this.ExperimentStore.getExperimentCellsByIds(cellIds); - } - - async createExperimentTableRow(params: { - experimentTableId: string; - metadata?: Record; - inputs?: Record; - }): Promise> { - const maxRowIndex = await this.ExperimentStore.getMaxRowIndex( - params.experimentTableId - ); - if (maxRowIndex.error || maxRowIndex.data === null) { - return err(maxRowIndex.error ?? "Failed to get max row index"); - } - - return this.ExperimentStore.createExperimentTableRow({ - experimentTableId: params.experimentTableId, - rowIndex: maxRowIndex.data + 1, - metadata: params.metadata, - inputs: params.inputs, - }); - } - - async getExperimentTableById( - experimentTableId: string - ): Promise> { - return this.ExperimentStore.getExperimentTable(experimentTableId); - } - - async getExperimentTableColumns( - experimentTableId: string - ): Promise> { - return this.ExperimentStore.getExperimentTableColumns(experimentTableId); - } - - async getExperimentTableSimplifiedById( - experimentTableId: string - ): Promise> { - return this.ExperimentStore.getExperimentTableById(experimentTableId); - } - - async getExperimentTables(): Promise< - Result - > { - return this.ExperimentStore.getExperimentTables(); - } - - async updateExperimentTableMetadata(params: { - experimentTableId: string; - metadata: Record; - }): Promise> { - return this.ExperimentStore.updateExperimentTableMetadata(params); - } - - async createExperimentColumn(params: { - experimentTableId: string; - columnName: string; - columnType: string; - hypothesisId?: string; - promptVersionId?: string; - inputKeys?: string[]; - }): Promise< - Result< - { - id: string; - }, - string - > - > { - const experimentTableResult = await this.getExperimentTableSimplifiedById( - params.experimentTableId - ); - if (experimentTableResult.error || !experimentTableResult.data) { - return err(experimentTableResult.error); - } - const experimentColumnResult = - await this.ExperimentStore.createExperimentTableColumn( - params.experimentTableId, - params.columnName, - params.columnType as "experiment" | "input" | "output", - params.hypothesisId, - params.promptVersionId, - params.inputKeys - ); - - if (experimentColumnResult.error || !experimentColumnResult.data) { - return err(experimentColumnResult.error); - } - - await this.createExperimentCells({ - cells: Array.from( - { length: (experimentTableResult.data.metadata as any)?.rows + 1 }, - (_, index) => ({ - columnId: experimentColumnResult.data.id, - rowIndex: index, - value: null, - }) - ), - }); - - return ok({ id: experimentColumnResult.data.id }); - } - - async getExperimentHypothesisScores(params: { - hypothesisId: string; - }): Promise< - Result<{ runsCount: number; scores: Record }, string> - > { - return this.ExperimentStore.getExperimentHypothesisScores(params); - } - - async createExperimentTableRowWithCellsBatch(params: { - experimentTableId: string; - rows: { - metadata?: Record; - cells: { - columnId: string; - value: string | null; - metadata?: Record; - }[]; - sourceRequest?: string; - }[]; - }): Promise> { - return this.ExperimentStore.createExperimentTableRowsWithCells(params); - } - - async deleteExperimentTableRow(params: { - experimentTableId: string; - rowIndex: number; - }): Promise> { - return this.ExperimentStore.softDeleteExperimentTableRow(params); - } -} diff --git a/valhalla/jawn/src/managers/experiment/ExperimentV2Manager.ts b/valhalla/jawn/src/managers/experiment/ExperimentV2Manager.ts deleted file mode 100644 index 93621acd90..0000000000 --- a/valhalla/jawn/src/managers/experiment/ExperimentV2Manager.ts +++ /dev/null @@ -1,875 +0,0 @@ -import { - CreateNewPromptVersionForExperimentParams, - ExperimentV2, - ExperimentV2PromptVersion, - ExperimentV2Row, - ExtendedExperimentData, -} from "../../controllers/public/experimentV2Controller"; -import { PromptVersionResult } from "../../controllers/public/promptController"; -import { run } from "../../lib/experiment/run"; -import { AuthParams } from "../../packages/common/auth/types"; -import { dbExecute } from "../../lib/shared/db/dbExecute"; -import { err, ok, Result } from "../../packages/common/result"; -import { ExperimentStore } from "../../lib/stores/experimentStore"; -import { BaseManager } from "../BaseManager"; -import { InputsManager } from "../inputs/InputsManager"; -import { PromptManager } from "../prompt/PromptManager"; -import { RequestManager } from "../request/RequestManager"; - -export interface ScoreV2 { - valueType: string; - value: number | Date | string; - max: number; - min: number; -} - -export interface ExperimentOutputForScores { - request_id: string; - input_record: { - inputs: Record; - autoInputs: Record; - }; - scores: Record; -} - -function getCustomScores( - scores: Record[] -): Record { - const scoresValues = scores.reduce((acc, record) => { - for (const key in record) { - if (record.hasOwnProperty(key) && typeof record[key].value === "number") { - if (!acc[key]) { - acc[key] = { - sum: 0, - count: 0, - valueType: record[key].valueType, - max: record[key].value as number, - min: record[key].value as number, - }; - } - acc[key].sum += record[key].value as number; - acc[key].count += 1; - acc[key].max = Math.max(acc[key].max, record[key].value as number); - acc[key].min = Math.min(acc[key].min, record[key].value as number); - } - } - return acc; - }, {} as Record); - - return Object.fromEntries( - Object.entries(scoresValues).map( - ([key, { sum, count, valueType, max, min }]) => [ - key, - { value: sum / count, valueType, max, min }, - ] - ) - ); -} - -export class ExperimentV2Manager extends BaseManager { - private ExperimentStore: ExperimentStore; - constructor(authParams: AuthParams) { - super(authParams); - this.ExperimentStore = new ExperimentStore(authParams.organizationId); - } - - async getPromptVersionFromRequest( - requestId: string - ): Promise> { - const requestManager = new RequestManager(this.authParams); - const requestResult = await requestManager.getRequestById(requestId); - if (requestResult.error || !requestResult.data) { - return err(requestResult.error); - } - - try { - const result = await dbExecute<{ prompt_version: string }>( - `SELECT prompt_version - FROM prompt_input_record - WHERE source_request = $1 - LIMIT 1`, - [requestId] - ); - - if (result.error || !result.data || result.data.length === 0) { - return err("Failed to get prompt version from request"); - } - - return ok(result.data[0].prompt_version); - } catch (error) { - return err(`Error retrieving prompt version: ${error}`); - } - } - - async hasAccessToExperiment(experimentId: string): Promise { - try { - const result = await dbExecute<{ id: string }>( - `SELECT id - FROM experiment_v3 - WHERE id = $1 - AND organization = $2 - LIMIT 1`, - [experimentId, this.authParams.organizationId] - ); - - return !!(result.data && result.data.length > 0); - } catch (error) { - console.error("Error checking experiment access:", error); - return false; - } - } - - async getExperiments(): Promise> { - try { - const result = await dbExecute( - `SELECT * - FROM experiment_v3 - WHERE organization = $1 - AND soft_delete = false - ORDER BY created_at DESC`, - [this.authParams.organizationId] - ); - - if (result.error) { - return err(`Failed to get experiments: ${result.error}`); - } - - return ok(result.data || []); - } catch (error) { - return err(`Failed to get experiments: ${error}`); - } - } - - async getExperimentById(experimentId: string): Promise { - try { - const result = await dbExecute( - `SELECT * - FROM experiment_v3 - WHERE id = $1 - AND organization = $2 - LIMIT 1`, - [experimentId, this.authParams.organizationId] - ); - - if (result.error || !result.data || result.data.length === 0) { - return null; - } - - return result.data[0]; - } catch (error) { - console.error("Error fetching experiment by ID:", error); - return null; - } - } - - async deleteExperiment(experimentId: string): Promise> { - const experiment = await this.hasAccessToExperiment(experimentId); - if (!experiment) { - return err("Experiment not found"); - } - - try { - const result = await dbExecute( - `UPDATE experiment_v3 - SET soft_delete = true - WHERE id = $1 - AND organization = $2`, - [experimentId, this.authParams.organizationId] - ); - - if (result.error) { - return err(`Failed to delete experiment: ${result.error}`); - } - - return ok(null); - } catch (error) { - return err(`Failed to delete experiment: ${error}`); - } - } - - // this query needs to be better imo - async createNewExperiment( - name: string, - originalPromptVersion: string - ): Promise> { - try { - const promptManager = new PromptManager(this.authParams); - const originalPromptVersionRes = await promptManager.getPromptVersions({ - prompts_versions: { - id: { - equals: originalPromptVersion, - }, - }, - }); - - if (originalPromptVersionRes.error || !originalPromptVersionRes.data) { - return err("Failed to get original prompt version"); - } - - if (originalPromptVersionRes.data[0].minor_version !== 0) { - return err("Original prompt version is not a major prompt version"); - } - - const originalPromptVersionData = originalPromptVersionRes.data[0]; - - // Get input keys for the prompt version - const inputKeysResult = await dbExecute<{ key: string }>( - `SELECT key - FROM prompt_input_keys - WHERE prompt_version = $1`, - [originalPromptVersion] - ); - - // Create new experiment - const experimentResult = await dbExecute<{ id: string }>( - `INSERT INTO experiment_v3 (name, original_prompt_version, organization, input_keys) - VALUES ($1, $2, $3, $4) - RETURNING id`, - [ - name, - originalPromptVersion, - this.authParams.organizationId, - inputKeysResult.data?.map((row) => row.key) || [], - ] - ); - - if ( - experimentResult.error || - !experimentResult.data || - experimentResult.data.length === 0 - ) { - return err( - `Failed to create new experiment: ${experimentResult.error}` - ); - } - - const experimentId = experimentResult.data[0].id; - - // Create new prompt version for the experiment - const newPromptVersion = await promptManager.createNewPromptVersion( - originalPromptVersion, - { - newHeliconeTemplate: originalPromptVersionData.helicone_template, - experimentId: experimentId, - metadata: { - label: "Original", - }, - } - ); - - if (newPromptVersion.error || !newPromptVersion.data) { - return err("Failed to create new prompt version"); - } - - // Update experiment with copied original prompt version - const updateResult = await dbExecute( - `UPDATE experiment_v3 - SET copied_original_prompt_version = $1 - WHERE id = $2`, - [newPromptVersion.data.id, experimentId] - ); - - if (updateResult.error) { - return err(`Failed to update experiment: ${updateResult.error}`); - } - - return ok({ experimentId }); - } catch (error) { - return err(`Failed to create new experiment: ${error}`); - } - } - - async getExperimentWithRowsById( - experimentId: string - ): Promise> { - try { - const experimentResult = await dbExecute( - `SELECT * - FROM experiment_v3 - WHERE id = $1 - AND organization = $2 - LIMIT 1`, - [experimentId, this.authParams.organizationId] - ); - - if ( - experimentResult.error || - !experimentResult.data || - experimentResult.data.length === 0 - ) { - return err("Experiment not found"); - } - - const rows = await dbExecute( - ` - SELECT - pir.id, - pir.inputs, - pir.prompt_version, - pir.auto_prompt_inputs, - COALESCE( - ( - SELECT jsonb_agg( - jsonb_build_object( - 'id', eo.id, - 'request_id', eo.request_id, - 'is_original', eo.is_original, - 'prompt_version_id', eo.prompt_version_id, - 'input_record_id', eo.input_record_id, - 'created_at', eo.created_at - ) - ORDER BY eo.created_at DESC - ) - FROM experiment_output eo - WHERE pir.id = eo.input_record_id - ), - '[]'::jsonb - ) AS requests - FROM prompt_input_record pir - WHERE pir.experiment_id = $1 - ORDER BY pir.created_at ASC - `, - [experimentId] - ); - - if (rows.error || !rows.data) { - return err(`Failed to get experiment rows: ${rows.error}`); - } - - return ok({ - ...experimentResult.data[0], - rows: rows.data, - }); - } catch (error) { - return err(`Failed to get experiment: ${error}`); - } - } - - async getExperimentOutputForScores( - experimentId: string - ): Promise> { - try { - const rows = await dbExecute( - ` - SELECT - eo.request_id as request_id, - jsonb_build_object( - 'id', pir.id, - 'inputs', pir.inputs, - 'autoInputs', pir.auto_prompt_inputs - ) as input_record, - COALESCE(( - SELECT jsonb_object_agg( - sa.score_key, - jsonb_build_object( - 'value', - CASE - WHEN sa.value_type = 'int' THEN sv.int_value::text - WHEN sa.value_type = 'number' THEN sv.int_value::text - WHEN sa.value_type = 'boolean' THEN sv.int_value::text - END, - 'valueType', sa.value_type - ) - ) - FROM score_value sv - JOIN score_attribute sa ON sa.id = sv.score_attribute - WHERE sv.request_id = eo.request_id - ), '{}'::jsonb) as scores - FROM experiment_output eo - JOIN prompt_input_record pir ON pir.id = eo.input_record_id - WHERE eo.experiment_id = $1 - `, - [experimentId] - ); - - if (rows.error || !rows.data) { - return err("Failed to get experiment"); - } - - return ok(rows.data ?? []); - } catch (e) { - return err("Failed to get experiment"); - } - } - - async createNewPromptVersionForExperiment( - experimentId: string, - requestBody: CreateNewPromptVersionForExperimentParams - ): Promise> { - try { - const promptManager = new PromptManager(this.authParams); - const result = await promptManager.createNewPromptVersion( - requestBody.parentPromptVersionId, - requestBody - ); - - if (result.error || !result.data) { - return err("Failed to create new prompt version"); - } - - const newPromptVersionInputKeys = Array.from( - JSON.stringify(result.data.helicone_template).matchAll( - //g - ) - ).map((match) => match[1]); - - // Get existing input keys - const existingKeysResult = await dbExecute<{ input_keys: string[] }>( - `SELECT input_keys - FROM experiment_v3 - WHERE id = $1 - LIMIT 1`, - [experimentId] - ); - - const existingInputKeys = existingKeysResult.data?.[0]?.input_keys || []; - - // Update experiment input keys - const updateExperimentResult = await dbExecute( - `UPDATE experiment_v3 - SET input_keys = $1 - WHERE organization = $2 - AND id = $3`, - [ - [...new Set([...existingInputKeys, ...newPromptVersionInputKeys])], - this.authParams.organizationId, - experimentId, - ] - ); - - const insertPromptKeysResult = await dbExecute( - `INSERT INTO prompt_input_keys (key, prompt_version) - SELECT unnest($1::text[]), $2 - ON CONFLICT (key, prompt_version) DO NOTHING`, - [`{${newPromptVersionInputKeys.join(",")}}`, result.data.id] - ); - - if (updateExperimentResult.error || insertPromptKeysResult.error) { - return err("Failed to update experiment input keys"); - } - - return ok(result.data); - } catch (error) { - return err( - `Failed to create new prompt version for experiment: ${error}` - ); - } - } - - async deletePromptVersion( - experimentId: string, - promptVersionId: string - ): Promise> { - const experiment = await this.hasAccessToExperiment(experimentId); - if (!experiment) { - return err("You do not have access to this experiment"); - } - - const promptManager = new PromptManager(this.authParams); - const result = await promptManager.removePromptVersionFromExperiment( - promptVersionId, - experimentId - ); - if (result.error) { - return err("Failed to delete prompt version"); - } - return ok(null); - } - - async getPromptVersionsForExperiment( - experimentId: string - ): Promise> { - try { - const result = await dbExecute( - `SELECT * - FROM prompts_versions - WHERE experiment_id = $1 - AND organization = $2 - ORDER BY minor_version ASC`, - [experimentId, this.authParams.organizationId] - ); - - if (result.error) { - return err(`Failed to get prompt versions: ${result.error}`); - } - - return ok(result.data || []); - } catch (error) { - return err(`Failed to get prompt versions: ${error}`); - } - } - - async getInputKeysForExperiment( - experimentId: string - ): Promise> { - try { - const result = await dbExecute<{ input_keys: string[] }>( - `SELECT input_keys - FROM experiment_v3 - WHERE id = $1 - AND organization = $2 - LIMIT 1`, - [experimentId, this.authParams.organizationId] - ); - - if (result.error || !result.data || result.data.length === 0) { - return ok([]); - } - - return ok(result.data[0].input_keys || []); - } catch (error) { - return err(`Failed to get input keys: ${error}`); - } - } - - async addManualRowToExperiment( - experimentId: string, - inputs: Record - ): Promise> { - try { - const experiment = await this.getExperimentById(experimentId); - if (!experiment) { - return err("Experiment not found"); - } - - const inputManager = new InputsManager(this.authParams); - const result = await inputManager.createInputRecord( - experiment.copied_original_prompt_version ?? "", - inputs, - undefined, - experimentId - ); - if (result.error || !result.data) { - return err("Failed to add manual row to experiment"); - } - return ok(result.data); - } catch (e) { - return err("Failed to add manual row to experiment"); - } - } - - async addManualRowsToExperimentBatch( - experimentId: string, - inputs: Record[] - ): Promise> { - try { - const experiment = await this.getExperimentById(experimentId); - if (!experiment) { - return err("Experiment not found"); - } - - const inputManager = new InputsManager(this.authParams); - await inputManager.createInputRecords( - experiment.copied_original_prompt_version ?? "", - inputs, - undefined, - experimentId - ); - - return ok(null); - } catch (e) { - return err("Failed to create experiment table row batch"); - } - } - - async createExperimentTableRowBatch( - experimentId: string, - rows: { - inputRecordId: string; - inputs: Record; - autoInputs: Record; - }[] - ): Promise> { - try { - await Promise.all( - rows.map(async (row) => { - await this.createExperimentTableRow( - experimentId, - row.inputRecordId, - row.inputs, - row.autoInputs - ); - }) - ); - - return ok(null); - } catch (e) { - return err("Failed to create experiment table row with cells batch"); - } - } - - async createExperimentTableRowBatchFromDataset( - experimentId: string, - datasetId: string - ): Promise> { - const experiment = await this.getExperimentById(experimentId); - if (!experiment) { - return err("Experiment not found"); - } - - const inputManager = new InputsManager(this.authParams); - const inputRecords = - await inputManager.getInputsFromPromptVersionAndDataset( - experiment.original_prompt_version ?? "", - datasetId - ); - - if (!inputRecords.data) { - return err("No input records found"); - } - - try { - await Promise.all( - (inputRecords.data ?? []).map(async (row) => { - await this.createExperimentTableRow( - experimentId, - row.id, - row.inputs, - row.auto_prompt_inputs - ); - }) - ); - - return ok(null); - } catch (error) { - return err( - `Failed to create experiment table row with cells batch: ${error}` - ); - } - } - - async createExperimentTableRow( - experimentId: string, - inputRecordId: string, - inputs: Record, - autoInputs: Record - ): Promise> { - try { - // Get the original prompt input record - const originalPIRResult = await dbExecute<{ source_request: string }>( - `SELECT source_request - FROM prompt_input_record - WHERE id = $1 - LIMIT 1`, - [inputRecordId] - ); - - if ( - originalPIRResult.error || - !originalPIRResult.data || - originalPIRResult.data.length === 0 - ) { - return err("Original prompt input record not found"); - } - - const experiment = await this.getExperimentById(experimentId); - if (!experiment) { - return err("Experiment not found"); - } - - // Create new prompt input record - const newPIRResult = await dbExecute<{ id: string }>( - `INSERT INTO prompt_input_record ( - inputs, - auto_prompt_inputs, - prompt_version, - experiment_id - ) - VALUES ($1, $2, $3, $4) - RETURNING id`, - [ - inputs, - autoInputs, - experiment.copied_original_prompt_version || "", - experimentId, - ] - ); - - if ( - newPIRResult.error || - !newPIRResult.data || - newPIRResult.data.length === 0 - ) { - return err("Failed to create prompt input record"); - } - - // Create experiment output - const outputResult = await dbExecute( - `INSERT INTO experiment_output ( - input_record_id, - prompt_version_id, - is_original, - experiment_id, - request_id - ) - VALUES ($1, $2, $3, $4, $5)`, - [ - newPIRResult.data[0].id, - experiment.copied_original_prompt_version || "", - true, - experimentId, - originalPIRResult.data[0].source_request, - ] - ); - - if (outputResult.error) { - return err(`Failed to create experiment output: ${outputResult.error}`); - } - - return ok(null); - } catch (error) { - return err(`Failed to create experiment table row: ${error}`); - } - } - - async deleteExperimentTableRows( - experimentId: string, - inputRecordIds: string[] - ): Promise> { - const experiment = await this.getExperimentById(experimentId); - if (!experiment) { - return err("Experiment not found"); - } - - if (inputRecordIds.length === 0) { - return err("No input record ids provided"); - } - - try { - // Create placeholders for the IN clause - const placeholders = inputRecordIds.map((_, i) => `$${i + 3}`).join(", "); - - const result = await dbExecute( - `UPDATE prompt_input_record - SET experiment_id = null - WHERE id IN (${placeholders}) - AND experiment_id = $1`, - [experimentId, ...inputRecordIds] - ); - - if (result.error) { - return err(`Failed to delete experiment table rows: ${result.error}`); - } - - return ok(null); - } catch (error) { - return err(`Failed to delete experiment table rows: ${error}`); - } - } - - async updateExperimentTableRow( - experimentId: string, - inputRecordId: string, - inputs: Record - ): Promise> { - try { - const experiment = await this.getExperimentById(experimentId); - if (!experiment) { - return err("Experiment not found"); - } - - const result = await dbExecute( - `UPDATE prompt_input_record - SET inputs = $1 - WHERE id = $2 - AND experiment_id = $3`, - [inputs, inputRecordId, experimentId] - ); - - if (result.error) { - return err(`Failed to update experiment table row: ${result.error}`); - } - - return ok(null); - } catch (error) { - return err(`Failed to update experiment table row: ${error}`); - } - } - - async runHypothesis( - experimentId: string, - promptVersionId: string, - inputRecordId: string - ): Promise> { - try { - const experiment = await this.getExperimentById(experimentId); - if (!experiment) { - return err("Experiment not found"); - } - const result = await run( - experimentId, - promptVersionId, - inputRecordId, - this.authParams.organizationId - ); - - return result; - } catch (e) { - return err("Failed to run hypothesis" + JSON.stringify(e)); - } - } - - async getExperimentPromptVersionScores( - experimentId: string, - promptVersionId: string - ): Promise, string>> { - const experiment = await this.hasAccessToExperiment(experimentId); - if (!experiment) { - return err("Unauthorized"); - } - - const rows = await dbExecute<{ scores: Record }>( - `SELECT - COALESCE(( - SELECT jsonb_object_agg( - sa.score_key, - jsonb_build_object( - 'value', sv.int_value, - 'valueType', sa.value_type - ) - ) - FROM score_value sv - JOIN score_attribute sa ON sa.id = sv.score_attribute - JOIN evaluator_experiments_v3 ee ON ee.experiment = $1 - JOIN evaluator e ON e.id = ee.evaluator - WHERE sv.request_id = eo.request_id - AND sa.score_key = REGEXP_REPLACE(LOWER(REPLACE(e.name, ' ', '_')), '[^a-z0-9]+', '_', 'g') || - CASE WHEN sa.value_type = 'boolean' THEN '-hcone-bool' ELSE '' END - ), '{}'::jsonb) as scores - FROM experiment_output eo - WHERE eo.experiment_id = $1 - AND eo.prompt_version_id = $2 - `, - [experimentId, promptVersionId] - ); - - const scoresArray = rows.data?.map((row) => row.scores) ?? []; - - const scores = getCustomScores(scoresArray); - - return ok(scores); - } - - async getExperimentRequestScore( - experimentId: string, - requestId: string, - scoreKey: string - ): Promise> { - const rows = await dbExecute<{ score: ScoreV2 }>( - `SELECT jsonb_build_object( - 'value', sv.int_value, - 'valueType', sa.value_type - ) as score - FROM score_value sv - JOIN score_attribute sa ON sa.id = sv.score_attribute - LEFT JOIN request r ON r.id = sv.request_id - WHERE - sv.request_id = $1 - AND sa.score_key = $2 - AND r.helicone_org_id = $3`, - [requestId, scoreKey, this.authParams.organizationId] - ); - - return ok(rows.data?.[0]?.score ?? null); - } -} diff --git a/valhalla/jawn/src/managers/inputs/InputsManager.ts b/valhalla/jawn/src/managers/inputs/InputsManager.ts index c7c2739ecc..7abb07b400 100644 --- a/valhalla/jawn/src/managers/inputs/InputsManager.ts +++ b/valhalla/jawn/src/managers/inputs/InputsManager.ts @@ -198,16 +198,25 @@ export class InputsManager extends BaseManager { inputRecordId: string, inputs: Record ): Promise> { + // prompt_input_record has no organization column of its own; ownership is + // reached through its prompt_version. Scope the write so a caller can only + // update records belonging to their own organization. const updateQuery = ` UPDATE prompt_input_record SET inputs = COALESCE(inputs, '{}'::jsonb) || $1::jsonb WHERE id = $2 + AND prompt_version IN ( + SELECT pv.id + FROM prompts_versions pv + WHERE pv.organization = $3 + ) RETURNING id `; const result = await dbExecute<{ id: string }>(updateQuery, [ JSON.stringify(inputs), inputRecordId, + this.authParams.organizationId, ]); if (result.error || !result.data?.[0]?.id) { diff --git a/valhalla/jawn/src/managers/stripe/StripeManager.ts b/valhalla/jawn/src/managers/stripe/StripeManager.ts index 9ac075d968..9ce7f1ecc5 100644 --- a/valhalla/jawn/src/managers/stripe/StripeManager.ts +++ b/valhalla/jawn/src/managers/stripe/StripeManager.ts @@ -1,8 +1,6 @@ import Stripe from "stripe"; import { LLMUsage, - UpgradeToProRequest, - UpgradeToTeamBundleRequest, StripePaymentIntentsResponse, PaymentIntentSearchKind, PaymentIntentRecord, @@ -26,9 +24,7 @@ import { Result, err, ok } from "../../packages/common/result"; import { costOf } from "@helicone-package/cost"; import { BaseManager } from "../BaseManager"; import { SecretManager } from "@helicone-package/secrets/SecretManager"; -import { OrganizationManager } from "../organization/OrganizationManager"; import { SettingsManager } from "../../utils/settings"; -import { subdivide } from "../../utils/subdivide"; import { sendMeteredBatch } from "./sendBatchEvent"; type StripeMeterEvent = Stripe.V2.Billing.MeterEventStreamCreateParams.Event; @@ -51,7 +47,7 @@ const getProProductPrices = async (): Promise< try { const result = await dbExecute<{ name: string; settings: any }>( `SELECT * FROM helicone_settings`, - [] + [], ); if (result.error) { @@ -62,7 +58,7 @@ const getProProductPrices = async (): Promise< return Object.entries(DEFAULT_PRODUCT_PRICES) .map(([productId, defaultPriceId]) => { const setting = result.data?.find( - (setting) => setting.name === `price:${productId}` + (setting) => setting.name === `price:${productId}`, ); if (setting) { return { [productId]: setting.settings as string }; @@ -73,7 +69,7 @@ const getProProductPrices = async (): Promise< `INSERT INTO helicone_settings (name, settings) VALUES ($1, $2) ON CONFLICT (name) DO UPDATE SET settings = $2`, - [`price:${productId}`, JSON.stringify(defaultPriceId)] + [`price:${productId}`, JSON.stringify(defaultPriceId)], ); } } @@ -81,7 +77,7 @@ const getProProductPrices = async (): Promise< }) .reduce( (acc, curr) => ({ ...acc, ...curr }), - {} + {}, ) as typeof DEFAULT_PRODUCT_PRICES; } catch (error) { console.error("Error in getProProductPrices:", error); @@ -89,12 +85,6 @@ const getProProductPrices = async (): Promise< } }; -const COST_OF_PROMPTS = 50; -const COST_OF_EVALS = 100; -const COST_OF_EXPERIMENTS = 50; - -const EARLY_ADOPTER_COUPON = "9ca5IeEs"; // WlDg28Kf | prod: 9ca5IeEs - export class StripeManager extends BaseManager { private stripe: Stripe; @@ -105,38 +95,8 @@ export class StripeManager extends BaseManager { }); } - public async getCostForPrompts(): Promise> { - const subscriptionResult = await this.getSubscription(); - const proProductPrices = await getProProductPrices(); - if (!subscriptionResult.data) { - return ok(COST_OF_PROMPTS); - } - - const subscription = subscriptionResult.data; - - if ( - subscription.items.data.some( - (item) => item.price.id === proProductPrices["prompts"] - ) - ) { - const priceTheyArePayingForPrompts = subscription.items.data.find( - (item) => item.price.id === proProductPrices["prompts"] - ); - if ( - priceTheyArePayingForPrompts && - priceTheyArePayingForPrompts.price.unit_amount && - priceTheyArePayingForPrompts?.quantity && - priceTheyArePayingForPrompts.quantity > 0 - ) { - return ok(priceTheyArePayingForPrompts.price.unit_amount / 100); - } - } - - return ok(COST_OF_PROMPTS); - } - public async trackStripeMeter( - events: StripeMeterEvent[] + events: StripeMeterEvent[], ): Promise> { try { // First create a meter event session to get an auth token @@ -155,9 +115,12 @@ export class StripeManager extends BaseManager { */ public async getBillingPeriodUsage( orgId: string, - periodStart: Date + periodStart: Date, ): Promise< - Result<{ requests: number; storageBytes: number; storageMb: number }, string> + Result< + { requests: number; storageBytes: number; storageMb: number }, + string + > > { try { const result = await dbQueryClickhouse<{ @@ -172,7 +135,7 @@ export class StripeManager extends BaseManager { WHERE organization_id = {val_0: String} AND request_created_at >= {val_1: DateTime64(3)} `, - [orgId, periodStart] + [orgId, periodStart], ); if (result.error) { @@ -198,7 +161,7 @@ export class StripeManager extends BaseManager { stripeCustomerId: string, timestamp: Date, requests: number, - storageBytes: number + storageBytes: number, ): Promise> { try { const events: StripeMeterEvent[] = []; @@ -246,75 +209,13 @@ export class StripeManager extends BaseManager { requestsEvent: requests > 0 ? `sent ${requests} requests` : "skipped (0 requests)", storageEvent: - storageBytes > 0 - ? `sent ${storageBytes} bytes` - : "skipped (0 bytes)", + storageBytes > 0 ? `sent ${storageBytes} bytes` : "skipped (0 bytes)", }); } catch (error) { return err(`Error sending backdated usage events: ${error}`); } } - public async getCostForEvals(): Promise> { - const subscriptionResult = await this.getSubscription(); - const proProductPrices = await getProProductPrices(); - if (!subscriptionResult.data) { - return ok(COST_OF_EVALS); - } - - const subscription = subscriptionResult.data; - - if ( - subscription.items.data.some( - (item) => item.price.id === proProductPrices["evals"] - ) - ) { - const priceTheyArePayingForEvals = subscription.items.data.find( - (item) => item.price.id === proProductPrices["evals"] - ); - if ( - priceTheyArePayingForEvals && - priceTheyArePayingForEvals.price.unit_amount && - priceTheyArePayingForEvals?.quantity && - priceTheyArePayingForEvals.quantity > 0 - ) { - return ok(priceTheyArePayingForEvals.price.unit_amount / 100); - } - } - - return ok(COST_OF_EVALS); - } - - public async getCostForExperiments(): Promise> { - const subscriptionResult = await this.getSubscription(); - const proProductPrices = await getProProductPrices(); - if (!subscriptionResult.data) { - return ok(COST_OF_EXPERIMENTS); - } - - const subscription = subscriptionResult.data; - - if ( - subscription.items.data.some( - (item) => item.price.id === proProductPrices["experiments"] - ) - ) { - const priceTheyArePayingForExperiments = subscription.items.data.find( - (item) => item.price.id === proProductPrices["experiments"] - ); - if ( - priceTheyArePayingForExperiments && - priceTheyArePayingForExperiments.price.unit_amount && - priceTheyArePayingForExperiments?.quantity && - priceTheyArePayingForExperiments.quantity > 0 - ) { - return ok(priceTheyArePayingForExperiments.price.unit_amount / 100); - } - } - - return ok(COST_OF_EXPERIMENTS); - } - private async getOrCreateStripeCustomer(): Promise> { try { // Try to get the organization's stripe customer ID @@ -323,7 +224,7 @@ export class StripeManager extends BaseManager { FROM organization WHERE id = $1 LIMIT 1`, - [this.authParams.organizationId] + [this.authParams.organizationId], ); if (orgResult.error) { @@ -357,7 +258,7 @@ export class StripeManager extends BaseManager { `UPDATE organization SET stripe_customer_id = $1 WHERE id = $2`, - [customer.id, this.authParams.organizationId] + [customer.id, this.authParams.organizationId], ); if (updateResult.error) { @@ -400,14 +301,14 @@ export class StripeManager extends BaseManager { SELECT count(*) as count from request_response_rmt WHERE (${builtFilter.filter})`, - builtFilter.argsAcc + builtFilter.argsAcc, ); if (result.error) { return err("Error getting free usage"); } return ok( - result.data?.[0]?.count === undefined ? -1 : +result.data?.[0]?.count + result.data?.[0]?.count === undefined ? -1 : +result.data?.[0]?.count, ); } @@ -451,35 +352,9 @@ WHERE (${builtFilter.filter})`, return err(`Error undoing cancel subscription: ${error.message}`); } } - public async upgradeToProExistingCustomer( - origin: string, - body: UpgradeToProRequest - ): Promise> { - try { - const customerId = await this.getOrCreateStripeCustomer(); - if (customerId.error || !customerId.data) { - return err("Error getting or creating stripe customer"); - } - - // New pricing (2025-12-10): unlimited seats, no seat count needed - const session = await this.portalLinkUpgradeToPro( - origin, - customerId.data, - body - ); - - if (session.error) { - return err(session.error); - } - - return ok(session.data?.url!); - } catch (error: any) { - return err(`Error upgrading to pro: ${error.message}`); - } - } public async manageSubscriptionPaymentLink( - origin: string + origin: string, ): Promise> { try { const customerIdResult = await this.getOrCreateStripeCustomer(); @@ -497,10 +372,6 @@ WHERE (${builtFilter.filter})`, return err(`Error creating payment link: ${error.message}`); } } - private async getOrgMemberCount(): Promise> { - const organizationManager = new OrganizationManager(this.authParams); - return await organizationManager.getMemberCount(true); - } private shouldApplyCoupon(): boolean { const currentDate = new Date(); @@ -508,321 +379,6 @@ WHERE (${builtFilter.filter})`, return currentDate < cutoffDate; } - private async shouldApplyWaterlooCoupon( - customerId: string - ): Promise { - try { - const customer = await this.stripe.customers.retrieve(customerId); - if ( - !customer.deleted && - customer.object === "customer" && - customer.email?.endsWith("uwaterloo.ca") - ) { - return true; - } - return false; - } catch (error) { - console.error("Error checking Waterloo email:", error); - return false; - } - } - - private async portalLinkUpgradeToPro( - origin: string, - customerId: string, - body: UpgradeToProRequest - ): Promise> { - const proProductPrices = await getProProductPrices(); - - // New pricing (2025-12-10): $79/mo flat, prompts included, unlimited seats - // Plus metered billing for requests and GB usage - const settingsManager = new SettingsManager(); - const stripeProductSettings = - await settingsManager.getSetting("stripe:products"); - if (!stripeProductSettings?.pro20251210_79Price) { - return err("stripe:products pro20251210_79Price is not configured"); - } - if (!stripeProductSettings?.requestVolumePrice_20251210) { - return err( - "stripe:products requestVolumePrice_20251210 is not configured" - ); - } - if (!stripeProductSettings?.gigVolumePrice_20251210) { - return err("stripe:products gigVolumePrice_20251210 is not configured"); - } - - const sessionParams: Stripe.Checkout.SessionCreateParams = { - customer: customerId, - payment_method_types: ["card"], - line_items: [ - { - price: stripeProductSettings.pro20251210_79Price, // $79/mo flat - quantity: 1, - }, - { - price: stripeProductSettings.requestVolumePrice_20251210, // Metered request billing - }, - { - price: stripeProductSettings.gigVolumePrice_20251210, // Metered GB billing - }, - ], - mode: "subscription", - metadata: { - orgId: this.authParams.organizationId, - tier: "pro-20251210", - }, - subscription_data: { - trial_period_days: 7, - metadata: { - orgId: this.authParams.organizationId, - tier: "pro-20251210", - }, - }, - ui_mode: body.ui_mode ?? "hosted", - }; - - // Add success_url and cancel_url only if not in embedded mode - if (body.ui_mode !== "embedded") { - sessionParams.success_url = `${origin}/dashboard`; - sessionParams.cancel_url = `${origin}/dashboard`; - } else { - sessionParams.return_url = `${origin}/onboarding/integrate`; - } - - const isWaterlooEmail = await this.shouldApplyWaterlooCoupon(customerId); - if (isWaterlooEmail) { - sessionParams.discounts = [ - { - coupon: "WATERLOO2025", - }, - ]; - } else { - sessionParams.allow_promotion_codes = true; - } - - const session = await this.stripe.checkout.sessions.create(sessionParams); - - return ok(session); - } - - public async upgradeToProLink( - origin: string, - body: UpgradeToProRequest - ): Promise> { - try { - const subscriptionResult = await this.getSubscription(); - if (subscriptionResult.data) { - return err("User already has a pro subscription"); - } - - const customerId = await this.getOrCreateStripeCustomer(); - - if (customerId.error || !customerId.data) { - return err("Error getting or creating stripe customer"); - } - - // New pricing (2025-12-10): unlimited seats, no seat count needed - const sessionUrl = await this.portalLinkUpgradeToPro( - origin, - customerId.data, - body - ); - - if (sessionUrl.error) { - return err(sessionUrl.error); - } - - // For embedded mode, return the client secret instead of the URL - if (body.ui_mode === "embedded") { - return ok(sessionUrl.data?.client_secret!); - } - - return ok(sessionUrl.data?.url!); - } catch (error: any) { - return err(`Error creating upgrade link: ${error.message}`); - } - } - - private async portalLinkUpgradeToTeamBundle( - origin: string, - customerId: string, - isNewCustomer: boolean, - uiMode: "embedded" | "hosted" - ): Promise> { - // New pricing (2025-12-10): $799/mo flat, prompts/experiments/evals included - // Plus metered billing for requests and GB usage - const settingsManager = new SettingsManager(); - const stripeProductSettings = - await settingsManager.getSetting("stripe:products"); - if (!stripeProductSettings?.team20251210_799Price) { - return err("stripe:products team20251210_799Price is not configured"); - } - if (!stripeProductSettings?.requestVolumePrice_20251210) { - return err( - "stripe:products requestVolumePrice_20251210 is not configured" - ); - } - if (!stripeProductSettings?.gigVolumePrice_20251210) { - return err("stripe:products gigVolumePrice_20251210 is not configured"); - } - - const sessionParams: Stripe.Checkout.SessionCreateParams = { - customer: customerId, - payment_method_types: ["card"], - line_items: [ - { - price: stripeProductSettings.team20251210_799Price, // $799/mo flat - quantity: 1, - }, - { - price: stripeProductSettings.requestVolumePrice_20251210, // Metered request billing - }, - { - price: stripeProductSettings.gigVolumePrice_20251210, // Metered GB billing - }, - ], - mode: "subscription", - metadata: { - orgId: this.authParams.organizationId, - tier: "team-20251210", - }, - subscription_data: { - trial_period_days: isNewCustomer ? 7 : undefined, - metadata: { - orgId: this.authParams.organizationId, - tier: "team-20251210", - }, - }, - ui_mode: uiMode, - }; - - // Add success_url and cancel_url only if not in embedded mode - if (uiMode !== "embedded") { - sessionParams.success_url = `${origin}/dashboard`; - sessionParams.cancel_url = `${origin}/dashboard`; - } else { - sessionParams.return_url = `${origin}/onboarding/integrate`; - } - - const isWaterlooEmail = await this.shouldApplyWaterlooCoupon(customerId); - if (isWaterlooEmail) { - sessionParams.discounts = [ - { - coupon: "WATERLOO2025", - }, - ]; - } else { - sessionParams.allow_promotion_codes = true; - } - - const session = await this.stripe.checkout.sessions.create(sessionParams); - - return ok(session); - } - - async upgradeToTeamBundleLink( - returnUrl: string, - body: UpgradeToTeamBundleRequest - ): Promise> { - try { - const subscriptionResult = await this.getSubscription(); - if (subscriptionResult.data) { - return err("User already has a pro subscription"); - } - - const customerId = await this.getOrCreateStripeCustomer(); - if (customerId.error || !customerId.data) { - return err("Error getting or creating stripe customer"); - } - - const session = await this.portalLinkUpgradeToTeamBundle( - returnUrl, - customerId.data, - true, - body.ui_mode ?? "hosted" - ); - - if (session.error) { - return err(session.error); - } - - if (body.ui_mode === "embedded") { - return ok(session.data?.client_secret!); - } - - return ok(session.data?.url!); - } catch (error: any) { - return err(`Error upgrading to team bundle: ${error.message}`); - } - } - - async upgradeToTeamBundleExistingCustomer( - returnUrl: string, - body: UpgradeToTeamBundleRequest - ): Promise> { - try { - const subscriptionResult = await this.getSubscription(); - if (!subscriptionResult.data) { - return err("No existing subscription found"); - } - - const customerId = await this.getOrCreateStripeCustomer(); - if (customerId.error || !customerId.data) { - return err("Error getting or creating stripe customer"); - } - - const subscription = subscriptionResult.data; - - if ( - subscription.cancel_at_period_end || - subscription.status === "canceled" - ) { - const session = await this.portalLinkUpgradeToTeamBundle( - returnUrl, - customerId.data, - false, - body.ui_mode ?? "hosted" - ); - - if (session.error) { - return err(session.error); - } - - if (body.ui_mode === "embedded") { - return ok(session.data?.client_secret!); - } - return ok(session.data?.url!); - } - - // Cancels after they pay for the new subscription - // await this.stripe.subscriptions.update(subscription.id, { - // cancel_at_period_end: true, - // proration_behavior: "create_prorations", - // cancellation_details: { - // comment: "Upgrading to team bundle at the end of the billing period", - // }, - // }); - - const session = await this.portalLinkUpgradeToTeamBundle( - returnUrl, - customerId.data, - false, - body.ui_mode ?? "hosted" - ); - - if (session.error) { - return err(session.error); - } - - if (body.ui_mode === "embedded") { - return ok(session.data?.client_secret!); - } - return ok(session.data?.url!); - } catch (error: any) { - return err(`Error upgrading to team bundle: ${error.message}`); - } - } - private async getEvaluatorsUsage({ startTime, }: { @@ -879,7 +435,7 @@ WHERE (${builtFilter.filter})`, total_count: model.total_count, }; }) - .filter((item): item is LLMUsage => item !== null) ?? [] + .filter((item): item is LLMUsage => item !== null) ?? [], ); } @@ -939,7 +495,7 @@ WHERE (${builtFilter.filter})`, total_count: model.total_count, }; }) - .filter((item): item is LLMUsage => item !== null) ?? [] + .filter((item): item is LLMUsage => item !== null) ?? [], ); } @@ -984,295 +540,17 @@ WHERE (${builtFilter.filter})`, } } - private async addProductToStripe( - productType: "alerts" | "prompts" | "experiments" | "evals" - ): Promise> { - const proProductPrices = await getProProductPrices(); - try { - const subscriptionResult = await this.getSubscription(); - if (!subscriptionResult.data) { - return err("No existing subscription found"); - } - - const subscription = subscriptionResult.data; - const priceId = proProductPrices[productType]; - - // Check if the product is already included in the subscription - const existingItem = subscription.items.data.find( - (item) => item.price.id === priceId - ); - if (existingItem && existingItem.quantity === 0) { - await this.stripe.subscriptions.update(subscription.id, { - items: [ - { - id: existingItem.id, - quantity: 1, - }, - ], - proration_behavior: "create_prorations", - }); - - return ok(null); - } - - // Add the product to the subscription - const updatedSubscription = await this.stripe.subscriptions.update( - subscription.id, - { - items: [ - ...subscription.items.data.map((item) => ({ id: item.id })), - { - price: priceId, - quantity: 1, - }, - ], - proration_behavior: "create_prorations", - } - ); - - console.log( - `Subscription updated with ${productType}:`, - updatedSubscription.id - ); - - return ok(null); - } catch (error: any) { - return err( - `Error adding ${productType} to subscription: ${error.message}` - ); - } - } - - public async addProductToSubscription( - productType: "alerts" | "prompts" | "experiments" | "evals" - ): Promise> { - const stripeAddResult = await this.addProductToStripe(productType); - if (stripeAddResult.error) { - return err(stripeAddResult.error); - } - - const currentOrgStripeMetadata = await this.getStripeMetadata(); - if (currentOrgStripeMetadata.error) { - return err(currentOrgStripeMetadata.error); - } - - const orgData = await this.getOrganization(); - if (orgData.error) { - return err(orgData.error); - } - - const existingMetadata = - (orgData.data?.stripe_metadata as Record) || {}; - const existingAddons = - (existingMetadata.addons as Record) || {}; - - await dbExecute( - `UPDATE organization - SET stripe_metadata = $1 - WHERE id = $2`, - [ - JSON.stringify({ - ...existingMetadata, - addons: { - ...existingAddons, - [productType]: true, - }, - }), - this.authParams.organizationId, - ] - ); - - return ok(null); - } - - private async getStripeMetadata(): Promise> { - const subscriptionResult = await this.getSubscription(); - if (!subscriptionResult.data) { - return err("No existing subscription found"); - } - - const subscription = subscriptionResult.data; - return ok(subscription.metadata); - } - - private async deleteProductFromStripe( - productType: "alerts" | "prompts" | "experiments" | "evals" - ): Promise> { - const proProductPrices = await getProProductPrices(); - try { - const subscriptionResult = await this.getSubscription(); - if (!subscriptionResult.data) { - return err("No existing subscription found"); - } - - const subscription = subscriptionResult.data; - const currentPriceId = proProductPrices[productType]; - - // First try to find the item by the current price ID - let itemToRemove = subscription.items.data.find( - (item) => item.price.id === currentPriceId - ); - - // If not found by current price ID, try to find by product name/type - if (!itemToRemove) { - itemToRemove = subscription.items.data.find((item) => { - const product = item.price.product as Stripe.Product; - // Check if the product name or metadata contains the productType - return ( - product.name.toLowerCase().includes(productType.toLowerCase()) || - (product.metadata && product.metadata.type === productType) - ); - }); - } - - if (!itemToRemove) { - console.log(`${productType.toUpperCase()} ITEM NOT FOUND`); - return ok(null); // Product not found in subscription - } - - // If the item is already set to quantity 0, no need to update - if (itemToRemove.quantity !== undefined && itemToRemove.quantity === 0) { - console.log(`${productType} is already scheduled for removal`); - return ok(null); - } - - const result = await this.stripe.subscriptions.update(subscription.id, { - items: [ - { - id: itemToRemove.id, - quantity: 0, - }, - ], - proration_behavior: "create_prorations", - }); - - console.log( - `${productType} scheduled for removal at the end of the billing cycle` - ); - - return ok(null); - } catch (error: any) { - return err( - `Error deleting ${productType} from subscription: ${error.message}` - ); - } - } - - public async deleteProductFromSubscription( - productType: "alerts" | "prompts" | "experiments" | "evals" - ): Promise> { - const stripeDeleteResult = await this.deleteProductFromStripe(productType); - if (stripeDeleteResult.error) { - return err(stripeDeleteResult.error); - } - - const orgData = await this.getOrganization(); - - if (orgData.error) { - return err("Failed to get organization data"); - } - - const existingMetadata = - (orgData.data?.stripe_metadata as Record) || {}; - const existingAddons = - (existingMetadata.addons as Record) || {}; - - await dbExecute( - `UPDATE organization - SET stripe_metadata = $1 - WHERE id = $2`, - [ - JSON.stringify({ - ...existingMetadata, - addons: { - ...existingAddons, - [productType]: false, - }, - }), - this.authParams.organizationId, - ] - ); - - return ok(null); - } - - // Takes the existing subscription and adds any missing products - public async migrateToPro(): Promise> { - const proProductPrices = await getProProductPrices(); - try { - const subscriptionResult = await this.getSubscription(); - if (!subscriptionResult.data) { - return err("No existing subscription found"); - } - - const subscription = subscriptionResult.data; - const existingProducts = subscription.items.data.map( - (item) => item.price.id - ); - - const missingProducts = Object.values([ - proProductPrices["pro-users"], - ]).filter((productId) => !existingProducts.includes(productId)); - - if (missingProducts.length === 0) { - return ok(null); // All pro products are already in the subscription - } - - const updateParams: Stripe.SubscriptionUpdateParams = { - items: missingProducts.map((productId) => ({ price: productId })), - metadata: { - orgId: this.authParams.organizationId, - tier: "pro-20250202", - }, - proration_behavior: "none", - }; - - if (this.shouldApplyCoupon()) { - updateParams.coupon = EARLY_ADOPTER_COUPON; - } - - await this.stripe.subscriptions.update(subscription.id, updateParams); - - // Update the organization tier and reset free limit flag - const updateResult = await dbExecute( - `UPDATE organization - SET tier = $1, - free_limit_exceeded = NULL - WHERE id = $2`, - ["pro-20250202", this.authParams.organizationId] - ); - - if (updateResult.error) { - return err(`Error updating organization tier: ${updateResult.error}`); - } - - return ok(null); - } catch (error: any) { - if ( - error.message.includes("is already using that Price") && - error.message.includes("an existing Subscription") - ) { - // Even if there was an error, try to update the tier - await dbExecute( - `UPDATE organization - SET tier = $1, - free_limit_exceeded = NULL - WHERE id = $2`, - ["pro-20250202", this.authParams.organizationId] - ); - } - return err(`Error migrating to pro: ${error.message}`); - } - } - /** * Internal helper to migrate a subscription to new pricing. * Handles both pro and team tier migrations. */ private async migrateToNewPricing( - tierType: "pro" | "team" + tierType: "pro" | "team", ): Promise< - Result<{ previousTier: string; newTier: string; subscriptionId: string }, string> + Result< + { previousTier: string; newTier: string; subscriptionId: string }, + string + > > { const validTiers = tierType === "pro" @@ -1291,7 +569,7 @@ WHERE (${builtFilter.filter})`, const currentTier = org.data.tier; if (!validTiers.includes(currentTier ?? "")) { return err( - `Organization is not on a valid ${tierType} tier. Current tier: ${currentTier}` + `Organization is not on a valid ${tierType} tier. Current tier: ${currentTier}`, ); } @@ -1311,7 +589,7 @@ WHERE (${builtFilter.filter})`, } if (!stripeProductSettings?.requestVolumePrice_20251210) { return err( - "stripe:products requestVolumePrice_20251210 is not configured" + "stripe:products requestVolumePrice_20251210 is not configured", ); } if (!stripeProductSettings?.gigVolumePrice_20251210) { @@ -1337,7 +615,7 @@ WHERE (${builtFilter.filter})`, tier: newTier, }, proration_behavior: "none", - } + }, ); const updateResult = await dbExecute( @@ -1359,7 +637,7 @@ WHERE (${builtFilter.filter})`, }, }), this.authParams.organizationId, - ] + ], ); if (updateResult.error) { @@ -1372,7 +650,9 @@ WHERE (${builtFilter.filter})`, subscriptionId: subscription.id, }); } catch (error: any) { - return err(`Error migrating to new ${tierType} pricing: ${error.message}`); + return err( + `Error migrating to new ${tierType} pricing: ${error.message}`, + ); } } @@ -1380,7 +660,10 @@ WHERE (${builtFilter.filter})`, * Migrate from legacy pro tiers (pro-20240913, pro-20250202) to new pricing (pro-20251210) */ public async migrateToNewProPricing(): Promise< - Result<{ previousTier: string; newTier: string; subscriptionId: string }, string> + Result< + { previousTier: string; newTier: string; subscriptionId: string }, + string + > > { return this.migrateToNewPricing("pro"); } @@ -1389,7 +672,10 @@ WHERE (${builtFilter.filter})`, * Migrate from legacy team tier (team-20250130) to new pricing (team-20251210) */ public async migrateToNewTeamPricing(): Promise< - Result<{ previousTier: string; newTier: string; subscriptionId: string }, string> + Result< + { previousTier: string; newTier: string; subscriptionId: string }, + string + > > { return this.migrateToNewPricing("team"); } @@ -1405,7 +691,7 @@ WHERE (${builtFilter.filter})`, FROM organization WHERE id = $1 LIMIT 1`, - [this.authParams.organizationId] + [this.authParams.organizationId], ); if (result.error || !result.data || result.data.length === 0) { @@ -1434,7 +720,7 @@ WHERE (${builtFilter.filter})`, organization.data.stripe_subscription_id, { expand: ["items.data.price.product"], - } + }, ); return ok(subscription); @@ -1446,7 +732,7 @@ WHERE (${builtFilter.filter})`, public async createCloudGatewayCheckoutSession( origin: string, amount: number, - returnUrl?: string + returnUrl?: string, ): Promise> { try { const customerId = await this.getOrCreateStripeCustomer(); @@ -1471,7 +757,7 @@ WHERE (${builtFilter.filter})`, const PERCENT_FEE_RATE = 0.03; const FIXED_FEE_CENTS = 30; const percentageFeeCents = Math.ceil( - creditsAmountCents * PERCENT_FEE_RATE + creditsAmountCents * PERCENT_FEE_RATE, ); const stripeFeeCents = percentageFeeCents + FIXED_FEE_CENTS; const totalAmountCents = creditsAmountCents + stripeFeeCents; @@ -1522,7 +808,7 @@ WHERE (${builtFilter.filter})`, if (checkoutResult.lastResponse.statusCode !== 200) { return err( - `Got status code ${checkoutResult.lastResponse.statusCode} from Stripe` + `Got status code ${checkoutResult.lastResponse.statusCode} from Stripe`, ); } else if (!checkoutResult.url) { return err("Stripe did not return a session URL"); @@ -1531,18 +817,18 @@ WHERE (${builtFilter.filter})`, return ok(checkoutResult.url); } catch (error: any) { return err( - `Error creating cloud gateway checkout session: ${error.message}` + `Error creating cloud gateway checkout session: ${error.message}`, ); } } catch (error: any) { return err( - `Error creating cloud gateway checkout session: ${error.message}` + `Error creating cloud gateway checkout session: ${error.message}`, ); } } public async updateProUserCount( - count: number + count: number, ): Promise> { const proProductPrices = await getProProductPrices(); try { @@ -1555,7 +841,7 @@ WHERE (${builtFilter.filter})`, const proUsersPriceId = proProductPrices["pro-users"]; const proUsersItem = subscription.items.data.find( - (item) => item.price.id === proUsersPriceId + (item) => item.price.id === proUsersPriceId, ); if (!proUsersItem) { @@ -1572,18 +858,18 @@ WHERE (${builtFilter.filter})`, }, ], proration_behavior: "create_prorations", - } + }, ); console.log( "Pro-user count updated in subscription:", - updatedSubscription.id + updatedSubscription.id, ); return ok(null); } catch (error: any) { return err( - `Error updating pro-user count in subscription: ${error.message}` + `Error updating pro-user count in subscription: ${error.message}`, ); } } @@ -1597,7 +883,7 @@ WHERE (${builtFilter.filter})`, const proProductPrices = await getProProductPrices(); const proUsersItem = subscriptionResult.data.items.data.find( - (item) => item.price.id === proProductPrices["pro-users"] + (item) => item.price.id === proProductPrices["pro-users"], ); return ok(proUsersItem?.quantity ?? 0); @@ -1609,7 +895,7 @@ WHERE (${builtFilter.filter})`, public async searchPaymentIntents( searchKind: PaymentIntentSearchKind, limit: number = 10, - page?: string + page?: string, ): Promise> { try { let query: string; @@ -1625,7 +911,7 @@ WHERE (${builtFilter.filter})`, process.env.STRIPE_CLOUD_GATEWAY_TOKEN_USAGE_PRODUCT; if (!productId) { console.error( - "[Stripe API] STRIPE_CLOUD_GATEWAY_TOKEN_USAGE_PRODUCT not configured" + "[Stripe API] STRIPE_CLOUD_GATEWAY_TOKEN_USAGE_PRODUCT not configured", ); return err("Stripe product ID not configured"); } @@ -1671,7 +957,7 @@ WHERE (${builtFilter.filter})`, if (refunds.data.length > 0) { totalRefunded = refunds.data.reduce( (sum, refund) => sum + refund.amount, - 0 + 0, ); isFullyRefunded = totalRefunded >= intent.amount; refundIds = refunds.data.map((refund) => refund.id); @@ -1680,14 +966,14 @@ WHERE (${builtFilter.filter})`, if (isFullyRefunded) { latestRefundDate = Math.max( ...refunds.data.map((r) => r.created), - intent.created + intent.created, ); } } } catch (refundError) { console.error( `Error fetching refunds for payment intent ${intent.id}:`, - refundError + refundError, ); // Continue processing other payment intents even if one fails } @@ -1781,7 +1067,7 @@ WHERE (${builtFilter.filter})`, } async updateAutoTopoffSettings( - settings: UpdateAutoTopoffSettingsRequest + settings: UpdateAutoTopoffSettingsRequest, ): Promise> { try { const org = await this.getOrganization(); @@ -1793,7 +1079,7 @@ WHERE (${builtFilter.filter})`, if (org.data.stripe_customer_id) { try { const paymentMethod = await this.stripe.paymentMethods.retrieve( - settings.stripePaymentMethodId + settings.stripePaymentMethodId, ); // Validate payment method belongs to this organization's customer @@ -1828,7 +1114,7 @@ WHERE (${builtFilter.filter})`, settings.thresholdCents, settings.topoffAmountCents, settings.stripePaymentMethodId, - ] + ], ); if ( @@ -1837,7 +1123,7 @@ WHERE (${builtFilter.filter})`, upsertResult.data.length === 0 ) { return err( - `Error updating auto topoff settings: ${upsertResult.error}` + `Error updating auto topoff settings: ${upsertResult.error}`, ); } @@ -1865,7 +1151,7 @@ WHERE (${builtFilter.filter})`, const result = await dbExecute( `UPDATE organization_auto_topoff SET enabled = false WHERE organization_id = $1`, - [org.data.id] + [org.data.id], ); if (result.error) { @@ -1901,7 +1187,7 @@ WHERE (${builtFilter.filter})`, last4: pm.card?.last4 || "****", exp_month: pm.card?.exp_month || 0, exp_year: pm.card?.exp_year || 0, - })) + })), ); } catch (error) { return err(`Error fetching payment methods: ${error}`); @@ -1910,14 +1196,14 @@ WHERE (${builtFilter.filter})`, async createSetupSession( origin: string, - returnUrl?: string + returnUrl?: string, ): Promise> { try { const customerIdResult = await this.getOrCreateStripeCustomer(); if (customerIdResult.error || !customerIdResult.data) { return err( - `Failed to get or create Stripe customer: ${customerIdResult.error}` + `Failed to get or create Stripe customer: ${customerIdResult.error}`, ); } const customerId = customerIdResult.data; @@ -1948,7 +1234,7 @@ WHERE (${builtFilter.filter})`, } async removePaymentMethod( - paymentMethodId: string + paymentMethodId: string, ): Promise> { try { const org = await this.getOrganization(); @@ -1993,10 +1279,10 @@ WHERE (${builtFilter.filter})`, // Calculate days elapsed and total const msPerDay = 24 * 60 * 60 * 1000; const daysElapsed = Math.floor( - (now.getTime() - periodStart.getTime()) / msPerDay + (now.getTime() - periodStart.getTime()) / msPerDay, ); const daysTotal = Math.floor( - (periodEnd.getTime() - periodStart.getTime()) / msPerDay + (periodEnd.getTime() - periodStart.getTime()) / msPerDay, ); // Query ClickHouse for daily usage data within billing period diff --git a/valhalla/jawn/src/tsoa-build/private/routes.ts b/valhalla/jawn/src/tsoa-build/private/routes.ts index 50f0524b5f..69286169e2 100644 --- a/valhalla/jawn/src/tsoa-build/private/routes.ts +++ b/valhalla/jawn/src/tsoa-build/private/routes.ts @@ -20,16 +20,6 @@ import { OrganizationController } from './../../controllers/private/organization // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa import { EvaluatorController } from './../../controllers/public/evaluatorController'; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa -import { Prompt2025Controller } from './../../controllers/public/prompt2025Controller'; -// WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa -import { Prompt2025V2Controller } from './../../controllers/public/prompt2025Controller'; -// WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa -import { RequestController } from './../../controllers/public/requestController'; -// WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa -import { PromptController } from './../../controllers/public/promptController'; -// WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa -import { ExperimentV2Controller } from './../../controllers/public/experimentV2Controller'; -// WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa import { IntegrationController } from './../../controllers/public/integrationController'; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa import { LogController } from './../../controllers/private/logController'; @@ -276,24 +266,6 @@ const models: TsoaRoute.Models = { "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "UpgradeToProRequest": { - "dataType": "refObject", - "properties": { - "addons": {"dataType":"nestedObjectLiteral","nestedProperties":{"evals":{"dataType":"boolean"},"experiments":{"dataType":"boolean"},"prompts":{"dataType":"boolean"},"alerts":{"dataType":"boolean"}}}, - "seats": {"dataType":"double"}, - "ui_mode": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["embedded"]},{"dataType":"enum","enums":["hosted"]}]}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "UpgradeToTeamBundleRequest": { - "dataType": "refObject", - "properties": { - "ui_mode": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["embedded"]},{"dataType":"enum","enums":["hosted"]}]}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa "LLMUsage": { "dataType": "refObject", "properties": { @@ -666,25 +638,6 @@ const models: TsoaRoute.Models = { "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "EvaluatorExperiment": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"experiment_name":{"dataType":"string","required":true},"experiment_created_at":{"dataType":"string","required":true},"experiment_id":{"dataType":"string","required":true}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_EvaluatorExperiment-Array_": { - "dataType": "refObject", - "properties": { - "data": {"dataType":"array","array":{"dataType":"refAlias","ref":"EvaluatorExperiment"},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_EvaluatorExperiment-Array.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_EvaluatorExperiment-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa "OnlineEvaluatorByEvaluatorId": { "dataType": "refAlias", "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"config":{"dataType":"any","required":true},"id":{"dataType":"string","required":true}},"validators":{}}, @@ -812,7334 +765,6926 @@ const models: TsoaRoute.Models = { "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_EvaluatorStats_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Prompt2025": { - "dataType": "refObject", - "properties": { - "id": {"dataType":"string","required":true}, - "name": {"dataType":"string","required":true}, - "tags": {"dataType":"array","array":{"dataType":"string"},"required":true}, - "created_at": {"dataType":"string","required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_Prompt2025_": { + "ResultSuccess__id-string__": { "dataType": "refObject", "properties": { - "data": {"ref":"Prompt2025","required":true}, + "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"id":{"dataType":"string","required":true}},"required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_Prompt2025.string_": { + "Result__id-string_.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_Prompt2025_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__id-string__"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_string-Array_": { + "IntegrationCreateParams": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"string"},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "integration_name": {"dataType":"string","required":true}, + "settings": {"ref":"Json"}, + "active": {"dataType":"boolean"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_string-Array.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_string-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Prompt2025Input": { + "Integration": { "dataType": "refObject", "properties": { - "request_id": {"dataType":"string","required":true}, - "version_id": {"dataType":"string","required":true}, - "inputs": {"ref":"Record_string.any_","required":true}, + "integration_name": {"dataType":"string"}, + "settings": {"ref":"Json"}, + "active": {"dataType":"boolean"}, + "id": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_Prompt2025Input_": { + "ResultSuccess_Array_Integration__": { "dataType": "refObject", "properties": { - "data": {"ref":"Prompt2025Input","required":true}, + "data": {"dataType":"array","array":{"dataType":"refObject","ref":"Integration"},"required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_Prompt2025Input.string_": { + "Result_Array_Integration_.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_Prompt2025Input_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_Array_Integration__"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PromptCreateResponse": { + "IntegrationUpdateParams": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "versionId": {"dataType":"string","required":true}, + "integration_name": {"dataType":"string"}, + "settings": {"ref":"Json"}, + "active": {"dataType":"boolean"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_PromptCreateResponse_": { + "ResultSuccess_Integration_": { "dataType": "refObject", "properties": { - "data": {"ref":"PromptCreateResponse","required":true}, + "data": {"ref":"Integration","required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_PromptCreateResponse.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_PromptCreateResponse_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Record_string.number_": { + "Result_Integration.string_": { "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"dataType":"double"},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "OpenAIChatRequest": { - "dataType": "refObject", - "properties": { - "model": {"dataType":"string"}, - "messages": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"tool_calls":{"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"type":{"dataType":"enum","enums":["function"],"required":true},"function":{"dataType":"nestedObjectLiteral","nestedProperties":{"arguments":{"dataType":"string","required":true},"name":{"dataType":"string","required":true}},"required":true},"id":{"dataType":"string","required":true}}}},"tool_call_id":{"dataType":"string"},"name":{"dataType":"string"},"content":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"image_url":{"dataType":"nestedObjectLiteral","nestedProperties":{"url":{"dataType":"string","required":true}}},"text":{"dataType":"string"},"type":{"dataType":"string","required":true}}}},{"dataType":"enum","enums":[null]}],"required":true},"role":{"dataType":"string","required":true}}}}, - "temperature": {"dataType":"double"}, - "top_p": {"dataType":"double"}, - "max_tokens": {"dataType":"double"}, - "max_completion_tokens": {"dataType":"double"}, - "stream": {"dataType":"boolean"}, - "stop": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"string"}]}, - "tools": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"function":{"dataType":"nestedObjectLiteral","nestedProperties":{"strict":{"dataType":"boolean"},"parameters":{"ref":"Record_string.any_"},"description":{"dataType":"string"},"name":{"dataType":"string","required":true}},"required":true},"type":{"dataType":"enum","enums":["function"],"required":true}}}}, - "tool_choice": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["auto"]},{"dataType":"enum","enums":["required"]},{"dataType":"nestedObjectLiteral","nestedProperties":{"function":{"dataType":"nestedObjectLiteral","nestedProperties":{"name":{"dataType":"string","required":true},"type":{"dataType":"enum","enums":["function"],"required":true}}},"type":{"dataType":"string","required":true}}}]}, - "parallel_tool_calls": {"dataType":"boolean"}, - "reasoning_effort": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["minimal"]},{"dataType":"enum","enums":["low"]},{"dataType":"enum","enums":["medium"]},{"dataType":"enum","enums":["high"]}]}, - "verbosity": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["low"]},{"dataType":"enum","enums":["medium"]},{"dataType":"enum","enums":["high"]}]}, - "frequency_penalty": {"dataType":"double"}, - "presence_penalty": {"dataType":"double"}, - "logit_bias": {"ref":"Record_string.number_"}, - "logprobs": {"dataType":"boolean"}, - "top_logprobs": {"dataType":"double"}, - "n": {"dataType":"double"}, - "modalities": {"dataType":"array","array":{"dataType":"string"}}, - "prediction": {"dataType":"any"}, - "audio": {"dataType":"any"}, - "response_format": {"dataType":"nestedObjectLiteral","nestedProperties":{"json_schema":{"dataType":"any"},"type":{"dataType":"string","required":true}}}, - "seed": {"dataType":"double"}, - "service_tier": {"dataType":"string"}, - "store": {"dataType":"boolean"}, - "stream_options": {"dataType":"any"}, - "metadata": {"ref":"Record_string.string_"}, - "user": {"dataType":"string"}, - "function_call": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"nestedObjectLiteral","nestedProperties":{"name":{"dataType":"string","required":true}}}]}, - "functions": {"dataType":"array","array":{"dataType":"any"}}, - }, - "additionalProperties": false, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_Integration_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__id-string__": { + "ResultSuccess_Array__id-string--name-string___": { "dataType": "refObject", "properties": { - "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"id":{"dataType":"string","required":true}},"required":true}, + "data": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"name":{"dataType":"string","required":true},"id":{"dataType":"string","required":true}}},"required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__id-string_.string_": { + "Result_Array__id-string--name-string__.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__id-string__"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_Array__id-string--name-string___"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_number_": { + "TestStripeMeterEventRequest": { "dataType": "refObject", "properties": { - "data": {"dataType":"double","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "event_name": {"dataType":"string","required":true}, + "customer_id": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_number.string_": { + "ModelProviderName": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_number_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"enum","enums":["baseten","anthropic","azure","bedrock","canopywave","cerebras","chutes","deepinfra","deepseek","fireworks","google-ai-studio","groq","helicone","mistral","nebius","novita","openai","openrouter","perplexity","vertex","xai"],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_Prompt2025-Array_": { - "dataType": "refObject", - "properties": { - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"Prompt2025"},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, + "BodyMappingType": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["OPENAI"]},{"dataType":"enum","enums":["NO_MAPPING"]},{"dataType":"enum","enums":["RESPONSES"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_Prompt2025-Array.string_": { + "HeliconeMeta": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_Prompt2025-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"freeLimitExceeded":{"dataType":"boolean"},"aiGatewayBodyMapping":{"ref":"BodyMappingType"},"providerModelId":{"dataType":"string"},"gatewayModel":{"dataType":"string"},"gatewayProvider":{"ref":"ModelProviderName"},"isPassthroughBilling":{"dataType":"boolean"},"gatewayDeploymentTarget":{"dataType":"string"},"gatewayRouterId":{"dataType":"string"},"stripeCustomerId":{"dataType":"string"},"heliconeManualAccessKey":{"dataType":"string"},"promptInputs":{"ref":"Record_string.any_"},"promptVersionId":{"dataType":"string"},"promptEnvironment":{"dataType":"string"},"promptId":{"dataType":"string"},"lytixHost":{"dataType":"string"},"lytixKey":{"dataType":"string"},"posthogHost":{"dataType":"string"},"posthogApiKey":{"dataType":"string"},"webhookEnabled":{"dataType":"boolean","required":true},"omitResponseLog":{"dataType":"boolean","required":true},"omitRequestLog":{"dataType":"boolean","required":true},"modelOverride":{"dataType":"string"}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Record_string.unknown_": { + "ProviderName": { "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"dataType":"any"},"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["OPENAI"]},{"dataType":"enum","enums":["ANTHROPIC"]},{"dataType":"enum","enums":["AZURE"]},{"dataType":"enum","enums":["LOCAL"]},{"dataType":"enum","enums":["HELICONE"]},{"dataType":"enum","enums":["AMDBARTEK"]},{"dataType":"enum","enums":["ANYSCALE"]},{"dataType":"enum","enums":["CLOUDFLARE"]},{"dataType":"enum","enums":["2YFV"]},{"dataType":"enum","enums":["TOGETHER"]},{"dataType":"enum","enums":["LEMONFOX"]},{"dataType":"enum","enums":["FIREWORKS"]},{"dataType":"enum","enums":["PERPLEXITY"]},{"dataType":"enum","enums":["GOOGLE"]},{"dataType":"enum","enums":["OPENROUTER"]},{"dataType":"enum","enums":["WISDOMINANUTSHELL"]},{"dataType":"enum","enums":["GROQ"]},{"dataType":"enum","enums":["COHERE"]},{"dataType":"enum","enums":["MISTRAL"]},{"dataType":"enum","enums":["DEEPINFRA"]},{"dataType":"enum","enums":["QSTASH"]},{"dataType":"enum","enums":["FIRECRAWL"]},{"dataType":"enum","enums":["AWS"]},{"dataType":"enum","enums":["BEDROCK"]},{"dataType":"enum","enums":["DEEPSEEK"]},{"dataType":"enum","enums":["X"]},{"dataType":"enum","enums":["AVIAN"]},{"dataType":"enum","enums":["NEBIUS"]},{"dataType":"enum","enums":["NOVITA"]},{"dataType":"enum","enums":["OPENPIPE"]},{"dataType":"enum","enums":["CHUTES"]},{"dataType":"enum","enums":["LLAMA"]},{"dataType":"enum","enums":["NVIDIA"]},{"dataType":"enum","enums":["VERCEL"]},{"dataType":"enum","enums":["CEREBRAS"]},{"dataType":"enum","enums":["BASETEN"]},{"dataType":"enum","enums":["CANOPYWAVE"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Prompt2025VersionPromptBody": { - "dataType": "refObject", - "properties": { - "model": {"dataType":"string"}, - "messages": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"tool_calls":{"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"type":{"dataType":"enum","enums":["function"],"required":true},"function":{"dataType":"nestedObjectLiteral","nestedProperties":{"arguments":{"dataType":"string","required":true},"name":{"dataType":"string","required":true}},"required":true},"id":{"dataType":"string","required":true}}}},"tool_call_id":{"dataType":"string"},"name":{"dataType":"string"},"content":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"image_url":{"dataType":"nestedObjectLiteral","nestedProperties":{"url":{"dataType":"string","required":true}}},"text":{"dataType":"string"},"type":{"dataType":"string","required":true}}}},{"dataType":"enum","enums":[null]}],"required":true},"role":{"dataType":"string","required":true}}}}, - "temperature": {"dataType":"double"}, - "top_p": {"dataType":"double"}, - "max_tokens": {"dataType":"double"}, - "tools": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"function":{"dataType":"nestedObjectLiteral","nestedProperties":{"parameters":{"ref":"Record_string.unknown_","required":true},"description":{"dataType":"string","required":true},"name":{"dataType":"string","required":true}},"required":true},"type":{"dataType":"enum","enums":["function"],"required":true}}}}, - "tool_choice": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"nestedObjectLiteral","nestedProperties":{"function":{"dataType":"nestedObjectLiteral","nestedProperties":{"name":{"dataType":"string","required":true},"type":{"dataType":"enum","enums":["function"],"required":true}}},"type":{"dataType":"string","required":true}}}]}, - }, - "additionalProperties": {"dataType":"any"}, + "Provider": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"ProviderName"},{"dataType":"enum","enums":["CUSTOM"]},{"ref":"ModelProviderName"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Prompt2025Version": { + "TemplateWithInputs": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "model": {"dataType":"string","required":true}, - "prompt_id": {"dataType":"string","required":true}, - "major_version": {"dataType":"double","required":true}, - "minor_version": {"dataType":"double","required":true}, - "commit_message": {"dataType":"string","required":true}, - "environments": {"dataType":"array","array":{"dataType":"string"}}, - "created_at": {"dataType":"string","required":true}, - "s3_url": {"dataType":"string"}, - "prompt_body": {"ref":"Prompt2025VersionPromptBody"}, + "template": {"dataType":"object","required":true}, + "inputs": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"dataType":"string"},"required":true}, + "autoInputs": {"dataType":"array","array":{"dataType":"any"},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_Prompt2025Version_": { - "dataType": "refObject", - "properties": { - "data": {"ref":"Prompt2025Version","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, + "Log": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"response":{"dataType":"nestedObjectLiteral","nestedProperties":{"model":{"dataType":"string"},"reasoningTokens":{"dataType":"double"},"completionAudioTokens":{"dataType":"double"},"promptAudioTokens":{"dataType":"double"},"promptCacheWriteTokens":{"dataType":"double"},"promptCacheReadTokens":{"dataType":"double"},"completionTokens":{"dataType":"double"},"promptTokens":{"dataType":"double"},"cost":{"dataType":"double"},"cachedLatency":{"dataType":"double"},"delayMs":{"dataType":"double","required":true},"responseCreatedAt":{"dataType":"datetime","required":true},"timeToFirstToken":{"dataType":"double"},"bodySize":{"dataType":"double","required":true},"status":{"dataType":"double","required":true},"id":{"dataType":"string","required":true}},"required":true},"request":{"dataType":"nestedObjectLiteral","nestedProperties":{"requestReferrer":{"dataType":"string"},"cacheReferenceId":{"dataType":"string"},"cacheControl":{"dataType":"string"},"cacheBucketMaxSize":{"dataType":"double"},"cacheSeed":{"dataType":"double"},"cacheEnabled":{"dataType":"boolean"},"experimentRowIndex":{"dataType":"string"},"experimentColumnId":{"dataType":"string"},"heliconeTemplate":{"ref":"TemplateWithInputs"},"isStream":{"dataType":"boolean","required":true},"requestCreatedAt":{"dataType":"datetime","required":true},"countryCode":{"dataType":"string"},"threat":{"dataType":"boolean"},"path":{"dataType":"string","required":true},"bodySize":{"dataType":"double","required":true},"provider":{"ref":"Provider","required":true},"targetUrl":{"dataType":"string","required":true},"heliconeProxyKeyId":{"dataType":"string"},"heliconeApiKeyId":{"dataType":"double"},"properties":{"ref":"Record_string.string_","required":true},"promptVersion":{"dataType":"string"},"promptId":{"dataType":"string"},"userId":{"dataType":"string","required":true},"id":{"dataType":"string","required":true}},"required":true}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_Prompt2025Version.string_": { + "KafkaMessageContents": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_Prompt2025Version_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"log":{"ref":"Log","required":true},"heliconeMeta":{"ref":"HeliconeMeta","required":true},"authorization":{"dataType":"string","required":true}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_Prompt2025Version-Array_": { + "ResultSuccess_any_": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"Prompt2025Version"},"required":true}, + "data": {"dataType":"any","required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_Prompt2025Version-Array.string_": { + "KeyPermissions": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_Prompt2025Version-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["w"]},{"dataType":"enum","enums":["rw"]},{"dataType":"undefined"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PromptVersionCounts": { + "GenerateHashQueryParams": { "dataType": "refObject", "properties": { - "totalVersions": {"dataType":"double","required":true}, - "majorVersions": {"dataType":"double","required":true}, + "apiKey": {"dataType":"string","required":true}, + "governance": {"dataType":"boolean","required":true}, + "keyName": {"dataType":"string","required":true}, + "permissions": {"ref":"KeyPermissions","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_PromptVersionCounts_": { + "StoreFilterType": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"createdAt":{"dataType":"string"},"filter":{"dataType":"any","required":true},"name":{"dataType":"string","required":true},"id":{"dataType":"string"}},"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "ResultSuccess_StoreFilterType-Array_": { "dataType": "refObject", "properties": { - "data": {"ref":"PromptVersionCounts","required":true}, + "data": {"dataType":"array","array":{"dataType":"refAlias","ref":"StoreFilterType"},"required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_PromptVersionCounts.string_": { + "Result_StoreFilterType-Array.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_PromptVersionCounts_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_StoreFilterType-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_Prompt2025Version_91_prompt_body_93__": { + "ResultSuccess_StoreFilterType_": { "dataType": "refObject", "properties": { - "data": {"ref":"Prompt2025VersionPromptBody","required":true}, + "data": {"ref":"StoreFilterType","required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_Prompt2025Version_91_prompt_body_93_.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_Prompt2025Version_91_prompt_body_93__"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Partial_TextOperators_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"not-equals":{"dataType":"string"},"equals":{"dataType":"string"},"like":{"dataType":"string"},"ilike":{"dataType":"string"},"contains":{"dataType":"string"},"not-contains":{"dataType":"string"}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Partial_TimestampOperators_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"equals":{"dataType":"string"},"gte":{"dataType":"string"},"lte":{"dataType":"string"},"lt":{"dataType":"string"},"gt":{"dataType":"string"}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Partial_RequestTableToOperators_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"prompt":{"ref":"Partial_TextOperators_"},"created_at":{"ref":"Partial_TimestampOperators_"},"user_id":{"ref":"Partial_TextOperators_"},"auth_hash":{"ref":"Partial_TextOperators_"},"org_id":{"ref":"Partial_TextOperators_"},"id":{"ref":"Partial_TextOperators_"},"node_id":{"ref":"Partial_TextOperators_"},"model":{"ref":"Partial_TextOperators_"},"modelOverride":{"ref":"Partial_TextOperators_"},"path":{"ref":"Partial_TextOperators_"},"country_code":{"ref":"Partial_TextOperators_"},"prompt_id":{"ref":"Partial_TextOperators_"}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Partial_NumberOperators_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"not-equals":{"dataType":"double"},"equals":{"dataType":"double"},"gte":{"dataType":"double"},"lte":{"dataType":"double"},"lt":{"dataType":"double"},"gt":{"dataType":"double"}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Partial_BooleanOperators_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"equals":{"dataType":"boolean"}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Partial_FeedbackTableToOperators_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"id":{"ref":"Partial_NumberOperators_"},"created_at":{"ref":"Partial_TimestampOperators_"},"rating":{"ref":"Partial_BooleanOperators_"},"response_id":{"ref":"Partial_TextOperators_"}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Partial_ResponseTableToOperators_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"body_tokens":{"ref":"Partial_NumberOperators_"},"body_model":{"ref":"Partial_TextOperators_"},"body_completion":{"ref":"Partial_TextOperators_"},"status":{"ref":"Partial_NumberOperators_"},"model":{"ref":"Partial_TextOperators_"}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Partial_TimestampOperatorsTyped_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"equals":{"dataType":"datetime"},"gte":{"dataType":"datetime"},"lte":{"dataType":"datetime"},"lt":{"dataType":"datetime"},"gt":{"dataType":"datetime"}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Partial_RequestResponseRMTToOperators_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"country_code":{"ref":"Partial_TextOperators_"},"latency":{"ref":"Partial_NumberOperators_"},"cost":{"ref":"Partial_NumberOperators_"},"provider":{"ref":"Partial_TextOperators_"},"time_to_first_token":{"ref":"Partial_NumberOperators_"},"status":{"ref":"Partial_NumberOperators_"},"request_created_at":{"ref":"Partial_TimestampOperatorsTyped_"},"response_created_at":{"ref":"Partial_TimestampOperatorsTyped_"},"model":{"ref":"Partial_TextOperators_"},"user_id":{"ref":"Partial_TextOperators_"},"organization_id":{"ref":"Partial_TextOperators_"},"node_id":{"ref":"Partial_TextOperators_"},"job_id":{"ref":"Partial_TextOperators_"},"threat":{"ref":"Partial_BooleanOperators_"},"request_id":{"ref":"Partial_TextOperators_"},"prompt_tokens":{"ref":"Partial_NumberOperators_"},"completion_tokens":{"ref":"Partial_NumberOperators_"},"prompt_cache_read_tokens":{"ref":"Partial_NumberOperators_"},"prompt_cache_write_tokens":{"ref":"Partial_NumberOperators_"},"total_tokens":{"ref":"Partial_NumberOperators_"},"target_url":{"ref":"Partial_TextOperators_"},"property_key":{"dataType":"nestedObjectLiteral","nestedProperties":{"equals":{"dataType":"string","required":true}}},"properties":{"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"Partial_TextOperators_"}},"search_properties":{"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"Partial_TextOperators_"}},"scores":{"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"Partial_TextOperators_"}},"scores_column":{"ref":"Partial_TextOperators_"},"request_body":{"ref":"Partial_TextOperators_"},"response_body":{"ref":"Partial_TextOperators_"},"cache_enabled":{"ref":"Partial_BooleanOperators_"},"cache_reference_id":{"ref":"Partial_TextOperators_"},"cached":{"ref":"Partial_BooleanOperators_"},"assets":{"ref":"Partial_TextOperators_"},"helicone-score-feedback":{"ref":"Partial_BooleanOperators_"},"prompt_id":{"ref":"Partial_TextOperators_"},"prompt_version":{"ref":"Partial_TextOperators_"},"request_referrer":{"ref":"Partial_TextOperators_"},"is_passthrough_billing":{"ref":"Partial_BooleanOperators_"}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Partial_SessionsRequestResponseRMTToOperators_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"session_session_id":{"ref":"Partial_TextOperators_"},"session_session_name":{"ref":"Partial_TextOperators_"},"session_total_cost":{"ref":"Partial_NumberOperators_"},"session_total_tokens":{"ref":"Partial_NumberOperators_"},"session_prompt_tokens":{"ref":"Partial_NumberOperators_"},"session_completion_tokens":{"ref":"Partial_NumberOperators_"},"session_total_requests":{"ref":"Partial_NumberOperators_"},"session_created_at":{"ref":"Partial_TimestampOperatorsTyped_"},"session_latest_request_created_at":{"ref":"Partial_TimestampOperatorsTyped_"},"session_tag":{"ref":"Partial_TextOperators_"}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Pick_FilterLeaf.feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"request":{"ref":"Partial_RequestTableToOperators_"},"values":{"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"Partial_TextOperators_"}},"feedback":{"ref":"Partial_FeedbackTableToOperators_"},"response":{"ref":"Partial_ResponseTableToOperators_"},"properties":{"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"Partial_TextOperators_"}},"request_response_rmt":{"ref":"Partial_RequestResponseRMTToOperators_"},"sessions_request_response_rmt":{"ref":"Partial_SessionsRequestResponseRMTToOperators_"}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "FilterLeafSubset_feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_": { - "dataType": "refAlias", - "type": {"ref":"Pick_FilterLeaf.feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_","validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "RequestFilterNode": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"FilterLeafSubset_feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_"},{"ref":"RequestFilterBranch"},{"dataType":"enum","enums":["all"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "RequestFilterBranch": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"right":{"ref":"RequestFilterNode","required":true},"operator":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["or"]},{"dataType":"enum","enums":["and"]}],"required":true},"left":{"ref":"RequestFilterNode","required":true}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "SortDirection": { + "Result_StoreFilterType.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["asc"]},{"dataType":"enum","enums":["desc"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_StoreFilterType_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "SortLeafRequest": { + "ChatCompletionTokenLogprob.TopLogprob": { "dataType": "refObject", "properties": { - "random": {"dataType":"enum","enums":[true]}, - "created_at": {"ref":"SortDirection"}, - "cache_created_at": {"ref":"SortDirection"}, - "latency": {"ref":"SortDirection"}, - "last_active": {"ref":"SortDirection"}, - "total_tokens": {"ref":"SortDirection"}, - "completion_tokens": {"ref":"SortDirection"}, - "prompt_tokens": {"ref":"SortDirection"}, - "user_id": {"ref":"SortDirection"}, - "body_model": {"ref":"SortDirection"}, - "is_cached": {"ref":"SortDirection"}, - "request_prompt": {"ref":"SortDirection"}, - "response_text": {"ref":"SortDirection"}, - "properties": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"SortDirection"}}, - "values": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"SortDirection"}}, - "cost": {"ref":"SortDirection"}, - "time_to_first_token": {"ref":"SortDirection"}, + "token": {"dataType":"string","required":true}, + "bytes": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"double"}},{"dataType":"enum","enums":[null]}],"required":true}, + "logprob": {"dataType":"double","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "RequestQueryParams": { + "ChatCompletionTokenLogprob": { "dataType": "refObject", "properties": { - "filter": {"ref":"RequestFilterNode","required":true}, - "offset": {"dataType":"double"}, - "limit": {"dataType":"double"}, - "sort": {"ref":"SortLeafRequest"}, - "isCached": {"dataType":"boolean"}, - "includeInputs": {"dataType":"boolean"}, - "isPartOfExperiment": {"dataType":"boolean"}, - "isScored": {"dataType":"boolean"}, + "token": {"dataType":"string","required":true}, + "bytes": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"double"}},{"dataType":"enum","enums":[null]}],"required":true}, + "logprob": {"dataType":"double","required":true}, + "top_logprobs": {"dataType":"array","array":{"dataType":"refObject","ref":"ChatCompletionTokenLogprob.TopLogprob"},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ProviderName": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["OPENAI"]},{"dataType":"enum","enums":["ANTHROPIC"]},{"dataType":"enum","enums":["AZURE"]},{"dataType":"enum","enums":["LOCAL"]},{"dataType":"enum","enums":["HELICONE"]},{"dataType":"enum","enums":["AMDBARTEK"]},{"dataType":"enum","enums":["ANYSCALE"]},{"dataType":"enum","enums":["CLOUDFLARE"]},{"dataType":"enum","enums":["2YFV"]},{"dataType":"enum","enums":["TOGETHER"]},{"dataType":"enum","enums":["LEMONFOX"]},{"dataType":"enum","enums":["FIREWORKS"]},{"dataType":"enum","enums":["PERPLEXITY"]},{"dataType":"enum","enums":["GOOGLE"]},{"dataType":"enum","enums":["OPENROUTER"]},{"dataType":"enum","enums":["WISDOMINANUTSHELL"]},{"dataType":"enum","enums":["GROQ"]},{"dataType":"enum","enums":["COHERE"]},{"dataType":"enum","enums":["MISTRAL"]},{"dataType":"enum","enums":["DEEPINFRA"]},{"dataType":"enum","enums":["QSTASH"]},{"dataType":"enum","enums":["FIRECRAWL"]},{"dataType":"enum","enums":["AWS"]},{"dataType":"enum","enums":["BEDROCK"]},{"dataType":"enum","enums":["DEEPSEEK"]},{"dataType":"enum","enums":["X"]},{"dataType":"enum","enums":["AVIAN"]},{"dataType":"enum","enums":["NEBIUS"]},{"dataType":"enum","enums":["NOVITA"]},{"dataType":"enum","enums":["OPENPIPE"]},{"dataType":"enum","enums":["CHUTES"]},{"dataType":"enum","enums":["LLAMA"]},{"dataType":"enum","enums":["NVIDIA"]},{"dataType":"enum","enums":["VERCEL"]},{"dataType":"enum","enums":["CEREBRAS"]},{"dataType":"enum","enums":["BASETEN"]},{"dataType":"enum","enums":["CANOPYWAVE"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ModelProviderName": { - "dataType": "refAlias", - "type": {"dataType":"enum","enums":["baseten","anthropic","azure","bedrock","canopywave","cerebras","chutes","deepinfra","deepseek","fireworks","google-ai-studio","groq","helicone","mistral","nebius","novita","openai","openrouter","perplexity","vertex","xai"],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Provider": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ProviderName"},{"dataType":"enum","enums":["CUSTOM"]},{"ref":"ModelProviderName"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "LlmType": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["chat"]},{"dataType":"enum","enums":["completion"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "FunctionCall": { + "ChatCompletion.Choice.Logprobs": { "dataType": "refObject", "properties": { - "id": {"dataType":"string"}, - "name": {"dataType":"string","required":true}, - "arguments": {"ref":"Record_string.any_","required":true}, + "content": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"ChatCompletionTokenLogprob"}},{"dataType":"enum","enums":[null]}],"required":true}, + "refusal": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"ChatCompletionTokenLogprob"}},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Message": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"ending_event_id":{"dataType":"string"},"trigger_event_id":{"dataType":"string"},"start_timestamp":{"dataType":"string"},"annotations":{"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"content":{"dataType":"string"},"title":{"dataType":"string","required":true},"url":{"dataType":"string","required":true},"type":{"dataType":"enum","enums":["url_citation"],"required":true}}}},"reasoning":{"dataType":"string"},"deleted":{"dataType":"boolean"},"contentArray":{"dataType":"array","array":{"dataType":"refAlias","ref":"Message"}},"idx":{"dataType":"double"},"detail":{"dataType":"string"},"filename":{"dataType":"string"},"file_id":{"dataType":"string"},"file_data":{"dataType":"string"},"type":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["input_image"]},{"dataType":"enum","enums":["input_text"]},{"dataType":"enum","enums":["input_file"]}]},"audio_data":{"dataType":"string"},"image_url":{"dataType":"string"},"timestamp":{"dataType":"string"},"tool_call_id":{"dataType":"string"},"tool_calls":{"dataType":"array","array":{"dataType":"refObject","ref":"FunctionCall"}},"mime_type":{"dataType":"string"},"content":{"dataType":"string"},"name":{"dataType":"string"},"instruction":{"dataType":"string"},"role":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":["user"]},{"dataType":"enum","enums":["assistant"]},{"dataType":"enum","enums":["system"]},{"dataType":"enum","enums":["developer"]}]},"id":{"dataType":"string"},"_type":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["functionCall"]},{"dataType":"enum","enums":["function"]},{"dataType":"enum","enums":["image"]},{"dataType":"enum","enums":["file"]},{"dataType":"enum","enums":["message"]},{"dataType":"enum","enums":["autoInput"]},{"dataType":"enum","enums":["contentArray"]},{"dataType":"enum","enums":["audio"]}],"required":true}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Tool": { + "ChatCompletionMessage.Annotation.URLCitation": { "dataType": "refObject", "properties": { - "name": {"dataType":"string","required":true}, - "description": {"dataType":"string"}, - "parameters": {"ref":"Record_string.any_"}, - "strict": {"dataType":"boolean"}, + "end_index": {"dataType":"double","required":true}, + "start_index": {"dataType":"double","required":true}, + "title": {"dataType":"string","required":true}, + "url": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "HeliconeEventTool": { + "ChatCompletionMessage.Annotation": { "dataType": "refObject", "properties": { - "_type": {"dataType":"enum","enums":["tool"],"required":true}, - "toolName": {"dataType":"string","required":true}, - "input": {"dataType":"any","required":true}, + "type": {"dataType":"enum","enums":["url_citation"],"required":true}, + "url_citation": {"ref":"ChatCompletionMessage.Annotation.URLCitation","required":true}, }, - "additionalProperties": {"dataType":"any"}, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "HeliconeEventVectorDB": { + "ChatCompletionAudio": { "dataType": "refObject", "properties": { - "_type": {"dataType":"enum","enums":["vector_db"],"required":true}, - "operation": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["search"]},{"dataType":"enum","enums":["insert"]},{"dataType":"enum","enums":["delete"]},{"dataType":"enum","enums":["update"]}],"required":true}, - "text": {"dataType":"string"}, - "vector": {"dataType":"array","array":{"dataType":"double"}}, - "topK": {"dataType":"double"}, - "filter": {"dataType":"object"}, - "databaseName": {"dataType":"string"}, + "id": {"dataType":"string","required":true}, + "data": {"dataType":"string","required":true}, + "expires_at": {"dataType":"double","required":true}, + "transcript": {"dataType":"string","required":true}, }, - "additionalProperties": {"dataType":"any"}, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "HeliconeEventData": { + "ChatCompletionMessage.FunctionCall": { "dataType": "refObject", "properties": { - "_type": {"dataType":"enum","enums":["data"],"required":true}, + "arguments": {"dataType":"string","required":true}, "name": {"dataType":"string","required":true}, - "meta": {"ref":"Record_string.any_"}, - }, - "additionalProperties": {"dataType":"any"}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "LLMRequestBody": { - "dataType": "refObject", - "properties": { - "llm_type": {"ref":"LlmType"}, - "provider": {"dataType":"string"}, - "model": {"dataType":"string"}, - "messages": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"Message"}},{"dataType":"enum","enums":[null]}]}, - "prompt": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "instructions": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "max_tokens": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, - "temperature": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, - "top_p": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, - "seed": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, - "stream": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}]}, - "presence_penalty": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, - "frequency_penalty": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, - "stop": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "reasoning_effort": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["minimal"]},{"dataType":"enum","enums":["low"]},{"dataType":"enum","enums":["medium"]},{"dataType":"enum","enums":["high"]},{"dataType":"enum","enums":[null]}]}, - "verbosity": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["low"]},{"dataType":"enum","enums":["medium"]},{"dataType":"enum","enums":["high"]},{"dataType":"enum","enums":[null]}]}, - "tools": {"dataType":"array","array":{"dataType":"refObject","ref":"Tool"}}, - "parallel_tool_calls": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}]}, - "tool_choice": {"dataType":"nestedObjectLiteral","nestedProperties":{"name":{"dataType":"string"},"type":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["auto"]},{"dataType":"enum","enums":["any"]},{"dataType":"enum","enums":["tool"]}],"required":true}}}, - "response_format": {"dataType":"nestedObjectLiteral","nestedProperties":{"json_schema":{"dataType":"any"},"type":{"dataType":"string","required":true}}}, - "toolDetails": {"ref":"HeliconeEventTool"}, - "vectorDBDetails": {"ref":"HeliconeEventVectorDB"}, - "dataDetails": {"ref":"HeliconeEventData"}, - "input": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"array","array":{"dataType":"string"}}]}, - "n": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, - "size": {"dataType":"string"}, - "quality": {"dataType":"string"}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Response": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"contentArray":{"dataType":"array","array":{"dataType":"refAlias","ref":"Response"}},"detail":{"dataType":"string"},"filename":{"dataType":"string"},"file_id":{"dataType":"string"},"file_data":{"dataType":"string"},"idx":{"dataType":"double"},"audio_data":{"dataType":"string"},"image_url":{"dataType":"string"},"timestamp":{"dataType":"string"},"tool_call_id":{"dataType":"string"},"tool_calls":{"dataType":"array","array":{"dataType":"refObject","ref":"FunctionCall"}},"text":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"undefined"}]},"type":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["input_image"]},{"dataType":"enum","enums":["input_text"]},{"dataType":"enum","enums":["input_file"]}],"required":true},"name":{"dataType":"string"},"role":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["user"]},{"dataType":"enum","enums":["assistant"]},{"dataType":"enum","enums":["system"]},{"dataType":"enum","enums":["developer"]}],"required":true},"id":{"dataType":"string"},"_type":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["functionCall"]},{"dataType":"enum","enums":["function"]},{"dataType":"enum","enums":["image"]},{"dataType":"enum","enums":["text"]},{"dataType":"enum","enums":["file"]},{"dataType":"enum","enums":["contentArray"]}],"required":true}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "LLMResponseBody": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"dataDetailsResponse":{"dataType":"nestedObjectLiteral","nestedProperties":{"name":{"dataType":"string","required":true},"_type":{"dataType":"enum","enums":["data"],"required":true},"metadata":{"dataType":"nestedObjectLiteral","nestedProperties":{"timestamp":{"dataType":"string","required":true}},"additionalProperties":{"dataType":"any"},"required":true},"message":{"dataType":"string","required":true},"status":{"dataType":"string","required":true}},"additionalProperties":{"dataType":"any"}},"vectorDBDetailsResponse":{"dataType":"nestedObjectLiteral","nestedProperties":{"_type":{"dataType":"enum","enums":["vector_db"],"required":true},"metadata":{"dataType":"nestedObjectLiteral","nestedProperties":{"timestamp":{"dataType":"string","required":true},"destination_parsed":{"dataType":"boolean"},"destination":{"dataType":"string"}},"required":true},"actualSimilarity":{"dataType":"double"},"similarityThreshold":{"dataType":"double"},"message":{"dataType":"string","required":true},"status":{"dataType":"string","required":true}}},"toolDetailsResponse":{"dataType":"nestedObjectLiteral","nestedProperties":{"toolName":{"dataType":"string","required":true},"_type":{"dataType":"enum","enums":["tool"],"required":true},"metadata":{"dataType":"nestedObjectLiteral","nestedProperties":{"timestamp":{"dataType":"string","required":true}},"required":true},"tips":{"dataType":"array","array":{"dataType":"string"},"required":true},"message":{"dataType":"string","required":true},"status":{"dataType":"string","required":true}}},"error":{"dataType":"nestedObjectLiteral","nestedProperties":{"heliconeMessage":{"dataType":"any","required":true}}},"model":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]},"instructions":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]},"responses":{"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"Response"}},{"dataType":"enum","enums":[null]}]},"messages":{"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"Message"}},{"dataType":"enum","enums":[null]}]}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "LlmSchema": { - "dataType": "refObject", - "properties": { - "request": {"ref":"LLMRequestBody","required":true}, - "response": {"dataType":"union","subSchemas":[{"ref":"LLMResponseBody"},{"dataType":"enum","enums":[null]}]}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "HeliconeRequest": { - "dataType": "refObject", - "properties": { - "response_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "response_created_at": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "response_body": {"dataType":"any"}, - "response_status": {"dataType":"double","required":true}, - "response_model": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "request_id": {"dataType":"string","required":true}, - "request_created_at": {"dataType":"string","required":true}, - "request_body": {"dataType":"any","required":true}, - "request_path": {"dataType":"string","required":true}, - "request_user_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "request_properties": {"dataType":"union","subSchemas":[{"ref":"Record_string.string_"},{"dataType":"enum","enums":[null]}],"required":true}, - "request_model": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "model_override": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "helicone_user": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "provider": {"ref":"Provider","required":true}, - "delay_ms": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "time_to_first_token": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "total_tokens": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "prompt_tokens": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "prompt_cache_write_tokens": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "prompt_cache_read_tokens": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "completion_tokens": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "reasoning_tokens": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "prompt_audio_tokens": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "completion_audio_tokens": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "cost": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "prompt_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "prompt_version": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "feedback_created_at": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "feedback_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "feedback_rating": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}]}, - "signed_body_url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "llmSchema": {"dataType":"union","subSchemas":[{"ref":"LlmSchema"},{"dataType":"enum","enums":[null]}],"required":true}, - "country_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "asset_ids": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, - "asset_urls": {"dataType":"union","subSchemas":[{"ref":"Record_string.string_"},{"dataType":"enum","enums":[null]}],"required":true}, - "scores": {"dataType":"union","subSchemas":[{"ref":"Record_string.number_"},{"dataType":"enum","enums":[null]}],"required":true}, - "costUSD": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, - "properties": {"ref":"Record_string.string_","required":true}, - "assets": {"dataType":"array","array":{"dataType":"string"},"required":true}, - "target_url": {"dataType":"string","required":true}, - "model": {"dataType":"string","required":true}, - "cache_reference_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "cache_enabled": {"dataType":"boolean","required":true}, - "updated_at": {"dataType":"string"}, - "request_referrer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "ai_gateway_body_mapping": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "storage_location": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_HeliconeRequest-Array_": { + "ChatCompletionMessageFunctionToolCall.Function": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"HeliconeRequest"},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "arguments": {"dataType":"string","required":true}, + "name": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_HeliconeRequest-Array.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_HeliconeRequest-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_HeliconeRequest_": { - "dataType": "refObject", - "properties": { - "data": {"ref":"HeliconeRequest","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_HeliconeRequest.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_HeliconeRequest_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null_": { + "ChatCompletionMessageFunctionToolCall": { "dataType": "refObject", "properties": { - "data": {"dataType":"union","subSchemas":[{"dataType":"nestedObjectLiteral","nestedProperties":{"environment":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true},"version_id":{"dataType":"string","required":true},"prompt_id":{"dataType":"string","required":true},"inputs":{"ref":"Record_string.any_","required":true}}},{"dataType":"enum","enums":[null]}],"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "id": {"dataType":"string","required":true}, + "function": {"ref":"ChatCompletionMessageFunctionToolCall.Function","required":true}, + "type": {"dataType":"enum","enums":["function"],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "HeliconeRequestAsset": { + "ChatCompletionMessageCustomToolCall.Custom": { "dataType": "refObject", "properties": { - "assetUrl": {"dataType":"string","required":true}, + "input": {"dataType":"string","required":true}, + "name": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_HeliconeRequestAsset_": { + "ChatCompletionMessageCustomToolCall": { "dataType": "refObject", "properties": { - "data": {"ref":"HeliconeRequestAsset","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "id": {"dataType":"string","required":true}, + "custom": {"ref":"ChatCompletionMessageCustomToolCall.Custom","required":true}, + "type": {"dataType":"enum","enums":["custom"],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_HeliconeRequestAsset.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_HeliconeRequestAsset_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Record_string.number-or-boolean-or-undefined_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"boolean"}]},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Scores": { + "ChatCompletionMessageToolCall": { "dataType": "refAlias", - "type": {"ref":"Record_string.number-or-boolean-or-undefined_","validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ChatCompletionMessageFunctionToolCall"},{"ref":"ChatCompletionMessageCustomToolCall"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ScoreRequest": { + "ChatCompletionMessage": { "dataType": "refObject", "properties": { - "scores": {"ref":"Scores","required":true}, + "content": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "refusal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "role": {"dataType":"enum","enums":["assistant"],"required":true}, + "annotations": {"dataType":"array","array":{"dataType":"refObject","ref":"ChatCompletionMessage.Annotation"}}, + "audio": {"dataType":"union","subSchemas":[{"ref":"ChatCompletionAudio"},{"dataType":"enum","enums":[null]}]}, + "function_call": {"dataType":"union","subSchemas":[{"ref":"ChatCompletionMessage.FunctionCall"},{"dataType":"enum","enums":[null]}]}, + "tool_calls": {"dataType":"array","array":{"dataType":"refAlias","ref":"ChatCompletionMessageToolCall"}}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__hasPrompts-boolean__": { + "ChatCompletion.Choice": { "dataType": "refObject", "properties": { - "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"hasPrompts":{"dataType":"boolean","required":true}},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "finish_reason": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["stop"]},{"dataType":"enum","enums":["length"]},{"dataType":"enum","enums":["tool_calls"]},{"dataType":"enum","enums":["content_filter"]},{"dataType":"enum","enums":["function_call"]}],"required":true}, + "index": {"dataType":"double","required":true}, + "logprobs": {"dataType":"union","subSchemas":[{"ref":"ChatCompletion.Choice.Logprobs"},{"dataType":"enum","enums":[null]}],"required":true}, + "message": {"ref":"ChatCompletionMessage","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__hasPrompts-boolean_.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__hasPrompts-boolean__"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PromptsResult": { + "CompletionUsage.CompletionTokensDetails": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "user_defined_id": {"dataType":"string","required":true}, - "description": {"dataType":"string","required":true}, - "pretty_name": {"dataType":"string","required":true}, - "created_at": {"dataType":"string","required":true}, - "major_version": {"dataType":"double","required":true}, - "metadata": {"ref":"Record_string.any_"}, + "accepted_prediction_tokens": {"dataType":"double"}, + "audio_tokens": {"dataType":"double"}, + "reasoning_tokens": {"dataType":"double"}, + "rejected_prediction_tokens": {"dataType":"double"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_PromptsResult-Array_": { + "CompletionUsage.PromptTokensDetails": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"PromptsResult"},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "audio_tokens": {"dataType":"double"}, + "cached_tokens": {"dataType":"double"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_PromptsResult-Array.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_PromptsResult-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Partial_PromptToOperators_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"id":{"ref":"Partial_TextOperators_"},"user_defined_id":{"ref":"Partial_TextOperators_"}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Pick_FilterLeaf.prompt_v2_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"prompt_v2":{"ref":"Partial_PromptToOperators_"}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "FilterLeafSubset_prompt_v2_": { - "dataType": "refAlias", - "type": {"ref":"Pick_FilterLeaf.prompt_v2_","validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PromptsFilterNode": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"FilterLeafSubset_prompt_v2_"},{"ref":"PromptsFilterBranch"},{"dataType":"enum","enums":["all"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PromptsFilterBranch": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"right":{"ref":"PromptsFilterNode","required":true},"operator":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["or"]},{"dataType":"enum","enums":["and"]}],"required":true},"left":{"ref":"PromptsFilterNode","required":true}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PromptsQueryParams": { + "CompletionUsage": { "dataType": "refObject", "properties": { - "filter": {"ref":"PromptsFilterNode","required":true}, + "completion_tokens": {"dataType":"double","required":true}, + "prompt_tokens": {"dataType":"double","required":true}, + "total_tokens": {"dataType":"double","required":true}, + "completion_tokens_details": {"ref":"CompletionUsage.CompletionTokensDetails"}, + "prompt_tokens_details": {"ref":"CompletionUsage.PromptTokensDetails"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PromptResult": { + "ChatCompletion": { "dataType": "refObject", "properties": { "id": {"dataType":"string","required":true}, - "user_defined_id": {"dataType":"string","required":true}, - "description": {"dataType":"string","required":true}, - "pretty_name": {"dataType":"string","required":true}, - "major_version": {"dataType":"double","required":true}, - "latest_version_id": {"dataType":"string","required":true}, - "latest_model_used": {"dataType":"string","required":true}, - "created_at": {"dataType":"string","required":true}, - "last_used": {"dataType":"string","required":true}, - "versions": {"dataType":"array","array":{"dataType":"string"},"required":true}, - "metadata": {"ref":"Record_string.any_"}, + "choices": {"dataType":"array","array":{"dataType":"refObject","ref":"ChatCompletion.Choice"},"required":true}, + "created": {"dataType":"double","required":true}, + "model": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["chat.completion"],"required":true}, + "service_tier": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["auto"]},{"dataType":"enum","enums":["default"]},{"dataType":"enum","enums":["flex"]},{"dataType":"enum","enums":["scale"]},{"dataType":"enum","enums":["priority"]},{"dataType":"enum","enums":[null]}]}, + "system_fingerprint": {"dataType":"string"}, + "usage": {"ref":"CompletionUsage"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_PromptResult_": { + "ResultSuccess_ChatCompletion_": { "dataType": "refObject", "properties": { - "data": {"ref":"PromptResult","required":true}, + "data": {"ref":"ChatCompletion","required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_PromptResult.string_": { + "Result_ChatCompletion.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_PromptResult_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_ChatCompletion_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PromptQueryParams": { + "ChatCompletionContentPartText": { "dataType": "refObject", "properties": { - "timeFilter": {"dataType":"nestedObjectLiteral","nestedProperties":{"end":{"dataType":"string","required":true},"start":{"dataType":"string","required":true}},"required":true}, + "text": {"dataType":"string","required":true}, + "type": {"dataType":"enum","enums":["text"],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "CreatePromptResponse": { + "ChatCompletionDeveloperMessageParam": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "prompt_version_id": {"dataType":"string","required":true}, + "content": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"array","array":{"dataType":"refObject","ref":"ChatCompletionContentPartText"}}],"required":true}, + "role": {"dataType":"enum","enums":["developer"],"required":true}, + "name": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_CreatePromptResponse_": { + "ChatCompletionSystemMessageParam": { "dataType": "refObject", "properties": { - "data": {"ref":"CreatePromptResponse","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "content": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"array","array":{"dataType":"refObject","ref":"ChatCompletionContentPartText"}}],"required":true}, + "role": {"dataType":"enum","enums":["system"],"required":true}, + "name": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_CreatePromptResponse.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_CreatePromptResponse_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__metadata-Record_string.any___": { + "ChatCompletionContentPartImage.ImageURL": { "dataType": "refObject", "properties": { - "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"metadata":{"ref":"Record_string.any_","required":true}},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "url": {"dataType":"string","required":true}, + "detail": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["auto"]},{"dataType":"enum","enums":["low"]},{"dataType":"enum","enums":["high"]}]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__metadata-Record_string.any__.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__metadata-Record_string.any___"},{"ref":"ResultError_string_"}],"validators":{}}, + "ChatCompletionContentPartImage": { + "dataType": "refObject", + "properties": { + "image_url": {"ref":"ChatCompletionContentPartImage.ImageURL","required":true}, + "type": {"dataType":"enum","enums":["image_url"],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PromptEditSubversionLabelParams": { + "ChatCompletionContentPartInputAudio.InputAudio": { "dataType": "refObject", "properties": { - "label": {"dataType":"string","required":true}, + "data": {"dataType":"string","required":true}, + "format": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["wav"]},{"dataType":"enum","enums":["mp3"]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PromptEditSubversionTemplateParams": { + "ChatCompletionContentPartInputAudio": { "dataType": "refObject", "properties": { - "heliconeTemplate": {"dataType":"any","required":true}, - "experimentId": {"dataType":"string"}, + "input_audio": {"ref":"ChatCompletionContentPartInputAudio.InputAudio","required":true}, + "type": {"dataType":"enum","enums":["input_audio"],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PromptVersionResult": { + "ChatCompletionContentPart.File.File": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "minor_version": {"dataType":"double","required":true}, - "major_version": {"dataType":"double","required":true}, - "prompt_v2": {"dataType":"string","required":true}, - "model": {"dataType":"string","required":true}, - "helicone_template": {"dataType":"string","required":true}, - "created_at": {"dataType":"string","required":true}, - "metadata": {"ref":"Record_string.any_","required":true}, - "parent_prompt_version": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "experiment_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "updated_at": {"dataType":"string"}, + "file_data": {"dataType":"string"}, + "file_id": {"dataType":"string"}, + "filename": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_PromptVersionResult_": { + "ChatCompletionContentPart.File": { "dataType": "refObject", "properties": { - "data": {"ref":"PromptVersionResult","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "file": {"ref":"ChatCompletionContentPart.File.File","required":true}, + "type": {"dataType":"enum","enums":["file"],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_PromptVersionResult.string_": { + "ChatCompletionContentPart": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_PromptVersionResult_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ChatCompletionContentPartText"},{"ref":"ChatCompletionContentPartImage"},{"ref":"ChatCompletionContentPartInputAudio"},{"ref":"ChatCompletionContentPart.File"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PromptCreateSubversionParams": { + "ChatCompletionUserMessageParam": { "dataType": "refObject", "properties": { - "newHeliconeTemplate": {"dataType":"any","required":true}, - "isMajorVersion": {"dataType":"boolean"}, - "metadata": {"ref":"Record_string.any_"}, - "experimentId": {"dataType":"string"}, - "bumpForMajorPromptVersionId": {"dataType":"string"}, + "content": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"array","array":{"dataType":"refAlias","ref":"ChatCompletionContentPart"}}],"required":true}, + "role": {"dataType":"enum","enums":["user"],"required":true}, + "name": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PromptInputRecord": { + "ChatCompletionAssistantMessageParam.Audio": { "dataType": "refObject", "properties": { "id": {"dataType":"string","required":true}, - "inputs": {"ref":"Record_string.string_","required":true}, - "dataset_row_id": {"dataType":"string"}, - "source_request": {"dataType":"string","required":true}, - "prompt_version": {"dataType":"string","required":true}, - "created_at": {"dataType":"string","required":true}, - "response_body": {"dataType":"string"}, - "request_body": {"dataType":"string"}, - "auto_prompt_inputs": {"dataType":"array","array":{"dataType":"any"},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_PromptInputRecord-Array_": { + "ChatCompletionContentPartRefusal": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"PromptInputRecord"},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "refusal": {"dataType":"string","required":true}, + "type": {"dataType":"enum","enums":["refusal"],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_PromptInputRecord-Array.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_PromptInputRecord-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array_": { + "ChatCompletionAssistantMessageParam.FunctionCall": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"meta":{"ref":"Record_string.any_","required":true},"dataset":{"dataType":"string","required":true},"num_hypotheses":{"dataType":"double","required":true},"created_at":{"dataType":"string","required":true},"id":{"dataType":"string","required":true}}},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "arguments": {"dataType":"string","required":true}, + "name": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_PromptVersionResult-Array_": { + "ChatCompletionAssistantMessageParam": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"PromptVersionResult"},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "role": {"dataType":"enum","enums":["assistant"],"required":true}, + "audio": {"dataType":"union","subSchemas":[{"ref":"ChatCompletionAssistantMessageParam.Audio"},{"dataType":"enum","enums":[null]}]}, + "content": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"array","array":{"dataType":"union","subSchemas":[{"ref":"ChatCompletionContentPartText"},{"ref":"ChatCompletionContentPartRefusal"}]}},{"dataType":"enum","enums":[null]}]}, + "function_call": {"dataType":"union","subSchemas":[{"ref":"ChatCompletionAssistantMessageParam.FunctionCall"},{"dataType":"enum","enums":[null]}]}, + "name": {"dataType":"string"}, + "refusal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "tool_calls": {"dataType":"array","array":{"dataType":"refAlias","ref":"ChatCompletionMessageToolCall"}}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_PromptVersionResult-Array.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_PromptVersionResult-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Partial_PromptVersionsToOperators_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"minor_version":{"ref":"Partial_NumberOperators_"},"major_version":{"ref":"Partial_NumberOperators_"},"id":{"ref":"Partial_TextOperators_"},"prompt_v2":{"ref":"Partial_TextOperators_"}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Pick_FilterLeaf.prompts_versions_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"prompts_versions":{"ref":"Partial_PromptVersionsToOperators_"}},"validators":{}}, + "ChatCompletionToolMessageParam": { + "dataType": "refObject", + "properties": { + "content": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"array","array":{"dataType":"refObject","ref":"ChatCompletionContentPartText"}}],"required":true}, + "role": {"dataType":"enum","enums":["tool"],"required":true}, + "tool_call_id": {"dataType":"string","required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "FilterLeafSubset_prompts_versions_": { - "dataType": "refAlias", - "type": {"ref":"Pick_FilterLeaf.prompts_versions_","validators":{}}, + "ChatCompletionFunctionMessageParam": { + "dataType": "refObject", + "properties": { + "content": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "name": {"dataType":"string","required":true}, + "role": {"dataType":"enum","enums":["function"],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PromptVersionsFilterNode": { + "ChatCompletionMessageParam": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"FilterLeafSubset_prompts_versions_"},{"ref":"PromptVersionsFilterBranch"},{"dataType":"enum","enums":["all"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ChatCompletionDeveloperMessageParam"},{"ref":"ChatCompletionSystemMessageParam"},{"ref":"ChatCompletionUserMessageParam"},{"ref":"ChatCompletionAssistantMessageParam"},{"ref":"ChatCompletionToolMessageParam"},{"ref":"ChatCompletionFunctionMessageParam"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PromptVersionsFilterBranch": { + "FunctionParameters": { "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"right":{"ref":"PromptVersionsFilterNode","required":true},"operator":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["or"]},{"dataType":"enum","enums":["and"]}],"required":true},"left":{"ref":"PromptVersionsFilterNode","required":true}},"validators":{}}, + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"dataType":"any"},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PromptVersionsQueryParams": { + "FunctionDefinition": { "dataType": "refObject", "properties": { - "filter": {"ref":"PromptVersionsFilterNode"}, - "includeExperimentVersions": {"dataType":"boolean"}, + "name": {"dataType":"string","required":true}, + "description": {"dataType":"string"}, + "parameters": {"ref":"FunctionParameters"}, + "strict": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PromptVersionResultCompiled": { + "ChatCompletionFunctionTool": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "minor_version": {"dataType":"double","required":true}, - "major_version": {"dataType":"double","required":true}, - "prompt_v2": {"dataType":"string","required":true}, - "model": {"dataType":"string","required":true}, - "prompt_compiled": {"dataType":"any","required":true}, + "function": {"ref":"FunctionDefinition","required":true}, + "type": {"dataType":"enum","enums":["function"],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_PromptVersionResultCompiled_": { + "ChatCompletionCustomTool.Custom.Text": { "dataType": "refObject", "properties": { - "data": {"ref":"PromptVersionResultCompiled","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "type": {"dataType":"enum","enums":["text"],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_PromptVersionResultCompiled.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_PromptVersionResultCompiled_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PromptVersiosQueryParamsCompiled": { + "ChatCompletionCustomTool.Custom.Grammar.Grammar": { "dataType": "refObject", "properties": { - "filter": {"ref":"PromptVersionsFilterNode"}, - "includeExperimentVersions": {"dataType":"boolean"}, - "inputs": {"ref":"Record_string.string_","required":true}, + "definition": {"dataType":"string","required":true}, + "syntax": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["lark"]},{"dataType":"enum","enums":["regex"]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PromptVersionResultFilled": { + "ChatCompletionCustomTool.Custom.Grammar": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "minor_version": {"dataType":"double","required":true}, - "major_version": {"dataType":"double","required":true}, - "prompt_v2": {"dataType":"string","required":true}, - "model": {"dataType":"string","required":true}, - "filled_helicone_template": {"dataType":"any","required":true}, + "grammar": {"ref":"ChatCompletionCustomTool.Custom.Grammar.Grammar","required":true}, + "type": {"dataType":"enum","enums":["grammar"],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_PromptVersionResultFilled_": { + "ChatCompletionCustomTool.Custom": { "dataType": "refObject", "properties": { - "data": {"ref":"PromptVersionResultFilled","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "name": {"dataType":"string","required":true}, + "description": {"dataType":"string"}, + "format": {"dataType":"union","subSchemas":[{"ref":"ChatCompletionCustomTool.Custom.Text"},{"ref":"ChatCompletionCustomTool.Custom.Grammar"}]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_PromptVersionResultFilled.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_PromptVersionResultFilled_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__experimentId-string__": { + "ChatCompletionCustomTool": { "dataType": "refObject", "properties": { - "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"experimentId":{"dataType":"string","required":true}},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "custom": {"ref":"ChatCompletionCustomTool.Custom","required":true}, + "type": {"dataType":"enum","enums":["custom"],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__experimentId-string_.string_": { + "ChatCompletionTool": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__experimentId-string__"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ChatCompletionFunctionTool"},{"ref":"ChatCompletionCustomTool"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ExperimentV2": { + "ChatCompletionAllowedTools": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "name": {"dataType":"string","required":true}, - "original_prompt_version": {"dataType":"string","required":true}, - "copied_original_prompt_version": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "input_keys": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, - "created_at": {"dataType":"string","required":true}, + "mode": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["auto"]},{"dataType":"enum","enums":["required"]}],"required":true}, + "tools": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"dataType":"any"}},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_ExperimentV2-Array_": { + "ChatCompletionAllowedToolChoice": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"ExperimentV2"},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "allowed_tools": {"ref":"ChatCompletionAllowedTools","required":true}, + "type": {"dataType":"enum","enums":["allowed_tools"],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_ExperimentV2-Array.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_ExperimentV2-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ExperimentV2Output": { + "ChatCompletionNamedToolChoice.Function": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "request_id": {"dataType":"string","required":true}, - "is_original": {"dataType":"boolean","required":true}, - "prompt_version_id": {"dataType":"string","required":true}, - "created_at": {"dataType":"string","required":true}, - "input_record_id": {"dataType":"string","required":true}, + "name": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ExperimentV2Row": { + "ChatCompletionNamedToolChoice": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "inputs": {"ref":"Record_string.string_","required":true}, - "prompt_version": {"dataType":"string","required":true}, - "requests": {"dataType":"array","array":{"dataType":"refObject","ref":"ExperimentV2Output"},"required":true}, - "auto_prompt_inputs": {"dataType":"array","array":{"dataType":"any"},"required":true}, + "function": {"ref":"ChatCompletionNamedToolChoice.Function","required":true}, + "type": {"dataType":"enum","enums":["function"],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ExtendedExperimentData": { + "ChatCompletionNamedToolChoiceCustom.Custom": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, "name": {"dataType":"string","required":true}, - "original_prompt_version": {"dataType":"string","required":true}, - "copied_original_prompt_version": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "input_keys": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, - "created_at": {"dataType":"string","required":true}, - "rows": {"dataType":"array","array":{"dataType":"refObject","ref":"ExperimentV2Row"},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_ExtendedExperimentData_": { + "ChatCompletionNamedToolChoiceCustom": { "dataType": "refObject", "properties": { - "data": {"ref":"ExtendedExperimentData","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "custom": {"ref":"ChatCompletionNamedToolChoiceCustom.Custom","required":true}, + "type": {"dataType":"enum","enums":["custom"],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_ExtendedExperimentData.string_": { + "ChatCompletionToolChoiceOption": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_ExtendedExperimentData_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["auto"]},{"dataType":"enum","enums":["required"]},{"ref":"ChatCompletionAllowedToolChoice"},{"ref":"ChatCompletionNamedToolChoice"},{"ref":"ChatCompletionNamedToolChoiceCustom"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "CreateNewPromptVersionForExperimentParams": { + "AlertResponse": { "dataType": "refObject", "properties": { - "newHeliconeTemplate": {"dataType":"any","required":true}, - "isMajorVersion": {"dataType":"boolean"}, - "metadata": {"ref":"Record_string.any_"}, - "experimentId": {"dataType":"string"}, - "bumpForMajorPromptVersionId": {"dataType":"string"}, - "parentPromptVersionId": {"dataType":"string","required":true}, + "alerts": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"updated_at":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true},"time_window":{"dataType":"double","required":true},"time_block_duration":{"dataType":"double","required":true},"threshold":{"dataType":"double","required":true},"status":{"dataType":"string","required":true},"soft_delete":{"dataType":"boolean","required":true},"slack_channels":{"dataType":"array","array":{"dataType":"string"},"required":true},"org_id":{"dataType":"string","required":true},"name":{"dataType":"string","required":true},"minimum_request_count":{"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true},"metric":{"dataType":"string","required":true},"id":{"dataType":"string","required":true},"filter":{"dataType":"union","subSchemas":[{"ref":"Json"},{"dataType":"enum","enums":[null]}],"required":true},"emails":{"dataType":"array","array":{"dataType":"string"},"required":true},"created_at":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}}},"required":true}, + "history": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"updated_at":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true},"triggered_value":{"dataType":"string","required":true},"status":{"dataType":"string","required":true},"soft_delete":{"dataType":"boolean","required":true},"org_id":{"dataType":"string","required":true},"id":{"dataType":"string","required":true},"created_at":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true},"alert_start_time":{"dataType":"string","required":true},"alert_name":{"dataType":"string","required":true},"alert_metric":{"dataType":"string","required":true},"alert_id":{"dataType":"string","required":true},"alert_end_time":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}}},"required":true}, + "historyTotalCount": {"dataType":"double","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ExperimentV2PromptVersion": { + "ResultSuccess_AlertResponse_": { "dataType": "refObject", "properties": { - "created_at": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "experiment_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "helicone_template": {"dataType":"union","subSchemas":[{"ref":"Json"},{"dataType":"enum","enums":[null]}],"required":true}, - "id": {"dataType":"string","required":true}, - "major_version": {"dataType":"double","required":true}, - "metadata": {"dataType":"union","subSchemas":[{"ref":"Json"},{"dataType":"enum","enums":[null]}],"required":true}, - "minor_version": {"dataType":"double","required":true}, - "model": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "organization": {"dataType":"string","required":true}, - "prompt_v2": {"dataType":"string","required":true}, - "soft_delete": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, + "data": {"ref":"AlertResponse","required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_ExperimentV2PromptVersion-Array_": { - "dataType": "refObject", - "properties": { - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"ExperimentV2PromptVersion"},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, + "Result_AlertResponse.string_": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_AlertResponse_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_ExperimentV2PromptVersion-Array.string_": { + "AlertMetric": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_ExperimentV2PromptVersion-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["response.status"]},{"dataType":"enum","enums":["cost"]},{"dataType":"enum","enums":["latency"]},{"dataType":"enum","enums":["total_tokens"]},{"dataType":"enum","enums":["prompt_tokens"]},{"dataType":"enum","enums":["completion_tokens"]},{"dataType":"enum","enums":["prompt_cache_read_tokens"]},{"dataType":"enum","enums":["prompt_cache_write_tokens"]},{"dataType":"enum","enums":["count"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_boolean_": { + "AlertAggregation": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["sum"]},{"dataType":"enum","enums":["avg"]},{"dataType":"enum","enums":["min"]},{"dataType":"enum","enums":["max"]},{"dataType":"enum","enums":["percentile"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "AlertStandardGrouping": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["user"]},{"dataType":"enum","enums":["model"]},{"dataType":"enum","enums":["provider"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "AlertGrouping": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"AlertStandardGrouping"},{"dataType":"string"}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "AllExpression": { "dataType": "refObject", "properties": { - "data": {"dataType":"boolean","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "type": {"dataType":"enum","enums":["all"],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_boolean.string_": { + "FilterSubType": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_boolean_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["property"]},{"dataType":"enum","enums":["score"]},{"dataType":"enum","enums":["sessions"]},{"dataType":"enum","enums":["user"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ScoreV2": { + "BaseFieldSpec": { "dataType": "refObject", "properties": { - "valueType": {"dataType":"string","required":true}, - "value": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"datetime"},{"dataType":"string"}],"required":true}, - "max": {"dataType":"double","required":true}, - "min": {"dataType":"double","required":true}, + "subtype": {"ref":"FilterSubType"}, + "valueMode": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["value"]},{"dataType":"enum","enums":["key"]}]}, + "key": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Record_string.ScoreV2_": { + "FieldSpec": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"intersection","subSchemas":[{"ref":"BaseFieldSpec"},{"dataType":"nestedObjectLiteral","nestedProperties":{"column":{"dataType":"enum","enums":["latency","prompt_tokens","completion_tokens","prompt_cache_read_tokens","prompt_cache_write_tokens","model","provider","response_id","response_created_at","status","request_id","request_created_at","user_id","organization_id","proxy_key_id","threat","time_to_first_token","country_code","target_url","properties","scores","request_body","response_body","assets","updated_at"],"required":true},"table":{"dataType":"enum","enums":["request_response_rmt"],"required":true}}}]},{"dataType":"intersection","subSchemas":[{"ref":"BaseFieldSpec"},{"dataType":"nestedObjectLiteral","nestedProperties":{"subtype":{"dataType":"enum","enums":["property"],"required":true},"column":{"dataType":"string","required":true},"table":{"dataType":"enum","enums":["request_response_rmt"],"required":true}}}]},{"dataType":"intersection","subSchemas":[{"ref":"BaseFieldSpec"},{"dataType":"nestedObjectLiteral","nestedProperties":{"column":{"dataType":"enum","enums":["cost","total_tokens","prompt_tokens","completion_tokens","total_requests","created_at","latest_request_created_at"],"required":true},"table":{"dataType":"enum","enums":["sessions_request_response_rmt"],"required":true}}}]},{"dataType":"intersection","subSchemas":[{"ref":"BaseFieldSpec"},{"dataType":"nestedObjectLiteral","nestedProperties":{"column":{"dataType":"enum","enums":["cost","user_id","total_requests","active_for","first_active","last_active","average_requests_per_day_active","average_tokens_per_request","total_completion_tokens","total_prompt_tokens"],"required":true},"table":{"dataType":"enum","enums":["users_view"],"required":true}}}]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "FilterOperator": { "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"ScoreV2"},"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["eq"]},{"dataType":"enum","enums":["neq"]},{"dataType":"enum","enums":["is"]},{"dataType":"enum","enums":["gt"]},{"dataType":"enum","enums":["gte"]},{"dataType":"enum","enums":["lt"]},{"dataType":"enum","enums":["lte"]},{"dataType":"enum","enums":["like"]},{"dataType":"enum","enums":["ilike"]},{"dataType":"enum","enums":["contains"]},{"dataType":"enum","enums":["not-contains"]},{"dataType":"enum","enums":["in"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_Record_string.ScoreV2__": { + "ConditionExpression": { "dataType": "refObject", "properties": { - "data": {"ref":"Record_string.ScoreV2_","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "type": {"dataType":"enum","enums":["condition"],"required":true}, + "field": {"ref":"FieldSpec","required":true}, + "operator": {"ref":"FilterOperator","required":true}, + "value": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"double"},{"dataType":"boolean"}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_Record_string.ScoreV2_.string_": { + "FilterExpression": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_Record_string.ScoreV2__"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"AllExpression"},{"ref":"ConditionExpression"},{"ref":"AndExpression"},{"ref":"OrExpression"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_ScoreV2-or-null_": { + "AndExpression": { "dataType": "refObject", "properties": { - "data": {"dataType":"union","subSchemas":[{"ref":"ScoreV2"},{"dataType":"enum","enums":[null]}],"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "type": {"dataType":"enum","enums":["and"],"required":true}, + "expressions": {"dataType":"array","array":{"dataType":"refAlias","ref":"FilterExpression"},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_ScoreV2-or-null.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_ScoreV2-or-null_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "IntegrationCreateParams": { + "OrExpression": { "dataType": "refObject", "properties": { - "integration_name": {"dataType":"string","required":true}, - "settings": {"ref":"Json"}, - "active": {"dataType":"boolean"}, + "type": {"dataType":"enum","enums":["or"],"required":true}, + "expressions": {"dataType":"array","array":{"dataType":"refAlias","ref":"FilterExpression"},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Integration": { + "AlertRequest": { "dataType": "refObject", "properties": { - "integration_name": {"dataType":"string"}, - "settings": {"ref":"Json"}, - "active": {"dataType":"boolean"}, - "id": {"dataType":"string","required":true}, + "name": {"dataType":"string","required":true}, + "metric": {"ref":"AlertMetric","required":true}, + "threshold": {"dataType":"double","required":true}, + "aggregation": {"dataType":"union","subSchemas":[{"ref":"AlertAggregation"},{"dataType":"enum","enums":[null]}],"required":true}, + "percentile": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "grouping": {"dataType":"union","subSchemas":[{"ref":"AlertGrouping"},{"dataType":"enum","enums":[null]}],"required":true}, + "grouping_is_property": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, + "time_window": {"dataType":"string","required":true}, + "emails": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "slack_channels": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "minimum_request_count": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"undefined"}],"required":true}, + "filter": {"dataType":"union","subSchemas":[{"ref":"FilterExpression"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_Array_Integration__": { + "ResultSuccess__active-boolean--created_at-string--id-number--message-string--title-string--updated_at-string_-Array_": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"Integration"},"required":true}, + "data": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"updated_at":{"dataType":"string","required":true},"title":{"dataType":"string","required":true},"message":{"dataType":"string","required":true},"id":{"dataType":"double","required":true},"created_at":{"dataType":"string","required":true},"active":{"dataType":"boolean","required":true}}},"required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_Array_Integration_.string_": { + "Result__active-boolean--created_at-string--id-number--message-string--title-string--updated_at-string_-Array.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_Array_Integration__"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__active-boolean--created_at-string--id-number--message-string--title-string--updated_at-string_-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "IntegrationUpdateParams": { + "ClickHouseTableColumn": { "dataType": "refObject", "properties": { - "integration_name": {"dataType":"string"}, - "settings": {"ref":"Json"}, - "active": {"dataType":"boolean"}, + "name": {"dataType":"string","required":true}, + "type": {"dataType":"string","required":true}, + "default_type": {"dataType":"string"}, + "default_expression": {"dataType":"string"}, + "comment": {"dataType":"string"}, + "codec_expression": {"dataType":"string"}, + "ttl_expression": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_Integration_": { + "ClickHouseTableSchema": { "dataType": "refObject", "properties": { - "data": {"ref":"Integration","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "table_name": {"dataType":"string","required":true}, + "columns": {"dataType":"array","array":{"dataType":"refObject","ref":"ClickHouseTableColumn"},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_Integration.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_Integration_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_Array__id-string--name-string___": { + "ResultSuccess_ClickHouseTableSchema-Array_": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"name":{"dataType":"string","required":true},"id":{"dataType":"string","required":true}}},"required":true}, + "data": {"dataType":"array","array":{"dataType":"refObject","ref":"ClickHouseTableSchema"},"required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_Array__id-string--name-string__.string_": { + "Result_ClickHouseTableSchema-Array.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_Array__id-string--name-string___"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_ClickHouseTableSchema-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "TestStripeMeterEventRequest": { + "ExecuteSqlResponse": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"rowCount":{"dataType":"double","required":true},"size":{"dataType":"double","required":true},"elapsedMilliseconds":{"dataType":"double","required":true},"rows":{"dataType":"array","array":{"dataType":"refAlias","ref":"Record_string.any_"},"required":true}},"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "ResultSuccess_ExecuteSqlResponse_": { "dataType": "refObject", "properties": { - "event_name": {"dataType":"string","required":true}, - "customer_id": {"dataType":"string","required":true}, + "data": {"ref":"ExecuteSqlResponse","required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "BodyMappingType": { + "Result_ExecuteSqlResponse.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["OPENAI"]},{"dataType":"enum","enums":["NO_MAPPING"]},{"dataType":"enum","enums":["RESPONSES"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_ExecuteSqlResponse_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "HeliconeMeta": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"freeLimitExceeded":{"dataType":"boolean"},"aiGatewayBodyMapping":{"ref":"BodyMappingType"},"providerModelId":{"dataType":"string"},"gatewayModel":{"dataType":"string"},"gatewayProvider":{"ref":"ModelProviderName"},"isPassthroughBilling":{"dataType":"boolean"},"gatewayDeploymentTarget":{"dataType":"string"},"gatewayRouterId":{"dataType":"string"},"stripeCustomerId":{"dataType":"string"},"heliconeManualAccessKey":{"dataType":"string"},"promptInputs":{"ref":"Record_string.any_"},"promptVersionId":{"dataType":"string"},"promptEnvironment":{"dataType":"string"},"promptId":{"dataType":"string"},"lytixHost":{"dataType":"string"},"lytixKey":{"dataType":"string"},"posthogHost":{"dataType":"string"},"posthogApiKey":{"dataType":"string"},"webhookEnabled":{"dataType":"boolean","required":true},"omitResponseLog":{"dataType":"boolean","required":true},"omitRequestLog":{"dataType":"boolean","required":true},"modelOverride":{"dataType":"string"}},"validators":{}}, + "ExecuteSqlRequest": { + "dataType": "refObject", + "properties": { + "sql": {"dataType":"string","required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "TemplateWithInputs": { + "HqlSavedQuery": { "dataType": "refObject", "properties": { - "template": {"dataType":"object","required":true}, - "inputs": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"dataType":"string"},"required":true}, - "autoInputs": {"dataType":"array","array":{"dataType":"any"},"required":true}, + "id": {"dataType":"string","required":true}, + "organization_id": {"dataType":"string","required":true}, + "name": {"dataType":"string","required":true}, + "sql": {"dataType":"string","required":true}, + "created_at": {"dataType":"string","required":true}, + "updated_at": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Log": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"response":{"dataType":"nestedObjectLiteral","nestedProperties":{"model":{"dataType":"string"},"reasoningTokens":{"dataType":"double"},"completionAudioTokens":{"dataType":"double"},"promptAudioTokens":{"dataType":"double"},"promptCacheWriteTokens":{"dataType":"double"},"promptCacheReadTokens":{"dataType":"double"},"completionTokens":{"dataType":"double"},"promptTokens":{"dataType":"double"},"cost":{"dataType":"double"},"cachedLatency":{"dataType":"double"},"delayMs":{"dataType":"double","required":true},"responseCreatedAt":{"dataType":"datetime","required":true},"timeToFirstToken":{"dataType":"double"},"bodySize":{"dataType":"double","required":true},"status":{"dataType":"double","required":true},"id":{"dataType":"string","required":true}},"required":true},"request":{"dataType":"nestedObjectLiteral","nestedProperties":{"requestReferrer":{"dataType":"string"},"cacheReferenceId":{"dataType":"string"},"cacheControl":{"dataType":"string"},"cacheBucketMaxSize":{"dataType":"double"},"cacheSeed":{"dataType":"double"},"cacheEnabled":{"dataType":"boolean"},"experimentRowIndex":{"dataType":"string"},"experimentColumnId":{"dataType":"string"},"heliconeTemplate":{"ref":"TemplateWithInputs"},"isStream":{"dataType":"boolean","required":true},"requestCreatedAt":{"dataType":"datetime","required":true},"countryCode":{"dataType":"string"},"threat":{"dataType":"boolean"},"path":{"dataType":"string","required":true},"bodySize":{"dataType":"double","required":true},"provider":{"ref":"Provider","required":true},"targetUrl":{"dataType":"string","required":true},"heliconeProxyKeyId":{"dataType":"string"},"heliconeApiKeyId":{"dataType":"double"},"properties":{"ref":"Record_string.string_","required":true},"promptVersion":{"dataType":"string"},"promptId":{"dataType":"string"},"userId":{"dataType":"string","required":true},"id":{"dataType":"string","required":true}},"required":true}},"validators":{}}, + "ResultSuccess_Array_HqlSavedQuery__": { + "dataType": "refObject", + "properties": { + "data": {"dataType":"array","array":{"dataType":"refObject","ref":"HqlSavedQuery"},"required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "KafkaMessageContents": { + "Result_Array_HqlSavedQuery_.string_": { "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"log":{"ref":"Log","required":true},"heliconeMeta":{"ref":"HeliconeMeta","required":true},"authorization":{"dataType":"string","required":true}},"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_Array_HqlSavedQuery__"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_any_": { + "ResultSuccess_HqlSavedQuery-or-null_": { "dataType": "refObject", "properties": { - "data": {"dataType":"any","required":true}, + "data": {"dataType":"union","subSchemas":[{"ref":"HqlSavedQuery"},{"dataType":"enum","enums":[null]}],"required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "KeyPermissions": { + "Result_HqlSavedQuery-or-null.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["w"]},{"dataType":"enum","enums":["rw"]},{"dataType":"undefined"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_HqlSavedQuery-or-null_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "GenerateHashQueryParams": { + "ResultSuccess_void_": { "dataType": "refObject", "properties": { - "apiKey": {"dataType":"string","required":true}, - "governance": {"dataType":"boolean","required":true}, - "keyName": {"dataType":"string","required":true}, - "permissions": {"ref":"KeyPermissions","required":true}, + "data": {"dataType":"void","required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "StoreFilterType": { + "Result_void.string_": { "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"createdAt":{"dataType":"string"},"filter":{"dataType":"any","required":true},"name":{"dataType":"string","required":true},"id":{"dataType":"string"}},"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_void_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_StoreFilterType-Array_": { + "BulkDeleteSavedQueriesRequest": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"refAlias","ref":"StoreFilterType"},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "ids": {"dataType":"array","array":{"dataType":"string"},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_StoreFilterType-Array.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_StoreFilterType-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_StoreFilterType_": { + "ResultSuccess_HqlSavedQuery-Array_": { "dataType": "refObject", "properties": { - "data": {"ref":"StoreFilterType","required":true}, + "data": {"dataType":"array","array":{"dataType":"refObject","ref":"HqlSavedQuery"},"required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_StoreFilterType.string_": { + "Result_HqlSavedQuery-Array.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_StoreFilterType_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_HqlSavedQuery-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionTokenLogprob.TopLogprob": { + "CreateSavedQueryRequest": { "dataType": "refObject", "properties": { - "token": {"dataType":"string","required":true}, - "bytes": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"double"}},{"dataType":"enum","enums":[null]}],"required":true}, - "logprob": {"dataType":"double","required":true}, + "name": {"dataType":"string","required":true}, + "sql": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionTokenLogprob": { + "ResultSuccess_HqlSavedQuery_": { "dataType": "refObject", "properties": { - "token": {"dataType":"string","required":true}, - "bytes": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"double"}},{"dataType":"enum","enums":[null]}],"required":true}, - "logprob": {"dataType":"double","required":true}, - "top_logprobs": {"dataType":"array","array":{"dataType":"refObject","ref":"ChatCompletionTokenLogprob.TopLogprob"},"required":true}, + "data": {"ref":"HqlSavedQuery","required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletion.Choice.Logprobs": { + "Result_HqlSavedQuery.string_": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_HqlSavedQuery_"},{"ref":"ResultError_string_"}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "ResultSuccess_boolean_": { "dataType": "refObject", "properties": { - "content": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"ChatCompletionTokenLogprob"}},{"dataType":"enum","enums":[null]}],"required":true}, - "refusal": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"ChatCompletionTokenLogprob"}},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionMessage.Annotation.URLCitation": { - "dataType": "refObject", - "properties": { - "end_index": {"dataType":"double","required":true}, - "start_index": {"dataType":"double","required":true}, - "title": {"dataType":"string","required":true}, - "url": {"dataType":"string","required":true}, + "data": {"dataType":"boolean","required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionMessage.Annotation": { - "dataType": "refObject", - "properties": { - "type": {"dataType":"enum","enums":["url_citation"],"required":true}, - "url_citation": {"ref":"ChatCompletionMessage.Annotation.URLCitation","required":true}, - }, - "additionalProperties": false, + "Result_boolean.string_": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_boolean_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionAudio": { + "ResultSuccess__organization_id-string--name-string--flags-string-Array_-Array_": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "data": {"dataType":"string","required":true}, - "expires_at": {"dataType":"double","required":true}, - "transcript": {"dataType":"string","required":true}, + "data": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"flags":{"dataType":"array","array":{"dataType":"string"},"required":true},"name":{"dataType":"string","required":true},"organization_id":{"dataType":"string","required":true}}},"required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionMessage.FunctionCall": { - "dataType": "refObject", - "properties": { - "arguments": {"dataType":"string","required":true}, - "name": {"dataType":"string","required":true}, - }, - "additionalProperties": false, + "Result__organization_id-string--name-string--flags-string-Array_-Array.string_": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__organization_id-string--name-string--flags-string-Array_-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionMessageFunctionToolCall.Function": { + "KafkaSettings": { "dataType": "refObject", "properties": { - "arguments": {"dataType":"string","required":true}, - "name": {"dataType":"string","required":true}, + "miniBatchSize": {"dataType":"double","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionMessageFunctionToolCall": { + "AzureExperiment": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "function": {"ref":"ChatCompletionMessageFunctionToolCall.Function","required":true}, - "type": {"dataType":"enum","enums":["function"],"required":true}, + "azureBaseUri": {"dataType":"string","required":true}, + "azureApiVersion": {"dataType":"string","required":true}, + "azureDeploymentName": {"dataType":"string","required":true}, + "azureApiKey": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionMessageCustomToolCall.Custom": { + "ApiKey": { "dataType": "refObject", "properties": { - "input": {"dataType":"string","required":true}, - "name": {"dataType":"string","required":true}, + "apiKey": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionMessageCustomToolCall": { - "dataType": "refObject", - "properties": { - "id": {"dataType":"string","required":true}, - "custom": {"ref":"ChatCompletionMessageCustomToolCall.Custom","required":true}, - "type": {"dataType":"enum","enums":["custom"],"required":true}, - }, - "additionalProperties": false, + "Setting": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"KafkaSettings"},{"ref":"AzureExperiment"},{"ref":"ApiKey"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionMessageToolCall": { + "SettingName": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ChatCompletionMessageFunctionToolCall"},{"ref":"ChatCompletionMessageCustomToolCall"}],"validators":{}}, + "type": {"dataType":"enum","enums":["kafka:dlq","kafka:log","kafka:score","kafka:dlq:score","kafka:dlq:eu","kafka:log:eu","kafka:orgs-to-dlq","azure:experiment","openai:apiKey","anthropic:apiKey","openrouter:apiKey","togetherai:apiKey","sqs:request-response-logs","sqs:helicone-scores","sqs:request-response-logs-dlq","sqs:helicone-scores-dlq","stripe:products","secrets:provider-keys"],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionMessage": { - "dataType": "refObject", - "properties": { - "content": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "refusal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "role": {"dataType":"enum","enums":["assistant"],"required":true}, - "annotations": {"dataType":"array","array":{"dataType":"refObject","ref":"ChatCompletionMessage.Annotation"}}, - "audio": {"dataType":"union","subSchemas":[{"ref":"ChatCompletionAudio"},{"dataType":"enum","enums":[null]}]}, - "function_call": {"dataType":"union","subSchemas":[{"ref":"ChatCompletionMessage.FunctionCall"},{"dataType":"enum","enums":[null]}]}, - "tool_calls": {"dataType":"array","array":{"dataType":"refAlias","ref":"ChatCompletionMessageToolCall"}}, - }, - "additionalProperties": false, + "url.URL": { + "dataType": "refAlias", + "type": {"dataType":"string","validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletion.Choice": { + "stripe.Stripe.Application": { "dataType": "refObject", "properties": { - "finish_reason": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["stop"]},{"dataType":"enum","enums":["length"]},{"dataType":"enum","enums":["tool_calls"]},{"dataType":"enum","enums":["content_filter"]},{"dataType":"enum","enums":["function_call"]}],"required":true}, - "index": {"dataType":"double","required":true}, - "logprobs": {"dataType":"union","subSchemas":[{"ref":"ChatCompletion.Choice.Logprobs"},{"dataType":"enum","enums":[null]}],"required":true}, - "message": {"ref":"ChatCompletionMessage","required":true}, + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["application"],"required":true}, + "deleted": {"dataType":"void"}, + "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "CompletionUsage.CompletionTokensDetails": { + "stripe.Stripe.DeletedApplication": { "dataType": "refObject", "properties": { - "accepted_prediction_tokens": {"dataType":"double"}, - "audio_tokens": {"dataType":"double"}, - "reasoning_tokens": {"dataType":"double"}, - "rejected_prediction_tokens": {"dataType":"double"}, + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["application"],"required":true}, + "deleted": {"dataType":"enum","enums":[true],"required":true}, + "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "CompletionUsage.PromptTokensDetails": { + "stripe.Stripe.Account.BusinessProfile.AnnualRevenue": { "dataType": "refObject", "properties": { - "audio_tokens": {"dataType":"double"}, - "cached_tokens": {"dataType":"double"}, + "amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "currency": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "fiscal_year_end": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "CompletionUsage": { + "stripe.Stripe.Account.BusinessProfile.MonthlyEstimatedRevenue": { "dataType": "refObject", "properties": { - "completion_tokens": {"dataType":"double","required":true}, - "prompt_tokens": {"dataType":"double","required":true}, - "total_tokens": {"dataType":"double","required":true}, - "completion_tokens_details": {"ref":"CompletionUsage.CompletionTokensDetails"}, - "prompt_tokens_details": {"ref":"CompletionUsage.PromptTokensDetails"}, + "amount": {"dataType":"double","required":true}, + "currency": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletion": { + "stripe.Stripe.Address": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "choices": {"dataType":"array","array":{"dataType":"refObject","ref":"ChatCompletion.Choice"},"required":true}, - "created": {"dataType":"double","required":true}, - "model": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["chat.completion"],"required":true}, - "service_tier": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["auto"]},{"dataType":"enum","enums":["default"]},{"dataType":"enum","enums":["flex"]},{"dataType":"enum","enums":["scale"]},{"dataType":"enum","enums":["priority"]},{"dataType":"enum","enums":[null]}]}, - "system_fingerprint": {"dataType":"string"}, - "usage": {"ref":"CompletionUsage"}, + "city": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "line1": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "line2": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "postal_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "state": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_ChatCompletion_": { + "stripe.Stripe.Account.BusinessProfile": { "dataType": "refObject", "properties": { - "data": {"ref":"ChatCompletion","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "annual_revenue": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Account.BusinessProfile.AnnualRevenue"},{"dataType":"enum","enums":[null]}]}, + "estimated_worker_count": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, + "mcc": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "monthly_estimated_revenue": {"ref":"stripe.Stripe.Account.BusinessProfile.MonthlyEstimatedRevenue"}, + "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "product_description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "support_address": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Address"},{"dataType":"enum","enums":[null]}],"required":true}, + "support_email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "support_phone": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "support_url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_ChatCompletion.string_": { + "stripe.Stripe.Account.BusinessType": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_ChatCompletion_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["company"]},{"dataType":"enum","enums":["government_entity"]},{"dataType":"enum","enums":["individual"]},{"dataType":"enum","enums":["non_profit"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionContentPartText": { - "dataType": "refObject", - "properties": { - "text": {"dataType":"string","required":true}, - "type": {"dataType":"enum","enums":["text"],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Account.Capabilities.AcssDebitPayments": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionDeveloperMessageParam": { - "dataType": "refObject", - "properties": { - "content": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"array","array":{"dataType":"refObject","ref":"ChatCompletionContentPartText"}}],"required":true}, - "role": {"dataType":"enum","enums":["developer"],"required":true}, - "name": {"dataType":"string"}, - }, - "additionalProperties": false, + "stripe.Stripe.Account.Capabilities.AffirmPayments": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionSystemMessageParam": { - "dataType": "refObject", - "properties": { - "content": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"array","array":{"dataType":"refObject","ref":"ChatCompletionContentPartText"}}],"required":true}, - "role": {"dataType":"enum","enums":["system"],"required":true}, - "name": {"dataType":"string"}, - }, - "additionalProperties": false, + "stripe.Stripe.Account.Capabilities.AfterpayClearpayPayments": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionContentPartImage.ImageURL": { - "dataType": "refObject", - "properties": { - "url": {"dataType":"string","required":true}, - "detail": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["auto"]},{"dataType":"enum","enums":["low"]},{"dataType":"enum","enums":["high"]}]}, - }, - "additionalProperties": false, + "stripe.Stripe.Account.Capabilities.AlmaPayments": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionContentPartImage": { - "dataType": "refObject", - "properties": { - "image_url": {"ref":"ChatCompletionContentPartImage.ImageURL","required":true}, - "type": {"dataType":"enum","enums":["image_url"],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Account.Capabilities.AmazonPayPayments": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionContentPartInputAudio.InputAudio": { - "dataType": "refObject", - "properties": { - "data": {"dataType":"string","required":true}, - "format": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["wav"]},{"dataType":"enum","enums":["mp3"]}],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Account.Capabilities.AuBecsDebitPayments": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionContentPartInputAudio": { - "dataType": "refObject", - "properties": { - "input_audio": {"ref":"ChatCompletionContentPartInputAudio.InputAudio","required":true}, - "type": {"dataType":"enum","enums":["input_audio"],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Account.Capabilities.BacsDebitPayments": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionContentPart.File.File": { - "dataType": "refObject", - "properties": { - "file_data": {"dataType":"string"}, - "file_id": {"dataType":"string"}, - "filename": {"dataType":"string"}, - }, - "additionalProperties": false, + "stripe.Stripe.Account.Capabilities.BancontactPayments": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionContentPart.File": { - "dataType": "refObject", - "properties": { - "file": {"ref":"ChatCompletionContentPart.File.File","required":true}, - "type": {"dataType":"enum","enums":["file"],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Account.Capabilities.BankTransferPayments": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionContentPart": { + "stripe.Stripe.Account.Capabilities.BlikPayments": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ChatCompletionContentPartText"},{"ref":"ChatCompletionContentPartImage"},{"ref":"ChatCompletionContentPartInputAudio"},{"ref":"ChatCompletionContentPart.File"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionUserMessageParam": { - "dataType": "refObject", - "properties": { - "content": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"array","array":{"dataType":"refAlias","ref":"ChatCompletionContentPart"}}],"required":true}, - "role": {"dataType":"enum","enums":["user"],"required":true}, - "name": {"dataType":"string"}, - }, - "additionalProperties": false, + "stripe.Stripe.Account.Capabilities.BoletoPayments": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionAssistantMessageParam.Audio": { - "dataType": "refObject", - "properties": { - "id": {"dataType":"string","required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Account.Capabilities.CardIssuing": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionContentPartRefusal": { - "dataType": "refObject", - "properties": { - "refusal": {"dataType":"string","required":true}, - "type": {"dataType":"enum","enums":["refusal"],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Account.Capabilities.CardPayments": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionAssistantMessageParam.FunctionCall": { - "dataType": "refObject", - "properties": { - "arguments": {"dataType":"string","required":true}, - "name": {"dataType":"string","required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Account.Capabilities.CartesBancairesPayments": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionAssistantMessageParam": { - "dataType": "refObject", - "properties": { - "role": {"dataType":"enum","enums":["assistant"],"required":true}, - "audio": {"dataType":"union","subSchemas":[{"ref":"ChatCompletionAssistantMessageParam.Audio"},{"dataType":"enum","enums":[null]}]}, - "content": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"array","array":{"dataType":"union","subSchemas":[{"ref":"ChatCompletionContentPartText"},{"ref":"ChatCompletionContentPartRefusal"}]}},{"dataType":"enum","enums":[null]}]}, - "function_call": {"dataType":"union","subSchemas":[{"ref":"ChatCompletionAssistantMessageParam.FunctionCall"},{"dataType":"enum","enums":[null]}]}, - "name": {"dataType":"string"}, - "refusal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "tool_calls": {"dataType":"array","array":{"dataType":"refAlias","ref":"ChatCompletionMessageToolCall"}}, - }, - "additionalProperties": false, + "stripe.Stripe.Account.Capabilities.CashappPayments": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionToolMessageParam": { - "dataType": "refObject", - "properties": { - "content": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"array","array":{"dataType":"refObject","ref":"ChatCompletionContentPartText"}}],"required":true}, - "role": {"dataType":"enum","enums":["tool"],"required":true}, - "tool_call_id": {"dataType":"string","required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Account.Capabilities.EpsPayments": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionFunctionMessageParam": { - "dataType": "refObject", - "properties": { - "content": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "name": {"dataType":"string","required":true}, - "role": {"dataType":"enum","enums":["function"],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Account.Capabilities.FpxPayments": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionMessageParam": { + "stripe.Stripe.Account.Capabilities.GbBankTransferPayments": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ChatCompletionDeveloperMessageParam"},{"ref":"ChatCompletionSystemMessageParam"},{"ref":"ChatCompletionUserMessageParam"},{"ref":"ChatCompletionAssistantMessageParam"},{"ref":"ChatCompletionToolMessageParam"},{"ref":"ChatCompletionFunctionMessageParam"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "FunctionParameters": { + "stripe.Stripe.Account.Capabilities.GiropayPayments": { "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"dataType":"any"},"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "FunctionDefinition": { - "dataType": "refObject", - "properties": { - "name": {"dataType":"string","required":true}, - "description": {"dataType":"string"}, - "parameters": {"ref":"FunctionParameters"}, - "strict": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}]}, - }, - "additionalProperties": false, + "stripe.Stripe.Account.Capabilities.GrabpayPayments": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionFunctionTool": { - "dataType": "refObject", - "properties": { - "function": {"ref":"FunctionDefinition","required":true}, - "type": {"dataType":"enum","enums":["function"],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Account.Capabilities.IdealPayments": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionCustomTool.Custom.Text": { - "dataType": "refObject", - "properties": { - "type": {"dataType":"enum","enums":["text"],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Account.Capabilities.IndiaInternationalPayments": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionCustomTool.Custom.Grammar.Grammar": { - "dataType": "refObject", - "properties": { - "definition": {"dataType":"string","required":true}, - "syntax": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["lark"]},{"dataType":"enum","enums":["regex"]}],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Account.Capabilities.JcbPayments": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionCustomTool.Custom.Grammar": { - "dataType": "refObject", - "properties": { - "grammar": {"ref":"ChatCompletionCustomTool.Custom.Grammar.Grammar","required":true}, - "type": {"dataType":"enum","enums":["grammar"],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Account.Capabilities.JpBankTransferPayments": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionCustomTool.Custom": { - "dataType": "refObject", - "properties": { - "name": {"dataType":"string","required":true}, - "description": {"dataType":"string"}, - "format": {"dataType":"union","subSchemas":[{"ref":"ChatCompletionCustomTool.Custom.Text"},{"ref":"ChatCompletionCustomTool.Custom.Grammar"}]}, - }, - "additionalProperties": false, + "stripe.Stripe.Account.Capabilities.KakaoPayPayments": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionCustomTool": { - "dataType": "refObject", - "properties": { - "custom": {"ref":"ChatCompletionCustomTool.Custom","required":true}, - "type": {"dataType":"enum","enums":["custom"],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Account.Capabilities.KlarnaPayments": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionTool": { + "stripe.Stripe.Account.Capabilities.KonbiniPayments": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ChatCompletionFunctionTool"},{"ref":"ChatCompletionCustomTool"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionAllowedTools": { - "dataType": "refObject", - "properties": { - "mode": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["auto"]},{"dataType":"enum","enums":["required"]}],"required":true}, - "tools": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"dataType":"any"}},"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Account.Capabilities.KrCardPayments": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionAllowedToolChoice": { - "dataType": "refObject", - "properties": { - "allowed_tools": {"ref":"ChatCompletionAllowedTools","required":true}, - "type": {"dataType":"enum","enums":["allowed_tools"],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Account.Capabilities.LegacyPayments": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionNamedToolChoice.Function": { - "dataType": "refObject", - "properties": { - "name": {"dataType":"string","required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Account.Capabilities.LinkPayments": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionNamedToolChoice": { - "dataType": "refObject", - "properties": { - "function": {"ref":"ChatCompletionNamedToolChoice.Function","required":true}, - "type": {"dataType":"enum","enums":["function"],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Account.Capabilities.MobilepayPayments": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionNamedToolChoiceCustom.Custom": { - "dataType": "refObject", - "properties": { - "name": {"dataType":"string","required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Account.Capabilities.MultibancoPayments": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionNamedToolChoiceCustom": { - "dataType": "refObject", - "properties": { - "custom": {"ref":"ChatCompletionNamedToolChoiceCustom.Custom","required":true}, - "type": {"dataType":"enum","enums":["custom"],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Account.Capabilities.MxBankTransferPayments": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ChatCompletionToolChoiceOption": { + "stripe.Stripe.Account.Capabilities.NaverPayPayments": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["auto"]},{"dataType":"enum","enums":["required"]},{"ref":"ChatCompletionAllowedToolChoice"},{"ref":"ChatCompletionNamedToolChoice"},{"ref":"ChatCompletionNamedToolChoiceCustom"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "AlertResponse": { - "dataType": "refObject", - "properties": { - "alerts": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"updated_at":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true},"time_window":{"dataType":"double","required":true},"time_block_duration":{"dataType":"double","required":true},"threshold":{"dataType":"double","required":true},"status":{"dataType":"string","required":true},"soft_delete":{"dataType":"boolean","required":true},"slack_channels":{"dataType":"array","array":{"dataType":"string"},"required":true},"org_id":{"dataType":"string","required":true},"name":{"dataType":"string","required":true},"minimum_request_count":{"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true},"metric":{"dataType":"string","required":true},"id":{"dataType":"string","required":true},"filter":{"dataType":"union","subSchemas":[{"ref":"Json"},{"dataType":"enum","enums":[null]}],"required":true},"emails":{"dataType":"array","array":{"dataType":"string"},"required":true},"created_at":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}}},"required":true}, - "history": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"updated_at":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true},"triggered_value":{"dataType":"string","required":true},"status":{"dataType":"string","required":true},"soft_delete":{"dataType":"boolean","required":true},"org_id":{"dataType":"string","required":true},"id":{"dataType":"string","required":true},"created_at":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true},"alert_start_time":{"dataType":"string","required":true},"alert_name":{"dataType":"string","required":true},"alert_metric":{"dataType":"string","required":true},"alert_id":{"dataType":"string","required":true},"alert_end_time":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}}},"required":true}, - "historyTotalCount": {"dataType":"double","required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Account.Capabilities.OxxoPayments": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_AlertResponse_": { - "dataType": "refObject", - "properties": { - "data": {"ref":"AlertResponse","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Account.Capabilities.P24Payments": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_AlertResponse.string_": { + "stripe.Stripe.Account.Capabilities.PayByBankPayments": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_AlertResponse_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "AlertMetric": { + "stripe.Stripe.Account.Capabilities.PaycoPayments": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["latency"]},{"dataType":"enum","enums":["cost"]},{"dataType":"enum","enums":["prompt_tokens"]},{"dataType":"enum","enums":["completion_tokens"]},{"dataType":"enum","enums":["prompt_cache_read_tokens"]},{"dataType":"enum","enums":["prompt_cache_write_tokens"]},{"dataType":"enum","enums":["total_tokens"]},{"dataType":"enum","enums":["response.status"]},{"dataType":"enum","enums":["count"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "AlertAggregation": { + "stripe.Stripe.Account.Capabilities.PaynowPayments": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["sum"]},{"dataType":"enum","enums":["avg"]},{"dataType":"enum","enums":["min"]},{"dataType":"enum","enums":["max"]},{"dataType":"enum","enums":["percentile"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "AlertStandardGrouping": { + "stripe.Stripe.Account.Capabilities.PromptpayPayments": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["model"]},{"dataType":"enum","enums":["provider"]},{"dataType":"enum","enums":["user"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "AlertGrouping": { + "stripe.Stripe.Account.Capabilities.RevolutPayPayments": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"AlertStandardGrouping"},{"dataType":"string"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "AllExpression": { - "dataType": "refObject", - "properties": { - "type": {"dataType":"enum","enums":["all"],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Account.Capabilities.SamsungPayPayments": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "FilterSubType": { + "stripe.Stripe.Account.Capabilities.SepaBankTransferPayments": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["property"]},{"dataType":"enum","enums":["score"]},{"dataType":"enum","enums":["sessions"]},{"dataType":"enum","enums":["user"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "BaseFieldSpec": { - "dataType": "refObject", - "properties": { - "subtype": {"ref":"FilterSubType"}, - "valueMode": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["value"]},{"dataType":"enum","enums":["key"]}]}, - "key": {"dataType":"string"}, - }, - "additionalProperties": false, + "stripe.Stripe.Account.Capabilities.SepaDebitPayments": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "FieldSpec": { + "stripe.Stripe.Account.Capabilities.SofortPayments": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"intersection","subSchemas":[{"ref":"BaseFieldSpec"},{"dataType":"nestedObjectLiteral","nestedProperties":{"column":{"dataType":"enum","enums":["properties","user_id","model","country_code","response_id","status","latency","provider","time_to_first_token","request_created_at","response_created_at","organization_id","threat","request_id","prompt_tokens","completion_tokens","prompt_cache_read_tokens","prompt_cache_write_tokens","target_url","scores","request_body","response_body","assets","proxy_key_id","updated_at"],"required":true},"table":{"dataType":"enum","enums":["request_response_rmt"],"required":true}}}]},{"dataType":"intersection","subSchemas":[{"ref":"BaseFieldSpec"},{"dataType":"nestedObjectLiteral","nestedProperties":{"subtype":{"dataType":"enum","enums":["property"],"required":true},"column":{"dataType":"string","required":true},"table":{"dataType":"enum","enums":["request_response_rmt"],"required":true}}}]},{"dataType":"intersection","subSchemas":[{"ref":"BaseFieldSpec"},{"dataType":"nestedObjectLiteral","nestedProperties":{"column":{"dataType":"enum","enums":["created_at","cost","prompt_tokens","completion_tokens","total_tokens","total_requests","latest_request_created_at"],"required":true},"table":{"dataType":"enum","enums":["sessions_request_response_rmt"],"required":true}}}]},{"dataType":"intersection","subSchemas":[{"ref":"BaseFieldSpec"},{"dataType":"nestedObjectLiteral","nestedProperties":{"column":{"dataType":"enum","enums":["user_id","cost","total_requests","active_for","first_active","last_active","average_requests_per_day_active","average_tokens_per_request","total_completion_tokens","total_prompt_tokens"],"required":true},"table":{"dataType":"enum","enums":["users_view"],"required":true}}}]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "FilterOperator": { + "stripe.Stripe.Account.Capabilities.SwishPayments": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["eq"]},{"dataType":"enum","enums":["neq"]},{"dataType":"enum","enums":["is"]},{"dataType":"enum","enums":["gt"]},{"dataType":"enum","enums":["gte"]},{"dataType":"enum","enums":["lt"]},{"dataType":"enum","enums":["lte"]},{"dataType":"enum","enums":["like"]},{"dataType":"enum","enums":["ilike"]},{"dataType":"enum","enums":["contains"]},{"dataType":"enum","enums":["not-contains"]},{"dataType":"enum","enums":["in"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ConditionExpression": { - "dataType": "refObject", - "properties": { - "type": {"dataType":"enum","enums":["condition"],"required":true}, - "field": {"ref":"FieldSpec","required":true}, - "operator": {"ref":"FilterOperator","required":true}, - "value": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"double"},{"dataType":"boolean"}],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Account.Capabilities.TaxReportingUs1099K": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "FilterExpression": { + "stripe.Stripe.Account.Capabilities.TaxReportingUs1099Misc": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"AllExpression"},{"ref":"ConditionExpression"},{"ref":"AndExpression"},{"ref":"OrExpression"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "AndExpression": { - "dataType": "refObject", - "properties": { - "type": {"dataType":"enum","enums":["and"],"required":true}, - "expressions": {"dataType":"array","array":{"dataType":"refAlias","ref":"FilterExpression"},"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Account.Capabilities.Transfers": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "OrExpression": { - "dataType": "refObject", - "properties": { - "type": {"dataType":"enum","enums":["or"],"required":true}, - "expressions": {"dataType":"array","array":{"dataType":"refAlias","ref":"FilterExpression"},"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Account.Capabilities.Treasury": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "AlertRequest": { + "stripe.Stripe.Account.Capabilities.TwintPayments": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Account.Capabilities.UsBankAccountAchPayments": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Account.Capabilities.UsBankTransferPayments": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Account.Capabilities.ZipPayments": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Account.Capabilities": { "dataType": "refObject", "properties": { - "name": {"dataType":"string","required":true}, - "metric": {"ref":"AlertMetric","required":true}, - "threshold": {"dataType":"double","required":true}, - "aggregation": {"dataType":"union","subSchemas":[{"ref":"AlertAggregation"},{"dataType":"enum","enums":[null]}],"required":true}, - "percentile": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "grouping": {"dataType":"union","subSchemas":[{"ref":"AlertGrouping"},{"dataType":"enum","enums":[null]}],"required":true}, - "grouping_is_property": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, - "time_window": {"dataType":"string","required":true}, - "emails": {"dataType":"array","array":{"dataType":"string"},"required":true}, - "slack_channels": {"dataType":"array","array":{"dataType":"string"},"required":true}, - "minimum_request_count": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"undefined"}],"required":true}, - "filter": {"dataType":"union","subSchemas":[{"ref":"FilterExpression"},{"dataType":"enum","enums":[null]}],"required":true}, + "acss_debit_payments": {"ref":"stripe.Stripe.Account.Capabilities.AcssDebitPayments"}, + "affirm_payments": {"ref":"stripe.Stripe.Account.Capabilities.AffirmPayments"}, + "afterpay_clearpay_payments": {"ref":"stripe.Stripe.Account.Capabilities.AfterpayClearpayPayments"}, + "alma_payments": {"ref":"stripe.Stripe.Account.Capabilities.AlmaPayments"}, + "amazon_pay_payments": {"ref":"stripe.Stripe.Account.Capabilities.AmazonPayPayments"}, + "au_becs_debit_payments": {"ref":"stripe.Stripe.Account.Capabilities.AuBecsDebitPayments"}, + "bacs_debit_payments": {"ref":"stripe.Stripe.Account.Capabilities.BacsDebitPayments"}, + "bancontact_payments": {"ref":"stripe.Stripe.Account.Capabilities.BancontactPayments"}, + "bank_transfer_payments": {"ref":"stripe.Stripe.Account.Capabilities.BankTransferPayments"}, + "blik_payments": {"ref":"stripe.Stripe.Account.Capabilities.BlikPayments"}, + "boleto_payments": {"ref":"stripe.Stripe.Account.Capabilities.BoletoPayments"}, + "card_issuing": {"ref":"stripe.Stripe.Account.Capabilities.CardIssuing"}, + "card_payments": {"ref":"stripe.Stripe.Account.Capabilities.CardPayments"}, + "cartes_bancaires_payments": {"ref":"stripe.Stripe.Account.Capabilities.CartesBancairesPayments"}, + "cashapp_payments": {"ref":"stripe.Stripe.Account.Capabilities.CashappPayments"}, + "eps_payments": {"ref":"stripe.Stripe.Account.Capabilities.EpsPayments"}, + "fpx_payments": {"ref":"stripe.Stripe.Account.Capabilities.FpxPayments"}, + "gb_bank_transfer_payments": {"ref":"stripe.Stripe.Account.Capabilities.GbBankTransferPayments"}, + "giropay_payments": {"ref":"stripe.Stripe.Account.Capabilities.GiropayPayments"}, + "grabpay_payments": {"ref":"stripe.Stripe.Account.Capabilities.GrabpayPayments"}, + "ideal_payments": {"ref":"stripe.Stripe.Account.Capabilities.IdealPayments"}, + "india_international_payments": {"ref":"stripe.Stripe.Account.Capabilities.IndiaInternationalPayments"}, + "jcb_payments": {"ref":"stripe.Stripe.Account.Capabilities.JcbPayments"}, + "jp_bank_transfer_payments": {"ref":"stripe.Stripe.Account.Capabilities.JpBankTransferPayments"}, + "kakao_pay_payments": {"ref":"stripe.Stripe.Account.Capabilities.KakaoPayPayments"}, + "klarna_payments": {"ref":"stripe.Stripe.Account.Capabilities.KlarnaPayments"}, + "konbini_payments": {"ref":"stripe.Stripe.Account.Capabilities.KonbiniPayments"}, + "kr_card_payments": {"ref":"stripe.Stripe.Account.Capabilities.KrCardPayments"}, + "legacy_payments": {"ref":"stripe.Stripe.Account.Capabilities.LegacyPayments"}, + "link_payments": {"ref":"stripe.Stripe.Account.Capabilities.LinkPayments"}, + "mobilepay_payments": {"ref":"stripe.Stripe.Account.Capabilities.MobilepayPayments"}, + "multibanco_payments": {"ref":"stripe.Stripe.Account.Capabilities.MultibancoPayments"}, + "mx_bank_transfer_payments": {"ref":"stripe.Stripe.Account.Capabilities.MxBankTransferPayments"}, + "naver_pay_payments": {"ref":"stripe.Stripe.Account.Capabilities.NaverPayPayments"}, + "oxxo_payments": {"ref":"stripe.Stripe.Account.Capabilities.OxxoPayments"}, + "p24_payments": {"ref":"stripe.Stripe.Account.Capabilities.P24Payments"}, + "pay_by_bank_payments": {"ref":"stripe.Stripe.Account.Capabilities.PayByBankPayments"}, + "payco_payments": {"ref":"stripe.Stripe.Account.Capabilities.PaycoPayments"}, + "paynow_payments": {"ref":"stripe.Stripe.Account.Capabilities.PaynowPayments"}, + "promptpay_payments": {"ref":"stripe.Stripe.Account.Capabilities.PromptpayPayments"}, + "revolut_pay_payments": {"ref":"stripe.Stripe.Account.Capabilities.RevolutPayPayments"}, + "samsung_pay_payments": {"ref":"stripe.Stripe.Account.Capabilities.SamsungPayPayments"}, + "sepa_bank_transfer_payments": {"ref":"stripe.Stripe.Account.Capabilities.SepaBankTransferPayments"}, + "sepa_debit_payments": {"ref":"stripe.Stripe.Account.Capabilities.SepaDebitPayments"}, + "sofort_payments": {"ref":"stripe.Stripe.Account.Capabilities.SofortPayments"}, + "swish_payments": {"ref":"stripe.Stripe.Account.Capabilities.SwishPayments"}, + "tax_reporting_us_1099_k": {"ref":"stripe.Stripe.Account.Capabilities.TaxReportingUs1099K"}, + "tax_reporting_us_1099_misc": {"ref":"stripe.Stripe.Account.Capabilities.TaxReportingUs1099Misc"}, + "transfers": {"ref":"stripe.Stripe.Account.Capabilities.Transfers"}, + "treasury": {"ref":"stripe.Stripe.Account.Capabilities.Treasury"}, + "twint_payments": {"ref":"stripe.Stripe.Account.Capabilities.TwintPayments"}, + "us_bank_account_ach_payments": {"ref":"stripe.Stripe.Account.Capabilities.UsBankAccountAchPayments"}, + "us_bank_transfer_payments": {"ref":"stripe.Stripe.Account.Capabilities.UsBankTransferPayments"}, + "zip_payments": {"ref":"stripe.Stripe.Account.Capabilities.ZipPayments"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__active-boolean--created_at-string--id-number--message-string--title-string--updated_at-string_-Array_": { + "stripe.Stripe.Account.Company.AddressKana": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"updated_at":{"dataType":"string","required":true},"title":{"dataType":"string","required":true},"message":{"dataType":"string","required":true},"id":{"dataType":"double","required":true},"created_at":{"dataType":"string","required":true},"active":{"dataType":"boolean","required":true}}},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "city": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "line1": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "line2": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "postal_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "state": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "town": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__active-boolean--created_at-string--id-number--message-string--title-string--updated_at-string_-Array.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__active-boolean--created_at-string--id-number--message-string--title-string--updated_at-string_-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ClickHouseTableColumn": { + "stripe.Stripe.Account.Company.AddressKanji": { "dataType": "refObject", "properties": { - "name": {"dataType":"string","required":true}, - "type": {"dataType":"string","required":true}, - "default_type": {"dataType":"string"}, - "default_expression": {"dataType":"string"}, - "comment": {"dataType":"string"}, - "codec_expression": {"dataType":"string"}, - "ttl_expression": {"dataType":"string"}, + "city": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "line1": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "line2": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "postal_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "state": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "town": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ClickHouseTableSchema": { + "stripe.Stripe.Account.Company.DirectorshipDeclaration": { "dataType": "refObject", "properties": { - "table_name": {"dataType":"string","required":true}, - "columns": {"dataType":"array","array":{"dataType":"refObject","ref":"ClickHouseTableColumn"},"required":true}, + "date": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "ip": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "user_agent": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_ClickHouseTableSchema-Array_": { + "stripe.Stripe.Account.Company.OwnershipDeclaration": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"ClickHouseTableSchema"},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "date": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "ip": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "user_agent": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_ClickHouseTableSchema-Array.string_": { + "stripe.Stripe.Account.Company.OwnershipExemptionReason": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_ClickHouseTableSchema-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["qualified_entity_exceeds_ownership_threshold"]},{"dataType":"enum","enums":["qualifies_as_financial_institution"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ExecuteSqlResponse": { + "stripe.Stripe.Account.Company.Structure": { "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"rowCount":{"dataType":"double","required":true},"size":{"dataType":"double","required":true},"elapsedMilliseconds":{"dataType":"double","required":true},"rows":{"dataType":"array","array":{"dataType":"refAlias","ref":"Record_string.any_"},"required":true}},"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["free_zone_establishment"]},{"dataType":"enum","enums":["free_zone_llc"]},{"dataType":"enum","enums":["government_instrumentality"]},{"dataType":"enum","enums":["governmental_unit"]},{"dataType":"enum","enums":["incorporated_non_profit"]},{"dataType":"enum","enums":["incorporated_partnership"]},{"dataType":"enum","enums":["limited_liability_partnership"]},{"dataType":"enum","enums":["llc"]},{"dataType":"enum","enums":["multi_member_llc"]},{"dataType":"enum","enums":["private_company"]},{"dataType":"enum","enums":["private_corporation"]},{"dataType":"enum","enums":["private_partnership"]},{"dataType":"enum","enums":["public_company"]},{"dataType":"enum","enums":["public_corporation"]},{"dataType":"enum","enums":["public_partnership"]},{"dataType":"enum","enums":["registered_charity"]},{"dataType":"enum","enums":["single_member_llc"]},{"dataType":"enum","enums":["sole_establishment"]},{"dataType":"enum","enums":["sole_proprietorship"]},{"dataType":"enum","enums":["tax_exempt_government_instrumentality"]},{"dataType":"enum","enums":["unincorporated_association"]},{"dataType":"enum","enums":["unincorporated_non_profit"]},{"dataType":"enum","enums":["unincorporated_partnership"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_ExecuteSqlResponse_": { + "stripe.Stripe.File": { "dataType": "refObject", "properties": { - "data": {"ref":"ExecuteSqlResponse","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["file"],"required":true}, + "created": {"dataType":"double","required":true}, + "expires_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "filename": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "links": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.ApiList_stripe.Stripe.FileLink_"},{"dataType":"enum","enums":[null]}]}, + "purpose": {"ref":"stripe.Stripe.File.Purpose","required":true}, + "size": {"dataType":"double","required":true}, + "title": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "type": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_ExecuteSqlResponse.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_ExecuteSqlResponse_"},{"ref":"ResultError_string_"}],"validators":{}}, + "stripe.Stripe.Metadata": { + "dataType": "refObject", + "properties": { + }, + "additionalProperties": {"dataType":"string"}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ExecuteSqlRequest": { + "stripe.Stripe.FileLink": { "dataType": "refObject", "properties": { - "sql": {"dataType":"string","required":true}, + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["file_link"],"required":true}, + "created": {"dataType":"double","required":true}, + "expired": {"dataType":"boolean","required":true}, + "expires_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "file": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"}],"required":true}, + "livemode": {"dataType":"boolean","required":true}, + "metadata": {"ref":"stripe.Stripe.Metadata","required":true}, + "url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "HqlSavedQuery": { + "stripe.Stripe.ApiList_stripe.Stripe.FileLink_": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "organization_id": {"dataType":"string","required":true}, - "name": {"dataType":"string","required":true}, - "sql": {"dataType":"string","required":true}, - "created_at": {"dataType":"string","required":true}, - "updated_at": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["list"],"required":true}, + "data": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.FileLink"},"required":true}, + "has_more": {"dataType":"boolean","required":true}, + "url": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_Array_HqlSavedQuery__": { + "stripe.Stripe.File.Purpose": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account_requirement"]},{"dataType":"enum","enums":["additional_verification"]},{"dataType":"enum","enums":["business_icon"]},{"dataType":"enum","enums":["business_logo"]},{"dataType":"enum","enums":["customer_signature"]},{"dataType":"enum","enums":["dispute_evidence"]},{"dataType":"enum","enums":["document_provider_identity_document"]},{"dataType":"enum","enums":["finance_report_run"]},{"dataType":"enum","enums":["financial_account_statement"]},{"dataType":"enum","enums":["identity_document"]},{"dataType":"enum","enums":["identity_document_downloadable"]},{"dataType":"enum","enums":["issuing_regulatory_reporting"]},{"dataType":"enum","enums":["pci_document"]},{"dataType":"enum","enums":["selfie"]},{"dataType":"enum","enums":["sigma_scheduled_query"]},{"dataType":"enum","enums":["tax_document_user_upload"]},{"dataType":"enum","enums":["terminal_reader_splashscreen"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Account.Company.Verification.Document": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"HqlSavedQuery"},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "back": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, + "details": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "details_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "front": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_Array_HqlSavedQuery_.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_Array_HqlSavedQuery__"},{"ref":"ResultError_string_"}],"validators":{}}, + "stripe.Stripe.Account.Company.Verification": { + "dataType": "refObject", + "properties": { + "document": {"ref":"stripe.Stripe.Account.Company.Verification.Document","required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_HqlSavedQuery-or-null_": { + "stripe.Stripe.Account.Company": { "dataType": "refObject", "properties": { - "data": {"dataType":"union","subSchemas":[{"ref":"HqlSavedQuery"},{"dataType":"enum","enums":[null]}],"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "address": {"ref":"stripe.Stripe.Address"}, + "address_kana": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Account.Company.AddressKana"},{"dataType":"enum","enums":[null]}]}, + "address_kanji": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Account.Company.AddressKanji"},{"dataType":"enum","enums":[null]}]}, + "directors_provided": {"dataType":"boolean"}, + "directorship_declaration": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Account.Company.DirectorshipDeclaration"},{"dataType":"enum","enums":[null]}]}, + "executives_provided": {"dataType":"boolean"}, + "export_license_id": {"dataType":"string"}, + "export_purpose_code": {"dataType":"string"}, + "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "name_kana": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "name_kanji": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "owners_provided": {"dataType":"boolean"}, + "ownership_declaration": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Account.Company.OwnershipDeclaration"},{"dataType":"enum","enums":[null]}]}, + "ownership_exemption_reason": {"ref":"stripe.Stripe.Account.Company.OwnershipExemptionReason"}, + "phone": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "structure": {"ref":"stripe.Stripe.Account.Company.Structure"}, + "tax_id_provided": {"dataType":"boolean"}, + "tax_id_registrar": {"dataType":"string"}, + "vat_id_provided": {"dataType":"boolean"}, + "verification": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Account.Company.Verification"},{"dataType":"enum","enums":[null]}]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_HqlSavedQuery-or-null.string_": { + "stripe.Stripe.Account.Controller.Fees.Payer": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_HqlSavedQuery-or-null_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account"]},{"dataType":"enum","enums":["application"]},{"dataType":"enum","enums":["application_custom"]},{"dataType":"enum","enums":["application_express"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_void_": { + "stripe.Stripe.Account.Controller.Fees": { "dataType": "refObject", "properties": { - "data": {"dataType":"void","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "payer": {"ref":"stripe.Stripe.Account.Controller.Fees.Payer","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_void.string_": { + "stripe.Stripe.Account.Controller.Losses.Payments": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_void_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["application"]},{"dataType":"enum","enums":["stripe"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "BulkDeleteSavedQueriesRequest": { + "stripe.Stripe.Account.Controller.Losses": { "dataType": "refObject", "properties": { - "ids": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "payments": {"ref":"stripe.Stripe.Account.Controller.Losses.Payments","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_HqlSavedQuery-Array_": { + "stripe.Stripe.Account.Controller.RequirementCollection": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["application"]},{"dataType":"enum","enums":["stripe"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Account.Controller.StripeDashboard.Type": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["express"]},{"dataType":"enum","enums":["full"]},{"dataType":"enum","enums":["none"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Account.Controller.StripeDashboard": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"HqlSavedQuery"},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "type": {"ref":"stripe.Stripe.Account.Controller.StripeDashboard.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_HqlSavedQuery-Array.string_": { + "stripe.Stripe.Account.Controller.Type": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_HqlSavedQuery-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account"]},{"dataType":"enum","enums":["application"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "CreateSavedQueryRequest": { + "stripe.Stripe.Account.Controller": { "dataType": "refObject", "properties": { - "name": {"dataType":"string","required":true}, - "sql": {"dataType":"string","required":true}, + "fees": {"ref":"stripe.Stripe.Account.Controller.Fees"}, + "is_controller": {"dataType":"boolean"}, + "losses": {"ref":"stripe.Stripe.Account.Controller.Losses"}, + "requirement_collection": {"ref":"stripe.Stripe.Account.Controller.RequirementCollection"}, + "stripe_dashboard": {"ref":"stripe.Stripe.Account.Controller.StripeDashboard"}, + "type": {"ref":"stripe.Stripe.Account.Controller.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_HqlSavedQuery_": { + "stripe.Stripe.Account": { "dataType": "refObject", "properties": { - "data": {"ref":"HqlSavedQuery","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["account"],"required":true}, + "business_profile": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Account.BusinessProfile"},{"dataType":"enum","enums":[null]}]}, + "business_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Account.BusinessType"},{"dataType":"enum","enums":[null]}]}, + "capabilities": {"ref":"stripe.Stripe.Account.Capabilities"}, + "charges_enabled": {"dataType":"boolean","required":true}, + "company": {"ref":"stripe.Stripe.Account.Company"}, + "controller": {"ref":"stripe.Stripe.Account.Controller"}, + "country": {"dataType":"string"}, + "created": {"dataType":"double"}, + "default_currency": {"dataType":"string"}, + "deleted": {"dataType":"void"}, + "details_submitted": {"dataType":"boolean","required":true}, + "email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "external_accounts": {"ref":"stripe.Stripe.ApiList_stripe.Stripe.ExternalAccount_"}, + "future_requirements": {"ref":"stripe.Stripe.Account.FutureRequirements"}, + "groups": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Account.Groups"},{"dataType":"enum","enums":[null]}]}, + "individual": {"ref":"stripe.Stripe.Person"}, + "metadata": {"ref":"stripe.Stripe.Metadata"}, + "payouts_enabled": {"dataType":"boolean","required":true}, + "requirements": {"ref":"stripe.Stripe.Account.Requirements"}, + "settings": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Account.Settings"},{"dataType":"enum","enums":[null]}]}, + "tos_acceptance": {"ref":"stripe.Stripe.Account.TosAcceptance"}, + "type": {"ref":"stripe.Stripe.Account.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_HqlSavedQuery.string_": { + "stripe.Stripe.BankAccount.AvailablePayoutMethod": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_HqlSavedQuery_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__organization_id-string--name-string--flags-string-Array_-Array_": { - "dataType": "refObject", - "properties": { - "data": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"flags":{"dataType":"array","array":{"dataType":"string"},"required":true},"name":{"dataType":"string","required":true},"organization_id":{"dataType":"string","required":true}}},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["instant"]},{"dataType":"enum","enums":["standard"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__organization_id-string--name-string--flags-string-Array_-Array.string_": { + "stripe.Stripe.CashBalance.Settings.ReconciliationMode": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__organization_id-string--name-string--flags-string-Array_-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["automatic"]},{"dataType":"enum","enums":["manual"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "KafkaSettings": { + "stripe.Stripe.CashBalance.Settings": { "dataType": "refObject", "properties": { - "miniBatchSize": {"dataType":"double","required":true}, + "reconciliation_mode": {"ref":"stripe.Stripe.CashBalance.Settings.ReconciliationMode","required":true}, + "using_merchant_default": {"dataType":"boolean","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "AzureExperiment": { + "stripe.Stripe.CashBalance": { "dataType": "refObject", "properties": { - "azureBaseUri": {"dataType":"string","required":true}, - "azureApiVersion": {"dataType":"string","required":true}, - "azureDeploymentName": {"dataType":"string","required":true}, - "azureApiKey": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["cash_balance"],"required":true}, + "available": {"dataType":"union","subSchemas":[{"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"dataType":"double"}},{"dataType":"enum","enums":[null]}],"required":true}, + "customer": {"dataType":"string","required":true}, + "livemode": {"dataType":"boolean","required":true}, + "settings": {"ref":"stripe.Stripe.CashBalance.Settings","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ApiKey": { + "stripe.Stripe.BankAccount": { "dataType": "refObject", "properties": { - "apiKey": {"dataType":"string","required":true}, + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["bank_account"],"required":true}, + "account": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"},{"dataType":"enum","enums":[null]}]}, + "account_holder_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "account_holder_type": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "account_type": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "available_payout_methods": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.BankAccount.AvailablePayoutMethod"}},{"dataType":"enum","enums":[null]}]}, + "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "country": {"dataType":"string","required":true}, + "currency": {"dataType":"string","required":true}, + "customer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Customer"},{"ref":"stripe.Stripe.DeletedCustomer"},{"dataType":"enum","enums":[null]}]}, + "default_for_currency": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}]}, + "deleted": {"dataType":"void"}, + "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "future_requirements": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.BankAccount.FutureRequirements"},{"dataType":"enum","enums":[null]}]}, + "last4": {"dataType":"string","required":true}, + "metadata": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Metadata"},{"dataType":"enum","enums":[null]}]}, + "requirements": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.BankAccount.Requirements"},{"dataType":"enum","enums":[null]}]}, + "routing_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "status": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Setting": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"KafkaSettings"},{"ref":"AzureExperiment"},{"ref":"ApiKey"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "SettingName": { + "stripe.Stripe.Card.AllowRedisplay": { "dataType": "refAlias", - "type": {"dataType":"enum","enums":["kafka:dlq","kafka:log","kafka:score","kafka:dlq:score","kafka:dlq:eu","kafka:log:eu","kafka:orgs-to-dlq","azure:experiment","openai:apiKey","anthropic:apiKey","openrouter:apiKey","togetherai:apiKey","sqs:request-response-logs","sqs:helicone-scores","sqs:request-response-logs-dlq","sqs:helicone-scores-dlq","stripe:products","secrets:provider-keys"],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["always"]},{"dataType":"enum","enums":["limited"]},{"dataType":"enum","enums":["unspecified"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "url.URL": { + "stripe.Stripe.Card.AvailablePayoutMethod": { "dataType": "refAlias", - "type": {"dataType":"string","validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["instant"]},{"dataType":"enum","enums":["standard"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Application": { + "stripe.Stripe.Customer": { "dataType": "refObject", "properties": { "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["application"],"required":true}, + "object": {"dataType":"enum","enums":["customer"],"required":true}, + "address": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Address"},{"dataType":"enum","enums":[null]}]}, + "balance": {"dataType":"double","required":true}, + "cash_balance": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.CashBalance"},{"dataType":"enum","enums":[null]}]}, + "created": {"dataType":"double","required":true}, + "currency": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "default_source": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.CustomerSource"},{"dataType":"enum","enums":[null]}],"required":true}, "deleted": {"dataType":"void"}, - "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "delinquent": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}]}, + "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "discount": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Discount"},{"dataType":"enum","enums":[null]}]}, + "email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "invoice_credit_balance": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"dataType":"double"}}, + "invoice_prefix": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "invoice_settings": {"ref":"stripe.Stripe.Customer.InvoiceSettings","required":true}, + "livemode": {"dataType":"boolean","required":true}, + "metadata": {"ref":"stripe.Stripe.Metadata","required":true}, + "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "next_invoice_sequence": {"dataType":"double"}, + "phone": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "preferred_locales": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}]}, + "shipping": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Customer.Shipping"},{"dataType":"enum","enums":[null]}],"required":true}, + "sources": {"ref":"stripe.Stripe.ApiList_stripe.Stripe.CustomerSource_"}, + "subscriptions": {"ref":"stripe.Stripe.ApiList_stripe.Stripe.Subscription_"}, + "tax": {"ref":"stripe.Stripe.Customer.Tax"}, + "tax_exempt": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Customer.TaxExempt"},{"dataType":"enum","enums":[null]}]}, + "tax_ids": {"ref":"stripe.Stripe.ApiList_stripe.Stripe.TaxId_"}, + "test_clock": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TestHelpers.TestClock"},{"dataType":"enum","enums":[null]}]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.DeletedApplication": { + "stripe.Stripe.DeletedCustomer": { "dataType": "refObject", "properties": { "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["application"],"required":true}, + "object": {"dataType":"enum","enums":["customer"],"required":true}, "deleted": {"dataType":"enum","enums":[true],"required":true}, - "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.BusinessProfile.AnnualRevenue": { + "stripe.Stripe.Card.Networks": { "dataType": "refObject", "properties": { - "amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "currency": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "fiscal_year_end": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "preferred": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.BusinessProfile.MonthlyEstimatedRevenue": { - "dataType": "refObject", - "properties": { - "amount": {"dataType":"double","required":true}, - "currency": {"dataType":"string","required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Card.RegulatedStatus": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["regulated"]},{"dataType":"enum","enums":["unregulated"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Address": { + "stripe.Stripe.Card": { "dataType": "refObject", "properties": { - "city": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "line1": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "line2": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "postal_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "state": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["card"],"required":true}, + "account": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"},{"dataType":"enum","enums":[null]}]}, + "address_city": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "address_country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "address_line1": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "address_line1_check": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "address_line2": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "address_state": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "address_zip": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "address_zip_check": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "allow_redisplay": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Card.AllowRedisplay"},{"dataType":"enum","enums":[null]}]}, + "available_payout_methods": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Card.AvailablePayoutMethod"}},{"dataType":"enum","enums":[null]}]}, + "brand": {"dataType":"string","required":true}, + "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "currency": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "customer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Customer"},{"ref":"stripe.Stripe.DeletedCustomer"},{"dataType":"enum","enums":[null]}]}, + "cvc_check": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "default_for_currency": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}]}, + "deleted": {"dataType":"void"}, + "description": {"dataType":"string"}, + "dynamic_last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "exp_month": {"dataType":"double","required":true}, + "exp_year": {"dataType":"double","required":true}, + "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "funding": {"dataType":"string","required":true}, + "iin": {"dataType":"string"}, + "issuer": {"dataType":"string"}, + "last4": {"dataType":"string","required":true}, + "metadata": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Metadata"},{"dataType":"enum","enums":[null]}],"required":true}, + "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "networks": {"ref":"stripe.Stripe.Card.Networks"}, + "regulated_status": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Card.RegulatedStatus"},{"dataType":"enum","enums":[null]}],"required":true}, + "status": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "tokenization_method": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.BusinessProfile": { + "stripe.Stripe.Source.AchCreditTransfer": { "dataType": "refObject", "properties": { - "annual_revenue": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Account.BusinessProfile.AnnualRevenue"},{"dataType":"enum","enums":[null]}]}, - "estimated_worker_count": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, - "mcc": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "monthly_estimated_revenue": {"ref":"stripe.Stripe.Account.BusinessProfile.MonthlyEstimatedRevenue"}, - "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "product_description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "support_address": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Address"},{"dataType":"enum","enums":[null]}],"required":true}, - "support_email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "support_phone": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "support_url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "account_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "refund_account_holder_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "refund_account_holder_type": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "refund_routing_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "routing_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "swift_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.BusinessType": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["company"]},{"dataType":"enum","enums":["government_entity"]},{"dataType":"enum","enums":["individual"]},{"dataType":"enum","enums":["non_profit"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.AcssDebitPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.AffirmPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.AfterpayClearpayPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.AlmaPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.Source.AchDebit": { + "dataType": "refObject", + "properties": { + "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "routing_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "type": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.AmazonPayPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.Source.AcssDebit": { + "dataType": "refObject", + "properties": { + "bank_address_city": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "bank_address_line_1": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "bank_address_line_2": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "bank_address_postal_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "category": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "routing_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.AuBecsDebitPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.Source.Alipay": { + "dataType": "refObject", + "properties": { + "data_string": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "native_url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "statement_descriptor": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.BacsDebitPayments": { + "stripe.Stripe.Source.AllowRedisplay": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["always"]},{"dataType":"enum","enums":["limited"]},{"dataType":"enum","enums":["unspecified"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.BancontactPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.Source.AuBecsDebit": { + "dataType": "refObject", + "properties": { + "bsb_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.BankTransferPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.Source.Bancontact": { + "dataType": "refObject", + "properties": { + "bank_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "bic": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "iban_last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "preferred_language": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "statement_descriptor": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.BlikPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.Source.Card": { + "dataType": "refObject", + "properties": { + "address_line1_check": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "address_zip_check": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "brand": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "cvc_check": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "description": {"dataType":"string"}, + "dynamic_last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "exp_month": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, + "exp_year": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, + "fingerprint": {"dataType":"string"}, + "funding": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "iin": {"dataType":"string"}, + "issuer": {"dataType":"string"}, + "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "three_d_secure": {"dataType":"string"}, + "tokenization_method": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.BoletoPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.Source.CardPresent": { + "dataType": "refObject", + "properties": { + "application_cryptogram": {"dataType":"string"}, + "application_preferred_name": {"dataType":"string"}, + "authorization_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "authorization_response_code": {"dataType":"string"}, + "brand": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "cvm_type": {"dataType":"string"}, + "data_type": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "dedicated_file_name": {"dataType":"string"}, + "description": {"dataType":"string"}, + "emv_auth_data": {"dataType":"string"}, + "evidence_customer_signature": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "evidence_transaction_certificate": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "exp_month": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, + "exp_year": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, + "fingerprint": {"dataType":"string"}, + "funding": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "iin": {"dataType":"string"}, + "issuer": {"dataType":"string"}, + "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "pos_device_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "pos_entry_mode": {"dataType":"string"}, + "read_method": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "reader": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "terminal_verification_results": {"dataType":"string"}, + "transaction_status_information": {"dataType":"string"}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.CardIssuing": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.Source.CodeVerification": { + "dataType": "refObject", + "properties": { + "attempts_remaining": {"dataType":"double","required":true}, + "status": {"dataType":"string","required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.CardPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.Source.Eps": { + "dataType": "refObject", + "properties": { + "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "statement_descriptor": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.CartesBancairesPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.Source.Giropay": { + "dataType": "refObject", + "properties": { + "bank_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "bic": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "statement_descriptor": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.CashappPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.Source.Ideal": { + "dataType": "refObject", + "properties": { + "bank": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "bic": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "iban_last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "statement_descriptor": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.EpsPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.FpxPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.GbBankTransferPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.GiropayPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.GrabpayPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.Source.Klarna": { + "dataType": "refObject", + "properties": { + "background_image_url": {"dataType":"string"}, + "client_token": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "first_name": {"dataType":"string"}, + "last_name": {"dataType":"string"}, + "locale": {"dataType":"string"}, + "logo_url": {"dataType":"string"}, + "page_title": {"dataType":"string"}, + "pay_later_asset_urls_descriptive": {"dataType":"string"}, + "pay_later_asset_urls_standard": {"dataType":"string"}, + "pay_later_name": {"dataType":"string"}, + "pay_later_redirect_url": {"dataType":"string"}, + "pay_now_asset_urls_descriptive": {"dataType":"string"}, + "pay_now_asset_urls_standard": {"dataType":"string"}, + "pay_now_name": {"dataType":"string"}, + "pay_now_redirect_url": {"dataType":"string"}, + "pay_over_time_asset_urls_descriptive": {"dataType":"string"}, + "pay_over_time_asset_urls_standard": {"dataType":"string"}, + "pay_over_time_name": {"dataType":"string"}, + "pay_over_time_redirect_url": {"dataType":"string"}, + "payment_method_categories": {"dataType":"string"}, + "purchase_country": {"dataType":"string"}, + "purchase_type": {"dataType":"string"}, + "redirect_url": {"dataType":"string"}, + "shipping_delay": {"dataType":"double"}, + "shipping_first_name": {"dataType":"string"}, + "shipping_last_name": {"dataType":"string"}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.IdealPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.Source.Multibanco": { + "dataType": "refObject", + "properties": { + "entity": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "refund_account_holder_address_city": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "refund_account_holder_address_country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "refund_account_holder_address_line1": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "refund_account_holder_address_line2": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "refund_account_holder_address_postal_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "refund_account_holder_address_state": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "refund_account_holder_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "refund_iban": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.IndiaInternationalPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.Source.Owner": { + "dataType": "refObject", + "properties": { + "address": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Address"},{"dataType":"enum","enums":[null]}],"required":true}, + "email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "phone": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "verified_address": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Address"},{"dataType":"enum","enums":[null]}],"required":true}, + "verified_email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "verified_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "verified_phone": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.JcbPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.Source.P24": { + "dataType": "refObject", + "properties": { + "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.JpBankTransferPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.Source.Receiver": { + "dataType": "refObject", + "properties": { + "address": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "amount_charged": {"dataType":"double","required":true}, + "amount_received": {"dataType":"double","required":true}, + "amount_returned": {"dataType":"double","required":true}, + "refund_attributes_method": {"dataType":"string","required":true}, + "refund_attributes_status": {"dataType":"string","required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.KakaoPayPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.Source.Redirect": { + "dataType": "refObject", + "properties": { + "failure_reason": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "return_url": {"dataType":"string","required":true}, + "status": {"dataType":"string","required":true}, + "url": {"dataType":"string","required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.KlarnaPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.Source.SepaCreditTransfer": { + "dataType": "refObject", + "properties": { + "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "bic": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "iban": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "refund_account_holder_address_city": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "refund_account_holder_address_country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "refund_account_holder_address_line1": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "refund_account_holder_address_line2": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "refund_account_holder_address_postal_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "refund_account_holder_address_state": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "refund_account_holder_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "refund_iban": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.KonbiniPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.Source.SepaDebit": { + "dataType": "refObject", + "properties": { + "bank_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "branch_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "mandate_reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "mandate_url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.KrCardPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.Source.Sofort": { + "dataType": "refObject", + "properties": { + "bank_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "bic": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "iban_last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "preferred_language": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "statement_descriptor": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.LegacyPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.Source.SourceOrder.Item": { + "dataType": "refObject", + "properties": { + "amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "currency": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "parent": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "quantity": {"dataType":"double"}, + "type": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.LinkPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.Source.SourceOrder.Shipping": { + "dataType": "refObject", + "properties": { + "address": {"ref":"stripe.Stripe.Address"}, + "carrier": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "name": {"dataType":"string"}, + "phone": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "tracking_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.MobilepayPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.Source.SourceOrder": { + "dataType": "refObject", + "properties": { + "amount": {"dataType":"double","required":true}, + "currency": {"dataType":"string","required":true}, + "email": {"dataType":"string"}, + "items": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Source.SourceOrder.Item"}},{"dataType":"enum","enums":[null]}],"required":true}, + "shipping": {"ref":"stripe.Stripe.Source.SourceOrder.Shipping"}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.MultibancoPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.Source.ThreeDSecure": { + "dataType": "refObject", + "properties": { + "address_line1_check": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "address_zip_check": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "authenticated": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}]}, + "brand": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "card": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "customer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "cvc_check": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "description": {"dataType":"string"}, + "dynamic_last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "exp_month": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, + "exp_year": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, + "fingerprint": {"dataType":"string"}, + "funding": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "iin": {"dataType":"string"}, + "issuer": {"dataType":"string"}, + "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "three_d_secure": {"dataType":"string"}, + "tokenization_method": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.MxBankTransferPayments": { + "stripe.Stripe.Source.Type": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["ach_credit_transfer"]},{"dataType":"enum","enums":["ach_debit"]},{"dataType":"enum","enums":["acss_debit"]},{"dataType":"enum","enums":["alipay"]},{"dataType":"enum","enums":["au_becs_debit"]},{"dataType":"enum","enums":["bancontact"]},{"dataType":"enum","enums":["card"]},{"dataType":"enum","enums":["card_present"]},{"dataType":"enum","enums":["eps"]},{"dataType":"enum","enums":["giropay"]},{"dataType":"enum","enums":["ideal"]},{"dataType":"enum","enums":["klarna"]},{"dataType":"enum","enums":["multibanco"]},{"dataType":"enum","enums":["p24"]},{"dataType":"enum","enums":["sepa_credit_transfer"]},{"dataType":"enum","enums":["sepa_debit"]},{"dataType":"enum","enums":["sofort"]},{"dataType":"enum","enums":["three_d_secure"]},{"dataType":"enum","enums":["wechat"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.NaverPayPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.Source.Wechat": { + "dataType": "refObject", + "properties": { + "prepay_id": {"dataType":"string"}, + "qr_code_url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "statement_descriptor": {"dataType":"string"}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.OxxoPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.Source": { + "dataType": "refObject", + "properties": { + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["source"],"required":true}, + "ach_credit_transfer": {"ref":"stripe.Stripe.Source.AchCreditTransfer"}, + "ach_debit": {"ref":"stripe.Stripe.Source.AchDebit"}, + "acss_debit": {"ref":"stripe.Stripe.Source.AcssDebit"}, + "alipay": {"ref":"stripe.Stripe.Source.Alipay"}, + "allow_redisplay": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Source.AllowRedisplay"},{"dataType":"enum","enums":[null]}],"required":true}, + "amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "au_becs_debit": {"ref":"stripe.Stripe.Source.AuBecsDebit"}, + "bancontact": {"ref":"stripe.Stripe.Source.Bancontact"}, + "card": {"ref":"stripe.Stripe.Source.Card"}, + "card_present": {"ref":"stripe.Stripe.Source.CardPresent"}, + "client_secret": {"dataType":"string","required":true}, + "code_verification": {"ref":"stripe.Stripe.Source.CodeVerification"}, + "created": {"dataType":"double","required":true}, + "currency": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "customer": {"dataType":"string"}, + "eps": {"ref":"stripe.Stripe.Source.Eps"}, + "flow": {"dataType":"string","required":true}, + "giropay": {"ref":"stripe.Stripe.Source.Giropay"}, + "ideal": {"ref":"stripe.Stripe.Source.Ideal"}, + "klarna": {"ref":"stripe.Stripe.Source.Klarna"}, + "livemode": {"dataType":"boolean","required":true}, + "metadata": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Metadata"},{"dataType":"enum","enums":[null]}],"required":true}, + "multibanco": {"ref":"stripe.Stripe.Source.Multibanco"}, + "owner": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Source.Owner"},{"dataType":"enum","enums":[null]}],"required":true}, + "p24": {"ref":"stripe.Stripe.Source.P24"}, + "receiver": {"ref":"stripe.Stripe.Source.Receiver"}, + "redirect": {"ref":"stripe.Stripe.Source.Redirect"}, + "sepa_credit_transfer": {"ref":"stripe.Stripe.Source.SepaCreditTransfer"}, + "sepa_debit": {"ref":"stripe.Stripe.Source.SepaDebit"}, + "sofort": {"ref":"stripe.Stripe.Source.Sofort"}, + "source_order": {"ref":"stripe.Stripe.Source.SourceOrder"}, + "statement_descriptor": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "status": {"dataType":"string","required":true}, + "three_d_secure": {"ref":"stripe.Stripe.Source.ThreeDSecure"}, + "type": {"ref":"stripe.Stripe.Source.Type","required":true}, + "usage": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "wechat": {"ref":"stripe.Stripe.Source.Wechat"}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.P24Payments": { + "stripe.Stripe.CustomerSource": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Account"},{"ref":"stripe.Stripe.BankAccount"},{"ref":"stripe.Stripe.Card"},{"ref":"stripe.Stripe.Source"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.PayByBankPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.Coupon.AppliesTo": { + "dataType": "refObject", + "properties": { + "products": {"dataType":"array","array":{"dataType":"string"},"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.PaycoPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.Coupon.CurrencyOptions": { + "dataType": "refObject", + "properties": { + "amount_off": {"dataType":"double","required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.PaynowPayments": { + "stripe.Stripe.Coupon.Duration": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["forever"]},{"dataType":"enum","enums":["once"]},{"dataType":"enum","enums":["repeating"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.PromptpayPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.Coupon": { + "dataType": "refObject", + "properties": { + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["coupon"],"required":true}, + "amount_off": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "applies_to": {"ref":"stripe.Stripe.Coupon.AppliesTo"}, + "created": {"dataType":"double","required":true}, + "currency": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "currency_options": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"stripe.Stripe.Coupon.CurrencyOptions"}}, + "deleted": {"dataType":"void"}, + "duration": {"ref":"stripe.Stripe.Coupon.Duration","required":true}, + "duration_in_months": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "livemode": {"dataType":"boolean","required":true}, + "max_redemptions": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "metadata": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Metadata"},{"dataType":"enum","enums":[null]}],"required":true}, + "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "percent_off": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "redeem_by": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "times_redeemed": {"dataType":"double","required":true}, + "valid": {"dataType":"boolean","required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.RevolutPayPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.PromotionCode.Restrictions.CurrencyOptions": { + "dataType": "refObject", + "properties": { + "minimum_amount": {"dataType":"double","required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.SamsungPayPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.PromotionCode.Restrictions": { + "dataType": "refObject", + "properties": { + "currency_options": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"stripe.Stripe.PromotionCode.Restrictions.CurrencyOptions"}}, + "first_time_transaction": {"dataType":"boolean","required":true}, + "minimum_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "minimum_amount_currency": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.SepaBankTransferPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.PromotionCode": { + "dataType": "refObject", + "properties": { + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["promotion_code"],"required":true}, + "active": {"dataType":"boolean","required":true}, + "code": {"dataType":"string","required":true}, + "coupon": {"ref":"stripe.Stripe.Coupon","required":true}, + "created": {"dataType":"double","required":true}, + "customer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Customer"},{"ref":"stripe.Stripe.DeletedCustomer"},{"dataType":"enum","enums":[null]}],"required":true}, + "expires_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "livemode": {"dataType":"boolean","required":true}, + "max_redemptions": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "metadata": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Metadata"},{"dataType":"enum","enums":[null]}],"required":true}, + "restrictions": {"ref":"stripe.Stripe.PromotionCode.Restrictions","required":true}, + "times_redeemed": {"dataType":"double","required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.SepaDebitPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.Discount": { + "dataType": "refObject", + "properties": { + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["discount"],"required":true}, + "checkout_session": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "coupon": {"ref":"stripe.Stripe.Coupon","required":true}, + "customer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Customer"},{"ref":"stripe.Stripe.DeletedCustomer"},{"dataType":"enum","enums":[null]}],"required":true}, + "deleted": {"dataType":"void"}, + "end": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "invoice": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "invoice_item": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "promotion_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PromotionCode"},{"dataType":"enum","enums":[null]}],"required":true}, + "start": {"dataType":"double","required":true}, + "subscription": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "subscription_item": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.SofortPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.Customer.InvoiceSettings.CustomField": { + "dataType": "refObject", + "properties": { + "name": {"dataType":"string","required":true}, + "value": {"dataType":"string","required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.SwishPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.PaymentMethod.AcssDebit": { + "dataType": "refObject", + "properties": { + "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "institution_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "transit_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.TaxReportingUs1099K": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.PaymentMethod.Affirm": { + "dataType": "refObject", + "properties": { + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.TaxReportingUs1099Misc": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.PaymentMethod.AfterpayClearpay": { + "dataType": "refObject", + "properties": { + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.Transfers": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.PaymentMethod.Alipay": { + "dataType": "refObject", + "properties": { + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.Treasury": { + "stripe.Stripe.PaymentMethod.AllowRedisplay": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["always"]},{"dataType":"enum","enums":["limited"]},{"dataType":"enum","enums":["unspecified"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.TwintPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.PaymentMethod.Alma": { + "dataType": "refObject", + "properties": { + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.UsBankAccountAchPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.PaymentMethod.AmazonPay": { + "dataType": "refObject", + "properties": { + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.UsBankTransferPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.PaymentMethod.AuBecsDebit": { + "dataType": "refObject", + "properties": { + "bsb_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities.ZipPayments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, + "stripe.Stripe.PaymentMethod.BacsDebit": { + "dataType": "refObject", + "properties": { + "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "sort_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Capabilities": { + "stripe.Stripe.PaymentMethod.Bancontact": { "dataType": "refObject", "properties": { - "acss_debit_payments": {"ref":"stripe.Stripe.Account.Capabilities.AcssDebitPayments"}, - "affirm_payments": {"ref":"stripe.Stripe.Account.Capabilities.AffirmPayments"}, - "afterpay_clearpay_payments": {"ref":"stripe.Stripe.Account.Capabilities.AfterpayClearpayPayments"}, - "alma_payments": {"ref":"stripe.Stripe.Account.Capabilities.AlmaPayments"}, - "amazon_pay_payments": {"ref":"stripe.Stripe.Account.Capabilities.AmazonPayPayments"}, - "au_becs_debit_payments": {"ref":"stripe.Stripe.Account.Capabilities.AuBecsDebitPayments"}, - "bacs_debit_payments": {"ref":"stripe.Stripe.Account.Capabilities.BacsDebitPayments"}, - "bancontact_payments": {"ref":"stripe.Stripe.Account.Capabilities.BancontactPayments"}, - "bank_transfer_payments": {"ref":"stripe.Stripe.Account.Capabilities.BankTransferPayments"}, - "blik_payments": {"ref":"stripe.Stripe.Account.Capabilities.BlikPayments"}, - "boleto_payments": {"ref":"stripe.Stripe.Account.Capabilities.BoletoPayments"}, - "card_issuing": {"ref":"stripe.Stripe.Account.Capabilities.CardIssuing"}, - "card_payments": {"ref":"stripe.Stripe.Account.Capabilities.CardPayments"}, - "cartes_bancaires_payments": {"ref":"stripe.Stripe.Account.Capabilities.CartesBancairesPayments"}, - "cashapp_payments": {"ref":"stripe.Stripe.Account.Capabilities.CashappPayments"}, - "eps_payments": {"ref":"stripe.Stripe.Account.Capabilities.EpsPayments"}, - "fpx_payments": {"ref":"stripe.Stripe.Account.Capabilities.FpxPayments"}, - "gb_bank_transfer_payments": {"ref":"stripe.Stripe.Account.Capabilities.GbBankTransferPayments"}, - "giropay_payments": {"ref":"stripe.Stripe.Account.Capabilities.GiropayPayments"}, - "grabpay_payments": {"ref":"stripe.Stripe.Account.Capabilities.GrabpayPayments"}, - "ideal_payments": {"ref":"stripe.Stripe.Account.Capabilities.IdealPayments"}, - "india_international_payments": {"ref":"stripe.Stripe.Account.Capabilities.IndiaInternationalPayments"}, - "jcb_payments": {"ref":"stripe.Stripe.Account.Capabilities.JcbPayments"}, - "jp_bank_transfer_payments": {"ref":"stripe.Stripe.Account.Capabilities.JpBankTransferPayments"}, - "kakao_pay_payments": {"ref":"stripe.Stripe.Account.Capabilities.KakaoPayPayments"}, - "klarna_payments": {"ref":"stripe.Stripe.Account.Capabilities.KlarnaPayments"}, - "konbini_payments": {"ref":"stripe.Stripe.Account.Capabilities.KonbiniPayments"}, - "kr_card_payments": {"ref":"stripe.Stripe.Account.Capabilities.KrCardPayments"}, - "legacy_payments": {"ref":"stripe.Stripe.Account.Capabilities.LegacyPayments"}, - "link_payments": {"ref":"stripe.Stripe.Account.Capabilities.LinkPayments"}, - "mobilepay_payments": {"ref":"stripe.Stripe.Account.Capabilities.MobilepayPayments"}, - "multibanco_payments": {"ref":"stripe.Stripe.Account.Capabilities.MultibancoPayments"}, - "mx_bank_transfer_payments": {"ref":"stripe.Stripe.Account.Capabilities.MxBankTransferPayments"}, - "naver_pay_payments": {"ref":"stripe.Stripe.Account.Capabilities.NaverPayPayments"}, - "oxxo_payments": {"ref":"stripe.Stripe.Account.Capabilities.OxxoPayments"}, - "p24_payments": {"ref":"stripe.Stripe.Account.Capabilities.P24Payments"}, - "pay_by_bank_payments": {"ref":"stripe.Stripe.Account.Capabilities.PayByBankPayments"}, - "payco_payments": {"ref":"stripe.Stripe.Account.Capabilities.PaycoPayments"}, - "paynow_payments": {"ref":"stripe.Stripe.Account.Capabilities.PaynowPayments"}, - "promptpay_payments": {"ref":"stripe.Stripe.Account.Capabilities.PromptpayPayments"}, - "revolut_pay_payments": {"ref":"stripe.Stripe.Account.Capabilities.RevolutPayPayments"}, - "samsung_pay_payments": {"ref":"stripe.Stripe.Account.Capabilities.SamsungPayPayments"}, - "sepa_bank_transfer_payments": {"ref":"stripe.Stripe.Account.Capabilities.SepaBankTransferPayments"}, - "sepa_debit_payments": {"ref":"stripe.Stripe.Account.Capabilities.SepaDebitPayments"}, - "sofort_payments": {"ref":"stripe.Stripe.Account.Capabilities.SofortPayments"}, - "swish_payments": {"ref":"stripe.Stripe.Account.Capabilities.SwishPayments"}, - "tax_reporting_us_1099_k": {"ref":"stripe.Stripe.Account.Capabilities.TaxReportingUs1099K"}, - "tax_reporting_us_1099_misc": {"ref":"stripe.Stripe.Account.Capabilities.TaxReportingUs1099Misc"}, - "transfers": {"ref":"stripe.Stripe.Account.Capabilities.Transfers"}, - "treasury": {"ref":"stripe.Stripe.Account.Capabilities.Treasury"}, - "twint_payments": {"ref":"stripe.Stripe.Account.Capabilities.TwintPayments"}, - "us_bank_account_ach_payments": {"ref":"stripe.Stripe.Account.Capabilities.UsBankAccountAchPayments"}, - "us_bank_transfer_payments": {"ref":"stripe.Stripe.Account.Capabilities.UsBankTransferPayments"}, - "zip_payments": {"ref":"stripe.Stripe.Account.Capabilities.ZipPayments"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Company.AddressKana": { + "stripe.Stripe.PaymentMethod.BillingDetails": { "dataType": "refObject", "properties": { - "city": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "line1": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "line2": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "postal_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "state": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "town": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "address": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Address"},{"dataType":"enum","enums":[null]}],"required":true}, + "email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "phone": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Company.AddressKanji": { + "stripe.Stripe.PaymentMethod.Blik": { "dataType": "refObject", "properties": { - "city": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "line1": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "line2": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "postal_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "state": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "town": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Company.DirectorshipDeclaration": { + "stripe.Stripe.PaymentMethod.Boleto": { "dataType": "refObject", "properties": { - "date": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "ip": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "user_agent": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "tax_id": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Company.OwnershipDeclaration": { + "stripe.Stripe.PaymentMethod.Card.Checks": { "dataType": "refObject", "properties": { - "date": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "ip": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "user_agent": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "address_line1_check": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "address_postal_code_check": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "cvc_check": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Company.OwnershipExemptionReason": { + "stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Offline": { + "dataType": "refObject", + "properties": { + "stored_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["deferred"]},{"dataType":"enum","enums":[null]}],"required":true}, + }, + "additionalProperties": false, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.ReadMethod": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["qualified_entity_exceeds_ownership_threshold"]},{"dataType":"enum","enums":["qualifies_as_financial_institution"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["contact_emv"]},{"dataType":"enum","enums":["contactless_emv"]},{"dataType":"enum","enums":["contactless_magstripe_mode"]},{"dataType":"enum","enums":["magnetic_stripe_fallback"]},{"dataType":"enum","enums":["magnetic_stripe_track2"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Company.Structure": { + "stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Receipt.AccountType": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["free_zone_establishment"]},{"dataType":"enum","enums":["free_zone_llc"]},{"dataType":"enum","enums":["government_instrumentality"]},{"dataType":"enum","enums":["governmental_unit"]},{"dataType":"enum","enums":["incorporated_non_profit"]},{"dataType":"enum","enums":["incorporated_partnership"]},{"dataType":"enum","enums":["limited_liability_partnership"]},{"dataType":"enum","enums":["llc"]},{"dataType":"enum","enums":["multi_member_llc"]},{"dataType":"enum","enums":["private_company"]},{"dataType":"enum","enums":["private_corporation"]},{"dataType":"enum","enums":["private_partnership"]},{"dataType":"enum","enums":["public_company"]},{"dataType":"enum","enums":["public_corporation"]},{"dataType":"enum","enums":["public_partnership"]},{"dataType":"enum","enums":["registered_charity"]},{"dataType":"enum","enums":["single_member_llc"]},{"dataType":"enum","enums":["sole_establishment"]},{"dataType":"enum","enums":["sole_proprietorship"]},{"dataType":"enum","enums":["tax_exempt_government_instrumentality"]},{"dataType":"enum","enums":["unincorporated_association"]},{"dataType":"enum","enums":["unincorporated_non_profit"]},{"dataType":"enum","enums":["unincorporated_partnership"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["checking"]},{"dataType":"enum","enums":["credit"]},{"dataType":"enum","enums":["prepaid"]},{"dataType":"enum","enums":["unknown"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.File": { + "stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Receipt": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["file"],"required":true}, - "created": {"dataType":"double","required":true}, - "expires_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "filename": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "links": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.ApiList_stripe.Stripe.FileLink_"},{"dataType":"enum","enums":[null]}]}, - "purpose": {"ref":"stripe.Stripe.File.Purpose","required":true}, - "size": {"dataType":"double","required":true}, - "title": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "type": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "account_type": {"ref":"stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Receipt.AccountType"}, + "application_cryptogram": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "application_preferred_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "authorization_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "authorization_response_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "cardholder_verification_method": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "dedicated_file_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "terminal_verification_results": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "transaction_status_information": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Metadata": { + "stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Wallet.Type": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["apple_pay"]},{"dataType":"enum","enums":["google_pay"]},{"dataType":"enum","enums":["samsung_pay"]},{"dataType":"enum","enums":["unknown"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Wallet": { "dataType": "refObject", "properties": { + "type": {"ref":"stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Wallet.Type","required":true}, }, - "additionalProperties": {"dataType":"string"}, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.FileLink": { + "stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["file_link"],"required":true}, - "created": {"dataType":"double","required":true}, - "expired": {"dataType":"boolean","required":true}, - "expires_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "file": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"}],"required":true}, - "livemode": {"dataType":"boolean","required":true}, - "metadata": {"ref":"stripe.Stripe.Metadata","required":true}, - "url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "amount_authorized": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "brand": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "brand_product": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "capture_before": {"dataType":"double"}, + "cardholder_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "emv_auth_data": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "exp_month": {"dataType":"double","required":true}, + "exp_year": {"dataType":"double","required":true}, + "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "funding": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "generated_card": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "iin": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "incremental_authorization_supported": {"dataType":"boolean","required":true}, + "issuer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "network": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "network_transaction_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "offline": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Offline"},{"dataType":"enum","enums":[null]}],"required":true}, + "overcapture_supported": {"dataType":"boolean","required":true}, + "preferred_locales": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, + "read_method": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.ReadMethod"},{"dataType":"enum","enums":[null]}],"required":true}, + "receipt": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Receipt"},{"dataType":"enum","enums":[null]}],"required":true}, + "wallet": {"ref":"stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Wallet"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.ApiList_stripe.Stripe.FileLink_": { + "stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails": { "dataType": "refObject", "properties": { - "object": {"dataType":"enum","enums":["list"],"required":true}, - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.FileLink"},"required":true}, - "has_more": {"dataType":"boolean","required":true}, - "url": {"dataType":"string","required":true}, + "card_present": {"ref":"stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent"}, + "type": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.File.Purpose": { + "stripe.Stripe.SetupAttempt.FlowDirection": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account_requirement"]},{"dataType":"enum","enums":["additional_verification"]},{"dataType":"enum","enums":["business_icon"]},{"dataType":"enum","enums":["business_logo"]},{"dataType":"enum","enums":["customer_signature"]},{"dataType":"enum","enums":["dispute_evidence"]},{"dataType":"enum","enums":["document_provider_identity_document"]},{"dataType":"enum","enums":["finance_report_run"]},{"dataType":"enum","enums":["financial_account_statement"]},{"dataType":"enum","enums":["identity_document"]},{"dataType":"enum","enums":["identity_document_downloadable"]},{"dataType":"enum","enums":["issuing_regulatory_reporting"]},{"dataType":"enum","enums":["pci_document"]},{"dataType":"enum","enums":["selfie"]},{"dataType":"enum","enums":["sigma_scheduled_query"]},{"dataType":"enum","enums":["tax_document_user_upload"]},{"dataType":"enum","enums":["terminal_reader_splashscreen"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["inbound"]},{"dataType":"enum","enums":["outbound"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Company.Verification.Document": { + "stripe.Stripe.PaymentMethod": { "dataType": "refObject", "properties": { - "back": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, - "details": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "details_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "front": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["payment_method"],"required":true}, + "acss_debit": {"ref":"stripe.Stripe.PaymentMethod.AcssDebit"}, + "affirm": {"ref":"stripe.Stripe.PaymentMethod.Affirm"}, + "afterpay_clearpay": {"ref":"stripe.Stripe.PaymentMethod.AfterpayClearpay"}, + "alipay": {"ref":"stripe.Stripe.PaymentMethod.Alipay"}, + "allow_redisplay": {"ref":"stripe.Stripe.PaymentMethod.AllowRedisplay"}, + "alma": {"ref":"stripe.Stripe.PaymentMethod.Alma"}, + "amazon_pay": {"ref":"stripe.Stripe.PaymentMethod.AmazonPay"}, + "au_becs_debit": {"ref":"stripe.Stripe.PaymentMethod.AuBecsDebit"}, + "bacs_debit": {"ref":"stripe.Stripe.PaymentMethod.BacsDebit"}, + "bancontact": {"ref":"stripe.Stripe.PaymentMethod.Bancontact"}, + "billing_details": {"ref":"stripe.Stripe.PaymentMethod.BillingDetails","required":true}, + "blik": {"ref":"stripe.Stripe.PaymentMethod.Blik"}, + "boleto": {"ref":"stripe.Stripe.PaymentMethod.Boleto"}, + "card": {"ref":"stripe.Stripe.PaymentMethod.Card"}, + "card_present": {"ref":"stripe.Stripe.PaymentMethod.CardPresent"}, + "cashapp": {"ref":"stripe.Stripe.PaymentMethod.Cashapp"}, + "created": {"dataType":"double","required":true}, + "customer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Customer"},{"dataType":"enum","enums":[null]}],"required":true}, + "customer_balance": {"ref":"stripe.Stripe.PaymentMethod.CustomerBalance"}, + "eps": {"ref":"stripe.Stripe.PaymentMethod.Eps"}, + "fpx": {"ref":"stripe.Stripe.PaymentMethod.Fpx"}, + "giropay": {"ref":"stripe.Stripe.PaymentMethod.Giropay"}, + "grabpay": {"ref":"stripe.Stripe.PaymentMethod.Grabpay"}, + "ideal": {"ref":"stripe.Stripe.PaymentMethod.Ideal"}, + "interac_present": {"ref":"stripe.Stripe.PaymentMethod.InteracPresent"}, + "kakao_pay": {"ref":"stripe.Stripe.PaymentMethod.KakaoPay"}, + "klarna": {"ref":"stripe.Stripe.PaymentMethod.Klarna"}, + "konbini": {"ref":"stripe.Stripe.PaymentMethod.Konbini"}, + "kr_card": {"ref":"stripe.Stripe.PaymentMethod.KrCard"}, + "link": {"ref":"stripe.Stripe.PaymentMethod.Link"}, + "livemode": {"dataType":"boolean","required":true}, + "metadata": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Metadata"},{"dataType":"enum","enums":[null]}],"required":true}, + "mobilepay": {"ref":"stripe.Stripe.PaymentMethod.Mobilepay"}, + "multibanco": {"ref":"stripe.Stripe.PaymentMethod.Multibanco"}, + "naver_pay": {"ref":"stripe.Stripe.PaymentMethod.NaverPay"}, + "oxxo": {"ref":"stripe.Stripe.PaymentMethod.Oxxo"}, + "p24": {"ref":"stripe.Stripe.PaymentMethod.P24"}, + "pay_by_bank": {"ref":"stripe.Stripe.PaymentMethod.PayByBank"}, + "payco": {"ref":"stripe.Stripe.PaymentMethod.Payco"}, + "paynow": {"ref":"stripe.Stripe.PaymentMethod.Paynow"}, + "paypal": {"ref":"stripe.Stripe.PaymentMethod.Paypal"}, + "pix": {"ref":"stripe.Stripe.PaymentMethod.Pix"}, + "promptpay": {"ref":"stripe.Stripe.PaymentMethod.Promptpay"}, + "radar_options": {"ref":"stripe.Stripe.PaymentMethod.RadarOptions"}, + "revolut_pay": {"ref":"stripe.Stripe.PaymentMethod.RevolutPay"}, + "samsung_pay": {"ref":"stripe.Stripe.PaymentMethod.SamsungPay"}, + "sepa_debit": {"ref":"stripe.Stripe.PaymentMethod.SepaDebit"}, + "sofort": {"ref":"stripe.Stripe.PaymentMethod.Sofort"}, + "swish": {"ref":"stripe.Stripe.PaymentMethod.Swish"}, + "twint": {"ref":"stripe.Stripe.PaymentMethod.Twint"}, + "type": {"ref":"stripe.Stripe.PaymentMethod.Type","required":true}, + "us_bank_account": {"ref":"stripe.Stripe.PaymentMethod.UsBankAccount"}, + "wechat_pay": {"ref":"stripe.Stripe.PaymentMethod.WechatPay"}, + "zip": {"ref":"stripe.Stripe.PaymentMethod.Zip"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Company.Verification": { + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.AcssDebit": { "dataType": "refObject", "properties": { - "document": {"ref":"stripe.Stripe.Account.Company.Verification.Document","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Company": { + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.AmazonPay": { "dataType": "refObject", "properties": { - "address": {"ref":"stripe.Stripe.Address"}, - "address_kana": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Account.Company.AddressKana"},{"dataType":"enum","enums":[null]}]}, - "address_kanji": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Account.Company.AddressKanji"},{"dataType":"enum","enums":[null]}]}, - "directors_provided": {"dataType":"boolean"}, - "directorship_declaration": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Account.Company.DirectorshipDeclaration"},{"dataType":"enum","enums":[null]}]}, - "executives_provided": {"dataType":"boolean"}, - "export_license_id": {"dataType":"string"}, - "export_purpose_code": {"dataType":"string"}, - "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "name_kana": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "name_kanji": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "owners_provided": {"dataType":"boolean"}, - "ownership_declaration": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Account.Company.OwnershipDeclaration"},{"dataType":"enum","enums":[null]}]}, - "ownership_exemption_reason": {"ref":"stripe.Stripe.Account.Company.OwnershipExemptionReason"}, - "phone": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "structure": {"ref":"stripe.Stripe.Account.Company.Structure"}, - "tax_id_provided": {"dataType":"boolean"}, - "tax_id_registrar": {"dataType":"string"}, - "vat_id_provided": {"dataType":"boolean"}, - "verification": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Account.Company.Verification"},{"dataType":"enum","enums":[null]}]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Controller.Fees.Payer": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account"]},{"dataType":"enum","enums":["application"]},{"dataType":"enum","enums":["application_custom"]},{"dataType":"enum","enums":["application_express"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Controller.Fees": { + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.AuBecsDebit": { "dataType": "refObject", "properties": { - "payer": {"ref":"stripe.Stripe.Account.Controller.Fees.Payer","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Controller.Losses.Payments": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["application"]},{"dataType":"enum","enums":["stripe"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Controller.Losses": { + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.BacsDebit": { "dataType": "refObject", "properties": { - "payments": {"ref":"stripe.Stripe.Account.Controller.Losses.Payments","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Controller.RequirementCollection": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["application"]},{"dataType":"enum","enums":["stripe"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Controller.StripeDashboard.Type": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["express"]},{"dataType":"enum","enums":["full"]},{"dataType":"enum","enums":["none"]}],"validators":{}}, + "stripe.Stripe.Mandate.CustomerAcceptance.Offline": { + "dataType": "refObject", + "properties": { + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Controller.StripeDashboard": { + "stripe.Stripe.Mandate.CustomerAcceptance.Online": { "dataType": "refObject", "properties": { - "type": {"ref":"stripe.Stripe.Account.Controller.StripeDashboard.Type","required":true}, + "ip_address": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "user_agent": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Controller.Type": { + "stripe.Stripe.Mandate.CustomerAcceptance.Type": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account"]},{"dataType":"enum","enums":["application"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["offline"]},{"dataType":"enum","enums":["online"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Controller": { + "stripe.Stripe.Mandate.CustomerAcceptance": { "dataType": "refObject", "properties": { - "fees": {"ref":"stripe.Stripe.Account.Controller.Fees"}, - "is_controller": {"dataType":"boolean"}, - "losses": {"ref":"stripe.Stripe.Account.Controller.Losses"}, - "requirement_collection": {"ref":"stripe.Stripe.Account.Controller.RequirementCollection"}, - "stripe_dashboard": {"ref":"stripe.Stripe.Account.Controller.StripeDashboard"}, - "type": {"ref":"stripe.Stripe.Account.Controller.Type","required":true}, + "accepted_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "offline": {"ref":"stripe.Stripe.Mandate.CustomerAcceptance.Offline"}, + "online": {"ref":"stripe.Stripe.Mandate.CustomerAcceptance.Online"}, + "type": {"ref":"stripe.Stripe.Mandate.CustomerAcceptance.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account": { + "stripe.Stripe.Mandate.MultiUse": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["account"],"required":true}, - "business_profile": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Account.BusinessProfile"},{"dataType":"enum","enums":[null]}]}, - "business_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Account.BusinessType"},{"dataType":"enum","enums":[null]}]}, - "capabilities": {"ref":"stripe.Stripe.Account.Capabilities"}, - "charges_enabled": {"dataType":"boolean","required":true}, - "company": {"ref":"stripe.Stripe.Account.Company"}, - "controller": {"ref":"stripe.Stripe.Account.Controller"}, - "country": {"dataType":"string"}, - "created": {"dataType":"double"}, - "default_currency": {"dataType":"string"}, - "deleted": {"dataType":"void"}, - "details_submitted": {"dataType":"boolean","required":true}, - "email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "external_accounts": {"ref":"stripe.Stripe.ApiList_stripe.Stripe.ExternalAccount_"}, - "future_requirements": {"ref":"stripe.Stripe.Account.FutureRequirements"}, - "groups": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Account.Groups"},{"dataType":"enum","enums":[null]}]}, - "individual": {"ref":"stripe.Stripe.Person"}, - "metadata": {"ref":"stripe.Stripe.Metadata"}, - "payouts_enabled": {"dataType":"boolean","required":true}, - "requirements": {"ref":"stripe.Stripe.Account.Requirements"}, - "settings": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Account.Settings"},{"dataType":"enum","enums":[null]}]}, - "tos_acceptance": {"ref":"stripe.Stripe.Account.TosAcceptance"}, - "type": {"ref":"stripe.Stripe.Account.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.BankAccount.AvailablePayoutMethod": { + "stripe.Stripe.Mandate.PaymentMethodDetails.AcssDebit.DefaultFor": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["instant"]},{"dataType":"enum","enums":["standard"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["invoice"]},{"dataType":"enum","enums":["subscription"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.CashBalance.Settings.ReconciliationMode": { + "stripe.Stripe.Mandate.PaymentMethodDetails.AcssDebit.PaymentSchedule": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["automatic"]},{"dataType":"enum","enums":["manual"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["combined"]},{"dataType":"enum","enums":["interval"]},{"dataType":"enum","enums":["sporadic"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.CashBalance.Settings": { + "stripe.Stripe.Mandate.PaymentMethodDetails.AcssDebit.TransactionType": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["business"]},{"dataType":"enum","enums":["personal"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Mandate.PaymentMethodDetails.AcssDebit": { "dataType": "refObject", "properties": { - "reconciliation_mode": {"ref":"stripe.Stripe.CashBalance.Settings.ReconciliationMode","required":true}, - "using_merchant_default": {"dataType":"boolean","required":true}, + "default_for": {"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Mandate.PaymentMethodDetails.AcssDebit.DefaultFor"}}, + "interval_description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "payment_schedule": {"ref":"stripe.Stripe.Mandate.PaymentMethodDetails.AcssDebit.PaymentSchedule","required":true}, + "transaction_type": {"ref":"stripe.Stripe.Mandate.PaymentMethodDetails.AcssDebit.TransactionType","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.CashBalance": { + "stripe.Stripe.Mandate.PaymentMethodDetails.AmazonPay": { "dataType": "refObject", "properties": { - "object": {"dataType":"enum","enums":["cash_balance"],"required":true}, - "available": {"dataType":"union","subSchemas":[{"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"dataType":"double"}},{"dataType":"enum","enums":[null]}],"required":true}, - "customer": {"dataType":"string","required":true}, - "livemode": {"dataType":"boolean","required":true}, - "settings": {"ref":"stripe.Stripe.CashBalance.Settings","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.BankAccount": { + "stripe.Stripe.Mandate.PaymentMethodDetails.AuBecsDebit": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["bank_account"],"required":true}, - "account": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"},{"dataType":"enum","enums":[null]}]}, - "account_holder_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "account_holder_type": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "account_type": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "available_payout_methods": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.BankAccount.AvailablePayoutMethod"}},{"dataType":"enum","enums":[null]}]}, - "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "country": {"dataType":"string","required":true}, - "currency": {"dataType":"string","required":true}, - "customer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Customer"},{"ref":"stripe.Stripe.DeletedCustomer"},{"dataType":"enum","enums":[null]}]}, - "default_for_currency": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}]}, - "deleted": {"dataType":"void"}, - "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "future_requirements": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.BankAccount.FutureRequirements"},{"dataType":"enum","enums":[null]}]}, - "last4": {"dataType":"string","required":true}, - "metadata": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Metadata"},{"dataType":"enum","enums":[null]}]}, - "requirements": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.BankAccount.Requirements"},{"dataType":"enum","enums":[null]}]}, - "routing_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "status": {"dataType":"string","required":true}, + "url": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Card.AllowRedisplay": { + "stripe.Stripe.Mandate.PaymentMethodDetails.BacsDebit.NetworkStatus": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["always"]},{"dataType":"enum","enums":["limited"]},{"dataType":"enum","enums":["unspecified"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["accepted"]},{"dataType":"enum","enums":["pending"]},{"dataType":"enum","enums":["refused"]},{"dataType":"enum","enums":["revoked"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Card.AvailablePayoutMethod": { + "stripe.Stripe.Mandate.PaymentMethodDetails.BacsDebit.RevocationReason": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["instant"]},{"dataType":"enum","enums":["standard"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account_closed"]},{"dataType":"enum","enums":["bank_account_restricted"]},{"dataType":"enum","enums":["bank_ownership_changed"]},{"dataType":"enum","enums":["could_not_process"]},{"dataType":"enum","enums":["debit_not_authorized"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Customer": { + "stripe.Stripe.Mandate.PaymentMethodDetails.BacsDebit": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["customer"],"required":true}, - "address": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Address"},{"dataType":"enum","enums":[null]}]}, - "balance": {"dataType":"double","required":true}, - "cash_balance": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.CashBalance"},{"dataType":"enum","enums":[null]}]}, - "created": {"dataType":"double","required":true}, - "currency": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "default_source": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.CustomerSource"},{"dataType":"enum","enums":[null]}],"required":true}, - "deleted": {"dataType":"void"}, - "delinquent": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}]}, - "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "discount": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Discount"},{"dataType":"enum","enums":[null]}]}, - "email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "invoice_credit_balance": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"dataType":"double"}}, - "invoice_prefix": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "invoice_settings": {"ref":"stripe.Stripe.Customer.InvoiceSettings","required":true}, - "livemode": {"dataType":"boolean","required":true}, - "metadata": {"ref":"stripe.Stripe.Metadata","required":true}, - "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "next_invoice_sequence": {"dataType":"double"}, - "phone": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "preferred_locales": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}]}, - "shipping": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Customer.Shipping"},{"dataType":"enum","enums":[null]}],"required":true}, - "sources": {"ref":"stripe.Stripe.ApiList_stripe.Stripe.CustomerSource_"}, - "subscriptions": {"ref":"stripe.Stripe.ApiList_stripe.Stripe.Subscription_"}, - "tax": {"ref":"stripe.Stripe.Customer.Tax"}, - "tax_exempt": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Customer.TaxExempt"},{"dataType":"enum","enums":[null]}]}, - "tax_ids": {"ref":"stripe.Stripe.ApiList_stripe.Stripe.TaxId_"}, - "test_clock": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TestHelpers.TestClock"},{"dataType":"enum","enums":[null]}]}, + "network_status": {"ref":"stripe.Stripe.Mandate.PaymentMethodDetails.BacsDebit.NetworkStatus","required":true}, + "reference": {"dataType":"string","required":true}, + "revocation_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Mandate.PaymentMethodDetails.BacsDebit.RevocationReason"},{"dataType":"enum","enums":[null]}],"required":true}, + "url": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.DeletedCustomer": { + "stripe.Stripe.Mandate.PaymentMethodDetails.Card": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["customer"],"required":true}, - "deleted": {"dataType":"enum","enums":[true],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Card.Networks": { + "stripe.Stripe.Mandate.PaymentMethodDetails.Cashapp": { "dataType": "refObject", "properties": { - "preferred": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Card.RegulatedStatus": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["regulated"]},{"dataType":"enum","enums":["unregulated"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Card": { + "stripe.Stripe.Mandate.PaymentMethodDetails.KakaoPay": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["card"],"required":true}, - "account": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"},{"dataType":"enum","enums":[null]}]}, - "address_city": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "address_country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "address_line1": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "address_line1_check": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "address_line2": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "address_state": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "address_zip": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "address_zip_check": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "allow_redisplay": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Card.AllowRedisplay"},{"dataType":"enum","enums":[null]}]}, - "available_payout_methods": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Card.AvailablePayoutMethod"}},{"dataType":"enum","enums":[null]}]}, - "brand": {"dataType":"string","required":true}, - "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "currency": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "customer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Customer"},{"ref":"stripe.Stripe.DeletedCustomer"},{"dataType":"enum","enums":[null]}]}, - "cvc_check": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "default_for_currency": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}]}, - "deleted": {"dataType":"void"}, - "description": {"dataType":"string"}, - "dynamic_last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "exp_month": {"dataType":"double","required":true}, - "exp_year": {"dataType":"double","required":true}, - "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "funding": {"dataType":"string","required":true}, - "iin": {"dataType":"string"}, - "issuer": {"dataType":"string"}, - "last4": {"dataType":"string","required":true}, - "metadata": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Metadata"},{"dataType":"enum","enums":[null]}],"required":true}, - "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "networks": {"ref":"stripe.Stripe.Card.Networks"}, - "regulated_status": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Card.RegulatedStatus"},{"dataType":"enum","enums":[null]}],"required":true}, - "status": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "tokenization_method": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Source.AchCreditTransfer": { + "stripe.Stripe.Mandate.PaymentMethodDetails.KrCard": { "dataType": "refObject", "properties": { - "account_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "refund_account_holder_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "refund_account_holder_type": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "refund_routing_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "routing_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "swift_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Source.AchDebit": { + "stripe.Stripe.Mandate.PaymentMethodDetails.Link": { "dataType": "refObject", "properties": { - "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "routing_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "type": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Source.AcssDebit": { + "stripe.Stripe.Mandate.PaymentMethodDetails.Paypal": { "dataType": "refObject", "properties": { - "bank_address_city": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "bank_address_line_1": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "bank_address_line_2": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "bank_address_postal_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "category": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "routing_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "billing_agreement_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "payer_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Source.Alipay": { + "stripe.Stripe.Mandate.PaymentMethodDetails.RevolutPay": { "dataType": "refObject", "properties": { - "data_string": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "native_url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "statement_descriptor": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Source.AllowRedisplay": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["always"]},{"dataType":"enum","enums":["limited"]},{"dataType":"enum","enums":["unspecified"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Source.AuBecsDebit": { + "stripe.Stripe.Mandate.PaymentMethodDetails.SepaDebit": { "dataType": "refObject", "properties": { - "bsb_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "reference": {"dataType":"string","required":true}, + "url": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Source.Bancontact": { + "stripe.Stripe.Mandate.PaymentMethodDetails.UsBankAccount": { "dataType": "refObject", "properties": { - "bank_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "bic": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "iban_last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "preferred_language": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "statement_descriptor": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "collection_method": {"dataType":"enum","enums":["paper"]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Source.Card": { + "stripe.Stripe.Mandate.PaymentMethodDetails": { "dataType": "refObject", "properties": { - "address_line1_check": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "address_zip_check": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "brand": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "cvc_check": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "description": {"dataType":"string"}, - "dynamic_last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "exp_month": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, - "exp_year": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, - "fingerprint": {"dataType":"string"}, - "funding": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "iin": {"dataType":"string"}, - "issuer": {"dataType":"string"}, - "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "three_d_secure": {"dataType":"string"}, - "tokenization_method": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "acss_debit": {"ref":"stripe.Stripe.Mandate.PaymentMethodDetails.AcssDebit"}, + "amazon_pay": {"ref":"stripe.Stripe.Mandate.PaymentMethodDetails.AmazonPay"}, + "au_becs_debit": {"ref":"stripe.Stripe.Mandate.PaymentMethodDetails.AuBecsDebit"}, + "bacs_debit": {"ref":"stripe.Stripe.Mandate.PaymentMethodDetails.BacsDebit"}, + "card": {"ref":"stripe.Stripe.Mandate.PaymentMethodDetails.Card"}, + "cashapp": {"ref":"stripe.Stripe.Mandate.PaymentMethodDetails.Cashapp"}, + "kakao_pay": {"ref":"stripe.Stripe.Mandate.PaymentMethodDetails.KakaoPay"}, + "kr_card": {"ref":"stripe.Stripe.Mandate.PaymentMethodDetails.KrCard"}, + "link": {"ref":"stripe.Stripe.Mandate.PaymentMethodDetails.Link"}, + "paypal": {"ref":"stripe.Stripe.Mandate.PaymentMethodDetails.Paypal"}, + "revolut_pay": {"ref":"stripe.Stripe.Mandate.PaymentMethodDetails.RevolutPay"}, + "sepa_debit": {"ref":"stripe.Stripe.Mandate.PaymentMethodDetails.SepaDebit"}, + "type": {"dataType":"string","required":true}, + "us_bank_account": {"ref":"stripe.Stripe.Mandate.PaymentMethodDetails.UsBankAccount"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Source.CardPresent": { + "stripe.Stripe.Mandate.SingleUse": { "dataType": "refObject", "properties": { - "application_cryptogram": {"dataType":"string"}, - "application_preferred_name": {"dataType":"string"}, - "authorization_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "authorization_response_code": {"dataType":"string"}, - "brand": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "cvm_type": {"dataType":"string"}, - "data_type": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "dedicated_file_name": {"dataType":"string"}, - "description": {"dataType":"string"}, - "emv_auth_data": {"dataType":"string"}, - "evidence_customer_signature": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "evidence_transaction_certificate": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "exp_month": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, - "exp_year": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, - "fingerprint": {"dataType":"string"}, - "funding": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "iin": {"dataType":"string"}, - "issuer": {"dataType":"string"}, - "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "pos_device_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "pos_entry_mode": {"dataType":"string"}, - "read_method": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "reader": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "terminal_verification_results": {"dataType":"string"}, - "transaction_status_information": {"dataType":"string"}, + "amount": {"dataType":"double","required":true}, + "currency": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Source.CodeVerification": { - "dataType": "refObject", - "properties": { - "attempts_remaining": {"dataType":"double","required":true}, - "status": {"dataType":"string","required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Mandate.Status": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Source.Eps": { + "stripe.Stripe.Mandate.Type": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["multi_use"]},{"dataType":"enum","enums":["single_use"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Mandate": { "dataType": "refObject", "properties": { - "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "statement_descriptor": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["mandate"],"required":true}, + "customer_acceptance": {"ref":"stripe.Stripe.Mandate.CustomerAcceptance","required":true}, + "livemode": {"dataType":"boolean","required":true}, + "multi_use": {"ref":"stripe.Stripe.Mandate.MultiUse"}, + "on_behalf_of": {"dataType":"string"}, + "payment_method": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentMethod"}],"required":true}, + "payment_method_details": {"ref":"stripe.Stripe.Mandate.PaymentMethodDetails","required":true}, + "single_use": {"ref":"stripe.Stripe.Mandate.SingleUse"}, + "status": {"ref":"stripe.Stripe.Mandate.Status","required":true}, + "type": {"ref":"stripe.Stripe.Mandate.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Source.Giropay": { + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Bancontact.PreferredLanguage": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["de"]},{"dataType":"enum","enums":["en"]},{"dataType":"enum","enums":["fr"]},{"dataType":"enum","enums":["nl"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Bancontact": { "dataType": "refObject", "properties": { - "bank_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "bic": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "statement_descriptor": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "bank_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "bic": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "generated_sepa_debit": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentMethod"},{"dataType":"enum","enums":[null]}],"required":true}, + "generated_sepa_debit_mandate": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Mandate"},{"dataType":"enum","enums":[null]}],"required":true}, + "iban_last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "preferred_language": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Bancontact.PreferredLanguage"},{"dataType":"enum","enums":[null]}],"required":true}, + "verified_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Source.Ideal": { + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Boleto": { "dataType": "refObject", "properties": { - "bank": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "bic": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "iban_last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "statement_descriptor": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Source.Klarna": { + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.Checks": { "dataType": "refObject", "properties": { - "background_image_url": {"dataType":"string"}, - "client_token": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "first_name": {"dataType":"string"}, - "last_name": {"dataType":"string"}, - "locale": {"dataType":"string"}, - "logo_url": {"dataType":"string"}, - "page_title": {"dataType":"string"}, - "pay_later_asset_urls_descriptive": {"dataType":"string"}, - "pay_later_asset_urls_standard": {"dataType":"string"}, - "pay_later_name": {"dataType":"string"}, - "pay_later_redirect_url": {"dataType":"string"}, - "pay_now_asset_urls_descriptive": {"dataType":"string"}, - "pay_now_asset_urls_standard": {"dataType":"string"}, - "pay_now_name": {"dataType":"string"}, - "pay_now_redirect_url": {"dataType":"string"}, - "pay_over_time_asset_urls_descriptive": {"dataType":"string"}, - "pay_over_time_asset_urls_standard": {"dataType":"string"}, - "pay_over_time_name": {"dataType":"string"}, - "pay_over_time_redirect_url": {"dataType":"string"}, - "payment_method_categories": {"dataType":"string"}, - "purchase_country": {"dataType":"string"}, - "purchase_type": {"dataType":"string"}, - "redirect_url": {"dataType":"string"}, - "shipping_delay": {"dataType":"double"}, - "shipping_first_name": {"dataType":"string"}, - "shipping_last_name": {"dataType":"string"}, + "address_line1_check": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "address_postal_code_check": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "cvc_check": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Source.Multibanco": { + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure.AuthenticationFlow": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["challenge"]},{"dataType":"enum","enums":["frictionless"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure.ElectronicCommerceIndicator": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["01"]},{"dataType":"enum","enums":["02"]},{"dataType":"enum","enums":["05"]},{"dataType":"enum","enums":["06"]},{"dataType":"enum","enums":["07"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure.Result": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["attempt_acknowledged"]},{"dataType":"enum","enums":["authenticated"]},{"dataType":"enum","enums":["exempted"]},{"dataType":"enum","enums":["failed"]},{"dataType":"enum","enums":["not_supported"]},{"dataType":"enum","enums":["processing_error"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure.ResultReason": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["abandoned"]},{"dataType":"enum","enums":["bypassed"]},{"dataType":"enum","enums":["canceled"]},{"dataType":"enum","enums":["card_not_enrolled"]},{"dataType":"enum","enums":["network_not_supported"]},{"dataType":"enum","enums":["protocol_error"]},{"dataType":"enum","enums":["rejected"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure.Version": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["1.0.2"]},{"dataType":"enum","enums":["2.1.0"]},{"dataType":"enum","enums":["2.2.0"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure": { "dataType": "refObject", "properties": { - "entity": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "refund_account_holder_address_city": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "refund_account_holder_address_country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "refund_account_holder_address_line1": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "refund_account_holder_address_line2": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "refund_account_holder_address_postal_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "refund_account_holder_address_state": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "refund_account_holder_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "refund_iban": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "authentication_flow": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure.AuthenticationFlow"},{"dataType":"enum","enums":[null]}],"required":true}, + "electronic_commerce_indicator": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure.ElectronicCommerceIndicator"},{"dataType":"enum","enums":[null]}],"required":true}, + "result": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure.Result"},{"dataType":"enum","enums":[null]}],"required":true}, + "result_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure.ResultReason"},{"dataType":"enum","enums":[null]}],"required":true}, + "transaction_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "version": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure.Version"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Source.Owner": { + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.Wallet.ApplePay": { "dataType": "refObject", "properties": { - "address": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Address"},{"dataType":"enum","enums":[null]}],"required":true}, - "email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "phone": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "verified_address": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Address"},{"dataType":"enum","enums":[null]}],"required":true}, - "verified_email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "verified_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "verified_phone": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Source.P24": { + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.Wallet.GooglePay": { "dataType": "refObject", "properties": { - "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Source.Receiver": { + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.Wallet.Type": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["apple_pay"]},{"dataType":"enum","enums":["google_pay"]},{"dataType":"enum","enums":["link"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.Wallet": { "dataType": "refObject", "properties": { - "address": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "amount_charged": {"dataType":"double","required":true}, - "amount_received": {"dataType":"double","required":true}, - "amount_returned": {"dataType":"double","required":true}, - "refund_attributes_method": {"dataType":"string","required":true}, - "refund_attributes_status": {"dataType":"string","required":true}, + "apple_pay": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.Wallet.ApplePay"}, + "google_pay": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.Wallet.GooglePay"}, + "type": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.Wallet.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Source.Redirect": { + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card": { "dataType": "refObject", "properties": { - "failure_reason": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "return_url": {"dataType":"string","required":true}, - "status": {"dataType":"string","required":true}, - "url": {"dataType":"string","required":true}, + "brand": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "checks": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.Checks"},{"dataType":"enum","enums":[null]}],"required":true}, + "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "exp_month": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "exp_year": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "funding": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "iin": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "issuer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "network": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "three_d_secure": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure"},{"dataType":"enum","enums":[null]}],"required":true}, + "wallet": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.Wallet"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Source.SepaCreditTransfer": { + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.CardPresent.Offline": { "dataType": "refObject", "properties": { - "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "bic": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "iban": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "refund_account_holder_address_city": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "refund_account_holder_address_country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "refund_account_holder_address_line1": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "refund_account_holder_address_line2": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "refund_account_holder_address_postal_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "refund_account_holder_address_state": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "refund_account_holder_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "refund_iban": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "stored_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["deferred"]},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Source.SepaDebit": { + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.CardPresent": { "dataType": "refObject", "properties": { - "bank_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "branch_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "mandate_reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "mandate_url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "generated_card": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentMethod"},{"dataType":"enum","enums":[null]}],"required":true}, + "offline": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.CardPresent.Offline"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Source.Sofort": { + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Cashapp": { "dataType": "refObject", "properties": { - "bank_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "bic": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "iban_last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "preferred_language": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "statement_descriptor": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Source.SourceOrder.Item": { + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Ideal.Bank": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["abn_amro"]},{"dataType":"enum","enums":["asn_bank"]},{"dataType":"enum","enums":["bunq"]},{"dataType":"enum","enums":["handelsbanken"]},{"dataType":"enum","enums":["ing"]},{"dataType":"enum","enums":["knab"]},{"dataType":"enum","enums":["moneyou"]},{"dataType":"enum","enums":["n26"]},{"dataType":"enum","enums":["nn"]},{"dataType":"enum","enums":["rabobank"]},{"dataType":"enum","enums":["regiobank"]},{"dataType":"enum","enums":["revolut"]},{"dataType":"enum","enums":["sns_bank"]},{"dataType":"enum","enums":["triodos_bank"]},{"dataType":"enum","enums":["van_lanschot"]},{"dataType":"enum","enums":["yoursafe"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Ideal.Bic": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["ABNANL2A"]},{"dataType":"enum","enums":["ASNBNL21"]},{"dataType":"enum","enums":["BITSNL2A"]},{"dataType":"enum","enums":["BUNQNL2A"]},{"dataType":"enum","enums":["FVLBNL22"]},{"dataType":"enum","enums":["HANDNL2A"]},{"dataType":"enum","enums":["INGBNL2A"]},{"dataType":"enum","enums":["KNABNL2H"]},{"dataType":"enum","enums":["MOYONL21"]},{"dataType":"enum","enums":["NNBANL2G"]},{"dataType":"enum","enums":["NTSBDEB1"]},{"dataType":"enum","enums":["RABONL2U"]},{"dataType":"enum","enums":["RBRBNL21"]},{"dataType":"enum","enums":["REVOIE23"]},{"dataType":"enum","enums":["REVOLT21"]},{"dataType":"enum","enums":["SNSBNL2A"]},{"dataType":"enum","enums":["TRIONL2U"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Ideal": { "dataType": "refObject", "properties": { - "amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "currency": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "parent": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "quantity": {"dataType":"double"}, - "type": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "bank": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Ideal.Bank"},{"dataType":"enum","enums":[null]}],"required":true}, + "bic": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Ideal.Bic"},{"dataType":"enum","enums":[null]}],"required":true}, + "generated_sepa_debit": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentMethod"},{"dataType":"enum","enums":[null]}],"required":true}, + "generated_sepa_debit_mandate": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Mandate"},{"dataType":"enum","enums":[null]}],"required":true}, + "iban_last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "verified_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Source.SourceOrder.Shipping": { + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.KakaoPay": { "dataType": "refObject", "properties": { - "address": {"ref":"stripe.Stripe.Address"}, - "carrier": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "name": {"dataType":"string"}, - "phone": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "tracking_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Source.SourceOrder": { + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Klarna": { "dataType": "refObject", "properties": { - "amount": {"dataType":"double","required":true}, - "currency": {"dataType":"string","required":true}, - "email": {"dataType":"string"}, - "items": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Source.SourceOrder.Item"}},{"dataType":"enum","enums":[null]}],"required":true}, - "shipping": {"ref":"stripe.Stripe.Source.SourceOrder.Shipping"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Source.ThreeDSecure": { + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.KrCard": { "dataType": "refObject", "properties": { - "address_line1_check": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "address_zip_check": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "authenticated": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}]}, - "brand": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "card": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "customer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "cvc_check": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "description": {"dataType":"string"}, - "dynamic_last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "exp_month": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, - "exp_year": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, - "fingerprint": {"dataType":"string"}, - "funding": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "iin": {"dataType":"string"}, - "issuer": {"dataType":"string"}, - "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "three_d_secure": {"dataType":"string"}, - "tokenization_method": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Source.Type": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["ach_credit_transfer"]},{"dataType":"enum","enums":["ach_debit"]},{"dataType":"enum","enums":["acss_debit"]},{"dataType":"enum","enums":["alipay"]},{"dataType":"enum","enums":["au_becs_debit"]},{"dataType":"enum","enums":["bancontact"]},{"dataType":"enum","enums":["card"]},{"dataType":"enum","enums":["card_present"]},{"dataType":"enum","enums":["eps"]},{"dataType":"enum","enums":["giropay"]},{"dataType":"enum","enums":["ideal"]},{"dataType":"enum","enums":["klarna"]},{"dataType":"enum","enums":["multibanco"]},{"dataType":"enum","enums":["p24"]},{"dataType":"enum","enums":["sepa_credit_transfer"]},{"dataType":"enum","enums":["sepa_debit"]},{"dataType":"enum","enums":["sofort"]},{"dataType":"enum","enums":["three_d_secure"]},{"dataType":"enum","enums":["wechat"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Source.Wechat": { + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Link": { "dataType": "refObject", "properties": { - "prepay_id": {"dataType":"string"}, - "qr_code_url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "statement_descriptor": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Source": { + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Paypal": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["source"],"required":true}, - "ach_credit_transfer": {"ref":"stripe.Stripe.Source.AchCreditTransfer"}, - "ach_debit": {"ref":"stripe.Stripe.Source.AchDebit"}, - "acss_debit": {"ref":"stripe.Stripe.Source.AcssDebit"}, - "alipay": {"ref":"stripe.Stripe.Source.Alipay"}, - "allow_redisplay": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Source.AllowRedisplay"},{"dataType":"enum","enums":[null]}],"required":true}, - "amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "au_becs_debit": {"ref":"stripe.Stripe.Source.AuBecsDebit"}, - "bancontact": {"ref":"stripe.Stripe.Source.Bancontact"}, - "card": {"ref":"stripe.Stripe.Source.Card"}, - "card_present": {"ref":"stripe.Stripe.Source.CardPresent"}, - "client_secret": {"dataType":"string","required":true}, - "code_verification": {"ref":"stripe.Stripe.Source.CodeVerification"}, - "created": {"dataType":"double","required":true}, - "currency": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "customer": {"dataType":"string"}, - "eps": {"ref":"stripe.Stripe.Source.Eps"}, - "flow": {"dataType":"string","required":true}, - "giropay": {"ref":"stripe.Stripe.Source.Giropay"}, - "ideal": {"ref":"stripe.Stripe.Source.Ideal"}, - "klarna": {"ref":"stripe.Stripe.Source.Klarna"}, - "livemode": {"dataType":"boolean","required":true}, - "metadata": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Metadata"},{"dataType":"enum","enums":[null]}],"required":true}, - "multibanco": {"ref":"stripe.Stripe.Source.Multibanco"}, - "owner": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Source.Owner"},{"dataType":"enum","enums":[null]}],"required":true}, - "p24": {"ref":"stripe.Stripe.Source.P24"}, - "receiver": {"ref":"stripe.Stripe.Source.Receiver"}, - "redirect": {"ref":"stripe.Stripe.Source.Redirect"}, - "sepa_credit_transfer": {"ref":"stripe.Stripe.Source.SepaCreditTransfer"}, - "sepa_debit": {"ref":"stripe.Stripe.Source.SepaDebit"}, - "sofort": {"ref":"stripe.Stripe.Source.Sofort"}, - "source_order": {"ref":"stripe.Stripe.Source.SourceOrder"}, - "statement_descriptor": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "status": {"dataType":"string","required":true}, - "three_d_secure": {"ref":"stripe.Stripe.Source.ThreeDSecure"}, - "type": {"ref":"stripe.Stripe.Source.Type","required":true}, - "usage": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "wechat": {"ref":"stripe.Stripe.Source.Wechat"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.CustomerSource": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Account"},{"ref":"stripe.Stripe.BankAccount"},{"ref":"stripe.Stripe.Card"},{"ref":"stripe.Stripe.Source"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Coupon.AppliesTo": { + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.RevolutPay": { "dataType": "refObject", "properties": { - "products": {"dataType":"array","array":{"dataType":"string"},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Coupon.CurrencyOptions": { + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.SepaDebit": { "dataType": "refObject", "properties": { - "amount_off": {"dataType":"double","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Coupon.Duration": { + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Sofort.PreferredLanguage": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["forever"]},{"dataType":"enum","enums":["once"]},{"dataType":"enum","enums":["repeating"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["de"]},{"dataType":"enum","enums":["en"]},{"dataType":"enum","enums":["fr"]},{"dataType":"enum","enums":["nl"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Coupon": { + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Sofort": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["coupon"],"required":true}, - "amount_off": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "applies_to": {"ref":"stripe.Stripe.Coupon.AppliesTo"}, - "created": {"dataType":"double","required":true}, - "currency": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "currency_options": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"stripe.Stripe.Coupon.CurrencyOptions"}}, - "deleted": {"dataType":"void"}, - "duration": {"ref":"stripe.Stripe.Coupon.Duration","required":true}, - "duration_in_months": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "livemode": {"dataType":"boolean","required":true}, - "max_redemptions": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "metadata": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Metadata"},{"dataType":"enum","enums":[null]}],"required":true}, - "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "percent_off": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "redeem_by": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "times_redeemed": {"dataType":"double","required":true}, - "valid": {"dataType":"boolean","required":true}, + "bank_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "bic": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "generated_sepa_debit": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentMethod"},{"dataType":"enum","enums":[null]}],"required":true}, + "generated_sepa_debit_mandate": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Mandate"},{"dataType":"enum","enums":[null]}],"required":true}, + "iban_last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "preferred_language": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Sofort.PreferredLanguage"},{"dataType":"enum","enums":[null]}],"required":true}, + "verified_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PromotionCode.Restrictions.CurrencyOptions": { + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.UsBankAccount": { "dataType": "refObject", "properties": { - "minimum_amount": {"dataType":"double","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PromotionCode.Restrictions": { + "stripe.Stripe.SetupAttempt.PaymentMethodDetails": { "dataType": "refObject", "properties": { - "currency_options": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"stripe.Stripe.PromotionCode.Restrictions.CurrencyOptions"}}, - "first_time_transaction": {"dataType":"boolean","required":true}, - "minimum_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "minimum_amount_currency": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "acss_debit": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.AcssDebit"}, + "amazon_pay": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.AmazonPay"}, + "au_becs_debit": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.AuBecsDebit"}, + "bacs_debit": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.BacsDebit"}, + "bancontact": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Bancontact"}, + "boleto": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Boleto"}, + "card": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card"}, + "card_present": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.CardPresent"}, + "cashapp": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Cashapp"}, + "ideal": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Ideal"}, + "kakao_pay": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.KakaoPay"}, + "klarna": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Klarna"}, + "kr_card": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.KrCard"}, + "link": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Link"}, + "paypal": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Paypal"}, + "revolut_pay": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.RevolutPay"}, + "sepa_debit": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.SepaDebit"}, + "sofort": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Sofort"}, + "type": {"dataType":"string","required":true}, + "us_bank_account": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.UsBankAccount"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PromotionCode": { + "stripe.Stripe.SetupAttempt.SetupError.Code": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account_closed"]},{"dataType":"enum","enums":["account_country_invalid_address"]},{"dataType":"enum","enums":["account_error_country_change_requires_additional_steps"]},{"dataType":"enum","enums":["account_information_mismatch"]},{"dataType":"enum","enums":["account_invalid"]},{"dataType":"enum","enums":["account_number_invalid"]},{"dataType":"enum","enums":["acss_debit_session_incomplete"]},{"dataType":"enum","enums":["alipay_upgrade_required"]},{"dataType":"enum","enums":["amount_too_large"]},{"dataType":"enum","enums":["amount_too_small"]},{"dataType":"enum","enums":["api_key_expired"]},{"dataType":"enum","enums":["application_fees_not_allowed"]},{"dataType":"enum","enums":["authentication_required"]},{"dataType":"enum","enums":["balance_insufficient"]},{"dataType":"enum","enums":["balance_invalid_parameter"]},{"dataType":"enum","enums":["bank_account_bad_routing_numbers"]},{"dataType":"enum","enums":["bank_account_declined"]},{"dataType":"enum","enums":["bank_account_exists"]},{"dataType":"enum","enums":["bank_account_restricted"]},{"dataType":"enum","enums":["bank_account_unusable"]},{"dataType":"enum","enums":["bank_account_unverified"]},{"dataType":"enum","enums":["bank_account_verification_failed"]},{"dataType":"enum","enums":["billing_invalid_mandate"]},{"dataType":"enum","enums":["bitcoin_upgrade_required"]},{"dataType":"enum","enums":["capture_charge_authorization_expired"]},{"dataType":"enum","enums":["capture_unauthorized_payment"]},{"dataType":"enum","enums":["card_decline_rate_limit_exceeded"]},{"dataType":"enum","enums":["card_declined"]},{"dataType":"enum","enums":["cardholder_phone_number_required"]},{"dataType":"enum","enums":["charge_already_captured"]},{"dataType":"enum","enums":["charge_already_refunded"]},{"dataType":"enum","enums":["charge_disputed"]},{"dataType":"enum","enums":["charge_exceeds_source_limit"]},{"dataType":"enum","enums":["charge_exceeds_transaction_limit"]},{"dataType":"enum","enums":["charge_expired_for_capture"]},{"dataType":"enum","enums":["charge_invalid_parameter"]},{"dataType":"enum","enums":["charge_not_refundable"]},{"dataType":"enum","enums":["clearing_code_unsupported"]},{"dataType":"enum","enums":["country_code_invalid"]},{"dataType":"enum","enums":["country_unsupported"]},{"dataType":"enum","enums":["coupon_expired"]},{"dataType":"enum","enums":["customer_max_payment_methods"]},{"dataType":"enum","enums":["customer_max_subscriptions"]},{"dataType":"enum","enums":["customer_tax_location_invalid"]},{"dataType":"enum","enums":["debit_not_authorized"]},{"dataType":"enum","enums":["email_invalid"]},{"dataType":"enum","enums":["expired_card"]},{"dataType":"enum","enums":["financial_connections_account_inactive"]},{"dataType":"enum","enums":["financial_connections_no_successful_transaction_refresh"]},{"dataType":"enum","enums":["forwarding_api_inactive"]},{"dataType":"enum","enums":["forwarding_api_invalid_parameter"]},{"dataType":"enum","enums":["forwarding_api_upstream_connection_error"]},{"dataType":"enum","enums":["forwarding_api_upstream_connection_timeout"]},{"dataType":"enum","enums":["idempotency_key_in_use"]},{"dataType":"enum","enums":["incorrect_address"]},{"dataType":"enum","enums":["incorrect_cvc"]},{"dataType":"enum","enums":["incorrect_number"]},{"dataType":"enum","enums":["incorrect_zip"]},{"dataType":"enum","enums":["instant_payouts_config_disabled"]},{"dataType":"enum","enums":["instant_payouts_currency_disabled"]},{"dataType":"enum","enums":["instant_payouts_limit_exceeded"]},{"dataType":"enum","enums":["instant_payouts_unsupported"]},{"dataType":"enum","enums":["insufficient_funds"]},{"dataType":"enum","enums":["intent_invalid_state"]},{"dataType":"enum","enums":["intent_verification_method_missing"]},{"dataType":"enum","enums":["invalid_card_type"]},{"dataType":"enum","enums":["invalid_characters"]},{"dataType":"enum","enums":["invalid_charge_amount"]},{"dataType":"enum","enums":["invalid_cvc"]},{"dataType":"enum","enums":["invalid_expiry_month"]},{"dataType":"enum","enums":["invalid_expiry_year"]},{"dataType":"enum","enums":["invalid_mandate_reference_prefix_format"]},{"dataType":"enum","enums":["invalid_number"]},{"dataType":"enum","enums":["invalid_source_usage"]},{"dataType":"enum","enums":["invalid_tax_location"]},{"dataType":"enum","enums":["invoice_no_customer_line_items"]},{"dataType":"enum","enums":["invoice_no_payment_method_types"]},{"dataType":"enum","enums":["invoice_no_subscription_line_items"]},{"dataType":"enum","enums":["invoice_not_editable"]},{"dataType":"enum","enums":["invoice_on_behalf_of_not_editable"]},{"dataType":"enum","enums":["invoice_payment_intent_requires_action"]},{"dataType":"enum","enums":["invoice_upcoming_none"]},{"dataType":"enum","enums":["livemode_mismatch"]},{"dataType":"enum","enums":["lock_timeout"]},{"dataType":"enum","enums":["missing"]},{"dataType":"enum","enums":["no_account"]},{"dataType":"enum","enums":["not_allowed_on_standard_account"]},{"dataType":"enum","enums":["out_of_inventory"]},{"dataType":"enum","enums":["ownership_declaration_not_allowed"]},{"dataType":"enum","enums":["parameter_invalid_empty"]},{"dataType":"enum","enums":["parameter_invalid_integer"]},{"dataType":"enum","enums":["parameter_invalid_string_blank"]},{"dataType":"enum","enums":["parameter_invalid_string_empty"]},{"dataType":"enum","enums":["parameter_missing"]},{"dataType":"enum","enums":["parameter_unknown"]},{"dataType":"enum","enums":["parameters_exclusive"]},{"dataType":"enum","enums":["payment_intent_action_required"]},{"dataType":"enum","enums":["payment_intent_authentication_failure"]},{"dataType":"enum","enums":["payment_intent_incompatible_payment_method"]},{"dataType":"enum","enums":["payment_intent_invalid_parameter"]},{"dataType":"enum","enums":["payment_intent_konbini_rejected_confirmation_number"]},{"dataType":"enum","enums":["payment_intent_mandate_invalid"]},{"dataType":"enum","enums":["payment_intent_payment_attempt_expired"]},{"dataType":"enum","enums":["payment_intent_payment_attempt_failed"]},{"dataType":"enum","enums":["payment_intent_unexpected_state"]},{"dataType":"enum","enums":["payment_method_bank_account_already_verified"]},{"dataType":"enum","enums":["payment_method_bank_account_blocked"]},{"dataType":"enum","enums":["payment_method_billing_details_address_missing"]},{"dataType":"enum","enums":["payment_method_configuration_failures"]},{"dataType":"enum","enums":["payment_method_currency_mismatch"]},{"dataType":"enum","enums":["payment_method_customer_decline"]},{"dataType":"enum","enums":["payment_method_invalid_parameter"]},{"dataType":"enum","enums":["payment_method_invalid_parameter_testmode"]},{"dataType":"enum","enums":["payment_method_microdeposit_failed"]},{"dataType":"enum","enums":["payment_method_microdeposit_verification_amounts_invalid"]},{"dataType":"enum","enums":["payment_method_microdeposit_verification_amounts_mismatch"]},{"dataType":"enum","enums":["payment_method_microdeposit_verification_attempts_exceeded"]},{"dataType":"enum","enums":["payment_method_microdeposit_verification_descriptor_code_mismatch"]},{"dataType":"enum","enums":["payment_method_microdeposit_verification_timeout"]},{"dataType":"enum","enums":["payment_method_not_available"]},{"dataType":"enum","enums":["payment_method_provider_decline"]},{"dataType":"enum","enums":["payment_method_provider_timeout"]},{"dataType":"enum","enums":["payment_method_unactivated"]},{"dataType":"enum","enums":["payment_method_unexpected_state"]},{"dataType":"enum","enums":["payment_method_unsupported_type"]},{"dataType":"enum","enums":["payout_reconciliation_not_ready"]},{"dataType":"enum","enums":["payouts_limit_exceeded"]},{"dataType":"enum","enums":["payouts_not_allowed"]},{"dataType":"enum","enums":["platform_account_required"]},{"dataType":"enum","enums":["platform_api_key_expired"]},{"dataType":"enum","enums":["postal_code_invalid"]},{"dataType":"enum","enums":["processing_error"]},{"dataType":"enum","enums":["product_inactive"]},{"dataType":"enum","enums":["progressive_onboarding_limit_exceeded"]},{"dataType":"enum","enums":["rate_limit"]},{"dataType":"enum","enums":["refer_to_customer"]},{"dataType":"enum","enums":["refund_disputed_payment"]},{"dataType":"enum","enums":["resource_already_exists"]},{"dataType":"enum","enums":["resource_missing"]},{"dataType":"enum","enums":["return_intent_already_processed"]},{"dataType":"enum","enums":["routing_number_invalid"]},{"dataType":"enum","enums":["secret_key_required"]},{"dataType":"enum","enums":["sepa_unsupported_account"]},{"dataType":"enum","enums":["setup_attempt_failed"]},{"dataType":"enum","enums":["setup_intent_authentication_failure"]},{"dataType":"enum","enums":["setup_intent_invalid_parameter"]},{"dataType":"enum","enums":["setup_intent_mandate_invalid"]},{"dataType":"enum","enums":["setup_intent_setup_attempt_expired"]},{"dataType":"enum","enums":["setup_intent_unexpected_state"]},{"dataType":"enum","enums":["shipping_address_invalid"]},{"dataType":"enum","enums":["shipping_calculation_failed"]},{"dataType":"enum","enums":["sku_inactive"]},{"dataType":"enum","enums":["state_unsupported"]},{"dataType":"enum","enums":["status_transition_invalid"]},{"dataType":"enum","enums":["stripe_tax_inactive"]},{"dataType":"enum","enums":["tax_id_invalid"]},{"dataType":"enum","enums":["taxes_calculation_failed"]},{"dataType":"enum","enums":["terminal_location_country_unsupported"]},{"dataType":"enum","enums":["terminal_reader_busy"]},{"dataType":"enum","enums":["terminal_reader_hardware_fault"]},{"dataType":"enum","enums":["terminal_reader_invalid_location_for_activation"]},{"dataType":"enum","enums":["terminal_reader_invalid_location_for_payment"]},{"dataType":"enum","enums":["terminal_reader_offline"]},{"dataType":"enum","enums":["terminal_reader_timeout"]},{"dataType":"enum","enums":["testmode_charges_only"]},{"dataType":"enum","enums":["tls_version_unsupported"]},{"dataType":"enum","enums":["token_already_used"]},{"dataType":"enum","enums":["token_card_network_invalid"]},{"dataType":"enum","enums":["token_in_use"]},{"dataType":"enum","enums":["transfer_source_balance_parameters_mismatch"]},{"dataType":"enum","enums":["transfers_not_allowed"]},{"dataType":"enum","enums":["url_invalid"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.PaymentIntent.AmountDetails.Tip": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["promotion_code"],"required":true}, - "active": {"dataType":"boolean","required":true}, - "code": {"dataType":"string","required":true}, - "coupon": {"ref":"stripe.Stripe.Coupon","required":true}, - "created": {"dataType":"double","required":true}, - "customer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Customer"},{"ref":"stripe.Stripe.DeletedCustomer"},{"dataType":"enum","enums":[null]}],"required":true}, - "expires_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "livemode": {"dataType":"boolean","required":true}, - "max_redemptions": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "metadata": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Metadata"},{"dataType":"enum","enums":[null]}],"required":true}, - "restrictions": {"ref":"stripe.Stripe.PromotionCode.Restrictions","required":true}, - "times_redeemed": {"dataType":"double","required":true}, + "amount": {"dataType":"double"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Discount": { + "stripe.Stripe.PaymentIntent.AmountDetails": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["discount"],"required":true}, - "checkout_session": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "coupon": {"ref":"stripe.Stripe.Coupon","required":true}, - "customer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Customer"},{"ref":"stripe.Stripe.DeletedCustomer"},{"dataType":"enum","enums":[null]}],"required":true}, - "deleted": {"dataType":"void"}, - "end": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "invoice": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "invoice_item": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "promotion_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PromotionCode"},{"dataType":"enum","enums":[null]}],"required":true}, - "start": {"dataType":"double","required":true}, - "subscription": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "subscription_item": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "tip": {"ref":"stripe.Stripe.PaymentIntent.AmountDetails.Tip"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Customer.InvoiceSettings.CustomField": { + "stripe.Stripe.PaymentIntent.AutomaticPaymentMethods.AllowRedirects": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["always"]},{"dataType":"enum","enums":["never"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.PaymentIntent.AutomaticPaymentMethods": { "dataType": "refObject", "properties": { - "name": {"dataType":"string","required":true}, - "value": {"dataType":"string","required":true}, + "allow_redirects": {"ref":"stripe.Stripe.PaymentIntent.AutomaticPaymentMethods.AllowRedirects"}, + "enabled": {"dataType":"boolean","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.AcssDebit": { + "stripe.Stripe.PaymentIntent.CancellationReason": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["abandoned"]},{"dataType":"enum","enums":["automatic"]},{"dataType":"enum","enums":["duplicate"]},{"dataType":"enum","enums":["failed_invoice"]},{"dataType":"enum","enums":["fraudulent"]},{"dataType":"enum","enums":["requested_by_customer"]},{"dataType":"enum","enums":["void_invoice"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.PaymentIntent.CaptureMethod": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["automatic"]},{"dataType":"enum","enums":["automatic_async"]},{"dataType":"enum","enums":["manual"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.PaymentIntent.ConfirmationMethod": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["automatic"]},{"dataType":"enum","enums":["manual"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.TaxId.Owner.Type": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account"]},{"dataType":"enum","enums":["application"]},{"dataType":"enum","enums":["customer"]},{"dataType":"enum","enums":["self"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.TaxId.Owner": { "dataType": "refObject", "properties": { - "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "institution_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "transit_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "account": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}]}, + "application": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Application"}]}, + "customer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Customer"}]}, + "type": {"ref":"stripe.Stripe.TaxId.Owner.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Affirm": { + "stripe.Stripe.TaxId.Type": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["ad_nrt"]},{"dataType":"enum","enums":["ae_trn"]},{"dataType":"enum","enums":["al_tin"]},{"dataType":"enum","enums":["am_tin"]},{"dataType":"enum","enums":["ao_tin"]},{"dataType":"enum","enums":["ar_cuit"]},{"dataType":"enum","enums":["au_abn"]},{"dataType":"enum","enums":["au_arn"]},{"dataType":"enum","enums":["ba_tin"]},{"dataType":"enum","enums":["bb_tin"]},{"dataType":"enum","enums":["bg_uic"]},{"dataType":"enum","enums":["bh_vat"]},{"dataType":"enum","enums":["bo_tin"]},{"dataType":"enum","enums":["br_cnpj"]},{"dataType":"enum","enums":["br_cpf"]},{"dataType":"enum","enums":["bs_tin"]},{"dataType":"enum","enums":["by_tin"]},{"dataType":"enum","enums":["ca_bn"]},{"dataType":"enum","enums":["ca_gst_hst"]},{"dataType":"enum","enums":["ca_pst_bc"]},{"dataType":"enum","enums":["ca_pst_mb"]},{"dataType":"enum","enums":["ca_pst_sk"]},{"dataType":"enum","enums":["ca_qst"]},{"dataType":"enum","enums":["cd_nif"]},{"dataType":"enum","enums":["ch_uid"]},{"dataType":"enum","enums":["ch_vat"]},{"dataType":"enum","enums":["cl_tin"]},{"dataType":"enum","enums":["cn_tin"]},{"dataType":"enum","enums":["co_nit"]},{"dataType":"enum","enums":["cr_tin"]},{"dataType":"enum","enums":["de_stn"]},{"dataType":"enum","enums":["do_rcn"]},{"dataType":"enum","enums":["ec_ruc"]},{"dataType":"enum","enums":["eg_tin"]},{"dataType":"enum","enums":["es_cif"]},{"dataType":"enum","enums":["eu_oss_vat"]},{"dataType":"enum","enums":["eu_vat"]},{"dataType":"enum","enums":["gb_vat"]},{"dataType":"enum","enums":["ge_vat"]},{"dataType":"enum","enums":["gn_nif"]},{"dataType":"enum","enums":["hk_br"]},{"dataType":"enum","enums":["hr_oib"]},{"dataType":"enum","enums":["hu_tin"]},{"dataType":"enum","enums":["id_npwp"]},{"dataType":"enum","enums":["il_vat"]},{"dataType":"enum","enums":["in_gst"]},{"dataType":"enum","enums":["is_vat"]},{"dataType":"enum","enums":["jp_cn"]},{"dataType":"enum","enums":["jp_rn"]},{"dataType":"enum","enums":["jp_trn"]},{"dataType":"enum","enums":["ke_pin"]},{"dataType":"enum","enums":["kh_tin"]},{"dataType":"enum","enums":["kr_brn"]},{"dataType":"enum","enums":["kz_bin"]},{"dataType":"enum","enums":["li_uid"]},{"dataType":"enum","enums":["li_vat"]},{"dataType":"enum","enums":["ma_vat"]},{"dataType":"enum","enums":["md_vat"]},{"dataType":"enum","enums":["me_pib"]},{"dataType":"enum","enums":["mk_vat"]},{"dataType":"enum","enums":["mr_nif"]},{"dataType":"enum","enums":["mx_rfc"]},{"dataType":"enum","enums":["my_frp"]},{"dataType":"enum","enums":["my_itn"]},{"dataType":"enum","enums":["my_sst"]},{"dataType":"enum","enums":["ng_tin"]},{"dataType":"enum","enums":["no_vat"]},{"dataType":"enum","enums":["no_voec"]},{"dataType":"enum","enums":["np_pan"]},{"dataType":"enum","enums":["nz_gst"]},{"dataType":"enum","enums":["om_vat"]},{"dataType":"enum","enums":["pe_ruc"]},{"dataType":"enum","enums":["ph_tin"]},{"dataType":"enum","enums":["ro_tin"]},{"dataType":"enum","enums":["rs_pib"]},{"dataType":"enum","enums":["ru_inn"]},{"dataType":"enum","enums":["ru_kpp"]},{"dataType":"enum","enums":["sa_vat"]},{"dataType":"enum","enums":["sg_gst"]},{"dataType":"enum","enums":["sg_uen"]},{"dataType":"enum","enums":["si_tin"]},{"dataType":"enum","enums":["sn_ninea"]},{"dataType":"enum","enums":["sr_fin"]},{"dataType":"enum","enums":["sv_nit"]},{"dataType":"enum","enums":["th_vat"]},{"dataType":"enum","enums":["tj_tin"]},{"dataType":"enum","enums":["tr_tin"]},{"dataType":"enum","enums":["tw_vat"]},{"dataType":"enum","enums":["tz_vat"]},{"dataType":"enum","enums":["ua_vat"]},{"dataType":"enum","enums":["ug_tin"]},{"dataType":"enum","enums":["unknown"]},{"dataType":"enum","enums":["us_ein"]},{"dataType":"enum","enums":["uy_ruc"]},{"dataType":"enum","enums":["uz_tin"]},{"dataType":"enum","enums":["uz_vat"]},{"dataType":"enum","enums":["ve_rif"]},{"dataType":"enum","enums":["vn_tin"]},{"dataType":"enum","enums":["za_vat"]},{"dataType":"enum","enums":["zm_tin"]},{"dataType":"enum","enums":["zw_tin"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.TaxId.Verification.Status": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["pending"]},{"dataType":"enum","enums":["unavailable"]},{"dataType":"enum","enums":["unverified"]},{"dataType":"enum","enums":["verified"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.TaxId.Verification": { "dataType": "refObject", "properties": { + "status": {"ref":"stripe.Stripe.TaxId.Verification.Status","required":true}, + "verified_address": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "verified_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.AfterpayClearpay": { + "stripe.Stripe.TaxId": { "dataType": "refObject", "properties": { + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["tax_id"],"required":true}, + "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "created": {"dataType":"double","required":true}, + "customer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Customer"},{"dataType":"enum","enums":[null]}],"required":true}, + "deleted": {"dataType":"void"}, + "livemode": {"dataType":"boolean","required":true}, + "owner": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.TaxId.Owner"},{"dataType":"enum","enums":[null]}],"required":true}, + "type": {"ref":"stripe.Stripe.TaxId.Type","required":true}, + "value": {"dataType":"string","required":true}, + "verification": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.TaxId.Verification"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Alipay": { + "stripe.Stripe.DeletedTaxId": { "dataType": "refObject", "properties": { + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["tax_id"],"required":true}, + "deleted": {"dataType":"enum","enums":[true],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.AllowRedisplay": { + "stripe.Stripe.Invoice.AutomaticTax.DisabledReason": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["always"]},{"dataType":"enum","enums":["limited"]},{"dataType":"enum","enums":["unspecified"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["finalization_requires_location_inputs"]},{"dataType":"enum","enums":["finalization_system_error"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Alma": { + "stripe.Stripe.Invoice.AutomaticTax.Liability.Type": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account"]},{"dataType":"enum","enums":["self"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Invoice.AutomaticTax.Liability": { "dataType": "refObject", "properties": { + "account": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}]}, + "type": {"ref":"stripe.Stripe.Invoice.AutomaticTax.Liability.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.AmazonPay": { + "stripe.Stripe.Invoice.AutomaticTax.Status": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["complete"]},{"dataType":"enum","enums":["failed"]},{"dataType":"enum","enums":["requires_location_inputs"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Invoice.AutomaticTax": { "dataType": "refObject", "properties": { + "disabled_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.AutomaticTax.DisabledReason"},{"dataType":"enum","enums":[null]}],"required":true}, + "enabled": {"dataType":"boolean","required":true}, + "liability": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.AutomaticTax.Liability"},{"dataType":"enum","enums":[null]}],"required":true}, + "status": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.AutomaticTax.Status"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.AuBecsDebit": { + "stripe.Stripe.Invoice.BillingReason": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["automatic_pending_invoice_item_invoice"]},{"dataType":"enum","enums":["manual"]},{"dataType":"enum","enums":["quote_accept"]},{"dataType":"enum","enums":["subscription"]},{"dataType":"enum","enums":["subscription_create"]},{"dataType":"enum","enums":["subscription_cycle"]},{"dataType":"enum","enums":["subscription_threshold"]},{"dataType":"enum","enums":["subscription_update"]},{"dataType":"enum","enums":["upcoming"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.BalanceTransaction.FeeDetail": { "dataType": "refObject", "properties": { - "bsb_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "amount": {"dataType":"double","required":true}, + "application": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "currency": {"dataType":"string","required":true}, + "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "type": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.BacsDebit": { + "stripe.Stripe.ApplicationFee": { "dataType": "refObject", "properties": { - "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "sort_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["application_fee"],"required":true}, + "account": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}],"required":true}, + "amount": {"dataType":"double","required":true}, + "amount_refunded": {"dataType":"double","required":true}, + "application": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Application"}],"required":true}, + "balance_transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.BalanceTransaction"},{"dataType":"enum","enums":[null]}],"required":true}, + "charge": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Charge"}],"required":true}, + "created": {"dataType":"double","required":true}, + "currency": {"dataType":"string","required":true}, + "fee_source": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.ApplicationFee.FeeSource"},{"dataType":"enum","enums":[null]}],"required":true}, + "livemode": {"dataType":"boolean","required":true}, + "originating_transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Charge"},{"dataType":"enum","enums":[null]}],"required":true}, + "refunded": {"dataType":"boolean","required":true}, + "refunds": {"ref":"stripe.Stripe.ApiList_stripe.Stripe.FeeRefund_","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Bancontact": { + "stripe.Stripe.Charge": { "dataType": "refObject", "properties": { + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["charge"],"required":true}, + "amount": {"dataType":"double","required":true}, + "amount_captured": {"dataType":"double","required":true}, + "amount_refunded": {"dataType":"double","required":true}, + "application": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Application"},{"dataType":"enum","enums":[null]}],"required":true}, + "application_fee": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.ApplicationFee"},{"dataType":"enum","enums":[null]}],"required":true}, + "application_fee_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "authorization_code": {"dataType":"string"}, + "balance_transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.BalanceTransaction"},{"dataType":"enum","enums":[null]}],"required":true}, + "billing_details": {"ref":"stripe.Stripe.Charge.BillingDetails","required":true}, + "calculated_statement_descriptor": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "captured": {"dataType":"boolean","required":true}, + "created": {"dataType":"double","required":true}, + "currency": {"dataType":"string","required":true}, + "customer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Customer"},{"ref":"stripe.Stripe.DeletedCustomer"},{"dataType":"enum","enums":[null]}],"required":true}, + "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "disputed": {"dataType":"boolean","required":true}, + "failure_balance_transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.BalanceTransaction"},{"dataType":"enum","enums":[null]}],"required":true}, + "failure_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "failure_message": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "fraud_details": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.FraudDetails"},{"dataType":"enum","enums":[null]}],"required":true}, + "invoice": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Invoice"},{"dataType":"enum","enums":[null]}],"required":true}, + "level3": {"ref":"stripe.Stripe.Charge.Level3"}, + "livemode": {"dataType":"boolean","required":true}, + "metadata": {"ref":"stripe.Stripe.Metadata","required":true}, + "on_behalf_of": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"},{"dataType":"enum","enums":[null]}],"required":true}, + "outcome": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.Outcome"},{"dataType":"enum","enums":[null]}],"required":true}, + "paid": {"dataType":"boolean","required":true}, + "payment_intent": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentIntent"},{"dataType":"enum","enums":[null]}],"required":true}, + "payment_method": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "payment_method_details": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails"},{"dataType":"enum","enums":[null]}],"required":true}, + "radar_options": {"ref":"stripe.Stripe.Charge.RadarOptions"}, + "receipt_email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "receipt_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "receipt_url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "refunded": {"dataType":"boolean","required":true}, + "refunds": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.ApiList_stripe.Stripe.Refund_"},{"dataType":"enum","enums":[null]}]}, + "review": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Review"},{"dataType":"enum","enums":[null]}],"required":true}, + "shipping": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.Shipping"},{"dataType":"enum","enums":[null]}],"required":true}, + "source": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.CustomerSource"},{"dataType":"enum","enums":[null]}],"required":true}, + "source_transfer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Transfer"},{"dataType":"enum","enums":[null]}],"required":true}, + "statement_descriptor": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "statement_descriptor_suffix": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "status": {"ref":"stripe.Stripe.Charge.Status","required":true}, + "transfer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Transfer"}]}, + "transfer_data": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.TransferData"},{"dataType":"enum","enums":[null]}],"required":true}, + "transfer_group": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.BillingDetails": { + "stripe.Stripe.ConnectCollectionTransfer": { "dataType": "refObject", "properties": { - "address": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Address"},{"dataType":"enum","enums":[null]}],"required":true}, - "email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "phone": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["connect_collection_transfer"],"required":true}, + "amount": {"dataType":"double","required":true}, + "currency": {"dataType":"string","required":true}, + "destination": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}],"required":true}, + "livemode": {"dataType":"boolean","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Blik": { + "stripe.Stripe.BalanceTransaction": { "dataType": "refObject", "properties": { + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["balance_transaction"],"required":true}, + "amount": {"dataType":"double","required":true}, + "available_on": {"dataType":"double","required":true}, + "created": {"dataType":"double","required":true}, + "currency": {"dataType":"string","required":true}, + "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "exchange_rate": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "fee": {"dataType":"double","required":true}, + "fee_details": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.BalanceTransaction.FeeDetail"},"required":true}, + "net": {"dataType":"double","required":true}, + "reporting_category": {"dataType":"string","required":true}, + "source": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.BalanceTransactionSource"},{"dataType":"enum","enums":[null]}],"required":true}, + "status": {"dataType":"string","required":true}, + "type": {"ref":"stripe.Stripe.BalanceTransaction.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Boleto": { + "stripe.Stripe.CustomerCashBalanceTransaction": { "dataType": "refObject", "properties": { - "tax_id": {"dataType":"string","required":true}, + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["customer_cash_balance_transaction"],"required":true}, + "adjusted_for_overdraft": {"ref":"stripe.Stripe.CustomerCashBalanceTransaction.AdjustedForOverdraft"}, + "applied_to_payment": {"ref":"stripe.Stripe.CustomerCashBalanceTransaction.AppliedToPayment"}, + "created": {"dataType":"double","required":true}, + "currency": {"dataType":"string","required":true}, + "customer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Customer"}],"required":true}, + "ending_balance": {"dataType":"double","required":true}, + "funded": {"ref":"stripe.Stripe.CustomerCashBalanceTransaction.Funded"}, + "livemode": {"dataType":"boolean","required":true}, + "net_amount": {"dataType":"double","required":true}, + "refunded_from_payment": {"ref":"stripe.Stripe.CustomerCashBalanceTransaction.RefundedFromPayment"}, + "transferred_to_balance": {"ref":"stripe.Stripe.CustomerCashBalanceTransaction.TransferredToBalance"}, + "type": {"ref":"stripe.Stripe.CustomerCashBalanceTransaction.Type","required":true}, + "unapplied_from_payment": {"ref":"stripe.Stripe.CustomerCashBalanceTransaction.UnappliedFromPayment"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Card.Checks": { + "stripe.Stripe.CustomerCashBalanceTransaction.AdjustedForOverdraft": { "dataType": "refObject", "properties": { - "address_line1_check": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "address_postal_code_check": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "cvc_check": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "balance_transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.BalanceTransaction"}],"required":true}, + "linked_transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.CustomerCashBalanceTransaction"}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Offline": { + "stripe.Stripe.PaymentIntent": { "dataType": "refObject", "properties": { - "stored_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["deferred"]},{"dataType":"enum","enums":[null]}],"required":true}, + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["payment_intent"],"required":true}, + "amount": {"dataType":"double","required":true}, + "amount_capturable": {"dataType":"double","required":true}, + "amount_details": {"ref":"stripe.Stripe.PaymentIntent.AmountDetails"}, + "amount_received": {"dataType":"double","required":true}, + "application": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Application"},{"dataType":"enum","enums":[null]}],"required":true}, + "application_fee_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "automatic_payment_methods": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.AutomaticPaymentMethods"},{"dataType":"enum","enums":[null]}],"required":true}, + "canceled_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "cancellation_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.CancellationReason"},{"dataType":"enum","enums":[null]}],"required":true}, + "capture_method": {"ref":"stripe.Stripe.PaymentIntent.CaptureMethod","required":true}, + "client_secret": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "confirmation_method": {"ref":"stripe.Stripe.PaymentIntent.ConfirmationMethod","required":true}, + "created": {"dataType":"double","required":true}, + "currency": {"dataType":"string","required":true}, + "customer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Customer"},{"ref":"stripe.Stripe.DeletedCustomer"},{"dataType":"enum","enums":[null]}],"required":true}, + "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "invoice": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Invoice"},{"dataType":"enum","enums":[null]}],"required":true}, + "last_payment_error": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.LastPaymentError"},{"dataType":"enum","enums":[null]}],"required":true}, + "latest_charge": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Charge"},{"dataType":"enum","enums":[null]}],"required":true}, + "livemode": {"dataType":"boolean","required":true}, + "metadata": {"ref":"stripe.Stripe.Metadata","required":true}, + "next_action": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.NextAction"},{"dataType":"enum","enums":[null]}],"required":true}, + "on_behalf_of": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"},{"dataType":"enum","enums":[null]}],"required":true}, + "payment_method": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentMethod"},{"dataType":"enum","enums":[null]}],"required":true}, + "payment_method_configuration_details": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.PaymentMethodConfigurationDetails"},{"dataType":"enum","enums":[null]}],"required":true}, + "payment_method_options": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions"},{"dataType":"enum","enums":[null]}],"required":true}, + "payment_method_types": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "processing": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.Processing"},{"dataType":"enum","enums":[null]}],"required":true}, + "receipt_email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "review": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Review"},{"dataType":"enum","enums":[null]}],"required":true}, + "setup_future_usage": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.SetupFutureUsage"},{"dataType":"enum","enums":[null]}],"required":true}, + "shipping": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.Shipping"},{"dataType":"enum","enums":[null]}],"required":true}, + "source": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.CustomerSource"},{"ref":"stripe.Stripe.DeletedCustomerSource"},{"dataType":"enum","enums":[null]}],"required":true}, + "statement_descriptor": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "statement_descriptor_suffix": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "status": {"ref":"stripe.Stripe.PaymentIntent.Status","required":true}, + "transfer_data": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.TransferData"},{"dataType":"enum","enums":[null]}],"required":true}, + "transfer_group": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.ReadMethod": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["contact_emv"]},{"dataType":"enum","enums":["contactless_emv"]},{"dataType":"enum","enums":["contactless_magstripe_mode"]},{"dataType":"enum","enums":["magnetic_stripe_fallback"]},{"dataType":"enum","enums":["magnetic_stripe_track2"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Receipt.AccountType": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["checking"]},{"dataType":"enum","enums":["credit"]},{"dataType":"enum","enums":["prepaid"]},{"dataType":"enum","enums":["unknown"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Receipt": { + "stripe.Stripe.CustomerCashBalanceTransaction.AppliedToPayment": { "dataType": "refObject", "properties": { - "account_type": {"ref":"stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Receipt.AccountType"}, - "application_cryptogram": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "application_preferred_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "authorization_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "authorization_response_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "cardholder_verification_method": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "dedicated_file_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "terminal_verification_results": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "transaction_status_information": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "payment_intent": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentIntent"}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Wallet.Type": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["apple_pay"]},{"dataType":"enum","enums":["google_pay"]},{"dataType":"enum","enums":["samsung_pay"]},{"dataType":"enum","enums":["unknown"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Wallet": { + "stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.EuBankTransfer": { "dataType": "refObject", "properties": { - "type": {"ref":"stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Wallet.Type","required":true}, + "bic": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "iban_last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "sender_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent": { + "stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.GbBankTransfer": { "dataType": "refObject", "properties": { - "amount_authorized": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "brand": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "brand_product": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "capture_before": {"dataType":"double"}, - "cardholder_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "emv_auth_data": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "exp_month": {"dataType":"double","required":true}, - "exp_year": {"dataType":"double","required":true}, - "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "funding": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "generated_card": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "iin": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "incremental_authorization_supported": {"dataType":"boolean","required":true}, - "issuer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "network": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "network_transaction_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "offline": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Offline"},{"dataType":"enum","enums":[null]}],"required":true}, - "overcapture_supported": {"dataType":"boolean","required":true}, - "preferred_locales": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, - "read_method": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.ReadMethod"},{"dataType":"enum","enums":[null]}],"required":true}, - "receipt": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Receipt"},{"dataType":"enum","enums":[null]}],"required":true}, - "wallet": {"ref":"stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Wallet"}, + "account_number_last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "sender_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "sort_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails": { + "stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.JpBankTransfer": { "dataType": "refObject", "properties": { - "card_present": {"ref":"stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent"}, - "type": {"dataType":"string","required":true}, + "sender_bank": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "sender_branch": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "sender_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt.FlowDirection": { + "stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.Type": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["inbound"]},{"dataType":"enum","enums":["outbound"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["eu_bank_transfer"]},{"dataType":"enum","enums":["gb_bank_transfer"]},{"dataType":"enum","enums":["jp_bank_transfer"]},{"dataType":"enum","enums":["mx_bank_transfer"]},{"dataType":"enum","enums":["us_bank_transfer"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod": { + "stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.UsBankTransfer.Network": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["ach"]},{"dataType":"enum","enums":["domestic_wire_us"]},{"dataType":"enum","enums":["swift"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.UsBankTransfer": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["payment_method"],"required":true}, - "acss_debit": {"ref":"stripe.Stripe.PaymentMethod.AcssDebit"}, - "affirm": {"ref":"stripe.Stripe.PaymentMethod.Affirm"}, - "afterpay_clearpay": {"ref":"stripe.Stripe.PaymentMethod.AfterpayClearpay"}, - "alipay": {"ref":"stripe.Stripe.PaymentMethod.Alipay"}, - "allow_redisplay": {"ref":"stripe.Stripe.PaymentMethod.AllowRedisplay"}, - "alma": {"ref":"stripe.Stripe.PaymentMethod.Alma"}, - "amazon_pay": {"ref":"stripe.Stripe.PaymentMethod.AmazonPay"}, - "au_becs_debit": {"ref":"stripe.Stripe.PaymentMethod.AuBecsDebit"}, - "bacs_debit": {"ref":"stripe.Stripe.PaymentMethod.BacsDebit"}, - "bancontact": {"ref":"stripe.Stripe.PaymentMethod.Bancontact"}, - "billing_details": {"ref":"stripe.Stripe.PaymentMethod.BillingDetails","required":true}, - "blik": {"ref":"stripe.Stripe.PaymentMethod.Blik"}, - "boleto": {"ref":"stripe.Stripe.PaymentMethod.Boleto"}, - "card": {"ref":"stripe.Stripe.PaymentMethod.Card"}, - "card_present": {"ref":"stripe.Stripe.PaymentMethod.CardPresent"}, - "cashapp": {"ref":"stripe.Stripe.PaymentMethod.Cashapp"}, - "created": {"dataType":"double","required":true}, - "customer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Customer"},{"dataType":"enum","enums":[null]}],"required":true}, - "customer_balance": {"ref":"stripe.Stripe.PaymentMethod.CustomerBalance"}, - "eps": {"ref":"stripe.Stripe.PaymentMethod.Eps"}, - "fpx": {"ref":"stripe.Stripe.PaymentMethod.Fpx"}, - "giropay": {"ref":"stripe.Stripe.PaymentMethod.Giropay"}, - "grabpay": {"ref":"stripe.Stripe.PaymentMethod.Grabpay"}, - "ideal": {"ref":"stripe.Stripe.PaymentMethod.Ideal"}, - "interac_present": {"ref":"stripe.Stripe.PaymentMethod.InteracPresent"}, - "kakao_pay": {"ref":"stripe.Stripe.PaymentMethod.KakaoPay"}, - "klarna": {"ref":"stripe.Stripe.PaymentMethod.Klarna"}, - "konbini": {"ref":"stripe.Stripe.PaymentMethod.Konbini"}, - "kr_card": {"ref":"stripe.Stripe.PaymentMethod.KrCard"}, - "link": {"ref":"stripe.Stripe.PaymentMethod.Link"}, - "livemode": {"dataType":"boolean","required":true}, - "metadata": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Metadata"},{"dataType":"enum","enums":[null]}],"required":true}, - "mobilepay": {"ref":"stripe.Stripe.PaymentMethod.Mobilepay"}, - "multibanco": {"ref":"stripe.Stripe.PaymentMethod.Multibanco"}, - "naver_pay": {"ref":"stripe.Stripe.PaymentMethod.NaverPay"}, - "oxxo": {"ref":"stripe.Stripe.PaymentMethod.Oxxo"}, - "p24": {"ref":"stripe.Stripe.PaymentMethod.P24"}, - "pay_by_bank": {"ref":"stripe.Stripe.PaymentMethod.PayByBank"}, - "payco": {"ref":"stripe.Stripe.PaymentMethod.Payco"}, - "paynow": {"ref":"stripe.Stripe.PaymentMethod.Paynow"}, - "paypal": {"ref":"stripe.Stripe.PaymentMethod.Paypal"}, - "pix": {"ref":"stripe.Stripe.PaymentMethod.Pix"}, - "promptpay": {"ref":"stripe.Stripe.PaymentMethod.Promptpay"}, - "radar_options": {"ref":"stripe.Stripe.PaymentMethod.RadarOptions"}, - "revolut_pay": {"ref":"stripe.Stripe.PaymentMethod.RevolutPay"}, - "samsung_pay": {"ref":"stripe.Stripe.PaymentMethod.SamsungPay"}, - "sepa_debit": {"ref":"stripe.Stripe.PaymentMethod.SepaDebit"}, - "sofort": {"ref":"stripe.Stripe.PaymentMethod.Sofort"}, - "swish": {"ref":"stripe.Stripe.PaymentMethod.Swish"}, - "twint": {"ref":"stripe.Stripe.PaymentMethod.Twint"}, - "type": {"ref":"stripe.Stripe.PaymentMethod.Type","required":true}, - "us_bank_account": {"ref":"stripe.Stripe.PaymentMethod.UsBankAccount"}, - "wechat_pay": {"ref":"stripe.Stripe.PaymentMethod.WechatPay"}, - "zip": {"ref":"stripe.Stripe.PaymentMethod.Zip"}, + "network": {"ref":"stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.UsBankTransfer.Network"}, + "sender_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.AcssDebit": { + "stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer": { "dataType": "refObject", "properties": { + "eu_bank_transfer": {"ref":"stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.EuBankTransfer"}, + "gb_bank_transfer": {"ref":"stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.GbBankTransfer"}, + "jp_bank_transfer": {"ref":"stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.JpBankTransfer"}, + "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "type": {"ref":"stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.Type","required":true}, + "us_bank_transfer": {"ref":"stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.UsBankTransfer"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.AmazonPay": { + "stripe.Stripe.CustomerCashBalanceTransaction.Funded": { "dataType": "refObject", "properties": { + "bank_transfer": {"ref":"stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.AuBecsDebit": { + "stripe.Stripe.Refund.DestinationDetails.Affirm": { "dataType": "refObject", "properties": { }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.BacsDebit": { + "stripe.Stripe.Refund.DestinationDetails.AfterpayClearpay": { "dataType": "refObject", "properties": { }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Mandate.CustomerAcceptance.Offline": { + "stripe.Stripe.Refund.DestinationDetails.Alipay": { "dataType": "refObject", "properties": { }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Mandate.CustomerAcceptance.Online": { + "stripe.Stripe.Refund.DestinationDetails.Alma": { "dataType": "refObject", "properties": { - "ip_address": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "user_agent": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Mandate.CustomerAcceptance.Type": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["offline"]},{"dataType":"enum","enums":["online"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Mandate.CustomerAcceptance": { + "stripe.Stripe.Refund.DestinationDetails.AmazonPay": { "dataType": "refObject", "properties": { - "accepted_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "offline": {"ref":"stripe.Stripe.Mandate.CustomerAcceptance.Offline"}, - "online": {"ref":"stripe.Stripe.Mandate.CustomerAcceptance.Online"}, - "type": {"ref":"stripe.Stripe.Mandate.CustomerAcceptance.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Mandate.MultiUse": { + "stripe.Stripe.Refund.DestinationDetails.AuBankTransfer": { "dataType": "refObject", "properties": { }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Mandate.PaymentMethodDetails.AcssDebit.DefaultFor": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["invoice"]},{"dataType":"enum","enums":["subscription"]}],"validators":{}}, + "stripe.Stripe.Refund.DestinationDetails.Blik": { + "dataType": "refObject", + "properties": { + "network_decline_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "reference_status": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Mandate.PaymentMethodDetails.AcssDebit.PaymentSchedule": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["combined"]},{"dataType":"enum","enums":["interval"]},{"dataType":"enum","enums":["sporadic"]}],"validators":{}}, + "stripe.Stripe.Refund.DestinationDetails.BrBankTransfer": { + "dataType": "refObject", + "properties": { + "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "reference_status": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Mandate.PaymentMethodDetails.AcssDebit.TransactionType": { + "stripe.Stripe.Refund.DestinationDetails.Card.Type": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["business"]},{"dataType":"enum","enums":["personal"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["pending"]},{"dataType":"enum","enums":["refund"]},{"dataType":"enum","enums":["reversal"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Mandate.PaymentMethodDetails.AcssDebit": { + "stripe.Stripe.Refund.DestinationDetails.Card": { "dataType": "refObject", "properties": { - "default_for": {"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Mandate.PaymentMethodDetails.AcssDebit.DefaultFor"}}, - "interval_description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "payment_schedule": {"ref":"stripe.Stripe.Mandate.PaymentMethodDetails.AcssDebit.PaymentSchedule","required":true}, - "transaction_type": {"ref":"stripe.Stripe.Mandate.PaymentMethodDetails.AcssDebit.TransactionType","required":true}, + "reference": {"dataType":"string"}, + "reference_status": {"dataType":"string"}, + "reference_type": {"dataType":"string"}, + "type": {"ref":"stripe.Stripe.Refund.DestinationDetails.Card.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Mandate.PaymentMethodDetails.AmazonPay": { + "stripe.Stripe.Refund.DestinationDetails.Cashapp": { "dataType": "refObject", "properties": { }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Mandate.PaymentMethodDetails.AuBecsDebit": { + "stripe.Stripe.Refund.DestinationDetails.CustomerCashBalance": { "dataType": "refObject", "properties": { - "url": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Mandate.PaymentMethodDetails.BacsDebit.NetworkStatus": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["accepted"]},{"dataType":"enum","enums":["pending"]},{"dataType":"enum","enums":["refused"]},{"dataType":"enum","enums":["revoked"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Mandate.PaymentMethodDetails.BacsDebit.RevocationReason": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account_closed"]},{"dataType":"enum","enums":["bank_account_restricted"]},{"dataType":"enum","enums":["bank_ownership_changed"]},{"dataType":"enum","enums":["could_not_process"]},{"dataType":"enum","enums":["debit_not_authorized"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Mandate.PaymentMethodDetails.BacsDebit": { + "stripe.Stripe.Refund.DestinationDetails.Eps": { "dataType": "refObject", "properties": { - "network_status": {"ref":"stripe.Stripe.Mandate.PaymentMethodDetails.BacsDebit.NetworkStatus","required":true}, - "reference": {"dataType":"string","required":true}, - "revocation_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Mandate.PaymentMethodDetails.BacsDebit.RevocationReason"},{"dataType":"enum","enums":[null]}],"required":true}, - "url": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Mandate.PaymentMethodDetails.Card": { + "stripe.Stripe.Refund.DestinationDetails.EuBankTransfer": { "dataType": "refObject", "properties": { + "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "reference_status": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Mandate.PaymentMethodDetails.Cashapp": { + "stripe.Stripe.Refund.DestinationDetails.GbBankTransfer": { "dataType": "refObject", "properties": { + "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "reference_status": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Mandate.PaymentMethodDetails.KakaoPay": { + "stripe.Stripe.Refund.DestinationDetails.Giropay": { "dataType": "refObject", "properties": { }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Mandate.PaymentMethodDetails.KrCard": { + "stripe.Stripe.Refund.DestinationDetails.Grabpay": { "dataType": "refObject", "properties": { }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Mandate.PaymentMethodDetails.Link": { + "stripe.Stripe.Refund.DestinationDetails.JpBankTransfer": { "dataType": "refObject", "properties": { + "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "reference_status": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Mandate.PaymentMethodDetails.Paypal": { + "stripe.Stripe.Refund.DestinationDetails.Klarna": { "dataType": "refObject", "properties": { - "billing_agreement_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "payer_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Mandate.PaymentMethodDetails.RevolutPay": { + "stripe.Stripe.Refund.DestinationDetails.Multibanco": { "dataType": "refObject", "properties": { + "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "reference_status": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Mandate.PaymentMethodDetails.SepaDebit": { + "stripe.Stripe.Refund.DestinationDetails.MxBankTransfer": { "dataType": "refObject", "properties": { - "reference": {"dataType":"string","required":true}, - "url": {"dataType":"string","required":true}, + "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "reference_status": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Mandate.PaymentMethodDetails.UsBankAccount": { + "stripe.Stripe.Refund.DestinationDetails.P24": { "dataType": "refObject", "properties": { - "collection_method": {"dataType":"enum","enums":["paper"]}, + "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "reference_status": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Mandate.PaymentMethodDetails": { + "stripe.Stripe.Refund.DestinationDetails.Paynow": { "dataType": "refObject", "properties": { - "acss_debit": {"ref":"stripe.Stripe.Mandate.PaymentMethodDetails.AcssDebit"}, - "amazon_pay": {"ref":"stripe.Stripe.Mandate.PaymentMethodDetails.AmazonPay"}, - "au_becs_debit": {"ref":"stripe.Stripe.Mandate.PaymentMethodDetails.AuBecsDebit"}, - "bacs_debit": {"ref":"stripe.Stripe.Mandate.PaymentMethodDetails.BacsDebit"}, - "card": {"ref":"stripe.Stripe.Mandate.PaymentMethodDetails.Card"}, - "cashapp": {"ref":"stripe.Stripe.Mandate.PaymentMethodDetails.Cashapp"}, - "kakao_pay": {"ref":"stripe.Stripe.Mandate.PaymentMethodDetails.KakaoPay"}, - "kr_card": {"ref":"stripe.Stripe.Mandate.PaymentMethodDetails.KrCard"}, - "link": {"ref":"stripe.Stripe.Mandate.PaymentMethodDetails.Link"}, - "paypal": {"ref":"stripe.Stripe.Mandate.PaymentMethodDetails.Paypal"}, - "revolut_pay": {"ref":"stripe.Stripe.Mandate.PaymentMethodDetails.RevolutPay"}, - "sepa_debit": {"ref":"stripe.Stripe.Mandate.PaymentMethodDetails.SepaDebit"}, - "type": {"dataType":"string","required":true}, - "us_bank_account": {"ref":"stripe.Stripe.Mandate.PaymentMethodDetails.UsBankAccount"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Mandate.SingleUse": { + "stripe.Stripe.Refund.DestinationDetails.Paypal": { "dataType": "refObject", "properties": { - "amount": {"dataType":"double","required":true}, - "currency": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Mandate.Status": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["pending"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Mandate.Type": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["multi_use"]},{"dataType":"enum","enums":["single_use"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Mandate": { + "stripe.Stripe.Refund.DestinationDetails.Pix": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["mandate"],"required":true}, - "customer_acceptance": {"ref":"stripe.Stripe.Mandate.CustomerAcceptance","required":true}, - "livemode": {"dataType":"boolean","required":true}, - "multi_use": {"ref":"stripe.Stripe.Mandate.MultiUse"}, - "on_behalf_of": {"dataType":"string"}, - "payment_method": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentMethod"}],"required":true}, - "payment_method_details": {"ref":"stripe.Stripe.Mandate.PaymentMethodDetails","required":true}, - "single_use": {"ref":"stripe.Stripe.Mandate.SingleUse"}, - "status": {"ref":"stripe.Stripe.Mandate.Status","required":true}, - "type": {"ref":"stripe.Stripe.Mandate.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Bancontact.PreferredLanguage": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["de"]},{"dataType":"enum","enums":["en"]},{"dataType":"enum","enums":["fr"]},{"dataType":"enum","enums":["nl"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Bancontact": { + "stripe.Stripe.Refund.DestinationDetails.Revolut": { "dataType": "refObject", "properties": { - "bank_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "bic": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "generated_sepa_debit": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentMethod"},{"dataType":"enum","enums":[null]}],"required":true}, - "generated_sepa_debit_mandate": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Mandate"},{"dataType":"enum","enums":[null]}],"required":true}, - "iban_last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "preferred_language": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Bancontact.PreferredLanguage"},{"dataType":"enum","enums":[null]}],"required":true}, - "verified_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Boleto": { + "stripe.Stripe.Refund.DestinationDetails.Sofort": { "dataType": "refObject", "properties": { }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.Checks": { + "stripe.Stripe.Refund.DestinationDetails.Swish": { "dataType": "refObject", "properties": { - "address_line1_check": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "address_postal_code_check": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "cvc_check": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "network_decline_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "reference_status": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure.AuthenticationFlow": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["challenge"]},{"dataType":"enum","enums":["frictionless"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure.ElectronicCommerceIndicator": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["01"]},{"dataType":"enum","enums":["02"]},{"dataType":"enum","enums":["05"]},{"dataType":"enum","enums":["06"]},{"dataType":"enum","enums":["07"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure.Result": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["attempt_acknowledged"]},{"dataType":"enum","enums":["authenticated"]},{"dataType":"enum","enums":["exempted"]},{"dataType":"enum","enums":["failed"]},{"dataType":"enum","enums":["not_supported"]},{"dataType":"enum","enums":["processing_error"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure.ResultReason": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["abandoned"]},{"dataType":"enum","enums":["bypassed"]},{"dataType":"enum","enums":["canceled"]},{"dataType":"enum","enums":["card_not_enrolled"]},{"dataType":"enum","enums":["network_not_supported"]},{"dataType":"enum","enums":["protocol_error"]},{"dataType":"enum","enums":["rejected"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure.Version": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["1.0.2"]},{"dataType":"enum","enums":["2.1.0"]},{"dataType":"enum","enums":["2.2.0"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure": { + "stripe.Stripe.Refund.DestinationDetails.ThBankTransfer": { "dataType": "refObject", "properties": { - "authentication_flow": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure.AuthenticationFlow"},{"dataType":"enum","enums":[null]}],"required":true}, - "electronic_commerce_indicator": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure.ElectronicCommerceIndicator"},{"dataType":"enum","enums":[null]}],"required":true}, - "result": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure.Result"},{"dataType":"enum","enums":[null]}],"required":true}, - "result_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure.ResultReason"},{"dataType":"enum","enums":[null]}],"required":true}, - "transaction_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "version": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure.Version"},{"dataType":"enum","enums":[null]}],"required":true}, + "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "reference_status": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.Wallet.ApplePay": { + "stripe.Stripe.Refund.DestinationDetails.UsBankTransfer": { "dataType": "refObject", "properties": { + "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "reference_status": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.Wallet.GooglePay": { + "stripe.Stripe.Refund.DestinationDetails.WechatPay": { "dataType": "refObject", "properties": { }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.Wallet.Type": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["apple_pay"]},{"dataType":"enum","enums":["google_pay"]},{"dataType":"enum","enums":["link"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.Wallet": { + "stripe.Stripe.Refund.DestinationDetails.Zip": { "dataType": "refObject", "properties": { - "apple_pay": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.Wallet.ApplePay"}, - "google_pay": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.Wallet.GooglePay"}, - "type": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.Wallet.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card": { + "stripe.Stripe.Refund.DestinationDetails": { "dataType": "refObject", "properties": { - "brand": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "checks": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.Checks"},{"dataType":"enum","enums":[null]}],"required":true}, - "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "exp_month": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "exp_year": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "funding": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "iin": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "issuer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "network": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "three_d_secure": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure"},{"dataType":"enum","enums":[null]}],"required":true}, - "wallet": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.Wallet"},{"dataType":"enum","enums":[null]}],"required":true}, + "affirm": {"ref":"stripe.Stripe.Refund.DestinationDetails.Affirm"}, + "afterpay_clearpay": {"ref":"stripe.Stripe.Refund.DestinationDetails.AfterpayClearpay"}, + "alipay": {"ref":"stripe.Stripe.Refund.DestinationDetails.Alipay"}, + "alma": {"ref":"stripe.Stripe.Refund.DestinationDetails.Alma"}, + "amazon_pay": {"ref":"stripe.Stripe.Refund.DestinationDetails.AmazonPay"}, + "au_bank_transfer": {"ref":"stripe.Stripe.Refund.DestinationDetails.AuBankTransfer"}, + "blik": {"ref":"stripe.Stripe.Refund.DestinationDetails.Blik"}, + "br_bank_transfer": {"ref":"stripe.Stripe.Refund.DestinationDetails.BrBankTransfer"}, + "card": {"ref":"stripe.Stripe.Refund.DestinationDetails.Card"}, + "cashapp": {"ref":"stripe.Stripe.Refund.DestinationDetails.Cashapp"}, + "customer_cash_balance": {"ref":"stripe.Stripe.Refund.DestinationDetails.CustomerCashBalance"}, + "eps": {"ref":"stripe.Stripe.Refund.DestinationDetails.Eps"}, + "eu_bank_transfer": {"ref":"stripe.Stripe.Refund.DestinationDetails.EuBankTransfer"}, + "gb_bank_transfer": {"ref":"stripe.Stripe.Refund.DestinationDetails.GbBankTransfer"}, + "giropay": {"ref":"stripe.Stripe.Refund.DestinationDetails.Giropay"}, + "grabpay": {"ref":"stripe.Stripe.Refund.DestinationDetails.Grabpay"}, + "jp_bank_transfer": {"ref":"stripe.Stripe.Refund.DestinationDetails.JpBankTransfer"}, + "klarna": {"ref":"stripe.Stripe.Refund.DestinationDetails.Klarna"}, + "multibanco": {"ref":"stripe.Stripe.Refund.DestinationDetails.Multibanco"}, + "mx_bank_transfer": {"ref":"stripe.Stripe.Refund.DestinationDetails.MxBankTransfer"}, + "p24": {"ref":"stripe.Stripe.Refund.DestinationDetails.P24"}, + "paynow": {"ref":"stripe.Stripe.Refund.DestinationDetails.Paynow"}, + "paypal": {"ref":"stripe.Stripe.Refund.DestinationDetails.Paypal"}, + "pix": {"ref":"stripe.Stripe.Refund.DestinationDetails.Pix"}, + "revolut": {"ref":"stripe.Stripe.Refund.DestinationDetails.Revolut"}, + "sofort": {"ref":"stripe.Stripe.Refund.DestinationDetails.Sofort"}, + "swish": {"ref":"stripe.Stripe.Refund.DestinationDetails.Swish"}, + "th_bank_transfer": {"ref":"stripe.Stripe.Refund.DestinationDetails.ThBankTransfer"}, + "type": {"dataType":"string","required":true}, + "us_bank_transfer": {"ref":"stripe.Stripe.Refund.DestinationDetails.UsBankTransfer"}, + "wechat_pay": {"ref":"stripe.Stripe.Refund.DestinationDetails.WechatPay"}, + "zip": {"ref":"stripe.Stripe.Refund.DestinationDetails.Zip"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.CardPresent.Offline": { + "stripe.Stripe.Refund.NextAction.DisplayDetails.EmailSent": { "dataType": "refObject", "properties": { - "stored_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["deferred"]},{"dataType":"enum","enums":[null]}],"required":true}, + "email_sent_at": {"dataType":"double","required":true}, + "email_sent_to": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.CardPresent": { + "stripe.Stripe.Refund.NextAction.DisplayDetails": { "dataType": "refObject", "properties": { - "generated_card": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentMethod"},{"dataType":"enum","enums":[null]}],"required":true}, - "offline": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.CardPresent.Offline"},{"dataType":"enum","enums":[null]}],"required":true}, + "email_sent": {"ref":"stripe.Stripe.Refund.NextAction.DisplayDetails.EmailSent","required":true}, + "expires_at": {"dataType":"double","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Cashapp": { + "stripe.Stripe.Refund.NextAction": { "dataType": "refObject", "properties": { + "display_details": {"ref":"stripe.Stripe.Refund.NextAction.DisplayDetails"}, + "type": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Ideal.Bank": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["abn_amro"]},{"dataType":"enum","enums":["asn_bank"]},{"dataType":"enum","enums":["bunq"]},{"dataType":"enum","enums":["handelsbanken"]},{"dataType":"enum","enums":["ing"]},{"dataType":"enum","enums":["knab"]},{"dataType":"enum","enums":["moneyou"]},{"dataType":"enum","enums":["n26"]},{"dataType":"enum","enums":["nn"]},{"dataType":"enum","enums":["rabobank"]},{"dataType":"enum","enums":["regiobank"]},{"dataType":"enum","enums":["revolut"]},{"dataType":"enum","enums":["sns_bank"]},{"dataType":"enum","enums":["triodos_bank"]},{"dataType":"enum","enums":["van_lanschot"]},{"dataType":"enum","enums":["yoursafe"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Ideal.Bic": { + "stripe.Stripe.Refund.Reason": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["ABNANL2A"]},{"dataType":"enum","enums":["ASNBNL21"]},{"dataType":"enum","enums":["BITSNL2A"]},{"dataType":"enum","enums":["BUNQNL2A"]},{"dataType":"enum","enums":["FVLBNL22"]},{"dataType":"enum","enums":["HANDNL2A"]},{"dataType":"enum","enums":["INGBNL2A"]},{"dataType":"enum","enums":["KNABNL2H"]},{"dataType":"enum","enums":["MOYONL21"]},{"dataType":"enum","enums":["NNBANL2G"]},{"dataType":"enum","enums":["NTSBDEB1"]},{"dataType":"enum","enums":["RABONL2U"]},{"dataType":"enum","enums":["RBRBNL21"]},{"dataType":"enum","enums":["REVOIE23"]},{"dataType":"enum","enums":["REVOLT21"]},{"dataType":"enum","enums":["SNSBNL2A"]},{"dataType":"enum","enums":["TRIONL2U"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["duplicate"]},{"dataType":"enum","enums":["expired_uncaptured_charge"]},{"dataType":"enum","enums":["fraudulent"]},{"dataType":"enum","enums":["requested_by_customer"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Ideal": { - "dataType": "refObject", - "properties": { - "bank": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Ideal.Bank"},{"dataType":"enum","enums":[null]}],"required":true}, - "bic": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Ideal.Bic"},{"dataType":"enum","enums":[null]}],"required":true}, - "generated_sepa_debit": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentMethod"},{"dataType":"enum","enums":[null]}],"required":true}, - "generated_sepa_debit_mandate": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Mandate"},{"dataType":"enum","enums":[null]}],"required":true}, - "iban_last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "verified_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.KakaoPay": { + "stripe.Stripe.Refund": { "dataType": "refObject", "properties": { + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["refund"],"required":true}, + "amount": {"dataType":"double","required":true}, + "balance_transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.BalanceTransaction"},{"dataType":"enum","enums":[null]}],"required":true}, + "charge": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Charge"},{"dataType":"enum","enums":[null]}],"required":true}, + "created": {"dataType":"double","required":true}, + "currency": {"dataType":"string","required":true}, + "description": {"dataType":"string"}, + "destination_details": {"ref":"stripe.Stripe.Refund.DestinationDetails"}, + "failure_balance_transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.BalanceTransaction"}]}, + "failure_reason": {"dataType":"string"}, + "instructions_email": {"dataType":"string"}, + "metadata": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Metadata"},{"dataType":"enum","enums":[null]}],"required":true}, + "next_action": {"ref":"stripe.Stripe.Refund.NextAction"}, + "payment_intent": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentIntent"},{"dataType":"enum","enums":[null]}],"required":true}, + "reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Refund.Reason"},{"dataType":"enum","enums":[null]}],"required":true}, + "receipt_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "source_transfer_reversal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TransferReversal"},{"dataType":"enum","enums":[null]}],"required":true}, + "status": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "transfer_reversal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TransferReversal"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Klarna": { + "stripe.Stripe.TransferReversal": { "dataType": "refObject", "properties": { + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["transfer_reversal"],"required":true}, + "amount": {"dataType":"double","required":true}, + "balance_transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.BalanceTransaction"},{"dataType":"enum","enums":[null]}],"required":true}, + "created": {"dataType":"double","required":true}, + "currency": {"dataType":"string","required":true}, + "destination_payment_refund": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Refund"},{"dataType":"enum","enums":[null]}],"required":true}, + "metadata": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Metadata"},{"dataType":"enum","enums":[null]}],"required":true}, + "source_refund": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Refund"},{"dataType":"enum","enums":[null]}],"required":true}, + "transfer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Transfer"}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.KrCard": { + "stripe.Stripe.ApiList_stripe.Stripe.TransferReversal_": { "dataType": "refObject", "properties": { + "object": {"dataType":"enum","enums":["list"],"required":true}, + "data": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.TransferReversal"},"required":true}, + "has_more": {"dataType":"boolean","required":true}, + "url": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Link": { + "stripe.Stripe.Transfer": { "dataType": "refObject", "properties": { + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["transfer"],"required":true}, + "amount": {"dataType":"double","required":true}, + "amount_reversed": {"dataType":"double","required":true}, + "balance_transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.BalanceTransaction"},{"dataType":"enum","enums":[null]}],"required":true}, + "created": {"dataType":"double","required":true}, + "currency": {"dataType":"string","required":true}, + "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "destination": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"},{"dataType":"enum","enums":[null]}],"required":true}, + "destination_payment": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Charge"}]}, + "livemode": {"dataType":"boolean","required":true}, + "metadata": {"ref":"stripe.Stripe.Metadata","required":true}, + "reversals": {"ref":"stripe.Stripe.ApiList_stripe.Stripe.TransferReversal_","required":true}, + "reversed": {"dataType":"boolean","required":true}, + "source_transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Charge"},{"dataType":"enum","enums":[null]}],"required":true}, + "source_type": {"dataType":"string"}, + "transfer_group": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Paypal": { + "stripe.Stripe.CustomerCashBalanceTransaction.RefundedFromPayment": { "dataType": "refObject", "properties": { + "refund": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Refund"}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.RevolutPay": { + "stripe.Stripe.CustomerCashBalanceTransaction.TransferredToBalance": { "dataType": "refObject", "properties": { + "balance_transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.BalanceTransaction"}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.SepaDebit": { + "stripe.Stripe.CustomerCashBalanceTransaction.Type": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["adjusted_for_overdraft"]},{"dataType":"enum","enums":["applied_to_payment"]},{"dataType":"enum","enums":["funded"]},{"dataType":"enum","enums":["funding_reversed"]},{"dataType":"enum","enums":["refunded_from_payment"]},{"dataType":"enum","enums":["return_canceled"]},{"dataType":"enum","enums":["return_initiated"]},{"dataType":"enum","enums":["transferred_to_balance"]},{"dataType":"enum","enums":["unapplied_from_payment"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.CustomerCashBalanceTransaction.UnappliedFromPayment": { "dataType": "refObject", "properties": { + "payment_intent": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentIntent"}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Sofort.PreferredLanguage": { + "stripe.Stripe.Dispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3.DisputedTransaction.MerchandiseOrServices": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["de"]},{"dataType":"enum","enums":["en"]},{"dataType":"enum","enums":["fr"]},{"dataType":"enum","enums":["nl"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["merchandise"]},{"dataType":"enum","enums":["services"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Sofort": { + "stripe.Stripe.Dispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3.DisputedTransaction": { "dataType": "refObject", "properties": { - "bank_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "bic": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "generated_sepa_debit": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentMethod"},{"dataType":"enum","enums":[null]}],"required":true}, - "generated_sepa_debit_mandate": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Mandate"},{"dataType":"enum","enums":[null]}],"required":true}, - "iban_last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "preferred_language": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Sofort.PreferredLanguage"},{"dataType":"enum","enums":[null]}],"required":true}, - "verified_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "customer_account_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "customer_device_fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "customer_device_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "customer_email_address": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "customer_purchase_ip": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "merchandise_or_services": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Dispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3.DisputedTransaction.MerchandiseOrServices"},{"dataType":"enum","enums":[null]}],"required":true}, + "product_description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "shipping_address": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Address"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.UsBankAccount": { + "stripe.Stripe.Dispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3.PriorUndisputedTransaction": { "dataType": "refObject", "properties": { + "charge": {"dataType":"string","required":true}, + "customer_account_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "customer_device_fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "customer_device_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "customer_email_address": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "customer_purchase_ip": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "product_description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "shipping_address": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Address"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt.PaymentMethodDetails": { + "stripe.Stripe.Dispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3": { "dataType": "refObject", "properties": { - "acss_debit": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.AcssDebit"}, - "amazon_pay": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.AmazonPay"}, - "au_becs_debit": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.AuBecsDebit"}, - "bacs_debit": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.BacsDebit"}, - "bancontact": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Bancontact"}, - "boleto": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Boleto"}, - "card": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card"}, - "card_present": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.CardPresent"}, - "cashapp": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Cashapp"}, - "ideal": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Ideal"}, - "kakao_pay": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.KakaoPay"}, - "klarna": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Klarna"}, - "kr_card": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.KrCard"}, - "link": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Link"}, - "paypal": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Paypal"}, - "revolut_pay": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.RevolutPay"}, - "sepa_debit": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.SepaDebit"}, - "sofort": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.Sofort"}, - "type": {"dataType":"string","required":true}, - "us_bank_account": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails.UsBankAccount"}, + "disputed_transaction": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Dispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3.DisputedTransaction"},{"dataType":"enum","enums":[null]}],"required":true}, + "prior_undisputed_transactions": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Dispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3.PriorUndisputedTransaction"},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt.SetupError.Code": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account_closed"]},{"dataType":"enum","enums":["account_country_invalid_address"]},{"dataType":"enum","enums":["account_error_country_change_requires_additional_steps"]},{"dataType":"enum","enums":["account_information_mismatch"]},{"dataType":"enum","enums":["account_invalid"]},{"dataType":"enum","enums":["account_number_invalid"]},{"dataType":"enum","enums":["acss_debit_session_incomplete"]},{"dataType":"enum","enums":["alipay_upgrade_required"]},{"dataType":"enum","enums":["amount_too_large"]},{"dataType":"enum","enums":["amount_too_small"]},{"dataType":"enum","enums":["api_key_expired"]},{"dataType":"enum","enums":["application_fees_not_allowed"]},{"dataType":"enum","enums":["authentication_required"]},{"dataType":"enum","enums":["balance_insufficient"]},{"dataType":"enum","enums":["balance_invalid_parameter"]},{"dataType":"enum","enums":["bank_account_bad_routing_numbers"]},{"dataType":"enum","enums":["bank_account_declined"]},{"dataType":"enum","enums":["bank_account_exists"]},{"dataType":"enum","enums":["bank_account_restricted"]},{"dataType":"enum","enums":["bank_account_unusable"]},{"dataType":"enum","enums":["bank_account_unverified"]},{"dataType":"enum","enums":["bank_account_verification_failed"]},{"dataType":"enum","enums":["billing_invalid_mandate"]},{"dataType":"enum","enums":["bitcoin_upgrade_required"]},{"dataType":"enum","enums":["capture_charge_authorization_expired"]},{"dataType":"enum","enums":["capture_unauthorized_payment"]},{"dataType":"enum","enums":["card_decline_rate_limit_exceeded"]},{"dataType":"enum","enums":["card_declined"]},{"dataType":"enum","enums":["cardholder_phone_number_required"]},{"dataType":"enum","enums":["charge_already_captured"]},{"dataType":"enum","enums":["charge_already_refunded"]},{"dataType":"enum","enums":["charge_disputed"]},{"dataType":"enum","enums":["charge_exceeds_source_limit"]},{"dataType":"enum","enums":["charge_exceeds_transaction_limit"]},{"dataType":"enum","enums":["charge_expired_for_capture"]},{"dataType":"enum","enums":["charge_invalid_parameter"]},{"dataType":"enum","enums":["charge_not_refundable"]},{"dataType":"enum","enums":["clearing_code_unsupported"]},{"dataType":"enum","enums":["country_code_invalid"]},{"dataType":"enum","enums":["country_unsupported"]},{"dataType":"enum","enums":["coupon_expired"]},{"dataType":"enum","enums":["customer_max_payment_methods"]},{"dataType":"enum","enums":["customer_max_subscriptions"]},{"dataType":"enum","enums":["customer_tax_location_invalid"]},{"dataType":"enum","enums":["debit_not_authorized"]},{"dataType":"enum","enums":["email_invalid"]},{"dataType":"enum","enums":["expired_card"]},{"dataType":"enum","enums":["financial_connections_account_inactive"]},{"dataType":"enum","enums":["financial_connections_no_successful_transaction_refresh"]},{"dataType":"enum","enums":["forwarding_api_inactive"]},{"dataType":"enum","enums":["forwarding_api_invalid_parameter"]},{"dataType":"enum","enums":["forwarding_api_upstream_connection_error"]},{"dataType":"enum","enums":["forwarding_api_upstream_connection_timeout"]},{"dataType":"enum","enums":["idempotency_key_in_use"]},{"dataType":"enum","enums":["incorrect_address"]},{"dataType":"enum","enums":["incorrect_cvc"]},{"dataType":"enum","enums":["incorrect_number"]},{"dataType":"enum","enums":["incorrect_zip"]},{"dataType":"enum","enums":["instant_payouts_config_disabled"]},{"dataType":"enum","enums":["instant_payouts_currency_disabled"]},{"dataType":"enum","enums":["instant_payouts_limit_exceeded"]},{"dataType":"enum","enums":["instant_payouts_unsupported"]},{"dataType":"enum","enums":["insufficient_funds"]},{"dataType":"enum","enums":["intent_invalid_state"]},{"dataType":"enum","enums":["intent_verification_method_missing"]},{"dataType":"enum","enums":["invalid_card_type"]},{"dataType":"enum","enums":["invalid_characters"]},{"dataType":"enum","enums":["invalid_charge_amount"]},{"dataType":"enum","enums":["invalid_cvc"]},{"dataType":"enum","enums":["invalid_expiry_month"]},{"dataType":"enum","enums":["invalid_expiry_year"]},{"dataType":"enum","enums":["invalid_mandate_reference_prefix_format"]},{"dataType":"enum","enums":["invalid_number"]},{"dataType":"enum","enums":["invalid_source_usage"]},{"dataType":"enum","enums":["invalid_tax_location"]},{"dataType":"enum","enums":["invoice_no_customer_line_items"]},{"dataType":"enum","enums":["invoice_no_payment_method_types"]},{"dataType":"enum","enums":["invoice_no_subscription_line_items"]},{"dataType":"enum","enums":["invoice_not_editable"]},{"dataType":"enum","enums":["invoice_on_behalf_of_not_editable"]},{"dataType":"enum","enums":["invoice_payment_intent_requires_action"]},{"dataType":"enum","enums":["invoice_upcoming_none"]},{"dataType":"enum","enums":["livemode_mismatch"]},{"dataType":"enum","enums":["lock_timeout"]},{"dataType":"enum","enums":["missing"]},{"dataType":"enum","enums":["no_account"]},{"dataType":"enum","enums":["not_allowed_on_standard_account"]},{"dataType":"enum","enums":["out_of_inventory"]},{"dataType":"enum","enums":["ownership_declaration_not_allowed"]},{"dataType":"enum","enums":["parameter_invalid_empty"]},{"dataType":"enum","enums":["parameter_invalid_integer"]},{"dataType":"enum","enums":["parameter_invalid_string_blank"]},{"dataType":"enum","enums":["parameter_invalid_string_empty"]},{"dataType":"enum","enums":["parameter_missing"]},{"dataType":"enum","enums":["parameter_unknown"]},{"dataType":"enum","enums":["parameters_exclusive"]},{"dataType":"enum","enums":["payment_intent_action_required"]},{"dataType":"enum","enums":["payment_intent_authentication_failure"]},{"dataType":"enum","enums":["payment_intent_incompatible_payment_method"]},{"dataType":"enum","enums":["payment_intent_invalid_parameter"]},{"dataType":"enum","enums":["payment_intent_konbini_rejected_confirmation_number"]},{"dataType":"enum","enums":["payment_intent_mandate_invalid"]},{"dataType":"enum","enums":["payment_intent_payment_attempt_expired"]},{"dataType":"enum","enums":["payment_intent_payment_attempt_failed"]},{"dataType":"enum","enums":["payment_intent_unexpected_state"]},{"dataType":"enum","enums":["payment_method_bank_account_already_verified"]},{"dataType":"enum","enums":["payment_method_bank_account_blocked"]},{"dataType":"enum","enums":["payment_method_billing_details_address_missing"]},{"dataType":"enum","enums":["payment_method_configuration_failures"]},{"dataType":"enum","enums":["payment_method_currency_mismatch"]},{"dataType":"enum","enums":["payment_method_customer_decline"]},{"dataType":"enum","enums":["payment_method_invalid_parameter"]},{"dataType":"enum","enums":["payment_method_invalid_parameter_testmode"]},{"dataType":"enum","enums":["payment_method_microdeposit_failed"]},{"dataType":"enum","enums":["payment_method_microdeposit_verification_amounts_invalid"]},{"dataType":"enum","enums":["payment_method_microdeposit_verification_amounts_mismatch"]},{"dataType":"enum","enums":["payment_method_microdeposit_verification_attempts_exceeded"]},{"dataType":"enum","enums":["payment_method_microdeposit_verification_descriptor_code_mismatch"]},{"dataType":"enum","enums":["payment_method_microdeposit_verification_timeout"]},{"dataType":"enum","enums":["payment_method_not_available"]},{"dataType":"enum","enums":["payment_method_provider_decline"]},{"dataType":"enum","enums":["payment_method_provider_timeout"]},{"dataType":"enum","enums":["payment_method_unactivated"]},{"dataType":"enum","enums":["payment_method_unexpected_state"]},{"dataType":"enum","enums":["payment_method_unsupported_type"]},{"dataType":"enum","enums":["payout_reconciliation_not_ready"]},{"dataType":"enum","enums":["payouts_limit_exceeded"]},{"dataType":"enum","enums":["payouts_not_allowed"]},{"dataType":"enum","enums":["platform_account_required"]},{"dataType":"enum","enums":["platform_api_key_expired"]},{"dataType":"enum","enums":["postal_code_invalid"]},{"dataType":"enum","enums":["processing_error"]},{"dataType":"enum","enums":["product_inactive"]},{"dataType":"enum","enums":["progressive_onboarding_limit_exceeded"]},{"dataType":"enum","enums":["rate_limit"]},{"dataType":"enum","enums":["refer_to_customer"]},{"dataType":"enum","enums":["refund_disputed_payment"]},{"dataType":"enum","enums":["resource_already_exists"]},{"dataType":"enum","enums":["resource_missing"]},{"dataType":"enum","enums":["return_intent_already_processed"]},{"dataType":"enum","enums":["routing_number_invalid"]},{"dataType":"enum","enums":["secret_key_required"]},{"dataType":"enum","enums":["sepa_unsupported_account"]},{"dataType":"enum","enums":["setup_attempt_failed"]},{"dataType":"enum","enums":["setup_intent_authentication_failure"]},{"dataType":"enum","enums":["setup_intent_invalid_parameter"]},{"dataType":"enum","enums":["setup_intent_mandate_invalid"]},{"dataType":"enum","enums":["setup_intent_setup_attempt_expired"]},{"dataType":"enum","enums":["setup_intent_unexpected_state"]},{"dataType":"enum","enums":["shipping_address_invalid"]},{"dataType":"enum","enums":["shipping_calculation_failed"]},{"dataType":"enum","enums":["sku_inactive"]},{"dataType":"enum","enums":["state_unsupported"]},{"dataType":"enum","enums":["status_transition_invalid"]},{"dataType":"enum","enums":["stripe_tax_inactive"]},{"dataType":"enum","enums":["tax_id_invalid"]},{"dataType":"enum","enums":["taxes_calculation_failed"]},{"dataType":"enum","enums":["terminal_location_country_unsupported"]},{"dataType":"enum","enums":["terminal_reader_busy"]},{"dataType":"enum","enums":["terminal_reader_hardware_fault"]},{"dataType":"enum","enums":["terminal_reader_invalid_location_for_activation"]},{"dataType":"enum","enums":["terminal_reader_invalid_location_for_payment"]},{"dataType":"enum","enums":["terminal_reader_offline"]},{"dataType":"enum","enums":["terminal_reader_timeout"]},{"dataType":"enum","enums":["testmode_charges_only"]},{"dataType":"enum","enums":["tls_version_unsupported"]},{"dataType":"enum","enums":["token_already_used"]},{"dataType":"enum","enums":["token_card_network_invalid"]},{"dataType":"enum","enums":["token_in_use"]},{"dataType":"enum","enums":["transfer_source_balance_parameters_mismatch"]},{"dataType":"enum","enums":["transfers_not_allowed"]},{"dataType":"enum","enums":["url_invalid"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.AmountDetails.Tip": { + "stripe.Stripe.Dispute.Evidence.EnhancedEvidence.VisaCompliance": { "dataType": "refObject", "properties": { - "amount": {"dataType":"double"}, + "fee_acknowledged": {"dataType":"boolean","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.AmountDetails": { + "stripe.Stripe.Dispute.Evidence.EnhancedEvidence": { "dataType": "refObject", "properties": { - "tip": {"ref":"stripe.Stripe.PaymentIntent.AmountDetails.Tip"}, + "visa_compelling_evidence_3": {"ref":"stripe.Stripe.Dispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3"}, + "visa_compliance": {"ref":"stripe.Stripe.Dispute.Evidence.EnhancedEvidence.VisaCompliance"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.AutomaticPaymentMethods.AllowRedirects": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["always"]},{"dataType":"enum","enums":["never"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.AutomaticPaymentMethods": { + "stripe.Stripe.Dispute.Evidence": { "dataType": "refObject", "properties": { - "allow_redirects": {"ref":"stripe.Stripe.PaymentIntent.AutomaticPaymentMethods.AllowRedirects"}, - "enabled": {"dataType":"boolean","required":true}, + "access_activity_log": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "billing_address": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "cancellation_policy": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, + "cancellation_policy_disclosure": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "cancellation_rebuttal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "customer_communication": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, + "customer_email_address": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "customer_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "customer_purchase_ip": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "customer_signature": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, + "duplicate_charge_documentation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, + "duplicate_charge_explanation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "duplicate_charge_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "enhanced_evidence": {"ref":"stripe.Stripe.Dispute.Evidence.EnhancedEvidence","required":true}, + "product_description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "receipt": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, + "refund_policy": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, + "refund_policy_disclosure": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "refund_refusal_explanation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "service_date": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "service_documentation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, + "shipping_address": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "shipping_carrier": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "shipping_date": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "shipping_documentation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, + "shipping_tracking_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "uncategorized_file": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, + "uncategorized_text": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.CancellationReason": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["abandoned"]},{"dataType":"enum","enums":["automatic"]},{"dataType":"enum","enums":["duplicate"]},{"dataType":"enum","enums":["failed_invoice"]},{"dataType":"enum","enums":["fraudulent"]},{"dataType":"enum","enums":["requested_by_customer"]},{"dataType":"enum","enums":["void_invoice"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.CaptureMethod": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["automatic"]},{"dataType":"enum","enums":["automatic_async"]},{"dataType":"enum","enums":["manual"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.ConfirmationMethod": { + "stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility.VisaCompellingEvidence3.RequiredAction": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["automatic"]},{"dataType":"enum","enums":["manual"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["missing_customer_identifiers"]},{"dataType":"enum","enums":["missing_disputed_transaction_description"]},{"dataType":"enum","enums":["missing_merchandise_or_services"]},{"dataType":"enum","enums":["missing_prior_undisputed_transaction_description"]},{"dataType":"enum","enums":["missing_prior_undisputed_transactions"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.TaxId.Owner.Type": { + "stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility.VisaCompellingEvidence3.Status": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account"]},{"dataType":"enum","enums":["application"]},{"dataType":"enum","enums":["customer"]},{"dataType":"enum","enums":["self"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["not_qualified"]},{"dataType":"enum","enums":["qualified"]},{"dataType":"enum","enums":["requires_action"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.TaxId.Owner": { + "stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility.VisaCompellingEvidence3": { "dataType": "refObject", "properties": { - "account": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}]}, - "application": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Application"}]}, - "customer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Customer"}]}, - "type": {"ref":"stripe.Stripe.TaxId.Owner.Type","required":true}, + "required_actions": {"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility.VisaCompellingEvidence3.RequiredAction"},"required":true}, + "status": {"ref":"stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility.VisaCompellingEvidence3.Status","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.TaxId.Type": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["ad_nrt"]},{"dataType":"enum","enums":["ae_trn"]},{"dataType":"enum","enums":["al_tin"]},{"dataType":"enum","enums":["am_tin"]},{"dataType":"enum","enums":["ao_tin"]},{"dataType":"enum","enums":["ar_cuit"]},{"dataType":"enum","enums":["au_abn"]},{"dataType":"enum","enums":["au_arn"]},{"dataType":"enum","enums":["ba_tin"]},{"dataType":"enum","enums":["bb_tin"]},{"dataType":"enum","enums":["bg_uic"]},{"dataType":"enum","enums":["bh_vat"]},{"dataType":"enum","enums":["bo_tin"]},{"dataType":"enum","enums":["br_cnpj"]},{"dataType":"enum","enums":["br_cpf"]},{"dataType":"enum","enums":["bs_tin"]},{"dataType":"enum","enums":["by_tin"]},{"dataType":"enum","enums":["ca_bn"]},{"dataType":"enum","enums":["ca_gst_hst"]},{"dataType":"enum","enums":["ca_pst_bc"]},{"dataType":"enum","enums":["ca_pst_mb"]},{"dataType":"enum","enums":["ca_pst_sk"]},{"dataType":"enum","enums":["ca_qst"]},{"dataType":"enum","enums":["cd_nif"]},{"dataType":"enum","enums":["ch_uid"]},{"dataType":"enum","enums":["ch_vat"]},{"dataType":"enum","enums":["cl_tin"]},{"dataType":"enum","enums":["cn_tin"]},{"dataType":"enum","enums":["co_nit"]},{"dataType":"enum","enums":["cr_tin"]},{"dataType":"enum","enums":["de_stn"]},{"dataType":"enum","enums":["do_rcn"]},{"dataType":"enum","enums":["ec_ruc"]},{"dataType":"enum","enums":["eg_tin"]},{"dataType":"enum","enums":["es_cif"]},{"dataType":"enum","enums":["eu_oss_vat"]},{"dataType":"enum","enums":["eu_vat"]},{"dataType":"enum","enums":["gb_vat"]},{"dataType":"enum","enums":["ge_vat"]},{"dataType":"enum","enums":["gn_nif"]},{"dataType":"enum","enums":["hk_br"]},{"dataType":"enum","enums":["hr_oib"]},{"dataType":"enum","enums":["hu_tin"]},{"dataType":"enum","enums":["id_npwp"]},{"dataType":"enum","enums":["il_vat"]},{"dataType":"enum","enums":["in_gst"]},{"dataType":"enum","enums":["is_vat"]},{"dataType":"enum","enums":["jp_cn"]},{"dataType":"enum","enums":["jp_rn"]},{"dataType":"enum","enums":["jp_trn"]},{"dataType":"enum","enums":["ke_pin"]},{"dataType":"enum","enums":["kh_tin"]},{"dataType":"enum","enums":["kr_brn"]},{"dataType":"enum","enums":["kz_bin"]},{"dataType":"enum","enums":["li_uid"]},{"dataType":"enum","enums":["li_vat"]},{"dataType":"enum","enums":["ma_vat"]},{"dataType":"enum","enums":["md_vat"]},{"dataType":"enum","enums":["me_pib"]},{"dataType":"enum","enums":["mk_vat"]},{"dataType":"enum","enums":["mr_nif"]},{"dataType":"enum","enums":["mx_rfc"]},{"dataType":"enum","enums":["my_frp"]},{"dataType":"enum","enums":["my_itn"]},{"dataType":"enum","enums":["my_sst"]},{"dataType":"enum","enums":["ng_tin"]},{"dataType":"enum","enums":["no_vat"]},{"dataType":"enum","enums":["no_voec"]},{"dataType":"enum","enums":["np_pan"]},{"dataType":"enum","enums":["nz_gst"]},{"dataType":"enum","enums":["om_vat"]},{"dataType":"enum","enums":["pe_ruc"]},{"dataType":"enum","enums":["ph_tin"]},{"dataType":"enum","enums":["ro_tin"]},{"dataType":"enum","enums":["rs_pib"]},{"dataType":"enum","enums":["ru_inn"]},{"dataType":"enum","enums":["ru_kpp"]},{"dataType":"enum","enums":["sa_vat"]},{"dataType":"enum","enums":["sg_gst"]},{"dataType":"enum","enums":["sg_uen"]},{"dataType":"enum","enums":["si_tin"]},{"dataType":"enum","enums":["sn_ninea"]},{"dataType":"enum","enums":["sr_fin"]},{"dataType":"enum","enums":["sv_nit"]},{"dataType":"enum","enums":["th_vat"]},{"dataType":"enum","enums":["tj_tin"]},{"dataType":"enum","enums":["tr_tin"]},{"dataType":"enum","enums":["tw_vat"]},{"dataType":"enum","enums":["tz_vat"]},{"dataType":"enum","enums":["ua_vat"]},{"dataType":"enum","enums":["ug_tin"]},{"dataType":"enum","enums":["unknown"]},{"dataType":"enum","enums":["us_ein"]},{"dataType":"enum","enums":["uy_ruc"]},{"dataType":"enum","enums":["uz_tin"]},{"dataType":"enum","enums":["uz_vat"]},{"dataType":"enum","enums":["ve_rif"]},{"dataType":"enum","enums":["vn_tin"]},{"dataType":"enum","enums":["za_vat"]},{"dataType":"enum","enums":["zm_tin"]},{"dataType":"enum","enums":["zw_tin"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.TaxId.Verification.Status": { + "stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility.VisaCompliance.Status": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["pending"]},{"dataType":"enum","enums":["unavailable"]},{"dataType":"enum","enums":["unverified"]},{"dataType":"enum","enums":["verified"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["fee_acknowledged"]},{"dataType":"enum","enums":["requires_fee_acknowledgement"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.TaxId.Verification": { + "stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility.VisaCompliance": { "dataType": "refObject", "properties": { - "status": {"ref":"stripe.Stripe.TaxId.Verification.Status","required":true}, - "verified_address": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "verified_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "status": {"ref":"stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility.VisaCompliance.Status","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.TaxId": { + "stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["tax_id"],"required":true}, - "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "created": {"dataType":"double","required":true}, - "customer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Customer"},{"dataType":"enum","enums":[null]}],"required":true}, - "deleted": {"dataType":"void"}, - "livemode": {"dataType":"boolean","required":true}, - "owner": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.TaxId.Owner"},{"dataType":"enum","enums":[null]}],"required":true}, - "type": {"ref":"stripe.Stripe.TaxId.Type","required":true}, - "value": {"dataType":"string","required":true}, - "verification": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.TaxId.Verification"},{"dataType":"enum","enums":[null]}],"required":true}, + "visa_compelling_evidence_3": {"ref":"stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility.VisaCompellingEvidence3"}, + "visa_compliance": {"ref":"stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility.VisaCompliance"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.DeletedTaxId": { + "stripe.Stripe.Dispute.EvidenceDetails": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["tax_id"],"required":true}, - "deleted": {"dataType":"enum","enums":[true],"required":true}, + "due_by": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "enhanced_eligibility": {"ref":"stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility","required":true}, + "has_evidence": {"dataType":"boolean","required":true}, + "past_due": {"dataType":"boolean","required":true}, + "submission_count": {"dataType":"double","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.AutomaticTax.DisabledReason": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["finalization_requires_location_inputs"]},{"dataType":"enum","enums":["finalization_system_error"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.AutomaticTax.Liability.Type": { + "stripe.Stripe.Dispute.PaymentMethodDetails.AmazonPay.DisputeType": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account"]},{"dataType":"enum","enums":["self"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["chargeback"]},{"dataType":"enum","enums":["claim"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.AutomaticTax.Liability": { + "stripe.Stripe.Dispute.PaymentMethodDetails.AmazonPay": { "dataType": "refObject", "properties": { - "account": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}]}, - "type": {"ref":"stripe.Stripe.Invoice.AutomaticTax.Liability.Type","required":true}, + "dispute_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Dispute.PaymentMethodDetails.AmazonPay.DisputeType"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.AutomaticTax.Status": { + "stripe.Stripe.Dispute.PaymentMethodDetails.Card.CaseType": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["complete"]},{"dataType":"enum","enums":["failed"]},{"dataType":"enum","enums":["requires_location_inputs"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["chargeback"]},{"dataType":"enum","enums":["inquiry"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.AutomaticTax": { + "stripe.Stripe.Dispute.PaymentMethodDetails.Card": { "dataType": "refObject", "properties": { - "disabled_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.AutomaticTax.DisabledReason"},{"dataType":"enum","enums":[null]}],"required":true}, - "enabled": {"dataType":"boolean","required":true}, - "liability": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.AutomaticTax.Liability"},{"dataType":"enum","enums":[null]}],"required":true}, - "status": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.AutomaticTax.Status"},{"dataType":"enum","enums":[null]}],"required":true}, + "brand": {"dataType":"string","required":true}, + "case_type": {"ref":"stripe.Stripe.Dispute.PaymentMethodDetails.Card.CaseType","required":true}, + "network_reason_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.BillingReason": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["automatic_pending_invoice_item_invoice"]},{"dataType":"enum","enums":["manual"]},{"dataType":"enum","enums":["quote_accept"]},{"dataType":"enum","enums":["subscription"]},{"dataType":"enum","enums":["subscription_create"]},{"dataType":"enum","enums":["subscription_cycle"]},{"dataType":"enum","enums":["subscription_threshold"]},{"dataType":"enum","enums":["subscription_update"]},{"dataType":"enum","enums":["upcoming"]}],"validators":{}}, + "stripe.Stripe.Dispute.PaymentMethodDetails.Klarna": { + "dataType": "refObject", + "properties": { + "reason_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.BalanceTransaction.FeeDetail": { + "stripe.Stripe.Dispute.PaymentMethodDetails.Paypal": { "dataType": "refObject", "properties": { - "amount": {"dataType":"double","required":true}, - "application": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "currency": {"dataType":"string","required":true}, - "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "type": {"dataType":"string","required":true}, + "case_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "reason_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.ApplicationFee": { + "stripe.Stripe.Dispute.PaymentMethodDetails.Type": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["amazon_pay"]},{"dataType":"enum","enums":["card"]},{"dataType":"enum","enums":["klarna"]},{"dataType":"enum","enums":["paypal"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Dispute.PaymentMethodDetails": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["application_fee"],"required":true}, - "account": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}],"required":true}, - "amount": {"dataType":"double","required":true}, - "amount_refunded": {"dataType":"double","required":true}, - "application": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Application"}],"required":true}, - "balance_transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.BalanceTransaction"},{"dataType":"enum","enums":[null]}],"required":true}, - "charge": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Charge"}],"required":true}, - "created": {"dataType":"double","required":true}, - "currency": {"dataType":"string","required":true}, - "fee_source": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.ApplicationFee.FeeSource"},{"dataType":"enum","enums":[null]}],"required":true}, - "livemode": {"dataType":"boolean","required":true}, - "originating_transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Charge"},{"dataType":"enum","enums":[null]}],"required":true}, - "refunded": {"dataType":"boolean","required":true}, - "refunds": {"ref":"stripe.Stripe.ApiList_stripe.Stripe.FeeRefund_","required":true}, + "amazon_pay": {"ref":"stripe.Stripe.Dispute.PaymentMethodDetails.AmazonPay"}, + "card": {"ref":"stripe.Stripe.Dispute.PaymentMethodDetails.Card"}, + "klarna": {"ref":"stripe.Stripe.Dispute.PaymentMethodDetails.Klarna"}, + "paypal": {"ref":"stripe.Stripe.Dispute.PaymentMethodDetails.Paypal"}, + "type": {"ref":"stripe.Stripe.Dispute.PaymentMethodDetails.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge": { + "stripe.Stripe.Dispute.Status": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["lost"]},{"dataType":"enum","enums":["needs_response"]},{"dataType":"enum","enums":["under_review"]},{"dataType":"enum","enums":["warning_closed"]},{"dataType":"enum","enums":["warning_needs_response"]},{"dataType":"enum","enums":["warning_under_review"]},{"dataType":"enum","enums":["won"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Dispute": { "dataType": "refObject", "properties": { "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["charge"],"required":true}, + "object": {"dataType":"enum","enums":["dispute"],"required":true}, "amount": {"dataType":"double","required":true}, - "amount_captured": {"dataType":"double","required":true}, - "amount_refunded": {"dataType":"double","required":true}, - "application": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Application"},{"dataType":"enum","enums":[null]}],"required":true}, - "application_fee": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.ApplicationFee"},{"dataType":"enum","enums":[null]}],"required":true}, - "application_fee_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "authorization_code": {"dataType":"string"}, - "balance_transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.BalanceTransaction"},{"dataType":"enum","enums":[null]}],"required":true}, - "billing_details": {"ref":"stripe.Stripe.Charge.BillingDetails","required":true}, - "calculated_statement_descriptor": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "captured": {"dataType":"boolean","required":true}, + "balance_transactions": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.BalanceTransaction"},"required":true}, + "charge": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Charge"}],"required":true}, "created": {"dataType":"double","required":true}, "currency": {"dataType":"string","required":true}, - "customer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Customer"},{"ref":"stripe.Stripe.DeletedCustomer"},{"dataType":"enum","enums":[null]}],"required":true}, - "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "disputed": {"dataType":"boolean","required":true}, - "failure_balance_transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.BalanceTransaction"},{"dataType":"enum","enums":[null]}],"required":true}, - "failure_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "failure_message": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "fraud_details": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.FraudDetails"},{"dataType":"enum","enums":[null]}],"required":true}, - "invoice": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Invoice"},{"dataType":"enum","enums":[null]}],"required":true}, - "level3": {"ref":"stripe.Stripe.Charge.Level3"}, + "enhanced_eligibility_types": {"dataType":"array","array":{"dataType":"enum","enums":["visa_compelling_evidence_3"]},"required":true}, + "evidence": {"ref":"stripe.Stripe.Dispute.Evidence","required":true}, + "evidence_details": {"ref":"stripe.Stripe.Dispute.EvidenceDetails","required":true}, + "is_charge_refundable": {"dataType":"boolean","required":true}, "livemode": {"dataType":"boolean","required":true}, "metadata": {"ref":"stripe.Stripe.Metadata","required":true}, - "on_behalf_of": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"},{"dataType":"enum","enums":[null]}],"required":true}, - "outcome": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.Outcome"},{"dataType":"enum","enums":[null]}],"required":true}, - "paid": {"dataType":"boolean","required":true}, + "network_reason_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, "payment_intent": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentIntent"},{"dataType":"enum","enums":[null]}],"required":true}, - "payment_method": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "payment_method_details": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails"},{"dataType":"enum","enums":[null]}],"required":true}, - "radar_options": {"ref":"stripe.Stripe.Charge.RadarOptions"}, - "receipt_email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "receipt_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "receipt_url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "refunded": {"dataType":"boolean","required":true}, - "refunds": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.ApiList_stripe.Stripe.Refund_"},{"dataType":"enum","enums":[null]}]}, - "review": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Review"},{"dataType":"enum","enums":[null]}],"required":true}, - "shipping": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.Shipping"},{"dataType":"enum","enums":[null]}],"required":true}, - "source": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.CustomerSource"},{"dataType":"enum","enums":[null]}],"required":true}, - "source_transfer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Transfer"},{"dataType":"enum","enums":[null]}],"required":true}, - "statement_descriptor": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "statement_descriptor_suffix": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "status": {"ref":"stripe.Stripe.Charge.Status","required":true}, - "transfer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Transfer"}]}, - "transfer_data": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.TransferData"},{"dataType":"enum","enums":[null]}],"required":true}, - "transfer_group": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "payment_method_details": {"ref":"stripe.Stripe.Dispute.PaymentMethodDetails"}, + "reason": {"dataType":"string","required":true}, + "status": {"ref":"stripe.Stripe.Dispute.Status","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.ConnectCollectionTransfer": { + "stripe.Stripe.FeeRefund": { "dataType": "refObject", "properties": { "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["connect_collection_transfer"],"required":true}, + "object": {"dataType":"enum","enums":["fee_refund"],"required":true}, "amount": {"dataType":"double","required":true}, + "balance_transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.BalanceTransaction"},{"dataType":"enum","enums":[null]}],"required":true}, + "created": {"dataType":"double","required":true}, "currency": {"dataType":"string","required":true}, - "destination": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}],"required":true}, - "livemode": {"dataType":"boolean","required":true}, + "fee": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.ApplicationFee"}],"required":true}, + "metadata": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Metadata"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.BalanceTransaction": { + "stripe.Stripe.Issuing.Authorization.AmountDetails": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["balance_transaction"],"required":true}, - "amount": {"dataType":"double","required":true}, - "available_on": {"dataType":"double","required":true}, - "created": {"dataType":"double","required":true}, - "currency": {"dataType":"string","required":true}, - "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "exchange_rate": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "fee": {"dataType":"double","required":true}, - "fee_details": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.BalanceTransaction.FeeDetail"},"required":true}, - "net": {"dataType":"double","required":true}, - "reporting_category": {"dataType":"string","required":true}, - "source": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.BalanceTransactionSource"},{"dataType":"enum","enums":[null]}],"required":true}, - "status": {"dataType":"string","required":true}, - "type": {"ref":"stripe.Stripe.BalanceTransaction.Type","required":true}, + "atm_fee": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "cashback_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.CustomerCashBalanceTransaction": { + "stripe.Stripe.Issuing.Authorization.AuthorizationMethod": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["chip"]},{"dataType":"enum","enums":["contactless"]},{"dataType":"enum","enums":["keyed_in"]},{"dataType":"enum","enums":["online"]},{"dataType":"enum","enums":["swipe"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Issuing.Card.CancellationReason": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["design_rejected"]},{"dataType":"enum","enums":["lost"]},{"dataType":"enum","enums":["stolen"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Issuing.Cardholder.Billing": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["customer_cash_balance_transaction"],"required":true}, - "adjusted_for_overdraft": {"ref":"stripe.Stripe.CustomerCashBalanceTransaction.AdjustedForOverdraft"}, - "applied_to_payment": {"ref":"stripe.Stripe.CustomerCashBalanceTransaction.AppliedToPayment"}, - "created": {"dataType":"double","required":true}, - "currency": {"dataType":"string","required":true}, - "customer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Customer"}],"required":true}, - "ending_balance": {"dataType":"double","required":true}, - "funded": {"ref":"stripe.Stripe.CustomerCashBalanceTransaction.Funded"}, - "livemode": {"dataType":"boolean","required":true}, - "net_amount": {"dataType":"double","required":true}, - "refunded_from_payment": {"ref":"stripe.Stripe.CustomerCashBalanceTransaction.RefundedFromPayment"}, - "transferred_to_balance": {"ref":"stripe.Stripe.CustomerCashBalanceTransaction.TransferredToBalance"}, - "type": {"ref":"stripe.Stripe.CustomerCashBalanceTransaction.Type","required":true}, - "unapplied_from_payment": {"ref":"stripe.Stripe.CustomerCashBalanceTransaction.UnappliedFromPayment"}, + "address": {"ref":"stripe.Stripe.Address","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.CustomerCashBalanceTransaction.AdjustedForOverdraft": { + "stripe.Stripe.Issuing.Cardholder.Company": { "dataType": "refObject", "properties": { - "balance_transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.BalanceTransaction"}],"required":true}, - "linked_transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.CustomerCashBalanceTransaction"}],"required":true}, + "tax_id_provided": {"dataType":"boolean","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent": { + "stripe.Stripe.Issuing.Cardholder.Individual.CardIssuing.UserTermsAcceptance": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["payment_intent"],"required":true}, - "amount": {"dataType":"double","required":true}, - "amount_capturable": {"dataType":"double","required":true}, - "amount_details": {"ref":"stripe.Stripe.PaymentIntent.AmountDetails"}, - "amount_received": {"dataType":"double","required":true}, - "application": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Application"},{"dataType":"enum","enums":[null]}],"required":true}, - "application_fee_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "automatic_payment_methods": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.AutomaticPaymentMethods"},{"dataType":"enum","enums":[null]}],"required":true}, - "canceled_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "cancellation_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.CancellationReason"},{"dataType":"enum","enums":[null]}],"required":true}, - "capture_method": {"ref":"stripe.Stripe.PaymentIntent.CaptureMethod","required":true}, - "client_secret": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "confirmation_method": {"ref":"stripe.Stripe.PaymentIntent.ConfirmationMethod","required":true}, - "created": {"dataType":"double","required":true}, - "currency": {"dataType":"string","required":true}, - "customer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Customer"},{"ref":"stripe.Stripe.DeletedCustomer"},{"dataType":"enum","enums":[null]}],"required":true}, - "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "invoice": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Invoice"},{"dataType":"enum","enums":[null]}],"required":true}, - "last_payment_error": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.LastPaymentError"},{"dataType":"enum","enums":[null]}],"required":true}, - "latest_charge": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Charge"},{"dataType":"enum","enums":[null]}],"required":true}, - "livemode": {"dataType":"boolean","required":true}, - "metadata": {"ref":"stripe.Stripe.Metadata","required":true}, - "next_action": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.NextAction"},{"dataType":"enum","enums":[null]}],"required":true}, - "on_behalf_of": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"},{"dataType":"enum","enums":[null]}],"required":true}, - "payment_method": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentMethod"},{"dataType":"enum","enums":[null]}],"required":true}, - "payment_method_configuration_details": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.PaymentMethodConfigurationDetails"},{"dataType":"enum","enums":[null]}],"required":true}, - "payment_method_options": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions"},{"dataType":"enum","enums":[null]}],"required":true}, - "payment_method_types": {"dataType":"array","array":{"dataType":"string"},"required":true}, - "processing": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.Processing"},{"dataType":"enum","enums":[null]}],"required":true}, - "receipt_email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "review": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Review"},{"dataType":"enum","enums":[null]}],"required":true}, - "setup_future_usage": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.SetupFutureUsage"},{"dataType":"enum","enums":[null]}],"required":true}, - "shipping": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.Shipping"},{"dataType":"enum","enums":[null]}],"required":true}, - "source": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.CustomerSource"},{"ref":"stripe.Stripe.DeletedCustomerSource"},{"dataType":"enum","enums":[null]}],"required":true}, - "statement_descriptor": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "statement_descriptor_suffix": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "status": {"ref":"stripe.Stripe.PaymentIntent.Status","required":true}, - "transfer_data": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.TransferData"},{"dataType":"enum","enums":[null]}],"required":true}, - "transfer_group": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "date": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "ip": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "user_agent": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.CustomerCashBalanceTransaction.AppliedToPayment": { + "stripe.Stripe.Issuing.Cardholder.Individual.CardIssuing": { "dataType": "refObject", "properties": { - "payment_intent": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentIntent"}],"required":true}, + "user_terms_acceptance": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Cardholder.Individual.CardIssuing.UserTermsAcceptance"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.EuBankTransfer": { + "stripe.Stripe.Issuing.Cardholder.Individual.Dob": { "dataType": "refObject", "properties": { - "bic": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "iban_last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "sender_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "day": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "month": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "year": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.GbBankTransfer": { + "stripe.Stripe.Issuing.Cardholder.Individual.Verification.Document": { "dataType": "refObject", "properties": { - "account_number_last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "sender_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "sort_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "back": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, + "front": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.JpBankTransfer": { + "stripe.Stripe.Issuing.Cardholder.Individual.Verification": { "dataType": "refObject", "properties": { - "sender_bank": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "sender_branch": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "sender_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "document": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Cardholder.Individual.Verification.Document"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.Type": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["eu_bank_transfer"]},{"dataType":"enum","enums":["gb_bank_transfer"]},{"dataType":"enum","enums":["jp_bank_transfer"]},{"dataType":"enum","enums":["mx_bank_transfer"]},{"dataType":"enum","enums":["us_bank_transfer"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.UsBankTransfer.Network": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["ach"]},{"dataType":"enum","enums":["domestic_wire_us"]},{"dataType":"enum","enums":["swift"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.UsBankTransfer": { + "stripe.Stripe.Issuing.Cardholder.Individual": { "dataType": "refObject", "properties": { - "network": {"ref":"stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.UsBankTransfer.Network"}, - "sender_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "card_issuing": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Cardholder.Individual.CardIssuing"},{"dataType":"enum","enums":[null]}]}, + "dob": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Cardholder.Individual.Dob"},{"dataType":"enum","enums":[null]}],"required":true}, + "first_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "last_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "verification": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Cardholder.Individual.Verification"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer": { - "dataType": "refObject", - "properties": { - "eu_bank_transfer": {"ref":"stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.EuBankTransfer"}, - "gb_bank_transfer": {"ref":"stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.GbBankTransfer"}, - "jp_bank_transfer": {"ref":"stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.JpBankTransfer"}, - "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "type": {"ref":"stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.Type","required":true}, - "us_bank_transfer": {"ref":"stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.UsBankTransfer"}, - }, - "additionalProperties": false, + "stripe.Stripe.Issuing.Cardholder.PreferredLocale": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["de"]},{"dataType":"enum","enums":["en"]},{"dataType":"enum","enums":["es"]},{"dataType":"enum","enums":["fr"]},{"dataType":"enum","enums":["it"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.CustomerCashBalanceTransaction.Funded": { - "dataType": "refObject", - "properties": { - "bank_transfer": {"ref":"stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer","required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Issuing.Cardholder.Requirements.DisabledReason": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["listed"]},{"dataType":"enum","enums":["rejected.listed"]},{"dataType":"enum","enums":["requirements.past_due"]},{"dataType":"enum","enums":["under_review"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Refund.DestinationDetails.Affirm": { - "dataType": "refObject", - "properties": { - }, - "additionalProperties": false, + "stripe.Stripe.Issuing.Cardholder.Requirements.PastDue": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["company.tax_id"]},{"dataType":"enum","enums":["individual.card_issuing.user_terms_acceptance.date"]},{"dataType":"enum","enums":["individual.card_issuing.user_terms_acceptance.ip"]},{"dataType":"enum","enums":["individual.dob.day"]},{"dataType":"enum","enums":["individual.dob.month"]},{"dataType":"enum","enums":["individual.dob.year"]},{"dataType":"enum","enums":["individual.first_name"]},{"dataType":"enum","enums":["individual.last_name"]},{"dataType":"enum","enums":["individual.verification.document"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Refund.DestinationDetails.AfterpayClearpay": { + "stripe.Stripe.Issuing.Cardholder.Requirements": { "dataType": "refObject", "properties": { + "disabled_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Cardholder.Requirements.DisabledReason"},{"dataType":"enum","enums":[null]}],"required":true}, + "past_due": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Issuing.Cardholder.Requirements.PastDue"}},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Refund.DestinationDetails.Alipay": { - "dataType": "refObject", - "properties": { - }, - "additionalProperties": false, + "stripe.Stripe.Issuing.Cardholder.SpendingControls.AllowedCategory": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["ac_refrigeration_repair"]},{"dataType":"enum","enums":["accounting_bookkeeping_services"]},{"dataType":"enum","enums":["advertising_services"]},{"dataType":"enum","enums":["agricultural_cooperative"]},{"dataType":"enum","enums":["airlines_air_carriers"]},{"dataType":"enum","enums":["airports_flying_fields"]},{"dataType":"enum","enums":["ambulance_services"]},{"dataType":"enum","enums":["amusement_parks_carnivals"]},{"dataType":"enum","enums":["antique_reproductions"]},{"dataType":"enum","enums":["antique_shops"]},{"dataType":"enum","enums":["aquariums"]},{"dataType":"enum","enums":["architectural_surveying_services"]},{"dataType":"enum","enums":["art_dealers_and_galleries"]},{"dataType":"enum","enums":["artists_supply_and_craft_shops"]},{"dataType":"enum","enums":["auto_and_home_supply_stores"]},{"dataType":"enum","enums":["auto_body_repair_shops"]},{"dataType":"enum","enums":["auto_paint_shops"]},{"dataType":"enum","enums":["auto_service_shops"]},{"dataType":"enum","enums":["automated_cash_disburse"]},{"dataType":"enum","enums":["automated_fuel_dispensers"]},{"dataType":"enum","enums":["automobile_associations"]},{"dataType":"enum","enums":["automotive_parts_and_accessories_stores"]},{"dataType":"enum","enums":["automotive_tire_stores"]},{"dataType":"enum","enums":["bail_and_bond_payments"]},{"dataType":"enum","enums":["bakeries"]},{"dataType":"enum","enums":["bands_orchestras"]},{"dataType":"enum","enums":["barber_and_beauty_shops"]},{"dataType":"enum","enums":["betting_casino_gambling"]},{"dataType":"enum","enums":["bicycle_shops"]},{"dataType":"enum","enums":["billiard_pool_establishments"]},{"dataType":"enum","enums":["boat_dealers"]},{"dataType":"enum","enums":["boat_rentals_and_leases"]},{"dataType":"enum","enums":["book_stores"]},{"dataType":"enum","enums":["books_periodicals_and_newspapers"]},{"dataType":"enum","enums":["bowling_alleys"]},{"dataType":"enum","enums":["bus_lines"]},{"dataType":"enum","enums":["business_secretarial_schools"]},{"dataType":"enum","enums":["buying_shopping_services"]},{"dataType":"enum","enums":["cable_satellite_and_other_pay_television_and_radio"]},{"dataType":"enum","enums":["camera_and_photographic_supply_stores"]},{"dataType":"enum","enums":["candy_nut_and_confectionery_stores"]},{"dataType":"enum","enums":["car_and_truck_dealers_new_used"]},{"dataType":"enum","enums":["car_and_truck_dealers_used_only"]},{"dataType":"enum","enums":["car_rental_agencies"]},{"dataType":"enum","enums":["car_washes"]},{"dataType":"enum","enums":["carpentry_services"]},{"dataType":"enum","enums":["carpet_upholstery_cleaning"]},{"dataType":"enum","enums":["caterers"]},{"dataType":"enum","enums":["charitable_and_social_service_organizations_fundraising"]},{"dataType":"enum","enums":["chemicals_and_allied_products"]},{"dataType":"enum","enums":["child_care_services"]},{"dataType":"enum","enums":["childrens_and_infants_wear_stores"]},{"dataType":"enum","enums":["chiropodists_podiatrists"]},{"dataType":"enum","enums":["chiropractors"]},{"dataType":"enum","enums":["cigar_stores_and_stands"]},{"dataType":"enum","enums":["civic_social_fraternal_associations"]},{"dataType":"enum","enums":["cleaning_and_maintenance"]},{"dataType":"enum","enums":["clothing_rental"]},{"dataType":"enum","enums":["colleges_universities"]},{"dataType":"enum","enums":["commercial_equipment"]},{"dataType":"enum","enums":["commercial_footwear"]},{"dataType":"enum","enums":["commercial_photography_art_and_graphics"]},{"dataType":"enum","enums":["commuter_transport_and_ferries"]},{"dataType":"enum","enums":["computer_network_services"]},{"dataType":"enum","enums":["computer_programming"]},{"dataType":"enum","enums":["computer_repair"]},{"dataType":"enum","enums":["computer_software_stores"]},{"dataType":"enum","enums":["computers_peripherals_and_software"]},{"dataType":"enum","enums":["concrete_work_services"]},{"dataType":"enum","enums":["construction_materials"]},{"dataType":"enum","enums":["consulting_public_relations"]},{"dataType":"enum","enums":["correspondence_schools"]},{"dataType":"enum","enums":["cosmetic_stores"]},{"dataType":"enum","enums":["counseling_services"]},{"dataType":"enum","enums":["country_clubs"]},{"dataType":"enum","enums":["courier_services"]},{"dataType":"enum","enums":["court_costs"]},{"dataType":"enum","enums":["credit_reporting_agencies"]},{"dataType":"enum","enums":["cruise_lines"]},{"dataType":"enum","enums":["dairy_products_stores"]},{"dataType":"enum","enums":["dance_hall_studios_schools"]},{"dataType":"enum","enums":["dating_escort_services"]},{"dataType":"enum","enums":["dentists_orthodontists"]},{"dataType":"enum","enums":["department_stores"]},{"dataType":"enum","enums":["detective_agencies"]},{"dataType":"enum","enums":["digital_goods_applications"]},{"dataType":"enum","enums":["digital_goods_games"]},{"dataType":"enum","enums":["digital_goods_large_volume"]},{"dataType":"enum","enums":["digital_goods_media"]},{"dataType":"enum","enums":["direct_marketing_catalog_merchant"]},{"dataType":"enum","enums":["direct_marketing_combination_catalog_and_retail_merchant"]},{"dataType":"enum","enums":["direct_marketing_inbound_telemarketing"]},{"dataType":"enum","enums":["direct_marketing_insurance_services"]},{"dataType":"enum","enums":["direct_marketing_other"]},{"dataType":"enum","enums":["direct_marketing_outbound_telemarketing"]},{"dataType":"enum","enums":["direct_marketing_subscription"]},{"dataType":"enum","enums":["direct_marketing_travel"]},{"dataType":"enum","enums":["discount_stores"]},{"dataType":"enum","enums":["doctors"]},{"dataType":"enum","enums":["door_to_door_sales"]},{"dataType":"enum","enums":["drapery_window_covering_and_upholstery_stores"]},{"dataType":"enum","enums":["drinking_places"]},{"dataType":"enum","enums":["drug_stores_and_pharmacies"]},{"dataType":"enum","enums":["drugs_drug_proprietaries_and_druggist_sundries"]},{"dataType":"enum","enums":["dry_cleaners"]},{"dataType":"enum","enums":["durable_goods"]},{"dataType":"enum","enums":["duty_free_stores"]},{"dataType":"enum","enums":["eating_places_restaurants"]},{"dataType":"enum","enums":["educational_services"]},{"dataType":"enum","enums":["electric_razor_stores"]},{"dataType":"enum","enums":["electric_vehicle_charging"]},{"dataType":"enum","enums":["electrical_parts_and_equipment"]},{"dataType":"enum","enums":["electrical_services"]},{"dataType":"enum","enums":["electronics_repair_shops"]},{"dataType":"enum","enums":["electronics_stores"]},{"dataType":"enum","enums":["elementary_secondary_schools"]},{"dataType":"enum","enums":["emergency_services_gcas_visa_use_only"]},{"dataType":"enum","enums":["employment_temp_agencies"]},{"dataType":"enum","enums":["equipment_rental"]},{"dataType":"enum","enums":["exterminating_services"]},{"dataType":"enum","enums":["family_clothing_stores"]},{"dataType":"enum","enums":["fast_food_restaurants"]},{"dataType":"enum","enums":["financial_institutions"]},{"dataType":"enum","enums":["fines_government_administrative_entities"]},{"dataType":"enum","enums":["fireplace_fireplace_screens_and_accessories_stores"]},{"dataType":"enum","enums":["floor_covering_stores"]},{"dataType":"enum","enums":["florists"]},{"dataType":"enum","enums":["florists_supplies_nursery_stock_and_flowers"]},{"dataType":"enum","enums":["freezer_and_locker_meat_provisioners"]},{"dataType":"enum","enums":["fuel_dealers_non_automotive"]},{"dataType":"enum","enums":["funeral_services_crematories"]},{"dataType":"enum","enums":["furniture_home_furnishings_and_equipment_stores_except_appliances"]},{"dataType":"enum","enums":["furniture_repair_refinishing"]},{"dataType":"enum","enums":["furriers_and_fur_shops"]},{"dataType":"enum","enums":["general_services"]},{"dataType":"enum","enums":["gift_card_novelty_and_souvenir_shops"]},{"dataType":"enum","enums":["glass_paint_and_wallpaper_stores"]},{"dataType":"enum","enums":["glassware_crystal_stores"]},{"dataType":"enum","enums":["golf_courses_public"]},{"dataType":"enum","enums":["government_licensed_horse_dog_racing_us_region_only"]},{"dataType":"enum","enums":["government_licensed_online_casions_online_gambling_us_region_only"]},{"dataType":"enum","enums":["government_owned_lotteries_non_us_region"]},{"dataType":"enum","enums":["government_owned_lotteries_us_region_only"]},{"dataType":"enum","enums":["government_services"]},{"dataType":"enum","enums":["grocery_stores_supermarkets"]},{"dataType":"enum","enums":["hardware_equipment_and_supplies"]},{"dataType":"enum","enums":["hardware_stores"]},{"dataType":"enum","enums":["health_and_beauty_spas"]},{"dataType":"enum","enums":["hearing_aids_sales_and_supplies"]},{"dataType":"enum","enums":["heating_plumbing_a_c"]},{"dataType":"enum","enums":["hobby_toy_and_game_shops"]},{"dataType":"enum","enums":["home_supply_warehouse_stores"]},{"dataType":"enum","enums":["hospitals"]},{"dataType":"enum","enums":["hotels_motels_and_resorts"]},{"dataType":"enum","enums":["household_appliance_stores"]},{"dataType":"enum","enums":["industrial_supplies"]},{"dataType":"enum","enums":["information_retrieval_services"]},{"dataType":"enum","enums":["insurance_default"]},{"dataType":"enum","enums":["insurance_underwriting_premiums"]},{"dataType":"enum","enums":["intra_company_purchases"]},{"dataType":"enum","enums":["jewelry_stores_watches_clocks_and_silverware_stores"]},{"dataType":"enum","enums":["landscaping_services"]},{"dataType":"enum","enums":["laundries"]},{"dataType":"enum","enums":["laundry_cleaning_services"]},{"dataType":"enum","enums":["legal_services_attorneys"]},{"dataType":"enum","enums":["luggage_and_leather_goods_stores"]},{"dataType":"enum","enums":["lumber_building_materials_stores"]},{"dataType":"enum","enums":["manual_cash_disburse"]},{"dataType":"enum","enums":["marinas_service_and_supplies"]},{"dataType":"enum","enums":["marketplaces"]},{"dataType":"enum","enums":["masonry_stonework_and_plaster"]},{"dataType":"enum","enums":["massage_parlors"]},{"dataType":"enum","enums":["medical_and_dental_labs"]},{"dataType":"enum","enums":["medical_dental_ophthalmic_and_hospital_equipment_and_supplies"]},{"dataType":"enum","enums":["medical_services"]},{"dataType":"enum","enums":["membership_organizations"]},{"dataType":"enum","enums":["mens_and_boys_clothing_and_accessories_stores"]},{"dataType":"enum","enums":["mens_womens_clothing_stores"]},{"dataType":"enum","enums":["metal_service_centers"]},{"dataType":"enum","enums":["miscellaneous"]},{"dataType":"enum","enums":["miscellaneous_apparel_and_accessory_shops"]},{"dataType":"enum","enums":["miscellaneous_auto_dealers"]},{"dataType":"enum","enums":["miscellaneous_business_services"]},{"dataType":"enum","enums":["miscellaneous_food_stores"]},{"dataType":"enum","enums":["miscellaneous_general_merchandise"]},{"dataType":"enum","enums":["miscellaneous_general_services"]},{"dataType":"enum","enums":["miscellaneous_home_furnishing_specialty_stores"]},{"dataType":"enum","enums":["miscellaneous_publishing_and_printing"]},{"dataType":"enum","enums":["miscellaneous_recreation_services"]},{"dataType":"enum","enums":["miscellaneous_repair_shops"]},{"dataType":"enum","enums":["miscellaneous_specialty_retail"]},{"dataType":"enum","enums":["mobile_home_dealers"]},{"dataType":"enum","enums":["motion_picture_theaters"]},{"dataType":"enum","enums":["motor_freight_carriers_and_trucking"]},{"dataType":"enum","enums":["motor_homes_dealers"]},{"dataType":"enum","enums":["motor_vehicle_supplies_and_new_parts"]},{"dataType":"enum","enums":["motorcycle_shops_and_dealers"]},{"dataType":"enum","enums":["motorcycle_shops_dealers"]},{"dataType":"enum","enums":["music_stores_musical_instruments_pianos_and_sheet_music"]},{"dataType":"enum","enums":["news_dealers_and_newsstands"]},{"dataType":"enum","enums":["non_fi_money_orders"]},{"dataType":"enum","enums":["non_fi_stored_value_card_purchase_load"]},{"dataType":"enum","enums":["nondurable_goods"]},{"dataType":"enum","enums":["nurseries_lawn_and_garden_supply_stores"]},{"dataType":"enum","enums":["nursing_personal_care"]},{"dataType":"enum","enums":["office_and_commercial_furniture"]},{"dataType":"enum","enums":["opticians_eyeglasses"]},{"dataType":"enum","enums":["optometrists_ophthalmologist"]},{"dataType":"enum","enums":["orthopedic_goods_prosthetic_devices"]},{"dataType":"enum","enums":["osteopaths"]},{"dataType":"enum","enums":["package_stores_beer_wine_and_liquor"]},{"dataType":"enum","enums":["paints_varnishes_and_supplies"]},{"dataType":"enum","enums":["parking_lots_garages"]},{"dataType":"enum","enums":["passenger_railways"]},{"dataType":"enum","enums":["pawn_shops"]},{"dataType":"enum","enums":["pet_shops_pet_food_and_supplies"]},{"dataType":"enum","enums":["petroleum_and_petroleum_products"]},{"dataType":"enum","enums":["photo_developing"]},{"dataType":"enum","enums":["photographic_photocopy_microfilm_equipment_and_supplies"]},{"dataType":"enum","enums":["photographic_studios"]},{"dataType":"enum","enums":["picture_video_production"]},{"dataType":"enum","enums":["piece_goods_notions_and_other_dry_goods"]},{"dataType":"enum","enums":["plumbing_heating_equipment_and_supplies"]},{"dataType":"enum","enums":["political_organizations"]},{"dataType":"enum","enums":["postal_services_government_only"]},{"dataType":"enum","enums":["precious_stones_and_metals_watches_and_jewelry"]},{"dataType":"enum","enums":["professional_services"]},{"dataType":"enum","enums":["public_warehousing_and_storage"]},{"dataType":"enum","enums":["quick_copy_repro_and_blueprint"]},{"dataType":"enum","enums":["railroads"]},{"dataType":"enum","enums":["real_estate_agents_and_managers_rentals"]},{"dataType":"enum","enums":["record_stores"]},{"dataType":"enum","enums":["recreational_vehicle_rentals"]},{"dataType":"enum","enums":["religious_goods_stores"]},{"dataType":"enum","enums":["religious_organizations"]},{"dataType":"enum","enums":["roofing_siding_sheet_metal"]},{"dataType":"enum","enums":["secretarial_support_services"]},{"dataType":"enum","enums":["security_brokers_dealers"]},{"dataType":"enum","enums":["service_stations"]},{"dataType":"enum","enums":["sewing_needlework_fabric_and_piece_goods_stores"]},{"dataType":"enum","enums":["shoe_repair_hat_cleaning"]},{"dataType":"enum","enums":["shoe_stores"]},{"dataType":"enum","enums":["small_appliance_repair"]},{"dataType":"enum","enums":["snowmobile_dealers"]},{"dataType":"enum","enums":["special_trade_services"]},{"dataType":"enum","enums":["specialty_cleaning"]},{"dataType":"enum","enums":["sporting_goods_stores"]},{"dataType":"enum","enums":["sporting_recreation_camps"]},{"dataType":"enum","enums":["sports_and_riding_apparel_stores"]},{"dataType":"enum","enums":["sports_clubs_fields"]},{"dataType":"enum","enums":["stamp_and_coin_stores"]},{"dataType":"enum","enums":["stationary_office_supplies_printing_and_writing_paper"]},{"dataType":"enum","enums":["stationery_stores_office_and_school_supply_stores"]},{"dataType":"enum","enums":["swimming_pools_sales"]},{"dataType":"enum","enums":["t_ui_travel_germany"]},{"dataType":"enum","enums":["tailors_alterations"]},{"dataType":"enum","enums":["tax_payments_government_agencies"]},{"dataType":"enum","enums":["tax_preparation_services"]},{"dataType":"enum","enums":["taxicabs_limousines"]},{"dataType":"enum","enums":["telecommunication_equipment_and_telephone_sales"]},{"dataType":"enum","enums":["telecommunication_services"]},{"dataType":"enum","enums":["telegraph_services"]},{"dataType":"enum","enums":["tent_and_awning_shops"]},{"dataType":"enum","enums":["testing_laboratories"]},{"dataType":"enum","enums":["theatrical_ticket_agencies"]},{"dataType":"enum","enums":["timeshares"]},{"dataType":"enum","enums":["tire_retreading_and_repair"]},{"dataType":"enum","enums":["tolls_bridge_fees"]},{"dataType":"enum","enums":["tourist_attractions_and_exhibits"]},{"dataType":"enum","enums":["towing_services"]},{"dataType":"enum","enums":["trailer_parks_campgrounds"]},{"dataType":"enum","enums":["transportation_services"]},{"dataType":"enum","enums":["travel_agencies_tour_operators"]},{"dataType":"enum","enums":["truck_stop_iteration"]},{"dataType":"enum","enums":["truck_utility_trailer_rentals"]},{"dataType":"enum","enums":["typesetting_plate_making_and_related_services"]},{"dataType":"enum","enums":["typewriter_stores"]},{"dataType":"enum","enums":["u_s_federal_government_agencies_or_departments"]},{"dataType":"enum","enums":["uniforms_commercial_clothing"]},{"dataType":"enum","enums":["used_merchandise_and_secondhand_stores"]},{"dataType":"enum","enums":["utilities"]},{"dataType":"enum","enums":["variety_stores"]},{"dataType":"enum","enums":["veterinary_services"]},{"dataType":"enum","enums":["video_amusement_game_supplies"]},{"dataType":"enum","enums":["video_game_arcades"]},{"dataType":"enum","enums":["video_tape_rental_stores"]},{"dataType":"enum","enums":["vocational_trade_schools"]},{"dataType":"enum","enums":["watch_jewelry_repair"]},{"dataType":"enum","enums":["welding_repair"]},{"dataType":"enum","enums":["wholesale_clubs"]},{"dataType":"enum","enums":["wig_and_toupee_stores"]},{"dataType":"enum","enums":["wires_money_orders"]},{"dataType":"enum","enums":["womens_accessory_and_specialty_shops"]},{"dataType":"enum","enums":["womens_ready_to_wear_stores"]},{"dataType":"enum","enums":["wrecking_and_salvage_yards"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Refund.DestinationDetails.Alma": { - "dataType": "refObject", - "properties": { - }, - "additionalProperties": false, + "stripe.Stripe.Issuing.Cardholder.SpendingControls.BlockedCategory": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["ac_refrigeration_repair"]},{"dataType":"enum","enums":["accounting_bookkeeping_services"]},{"dataType":"enum","enums":["advertising_services"]},{"dataType":"enum","enums":["agricultural_cooperative"]},{"dataType":"enum","enums":["airlines_air_carriers"]},{"dataType":"enum","enums":["airports_flying_fields"]},{"dataType":"enum","enums":["ambulance_services"]},{"dataType":"enum","enums":["amusement_parks_carnivals"]},{"dataType":"enum","enums":["antique_reproductions"]},{"dataType":"enum","enums":["antique_shops"]},{"dataType":"enum","enums":["aquariums"]},{"dataType":"enum","enums":["architectural_surveying_services"]},{"dataType":"enum","enums":["art_dealers_and_galleries"]},{"dataType":"enum","enums":["artists_supply_and_craft_shops"]},{"dataType":"enum","enums":["auto_and_home_supply_stores"]},{"dataType":"enum","enums":["auto_body_repair_shops"]},{"dataType":"enum","enums":["auto_paint_shops"]},{"dataType":"enum","enums":["auto_service_shops"]},{"dataType":"enum","enums":["automated_cash_disburse"]},{"dataType":"enum","enums":["automated_fuel_dispensers"]},{"dataType":"enum","enums":["automobile_associations"]},{"dataType":"enum","enums":["automotive_parts_and_accessories_stores"]},{"dataType":"enum","enums":["automotive_tire_stores"]},{"dataType":"enum","enums":["bail_and_bond_payments"]},{"dataType":"enum","enums":["bakeries"]},{"dataType":"enum","enums":["bands_orchestras"]},{"dataType":"enum","enums":["barber_and_beauty_shops"]},{"dataType":"enum","enums":["betting_casino_gambling"]},{"dataType":"enum","enums":["bicycle_shops"]},{"dataType":"enum","enums":["billiard_pool_establishments"]},{"dataType":"enum","enums":["boat_dealers"]},{"dataType":"enum","enums":["boat_rentals_and_leases"]},{"dataType":"enum","enums":["book_stores"]},{"dataType":"enum","enums":["books_periodicals_and_newspapers"]},{"dataType":"enum","enums":["bowling_alleys"]},{"dataType":"enum","enums":["bus_lines"]},{"dataType":"enum","enums":["business_secretarial_schools"]},{"dataType":"enum","enums":["buying_shopping_services"]},{"dataType":"enum","enums":["cable_satellite_and_other_pay_television_and_radio"]},{"dataType":"enum","enums":["camera_and_photographic_supply_stores"]},{"dataType":"enum","enums":["candy_nut_and_confectionery_stores"]},{"dataType":"enum","enums":["car_and_truck_dealers_new_used"]},{"dataType":"enum","enums":["car_and_truck_dealers_used_only"]},{"dataType":"enum","enums":["car_rental_agencies"]},{"dataType":"enum","enums":["car_washes"]},{"dataType":"enum","enums":["carpentry_services"]},{"dataType":"enum","enums":["carpet_upholstery_cleaning"]},{"dataType":"enum","enums":["caterers"]},{"dataType":"enum","enums":["charitable_and_social_service_organizations_fundraising"]},{"dataType":"enum","enums":["chemicals_and_allied_products"]},{"dataType":"enum","enums":["child_care_services"]},{"dataType":"enum","enums":["childrens_and_infants_wear_stores"]},{"dataType":"enum","enums":["chiropodists_podiatrists"]},{"dataType":"enum","enums":["chiropractors"]},{"dataType":"enum","enums":["cigar_stores_and_stands"]},{"dataType":"enum","enums":["civic_social_fraternal_associations"]},{"dataType":"enum","enums":["cleaning_and_maintenance"]},{"dataType":"enum","enums":["clothing_rental"]},{"dataType":"enum","enums":["colleges_universities"]},{"dataType":"enum","enums":["commercial_equipment"]},{"dataType":"enum","enums":["commercial_footwear"]},{"dataType":"enum","enums":["commercial_photography_art_and_graphics"]},{"dataType":"enum","enums":["commuter_transport_and_ferries"]},{"dataType":"enum","enums":["computer_network_services"]},{"dataType":"enum","enums":["computer_programming"]},{"dataType":"enum","enums":["computer_repair"]},{"dataType":"enum","enums":["computer_software_stores"]},{"dataType":"enum","enums":["computers_peripherals_and_software"]},{"dataType":"enum","enums":["concrete_work_services"]},{"dataType":"enum","enums":["construction_materials"]},{"dataType":"enum","enums":["consulting_public_relations"]},{"dataType":"enum","enums":["correspondence_schools"]},{"dataType":"enum","enums":["cosmetic_stores"]},{"dataType":"enum","enums":["counseling_services"]},{"dataType":"enum","enums":["country_clubs"]},{"dataType":"enum","enums":["courier_services"]},{"dataType":"enum","enums":["court_costs"]},{"dataType":"enum","enums":["credit_reporting_agencies"]},{"dataType":"enum","enums":["cruise_lines"]},{"dataType":"enum","enums":["dairy_products_stores"]},{"dataType":"enum","enums":["dance_hall_studios_schools"]},{"dataType":"enum","enums":["dating_escort_services"]},{"dataType":"enum","enums":["dentists_orthodontists"]},{"dataType":"enum","enums":["department_stores"]},{"dataType":"enum","enums":["detective_agencies"]},{"dataType":"enum","enums":["digital_goods_applications"]},{"dataType":"enum","enums":["digital_goods_games"]},{"dataType":"enum","enums":["digital_goods_large_volume"]},{"dataType":"enum","enums":["digital_goods_media"]},{"dataType":"enum","enums":["direct_marketing_catalog_merchant"]},{"dataType":"enum","enums":["direct_marketing_combination_catalog_and_retail_merchant"]},{"dataType":"enum","enums":["direct_marketing_inbound_telemarketing"]},{"dataType":"enum","enums":["direct_marketing_insurance_services"]},{"dataType":"enum","enums":["direct_marketing_other"]},{"dataType":"enum","enums":["direct_marketing_outbound_telemarketing"]},{"dataType":"enum","enums":["direct_marketing_subscription"]},{"dataType":"enum","enums":["direct_marketing_travel"]},{"dataType":"enum","enums":["discount_stores"]},{"dataType":"enum","enums":["doctors"]},{"dataType":"enum","enums":["door_to_door_sales"]},{"dataType":"enum","enums":["drapery_window_covering_and_upholstery_stores"]},{"dataType":"enum","enums":["drinking_places"]},{"dataType":"enum","enums":["drug_stores_and_pharmacies"]},{"dataType":"enum","enums":["drugs_drug_proprietaries_and_druggist_sundries"]},{"dataType":"enum","enums":["dry_cleaners"]},{"dataType":"enum","enums":["durable_goods"]},{"dataType":"enum","enums":["duty_free_stores"]},{"dataType":"enum","enums":["eating_places_restaurants"]},{"dataType":"enum","enums":["educational_services"]},{"dataType":"enum","enums":["electric_razor_stores"]},{"dataType":"enum","enums":["electric_vehicle_charging"]},{"dataType":"enum","enums":["electrical_parts_and_equipment"]},{"dataType":"enum","enums":["electrical_services"]},{"dataType":"enum","enums":["electronics_repair_shops"]},{"dataType":"enum","enums":["electronics_stores"]},{"dataType":"enum","enums":["elementary_secondary_schools"]},{"dataType":"enum","enums":["emergency_services_gcas_visa_use_only"]},{"dataType":"enum","enums":["employment_temp_agencies"]},{"dataType":"enum","enums":["equipment_rental"]},{"dataType":"enum","enums":["exterminating_services"]},{"dataType":"enum","enums":["family_clothing_stores"]},{"dataType":"enum","enums":["fast_food_restaurants"]},{"dataType":"enum","enums":["financial_institutions"]},{"dataType":"enum","enums":["fines_government_administrative_entities"]},{"dataType":"enum","enums":["fireplace_fireplace_screens_and_accessories_stores"]},{"dataType":"enum","enums":["floor_covering_stores"]},{"dataType":"enum","enums":["florists"]},{"dataType":"enum","enums":["florists_supplies_nursery_stock_and_flowers"]},{"dataType":"enum","enums":["freezer_and_locker_meat_provisioners"]},{"dataType":"enum","enums":["fuel_dealers_non_automotive"]},{"dataType":"enum","enums":["funeral_services_crematories"]},{"dataType":"enum","enums":["furniture_home_furnishings_and_equipment_stores_except_appliances"]},{"dataType":"enum","enums":["furniture_repair_refinishing"]},{"dataType":"enum","enums":["furriers_and_fur_shops"]},{"dataType":"enum","enums":["general_services"]},{"dataType":"enum","enums":["gift_card_novelty_and_souvenir_shops"]},{"dataType":"enum","enums":["glass_paint_and_wallpaper_stores"]},{"dataType":"enum","enums":["glassware_crystal_stores"]},{"dataType":"enum","enums":["golf_courses_public"]},{"dataType":"enum","enums":["government_licensed_horse_dog_racing_us_region_only"]},{"dataType":"enum","enums":["government_licensed_online_casions_online_gambling_us_region_only"]},{"dataType":"enum","enums":["government_owned_lotteries_non_us_region"]},{"dataType":"enum","enums":["government_owned_lotteries_us_region_only"]},{"dataType":"enum","enums":["government_services"]},{"dataType":"enum","enums":["grocery_stores_supermarkets"]},{"dataType":"enum","enums":["hardware_equipment_and_supplies"]},{"dataType":"enum","enums":["hardware_stores"]},{"dataType":"enum","enums":["health_and_beauty_spas"]},{"dataType":"enum","enums":["hearing_aids_sales_and_supplies"]},{"dataType":"enum","enums":["heating_plumbing_a_c"]},{"dataType":"enum","enums":["hobby_toy_and_game_shops"]},{"dataType":"enum","enums":["home_supply_warehouse_stores"]},{"dataType":"enum","enums":["hospitals"]},{"dataType":"enum","enums":["hotels_motels_and_resorts"]},{"dataType":"enum","enums":["household_appliance_stores"]},{"dataType":"enum","enums":["industrial_supplies"]},{"dataType":"enum","enums":["information_retrieval_services"]},{"dataType":"enum","enums":["insurance_default"]},{"dataType":"enum","enums":["insurance_underwriting_premiums"]},{"dataType":"enum","enums":["intra_company_purchases"]},{"dataType":"enum","enums":["jewelry_stores_watches_clocks_and_silverware_stores"]},{"dataType":"enum","enums":["landscaping_services"]},{"dataType":"enum","enums":["laundries"]},{"dataType":"enum","enums":["laundry_cleaning_services"]},{"dataType":"enum","enums":["legal_services_attorneys"]},{"dataType":"enum","enums":["luggage_and_leather_goods_stores"]},{"dataType":"enum","enums":["lumber_building_materials_stores"]},{"dataType":"enum","enums":["manual_cash_disburse"]},{"dataType":"enum","enums":["marinas_service_and_supplies"]},{"dataType":"enum","enums":["marketplaces"]},{"dataType":"enum","enums":["masonry_stonework_and_plaster"]},{"dataType":"enum","enums":["massage_parlors"]},{"dataType":"enum","enums":["medical_and_dental_labs"]},{"dataType":"enum","enums":["medical_dental_ophthalmic_and_hospital_equipment_and_supplies"]},{"dataType":"enum","enums":["medical_services"]},{"dataType":"enum","enums":["membership_organizations"]},{"dataType":"enum","enums":["mens_and_boys_clothing_and_accessories_stores"]},{"dataType":"enum","enums":["mens_womens_clothing_stores"]},{"dataType":"enum","enums":["metal_service_centers"]},{"dataType":"enum","enums":["miscellaneous"]},{"dataType":"enum","enums":["miscellaneous_apparel_and_accessory_shops"]},{"dataType":"enum","enums":["miscellaneous_auto_dealers"]},{"dataType":"enum","enums":["miscellaneous_business_services"]},{"dataType":"enum","enums":["miscellaneous_food_stores"]},{"dataType":"enum","enums":["miscellaneous_general_merchandise"]},{"dataType":"enum","enums":["miscellaneous_general_services"]},{"dataType":"enum","enums":["miscellaneous_home_furnishing_specialty_stores"]},{"dataType":"enum","enums":["miscellaneous_publishing_and_printing"]},{"dataType":"enum","enums":["miscellaneous_recreation_services"]},{"dataType":"enum","enums":["miscellaneous_repair_shops"]},{"dataType":"enum","enums":["miscellaneous_specialty_retail"]},{"dataType":"enum","enums":["mobile_home_dealers"]},{"dataType":"enum","enums":["motion_picture_theaters"]},{"dataType":"enum","enums":["motor_freight_carriers_and_trucking"]},{"dataType":"enum","enums":["motor_homes_dealers"]},{"dataType":"enum","enums":["motor_vehicle_supplies_and_new_parts"]},{"dataType":"enum","enums":["motorcycle_shops_and_dealers"]},{"dataType":"enum","enums":["motorcycle_shops_dealers"]},{"dataType":"enum","enums":["music_stores_musical_instruments_pianos_and_sheet_music"]},{"dataType":"enum","enums":["news_dealers_and_newsstands"]},{"dataType":"enum","enums":["non_fi_money_orders"]},{"dataType":"enum","enums":["non_fi_stored_value_card_purchase_load"]},{"dataType":"enum","enums":["nondurable_goods"]},{"dataType":"enum","enums":["nurseries_lawn_and_garden_supply_stores"]},{"dataType":"enum","enums":["nursing_personal_care"]},{"dataType":"enum","enums":["office_and_commercial_furniture"]},{"dataType":"enum","enums":["opticians_eyeglasses"]},{"dataType":"enum","enums":["optometrists_ophthalmologist"]},{"dataType":"enum","enums":["orthopedic_goods_prosthetic_devices"]},{"dataType":"enum","enums":["osteopaths"]},{"dataType":"enum","enums":["package_stores_beer_wine_and_liquor"]},{"dataType":"enum","enums":["paints_varnishes_and_supplies"]},{"dataType":"enum","enums":["parking_lots_garages"]},{"dataType":"enum","enums":["passenger_railways"]},{"dataType":"enum","enums":["pawn_shops"]},{"dataType":"enum","enums":["pet_shops_pet_food_and_supplies"]},{"dataType":"enum","enums":["petroleum_and_petroleum_products"]},{"dataType":"enum","enums":["photo_developing"]},{"dataType":"enum","enums":["photographic_photocopy_microfilm_equipment_and_supplies"]},{"dataType":"enum","enums":["photographic_studios"]},{"dataType":"enum","enums":["picture_video_production"]},{"dataType":"enum","enums":["piece_goods_notions_and_other_dry_goods"]},{"dataType":"enum","enums":["plumbing_heating_equipment_and_supplies"]},{"dataType":"enum","enums":["political_organizations"]},{"dataType":"enum","enums":["postal_services_government_only"]},{"dataType":"enum","enums":["precious_stones_and_metals_watches_and_jewelry"]},{"dataType":"enum","enums":["professional_services"]},{"dataType":"enum","enums":["public_warehousing_and_storage"]},{"dataType":"enum","enums":["quick_copy_repro_and_blueprint"]},{"dataType":"enum","enums":["railroads"]},{"dataType":"enum","enums":["real_estate_agents_and_managers_rentals"]},{"dataType":"enum","enums":["record_stores"]},{"dataType":"enum","enums":["recreational_vehicle_rentals"]},{"dataType":"enum","enums":["religious_goods_stores"]},{"dataType":"enum","enums":["religious_organizations"]},{"dataType":"enum","enums":["roofing_siding_sheet_metal"]},{"dataType":"enum","enums":["secretarial_support_services"]},{"dataType":"enum","enums":["security_brokers_dealers"]},{"dataType":"enum","enums":["service_stations"]},{"dataType":"enum","enums":["sewing_needlework_fabric_and_piece_goods_stores"]},{"dataType":"enum","enums":["shoe_repair_hat_cleaning"]},{"dataType":"enum","enums":["shoe_stores"]},{"dataType":"enum","enums":["small_appliance_repair"]},{"dataType":"enum","enums":["snowmobile_dealers"]},{"dataType":"enum","enums":["special_trade_services"]},{"dataType":"enum","enums":["specialty_cleaning"]},{"dataType":"enum","enums":["sporting_goods_stores"]},{"dataType":"enum","enums":["sporting_recreation_camps"]},{"dataType":"enum","enums":["sports_and_riding_apparel_stores"]},{"dataType":"enum","enums":["sports_clubs_fields"]},{"dataType":"enum","enums":["stamp_and_coin_stores"]},{"dataType":"enum","enums":["stationary_office_supplies_printing_and_writing_paper"]},{"dataType":"enum","enums":["stationery_stores_office_and_school_supply_stores"]},{"dataType":"enum","enums":["swimming_pools_sales"]},{"dataType":"enum","enums":["t_ui_travel_germany"]},{"dataType":"enum","enums":["tailors_alterations"]},{"dataType":"enum","enums":["tax_payments_government_agencies"]},{"dataType":"enum","enums":["tax_preparation_services"]},{"dataType":"enum","enums":["taxicabs_limousines"]},{"dataType":"enum","enums":["telecommunication_equipment_and_telephone_sales"]},{"dataType":"enum","enums":["telecommunication_services"]},{"dataType":"enum","enums":["telegraph_services"]},{"dataType":"enum","enums":["tent_and_awning_shops"]},{"dataType":"enum","enums":["testing_laboratories"]},{"dataType":"enum","enums":["theatrical_ticket_agencies"]},{"dataType":"enum","enums":["timeshares"]},{"dataType":"enum","enums":["tire_retreading_and_repair"]},{"dataType":"enum","enums":["tolls_bridge_fees"]},{"dataType":"enum","enums":["tourist_attractions_and_exhibits"]},{"dataType":"enum","enums":["towing_services"]},{"dataType":"enum","enums":["trailer_parks_campgrounds"]},{"dataType":"enum","enums":["transportation_services"]},{"dataType":"enum","enums":["travel_agencies_tour_operators"]},{"dataType":"enum","enums":["truck_stop_iteration"]},{"dataType":"enum","enums":["truck_utility_trailer_rentals"]},{"dataType":"enum","enums":["typesetting_plate_making_and_related_services"]},{"dataType":"enum","enums":["typewriter_stores"]},{"dataType":"enum","enums":["u_s_federal_government_agencies_or_departments"]},{"dataType":"enum","enums":["uniforms_commercial_clothing"]},{"dataType":"enum","enums":["used_merchandise_and_secondhand_stores"]},{"dataType":"enum","enums":["utilities"]},{"dataType":"enum","enums":["variety_stores"]},{"dataType":"enum","enums":["veterinary_services"]},{"dataType":"enum","enums":["video_amusement_game_supplies"]},{"dataType":"enum","enums":["video_game_arcades"]},{"dataType":"enum","enums":["video_tape_rental_stores"]},{"dataType":"enum","enums":["vocational_trade_schools"]},{"dataType":"enum","enums":["watch_jewelry_repair"]},{"dataType":"enum","enums":["welding_repair"]},{"dataType":"enum","enums":["wholesale_clubs"]},{"dataType":"enum","enums":["wig_and_toupee_stores"]},{"dataType":"enum","enums":["wires_money_orders"]},{"dataType":"enum","enums":["womens_accessory_and_specialty_shops"]},{"dataType":"enum","enums":["womens_ready_to_wear_stores"]},{"dataType":"enum","enums":["wrecking_and_salvage_yards"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Refund.DestinationDetails.AmazonPay": { - "dataType": "refObject", - "properties": { - }, - "additionalProperties": false, + "stripe.Stripe.Issuing.Cardholder.SpendingControls.SpendingLimit.Category": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["ac_refrigeration_repair"]},{"dataType":"enum","enums":["accounting_bookkeeping_services"]},{"dataType":"enum","enums":["advertising_services"]},{"dataType":"enum","enums":["agricultural_cooperative"]},{"dataType":"enum","enums":["airlines_air_carriers"]},{"dataType":"enum","enums":["airports_flying_fields"]},{"dataType":"enum","enums":["ambulance_services"]},{"dataType":"enum","enums":["amusement_parks_carnivals"]},{"dataType":"enum","enums":["antique_reproductions"]},{"dataType":"enum","enums":["antique_shops"]},{"dataType":"enum","enums":["aquariums"]},{"dataType":"enum","enums":["architectural_surveying_services"]},{"dataType":"enum","enums":["art_dealers_and_galleries"]},{"dataType":"enum","enums":["artists_supply_and_craft_shops"]},{"dataType":"enum","enums":["auto_and_home_supply_stores"]},{"dataType":"enum","enums":["auto_body_repair_shops"]},{"dataType":"enum","enums":["auto_paint_shops"]},{"dataType":"enum","enums":["auto_service_shops"]},{"dataType":"enum","enums":["automated_cash_disburse"]},{"dataType":"enum","enums":["automated_fuel_dispensers"]},{"dataType":"enum","enums":["automobile_associations"]},{"dataType":"enum","enums":["automotive_parts_and_accessories_stores"]},{"dataType":"enum","enums":["automotive_tire_stores"]},{"dataType":"enum","enums":["bail_and_bond_payments"]},{"dataType":"enum","enums":["bakeries"]},{"dataType":"enum","enums":["bands_orchestras"]},{"dataType":"enum","enums":["barber_and_beauty_shops"]},{"dataType":"enum","enums":["betting_casino_gambling"]},{"dataType":"enum","enums":["bicycle_shops"]},{"dataType":"enum","enums":["billiard_pool_establishments"]},{"dataType":"enum","enums":["boat_dealers"]},{"dataType":"enum","enums":["boat_rentals_and_leases"]},{"dataType":"enum","enums":["book_stores"]},{"dataType":"enum","enums":["books_periodicals_and_newspapers"]},{"dataType":"enum","enums":["bowling_alleys"]},{"dataType":"enum","enums":["bus_lines"]},{"dataType":"enum","enums":["business_secretarial_schools"]},{"dataType":"enum","enums":["buying_shopping_services"]},{"dataType":"enum","enums":["cable_satellite_and_other_pay_television_and_radio"]},{"dataType":"enum","enums":["camera_and_photographic_supply_stores"]},{"dataType":"enum","enums":["candy_nut_and_confectionery_stores"]},{"dataType":"enum","enums":["car_and_truck_dealers_new_used"]},{"dataType":"enum","enums":["car_and_truck_dealers_used_only"]},{"dataType":"enum","enums":["car_rental_agencies"]},{"dataType":"enum","enums":["car_washes"]},{"dataType":"enum","enums":["carpentry_services"]},{"dataType":"enum","enums":["carpet_upholstery_cleaning"]},{"dataType":"enum","enums":["caterers"]},{"dataType":"enum","enums":["charitable_and_social_service_organizations_fundraising"]},{"dataType":"enum","enums":["chemicals_and_allied_products"]},{"dataType":"enum","enums":["child_care_services"]},{"dataType":"enum","enums":["childrens_and_infants_wear_stores"]},{"dataType":"enum","enums":["chiropodists_podiatrists"]},{"dataType":"enum","enums":["chiropractors"]},{"dataType":"enum","enums":["cigar_stores_and_stands"]},{"dataType":"enum","enums":["civic_social_fraternal_associations"]},{"dataType":"enum","enums":["cleaning_and_maintenance"]},{"dataType":"enum","enums":["clothing_rental"]},{"dataType":"enum","enums":["colleges_universities"]},{"dataType":"enum","enums":["commercial_equipment"]},{"dataType":"enum","enums":["commercial_footwear"]},{"dataType":"enum","enums":["commercial_photography_art_and_graphics"]},{"dataType":"enum","enums":["commuter_transport_and_ferries"]},{"dataType":"enum","enums":["computer_network_services"]},{"dataType":"enum","enums":["computer_programming"]},{"dataType":"enum","enums":["computer_repair"]},{"dataType":"enum","enums":["computer_software_stores"]},{"dataType":"enum","enums":["computers_peripherals_and_software"]},{"dataType":"enum","enums":["concrete_work_services"]},{"dataType":"enum","enums":["construction_materials"]},{"dataType":"enum","enums":["consulting_public_relations"]},{"dataType":"enum","enums":["correspondence_schools"]},{"dataType":"enum","enums":["cosmetic_stores"]},{"dataType":"enum","enums":["counseling_services"]},{"dataType":"enum","enums":["country_clubs"]},{"dataType":"enum","enums":["courier_services"]},{"dataType":"enum","enums":["court_costs"]},{"dataType":"enum","enums":["credit_reporting_agencies"]},{"dataType":"enum","enums":["cruise_lines"]},{"dataType":"enum","enums":["dairy_products_stores"]},{"dataType":"enum","enums":["dance_hall_studios_schools"]},{"dataType":"enum","enums":["dating_escort_services"]},{"dataType":"enum","enums":["dentists_orthodontists"]},{"dataType":"enum","enums":["department_stores"]},{"dataType":"enum","enums":["detective_agencies"]},{"dataType":"enum","enums":["digital_goods_applications"]},{"dataType":"enum","enums":["digital_goods_games"]},{"dataType":"enum","enums":["digital_goods_large_volume"]},{"dataType":"enum","enums":["digital_goods_media"]},{"dataType":"enum","enums":["direct_marketing_catalog_merchant"]},{"dataType":"enum","enums":["direct_marketing_combination_catalog_and_retail_merchant"]},{"dataType":"enum","enums":["direct_marketing_inbound_telemarketing"]},{"dataType":"enum","enums":["direct_marketing_insurance_services"]},{"dataType":"enum","enums":["direct_marketing_other"]},{"dataType":"enum","enums":["direct_marketing_outbound_telemarketing"]},{"dataType":"enum","enums":["direct_marketing_subscription"]},{"dataType":"enum","enums":["direct_marketing_travel"]},{"dataType":"enum","enums":["discount_stores"]},{"dataType":"enum","enums":["doctors"]},{"dataType":"enum","enums":["door_to_door_sales"]},{"dataType":"enum","enums":["drapery_window_covering_and_upholstery_stores"]},{"dataType":"enum","enums":["drinking_places"]},{"dataType":"enum","enums":["drug_stores_and_pharmacies"]},{"dataType":"enum","enums":["drugs_drug_proprietaries_and_druggist_sundries"]},{"dataType":"enum","enums":["dry_cleaners"]},{"dataType":"enum","enums":["durable_goods"]},{"dataType":"enum","enums":["duty_free_stores"]},{"dataType":"enum","enums":["eating_places_restaurants"]},{"dataType":"enum","enums":["educational_services"]},{"dataType":"enum","enums":["electric_razor_stores"]},{"dataType":"enum","enums":["electric_vehicle_charging"]},{"dataType":"enum","enums":["electrical_parts_and_equipment"]},{"dataType":"enum","enums":["electrical_services"]},{"dataType":"enum","enums":["electronics_repair_shops"]},{"dataType":"enum","enums":["electronics_stores"]},{"dataType":"enum","enums":["elementary_secondary_schools"]},{"dataType":"enum","enums":["emergency_services_gcas_visa_use_only"]},{"dataType":"enum","enums":["employment_temp_agencies"]},{"dataType":"enum","enums":["equipment_rental"]},{"dataType":"enum","enums":["exterminating_services"]},{"dataType":"enum","enums":["family_clothing_stores"]},{"dataType":"enum","enums":["fast_food_restaurants"]},{"dataType":"enum","enums":["financial_institutions"]},{"dataType":"enum","enums":["fines_government_administrative_entities"]},{"dataType":"enum","enums":["fireplace_fireplace_screens_and_accessories_stores"]},{"dataType":"enum","enums":["floor_covering_stores"]},{"dataType":"enum","enums":["florists"]},{"dataType":"enum","enums":["florists_supplies_nursery_stock_and_flowers"]},{"dataType":"enum","enums":["freezer_and_locker_meat_provisioners"]},{"dataType":"enum","enums":["fuel_dealers_non_automotive"]},{"dataType":"enum","enums":["funeral_services_crematories"]},{"dataType":"enum","enums":["furniture_home_furnishings_and_equipment_stores_except_appliances"]},{"dataType":"enum","enums":["furniture_repair_refinishing"]},{"dataType":"enum","enums":["furriers_and_fur_shops"]},{"dataType":"enum","enums":["general_services"]},{"dataType":"enum","enums":["gift_card_novelty_and_souvenir_shops"]},{"dataType":"enum","enums":["glass_paint_and_wallpaper_stores"]},{"dataType":"enum","enums":["glassware_crystal_stores"]},{"dataType":"enum","enums":["golf_courses_public"]},{"dataType":"enum","enums":["government_licensed_horse_dog_racing_us_region_only"]},{"dataType":"enum","enums":["government_licensed_online_casions_online_gambling_us_region_only"]},{"dataType":"enum","enums":["government_owned_lotteries_non_us_region"]},{"dataType":"enum","enums":["government_owned_lotteries_us_region_only"]},{"dataType":"enum","enums":["government_services"]},{"dataType":"enum","enums":["grocery_stores_supermarkets"]},{"dataType":"enum","enums":["hardware_equipment_and_supplies"]},{"dataType":"enum","enums":["hardware_stores"]},{"dataType":"enum","enums":["health_and_beauty_spas"]},{"dataType":"enum","enums":["hearing_aids_sales_and_supplies"]},{"dataType":"enum","enums":["heating_plumbing_a_c"]},{"dataType":"enum","enums":["hobby_toy_and_game_shops"]},{"dataType":"enum","enums":["home_supply_warehouse_stores"]},{"dataType":"enum","enums":["hospitals"]},{"dataType":"enum","enums":["hotels_motels_and_resorts"]},{"dataType":"enum","enums":["household_appliance_stores"]},{"dataType":"enum","enums":["industrial_supplies"]},{"dataType":"enum","enums":["information_retrieval_services"]},{"dataType":"enum","enums":["insurance_default"]},{"dataType":"enum","enums":["insurance_underwriting_premiums"]},{"dataType":"enum","enums":["intra_company_purchases"]},{"dataType":"enum","enums":["jewelry_stores_watches_clocks_and_silverware_stores"]},{"dataType":"enum","enums":["landscaping_services"]},{"dataType":"enum","enums":["laundries"]},{"dataType":"enum","enums":["laundry_cleaning_services"]},{"dataType":"enum","enums":["legal_services_attorneys"]},{"dataType":"enum","enums":["luggage_and_leather_goods_stores"]},{"dataType":"enum","enums":["lumber_building_materials_stores"]},{"dataType":"enum","enums":["manual_cash_disburse"]},{"dataType":"enum","enums":["marinas_service_and_supplies"]},{"dataType":"enum","enums":["marketplaces"]},{"dataType":"enum","enums":["masonry_stonework_and_plaster"]},{"dataType":"enum","enums":["massage_parlors"]},{"dataType":"enum","enums":["medical_and_dental_labs"]},{"dataType":"enum","enums":["medical_dental_ophthalmic_and_hospital_equipment_and_supplies"]},{"dataType":"enum","enums":["medical_services"]},{"dataType":"enum","enums":["membership_organizations"]},{"dataType":"enum","enums":["mens_and_boys_clothing_and_accessories_stores"]},{"dataType":"enum","enums":["mens_womens_clothing_stores"]},{"dataType":"enum","enums":["metal_service_centers"]},{"dataType":"enum","enums":["miscellaneous"]},{"dataType":"enum","enums":["miscellaneous_apparel_and_accessory_shops"]},{"dataType":"enum","enums":["miscellaneous_auto_dealers"]},{"dataType":"enum","enums":["miscellaneous_business_services"]},{"dataType":"enum","enums":["miscellaneous_food_stores"]},{"dataType":"enum","enums":["miscellaneous_general_merchandise"]},{"dataType":"enum","enums":["miscellaneous_general_services"]},{"dataType":"enum","enums":["miscellaneous_home_furnishing_specialty_stores"]},{"dataType":"enum","enums":["miscellaneous_publishing_and_printing"]},{"dataType":"enum","enums":["miscellaneous_recreation_services"]},{"dataType":"enum","enums":["miscellaneous_repair_shops"]},{"dataType":"enum","enums":["miscellaneous_specialty_retail"]},{"dataType":"enum","enums":["mobile_home_dealers"]},{"dataType":"enum","enums":["motion_picture_theaters"]},{"dataType":"enum","enums":["motor_freight_carriers_and_trucking"]},{"dataType":"enum","enums":["motor_homes_dealers"]},{"dataType":"enum","enums":["motor_vehicle_supplies_and_new_parts"]},{"dataType":"enum","enums":["motorcycle_shops_and_dealers"]},{"dataType":"enum","enums":["motorcycle_shops_dealers"]},{"dataType":"enum","enums":["music_stores_musical_instruments_pianos_and_sheet_music"]},{"dataType":"enum","enums":["news_dealers_and_newsstands"]},{"dataType":"enum","enums":["non_fi_money_orders"]},{"dataType":"enum","enums":["non_fi_stored_value_card_purchase_load"]},{"dataType":"enum","enums":["nondurable_goods"]},{"dataType":"enum","enums":["nurseries_lawn_and_garden_supply_stores"]},{"dataType":"enum","enums":["nursing_personal_care"]},{"dataType":"enum","enums":["office_and_commercial_furniture"]},{"dataType":"enum","enums":["opticians_eyeglasses"]},{"dataType":"enum","enums":["optometrists_ophthalmologist"]},{"dataType":"enum","enums":["orthopedic_goods_prosthetic_devices"]},{"dataType":"enum","enums":["osteopaths"]},{"dataType":"enum","enums":["package_stores_beer_wine_and_liquor"]},{"dataType":"enum","enums":["paints_varnishes_and_supplies"]},{"dataType":"enum","enums":["parking_lots_garages"]},{"dataType":"enum","enums":["passenger_railways"]},{"dataType":"enum","enums":["pawn_shops"]},{"dataType":"enum","enums":["pet_shops_pet_food_and_supplies"]},{"dataType":"enum","enums":["petroleum_and_petroleum_products"]},{"dataType":"enum","enums":["photo_developing"]},{"dataType":"enum","enums":["photographic_photocopy_microfilm_equipment_and_supplies"]},{"dataType":"enum","enums":["photographic_studios"]},{"dataType":"enum","enums":["picture_video_production"]},{"dataType":"enum","enums":["piece_goods_notions_and_other_dry_goods"]},{"dataType":"enum","enums":["plumbing_heating_equipment_and_supplies"]},{"dataType":"enum","enums":["political_organizations"]},{"dataType":"enum","enums":["postal_services_government_only"]},{"dataType":"enum","enums":["precious_stones_and_metals_watches_and_jewelry"]},{"dataType":"enum","enums":["professional_services"]},{"dataType":"enum","enums":["public_warehousing_and_storage"]},{"dataType":"enum","enums":["quick_copy_repro_and_blueprint"]},{"dataType":"enum","enums":["railroads"]},{"dataType":"enum","enums":["real_estate_agents_and_managers_rentals"]},{"dataType":"enum","enums":["record_stores"]},{"dataType":"enum","enums":["recreational_vehicle_rentals"]},{"dataType":"enum","enums":["religious_goods_stores"]},{"dataType":"enum","enums":["religious_organizations"]},{"dataType":"enum","enums":["roofing_siding_sheet_metal"]},{"dataType":"enum","enums":["secretarial_support_services"]},{"dataType":"enum","enums":["security_brokers_dealers"]},{"dataType":"enum","enums":["service_stations"]},{"dataType":"enum","enums":["sewing_needlework_fabric_and_piece_goods_stores"]},{"dataType":"enum","enums":["shoe_repair_hat_cleaning"]},{"dataType":"enum","enums":["shoe_stores"]},{"dataType":"enum","enums":["small_appliance_repair"]},{"dataType":"enum","enums":["snowmobile_dealers"]},{"dataType":"enum","enums":["special_trade_services"]},{"dataType":"enum","enums":["specialty_cleaning"]},{"dataType":"enum","enums":["sporting_goods_stores"]},{"dataType":"enum","enums":["sporting_recreation_camps"]},{"dataType":"enum","enums":["sports_and_riding_apparel_stores"]},{"dataType":"enum","enums":["sports_clubs_fields"]},{"dataType":"enum","enums":["stamp_and_coin_stores"]},{"dataType":"enum","enums":["stationary_office_supplies_printing_and_writing_paper"]},{"dataType":"enum","enums":["stationery_stores_office_and_school_supply_stores"]},{"dataType":"enum","enums":["swimming_pools_sales"]},{"dataType":"enum","enums":["t_ui_travel_germany"]},{"dataType":"enum","enums":["tailors_alterations"]},{"dataType":"enum","enums":["tax_payments_government_agencies"]},{"dataType":"enum","enums":["tax_preparation_services"]},{"dataType":"enum","enums":["taxicabs_limousines"]},{"dataType":"enum","enums":["telecommunication_equipment_and_telephone_sales"]},{"dataType":"enum","enums":["telecommunication_services"]},{"dataType":"enum","enums":["telegraph_services"]},{"dataType":"enum","enums":["tent_and_awning_shops"]},{"dataType":"enum","enums":["testing_laboratories"]},{"dataType":"enum","enums":["theatrical_ticket_agencies"]},{"dataType":"enum","enums":["timeshares"]},{"dataType":"enum","enums":["tire_retreading_and_repair"]},{"dataType":"enum","enums":["tolls_bridge_fees"]},{"dataType":"enum","enums":["tourist_attractions_and_exhibits"]},{"dataType":"enum","enums":["towing_services"]},{"dataType":"enum","enums":["trailer_parks_campgrounds"]},{"dataType":"enum","enums":["transportation_services"]},{"dataType":"enum","enums":["travel_agencies_tour_operators"]},{"dataType":"enum","enums":["truck_stop_iteration"]},{"dataType":"enum","enums":["truck_utility_trailer_rentals"]},{"dataType":"enum","enums":["typesetting_plate_making_and_related_services"]},{"dataType":"enum","enums":["typewriter_stores"]},{"dataType":"enum","enums":["u_s_federal_government_agencies_or_departments"]},{"dataType":"enum","enums":["uniforms_commercial_clothing"]},{"dataType":"enum","enums":["used_merchandise_and_secondhand_stores"]},{"dataType":"enum","enums":["utilities"]},{"dataType":"enum","enums":["variety_stores"]},{"dataType":"enum","enums":["veterinary_services"]},{"dataType":"enum","enums":["video_amusement_game_supplies"]},{"dataType":"enum","enums":["video_game_arcades"]},{"dataType":"enum","enums":["video_tape_rental_stores"]},{"dataType":"enum","enums":["vocational_trade_schools"]},{"dataType":"enum","enums":["watch_jewelry_repair"]},{"dataType":"enum","enums":["welding_repair"]},{"dataType":"enum","enums":["wholesale_clubs"]},{"dataType":"enum","enums":["wig_and_toupee_stores"]},{"dataType":"enum","enums":["wires_money_orders"]},{"dataType":"enum","enums":["womens_accessory_and_specialty_shops"]},{"dataType":"enum","enums":["womens_ready_to_wear_stores"]},{"dataType":"enum","enums":["wrecking_and_salvage_yards"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Refund.DestinationDetails.AuBankTransfer": { - "dataType": "refObject", - "properties": { - }, - "additionalProperties": false, + "stripe.Stripe.Issuing.Cardholder.SpendingControls.SpendingLimit.Interval": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["all_time"]},{"dataType":"enum","enums":["daily"]},{"dataType":"enum","enums":["monthly"]},{"dataType":"enum","enums":["per_authorization"]},{"dataType":"enum","enums":["weekly"]},{"dataType":"enum","enums":["yearly"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Refund.DestinationDetails.Blik": { + "stripe.Stripe.Issuing.Cardholder.SpendingControls.SpendingLimit": { "dataType": "refObject", "properties": { - "network_decline_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "reference_status": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "amount": {"dataType":"double","required":true}, + "categories": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Issuing.Cardholder.SpendingControls.SpendingLimit.Category"}},{"dataType":"enum","enums":[null]}],"required":true}, + "interval": {"ref":"stripe.Stripe.Issuing.Cardholder.SpendingControls.SpendingLimit.Interval","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Refund.DestinationDetails.BrBankTransfer": { + "stripe.Stripe.Issuing.Cardholder.SpendingControls": { "dataType": "refObject", "properties": { - "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "reference_status": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "allowed_categories": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Issuing.Cardholder.SpendingControls.AllowedCategory"}},{"dataType":"enum","enums":[null]}],"required":true}, + "allowed_merchant_countries": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, + "blocked_categories": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Issuing.Cardholder.SpendingControls.BlockedCategory"}},{"dataType":"enum","enums":[null]}],"required":true}, + "blocked_merchant_countries": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, + "spending_limits": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Issuing.Cardholder.SpendingControls.SpendingLimit"}},{"dataType":"enum","enums":[null]}],"required":true}, + "spending_limits_currency": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Refund.DestinationDetails.Card.Type": { + "stripe.Stripe.Issuing.Cardholder.Status": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["pending"]},{"dataType":"enum","enums":["refund"]},{"dataType":"enum","enums":["reversal"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["blocked"]},{"dataType":"enum","enums":["inactive"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Refund.DestinationDetails.Card": { - "dataType": "refObject", - "properties": { - "reference": {"dataType":"string"}, - "reference_status": {"dataType":"string"}, - "reference_type": {"dataType":"string"}, - "type": {"ref":"stripe.Stripe.Refund.DestinationDetails.Card.Type","required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Issuing.Cardholder.Type": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["company"]},{"dataType":"enum","enums":["individual"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Refund.DestinationDetails.Cashapp": { + "stripe.Stripe.Issuing.Cardholder": { "dataType": "refObject", "properties": { + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["issuing.cardholder"],"required":true}, + "billing": {"ref":"stripe.Stripe.Issuing.Cardholder.Billing","required":true}, + "company": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Cardholder.Company"},{"dataType":"enum","enums":[null]}],"required":true}, + "created": {"dataType":"double","required":true}, + "email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "individual": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Cardholder.Individual"},{"dataType":"enum","enums":[null]}],"required":true}, + "livemode": {"dataType":"boolean","required":true}, + "metadata": {"ref":"stripe.Stripe.Metadata","required":true}, + "name": {"dataType":"string","required":true}, + "phone_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "preferred_locales": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Issuing.Cardholder.PreferredLocale"}},{"dataType":"enum","enums":[null]}],"required":true}, + "requirements": {"ref":"stripe.Stripe.Issuing.Cardholder.Requirements","required":true}, + "spending_controls": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Cardholder.SpendingControls"},{"dataType":"enum","enums":[null]}],"required":true}, + "status": {"ref":"stripe.Stripe.Issuing.Cardholder.Status","required":true}, + "type": {"ref":"stripe.Stripe.Issuing.Cardholder.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Refund.DestinationDetails.CustomerCashBalance": { + "stripe.Stripe.Issuing.PersonalizationDesign.CarrierText": { "dataType": "refObject", "properties": { + "footer_body": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "footer_title": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "header_body": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "header_title": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Refund.DestinationDetails.Eps": { - "dataType": "refObject", - "properties": { - }, - "additionalProperties": false, + "stripe.Stripe.Issuing.PhysicalBundle.Features.CardLogo": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["optional"]},{"dataType":"enum","enums":["required"]},{"dataType":"enum","enums":["unsupported"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Refund.DestinationDetails.EuBankTransfer": { - "dataType": "refObject", - "properties": { - "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "reference_status": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Issuing.PhysicalBundle.Features.CarrierText": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["optional"]},{"dataType":"enum","enums":["required"]},{"dataType":"enum","enums":["unsupported"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Refund.DestinationDetails.GbBankTransfer": { - "dataType": "refObject", - "properties": { - "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "reference_status": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Issuing.PhysicalBundle.Features.SecondLine": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["optional"]},{"dataType":"enum","enums":["required"]},{"dataType":"enum","enums":["unsupported"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Refund.DestinationDetails.Giropay": { + "stripe.Stripe.Issuing.PhysicalBundle.Features": { "dataType": "refObject", "properties": { + "card_logo": {"ref":"stripe.Stripe.Issuing.PhysicalBundle.Features.CardLogo","required":true}, + "carrier_text": {"ref":"stripe.Stripe.Issuing.PhysicalBundle.Features.CarrierText","required":true}, + "second_line": {"ref":"stripe.Stripe.Issuing.PhysicalBundle.Features.SecondLine","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Refund.DestinationDetails.Grabpay": { - "dataType": "refObject", - "properties": { - }, - "additionalProperties": false, + "stripe.Stripe.Issuing.PhysicalBundle.Status": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["review"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Refund.DestinationDetails.JpBankTransfer": { - "dataType": "refObject", - "properties": { - "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "reference_status": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Issuing.PhysicalBundle.Type": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["custom"]},{"dataType":"enum","enums":["standard"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Refund.DestinationDetails.Klarna": { + "stripe.Stripe.Issuing.PhysicalBundle": { "dataType": "refObject", "properties": { + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["issuing.physical_bundle"],"required":true}, + "features": {"ref":"stripe.Stripe.Issuing.PhysicalBundle.Features","required":true}, + "livemode": {"dataType":"boolean","required":true}, + "name": {"dataType":"string","required":true}, + "status": {"ref":"stripe.Stripe.Issuing.PhysicalBundle.Status","required":true}, + "type": {"ref":"stripe.Stripe.Issuing.PhysicalBundle.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Refund.DestinationDetails.Multibanco": { + "stripe.Stripe.Issuing.PersonalizationDesign.Preferences": { "dataType": "refObject", "properties": { - "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "reference_status": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "is_default": {"dataType":"boolean","required":true}, + "is_platform_default": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Refund.DestinationDetails.MxBankTransfer": { - "dataType": "refObject", - "properties": { - "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "reference_status": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Issuing.PersonalizationDesign.RejectionReasons.CardLogo": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["geographic_location"]},{"dataType":"enum","enums":["inappropriate"]},{"dataType":"enum","enums":["network_name"]},{"dataType":"enum","enums":["non_binary_image"]},{"dataType":"enum","enums":["non_fiat_currency"]},{"dataType":"enum","enums":["other"]},{"dataType":"enum","enums":["other_entity"]},{"dataType":"enum","enums":["promotional_material"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Refund.DestinationDetails.P24": { - "dataType": "refObject", - "properties": { - "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "reference_status": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Issuing.PersonalizationDesign.RejectionReasons.CarrierText": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["geographic_location"]},{"dataType":"enum","enums":["inappropriate"]},{"dataType":"enum","enums":["network_name"]},{"dataType":"enum","enums":["non_fiat_currency"]},{"dataType":"enum","enums":["other"]},{"dataType":"enum","enums":["other_entity"]},{"dataType":"enum","enums":["promotional_material"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Refund.DestinationDetails.Paynow": { + "stripe.Stripe.Issuing.PersonalizationDesign.RejectionReasons": { "dataType": "refObject", "properties": { + "card_logo": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Issuing.PersonalizationDesign.RejectionReasons.CardLogo"}},{"dataType":"enum","enums":[null]}],"required":true}, + "carrier_text": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Issuing.PersonalizationDesign.RejectionReasons.CarrierText"}},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Refund.DestinationDetails.Paypal": { - "dataType": "refObject", - "properties": { - }, - "additionalProperties": false, + "stripe.Stripe.Issuing.PersonalizationDesign.Status": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["rejected"]},{"dataType":"enum","enums":["review"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Refund.DestinationDetails.Pix": { + "stripe.Stripe.Issuing.PersonalizationDesign": { "dataType": "refObject", "properties": { + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["issuing.personalization_design"],"required":true}, + "card_logo": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, + "carrier_text": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.PersonalizationDesign.CarrierText"},{"dataType":"enum","enums":[null]}],"required":true}, + "created": {"dataType":"double","required":true}, + "livemode": {"dataType":"boolean","required":true}, + "lookup_key": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "metadata": {"ref":"stripe.Stripe.Metadata","required":true}, + "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "physical_bundle": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Issuing.PhysicalBundle"}],"required":true}, + "preferences": {"ref":"stripe.Stripe.Issuing.PersonalizationDesign.Preferences","required":true}, + "rejection_reasons": {"ref":"stripe.Stripe.Issuing.PersonalizationDesign.RejectionReasons","required":true}, + "status": {"ref":"stripe.Stripe.Issuing.PersonalizationDesign.Status","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Refund.DestinationDetails.Revolut": { + "stripe.Stripe.Issuing.Card": { "dataType": "refObject", "properties": { + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["issuing.card"],"required":true}, + "brand": {"dataType":"string","required":true}, + "cancellation_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Card.CancellationReason"},{"dataType":"enum","enums":[null]}],"required":true}, + "cardholder": {"ref":"stripe.Stripe.Issuing.Cardholder","required":true}, + "created": {"dataType":"double","required":true}, + "currency": {"dataType":"string","required":true}, + "cvc": {"dataType":"string"}, + "exp_month": {"dataType":"double","required":true}, + "exp_year": {"dataType":"double","required":true}, + "financial_account": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "last4": {"dataType":"string","required":true}, + "livemode": {"dataType":"boolean","required":true}, + "metadata": {"ref":"stripe.Stripe.Metadata","required":true}, + "number": {"dataType":"string"}, + "personalization_design": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Issuing.PersonalizationDesign"},{"dataType":"enum","enums":[null]}],"required":true}, + "replaced_by": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Issuing.Card"},{"dataType":"enum","enums":[null]}],"required":true}, + "replacement_for": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Issuing.Card"},{"dataType":"enum","enums":[null]}],"required":true}, + "replacement_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Card.ReplacementReason"},{"dataType":"enum","enums":[null]}],"required":true}, + "shipping": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Card.Shipping"},{"dataType":"enum","enums":[null]}],"required":true}, + "spending_controls": {"ref":"stripe.Stripe.Issuing.Card.SpendingControls","required":true}, + "status": {"ref":"stripe.Stripe.Issuing.Card.Status","required":true}, + "type": {"ref":"stripe.Stripe.Issuing.Card.Type","required":true}, + "wallets": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Card.Wallets"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Refund.DestinationDetails.Sofort": { - "dataType": "refObject", - "properties": { - }, - "additionalProperties": false, + "stripe.Stripe.Issuing.Card.ReplacementReason": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["damaged"]},{"dataType":"enum","enums":["expired"]},{"dataType":"enum","enums":["lost"]},{"dataType":"enum","enums":["stolen"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Refund.DestinationDetails.Swish": { + "stripe.Stripe.Issuing.Card.Shipping.AddressValidation.Mode": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["disabled"]},{"dataType":"enum","enums":["normalization_only"]},{"dataType":"enum","enums":["validation_and_normalization"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Issuing.Card.Shipping.AddressValidation.Result": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["indeterminate"]},{"dataType":"enum","enums":["likely_deliverable"]},{"dataType":"enum","enums":["likely_undeliverable"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Issuing.Card.Shipping.AddressValidation": { "dataType": "refObject", "properties": { - "network_decline_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "reference_status": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "mode": {"ref":"stripe.Stripe.Issuing.Card.Shipping.AddressValidation.Mode","required":true}, + "normalized_address": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Address"},{"dataType":"enum","enums":[null]}],"required":true}, + "result": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Card.Shipping.AddressValidation.Result"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Refund.DestinationDetails.ThBankTransfer": { + "stripe.Stripe.Issuing.Card.Shipping.Carrier": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["dhl"]},{"dataType":"enum","enums":["fedex"]},{"dataType":"enum","enums":["royal_mail"]},{"dataType":"enum","enums":["usps"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Issuing.Card.Shipping.Customs": { "dataType": "refObject", "properties": { - "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "reference_status": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "eori_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Refund.DestinationDetails.UsBankTransfer": { + "stripe.Stripe.Issuing.Card.Shipping.Service": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["express"]},{"dataType":"enum","enums":["priority"]},{"dataType":"enum","enums":["standard"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Issuing.Card.Shipping.Status": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["canceled"]},{"dataType":"enum","enums":["delivered"]},{"dataType":"enum","enums":["failure"]},{"dataType":"enum","enums":["pending"]},{"dataType":"enum","enums":["returned"]},{"dataType":"enum","enums":["shipped"]},{"dataType":"enum","enums":["submitted"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Issuing.Card.Shipping.Type": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["bulk"]},{"dataType":"enum","enums":["individual"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Issuing.Card.Shipping": { "dataType": "refObject", "properties": { - "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "reference_status": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "address": {"ref":"stripe.Stripe.Address","required":true}, + "address_validation": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Card.Shipping.AddressValidation"},{"dataType":"enum","enums":[null]}],"required":true}, + "carrier": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Card.Shipping.Carrier"},{"dataType":"enum","enums":[null]}],"required":true}, + "customs": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Card.Shipping.Customs"},{"dataType":"enum","enums":[null]}],"required":true}, + "eta": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "name": {"dataType":"string","required":true}, + "phone_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "require_signature": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, + "service": {"ref":"stripe.Stripe.Issuing.Card.Shipping.Service","required":true}, + "status": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Card.Shipping.Status"},{"dataType":"enum","enums":[null]}],"required":true}, + "tracking_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "tracking_url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "type": {"ref":"stripe.Stripe.Issuing.Card.Shipping.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Refund.DestinationDetails.WechatPay": { + "stripe.Stripe.Issuing.Card.SpendingControls.AllowedCategory": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["ac_refrigeration_repair"]},{"dataType":"enum","enums":["accounting_bookkeeping_services"]},{"dataType":"enum","enums":["advertising_services"]},{"dataType":"enum","enums":["agricultural_cooperative"]},{"dataType":"enum","enums":["airlines_air_carriers"]},{"dataType":"enum","enums":["airports_flying_fields"]},{"dataType":"enum","enums":["ambulance_services"]},{"dataType":"enum","enums":["amusement_parks_carnivals"]},{"dataType":"enum","enums":["antique_reproductions"]},{"dataType":"enum","enums":["antique_shops"]},{"dataType":"enum","enums":["aquariums"]},{"dataType":"enum","enums":["architectural_surveying_services"]},{"dataType":"enum","enums":["art_dealers_and_galleries"]},{"dataType":"enum","enums":["artists_supply_and_craft_shops"]},{"dataType":"enum","enums":["auto_and_home_supply_stores"]},{"dataType":"enum","enums":["auto_body_repair_shops"]},{"dataType":"enum","enums":["auto_paint_shops"]},{"dataType":"enum","enums":["auto_service_shops"]},{"dataType":"enum","enums":["automated_cash_disburse"]},{"dataType":"enum","enums":["automated_fuel_dispensers"]},{"dataType":"enum","enums":["automobile_associations"]},{"dataType":"enum","enums":["automotive_parts_and_accessories_stores"]},{"dataType":"enum","enums":["automotive_tire_stores"]},{"dataType":"enum","enums":["bail_and_bond_payments"]},{"dataType":"enum","enums":["bakeries"]},{"dataType":"enum","enums":["bands_orchestras"]},{"dataType":"enum","enums":["barber_and_beauty_shops"]},{"dataType":"enum","enums":["betting_casino_gambling"]},{"dataType":"enum","enums":["bicycle_shops"]},{"dataType":"enum","enums":["billiard_pool_establishments"]},{"dataType":"enum","enums":["boat_dealers"]},{"dataType":"enum","enums":["boat_rentals_and_leases"]},{"dataType":"enum","enums":["book_stores"]},{"dataType":"enum","enums":["books_periodicals_and_newspapers"]},{"dataType":"enum","enums":["bowling_alleys"]},{"dataType":"enum","enums":["bus_lines"]},{"dataType":"enum","enums":["business_secretarial_schools"]},{"dataType":"enum","enums":["buying_shopping_services"]},{"dataType":"enum","enums":["cable_satellite_and_other_pay_television_and_radio"]},{"dataType":"enum","enums":["camera_and_photographic_supply_stores"]},{"dataType":"enum","enums":["candy_nut_and_confectionery_stores"]},{"dataType":"enum","enums":["car_and_truck_dealers_new_used"]},{"dataType":"enum","enums":["car_and_truck_dealers_used_only"]},{"dataType":"enum","enums":["car_rental_agencies"]},{"dataType":"enum","enums":["car_washes"]},{"dataType":"enum","enums":["carpentry_services"]},{"dataType":"enum","enums":["carpet_upholstery_cleaning"]},{"dataType":"enum","enums":["caterers"]},{"dataType":"enum","enums":["charitable_and_social_service_organizations_fundraising"]},{"dataType":"enum","enums":["chemicals_and_allied_products"]},{"dataType":"enum","enums":["child_care_services"]},{"dataType":"enum","enums":["childrens_and_infants_wear_stores"]},{"dataType":"enum","enums":["chiropodists_podiatrists"]},{"dataType":"enum","enums":["chiropractors"]},{"dataType":"enum","enums":["cigar_stores_and_stands"]},{"dataType":"enum","enums":["civic_social_fraternal_associations"]},{"dataType":"enum","enums":["cleaning_and_maintenance"]},{"dataType":"enum","enums":["clothing_rental"]},{"dataType":"enum","enums":["colleges_universities"]},{"dataType":"enum","enums":["commercial_equipment"]},{"dataType":"enum","enums":["commercial_footwear"]},{"dataType":"enum","enums":["commercial_photography_art_and_graphics"]},{"dataType":"enum","enums":["commuter_transport_and_ferries"]},{"dataType":"enum","enums":["computer_network_services"]},{"dataType":"enum","enums":["computer_programming"]},{"dataType":"enum","enums":["computer_repair"]},{"dataType":"enum","enums":["computer_software_stores"]},{"dataType":"enum","enums":["computers_peripherals_and_software"]},{"dataType":"enum","enums":["concrete_work_services"]},{"dataType":"enum","enums":["construction_materials"]},{"dataType":"enum","enums":["consulting_public_relations"]},{"dataType":"enum","enums":["correspondence_schools"]},{"dataType":"enum","enums":["cosmetic_stores"]},{"dataType":"enum","enums":["counseling_services"]},{"dataType":"enum","enums":["country_clubs"]},{"dataType":"enum","enums":["courier_services"]},{"dataType":"enum","enums":["court_costs"]},{"dataType":"enum","enums":["credit_reporting_agencies"]},{"dataType":"enum","enums":["cruise_lines"]},{"dataType":"enum","enums":["dairy_products_stores"]},{"dataType":"enum","enums":["dance_hall_studios_schools"]},{"dataType":"enum","enums":["dating_escort_services"]},{"dataType":"enum","enums":["dentists_orthodontists"]},{"dataType":"enum","enums":["department_stores"]},{"dataType":"enum","enums":["detective_agencies"]},{"dataType":"enum","enums":["digital_goods_applications"]},{"dataType":"enum","enums":["digital_goods_games"]},{"dataType":"enum","enums":["digital_goods_large_volume"]},{"dataType":"enum","enums":["digital_goods_media"]},{"dataType":"enum","enums":["direct_marketing_catalog_merchant"]},{"dataType":"enum","enums":["direct_marketing_combination_catalog_and_retail_merchant"]},{"dataType":"enum","enums":["direct_marketing_inbound_telemarketing"]},{"dataType":"enum","enums":["direct_marketing_insurance_services"]},{"dataType":"enum","enums":["direct_marketing_other"]},{"dataType":"enum","enums":["direct_marketing_outbound_telemarketing"]},{"dataType":"enum","enums":["direct_marketing_subscription"]},{"dataType":"enum","enums":["direct_marketing_travel"]},{"dataType":"enum","enums":["discount_stores"]},{"dataType":"enum","enums":["doctors"]},{"dataType":"enum","enums":["door_to_door_sales"]},{"dataType":"enum","enums":["drapery_window_covering_and_upholstery_stores"]},{"dataType":"enum","enums":["drinking_places"]},{"dataType":"enum","enums":["drug_stores_and_pharmacies"]},{"dataType":"enum","enums":["drugs_drug_proprietaries_and_druggist_sundries"]},{"dataType":"enum","enums":["dry_cleaners"]},{"dataType":"enum","enums":["durable_goods"]},{"dataType":"enum","enums":["duty_free_stores"]},{"dataType":"enum","enums":["eating_places_restaurants"]},{"dataType":"enum","enums":["educational_services"]},{"dataType":"enum","enums":["electric_razor_stores"]},{"dataType":"enum","enums":["electric_vehicle_charging"]},{"dataType":"enum","enums":["electrical_parts_and_equipment"]},{"dataType":"enum","enums":["electrical_services"]},{"dataType":"enum","enums":["electronics_repair_shops"]},{"dataType":"enum","enums":["electronics_stores"]},{"dataType":"enum","enums":["elementary_secondary_schools"]},{"dataType":"enum","enums":["emergency_services_gcas_visa_use_only"]},{"dataType":"enum","enums":["employment_temp_agencies"]},{"dataType":"enum","enums":["equipment_rental"]},{"dataType":"enum","enums":["exterminating_services"]},{"dataType":"enum","enums":["family_clothing_stores"]},{"dataType":"enum","enums":["fast_food_restaurants"]},{"dataType":"enum","enums":["financial_institutions"]},{"dataType":"enum","enums":["fines_government_administrative_entities"]},{"dataType":"enum","enums":["fireplace_fireplace_screens_and_accessories_stores"]},{"dataType":"enum","enums":["floor_covering_stores"]},{"dataType":"enum","enums":["florists"]},{"dataType":"enum","enums":["florists_supplies_nursery_stock_and_flowers"]},{"dataType":"enum","enums":["freezer_and_locker_meat_provisioners"]},{"dataType":"enum","enums":["fuel_dealers_non_automotive"]},{"dataType":"enum","enums":["funeral_services_crematories"]},{"dataType":"enum","enums":["furniture_home_furnishings_and_equipment_stores_except_appliances"]},{"dataType":"enum","enums":["furniture_repair_refinishing"]},{"dataType":"enum","enums":["furriers_and_fur_shops"]},{"dataType":"enum","enums":["general_services"]},{"dataType":"enum","enums":["gift_card_novelty_and_souvenir_shops"]},{"dataType":"enum","enums":["glass_paint_and_wallpaper_stores"]},{"dataType":"enum","enums":["glassware_crystal_stores"]},{"dataType":"enum","enums":["golf_courses_public"]},{"dataType":"enum","enums":["government_licensed_horse_dog_racing_us_region_only"]},{"dataType":"enum","enums":["government_licensed_online_casions_online_gambling_us_region_only"]},{"dataType":"enum","enums":["government_owned_lotteries_non_us_region"]},{"dataType":"enum","enums":["government_owned_lotteries_us_region_only"]},{"dataType":"enum","enums":["government_services"]},{"dataType":"enum","enums":["grocery_stores_supermarkets"]},{"dataType":"enum","enums":["hardware_equipment_and_supplies"]},{"dataType":"enum","enums":["hardware_stores"]},{"dataType":"enum","enums":["health_and_beauty_spas"]},{"dataType":"enum","enums":["hearing_aids_sales_and_supplies"]},{"dataType":"enum","enums":["heating_plumbing_a_c"]},{"dataType":"enum","enums":["hobby_toy_and_game_shops"]},{"dataType":"enum","enums":["home_supply_warehouse_stores"]},{"dataType":"enum","enums":["hospitals"]},{"dataType":"enum","enums":["hotels_motels_and_resorts"]},{"dataType":"enum","enums":["household_appliance_stores"]},{"dataType":"enum","enums":["industrial_supplies"]},{"dataType":"enum","enums":["information_retrieval_services"]},{"dataType":"enum","enums":["insurance_default"]},{"dataType":"enum","enums":["insurance_underwriting_premiums"]},{"dataType":"enum","enums":["intra_company_purchases"]},{"dataType":"enum","enums":["jewelry_stores_watches_clocks_and_silverware_stores"]},{"dataType":"enum","enums":["landscaping_services"]},{"dataType":"enum","enums":["laundries"]},{"dataType":"enum","enums":["laundry_cleaning_services"]},{"dataType":"enum","enums":["legal_services_attorneys"]},{"dataType":"enum","enums":["luggage_and_leather_goods_stores"]},{"dataType":"enum","enums":["lumber_building_materials_stores"]},{"dataType":"enum","enums":["manual_cash_disburse"]},{"dataType":"enum","enums":["marinas_service_and_supplies"]},{"dataType":"enum","enums":["marketplaces"]},{"dataType":"enum","enums":["masonry_stonework_and_plaster"]},{"dataType":"enum","enums":["massage_parlors"]},{"dataType":"enum","enums":["medical_and_dental_labs"]},{"dataType":"enum","enums":["medical_dental_ophthalmic_and_hospital_equipment_and_supplies"]},{"dataType":"enum","enums":["medical_services"]},{"dataType":"enum","enums":["membership_organizations"]},{"dataType":"enum","enums":["mens_and_boys_clothing_and_accessories_stores"]},{"dataType":"enum","enums":["mens_womens_clothing_stores"]},{"dataType":"enum","enums":["metal_service_centers"]},{"dataType":"enum","enums":["miscellaneous"]},{"dataType":"enum","enums":["miscellaneous_apparel_and_accessory_shops"]},{"dataType":"enum","enums":["miscellaneous_auto_dealers"]},{"dataType":"enum","enums":["miscellaneous_business_services"]},{"dataType":"enum","enums":["miscellaneous_food_stores"]},{"dataType":"enum","enums":["miscellaneous_general_merchandise"]},{"dataType":"enum","enums":["miscellaneous_general_services"]},{"dataType":"enum","enums":["miscellaneous_home_furnishing_specialty_stores"]},{"dataType":"enum","enums":["miscellaneous_publishing_and_printing"]},{"dataType":"enum","enums":["miscellaneous_recreation_services"]},{"dataType":"enum","enums":["miscellaneous_repair_shops"]},{"dataType":"enum","enums":["miscellaneous_specialty_retail"]},{"dataType":"enum","enums":["mobile_home_dealers"]},{"dataType":"enum","enums":["motion_picture_theaters"]},{"dataType":"enum","enums":["motor_freight_carriers_and_trucking"]},{"dataType":"enum","enums":["motor_homes_dealers"]},{"dataType":"enum","enums":["motor_vehicle_supplies_and_new_parts"]},{"dataType":"enum","enums":["motorcycle_shops_and_dealers"]},{"dataType":"enum","enums":["motorcycle_shops_dealers"]},{"dataType":"enum","enums":["music_stores_musical_instruments_pianos_and_sheet_music"]},{"dataType":"enum","enums":["news_dealers_and_newsstands"]},{"dataType":"enum","enums":["non_fi_money_orders"]},{"dataType":"enum","enums":["non_fi_stored_value_card_purchase_load"]},{"dataType":"enum","enums":["nondurable_goods"]},{"dataType":"enum","enums":["nurseries_lawn_and_garden_supply_stores"]},{"dataType":"enum","enums":["nursing_personal_care"]},{"dataType":"enum","enums":["office_and_commercial_furniture"]},{"dataType":"enum","enums":["opticians_eyeglasses"]},{"dataType":"enum","enums":["optometrists_ophthalmologist"]},{"dataType":"enum","enums":["orthopedic_goods_prosthetic_devices"]},{"dataType":"enum","enums":["osteopaths"]},{"dataType":"enum","enums":["package_stores_beer_wine_and_liquor"]},{"dataType":"enum","enums":["paints_varnishes_and_supplies"]},{"dataType":"enum","enums":["parking_lots_garages"]},{"dataType":"enum","enums":["passenger_railways"]},{"dataType":"enum","enums":["pawn_shops"]},{"dataType":"enum","enums":["pet_shops_pet_food_and_supplies"]},{"dataType":"enum","enums":["petroleum_and_petroleum_products"]},{"dataType":"enum","enums":["photo_developing"]},{"dataType":"enum","enums":["photographic_photocopy_microfilm_equipment_and_supplies"]},{"dataType":"enum","enums":["photographic_studios"]},{"dataType":"enum","enums":["picture_video_production"]},{"dataType":"enum","enums":["piece_goods_notions_and_other_dry_goods"]},{"dataType":"enum","enums":["plumbing_heating_equipment_and_supplies"]},{"dataType":"enum","enums":["political_organizations"]},{"dataType":"enum","enums":["postal_services_government_only"]},{"dataType":"enum","enums":["precious_stones_and_metals_watches_and_jewelry"]},{"dataType":"enum","enums":["professional_services"]},{"dataType":"enum","enums":["public_warehousing_and_storage"]},{"dataType":"enum","enums":["quick_copy_repro_and_blueprint"]},{"dataType":"enum","enums":["railroads"]},{"dataType":"enum","enums":["real_estate_agents_and_managers_rentals"]},{"dataType":"enum","enums":["record_stores"]},{"dataType":"enum","enums":["recreational_vehicle_rentals"]},{"dataType":"enum","enums":["religious_goods_stores"]},{"dataType":"enum","enums":["religious_organizations"]},{"dataType":"enum","enums":["roofing_siding_sheet_metal"]},{"dataType":"enum","enums":["secretarial_support_services"]},{"dataType":"enum","enums":["security_brokers_dealers"]},{"dataType":"enum","enums":["service_stations"]},{"dataType":"enum","enums":["sewing_needlework_fabric_and_piece_goods_stores"]},{"dataType":"enum","enums":["shoe_repair_hat_cleaning"]},{"dataType":"enum","enums":["shoe_stores"]},{"dataType":"enum","enums":["small_appliance_repair"]},{"dataType":"enum","enums":["snowmobile_dealers"]},{"dataType":"enum","enums":["special_trade_services"]},{"dataType":"enum","enums":["specialty_cleaning"]},{"dataType":"enum","enums":["sporting_goods_stores"]},{"dataType":"enum","enums":["sporting_recreation_camps"]},{"dataType":"enum","enums":["sports_and_riding_apparel_stores"]},{"dataType":"enum","enums":["sports_clubs_fields"]},{"dataType":"enum","enums":["stamp_and_coin_stores"]},{"dataType":"enum","enums":["stationary_office_supplies_printing_and_writing_paper"]},{"dataType":"enum","enums":["stationery_stores_office_and_school_supply_stores"]},{"dataType":"enum","enums":["swimming_pools_sales"]},{"dataType":"enum","enums":["t_ui_travel_germany"]},{"dataType":"enum","enums":["tailors_alterations"]},{"dataType":"enum","enums":["tax_payments_government_agencies"]},{"dataType":"enum","enums":["tax_preparation_services"]},{"dataType":"enum","enums":["taxicabs_limousines"]},{"dataType":"enum","enums":["telecommunication_equipment_and_telephone_sales"]},{"dataType":"enum","enums":["telecommunication_services"]},{"dataType":"enum","enums":["telegraph_services"]},{"dataType":"enum","enums":["tent_and_awning_shops"]},{"dataType":"enum","enums":["testing_laboratories"]},{"dataType":"enum","enums":["theatrical_ticket_agencies"]},{"dataType":"enum","enums":["timeshares"]},{"dataType":"enum","enums":["tire_retreading_and_repair"]},{"dataType":"enum","enums":["tolls_bridge_fees"]},{"dataType":"enum","enums":["tourist_attractions_and_exhibits"]},{"dataType":"enum","enums":["towing_services"]},{"dataType":"enum","enums":["trailer_parks_campgrounds"]},{"dataType":"enum","enums":["transportation_services"]},{"dataType":"enum","enums":["travel_agencies_tour_operators"]},{"dataType":"enum","enums":["truck_stop_iteration"]},{"dataType":"enum","enums":["truck_utility_trailer_rentals"]},{"dataType":"enum","enums":["typesetting_plate_making_and_related_services"]},{"dataType":"enum","enums":["typewriter_stores"]},{"dataType":"enum","enums":["u_s_federal_government_agencies_or_departments"]},{"dataType":"enum","enums":["uniforms_commercial_clothing"]},{"dataType":"enum","enums":["used_merchandise_and_secondhand_stores"]},{"dataType":"enum","enums":["utilities"]},{"dataType":"enum","enums":["variety_stores"]},{"dataType":"enum","enums":["veterinary_services"]},{"dataType":"enum","enums":["video_amusement_game_supplies"]},{"dataType":"enum","enums":["video_game_arcades"]},{"dataType":"enum","enums":["video_tape_rental_stores"]},{"dataType":"enum","enums":["vocational_trade_schools"]},{"dataType":"enum","enums":["watch_jewelry_repair"]},{"dataType":"enum","enums":["welding_repair"]},{"dataType":"enum","enums":["wholesale_clubs"]},{"dataType":"enum","enums":["wig_and_toupee_stores"]},{"dataType":"enum","enums":["wires_money_orders"]},{"dataType":"enum","enums":["womens_accessory_and_specialty_shops"]},{"dataType":"enum","enums":["womens_ready_to_wear_stores"]},{"dataType":"enum","enums":["wrecking_and_salvage_yards"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Issuing.Card.SpendingControls.BlockedCategory": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["ac_refrigeration_repair"]},{"dataType":"enum","enums":["accounting_bookkeeping_services"]},{"dataType":"enum","enums":["advertising_services"]},{"dataType":"enum","enums":["agricultural_cooperative"]},{"dataType":"enum","enums":["airlines_air_carriers"]},{"dataType":"enum","enums":["airports_flying_fields"]},{"dataType":"enum","enums":["ambulance_services"]},{"dataType":"enum","enums":["amusement_parks_carnivals"]},{"dataType":"enum","enums":["antique_reproductions"]},{"dataType":"enum","enums":["antique_shops"]},{"dataType":"enum","enums":["aquariums"]},{"dataType":"enum","enums":["architectural_surveying_services"]},{"dataType":"enum","enums":["art_dealers_and_galleries"]},{"dataType":"enum","enums":["artists_supply_and_craft_shops"]},{"dataType":"enum","enums":["auto_and_home_supply_stores"]},{"dataType":"enum","enums":["auto_body_repair_shops"]},{"dataType":"enum","enums":["auto_paint_shops"]},{"dataType":"enum","enums":["auto_service_shops"]},{"dataType":"enum","enums":["automated_cash_disburse"]},{"dataType":"enum","enums":["automated_fuel_dispensers"]},{"dataType":"enum","enums":["automobile_associations"]},{"dataType":"enum","enums":["automotive_parts_and_accessories_stores"]},{"dataType":"enum","enums":["automotive_tire_stores"]},{"dataType":"enum","enums":["bail_and_bond_payments"]},{"dataType":"enum","enums":["bakeries"]},{"dataType":"enum","enums":["bands_orchestras"]},{"dataType":"enum","enums":["barber_and_beauty_shops"]},{"dataType":"enum","enums":["betting_casino_gambling"]},{"dataType":"enum","enums":["bicycle_shops"]},{"dataType":"enum","enums":["billiard_pool_establishments"]},{"dataType":"enum","enums":["boat_dealers"]},{"dataType":"enum","enums":["boat_rentals_and_leases"]},{"dataType":"enum","enums":["book_stores"]},{"dataType":"enum","enums":["books_periodicals_and_newspapers"]},{"dataType":"enum","enums":["bowling_alleys"]},{"dataType":"enum","enums":["bus_lines"]},{"dataType":"enum","enums":["business_secretarial_schools"]},{"dataType":"enum","enums":["buying_shopping_services"]},{"dataType":"enum","enums":["cable_satellite_and_other_pay_television_and_radio"]},{"dataType":"enum","enums":["camera_and_photographic_supply_stores"]},{"dataType":"enum","enums":["candy_nut_and_confectionery_stores"]},{"dataType":"enum","enums":["car_and_truck_dealers_new_used"]},{"dataType":"enum","enums":["car_and_truck_dealers_used_only"]},{"dataType":"enum","enums":["car_rental_agencies"]},{"dataType":"enum","enums":["car_washes"]},{"dataType":"enum","enums":["carpentry_services"]},{"dataType":"enum","enums":["carpet_upholstery_cleaning"]},{"dataType":"enum","enums":["caterers"]},{"dataType":"enum","enums":["charitable_and_social_service_organizations_fundraising"]},{"dataType":"enum","enums":["chemicals_and_allied_products"]},{"dataType":"enum","enums":["child_care_services"]},{"dataType":"enum","enums":["childrens_and_infants_wear_stores"]},{"dataType":"enum","enums":["chiropodists_podiatrists"]},{"dataType":"enum","enums":["chiropractors"]},{"dataType":"enum","enums":["cigar_stores_and_stands"]},{"dataType":"enum","enums":["civic_social_fraternal_associations"]},{"dataType":"enum","enums":["cleaning_and_maintenance"]},{"dataType":"enum","enums":["clothing_rental"]},{"dataType":"enum","enums":["colleges_universities"]},{"dataType":"enum","enums":["commercial_equipment"]},{"dataType":"enum","enums":["commercial_footwear"]},{"dataType":"enum","enums":["commercial_photography_art_and_graphics"]},{"dataType":"enum","enums":["commuter_transport_and_ferries"]},{"dataType":"enum","enums":["computer_network_services"]},{"dataType":"enum","enums":["computer_programming"]},{"dataType":"enum","enums":["computer_repair"]},{"dataType":"enum","enums":["computer_software_stores"]},{"dataType":"enum","enums":["computers_peripherals_and_software"]},{"dataType":"enum","enums":["concrete_work_services"]},{"dataType":"enum","enums":["construction_materials"]},{"dataType":"enum","enums":["consulting_public_relations"]},{"dataType":"enum","enums":["correspondence_schools"]},{"dataType":"enum","enums":["cosmetic_stores"]},{"dataType":"enum","enums":["counseling_services"]},{"dataType":"enum","enums":["country_clubs"]},{"dataType":"enum","enums":["courier_services"]},{"dataType":"enum","enums":["court_costs"]},{"dataType":"enum","enums":["credit_reporting_agencies"]},{"dataType":"enum","enums":["cruise_lines"]},{"dataType":"enum","enums":["dairy_products_stores"]},{"dataType":"enum","enums":["dance_hall_studios_schools"]},{"dataType":"enum","enums":["dating_escort_services"]},{"dataType":"enum","enums":["dentists_orthodontists"]},{"dataType":"enum","enums":["department_stores"]},{"dataType":"enum","enums":["detective_agencies"]},{"dataType":"enum","enums":["digital_goods_applications"]},{"dataType":"enum","enums":["digital_goods_games"]},{"dataType":"enum","enums":["digital_goods_large_volume"]},{"dataType":"enum","enums":["digital_goods_media"]},{"dataType":"enum","enums":["direct_marketing_catalog_merchant"]},{"dataType":"enum","enums":["direct_marketing_combination_catalog_and_retail_merchant"]},{"dataType":"enum","enums":["direct_marketing_inbound_telemarketing"]},{"dataType":"enum","enums":["direct_marketing_insurance_services"]},{"dataType":"enum","enums":["direct_marketing_other"]},{"dataType":"enum","enums":["direct_marketing_outbound_telemarketing"]},{"dataType":"enum","enums":["direct_marketing_subscription"]},{"dataType":"enum","enums":["direct_marketing_travel"]},{"dataType":"enum","enums":["discount_stores"]},{"dataType":"enum","enums":["doctors"]},{"dataType":"enum","enums":["door_to_door_sales"]},{"dataType":"enum","enums":["drapery_window_covering_and_upholstery_stores"]},{"dataType":"enum","enums":["drinking_places"]},{"dataType":"enum","enums":["drug_stores_and_pharmacies"]},{"dataType":"enum","enums":["drugs_drug_proprietaries_and_druggist_sundries"]},{"dataType":"enum","enums":["dry_cleaners"]},{"dataType":"enum","enums":["durable_goods"]},{"dataType":"enum","enums":["duty_free_stores"]},{"dataType":"enum","enums":["eating_places_restaurants"]},{"dataType":"enum","enums":["educational_services"]},{"dataType":"enum","enums":["electric_razor_stores"]},{"dataType":"enum","enums":["electric_vehicle_charging"]},{"dataType":"enum","enums":["electrical_parts_and_equipment"]},{"dataType":"enum","enums":["electrical_services"]},{"dataType":"enum","enums":["electronics_repair_shops"]},{"dataType":"enum","enums":["electronics_stores"]},{"dataType":"enum","enums":["elementary_secondary_schools"]},{"dataType":"enum","enums":["emergency_services_gcas_visa_use_only"]},{"dataType":"enum","enums":["employment_temp_agencies"]},{"dataType":"enum","enums":["equipment_rental"]},{"dataType":"enum","enums":["exterminating_services"]},{"dataType":"enum","enums":["family_clothing_stores"]},{"dataType":"enum","enums":["fast_food_restaurants"]},{"dataType":"enum","enums":["financial_institutions"]},{"dataType":"enum","enums":["fines_government_administrative_entities"]},{"dataType":"enum","enums":["fireplace_fireplace_screens_and_accessories_stores"]},{"dataType":"enum","enums":["floor_covering_stores"]},{"dataType":"enum","enums":["florists"]},{"dataType":"enum","enums":["florists_supplies_nursery_stock_and_flowers"]},{"dataType":"enum","enums":["freezer_and_locker_meat_provisioners"]},{"dataType":"enum","enums":["fuel_dealers_non_automotive"]},{"dataType":"enum","enums":["funeral_services_crematories"]},{"dataType":"enum","enums":["furniture_home_furnishings_and_equipment_stores_except_appliances"]},{"dataType":"enum","enums":["furniture_repair_refinishing"]},{"dataType":"enum","enums":["furriers_and_fur_shops"]},{"dataType":"enum","enums":["general_services"]},{"dataType":"enum","enums":["gift_card_novelty_and_souvenir_shops"]},{"dataType":"enum","enums":["glass_paint_and_wallpaper_stores"]},{"dataType":"enum","enums":["glassware_crystal_stores"]},{"dataType":"enum","enums":["golf_courses_public"]},{"dataType":"enum","enums":["government_licensed_horse_dog_racing_us_region_only"]},{"dataType":"enum","enums":["government_licensed_online_casions_online_gambling_us_region_only"]},{"dataType":"enum","enums":["government_owned_lotteries_non_us_region"]},{"dataType":"enum","enums":["government_owned_lotteries_us_region_only"]},{"dataType":"enum","enums":["government_services"]},{"dataType":"enum","enums":["grocery_stores_supermarkets"]},{"dataType":"enum","enums":["hardware_equipment_and_supplies"]},{"dataType":"enum","enums":["hardware_stores"]},{"dataType":"enum","enums":["health_and_beauty_spas"]},{"dataType":"enum","enums":["hearing_aids_sales_and_supplies"]},{"dataType":"enum","enums":["heating_plumbing_a_c"]},{"dataType":"enum","enums":["hobby_toy_and_game_shops"]},{"dataType":"enum","enums":["home_supply_warehouse_stores"]},{"dataType":"enum","enums":["hospitals"]},{"dataType":"enum","enums":["hotels_motels_and_resorts"]},{"dataType":"enum","enums":["household_appliance_stores"]},{"dataType":"enum","enums":["industrial_supplies"]},{"dataType":"enum","enums":["information_retrieval_services"]},{"dataType":"enum","enums":["insurance_default"]},{"dataType":"enum","enums":["insurance_underwriting_premiums"]},{"dataType":"enum","enums":["intra_company_purchases"]},{"dataType":"enum","enums":["jewelry_stores_watches_clocks_and_silverware_stores"]},{"dataType":"enum","enums":["landscaping_services"]},{"dataType":"enum","enums":["laundries"]},{"dataType":"enum","enums":["laundry_cleaning_services"]},{"dataType":"enum","enums":["legal_services_attorneys"]},{"dataType":"enum","enums":["luggage_and_leather_goods_stores"]},{"dataType":"enum","enums":["lumber_building_materials_stores"]},{"dataType":"enum","enums":["manual_cash_disburse"]},{"dataType":"enum","enums":["marinas_service_and_supplies"]},{"dataType":"enum","enums":["marketplaces"]},{"dataType":"enum","enums":["masonry_stonework_and_plaster"]},{"dataType":"enum","enums":["massage_parlors"]},{"dataType":"enum","enums":["medical_and_dental_labs"]},{"dataType":"enum","enums":["medical_dental_ophthalmic_and_hospital_equipment_and_supplies"]},{"dataType":"enum","enums":["medical_services"]},{"dataType":"enum","enums":["membership_organizations"]},{"dataType":"enum","enums":["mens_and_boys_clothing_and_accessories_stores"]},{"dataType":"enum","enums":["mens_womens_clothing_stores"]},{"dataType":"enum","enums":["metal_service_centers"]},{"dataType":"enum","enums":["miscellaneous"]},{"dataType":"enum","enums":["miscellaneous_apparel_and_accessory_shops"]},{"dataType":"enum","enums":["miscellaneous_auto_dealers"]},{"dataType":"enum","enums":["miscellaneous_business_services"]},{"dataType":"enum","enums":["miscellaneous_food_stores"]},{"dataType":"enum","enums":["miscellaneous_general_merchandise"]},{"dataType":"enum","enums":["miscellaneous_general_services"]},{"dataType":"enum","enums":["miscellaneous_home_furnishing_specialty_stores"]},{"dataType":"enum","enums":["miscellaneous_publishing_and_printing"]},{"dataType":"enum","enums":["miscellaneous_recreation_services"]},{"dataType":"enum","enums":["miscellaneous_repair_shops"]},{"dataType":"enum","enums":["miscellaneous_specialty_retail"]},{"dataType":"enum","enums":["mobile_home_dealers"]},{"dataType":"enum","enums":["motion_picture_theaters"]},{"dataType":"enum","enums":["motor_freight_carriers_and_trucking"]},{"dataType":"enum","enums":["motor_homes_dealers"]},{"dataType":"enum","enums":["motor_vehicle_supplies_and_new_parts"]},{"dataType":"enum","enums":["motorcycle_shops_and_dealers"]},{"dataType":"enum","enums":["motorcycle_shops_dealers"]},{"dataType":"enum","enums":["music_stores_musical_instruments_pianos_and_sheet_music"]},{"dataType":"enum","enums":["news_dealers_and_newsstands"]},{"dataType":"enum","enums":["non_fi_money_orders"]},{"dataType":"enum","enums":["non_fi_stored_value_card_purchase_load"]},{"dataType":"enum","enums":["nondurable_goods"]},{"dataType":"enum","enums":["nurseries_lawn_and_garden_supply_stores"]},{"dataType":"enum","enums":["nursing_personal_care"]},{"dataType":"enum","enums":["office_and_commercial_furniture"]},{"dataType":"enum","enums":["opticians_eyeglasses"]},{"dataType":"enum","enums":["optometrists_ophthalmologist"]},{"dataType":"enum","enums":["orthopedic_goods_prosthetic_devices"]},{"dataType":"enum","enums":["osteopaths"]},{"dataType":"enum","enums":["package_stores_beer_wine_and_liquor"]},{"dataType":"enum","enums":["paints_varnishes_and_supplies"]},{"dataType":"enum","enums":["parking_lots_garages"]},{"dataType":"enum","enums":["passenger_railways"]},{"dataType":"enum","enums":["pawn_shops"]},{"dataType":"enum","enums":["pet_shops_pet_food_and_supplies"]},{"dataType":"enum","enums":["petroleum_and_petroleum_products"]},{"dataType":"enum","enums":["photo_developing"]},{"dataType":"enum","enums":["photographic_photocopy_microfilm_equipment_and_supplies"]},{"dataType":"enum","enums":["photographic_studios"]},{"dataType":"enum","enums":["picture_video_production"]},{"dataType":"enum","enums":["piece_goods_notions_and_other_dry_goods"]},{"dataType":"enum","enums":["plumbing_heating_equipment_and_supplies"]},{"dataType":"enum","enums":["political_organizations"]},{"dataType":"enum","enums":["postal_services_government_only"]},{"dataType":"enum","enums":["precious_stones_and_metals_watches_and_jewelry"]},{"dataType":"enum","enums":["professional_services"]},{"dataType":"enum","enums":["public_warehousing_and_storage"]},{"dataType":"enum","enums":["quick_copy_repro_and_blueprint"]},{"dataType":"enum","enums":["railroads"]},{"dataType":"enum","enums":["real_estate_agents_and_managers_rentals"]},{"dataType":"enum","enums":["record_stores"]},{"dataType":"enum","enums":["recreational_vehicle_rentals"]},{"dataType":"enum","enums":["religious_goods_stores"]},{"dataType":"enum","enums":["religious_organizations"]},{"dataType":"enum","enums":["roofing_siding_sheet_metal"]},{"dataType":"enum","enums":["secretarial_support_services"]},{"dataType":"enum","enums":["security_brokers_dealers"]},{"dataType":"enum","enums":["service_stations"]},{"dataType":"enum","enums":["sewing_needlework_fabric_and_piece_goods_stores"]},{"dataType":"enum","enums":["shoe_repair_hat_cleaning"]},{"dataType":"enum","enums":["shoe_stores"]},{"dataType":"enum","enums":["small_appliance_repair"]},{"dataType":"enum","enums":["snowmobile_dealers"]},{"dataType":"enum","enums":["special_trade_services"]},{"dataType":"enum","enums":["specialty_cleaning"]},{"dataType":"enum","enums":["sporting_goods_stores"]},{"dataType":"enum","enums":["sporting_recreation_camps"]},{"dataType":"enum","enums":["sports_and_riding_apparel_stores"]},{"dataType":"enum","enums":["sports_clubs_fields"]},{"dataType":"enum","enums":["stamp_and_coin_stores"]},{"dataType":"enum","enums":["stationary_office_supplies_printing_and_writing_paper"]},{"dataType":"enum","enums":["stationery_stores_office_and_school_supply_stores"]},{"dataType":"enum","enums":["swimming_pools_sales"]},{"dataType":"enum","enums":["t_ui_travel_germany"]},{"dataType":"enum","enums":["tailors_alterations"]},{"dataType":"enum","enums":["tax_payments_government_agencies"]},{"dataType":"enum","enums":["tax_preparation_services"]},{"dataType":"enum","enums":["taxicabs_limousines"]},{"dataType":"enum","enums":["telecommunication_equipment_and_telephone_sales"]},{"dataType":"enum","enums":["telecommunication_services"]},{"dataType":"enum","enums":["telegraph_services"]},{"dataType":"enum","enums":["tent_and_awning_shops"]},{"dataType":"enum","enums":["testing_laboratories"]},{"dataType":"enum","enums":["theatrical_ticket_agencies"]},{"dataType":"enum","enums":["timeshares"]},{"dataType":"enum","enums":["tire_retreading_and_repair"]},{"dataType":"enum","enums":["tolls_bridge_fees"]},{"dataType":"enum","enums":["tourist_attractions_and_exhibits"]},{"dataType":"enum","enums":["towing_services"]},{"dataType":"enum","enums":["trailer_parks_campgrounds"]},{"dataType":"enum","enums":["transportation_services"]},{"dataType":"enum","enums":["travel_agencies_tour_operators"]},{"dataType":"enum","enums":["truck_stop_iteration"]},{"dataType":"enum","enums":["truck_utility_trailer_rentals"]},{"dataType":"enum","enums":["typesetting_plate_making_and_related_services"]},{"dataType":"enum","enums":["typewriter_stores"]},{"dataType":"enum","enums":["u_s_federal_government_agencies_or_departments"]},{"dataType":"enum","enums":["uniforms_commercial_clothing"]},{"dataType":"enum","enums":["used_merchandise_and_secondhand_stores"]},{"dataType":"enum","enums":["utilities"]},{"dataType":"enum","enums":["variety_stores"]},{"dataType":"enum","enums":["veterinary_services"]},{"dataType":"enum","enums":["video_amusement_game_supplies"]},{"dataType":"enum","enums":["video_game_arcades"]},{"dataType":"enum","enums":["video_tape_rental_stores"]},{"dataType":"enum","enums":["vocational_trade_schools"]},{"dataType":"enum","enums":["watch_jewelry_repair"]},{"dataType":"enum","enums":["welding_repair"]},{"dataType":"enum","enums":["wholesale_clubs"]},{"dataType":"enum","enums":["wig_and_toupee_stores"]},{"dataType":"enum","enums":["wires_money_orders"]},{"dataType":"enum","enums":["womens_accessory_and_specialty_shops"]},{"dataType":"enum","enums":["womens_ready_to_wear_stores"]},{"dataType":"enum","enums":["wrecking_and_salvage_yards"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Issuing.Card.SpendingControls.SpendingLimit.Category": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["ac_refrigeration_repair"]},{"dataType":"enum","enums":["accounting_bookkeeping_services"]},{"dataType":"enum","enums":["advertising_services"]},{"dataType":"enum","enums":["agricultural_cooperative"]},{"dataType":"enum","enums":["airlines_air_carriers"]},{"dataType":"enum","enums":["airports_flying_fields"]},{"dataType":"enum","enums":["ambulance_services"]},{"dataType":"enum","enums":["amusement_parks_carnivals"]},{"dataType":"enum","enums":["antique_reproductions"]},{"dataType":"enum","enums":["antique_shops"]},{"dataType":"enum","enums":["aquariums"]},{"dataType":"enum","enums":["architectural_surveying_services"]},{"dataType":"enum","enums":["art_dealers_and_galleries"]},{"dataType":"enum","enums":["artists_supply_and_craft_shops"]},{"dataType":"enum","enums":["auto_and_home_supply_stores"]},{"dataType":"enum","enums":["auto_body_repair_shops"]},{"dataType":"enum","enums":["auto_paint_shops"]},{"dataType":"enum","enums":["auto_service_shops"]},{"dataType":"enum","enums":["automated_cash_disburse"]},{"dataType":"enum","enums":["automated_fuel_dispensers"]},{"dataType":"enum","enums":["automobile_associations"]},{"dataType":"enum","enums":["automotive_parts_and_accessories_stores"]},{"dataType":"enum","enums":["automotive_tire_stores"]},{"dataType":"enum","enums":["bail_and_bond_payments"]},{"dataType":"enum","enums":["bakeries"]},{"dataType":"enum","enums":["bands_orchestras"]},{"dataType":"enum","enums":["barber_and_beauty_shops"]},{"dataType":"enum","enums":["betting_casino_gambling"]},{"dataType":"enum","enums":["bicycle_shops"]},{"dataType":"enum","enums":["billiard_pool_establishments"]},{"dataType":"enum","enums":["boat_dealers"]},{"dataType":"enum","enums":["boat_rentals_and_leases"]},{"dataType":"enum","enums":["book_stores"]},{"dataType":"enum","enums":["books_periodicals_and_newspapers"]},{"dataType":"enum","enums":["bowling_alleys"]},{"dataType":"enum","enums":["bus_lines"]},{"dataType":"enum","enums":["business_secretarial_schools"]},{"dataType":"enum","enums":["buying_shopping_services"]},{"dataType":"enum","enums":["cable_satellite_and_other_pay_television_and_radio"]},{"dataType":"enum","enums":["camera_and_photographic_supply_stores"]},{"dataType":"enum","enums":["candy_nut_and_confectionery_stores"]},{"dataType":"enum","enums":["car_and_truck_dealers_new_used"]},{"dataType":"enum","enums":["car_and_truck_dealers_used_only"]},{"dataType":"enum","enums":["car_rental_agencies"]},{"dataType":"enum","enums":["car_washes"]},{"dataType":"enum","enums":["carpentry_services"]},{"dataType":"enum","enums":["carpet_upholstery_cleaning"]},{"dataType":"enum","enums":["caterers"]},{"dataType":"enum","enums":["charitable_and_social_service_organizations_fundraising"]},{"dataType":"enum","enums":["chemicals_and_allied_products"]},{"dataType":"enum","enums":["child_care_services"]},{"dataType":"enum","enums":["childrens_and_infants_wear_stores"]},{"dataType":"enum","enums":["chiropodists_podiatrists"]},{"dataType":"enum","enums":["chiropractors"]},{"dataType":"enum","enums":["cigar_stores_and_stands"]},{"dataType":"enum","enums":["civic_social_fraternal_associations"]},{"dataType":"enum","enums":["cleaning_and_maintenance"]},{"dataType":"enum","enums":["clothing_rental"]},{"dataType":"enum","enums":["colleges_universities"]},{"dataType":"enum","enums":["commercial_equipment"]},{"dataType":"enum","enums":["commercial_footwear"]},{"dataType":"enum","enums":["commercial_photography_art_and_graphics"]},{"dataType":"enum","enums":["commuter_transport_and_ferries"]},{"dataType":"enum","enums":["computer_network_services"]},{"dataType":"enum","enums":["computer_programming"]},{"dataType":"enum","enums":["computer_repair"]},{"dataType":"enum","enums":["computer_software_stores"]},{"dataType":"enum","enums":["computers_peripherals_and_software"]},{"dataType":"enum","enums":["concrete_work_services"]},{"dataType":"enum","enums":["construction_materials"]},{"dataType":"enum","enums":["consulting_public_relations"]},{"dataType":"enum","enums":["correspondence_schools"]},{"dataType":"enum","enums":["cosmetic_stores"]},{"dataType":"enum","enums":["counseling_services"]},{"dataType":"enum","enums":["country_clubs"]},{"dataType":"enum","enums":["courier_services"]},{"dataType":"enum","enums":["court_costs"]},{"dataType":"enum","enums":["credit_reporting_agencies"]},{"dataType":"enum","enums":["cruise_lines"]},{"dataType":"enum","enums":["dairy_products_stores"]},{"dataType":"enum","enums":["dance_hall_studios_schools"]},{"dataType":"enum","enums":["dating_escort_services"]},{"dataType":"enum","enums":["dentists_orthodontists"]},{"dataType":"enum","enums":["department_stores"]},{"dataType":"enum","enums":["detective_agencies"]},{"dataType":"enum","enums":["digital_goods_applications"]},{"dataType":"enum","enums":["digital_goods_games"]},{"dataType":"enum","enums":["digital_goods_large_volume"]},{"dataType":"enum","enums":["digital_goods_media"]},{"dataType":"enum","enums":["direct_marketing_catalog_merchant"]},{"dataType":"enum","enums":["direct_marketing_combination_catalog_and_retail_merchant"]},{"dataType":"enum","enums":["direct_marketing_inbound_telemarketing"]},{"dataType":"enum","enums":["direct_marketing_insurance_services"]},{"dataType":"enum","enums":["direct_marketing_other"]},{"dataType":"enum","enums":["direct_marketing_outbound_telemarketing"]},{"dataType":"enum","enums":["direct_marketing_subscription"]},{"dataType":"enum","enums":["direct_marketing_travel"]},{"dataType":"enum","enums":["discount_stores"]},{"dataType":"enum","enums":["doctors"]},{"dataType":"enum","enums":["door_to_door_sales"]},{"dataType":"enum","enums":["drapery_window_covering_and_upholstery_stores"]},{"dataType":"enum","enums":["drinking_places"]},{"dataType":"enum","enums":["drug_stores_and_pharmacies"]},{"dataType":"enum","enums":["drugs_drug_proprietaries_and_druggist_sundries"]},{"dataType":"enum","enums":["dry_cleaners"]},{"dataType":"enum","enums":["durable_goods"]},{"dataType":"enum","enums":["duty_free_stores"]},{"dataType":"enum","enums":["eating_places_restaurants"]},{"dataType":"enum","enums":["educational_services"]},{"dataType":"enum","enums":["electric_razor_stores"]},{"dataType":"enum","enums":["electric_vehicle_charging"]},{"dataType":"enum","enums":["electrical_parts_and_equipment"]},{"dataType":"enum","enums":["electrical_services"]},{"dataType":"enum","enums":["electronics_repair_shops"]},{"dataType":"enum","enums":["electronics_stores"]},{"dataType":"enum","enums":["elementary_secondary_schools"]},{"dataType":"enum","enums":["emergency_services_gcas_visa_use_only"]},{"dataType":"enum","enums":["employment_temp_agencies"]},{"dataType":"enum","enums":["equipment_rental"]},{"dataType":"enum","enums":["exterminating_services"]},{"dataType":"enum","enums":["family_clothing_stores"]},{"dataType":"enum","enums":["fast_food_restaurants"]},{"dataType":"enum","enums":["financial_institutions"]},{"dataType":"enum","enums":["fines_government_administrative_entities"]},{"dataType":"enum","enums":["fireplace_fireplace_screens_and_accessories_stores"]},{"dataType":"enum","enums":["floor_covering_stores"]},{"dataType":"enum","enums":["florists"]},{"dataType":"enum","enums":["florists_supplies_nursery_stock_and_flowers"]},{"dataType":"enum","enums":["freezer_and_locker_meat_provisioners"]},{"dataType":"enum","enums":["fuel_dealers_non_automotive"]},{"dataType":"enum","enums":["funeral_services_crematories"]},{"dataType":"enum","enums":["furniture_home_furnishings_and_equipment_stores_except_appliances"]},{"dataType":"enum","enums":["furniture_repair_refinishing"]},{"dataType":"enum","enums":["furriers_and_fur_shops"]},{"dataType":"enum","enums":["general_services"]},{"dataType":"enum","enums":["gift_card_novelty_and_souvenir_shops"]},{"dataType":"enum","enums":["glass_paint_and_wallpaper_stores"]},{"dataType":"enum","enums":["glassware_crystal_stores"]},{"dataType":"enum","enums":["golf_courses_public"]},{"dataType":"enum","enums":["government_licensed_horse_dog_racing_us_region_only"]},{"dataType":"enum","enums":["government_licensed_online_casions_online_gambling_us_region_only"]},{"dataType":"enum","enums":["government_owned_lotteries_non_us_region"]},{"dataType":"enum","enums":["government_owned_lotteries_us_region_only"]},{"dataType":"enum","enums":["government_services"]},{"dataType":"enum","enums":["grocery_stores_supermarkets"]},{"dataType":"enum","enums":["hardware_equipment_and_supplies"]},{"dataType":"enum","enums":["hardware_stores"]},{"dataType":"enum","enums":["health_and_beauty_spas"]},{"dataType":"enum","enums":["hearing_aids_sales_and_supplies"]},{"dataType":"enum","enums":["heating_plumbing_a_c"]},{"dataType":"enum","enums":["hobby_toy_and_game_shops"]},{"dataType":"enum","enums":["home_supply_warehouse_stores"]},{"dataType":"enum","enums":["hospitals"]},{"dataType":"enum","enums":["hotels_motels_and_resorts"]},{"dataType":"enum","enums":["household_appliance_stores"]},{"dataType":"enum","enums":["industrial_supplies"]},{"dataType":"enum","enums":["information_retrieval_services"]},{"dataType":"enum","enums":["insurance_default"]},{"dataType":"enum","enums":["insurance_underwriting_premiums"]},{"dataType":"enum","enums":["intra_company_purchases"]},{"dataType":"enum","enums":["jewelry_stores_watches_clocks_and_silverware_stores"]},{"dataType":"enum","enums":["landscaping_services"]},{"dataType":"enum","enums":["laundries"]},{"dataType":"enum","enums":["laundry_cleaning_services"]},{"dataType":"enum","enums":["legal_services_attorneys"]},{"dataType":"enum","enums":["luggage_and_leather_goods_stores"]},{"dataType":"enum","enums":["lumber_building_materials_stores"]},{"dataType":"enum","enums":["manual_cash_disburse"]},{"dataType":"enum","enums":["marinas_service_and_supplies"]},{"dataType":"enum","enums":["marketplaces"]},{"dataType":"enum","enums":["masonry_stonework_and_plaster"]},{"dataType":"enum","enums":["massage_parlors"]},{"dataType":"enum","enums":["medical_and_dental_labs"]},{"dataType":"enum","enums":["medical_dental_ophthalmic_and_hospital_equipment_and_supplies"]},{"dataType":"enum","enums":["medical_services"]},{"dataType":"enum","enums":["membership_organizations"]},{"dataType":"enum","enums":["mens_and_boys_clothing_and_accessories_stores"]},{"dataType":"enum","enums":["mens_womens_clothing_stores"]},{"dataType":"enum","enums":["metal_service_centers"]},{"dataType":"enum","enums":["miscellaneous"]},{"dataType":"enum","enums":["miscellaneous_apparel_and_accessory_shops"]},{"dataType":"enum","enums":["miscellaneous_auto_dealers"]},{"dataType":"enum","enums":["miscellaneous_business_services"]},{"dataType":"enum","enums":["miscellaneous_food_stores"]},{"dataType":"enum","enums":["miscellaneous_general_merchandise"]},{"dataType":"enum","enums":["miscellaneous_general_services"]},{"dataType":"enum","enums":["miscellaneous_home_furnishing_specialty_stores"]},{"dataType":"enum","enums":["miscellaneous_publishing_and_printing"]},{"dataType":"enum","enums":["miscellaneous_recreation_services"]},{"dataType":"enum","enums":["miscellaneous_repair_shops"]},{"dataType":"enum","enums":["miscellaneous_specialty_retail"]},{"dataType":"enum","enums":["mobile_home_dealers"]},{"dataType":"enum","enums":["motion_picture_theaters"]},{"dataType":"enum","enums":["motor_freight_carriers_and_trucking"]},{"dataType":"enum","enums":["motor_homes_dealers"]},{"dataType":"enum","enums":["motor_vehicle_supplies_and_new_parts"]},{"dataType":"enum","enums":["motorcycle_shops_and_dealers"]},{"dataType":"enum","enums":["motorcycle_shops_dealers"]},{"dataType":"enum","enums":["music_stores_musical_instruments_pianos_and_sheet_music"]},{"dataType":"enum","enums":["news_dealers_and_newsstands"]},{"dataType":"enum","enums":["non_fi_money_orders"]},{"dataType":"enum","enums":["non_fi_stored_value_card_purchase_load"]},{"dataType":"enum","enums":["nondurable_goods"]},{"dataType":"enum","enums":["nurseries_lawn_and_garden_supply_stores"]},{"dataType":"enum","enums":["nursing_personal_care"]},{"dataType":"enum","enums":["office_and_commercial_furniture"]},{"dataType":"enum","enums":["opticians_eyeglasses"]},{"dataType":"enum","enums":["optometrists_ophthalmologist"]},{"dataType":"enum","enums":["orthopedic_goods_prosthetic_devices"]},{"dataType":"enum","enums":["osteopaths"]},{"dataType":"enum","enums":["package_stores_beer_wine_and_liquor"]},{"dataType":"enum","enums":["paints_varnishes_and_supplies"]},{"dataType":"enum","enums":["parking_lots_garages"]},{"dataType":"enum","enums":["passenger_railways"]},{"dataType":"enum","enums":["pawn_shops"]},{"dataType":"enum","enums":["pet_shops_pet_food_and_supplies"]},{"dataType":"enum","enums":["petroleum_and_petroleum_products"]},{"dataType":"enum","enums":["photo_developing"]},{"dataType":"enum","enums":["photographic_photocopy_microfilm_equipment_and_supplies"]},{"dataType":"enum","enums":["photographic_studios"]},{"dataType":"enum","enums":["picture_video_production"]},{"dataType":"enum","enums":["piece_goods_notions_and_other_dry_goods"]},{"dataType":"enum","enums":["plumbing_heating_equipment_and_supplies"]},{"dataType":"enum","enums":["political_organizations"]},{"dataType":"enum","enums":["postal_services_government_only"]},{"dataType":"enum","enums":["precious_stones_and_metals_watches_and_jewelry"]},{"dataType":"enum","enums":["professional_services"]},{"dataType":"enum","enums":["public_warehousing_and_storage"]},{"dataType":"enum","enums":["quick_copy_repro_and_blueprint"]},{"dataType":"enum","enums":["railroads"]},{"dataType":"enum","enums":["real_estate_agents_and_managers_rentals"]},{"dataType":"enum","enums":["record_stores"]},{"dataType":"enum","enums":["recreational_vehicle_rentals"]},{"dataType":"enum","enums":["religious_goods_stores"]},{"dataType":"enum","enums":["religious_organizations"]},{"dataType":"enum","enums":["roofing_siding_sheet_metal"]},{"dataType":"enum","enums":["secretarial_support_services"]},{"dataType":"enum","enums":["security_brokers_dealers"]},{"dataType":"enum","enums":["service_stations"]},{"dataType":"enum","enums":["sewing_needlework_fabric_and_piece_goods_stores"]},{"dataType":"enum","enums":["shoe_repair_hat_cleaning"]},{"dataType":"enum","enums":["shoe_stores"]},{"dataType":"enum","enums":["small_appliance_repair"]},{"dataType":"enum","enums":["snowmobile_dealers"]},{"dataType":"enum","enums":["special_trade_services"]},{"dataType":"enum","enums":["specialty_cleaning"]},{"dataType":"enum","enums":["sporting_goods_stores"]},{"dataType":"enum","enums":["sporting_recreation_camps"]},{"dataType":"enum","enums":["sports_and_riding_apparel_stores"]},{"dataType":"enum","enums":["sports_clubs_fields"]},{"dataType":"enum","enums":["stamp_and_coin_stores"]},{"dataType":"enum","enums":["stationary_office_supplies_printing_and_writing_paper"]},{"dataType":"enum","enums":["stationery_stores_office_and_school_supply_stores"]},{"dataType":"enum","enums":["swimming_pools_sales"]},{"dataType":"enum","enums":["t_ui_travel_germany"]},{"dataType":"enum","enums":["tailors_alterations"]},{"dataType":"enum","enums":["tax_payments_government_agencies"]},{"dataType":"enum","enums":["tax_preparation_services"]},{"dataType":"enum","enums":["taxicabs_limousines"]},{"dataType":"enum","enums":["telecommunication_equipment_and_telephone_sales"]},{"dataType":"enum","enums":["telecommunication_services"]},{"dataType":"enum","enums":["telegraph_services"]},{"dataType":"enum","enums":["tent_and_awning_shops"]},{"dataType":"enum","enums":["testing_laboratories"]},{"dataType":"enum","enums":["theatrical_ticket_agencies"]},{"dataType":"enum","enums":["timeshares"]},{"dataType":"enum","enums":["tire_retreading_and_repair"]},{"dataType":"enum","enums":["tolls_bridge_fees"]},{"dataType":"enum","enums":["tourist_attractions_and_exhibits"]},{"dataType":"enum","enums":["towing_services"]},{"dataType":"enum","enums":["trailer_parks_campgrounds"]},{"dataType":"enum","enums":["transportation_services"]},{"dataType":"enum","enums":["travel_agencies_tour_operators"]},{"dataType":"enum","enums":["truck_stop_iteration"]},{"dataType":"enum","enums":["truck_utility_trailer_rentals"]},{"dataType":"enum","enums":["typesetting_plate_making_and_related_services"]},{"dataType":"enum","enums":["typewriter_stores"]},{"dataType":"enum","enums":["u_s_federal_government_agencies_or_departments"]},{"dataType":"enum","enums":["uniforms_commercial_clothing"]},{"dataType":"enum","enums":["used_merchandise_and_secondhand_stores"]},{"dataType":"enum","enums":["utilities"]},{"dataType":"enum","enums":["variety_stores"]},{"dataType":"enum","enums":["veterinary_services"]},{"dataType":"enum","enums":["video_amusement_game_supplies"]},{"dataType":"enum","enums":["video_game_arcades"]},{"dataType":"enum","enums":["video_tape_rental_stores"]},{"dataType":"enum","enums":["vocational_trade_schools"]},{"dataType":"enum","enums":["watch_jewelry_repair"]},{"dataType":"enum","enums":["welding_repair"]},{"dataType":"enum","enums":["wholesale_clubs"]},{"dataType":"enum","enums":["wig_and_toupee_stores"]},{"dataType":"enum","enums":["wires_money_orders"]},{"dataType":"enum","enums":["womens_accessory_and_specialty_shops"]},{"dataType":"enum","enums":["womens_ready_to_wear_stores"]},{"dataType":"enum","enums":["wrecking_and_salvage_yards"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Issuing.Card.SpendingControls.SpendingLimit.Interval": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["all_time"]},{"dataType":"enum","enums":["daily"]},{"dataType":"enum","enums":["monthly"]},{"dataType":"enum","enums":["per_authorization"]},{"dataType":"enum","enums":["weekly"]},{"dataType":"enum","enums":["yearly"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Issuing.Card.SpendingControls.SpendingLimit": { "dataType": "refObject", "properties": { + "amount": {"dataType":"double","required":true}, + "categories": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Issuing.Card.SpendingControls.SpendingLimit.Category"}},{"dataType":"enum","enums":[null]}],"required":true}, + "interval": {"ref":"stripe.Stripe.Issuing.Card.SpendingControls.SpendingLimit.Interval","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Refund.DestinationDetails.Zip": { + "stripe.Stripe.Issuing.Card.SpendingControls": { "dataType": "refObject", "properties": { + "allowed_categories": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Issuing.Card.SpendingControls.AllowedCategory"}},{"dataType":"enum","enums":[null]}],"required":true}, + "allowed_merchant_countries": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, + "blocked_categories": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Issuing.Card.SpendingControls.BlockedCategory"}},{"dataType":"enum","enums":[null]}],"required":true}, + "blocked_merchant_countries": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, + "spending_limits": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Issuing.Card.SpendingControls.SpendingLimit"}},{"dataType":"enum","enums":[null]}],"required":true}, + "spending_limits_currency": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Refund.DestinationDetails": { + "stripe.Stripe.Issuing.Card.Status": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["canceled"]},{"dataType":"enum","enums":["inactive"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Issuing.Card.Type": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["physical"]},{"dataType":"enum","enums":["virtual"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Issuing.Card.Wallets.ApplePay.IneligibleReason": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["missing_agreement"]},{"dataType":"enum","enums":["missing_cardholder_contact"]},{"dataType":"enum","enums":["unsupported_region"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Issuing.Card.Wallets.ApplePay": { "dataType": "refObject", "properties": { - "affirm": {"ref":"stripe.Stripe.Refund.DestinationDetails.Affirm"}, - "afterpay_clearpay": {"ref":"stripe.Stripe.Refund.DestinationDetails.AfterpayClearpay"}, - "alipay": {"ref":"stripe.Stripe.Refund.DestinationDetails.Alipay"}, - "alma": {"ref":"stripe.Stripe.Refund.DestinationDetails.Alma"}, - "amazon_pay": {"ref":"stripe.Stripe.Refund.DestinationDetails.AmazonPay"}, - "au_bank_transfer": {"ref":"stripe.Stripe.Refund.DestinationDetails.AuBankTransfer"}, - "blik": {"ref":"stripe.Stripe.Refund.DestinationDetails.Blik"}, - "br_bank_transfer": {"ref":"stripe.Stripe.Refund.DestinationDetails.BrBankTransfer"}, - "card": {"ref":"stripe.Stripe.Refund.DestinationDetails.Card"}, - "cashapp": {"ref":"stripe.Stripe.Refund.DestinationDetails.Cashapp"}, - "customer_cash_balance": {"ref":"stripe.Stripe.Refund.DestinationDetails.CustomerCashBalance"}, - "eps": {"ref":"stripe.Stripe.Refund.DestinationDetails.Eps"}, - "eu_bank_transfer": {"ref":"stripe.Stripe.Refund.DestinationDetails.EuBankTransfer"}, - "gb_bank_transfer": {"ref":"stripe.Stripe.Refund.DestinationDetails.GbBankTransfer"}, - "giropay": {"ref":"stripe.Stripe.Refund.DestinationDetails.Giropay"}, - "grabpay": {"ref":"stripe.Stripe.Refund.DestinationDetails.Grabpay"}, - "jp_bank_transfer": {"ref":"stripe.Stripe.Refund.DestinationDetails.JpBankTransfer"}, - "klarna": {"ref":"stripe.Stripe.Refund.DestinationDetails.Klarna"}, - "multibanco": {"ref":"stripe.Stripe.Refund.DestinationDetails.Multibanco"}, - "mx_bank_transfer": {"ref":"stripe.Stripe.Refund.DestinationDetails.MxBankTransfer"}, - "p24": {"ref":"stripe.Stripe.Refund.DestinationDetails.P24"}, - "paynow": {"ref":"stripe.Stripe.Refund.DestinationDetails.Paynow"}, - "paypal": {"ref":"stripe.Stripe.Refund.DestinationDetails.Paypal"}, - "pix": {"ref":"stripe.Stripe.Refund.DestinationDetails.Pix"}, - "revolut": {"ref":"stripe.Stripe.Refund.DestinationDetails.Revolut"}, - "sofort": {"ref":"stripe.Stripe.Refund.DestinationDetails.Sofort"}, - "swish": {"ref":"stripe.Stripe.Refund.DestinationDetails.Swish"}, - "th_bank_transfer": {"ref":"stripe.Stripe.Refund.DestinationDetails.ThBankTransfer"}, - "type": {"dataType":"string","required":true}, - "us_bank_transfer": {"ref":"stripe.Stripe.Refund.DestinationDetails.UsBankTransfer"}, - "wechat_pay": {"ref":"stripe.Stripe.Refund.DestinationDetails.WechatPay"}, - "zip": {"ref":"stripe.Stripe.Refund.DestinationDetails.Zip"}, + "eligible": {"dataType":"boolean","required":true}, + "ineligible_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Card.Wallets.ApplePay.IneligibleReason"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Refund.NextAction.DisplayDetails.EmailSent": { + "stripe.Stripe.Issuing.Card.Wallets.GooglePay.IneligibleReason": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["missing_agreement"]},{"dataType":"enum","enums":["missing_cardholder_contact"]},{"dataType":"enum","enums":["unsupported_region"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Issuing.Card.Wallets.GooglePay": { "dataType": "refObject", "properties": { - "email_sent_at": {"dataType":"double","required":true}, - "email_sent_to": {"dataType":"string","required":true}, + "eligible": {"dataType":"boolean","required":true}, + "ineligible_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Card.Wallets.GooglePay.IneligibleReason"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Refund.NextAction.DisplayDetails": { + "stripe.Stripe.Issuing.Card.Wallets": { "dataType": "refObject", "properties": { - "email_sent": {"ref":"stripe.Stripe.Refund.NextAction.DisplayDetails.EmailSent","required":true}, - "expires_at": {"dataType":"double","required":true}, + "apple_pay": {"ref":"stripe.Stripe.Issuing.Card.Wallets.ApplePay","required":true}, + "google_pay": {"ref":"stripe.Stripe.Issuing.Card.Wallets.GooglePay","required":true}, + "primary_account_identifier": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Refund.NextAction": { + "stripe.Stripe.Issuing.Authorization.Fleet.CardholderPromptData": { "dataType": "refObject", "properties": { - "display_details": {"ref":"stripe.Stripe.Refund.NextAction.DisplayDetails"}, - "type": {"dataType":"string","required":true}, + "alphanumeric_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "driver_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "odometer": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "unspecified_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "user_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "vehicle_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Refund.Reason": { + "stripe.Stripe.Issuing.Authorization.Fleet.PurchaseType": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["duplicate"]},{"dataType":"enum","enums":["expired_uncaptured_charge"]},{"dataType":"enum","enums":["fraudulent"]},{"dataType":"enum","enums":["requested_by_customer"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["fuel_and_non_fuel_purchase"]},{"dataType":"enum","enums":["fuel_purchase"]},{"dataType":"enum","enums":["non_fuel_purchase"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Refund": { + "stripe.Stripe.Issuing.Authorization.Fleet.ReportedBreakdown.Fuel": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["refund"],"required":true}, - "amount": {"dataType":"double","required":true}, - "balance_transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.BalanceTransaction"},{"dataType":"enum","enums":[null]}],"required":true}, - "charge": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Charge"},{"dataType":"enum","enums":[null]}],"required":true}, - "created": {"dataType":"double","required":true}, - "currency": {"dataType":"string","required":true}, - "description": {"dataType":"string"}, - "destination_details": {"ref":"stripe.Stripe.Refund.DestinationDetails"}, - "failure_balance_transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.BalanceTransaction"}]}, - "failure_reason": {"dataType":"string"}, - "instructions_email": {"dataType":"string"}, - "metadata": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Metadata"},{"dataType":"enum","enums":[null]}],"required":true}, - "next_action": {"ref":"stripe.Stripe.Refund.NextAction"}, - "payment_intent": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentIntent"},{"dataType":"enum","enums":[null]}],"required":true}, - "reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Refund.Reason"},{"dataType":"enum","enums":[null]}],"required":true}, - "receipt_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "source_transfer_reversal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TransferReversal"},{"dataType":"enum","enums":[null]}],"required":true}, - "status": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "transfer_reversal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TransferReversal"},{"dataType":"enum","enums":[null]}],"required":true}, + "gross_amount_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.TransferReversal": { + "stripe.Stripe.Issuing.Authorization.Fleet.ReportedBreakdown.NonFuel": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["transfer_reversal"],"required":true}, - "amount": {"dataType":"double","required":true}, - "balance_transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.BalanceTransaction"},{"dataType":"enum","enums":[null]}],"required":true}, - "created": {"dataType":"double","required":true}, - "currency": {"dataType":"string","required":true}, - "destination_payment_refund": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Refund"},{"dataType":"enum","enums":[null]}],"required":true}, - "metadata": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Metadata"},{"dataType":"enum","enums":[null]}],"required":true}, - "source_refund": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Refund"},{"dataType":"enum","enums":[null]}],"required":true}, - "transfer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Transfer"}],"required":true}, + "gross_amount_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.ApiList_stripe.Stripe.TransferReversal_": { + "stripe.Stripe.Issuing.Authorization.Fleet.ReportedBreakdown.Tax": { "dataType": "refObject", "properties": { - "object": {"dataType":"enum","enums":["list"],"required":true}, - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.TransferReversal"},"required":true}, - "has_more": {"dataType":"boolean","required":true}, - "url": {"dataType":"string","required":true}, + "local_amount_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "national_amount_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Transfer": { + "stripe.Stripe.Issuing.Authorization.Fleet.ReportedBreakdown": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["transfer"],"required":true}, - "amount": {"dataType":"double","required":true}, - "amount_reversed": {"dataType":"double","required":true}, - "balance_transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.BalanceTransaction"},{"dataType":"enum","enums":[null]}],"required":true}, - "created": {"dataType":"double","required":true}, - "currency": {"dataType":"string","required":true}, - "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "destination": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"},{"dataType":"enum","enums":[null]}],"required":true}, - "destination_payment": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Charge"}]}, - "livemode": {"dataType":"boolean","required":true}, - "metadata": {"ref":"stripe.Stripe.Metadata","required":true}, - "reversals": {"ref":"stripe.Stripe.ApiList_stripe.Stripe.TransferReversal_","required":true}, - "reversed": {"dataType":"boolean","required":true}, - "source_transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Charge"},{"dataType":"enum","enums":[null]}],"required":true}, - "source_type": {"dataType":"string"}, - "transfer_group": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "fuel": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Authorization.Fleet.ReportedBreakdown.Fuel"},{"dataType":"enum","enums":[null]}],"required":true}, + "non_fuel": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Authorization.Fleet.ReportedBreakdown.NonFuel"},{"dataType":"enum","enums":[null]}],"required":true}, + "tax": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Authorization.Fleet.ReportedBreakdown.Tax"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.CustomerCashBalanceTransaction.RefundedFromPayment": { - "dataType": "refObject", - "properties": { - "refund": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Refund"}],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Issuing.Authorization.Fleet.ServiceType": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["full_service"]},{"dataType":"enum","enums":["non_fuel_transaction"]},{"dataType":"enum","enums":["self_service"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.CustomerCashBalanceTransaction.TransferredToBalance": { + "stripe.Stripe.Issuing.Authorization.Fleet": { "dataType": "refObject", "properties": { - "balance_transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.BalanceTransaction"}],"required":true}, + "cardholder_prompt_data": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Authorization.Fleet.CardholderPromptData"},{"dataType":"enum","enums":[null]}],"required":true}, + "purchase_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Authorization.Fleet.PurchaseType"},{"dataType":"enum","enums":[null]}],"required":true}, + "reported_breakdown": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Authorization.Fleet.ReportedBreakdown"},{"dataType":"enum","enums":[null]}],"required":true}, + "service_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Authorization.Fleet.ServiceType"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.CustomerCashBalanceTransaction.Type": { + "stripe.Stripe.Issuing.Authorization.FraudChallenge.Status": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["adjusted_for_overdraft"]},{"dataType":"enum","enums":["applied_to_payment"]},{"dataType":"enum","enums":["funded"]},{"dataType":"enum","enums":["funding_reversed"]},{"dataType":"enum","enums":["refunded_from_payment"]},{"dataType":"enum","enums":["return_canceled"]},{"dataType":"enum","enums":["return_initiated"]},{"dataType":"enum","enums":["transferred_to_balance"]},{"dataType":"enum","enums":["unapplied_from_payment"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["expired"]},{"dataType":"enum","enums":["pending"]},{"dataType":"enum","enums":["rejected"]},{"dataType":"enum","enums":["undeliverable"]},{"dataType":"enum","enums":["verified"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.CustomerCashBalanceTransaction.UnappliedFromPayment": { + "stripe.Stripe.Issuing.Authorization.FraudChallenge.UndeliverableReason": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["no_phone_number"]},{"dataType":"enum","enums":["unsupported_phone_number"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Issuing.Authorization.FraudChallenge": { "dataType": "refObject", "properties": { - "payment_intent": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentIntent"}],"required":true}, + "channel": {"dataType":"enum","enums":["sms"],"required":true}, + "status": {"ref":"stripe.Stripe.Issuing.Authorization.FraudChallenge.Status","required":true}, + "undeliverable_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Authorization.FraudChallenge.UndeliverableReason"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Dispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3.DisputedTransaction.MerchandiseOrServices": { + "stripe.Stripe.Issuing.Authorization.Fuel.Type": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["merchandise"]},{"dataType":"enum","enums":["services"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["diesel"]},{"dataType":"enum","enums":["other"]},{"dataType":"enum","enums":["unleaded_plus"]},{"dataType":"enum","enums":["unleaded_regular"]},{"dataType":"enum","enums":["unleaded_super"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Dispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3.DisputedTransaction": { + "stripe.Stripe.Issuing.Authorization.Fuel.Unit": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["charging_minute"]},{"dataType":"enum","enums":["imperial_gallon"]},{"dataType":"enum","enums":["kilogram"]},{"dataType":"enum","enums":["kilowatt_hour"]},{"dataType":"enum","enums":["liter"]},{"dataType":"enum","enums":["other"]},{"dataType":"enum","enums":["pound"]},{"dataType":"enum","enums":["us_gallon"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Issuing.Authorization.Fuel": { "dataType": "refObject", "properties": { - "customer_account_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "customer_device_fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "customer_device_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "customer_email_address": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "customer_purchase_ip": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "merchandise_or_services": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Dispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3.DisputedTransaction.MerchandiseOrServices"},{"dataType":"enum","enums":[null]}],"required":true}, - "product_description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "shipping_address": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Address"},{"dataType":"enum","enums":[null]}],"required":true}, + "industry_product_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "quantity_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Authorization.Fuel.Type"},{"dataType":"enum","enums":[null]}],"required":true}, + "unit": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Authorization.Fuel.Unit"},{"dataType":"enum","enums":[null]}],"required":true}, + "unit_cost_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Dispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3.PriorUndisputedTransaction": { + "stripe.Stripe.Issuing.Authorization.MerchantData": { "dataType": "refObject", "properties": { - "charge": {"dataType":"string","required":true}, - "customer_account_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "customer_device_fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "customer_device_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "customer_email_address": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "customer_purchase_ip": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "product_description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "shipping_address": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Address"},{"dataType":"enum","enums":[null]}],"required":true}, + "category": {"dataType":"string","required":true}, + "category_code": {"dataType":"string","required":true}, + "city": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "network_id": {"dataType":"string","required":true}, + "postal_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "state": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "tax_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "terminal_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Dispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3": { + "stripe.Stripe.Issuing.Authorization.NetworkData": { "dataType": "refObject", "properties": { - "disputed_transaction": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Dispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3.DisputedTransaction"},{"dataType":"enum","enums":[null]}],"required":true}, - "prior_undisputed_transactions": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Dispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3.PriorUndisputedTransaction"},"required":true}, + "acquiring_institution_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "system_trace_audit_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "transaction_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Dispute.Evidence.EnhancedEvidence.VisaCompliance": { + "stripe.Stripe.Issuing.Authorization.PendingRequest.AmountDetails": { "dataType": "refObject", "properties": { - "fee_acknowledged": {"dataType":"boolean","required":true}, + "atm_fee": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "cashback_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Dispute.Evidence.EnhancedEvidence": { + "stripe.Stripe.Issuing.Authorization.PendingRequest": { "dataType": "refObject", "properties": { - "visa_compelling_evidence_3": {"ref":"stripe.Stripe.Dispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3"}, - "visa_compliance": {"ref":"stripe.Stripe.Dispute.Evidence.EnhancedEvidence.VisaCompliance"}, + "amount": {"dataType":"double","required":true}, + "amount_details": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Authorization.PendingRequest.AmountDetails"},{"dataType":"enum","enums":[null]}],"required":true}, + "currency": {"dataType":"string","required":true}, + "is_amount_controllable": {"dataType":"boolean","required":true}, + "merchant_amount": {"dataType":"double","required":true}, + "merchant_currency": {"dataType":"string","required":true}, + "network_risk_score": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Dispute.Evidence": { + "stripe.Stripe.Issuing.Authorization.RequestHistory.AmountDetails": { "dataType": "refObject", "properties": { - "access_activity_log": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "billing_address": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "cancellation_policy": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, - "cancellation_policy_disclosure": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "cancellation_rebuttal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "customer_communication": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, - "customer_email_address": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "customer_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "customer_purchase_ip": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "customer_signature": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, - "duplicate_charge_documentation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, - "duplicate_charge_explanation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "duplicate_charge_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "enhanced_evidence": {"ref":"stripe.Stripe.Dispute.Evidence.EnhancedEvidence","required":true}, - "product_description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "receipt": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, - "refund_policy": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, - "refund_policy_disclosure": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "refund_refusal_explanation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "service_date": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "service_documentation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, - "shipping_address": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "shipping_carrier": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "shipping_date": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "shipping_documentation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, - "shipping_tracking_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "uncategorized_file": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, - "uncategorized_text": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "atm_fee": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "cashback_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility.VisaCompellingEvidence3.RequiredAction": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["missing_customer_identifiers"]},{"dataType":"enum","enums":["missing_disputed_transaction_description"]},{"dataType":"enum","enums":["missing_merchandise_or_services"]},{"dataType":"enum","enums":["missing_prior_undisputed_transaction_description"]},{"dataType":"enum","enums":["missing_prior_undisputed_transactions"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility.VisaCompellingEvidence3.Status": { + "stripe.Stripe.Issuing.Authorization.RequestHistory.Reason": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["not_qualified"]},{"dataType":"enum","enums":["qualified"]},{"dataType":"enum","enums":["requires_action"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account_disabled"]},{"dataType":"enum","enums":["card_active"]},{"dataType":"enum","enums":["card_canceled"]},{"dataType":"enum","enums":["card_expired"]},{"dataType":"enum","enums":["card_inactive"]},{"dataType":"enum","enums":["cardholder_blocked"]},{"dataType":"enum","enums":["cardholder_inactive"]},{"dataType":"enum","enums":["cardholder_verification_required"]},{"dataType":"enum","enums":["insecure_authorization_method"]},{"dataType":"enum","enums":["insufficient_funds"]},{"dataType":"enum","enums":["not_allowed"]},{"dataType":"enum","enums":["pin_blocked"]},{"dataType":"enum","enums":["spending_controls"]},{"dataType":"enum","enums":["suspected_fraud"]},{"dataType":"enum","enums":["verification_failed"]},{"dataType":"enum","enums":["webhook_approved"]},{"dataType":"enum","enums":["webhook_declined"]},{"dataType":"enum","enums":["webhook_error"]},{"dataType":"enum","enums":["webhook_timeout"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility.VisaCompellingEvidence3": { + "stripe.Stripe.Issuing.Authorization.RequestHistory": { "dataType": "refObject", "properties": { - "required_actions": {"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility.VisaCompellingEvidence3.RequiredAction"},"required":true}, - "status": {"ref":"stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility.VisaCompellingEvidence3.Status","required":true}, + "amount": {"dataType":"double","required":true}, + "amount_details": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Authorization.RequestHistory.AmountDetails"},{"dataType":"enum","enums":[null]}],"required":true}, + "approved": {"dataType":"boolean","required":true}, + "authorization_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "created": {"dataType":"double","required":true}, + "currency": {"dataType":"string","required":true}, + "merchant_amount": {"dataType":"double","required":true}, + "merchant_currency": {"dataType":"string","required":true}, + "network_risk_score": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "reason": {"ref":"stripe.Stripe.Issuing.Authorization.RequestHistory.Reason","required":true}, + "reason_message": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "requested_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility.VisaCompliance.Status": { + "stripe.Stripe.Issuing.Authorization.Status": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["fee_acknowledged"]},{"dataType":"enum","enums":["requires_fee_acknowledgement"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["closed"]},{"dataType":"enum","enums":["pending"]},{"dataType":"enum","enums":["reversed"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility.VisaCompliance": { - "dataType": "refObject", - "properties": { - "status": {"ref":"stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility.VisaCompliance.Status","required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Issuing.Token.Network": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["mastercard"]},{"dataType":"enum","enums":["visa"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility": { - "dataType": "refObject", - "properties": { - "visa_compelling_evidence_3": {"ref":"stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility.VisaCompellingEvidence3"}, - "visa_compliance": {"ref":"stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility.VisaCompliance"}, - }, - "additionalProperties": false, + "stripe.Stripe.Issuing.Token.NetworkData.Device.Type": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["other"]},{"dataType":"enum","enums":["phone"]},{"dataType":"enum","enums":["watch"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Dispute.EvidenceDetails": { + "stripe.Stripe.Issuing.Token.NetworkData.Device": { "dataType": "refObject", "properties": { - "due_by": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "enhanced_eligibility": {"ref":"stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility","required":true}, - "has_evidence": {"dataType":"boolean","required":true}, - "past_due": {"dataType":"boolean","required":true}, - "submission_count": {"dataType":"double","required":true}, + "device_fingerprint": {"dataType":"string"}, + "ip_address": {"dataType":"string"}, + "location": {"dataType":"string"}, + "name": {"dataType":"string"}, + "phone_number": {"dataType":"string"}, + "type": {"ref":"stripe.Stripe.Issuing.Token.NetworkData.Device.Type"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Dispute.PaymentMethodDetails.AmazonPay.DisputeType": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["chargeback"]},{"dataType":"enum","enums":["claim"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Dispute.PaymentMethodDetails.AmazonPay": { + "stripe.Stripe.Issuing.Token.NetworkData.Mastercard": { "dataType": "refObject", "properties": { - "dispute_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Dispute.PaymentMethodDetails.AmazonPay.DisputeType"},{"dataType":"enum","enums":[null]}],"required":true}, + "card_reference_id": {"dataType":"string"}, + "token_reference_id": {"dataType":"string","required":true}, + "token_requestor_id": {"dataType":"string","required":true}, + "token_requestor_name": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Dispute.PaymentMethodDetails.Card.CaseType": { + "stripe.Stripe.Issuing.Token.NetworkData.Type": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["chargeback"]},{"dataType":"enum","enums":["inquiry"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["mastercard"]},{"dataType":"enum","enums":["visa"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Dispute.PaymentMethodDetails.Card": { + "stripe.Stripe.Issuing.Token.NetworkData.Visa": { "dataType": "refObject", "properties": { - "brand": {"dataType":"string","required":true}, - "case_type": {"ref":"stripe.Stripe.Dispute.PaymentMethodDetails.Card.CaseType","required":true}, - "network_reason_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "card_reference_id": {"dataType":"string","required":true}, + "token_reference_id": {"dataType":"string","required":true}, + "token_requestor_id": {"dataType":"string","required":true}, + "token_risk_score": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Dispute.PaymentMethodDetails.Klarna": { - "dataType": "refObject", - "properties": { - "reason_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Issuing.Token.NetworkData.WalletProvider.CardNumberSource": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["app"]},{"dataType":"enum","enums":["manual"]},{"dataType":"enum","enums":["on_file"]},{"dataType":"enum","enums":["other"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Dispute.PaymentMethodDetails.Paypal": { + "stripe.Stripe.Issuing.Token.NetworkData.WalletProvider.CardholderAddress": { "dataType": "refObject", "properties": { - "case_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "reason_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "line1": {"dataType":"string","required":true}, + "postal_code": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Dispute.PaymentMethodDetails.Type": { + "stripe.Stripe.Issuing.Token.NetworkData.WalletProvider.ReasonCode": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["amazon_pay"]},{"dataType":"enum","enums":["card"]},{"dataType":"enum","enums":["klarna"]},{"dataType":"enum","enums":["paypal"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account_card_too_new"]},{"dataType":"enum","enums":["account_recently_changed"]},{"dataType":"enum","enums":["account_too_new"]},{"dataType":"enum","enums":["account_too_new_since_launch"]},{"dataType":"enum","enums":["additional_device"]},{"dataType":"enum","enums":["data_expired"]},{"dataType":"enum","enums":["defer_id_v_decision"]},{"dataType":"enum","enums":["device_recently_lost"]},{"dataType":"enum","enums":["good_activity_history"]},{"dataType":"enum","enums":["has_suspended_tokens"]},{"dataType":"enum","enums":["high_risk"]},{"dataType":"enum","enums":["inactive_account"]},{"dataType":"enum","enums":["long_account_tenure"]},{"dataType":"enum","enums":["low_account_score"]},{"dataType":"enum","enums":["low_device_score"]},{"dataType":"enum","enums":["low_phone_number_score"]},{"dataType":"enum","enums":["network_service_error"]},{"dataType":"enum","enums":["outside_home_territory"]},{"dataType":"enum","enums":["provisioning_cardholder_mismatch"]},{"dataType":"enum","enums":["provisioning_device_and_cardholder_mismatch"]},{"dataType":"enum","enums":["provisioning_device_mismatch"]},{"dataType":"enum","enums":["same_device_no_prior_authentication"]},{"dataType":"enum","enums":["same_device_successful_prior_authentication"]},{"dataType":"enum","enums":["software_update"]},{"dataType":"enum","enums":["suspicious_activity"]},{"dataType":"enum","enums":["too_many_different_cardholders"]},{"dataType":"enum","enums":["too_many_recent_attempts"]},{"dataType":"enum","enums":["too_many_recent_tokens"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Dispute.PaymentMethodDetails": { + "stripe.Stripe.Issuing.Token.NetworkData.WalletProvider.SuggestedDecision": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["approve"]},{"dataType":"enum","enums":["decline"]},{"dataType":"enum","enums":["require_auth"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Issuing.Token.NetworkData.WalletProvider": { "dataType": "refObject", "properties": { - "amazon_pay": {"ref":"stripe.Stripe.Dispute.PaymentMethodDetails.AmazonPay"}, - "card": {"ref":"stripe.Stripe.Dispute.PaymentMethodDetails.Card"}, - "klarna": {"ref":"stripe.Stripe.Dispute.PaymentMethodDetails.Klarna"}, - "paypal": {"ref":"stripe.Stripe.Dispute.PaymentMethodDetails.Paypal"}, - "type": {"ref":"stripe.Stripe.Dispute.PaymentMethodDetails.Type","required":true}, + "account_id": {"dataType":"string"}, + "account_trust_score": {"dataType":"double"}, + "card_number_source": {"ref":"stripe.Stripe.Issuing.Token.NetworkData.WalletProvider.CardNumberSource"}, + "cardholder_address": {"ref":"stripe.Stripe.Issuing.Token.NetworkData.WalletProvider.CardholderAddress"}, + "cardholder_name": {"dataType":"string"}, + "device_trust_score": {"dataType":"double"}, + "hashed_account_email_address": {"dataType":"string"}, + "reason_codes": {"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Issuing.Token.NetworkData.WalletProvider.ReasonCode"}}, + "suggested_decision": {"ref":"stripe.Stripe.Issuing.Token.NetworkData.WalletProvider.SuggestedDecision"}, + "suggested_decision_version": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Dispute.Status": { + "stripe.Stripe.Issuing.Token.NetworkData": { + "dataType": "refObject", + "properties": { + "device": {"ref":"stripe.Stripe.Issuing.Token.NetworkData.Device"}, + "mastercard": {"ref":"stripe.Stripe.Issuing.Token.NetworkData.Mastercard"}, + "type": {"ref":"stripe.Stripe.Issuing.Token.NetworkData.Type","required":true}, + "visa": {"ref":"stripe.Stripe.Issuing.Token.NetworkData.Visa"}, + "wallet_provider": {"ref":"stripe.Stripe.Issuing.Token.NetworkData.WalletProvider"}, + }, + "additionalProperties": false, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Issuing.Token.Status": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["lost"]},{"dataType":"enum","enums":["needs_response"]},{"dataType":"enum","enums":["under_review"]},{"dataType":"enum","enums":["warning_closed"]},{"dataType":"enum","enums":["warning_needs_response"]},{"dataType":"enum","enums":["warning_under_review"]},{"dataType":"enum","enums":["won"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["deleted"]},{"dataType":"enum","enums":["requested"]},{"dataType":"enum","enums":["suspended"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Dispute": { + "stripe.Stripe.Issuing.Token.WalletProvider": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["apple_pay"]},{"dataType":"enum","enums":["google_pay"]},{"dataType":"enum","enums":["samsung_pay"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Issuing.Token": { "dataType": "refObject", "properties": { "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["dispute"],"required":true}, - "amount": {"dataType":"double","required":true}, - "balance_transactions": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.BalanceTransaction"},"required":true}, - "charge": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Charge"}],"required":true}, + "object": {"dataType":"enum","enums":["issuing.token"],"required":true}, + "card": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Issuing.Card"}],"required":true}, "created": {"dataType":"double","required":true}, - "currency": {"dataType":"string","required":true}, - "enhanced_eligibility_types": {"dataType":"array","array":{"dataType":"enum","enums":["visa_compelling_evidence_3"]},"required":true}, - "evidence": {"ref":"stripe.Stripe.Dispute.Evidence","required":true}, - "evidence_details": {"ref":"stripe.Stripe.Dispute.EvidenceDetails","required":true}, - "is_charge_refundable": {"dataType":"boolean","required":true}, + "device_fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "last4": {"dataType":"string"}, "livemode": {"dataType":"boolean","required":true}, - "metadata": {"ref":"stripe.Stripe.Metadata","required":true}, - "network_reason_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "payment_intent": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentIntent"},{"dataType":"enum","enums":[null]}],"required":true}, - "payment_method_details": {"ref":"stripe.Stripe.Dispute.PaymentMethodDetails"}, - "reason": {"dataType":"string","required":true}, - "status": {"ref":"stripe.Stripe.Dispute.Status","required":true}, + "network": {"ref":"stripe.Stripe.Issuing.Token.Network","required":true}, + "network_data": {"ref":"stripe.Stripe.Issuing.Token.NetworkData"}, + "network_updated_at": {"dataType":"double","required":true}, + "status": {"ref":"stripe.Stripe.Issuing.Token.Status","required":true}, + "wallet_provider": {"ref":"stripe.Stripe.Issuing.Token.WalletProvider"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.FeeRefund": { + "stripe.Stripe.Issuing.Transaction.AmountDetails": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["fee_refund"],"required":true}, - "amount": {"dataType":"double","required":true}, - "balance_transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.BalanceTransaction"},{"dataType":"enum","enums":[null]}],"required":true}, - "created": {"dataType":"double","required":true}, - "currency": {"dataType":"string","required":true}, - "fee": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.ApplicationFee"}],"required":true}, - "metadata": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Metadata"},{"dataType":"enum","enums":[null]}],"required":true}, + "atm_fee": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "cashback_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Authorization.AmountDetails": { + "stripe.Stripe.Issuing.Authorization": { "dataType": "refObject", "properties": { - "atm_fee": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "cashback_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["issuing.authorization"],"required":true}, + "amount": {"dataType":"double","required":true}, + "amount_details": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Authorization.AmountDetails"},{"dataType":"enum","enums":[null]}],"required":true}, + "approved": {"dataType":"boolean","required":true}, + "authorization_method": {"ref":"stripe.Stripe.Issuing.Authorization.AuthorizationMethod","required":true}, + "balance_transactions": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.BalanceTransaction"},"required":true}, + "card": {"ref":"stripe.Stripe.Issuing.Card","required":true}, + "cardholder": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Issuing.Cardholder"},{"dataType":"enum","enums":[null]}],"required":true}, + "created": {"dataType":"double","required":true}, + "currency": {"dataType":"string","required":true}, + "fleet": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Authorization.Fleet"},{"dataType":"enum","enums":[null]}],"required":true}, + "fraud_challenges": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Issuing.Authorization.FraudChallenge"}},{"dataType":"enum","enums":[null]}]}, + "fuel": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Authorization.Fuel"},{"dataType":"enum","enums":[null]}],"required":true}, + "livemode": {"dataType":"boolean","required":true}, + "merchant_amount": {"dataType":"double","required":true}, + "merchant_currency": {"dataType":"string","required":true}, + "merchant_data": {"ref":"stripe.Stripe.Issuing.Authorization.MerchantData","required":true}, + "metadata": {"ref":"stripe.Stripe.Metadata","required":true}, + "network_data": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Authorization.NetworkData"},{"dataType":"enum","enums":[null]}],"required":true}, + "pending_request": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Authorization.PendingRequest"},{"dataType":"enum","enums":[null]}],"required":true}, + "request_history": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Issuing.Authorization.RequestHistory"},"required":true}, + "status": {"ref":"stripe.Stripe.Issuing.Authorization.Status","required":true}, + "token": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Issuing.Token"},{"dataType":"enum","enums":[null]}]}, + "transactions": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Issuing.Transaction"},"required":true}, + "treasury": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Authorization.Treasury"},{"dataType":"enum","enums":[null]}]}, + "verification_data": {"ref":"stripe.Stripe.Issuing.Authorization.VerificationData","required":true}, + "verified_by_fraud_challenge": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, + "wallet": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Authorization.AuthorizationMethod": { + "stripe.Stripe.Issuing.Dispute.Evidence.Canceled.ProductType": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["chip"]},{"dataType":"enum","enums":["contactless"]},{"dataType":"enum","enums":["keyed_in"]},{"dataType":"enum","enums":["online"]},{"dataType":"enum","enums":["swipe"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["merchandise"]},{"dataType":"enum","enums":["service"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Card.CancellationReason": { + "stripe.Stripe.Issuing.Dispute.Evidence.Canceled.ReturnStatus": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["design_rejected"]},{"dataType":"enum","enums":["lost"]},{"dataType":"enum","enums":["stolen"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["merchant_rejected"]},{"dataType":"enum","enums":["successful"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Cardholder.Billing": { + "stripe.Stripe.Issuing.Dispute.Evidence.Canceled": { "dataType": "refObject", "properties": { - "address": {"ref":"stripe.Stripe.Address","required":true}, + "additional_documentation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, + "canceled_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "cancellation_policy_provided": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, + "cancellation_reason": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "expected_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "explanation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "product_description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "product_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Dispute.Evidence.Canceled.ProductType"},{"dataType":"enum","enums":[null]}],"required":true}, + "return_status": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Dispute.Evidence.Canceled.ReturnStatus"},{"dataType":"enum","enums":[null]}],"required":true}, + "returned_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Cardholder.Company": { + "stripe.Stripe.Issuing.Dispute.Evidence.Duplicate": { "dataType": "refObject", "properties": { - "tax_id_provided": {"dataType":"boolean","required":true}, + "additional_documentation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, + "card_statement": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, + "cash_receipt": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, + "check_image": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, + "explanation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "original_transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Cardholder.Individual.CardIssuing.UserTermsAcceptance": { + "stripe.Stripe.Issuing.Dispute.Evidence.Fraudulent": { "dataType": "refObject", "properties": { - "date": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "ip": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "user_agent": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "additional_documentation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, + "explanation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Cardholder.Individual.CardIssuing": { - "dataType": "refObject", - "properties": { - "user_terms_acceptance": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Cardholder.Individual.CardIssuing.UserTermsAcceptance"},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Issuing.Dispute.Evidence.MerchandiseNotAsDescribed.ReturnStatus": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["merchant_rejected"]},{"dataType":"enum","enums":["successful"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Cardholder.Individual.Dob": { + "stripe.Stripe.Issuing.Dispute.Evidence.MerchandiseNotAsDescribed": { "dataType": "refObject", "properties": { - "day": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "month": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "year": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "additional_documentation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, + "explanation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "received_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "return_description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "return_status": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Dispute.Evidence.MerchandiseNotAsDescribed.ReturnStatus"},{"dataType":"enum","enums":[null]}],"required":true}, + "returned_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Cardholder.Individual.Verification.Document": { + "stripe.Stripe.Issuing.Dispute.Evidence.NoValidAuthorization": { "dataType": "refObject", "properties": { - "back": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, - "front": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, + "additional_documentation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, + "explanation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Cardholder.Individual.Verification": { - "dataType": "refObject", - "properties": { - "document": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Cardholder.Individual.Verification.Document"},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Issuing.Dispute.Evidence.NotReceived.ProductType": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["merchandise"]},{"dataType":"enum","enums":["service"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Cardholder.Individual": { + "stripe.Stripe.Issuing.Dispute.Evidence.NotReceived": { "dataType": "refObject", "properties": { - "card_issuing": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Cardholder.Individual.CardIssuing"},{"dataType":"enum","enums":[null]}]}, - "dob": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Cardholder.Individual.Dob"},{"dataType":"enum","enums":[null]}],"required":true}, - "first_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "last_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "verification": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Cardholder.Individual.Verification"},{"dataType":"enum","enums":[null]}],"required":true}, + "additional_documentation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, + "expected_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "explanation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "product_description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "product_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Dispute.Evidence.NotReceived.ProductType"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Cardholder.PreferredLocale": { + "stripe.Stripe.Issuing.Dispute.Evidence.Other.ProductType": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["de"]},{"dataType":"enum","enums":["en"]},{"dataType":"enum","enums":["es"]},{"dataType":"enum","enums":["fr"]},{"dataType":"enum","enums":["it"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["merchandise"]},{"dataType":"enum","enums":["service"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Cardholder.Requirements.DisabledReason": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["listed"]},{"dataType":"enum","enums":["rejected.listed"]},{"dataType":"enum","enums":["requirements.past_due"]},{"dataType":"enum","enums":["under_review"]}],"validators":{}}, + "stripe.Stripe.Issuing.Dispute.Evidence.Other": { + "dataType": "refObject", + "properties": { + "additional_documentation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, + "explanation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "product_description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "product_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Dispute.Evidence.Other.ProductType"},{"dataType":"enum","enums":[null]}],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Cardholder.Requirements.PastDue": { + "stripe.Stripe.Issuing.Dispute.Evidence.Reason": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["company.tax_id"]},{"dataType":"enum","enums":["individual.card_issuing.user_terms_acceptance.date"]},{"dataType":"enum","enums":["individual.card_issuing.user_terms_acceptance.ip"]},{"dataType":"enum","enums":["individual.dob.day"]},{"dataType":"enum","enums":["individual.dob.month"]},{"dataType":"enum","enums":["individual.dob.year"]},{"dataType":"enum","enums":["individual.first_name"]},{"dataType":"enum","enums":["individual.last_name"]},{"dataType":"enum","enums":["individual.verification.document"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["canceled"]},{"dataType":"enum","enums":["duplicate"]},{"dataType":"enum","enums":["fraudulent"]},{"dataType":"enum","enums":["merchandise_not_as_described"]},{"dataType":"enum","enums":["no_valid_authorization"]},{"dataType":"enum","enums":["not_received"]},{"dataType":"enum","enums":["other"]},{"dataType":"enum","enums":["service_not_as_described"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Cardholder.Requirements": { + "stripe.Stripe.Issuing.Dispute.Evidence.ServiceNotAsDescribed": { "dataType": "refObject", "properties": { - "disabled_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Cardholder.Requirements.DisabledReason"},{"dataType":"enum","enums":[null]}],"required":true}, - "past_due": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Issuing.Cardholder.Requirements.PastDue"}},{"dataType":"enum","enums":[null]}],"required":true}, + "additional_documentation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, + "canceled_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "cancellation_reason": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "explanation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "received_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Cardholder.SpendingControls.AllowedCategory": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["ac_refrigeration_repair"]},{"dataType":"enum","enums":["accounting_bookkeeping_services"]},{"dataType":"enum","enums":["advertising_services"]},{"dataType":"enum","enums":["agricultural_cooperative"]},{"dataType":"enum","enums":["airlines_air_carriers"]},{"dataType":"enum","enums":["airports_flying_fields"]},{"dataType":"enum","enums":["ambulance_services"]},{"dataType":"enum","enums":["amusement_parks_carnivals"]},{"dataType":"enum","enums":["antique_reproductions"]},{"dataType":"enum","enums":["antique_shops"]},{"dataType":"enum","enums":["aquariums"]},{"dataType":"enum","enums":["architectural_surveying_services"]},{"dataType":"enum","enums":["art_dealers_and_galleries"]},{"dataType":"enum","enums":["artists_supply_and_craft_shops"]},{"dataType":"enum","enums":["auto_and_home_supply_stores"]},{"dataType":"enum","enums":["auto_body_repair_shops"]},{"dataType":"enum","enums":["auto_paint_shops"]},{"dataType":"enum","enums":["auto_service_shops"]},{"dataType":"enum","enums":["automated_cash_disburse"]},{"dataType":"enum","enums":["automated_fuel_dispensers"]},{"dataType":"enum","enums":["automobile_associations"]},{"dataType":"enum","enums":["automotive_parts_and_accessories_stores"]},{"dataType":"enum","enums":["automotive_tire_stores"]},{"dataType":"enum","enums":["bail_and_bond_payments"]},{"dataType":"enum","enums":["bakeries"]},{"dataType":"enum","enums":["bands_orchestras"]},{"dataType":"enum","enums":["barber_and_beauty_shops"]},{"dataType":"enum","enums":["betting_casino_gambling"]},{"dataType":"enum","enums":["bicycle_shops"]},{"dataType":"enum","enums":["billiard_pool_establishments"]},{"dataType":"enum","enums":["boat_dealers"]},{"dataType":"enum","enums":["boat_rentals_and_leases"]},{"dataType":"enum","enums":["book_stores"]},{"dataType":"enum","enums":["books_periodicals_and_newspapers"]},{"dataType":"enum","enums":["bowling_alleys"]},{"dataType":"enum","enums":["bus_lines"]},{"dataType":"enum","enums":["business_secretarial_schools"]},{"dataType":"enum","enums":["buying_shopping_services"]},{"dataType":"enum","enums":["cable_satellite_and_other_pay_television_and_radio"]},{"dataType":"enum","enums":["camera_and_photographic_supply_stores"]},{"dataType":"enum","enums":["candy_nut_and_confectionery_stores"]},{"dataType":"enum","enums":["car_and_truck_dealers_new_used"]},{"dataType":"enum","enums":["car_and_truck_dealers_used_only"]},{"dataType":"enum","enums":["car_rental_agencies"]},{"dataType":"enum","enums":["car_washes"]},{"dataType":"enum","enums":["carpentry_services"]},{"dataType":"enum","enums":["carpet_upholstery_cleaning"]},{"dataType":"enum","enums":["caterers"]},{"dataType":"enum","enums":["charitable_and_social_service_organizations_fundraising"]},{"dataType":"enum","enums":["chemicals_and_allied_products"]},{"dataType":"enum","enums":["child_care_services"]},{"dataType":"enum","enums":["childrens_and_infants_wear_stores"]},{"dataType":"enum","enums":["chiropodists_podiatrists"]},{"dataType":"enum","enums":["chiropractors"]},{"dataType":"enum","enums":["cigar_stores_and_stands"]},{"dataType":"enum","enums":["civic_social_fraternal_associations"]},{"dataType":"enum","enums":["cleaning_and_maintenance"]},{"dataType":"enum","enums":["clothing_rental"]},{"dataType":"enum","enums":["colleges_universities"]},{"dataType":"enum","enums":["commercial_equipment"]},{"dataType":"enum","enums":["commercial_footwear"]},{"dataType":"enum","enums":["commercial_photography_art_and_graphics"]},{"dataType":"enum","enums":["commuter_transport_and_ferries"]},{"dataType":"enum","enums":["computer_network_services"]},{"dataType":"enum","enums":["computer_programming"]},{"dataType":"enum","enums":["computer_repair"]},{"dataType":"enum","enums":["computer_software_stores"]},{"dataType":"enum","enums":["computers_peripherals_and_software"]},{"dataType":"enum","enums":["concrete_work_services"]},{"dataType":"enum","enums":["construction_materials"]},{"dataType":"enum","enums":["consulting_public_relations"]},{"dataType":"enum","enums":["correspondence_schools"]},{"dataType":"enum","enums":["cosmetic_stores"]},{"dataType":"enum","enums":["counseling_services"]},{"dataType":"enum","enums":["country_clubs"]},{"dataType":"enum","enums":["courier_services"]},{"dataType":"enum","enums":["court_costs"]},{"dataType":"enum","enums":["credit_reporting_agencies"]},{"dataType":"enum","enums":["cruise_lines"]},{"dataType":"enum","enums":["dairy_products_stores"]},{"dataType":"enum","enums":["dance_hall_studios_schools"]},{"dataType":"enum","enums":["dating_escort_services"]},{"dataType":"enum","enums":["dentists_orthodontists"]},{"dataType":"enum","enums":["department_stores"]},{"dataType":"enum","enums":["detective_agencies"]},{"dataType":"enum","enums":["digital_goods_applications"]},{"dataType":"enum","enums":["digital_goods_games"]},{"dataType":"enum","enums":["digital_goods_large_volume"]},{"dataType":"enum","enums":["digital_goods_media"]},{"dataType":"enum","enums":["direct_marketing_catalog_merchant"]},{"dataType":"enum","enums":["direct_marketing_combination_catalog_and_retail_merchant"]},{"dataType":"enum","enums":["direct_marketing_inbound_telemarketing"]},{"dataType":"enum","enums":["direct_marketing_insurance_services"]},{"dataType":"enum","enums":["direct_marketing_other"]},{"dataType":"enum","enums":["direct_marketing_outbound_telemarketing"]},{"dataType":"enum","enums":["direct_marketing_subscription"]},{"dataType":"enum","enums":["direct_marketing_travel"]},{"dataType":"enum","enums":["discount_stores"]},{"dataType":"enum","enums":["doctors"]},{"dataType":"enum","enums":["door_to_door_sales"]},{"dataType":"enum","enums":["drapery_window_covering_and_upholstery_stores"]},{"dataType":"enum","enums":["drinking_places"]},{"dataType":"enum","enums":["drug_stores_and_pharmacies"]},{"dataType":"enum","enums":["drugs_drug_proprietaries_and_druggist_sundries"]},{"dataType":"enum","enums":["dry_cleaners"]},{"dataType":"enum","enums":["durable_goods"]},{"dataType":"enum","enums":["duty_free_stores"]},{"dataType":"enum","enums":["eating_places_restaurants"]},{"dataType":"enum","enums":["educational_services"]},{"dataType":"enum","enums":["electric_razor_stores"]},{"dataType":"enum","enums":["electric_vehicle_charging"]},{"dataType":"enum","enums":["electrical_parts_and_equipment"]},{"dataType":"enum","enums":["electrical_services"]},{"dataType":"enum","enums":["electronics_repair_shops"]},{"dataType":"enum","enums":["electronics_stores"]},{"dataType":"enum","enums":["elementary_secondary_schools"]},{"dataType":"enum","enums":["emergency_services_gcas_visa_use_only"]},{"dataType":"enum","enums":["employment_temp_agencies"]},{"dataType":"enum","enums":["equipment_rental"]},{"dataType":"enum","enums":["exterminating_services"]},{"dataType":"enum","enums":["family_clothing_stores"]},{"dataType":"enum","enums":["fast_food_restaurants"]},{"dataType":"enum","enums":["financial_institutions"]},{"dataType":"enum","enums":["fines_government_administrative_entities"]},{"dataType":"enum","enums":["fireplace_fireplace_screens_and_accessories_stores"]},{"dataType":"enum","enums":["floor_covering_stores"]},{"dataType":"enum","enums":["florists"]},{"dataType":"enum","enums":["florists_supplies_nursery_stock_and_flowers"]},{"dataType":"enum","enums":["freezer_and_locker_meat_provisioners"]},{"dataType":"enum","enums":["fuel_dealers_non_automotive"]},{"dataType":"enum","enums":["funeral_services_crematories"]},{"dataType":"enum","enums":["furniture_home_furnishings_and_equipment_stores_except_appliances"]},{"dataType":"enum","enums":["furniture_repair_refinishing"]},{"dataType":"enum","enums":["furriers_and_fur_shops"]},{"dataType":"enum","enums":["general_services"]},{"dataType":"enum","enums":["gift_card_novelty_and_souvenir_shops"]},{"dataType":"enum","enums":["glass_paint_and_wallpaper_stores"]},{"dataType":"enum","enums":["glassware_crystal_stores"]},{"dataType":"enum","enums":["golf_courses_public"]},{"dataType":"enum","enums":["government_licensed_horse_dog_racing_us_region_only"]},{"dataType":"enum","enums":["government_licensed_online_casions_online_gambling_us_region_only"]},{"dataType":"enum","enums":["government_owned_lotteries_non_us_region"]},{"dataType":"enum","enums":["government_owned_lotteries_us_region_only"]},{"dataType":"enum","enums":["government_services"]},{"dataType":"enum","enums":["grocery_stores_supermarkets"]},{"dataType":"enum","enums":["hardware_equipment_and_supplies"]},{"dataType":"enum","enums":["hardware_stores"]},{"dataType":"enum","enums":["health_and_beauty_spas"]},{"dataType":"enum","enums":["hearing_aids_sales_and_supplies"]},{"dataType":"enum","enums":["heating_plumbing_a_c"]},{"dataType":"enum","enums":["hobby_toy_and_game_shops"]},{"dataType":"enum","enums":["home_supply_warehouse_stores"]},{"dataType":"enum","enums":["hospitals"]},{"dataType":"enum","enums":["hotels_motels_and_resorts"]},{"dataType":"enum","enums":["household_appliance_stores"]},{"dataType":"enum","enums":["industrial_supplies"]},{"dataType":"enum","enums":["information_retrieval_services"]},{"dataType":"enum","enums":["insurance_default"]},{"dataType":"enum","enums":["insurance_underwriting_premiums"]},{"dataType":"enum","enums":["intra_company_purchases"]},{"dataType":"enum","enums":["jewelry_stores_watches_clocks_and_silverware_stores"]},{"dataType":"enum","enums":["landscaping_services"]},{"dataType":"enum","enums":["laundries"]},{"dataType":"enum","enums":["laundry_cleaning_services"]},{"dataType":"enum","enums":["legal_services_attorneys"]},{"dataType":"enum","enums":["luggage_and_leather_goods_stores"]},{"dataType":"enum","enums":["lumber_building_materials_stores"]},{"dataType":"enum","enums":["manual_cash_disburse"]},{"dataType":"enum","enums":["marinas_service_and_supplies"]},{"dataType":"enum","enums":["marketplaces"]},{"dataType":"enum","enums":["masonry_stonework_and_plaster"]},{"dataType":"enum","enums":["massage_parlors"]},{"dataType":"enum","enums":["medical_and_dental_labs"]},{"dataType":"enum","enums":["medical_dental_ophthalmic_and_hospital_equipment_and_supplies"]},{"dataType":"enum","enums":["medical_services"]},{"dataType":"enum","enums":["membership_organizations"]},{"dataType":"enum","enums":["mens_and_boys_clothing_and_accessories_stores"]},{"dataType":"enum","enums":["mens_womens_clothing_stores"]},{"dataType":"enum","enums":["metal_service_centers"]},{"dataType":"enum","enums":["miscellaneous"]},{"dataType":"enum","enums":["miscellaneous_apparel_and_accessory_shops"]},{"dataType":"enum","enums":["miscellaneous_auto_dealers"]},{"dataType":"enum","enums":["miscellaneous_business_services"]},{"dataType":"enum","enums":["miscellaneous_food_stores"]},{"dataType":"enum","enums":["miscellaneous_general_merchandise"]},{"dataType":"enum","enums":["miscellaneous_general_services"]},{"dataType":"enum","enums":["miscellaneous_home_furnishing_specialty_stores"]},{"dataType":"enum","enums":["miscellaneous_publishing_and_printing"]},{"dataType":"enum","enums":["miscellaneous_recreation_services"]},{"dataType":"enum","enums":["miscellaneous_repair_shops"]},{"dataType":"enum","enums":["miscellaneous_specialty_retail"]},{"dataType":"enum","enums":["mobile_home_dealers"]},{"dataType":"enum","enums":["motion_picture_theaters"]},{"dataType":"enum","enums":["motor_freight_carriers_and_trucking"]},{"dataType":"enum","enums":["motor_homes_dealers"]},{"dataType":"enum","enums":["motor_vehicle_supplies_and_new_parts"]},{"dataType":"enum","enums":["motorcycle_shops_and_dealers"]},{"dataType":"enum","enums":["motorcycle_shops_dealers"]},{"dataType":"enum","enums":["music_stores_musical_instruments_pianos_and_sheet_music"]},{"dataType":"enum","enums":["news_dealers_and_newsstands"]},{"dataType":"enum","enums":["non_fi_money_orders"]},{"dataType":"enum","enums":["non_fi_stored_value_card_purchase_load"]},{"dataType":"enum","enums":["nondurable_goods"]},{"dataType":"enum","enums":["nurseries_lawn_and_garden_supply_stores"]},{"dataType":"enum","enums":["nursing_personal_care"]},{"dataType":"enum","enums":["office_and_commercial_furniture"]},{"dataType":"enum","enums":["opticians_eyeglasses"]},{"dataType":"enum","enums":["optometrists_ophthalmologist"]},{"dataType":"enum","enums":["orthopedic_goods_prosthetic_devices"]},{"dataType":"enum","enums":["osteopaths"]},{"dataType":"enum","enums":["package_stores_beer_wine_and_liquor"]},{"dataType":"enum","enums":["paints_varnishes_and_supplies"]},{"dataType":"enum","enums":["parking_lots_garages"]},{"dataType":"enum","enums":["passenger_railways"]},{"dataType":"enum","enums":["pawn_shops"]},{"dataType":"enum","enums":["pet_shops_pet_food_and_supplies"]},{"dataType":"enum","enums":["petroleum_and_petroleum_products"]},{"dataType":"enum","enums":["photo_developing"]},{"dataType":"enum","enums":["photographic_photocopy_microfilm_equipment_and_supplies"]},{"dataType":"enum","enums":["photographic_studios"]},{"dataType":"enum","enums":["picture_video_production"]},{"dataType":"enum","enums":["piece_goods_notions_and_other_dry_goods"]},{"dataType":"enum","enums":["plumbing_heating_equipment_and_supplies"]},{"dataType":"enum","enums":["political_organizations"]},{"dataType":"enum","enums":["postal_services_government_only"]},{"dataType":"enum","enums":["precious_stones_and_metals_watches_and_jewelry"]},{"dataType":"enum","enums":["professional_services"]},{"dataType":"enum","enums":["public_warehousing_and_storage"]},{"dataType":"enum","enums":["quick_copy_repro_and_blueprint"]},{"dataType":"enum","enums":["railroads"]},{"dataType":"enum","enums":["real_estate_agents_and_managers_rentals"]},{"dataType":"enum","enums":["record_stores"]},{"dataType":"enum","enums":["recreational_vehicle_rentals"]},{"dataType":"enum","enums":["religious_goods_stores"]},{"dataType":"enum","enums":["religious_organizations"]},{"dataType":"enum","enums":["roofing_siding_sheet_metal"]},{"dataType":"enum","enums":["secretarial_support_services"]},{"dataType":"enum","enums":["security_brokers_dealers"]},{"dataType":"enum","enums":["service_stations"]},{"dataType":"enum","enums":["sewing_needlework_fabric_and_piece_goods_stores"]},{"dataType":"enum","enums":["shoe_repair_hat_cleaning"]},{"dataType":"enum","enums":["shoe_stores"]},{"dataType":"enum","enums":["small_appliance_repair"]},{"dataType":"enum","enums":["snowmobile_dealers"]},{"dataType":"enum","enums":["special_trade_services"]},{"dataType":"enum","enums":["specialty_cleaning"]},{"dataType":"enum","enums":["sporting_goods_stores"]},{"dataType":"enum","enums":["sporting_recreation_camps"]},{"dataType":"enum","enums":["sports_and_riding_apparel_stores"]},{"dataType":"enum","enums":["sports_clubs_fields"]},{"dataType":"enum","enums":["stamp_and_coin_stores"]},{"dataType":"enum","enums":["stationary_office_supplies_printing_and_writing_paper"]},{"dataType":"enum","enums":["stationery_stores_office_and_school_supply_stores"]},{"dataType":"enum","enums":["swimming_pools_sales"]},{"dataType":"enum","enums":["t_ui_travel_germany"]},{"dataType":"enum","enums":["tailors_alterations"]},{"dataType":"enum","enums":["tax_payments_government_agencies"]},{"dataType":"enum","enums":["tax_preparation_services"]},{"dataType":"enum","enums":["taxicabs_limousines"]},{"dataType":"enum","enums":["telecommunication_equipment_and_telephone_sales"]},{"dataType":"enum","enums":["telecommunication_services"]},{"dataType":"enum","enums":["telegraph_services"]},{"dataType":"enum","enums":["tent_and_awning_shops"]},{"dataType":"enum","enums":["testing_laboratories"]},{"dataType":"enum","enums":["theatrical_ticket_agencies"]},{"dataType":"enum","enums":["timeshares"]},{"dataType":"enum","enums":["tire_retreading_and_repair"]},{"dataType":"enum","enums":["tolls_bridge_fees"]},{"dataType":"enum","enums":["tourist_attractions_and_exhibits"]},{"dataType":"enum","enums":["towing_services"]},{"dataType":"enum","enums":["trailer_parks_campgrounds"]},{"dataType":"enum","enums":["transportation_services"]},{"dataType":"enum","enums":["travel_agencies_tour_operators"]},{"dataType":"enum","enums":["truck_stop_iteration"]},{"dataType":"enum","enums":["truck_utility_trailer_rentals"]},{"dataType":"enum","enums":["typesetting_plate_making_and_related_services"]},{"dataType":"enum","enums":["typewriter_stores"]},{"dataType":"enum","enums":["u_s_federal_government_agencies_or_departments"]},{"dataType":"enum","enums":["uniforms_commercial_clothing"]},{"dataType":"enum","enums":["used_merchandise_and_secondhand_stores"]},{"dataType":"enum","enums":["utilities"]},{"dataType":"enum","enums":["variety_stores"]},{"dataType":"enum","enums":["veterinary_services"]},{"dataType":"enum","enums":["video_amusement_game_supplies"]},{"dataType":"enum","enums":["video_game_arcades"]},{"dataType":"enum","enums":["video_tape_rental_stores"]},{"dataType":"enum","enums":["vocational_trade_schools"]},{"dataType":"enum","enums":["watch_jewelry_repair"]},{"dataType":"enum","enums":["welding_repair"]},{"dataType":"enum","enums":["wholesale_clubs"]},{"dataType":"enum","enums":["wig_and_toupee_stores"]},{"dataType":"enum","enums":["wires_money_orders"]},{"dataType":"enum","enums":["womens_accessory_and_specialty_shops"]},{"dataType":"enum","enums":["womens_ready_to_wear_stores"]},{"dataType":"enum","enums":["wrecking_and_salvage_yards"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Cardholder.SpendingControls.BlockedCategory": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["ac_refrigeration_repair"]},{"dataType":"enum","enums":["accounting_bookkeeping_services"]},{"dataType":"enum","enums":["advertising_services"]},{"dataType":"enum","enums":["agricultural_cooperative"]},{"dataType":"enum","enums":["airlines_air_carriers"]},{"dataType":"enum","enums":["airports_flying_fields"]},{"dataType":"enum","enums":["ambulance_services"]},{"dataType":"enum","enums":["amusement_parks_carnivals"]},{"dataType":"enum","enums":["antique_reproductions"]},{"dataType":"enum","enums":["antique_shops"]},{"dataType":"enum","enums":["aquariums"]},{"dataType":"enum","enums":["architectural_surveying_services"]},{"dataType":"enum","enums":["art_dealers_and_galleries"]},{"dataType":"enum","enums":["artists_supply_and_craft_shops"]},{"dataType":"enum","enums":["auto_and_home_supply_stores"]},{"dataType":"enum","enums":["auto_body_repair_shops"]},{"dataType":"enum","enums":["auto_paint_shops"]},{"dataType":"enum","enums":["auto_service_shops"]},{"dataType":"enum","enums":["automated_cash_disburse"]},{"dataType":"enum","enums":["automated_fuel_dispensers"]},{"dataType":"enum","enums":["automobile_associations"]},{"dataType":"enum","enums":["automotive_parts_and_accessories_stores"]},{"dataType":"enum","enums":["automotive_tire_stores"]},{"dataType":"enum","enums":["bail_and_bond_payments"]},{"dataType":"enum","enums":["bakeries"]},{"dataType":"enum","enums":["bands_orchestras"]},{"dataType":"enum","enums":["barber_and_beauty_shops"]},{"dataType":"enum","enums":["betting_casino_gambling"]},{"dataType":"enum","enums":["bicycle_shops"]},{"dataType":"enum","enums":["billiard_pool_establishments"]},{"dataType":"enum","enums":["boat_dealers"]},{"dataType":"enum","enums":["boat_rentals_and_leases"]},{"dataType":"enum","enums":["book_stores"]},{"dataType":"enum","enums":["books_periodicals_and_newspapers"]},{"dataType":"enum","enums":["bowling_alleys"]},{"dataType":"enum","enums":["bus_lines"]},{"dataType":"enum","enums":["business_secretarial_schools"]},{"dataType":"enum","enums":["buying_shopping_services"]},{"dataType":"enum","enums":["cable_satellite_and_other_pay_television_and_radio"]},{"dataType":"enum","enums":["camera_and_photographic_supply_stores"]},{"dataType":"enum","enums":["candy_nut_and_confectionery_stores"]},{"dataType":"enum","enums":["car_and_truck_dealers_new_used"]},{"dataType":"enum","enums":["car_and_truck_dealers_used_only"]},{"dataType":"enum","enums":["car_rental_agencies"]},{"dataType":"enum","enums":["car_washes"]},{"dataType":"enum","enums":["carpentry_services"]},{"dataType":"enum","enums":["carpet_upholstery_cleaning"]},{"dataType":"enum","enums":["caterers"]},{"dataType":"enum","enums":["charitable_and_social_service_organizations_fundraising"]},{"dataType":"enum","enums":["chemicals_and_allied_products"]},{"dataType":"enum","enums":["child_care_services"]},{"dataType":"enum","enums":["childrens_and_infants_wear_stores"]},{"dataType":"enum","enums":["chiropodists_podiatrists"]},{"dataType":"enum","enums":["chiropractors"]},{"dataType":"enum","enums":["cigar_stores_and_stands"]},{"dataType":"enum","enums":["civic_social_fraternal_associations"]},{"dataType":"enum","enums":["cleaning_and_maintenance"]},{"dataType":"enum","enums":["clothing_rental"]},{"dataType":"enum","enums":["colleges_universities"]},{"dataType":"enum","enums":["commercial_equipment"]},{"dataType":"enum","enums":["commercial_footwear"]},{"dataType":"enum","enums":["commercial_photography_art_and_graphics"]},{"dataType":"enum","enums":["commuter_transport_and_ferries"]},{"dataType":"enum","enums":["computer_network_services"]},{"dataType":"enum","enums":["computer_programming"]},{"dataType":"enum","enums":["computer_repair"]},{"dataType":"enum","enums":["computer_software_stores"]},{"dataType":"enum","enums":["computers_peripherals_and_software"]},{"dataType":"enum","enums":["concrete_work_services"]},{"dataType":"enum","enums":["construction_materials"]},{"dataType":"enum","enums":["consulting_public_relations"]},{"dataType":"enum","enums":["correspondence_schools"]},{"dataType":"enum","enums":["cosmetic_stores"]},{"dataType":"enum","enums":["counseling_services"]},{"dataType":"enum","enums":["country_clubs"]},{"dataType":"enum","enums":["courier_services"]},{"dataType":"enum","enums":["court_costs"]},{"dataType":"enum","enums":["credit_reporting_agencies"]},{"dataType":"enum","enums":["cruise_lines"]},{"dataType":"enum","enums":["dairy_products_stores"]},{"dataType":"enum","enums":["dance_hall_studios_schools"]},{"dataType":"enum","enums":["dating_escort_services"]},{"dataType":"enum","enums":["dentists_orthodontists"]},{"dataType":"enum","enums":["department_stores"]},{"dataType":"enum","enums":["detective_agencies"]},{"dataType":"enum","enums":["digital_goods_applications"]},{"dataType":"enum","enums":["digital_goods_games"]},{"dataType":"enum","enums":["digital_goods_large_volume"]},{"dataType":"enum","enums":["digital_goods_media"]},{"dataType":"enum","enums":["direct_marketing_catalog_merchant"]},{"dataType":"enum","enums":["direct_marketing_combination_catalog_and_retail_merchant"]},{"dataType":"enum","enums":["direct_marketing_inbound_telemarketing"]},{"dataType":"enum","enums":["direct_marketing_insurance_services"]},{"dataType":"enum","enums":["direct_marketing_other"]},{"dataType":"enum","enums":["direct_marketing_outbound_telemarketing"]},{"dataType":"enum","enums":["direct_marketing_subscription"]},{"dataType":"enum","enums":["direct_marketing_travel"]},{"dataType":"enum","enums":["discount_stores"]},{"dataType":"enum","enums":["doctors"]},{"dataType":"enum","enums":["door_to_door_sales"]},{"dataType":"enum","enums":["drapery_window_covering_and_upholstery_stores"]},{"dataType":"enum","enums":["drinking_places"]},{"dataType":"enum","enums":["drug_stores_and_pharmacies"]},{"dataType":"enum","enums":["drugs_drug_proprietaries_and_druggist_sundries"]},{"dataType":"enum","enums":["dry_cleaners"]},{"dataType":"enum","enums":["durable_goods"]},{"dataType":"enum","enums":["duty_free_stores"]},{"dataType":"enum","enums":["eating_places_restaurants"]},{"dataType":"enum","enums":["educational_services"]},{"dataType":"enum","enums":["electric_razor_stores"]},{"dataType":"enum","enums":["electric_vehicle_charging"]},{"dataType":"enum","enums":["electrical_parts_and_equipment"]},{"dataType":"enum","enums":["electrical_services"]},{"dataType":"enum","enums":["electronics_repair_shops"]},{"dataType":"enum","enums":["electronics_stores"]},{"dataType":"enum","enums":["elementary_secondary_schools"]},{"dataType":"enum","enums":["emergency_services_gcas_visa_use_only"]},{"dataType":"enum","enums":["employment_temp_agencies"]},{"dataType":"enum","enums":["equipment_rental"]},{"dataType":"enum","enums":["exterminating_services"]},{"dataType":"enum","enums":["family_clothing_stores"]},{"dataType":"enum","enums":["fast_food_restaurants"]},{"dataType":"enum","enums":["financial_institutions"]},{"dataType":"enum","enums":["fines_government_administrative_entities"]},{"dataType":"enum","enums":["fireplace_fireplace_screens_and_accessories_stores"]},{"dataType":"enum","enums":["floor_covering_stores"]},{"dataType":"enum","enums":["florists"]},{"dataType":"enum","enums":["florists_supplies_nursery_stock_and_flowers"]},{"dataType":"enum","enums":["freezer_and_locker_meat_provisioners"]},{"dataType":"enum","enums":["fuel_dealers_non_automotive"]},{"dataType":"enum","enums":["funeral_services_crematories"]},{"dataType":"enum","enums":["furniture_home_furnishings_and_equipment_stores_except_appliances"]},{"dataType":"enum","enums":["furniture_repair_refinishing"]},{"dataType":"enum","enums":["furriers_and_fur_shops"]},{"dataType":"enum","enums":["general_services"]},{"dataType":"enum","enums":["gift_card_novelty_and_souvenir_shops"]},{"dataType":"enum","enums":["glass_paint_and_wallpaper_stores"]},{"dataType":"enum","enums":["glassware_crystal_stores"]},{"dataType":"enum","enums":["golf_courses_public"]},{"dataType":"enum","enums":["government_licensed_horse_dog_racing_us_region_only"]},{"dataType":"enum","enums":["government_licensed_online_casions_online_gambling_us_region_only"]},{"dataType":"enum","enums":["government_owned_lotteries_non_us_region"]},{"dataType":"enum","enums":["government_owned_lotteries_us_region_only"]},{"dataType":"enum","enums":["government_services"]},{"dataType":"enum","enums":["grocery_stores_supermarkets"]},{"dataType":"enum","enums":["hardware_equipment_and_supplies"]},{"dataType":"enum","enums":["hardware_stores"]},{"dataType":"enum","enums":["health_and_beauty_spas"]},{"dataType":"enum","enums":["hearing_aids_sales_and_supplies"]},{"dataType":"enum","enums":["heating_plumbing_a_c"]},{"dataType":"enum","enums":["hobby_toy_and_game_shops"]},{"dataType":"enum","enums":["home_supply_warehouse_stores"]},{"dataType":"enum","enums":["hospitals"]},{"dataType":"enum","enums":["hotels_motels_and_resorts"]},{"dataType":"enum","enums":["household_appliance_stores"]},{"dataType":"enum","enums":["industrial_supplies"]},{"dataType":"enum","enums":["information_retrieval_services"]},{"dataType":"enum","enums":["insurance_default"]},{"dataType":"enum","enums":["insurance_underwriting_premiums"]},{"dataType":"enum","enums":["intra_company_purchases"]},{"dataType":"enum","enums":["jewelry_stores_watches_clocks_and_silverware_stores"]},{"dataType":"enum","enums":["landscaping_services"]},{"dataType":"enum","enums":["laundries"]},{"dataType":"enum","enums":["laundry_cleaning_services"]},{"dataType":"enum","enums":["legal_services_attorneys"]},{"dataType":"enum","enums":["luggage_and_leather_goods_stores"]},{"dataType":"enum","enums":["lumber_building_materials_stores"]},{"dataType":"enum","enums":["manual_cash_disburse"]},{"dataType":"enum","enums":["marinas_service_and_supplies"]},{"dataType":"enum","enums":["marketplaces"]},{"dataType":"enum","enums":["masonry_stonework_and_plaster"]},{"dataType":"enum","enums":["massage_parlors"]},{"dataType":"enum","enums":["medical_and_dental_labs"]},{"dataType":"enum","enums":["medical_dental_ophthalmic_and_hospital_equipment_and_supplies"]},{"dataType":"enum","enums":["medical_services"]},{"dataType":"enum","enums":["membership_organizations"]},{"dataType":"enum","enums":["mens_and_boys_clothing_and_accessories_stores"]},{"dataType":"enum","enums":["mens_womens_clothing_stores"]},{"dataType":"enum","enums":["metal_service_centers"]},{"dataType":"enum","enums":["miscellaneous"]},{"dataType":"enum","enums":["miscellaneous_apparel_and_accessory_shops"]},{"dataType":"enum","enums":["miscellaneous_auto_dealers"]},{"dataType":"enum","enums":["miscellaneous_business_services"]},{"dataType":"enum","enums":["miscellaneous_food_stores"]},{"dataType":"enum","enums":["miscellaneous_general_merchandise"]},{"dataType":"enum","enums":["miscellaneous_general_services"]},{"dataType":"enum","enums":["miscellaneous_home_furnishing_specialty_stores"]},{"dataType":"enum","enums":["miscellaneous_publishing_and_printing"]},{"dataType":"enum","enums":["miscellaneous_recreation_services"]},{"dataType":"enum","enums":["miscellaneous_repair_shops"]},{"dataType":"enum","enums":["miscellaneous_specialty_retail"]},{"dataType":"enum","enums":["mobile_home_dealers"]},{"dataType":"enum","enums":["motion_picture_theaters"]},{"dataType":"enum","enums":["motor_freight_carriers_and_trucking"]},{"dataType":"enum","enums":["motor_homes_dealers"]},{"dataType":"enum","enums":["motor_vehicle_supplies_and_new_parts"]},{"dataType":"enum","enums":["motorcycle_shops_and_dealers"]},{"dataType":"enum","enums":["motorcycle_shops_dealers"]},{"dataType":"enum","enums":["music_stores_musical_instruments_pianos_and_sheet_music"]},{"dataType":"enum","enums":["news_dealers_and_newsstands"]},{"dataType":"enum","enums":["non_fi_money_orders"]},{"dataType":"enum","enums":["non_fi_stored_value_card_purchase_load"]},{"dataType":"enum","enums":["nondurable_goods"]},{"dataType":"enum","enums":["nurseries_lawn_and_garden_supply_stores"]},{"dataType":"enum","enums":["nursing_personal_care"]},{"dataType":"enum","enums":["office_and_commercial_furniture"]},{"dataType":"enum","enums":["opticians_eyeglasses"]},{"dataType":"enum","enums":["optometrists_ophthalmologist"]},{"dataType":"enum","enums":["orthopedic_goods_prosthetic_devices"]},{"dataType":"enum","enums":["osteopaths"]},{"dataType":"enum","enums":["package_stores_beer_wine_and_liquor"]},{"dataType":"enum","enums":["paints_varnishes_and_supplies"]},{"dataType":"enum","enums":["parking_lots_garages"]},{"dataType":"enum","enums":["passenger_railways"]},{"dataType":"enum","enums":["pawn_shops"]},{"dataType":"enum","enums":["pet_shops_pet_food_and_supplies"]},{"dataType":"enum","enums":["petroleum_and_petroleum_products"]},{"dataType":"enum","enums":["photo_developing"]},{"dataType":"enum","enums":["photographic_photocopy_microfilm_equipment_and_supplies"]},{"dataType":"enum","enums":["photographic_studios"]},{"dataType":"enum","enums":["picture_video_production"]},{"dataType":"enum","enums":["piece_goods_notions_and_other_dry_goods"]},{"dataType":"enum","enums":["plumbing_heating_equipment_and_supplies"]},{"dataType":"enum","enums":["political_organizations"]},{"dataType":"enum","enums":["postal_services_government_only"]},{"dataType":"enum","enums":["precious_stones_and_metals_watches_and_jewelry"]},{"dataType":"enum","enums":["professional_services"]},{"dataType":"enum","enums":["public_warehousing_and_storage"]},{"dataType":"enum","enums":["quick_copy_repro_and_blueprint"]},{"dataType":"enum","enums":["railroads"]},{"dataType":"enum","enums":["real_estate_agents_and_managers_rentals"]},{"dataType":"enum","enums":["record_stores"]},{"dataType":"enum","enums":["recreational_vehicle_rentals"]},{"dataType":"enum","enums":["religious_goods_stores"]},{"dataType":"enum","enums":["religious_organizations"]},{"dataType":"enum","enums":["roofing_siding_sheet_metal"]},{"dataType":"enum","enums":["secretarial_support_services"]},{"dataType":"enum","enums":["security_brokers_dealers"]},{"dataType":"enum","enums":["service_stations"]},{"dataType":"enum","enums":["sewing_needlework_fabric_and_piece_goods_stores"]},{"dataType":"enum","enums":["shoe_repair_hat_cleaning"]},{"dataType":"enum","enums":["shoe_stores"]},{"dataType":"enum","enums":["small_appliance_repair"]},{"dataType":"enum","enums":["snowmobile_dealers"]},{"dataType":"enum","enums":["special_trade_services"]},{"dataType":"enum","enums":["specialty_cleaning"]},{"dataType":"enum","enums":["sporting_goods_stores"]},{"dataType":"enum","enums":["sporting_recreation_camps"]},{"dataType":"enum","enums":["sports_and_riding_apparel_stores"]},{"dataType":"enum","enums":["sports_clubs_fields"]},{"dataType":"enum","enums":["stamp_and_coin_stores"]},{"dataType":"enum","enums":["stationary_office_supplies_printing_and_writing_paper"]},{"dataType":"enum","enums":["stationery_stores_office_and_school_supply_stores"]},{"dataType":"enum","enums":["swimming_pools_sales"]},{"dataType":"enum","enums":["t_ui_travel_germany"]},{"dataType":"enum","enums":["tailors_alterations"]},{"dataType":"enum","enums":["tax_payments_government_agencies"]},{"dataType":"enum","enums":["tax_preparation_services"]},{"dataType":"enum","enums":["taxicabs_limousines"]},{"dataType":"enum","enums":["telecommunication_equipment_and_telephone_sales"]},{"dataType":"enum","enums":["telecommunication_services"]},{"dataType":"enum","enums":["telegraph_services"]},{"dataType":"enum","enums":["tent_and_awning_shops"]},{"dataType":"enum","enums":["testing_laboratories"]},{"dataType":"enum","enums":["theatrical_ticket_agencies"]},{"dataType":"enum","enums":["timeshares"]},{"dataType":"enum","enums":["tire_retreading_and_repair"]},{"dataType":"enum","enums":["tolls_bridge_fees"]},{"dataType":"enum","enums":["tourist_attractions_and_exhibits"]},{"dataType":"enum","enums":["towing_services"]},{"dataType":"enum","enums":["trailer_parks_campgrounds"]},{"dataType":"enum","enums":["transportation_services"]},{"dataType":"enum","enums":["travel_agencies_tour_operators"]},{"dataType":"enum","enums":["truck_stop_iteration"]},{"dataType":"enum","enums":["truck_utility_trailer_rentals"]},{"dataType":"enum","enums":["typesetting_plate_making_and_related_services"]},{"dataType":"enum","enums":["typewriter_stores"]},{"dataType":"enum","enums":["u_s_federal_government_agencies_or_departments"]},{"dataType":"enum","enums":["uniforms_commercial_clothing"]},{"dataType":"enum","enums":["used_merchandise_and_secondhand_stores"]},{"dataType":"enum","enums":["utilities"]},{"dataType":"enum","enums":["variety_stores"]},{"dataType":"enum","enums":["veterinary_services"]},{"dataType":"enum","enums":["video_amusement_game_supplies"]},{"dataType":"enum","enums":["video_game_arcades"]},{"dataType":"enum","enums":["video_tape_rental_stores"]},{"dataType":"enum","enums":["vocational_trade_schools"]},{"dataType":"enum","enums":["watch_jewelry_repair"]},{"dataType":"enum","enums":["welding_repair"]},{"dataType":"enum","enums":["wholesale_clubs"]},{"dataType":"enum","enums":["wig_and_toupee_stores"]},{"dataType":"enum","enums":["wires_money_orders"]},{"dataType":"enum","enums":["womens_accessory_and_specialty_shops"]},{"dataType":"enum","enums":["womens_ready_to_wear_stores"]},{"dataType":"enum","enums":["wrecking_and_salvage_yards"]}],"validators":{}}, + "stripe.Stripe.Issuing.Dispute.Evidence": { + "dataType": "refObject", + "properties": { + "canceled": {"ref":"stripe.Stripe.Issuing.Dispute.Evidence.Canceled"}, + "duplicate": {"ref":"stripe.Stripe.Issuing.Dispute.Evidence.Duplicate"}, + "fraudulent": {"ref":"stripe.Stripe.Issuing.Dispute.Evidence.Fraudulent"}, + "merchandise_not_as_described": {"ref":"stripe.Stripe.Issuing.Dispute.Evidence.MerchandiseNotAsDescribed"}, + "no_valid_authorization": {"ref":"stripe.Stripe.Issuing.Dispute.Evidence.NoValidAuthorization"}, + "not_received": {"ref":"stripe.Stripe.Issuing.Dispute.Evidence.NotReceived"}, + "other": {"ref":"stripe.Stripe.Issuing.Dispute.Evidence.Other"}, + "reason": {"ref":"stripe.Stripe.Issuing.Dispute.Evidence.Reason","required":true}, + "service_not_as_described": {"ref":"stripe.Stripe.Issuing.Dispute.Evidence.ServiceNotAsDescribed"}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Cardholder.SpendingControls.SpendingLimit.Category": { + "stripe.Stripe.Issuing.Dispute.LossReason": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["ac_refrigeration_repair"]},{"dataType":"enum","enums":["accounting_bookkeeping_services"]},{"dataType":"enum","enums":["advertising_services"]},{"dataType":"enum","enums":["agricultural_cooperative"]},{"dataType":"enum","enums":["airlines_air_carriers"]},{"dataType":"enum","enums":["airports_flying_fields"]},{"dataType":"enum","enums":["ambulance_services"]},{"dataType":"enum","enums":["amusement_parks_carnivals"]},{"dataType":"enum","enums":["antique_reproductions"]},{"dataType":"enum","enums":["antique_shops"]},{"dataType":"enum","enums":["aquariums"]},{"dataType":"enum","enums":["architectural_surveying_services"]},{"dataType":"enum","enums":["art_dealers_and_galleries"]},{"dataType":"enum","enums":["artists_supply_and_craft_shops"]},{"dataType":"enum","enums":["auto_and_home_supply_stores"]},{"dataType":"enum","enums":["auto_body_repair_shops"]},{"dataType":"enum","enums":["auto_paint_shops"]},{"dataType":"enum","enums":["auto_service_shops"]},{"dataType":"enum","enums":["automated_cash_disburse"]},{"dataType":"enum","enums":["automated_fuel_dispensers"]},{"dataType":"enum","enums":["automobile_associations"]},{"dataType":"enum","enums":["automotive_parts_and_accessories_stores"]},{"dataType":"enum","enums":["automotive_tire_stores"]},{"dataType":"enum","enums":["bail_and_bond_payments"]},{"dataType":"enum","enums":["bakeries"]},{"dataType":"enum","enums":["bands_orchestras"]},{"dataType":"enum","enums":["barber_and_beauty_shops"]},{"dataType":"enum","enums":["betting_casino_gambling"]},{"dataType":"enum","enums":["bicycle_shops"]},{"dataType":"enum","enums":["billiard_pool_establishments"]},{"dataType":"enum","enums":["boat_dealers"]},{"dataType":"enum","enums":["boat_rentals_and_leases"]},{"dataType":"enum","enums":["book_stores"]},{"dataType":"enum","enums":["books_periodicals_and_newspapers"]},{"dataType":"enum","enums":["bowling_alleys"]},{"dataType":"enum","enums":["bus_lines"]},{"dataType":"enum","enums":["business_secretarial_schools"]},{"dataType":"enum","enums":["buying_shopping_services"]},{"dataType":"enum","enums":["cable_satellite_and_other_pay_television_and_radio"]},{"dataType":"enum","enums":["camera_and_photographic_supply_stores"]},{"dataType":"enum","enums":["candy_nut_and_confectionery_stores"]},{"dataType":"enum","enums":["car_and_truck_dealers_new_used"]},{"dataType":"enum","enums":["car_and_truck_dealers_used_only"]},{"dataType":"enum","enums":["car_rental_agencies"]},{"dataType":"enum","enums":["car_washes"]},{"dataType":"enum","enums":["carpentry_services"]},{"dataType":"enum","enums":["carpet_upholstery_cleaning"]},{"dataType":"enum","enums":["caterers"]},{"dataType":"enum","enums":["charitable_and_social_service_organizations_fundraising"]},{"dataType":"enum","enums":["chemicals_and_allied_products"]},{"dataType":"enum","enums":["child_care_services"]},{"dataType":"enum","enums":["childrens_and_infants_wear_stores"]},{"dataType":"enum","enums":["chiropodists_podiatrists"]},{"dataType":"enum","enums":["chiropractors"]},{"dataType":"enum","enums":["cigar_stores_and_stands"]},{"dataType":"enum","enums":["civic_social_fraternal_associations"]},{"dataType":"enum","enums":["cleaning_and_maintenance"]},{"dataType":"enum","enums":["clothing_rental"]},{"dataType":"enum","enums":["colleges_universities"]},{"dataType":"enum","enums":["commercial_equipment"]},{"dataType":"enum","enums":["commercial_footwear"]},{"dataType":"enum","enums":["commercial_photography_art_and_graphics"]},{"dataType":"enum","enums":["commuter_transport_and_ferries"]},{"dataType":"enum","enums":["computer_network_services"]},{"dataType":"enum","enums":["computer_programming"]},{"dataType":"enum","enums":["computer_repair"]},{"dataType":"enum","enums":["computer_software_stores"]},{"dataType":"enum","enums":["computers_peripherals_and_software"]},{"dataType":"enum","enums":["concrete_work_services"]},{"dataType":"enum","enums":["construction_materials"]},{"dataType":"enum","enums":["consulting_public_relations"]},{"dataType":"enum","enums":["correspondence_schools"]},{"dataType":"enum","enums":["cosmetic_stores"]},{"dataType":"enum","enums":["counseling_services"]},{"dataType":"enum","enums":["country_clubs"]},{"dataType":"enum","enums":["courier_services"]},{"dataType":"enum","enums":["court_costs"]},{"dataType":"enum","enums":["credit_reporting_agencies"]},{"dataType":"enum","enums":["cruise_lines"]},{"dataType":"enum","enums":["dairy_products_stores"]},{"dataType":"enum","enums":["dance_hall_studios_schools"]},{"dataType":"enum","enums":["dating_escort_services"]},{"dataType":"enum","enums":["dentists_orthodontists"]},{"dataType":"enum","enums":["department_stores"]},{"dataType":"enum","enums":["detective_agencies"]},{"dataType":"enum","enums":["digital_goods_applications"]},{"dataType":"enum","enums":["digital_goods_games"]},{"dataType":"enum","enums":["digital_goods_large_volume"]},{"dataType":"enum","enums":["digital_goods_media"]},{"dataType":"enum","enums":["direct_marketing_catalog_merchant"]},{"dataType":"enum","enums":["direct_marketing_combination_catalog_and_retail_merchant"]},{"dataType":"enum","enums":["direct_marketing_inbound_telemarketing"]},{"dataType":"enum","enums":["direct_marketing_insurance_services"]},{"dataType":"enum","enums":["direct_marketing_other"]},{"dataType":"enum","enums":["direct_marketing_outbound_telemarketing"]},{"dataType":"enum","enums":["direct_marketing_subscription"]},{"dataType":"enum","enums":["direct_marketing_travel"]},{"dataType":"enum","enums":["discount_stores"]},{"dataType":"enum","enums":["doctors"]},{"dataType":"enum","enums":["door_to_door_sales"]},{"dataType":"enum","enums":["drapery_window_covering_and_upholstery_stores"]},{"dataType":"enum","enums":["drinking_places"]},{"dataType":"enum","enums":["drug_stores_and_pharmacies"]},{"dataType":"enum","enums":["drugs_drug_proprietaries_and_druggist_sundries"]},{"dataType":"enum","enums":["dry_cleaners"]},{"dataType":"enum","enums":["durable_goods"]},{"dataType":"enum","enums":["duty_free_stores"]},{"dataType":"enum","enums":["eating_places_restaurants"]},{"dataType":"enum","enums":["educational_services"]},{"dataType":"enum","enums":["electric_razor_stores"]},{"dataType":"enum","enums":["electric_vehicle_charging"]},{"dataType":"enum","enums":["electrical_parts_and_equipment"]},{"dataType":"enum","enums":["electrical_services"]},{"dataType":"enum","enums":["electronics_repair_shops"]},{"dataType":"enum","enums":["electronics_stores"]},{"dataType":"enum","enums":["elementary_secondary_schools"]},{"dataType":"enum","enums":["emergency_services_gcas_visa_use_only"]},{"dataType":"enum","enums":["employment_temp_agencies"]},{"dataType":"enum","enums":["equipment_rental"]},{"dataType":"enum","enums":["exterminating_services"]},{"dataType":"enum","enums":["family_clothing_stores"]},{"dataType":"enum","enums":["fast_food_restaurants"]},{"dataType":"enum","enums":["financial_institutions"]},{"dataType":"enum","enums":["fines_government_administrative_entities"]},{"dataType":"enum","enums":["fireplace_fireplace_screens_and_accessories_stores"]},{"dataType":"enum","enums":["floor_covering_stores"]},{"dataType":"enum","enums":["florists"]},{"dataType":"enum","enums":["florists_supplies_nursery_stock_and_flowers"]},{"dataType":"enum","enums":["freezer_and_locker_meat_provisioners"]},{"dataType":"enum","enums":["fuel_dealers_non_automotive"]},{"dataType":"enum","enums":["funeral_services_crematories"]},{"dataType":"enum","enums":["furniture_home_furnishings_and_equipment_stores_except_appliances"]},{"dataType":"enum","enums":["furniture_repair_refinishing"]},{"dataType":"enum","enums":["furriers_and_fur_shops"]},{"dataType":"enum","enums":["general_services"]},{"dataType":"enum","enums":["gift_card_novelty_and_souvenir_shops"]},{"dataType":"enum","enums":["glass_paint_and_wallpaper_stores"]},{"dataType":"enum","enums":["glassware_crystal_stores"]},{"dataType":"enum","enums":["golf_courses_public"]},{"dataType":"enum","enums":["government_licensed_horse_dog_racing_us_region_only"]},{"dataType":"enum","enums":["government_licensed_online_casions_online_gambling_us_region_only"]},{"dataType":"enum","enums":["government_owned_lotteries_non_us_region"]},{"dataType":"enum","enums":["government_owned_lotteries_us_region_only"]},{"dataType":"enum","enums":["government_services"]},{"dataType":"enum","enums":["grocery_stores_supermarkets"]},{"dataType":"enum","enums":["hardware_equipment_and_supplies"]},{"dataType":"enum","enums":["hardware_stores"]},{"dataType":"enum","enums":["health_and_beauty_spas"]},{"dataType":"enum","enums":["hearing_aids_sales_and_supplies"]},{"dataType":"enum","enums":["heating_plumbing_a_c"]},{"dataType":"enum","enums":["hobby_toy_and_game_shops"]},{"dataType":"enum","enums":["home_supply_warehouse_stores"]},{"dataType":"enum","enums":["hospitals"]},{"dataType":"enum","enums":["hotels_motels_and_resorts"]},{"dataType":"enum","enums":["household_appliance_stores"]},{"dataType":"enum","enums":["industrial_supplies"]},{"dataType":"enum","enums":["information_retrieval_services"]},{"dataType":"enum","enums":["insurance_default"]},{"dataType":"enum","enums":["insurance_underwriting_premiums"]},{"dataType":"enum","enums":["intra_company_purchases"]},{"dataType":"enum","enums":["jewelry_stores_watches_clocks_and_silverware_stores"]},{"dataType":"enum","enums":["landscaping_services"]},{"dataType":"enum","enums":["laundries"]},{"dataType":"enum","enums":["laundry_cleaning_services"]},{"dataType":"enum","enums":["legal_services_attorneys"]},{"dataType":"enum","enums":["luggage_and_leather_goods_stores"]},{"dataType":"enum","enums":["lumber_building_materials_stores"]},{"dataType":"enum","enums":["manual_cash_disburse"]},{"dataType":"enum","enums":["marinas_service_and_supplies"]},{"dataType":"enum","enums":["marketplaces"]},{"dataType":"enum","enums":["masonry_stonework_and_plaster"]},{"dataType":"enum","enums":["massage_parlors"]},{"dataType":"enum","enums":["medical_and_dental_labs"]},{"dataType":"enum","enums":["medical_dental_ophthalmic_and_hospital_equipment_and_supplies"]},{"dataType":"enum","enums":["medical_services"]},{"dataType":"enum","enums":["membership_organizations"]},{"dataType":"enum","enums":["mens_and_boys_clothing_and_accessories_stores"]},{"dataType":"enum","enums":["mens_womens_clothing_stores"]},{"dataType":"enum","enums":["metal_service_centers"]},{"dataType":"enum","enums":["miscellaneous"]},{"dataType":"enum","enums":["miscellaneous_apparel_and_accessory_shops"]},{"dataType":"enum","enums":["miscellaneous_auto_dealers"]},{"dataType":"enum","enums":["miscellaneous_business_services"]},{"dataType":"enum","enums":["miscellaneous_food_stores"]},{"dataType":"enum","enums":["miscellaneous_general_merchandise"]},{"dataType":"enum","enums":["miscellaneous_general_services"]},{"dataType":"enum","enums":["miscellaneous_home_furnishing_specialty_stores"]},{"dataType":"enum","enums":["miscellaneous_publishing_and_printing"]},{"dataType":"enum","enums":["miscellaneous_recreation_services"]},{"dataType":"enum","enums":["miscellaneous_repair_shops"]},{"dataType":"enum","enums":["miscellaneous_specialty_retail"]},{"dataType":"enum","enums":["mobile_home_dealers"]},{"dataType":"enum","enums":["motion_picture_theaters"]},{"dataType":"enum","enums":["motor_freight_carriers_and_trucking"]},{"dataType":"enum","enums":["motor_homes_dealers"]},{"dataType":"enum","enums":["motor_vehicle_supplies_and_new_parts"]},{"dataType":"enum","enums":["motorcycle_shops_and_dealers"]},{"dataType":"enum","enums":["motorcycle_shops_dealers"]},{"dataType":"enum","enums":["music_stores_musical_instruments_pianos_and_sheet_music"]},{"dataType":"enum","enums":["news_dealers_and_newsstands"]},{"dataType":"enum","enums":["non_fi_money_orders"]},{"dataType":"enum","enums":["non_fi_stored_value_card_purchase_load"]},{"dataType":"enum","enums":["nondurable_goods"]},{"dataType":"enum","enums":["nurseries_lawn_and_garden_supply_stores"]},{"dataType":"enum","enums":["nursing_personal_care"]},{"dataType":"enum","enums":["office_and_commercial_furniture"]},{"dataType":"enum","enums":["opticians_eyeglasses"]},{"dataType":"enum","enums":["optometrists_ophthalmologist"]},{"dataType":"enum","enums":["orthopedic_goods_prosthetic_devices"]},{"dataType":"enum","enums":["osteopaths"]},{"dataType":"enum","enums":["package_stores_beer_wine_and_liquor"]},{"dataType":"enum","enums":["paints_varnishes_and_supplies"]},{"dataType":"enum","enums":["parking_lots_garages"]},{"dataType":"enum","enums":["passenger_railways"]},{"dataType":"enum","enums":["pawn_shops"]},{"dataType":"enum","enums":["pet_shops_pet_food_and_supplies"]},{"dataType":"enum","enums":["petroleum_and_petroleum_products"]},{"dataType":"enum","enums":["photo_developing"]},{"dataType":"enum","enums":["photographic_photocopy_microfilm_equipment_and_supplies"]},{"dataType":"enum","enums":["photographic_studios"]},{"dataType":"enum","enums":["picture_video_production"]},{"dataType":"enum","enums":["piece_goods_notions_and_other_dry_goods"]},{"dataType":"enum","enums":["plumbing_heating_equipment_and_supplies"]},{"dataType":"enum","enums":["political_organizations"]},{"dataType":"enum","enums":["postal_services_government_only"]},{"dataType":"enum","enums":["precious_stones_and_metals_watches_and_jewelry"]},{"dataType":"enum","enums":["professional_services"]},{"dataType":"enum","enums":["public_warehousing_and_storage"]},{"dataType":"enum","enums":["quick_copy_repro_and_blueprint"]},{"dataType":"enum","enums":["railroads"]},{"dataType":"enum","enums":["real_estate_agents_and_managers_rentals"]},{"dataType":"enum","enums":["record_stores"]},{"dataType":"enum","enums":["recreational_vehicle_rentals"]},{"dataType":"enum","enums":["religious_goods_stores"]},{"dataType":"enum","enums":["religious_organizations"]},{"dataType":"enum","enums":["roofing_siding_sheet_metal"]},{"dataType":"enum","enums":["secretarial_support_services"]},{"dataType":"enum","enums":["security_brokers_dealers"]},{"dataType":"enum","enums":["service_stations"]},{"dataType":"enum","enums":["sewing_needlework_fabric_and_piece_goods_stores"]},{"dataType":"enum","enums":["shoe_repair_hat_cleaning"]},{"dataType":"enum","enums":["shoe_stores"]},{"dataType":"enum","enums":["small_appliance_repair"]},{"dataType":"enum","enums":["snowmobile_dealers"]},{"dataType":"enum","enums":["special_trade_services"]},{"dataType":"enum","enums":["specialty_cleaning"]},{"dataType":"enum","enums":["sporting_goods_stores"]},{"dataType":"enum","enums":["sporting_recreation_camps"]},{"dataType":"enum","enums":["sports_and_riding_apparel_stores"]},{"dataType":"enum","enums":["sports_clubs_fields"]},{"dataType":"enum","enums":["stamp_and_coin_stores"]},{"dataType":"enum","enums":["stationary_office_supplies_printing_and_writing_paper"]},{"dataType":"enum","enums":["stationery_stores_office_and_school_supply_stores"]},{"dataType":"enum","enums":["swimming_pools_sales"]},{"dataType":"enum","enums":["t_ui_travel_germany"]},{"dataType":"enum","enums":["tailors_alterations"]},{"dataType":"enum","enums":["tax_payments_government_agencies"]},{"dataType":"enum","enums":["tax_preparation_services"]},{"dataType":"enum","enums":["taxicabs_limousines"]},{"dataType":"enum","enums":["telecommunication_equipment_and_telephone_sales"]},{"dataType":"enum","enums":["telecommunication_services"]},{"dataType":"enum","enums":["telegraph_services"]},{"dataType":"enum","enums":["tent_and_awning_shops"]},{"dataType":"enum","enums":["testing_laboratories"]},{"dataType":"enum","enums":["theatrical_ticket_agencies"]},{"dataType":"enum","enums":["timeshares"]},{"dataType":"enum","enums":["tire_retreading_and_repair"]},{"dataType":"enum","enums":["tolls_bridge_fees"]},{"dataType":"enum","enums":["tourist_attractions_and_exhibits"]},{"dataType":"enum","enums":["towing_services"]},{"dataType":"enum","enums":["trailer_parks_campgrounds"]},{"dataType":"enum","enums":["transportation_services"]},{"dataType":"enum","enums":["travel_agencies_tour_operators"]},{"dataType":"enum","enums":["truck_stop_iteration"]},{"dataType":"enum","enums":["truck_utility_trailer_rentals"]},{"dataType":"enum","enums":["typesetting_plate_making_and_related_services"]},{"dataType":"enum","enums":["typewriter_stores"]},{"dataType":"enum","enums":["u_s_federal_government_agencies_or_departments"]},{"dataType":"enum","enums":["uniforms_commercial_clothing"]},{"dataType":"enum","enums":["used_merchandise_and_secondhand_stores"]},{"dataType":"enum","enums":["utilities"]},{"dataType":"enum","enums":["variety_stores"]},{"dataType":"enum","enums":["veterinary_services"]},{"dataType":"enum","enums":["video_amusement_game_supplies"]},{"dataType":"enum","enums":["video_game_arcades"]},{"dataType":"enum","enums":["video_tape_rental_stores"]},{"dataType":"enum","enums":["vocational_trade_schools"]},{"dataType":"enum","enums":["watch_jewelry_repair"]},{"dataType":"enum","enums":["welding_repair"]},{"dataType":"enum","enums":["wholesale_clubs"]},{"dataType":"enum","enums":["wig_and_toupee_stores"]},{"dataType":"enum","enums":["wires_money_orders"]},{"dataType":"enum","enums":["womens_accessory_and_specialty_shops"]},{"dataType":"enum","enums":["womens_ready_to_wear_stores"]},{"dataType":"enum","enums":["wrecking_and_salvage_yards"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["cardholder_authentication_issuer_liability"]},{"dataType":"enum","enums":["eci5_token_transaction_with_tavv"]},{"dataType":"enum","enums":["excess_disputes_in_timeframe"]},{"dataType":"enum","enums":["has_not_met_the_minimum_dispute_amount_requirements"]},{"dataType":"enum","enums":["invalid_duplicate_dispute"]},{"dataType":"enum","enums":["invalid_incorrect_amount_dispute"]},{"dataType":"enum","enums":["invalid_no_authorization"]},{"dataType":"enum","enums":["invalid_use_of_disputes"]},{"dataType":"enum","enums":["merchandise_delivered_or_shipped"]},{"dataType":"enum","enums":["merchandise_or_service_as_described"]},{"dataType":"enum","enums":["not_cancelled"]},{"dataType":"enum","enums":["other"]},{"dataType":"enum","enums":["refund_issued"]},{"dataType":"enum","enums":["submitted_beyond_allowable_time_limit"]},{"dataType":"enum","enums":["transaction_3ds_required"]},{"dataType":"enum","enums":["transaction_approved_after_prior_fraud_dispute"]},{"dataType":"enum","enums":["transaction_authorized"]},{"dataType":"enum","enums":["transaction_electronically_read"]},{"dataType":"enum","enums":["transaction_qualifies_for_visa_easy_payment_service"]},{"dataType":"enum","enums":["transaction_unattended"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Cardholder.SpendingControls.SpendingLimit.Interval": { + "stripe.Stripe.Issuing.Dispute.Status": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["all_time"]},{"dataType":"enum","enums":["daily"]},{"dataType":"enum","enums":["monthly"]},{"dataType":"enum","enums":["per_authorization"]},{"dataType":"enum","enums":["weekly"]},{"dataType":"enum","enums":["yearly"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["expired"]},{"dataType":"enum","enums":["lost"]},{"dataType":"enum","enums":["submitted"]},{"dataType":"enum","enums":["unsubmitted"]},{"dataType":"enum","enums":["won"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Cardholder.SpendingControls.SpendingLimit": { + "stripe.Stripe.Issuing.Transaction": { "dataType": "refObject", "properties": { + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["issuing.transaction"],"required":true}, "amount": {"dataType":"double","required":true}, - "categories": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Issuing.Cardholder.SpendingControls.SpendingLimit.Category"}},{"dataType":"enum","enums":[null]}],"required":true}, - "interval": {"ref":"stripe.Stripe.Issuing.Cardholder.SpendingControls.SpendingLimit.Interval","required":true}, + "amount_details": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Transaction.AmountDetails"},{"dataType":"enum","enums":[null]}],"required":true}, + "authorization": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Issuing.Authorization"},{"dataType":"enum","enums":[null]}],"required":true}, + "balance_transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.BalanceTransaction"},{"dataType":"enum","enums":[null]}],"required":true}, + "card": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Issuing.Card"}],"required":true}, + "cardholder": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Issuing.Cardholder"},{"dataType":"enum","enums":[null]}],"required":true}, + "created": {"dataType":"double","required":true}, + "currency": {"dataType":"string","required":true}, + "dispute": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Issuing.Dispute"},{"dataType":"enum","enums":[null]}],"required":true}, + "livemode": {"dataType":"boolean","required":true}, + "merchant_amount": {"dataType":"double","required":true}, + "merchant_currency": {"dataType":"string","required":true}, + "merchant_data": {"ref":"stripe.Stripe.Issuing.Transaction.MerchantData","required":true}, + "metadata": {"ref":"stripe.Stripe.Metadata","required":true}, + "network_data": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Transaction.NetworkData"},{"dataType":"enum","enums":[null]}],"required":true}, + "purchase_details": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Transaction.PurchaseDetails"},{"dataType":"enum","enums":[null]}]}, + "token": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Issuing.Token"},{"dataType":"enum","enums":[null]}]}, + "treasury": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Transaction.Treasury"},{"dataType":"enum","enums":[null]}]}, + "type": {"ref":"stripe.Stripe.Issuing.Transaction.Type","required":true}, + "wallet": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Transaction.Wallet"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Cardholder.SpendingControls": { + "stripe.Stripe.Issuing.Dispute.Treasury": { "dataType": "refObject", "properties": { - "allowed_categories": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Issuing.Cardholder.SpendingControls.AllowedCategory"}},{"dataType":"enum","enums":[null]}],"required":true}, - "allowed_merchant_countries": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, - "blocked_categories": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Issuing.Cardholder.SpendingControls.BlockedCategory"}},{"dataType":"enum","enums":[null]}],"required":true}, - "blocked_merchant_countries": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, - "spending_limits": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Issuing.Cardholder.SpendingControls.SpendingLimit"}},{"dataType":"enum","enums":[null]}],"required":true}, - "spending_limits_currency": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "debit_reversal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "received_debit": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Cardholder.Status": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["blocked"]},{"dataType":"enum","enums":["inactive"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Cardholder.Type": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["company"]},{"dataType":"enum","enums":["individual"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Cardholder": { + "stripe.Stripe.Issuing.Dispute": { "dataType": "refObject", "properties": { "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["issuing.cardholder"],"required":true}, - "billing": {"ref":"stripe.Stripe.Issuing.Cardholder.Billing","required":true}, - "company": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Cardholder.Company"},{"dataType":"enum","enums":[null]}],"required":true}, + "object": {"dataType":"enum","enums":["issuing.dispute"],"required":true}, + "amount": {"dataType":"double","required":true}, + "balance_transactions": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.BalanceTransaction"}},{"dataType":"enum","enums":[null]}]}, "created": {"dataType":"double","required":true}, - "email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "individual": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Cardholder.Individual"},{"dataType":"enum","enums":[null]}],"required":true}, + "currency": {"dataType":"string","required":true}, + "evidence": {"ref":"stripe.Stripe.Issuing.Dispute.Evidence","required":true}, "livemode": {"dataType":"boolean","required":true}, + "loss_reason": {"ref":"stripe.Stripe.Issuing.Dispute.LossReason"}, "metadata": {"ref":"stripe.Stripe.Metadata","required":true}, - "name": {"dataType":"string","required":true}, - "phone_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "preferred_locales": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Issuing.Cardholder.PreferredLocale"}},{"dataType":"enum","enums":[null]}],"required":true}, - "requirements": {"ref":"stripe.Stripe.Issuing.Cardholder.Requirements","required":true}, - "spending_controls": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Cardholder.SpendingControls"},{"dataType":"enum","enums":[null]}],"required":true}, - "status": {"ref":"stripe.Stripe.Issuing.Cardholder.Status","required":true}, - "type": {"ref":"stripe.Stripe.Issuing.Cardholder.Type","required":true}, + "status": {"ref":"stripe.Stripe.Issuing.Dispute.Status","required":true}, + "transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Issuing.Transaction"}],"required":true}, + "treasury": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Dispute.Treasury"},{"dataType":"enum","enums":[null]}]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.PersonalizationDesign.CarrierText": { + "stripe.Stripe.Issuing.Transaction.MerchantData": { "dataType": "refObject", "properties": { - "footer_body": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "footer_title": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "header_body": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "header_title": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "category": {"dataType":"string","required":true}, + "category_code": {"dataType":"string","required":true}, + "city": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "network_id": {"dataType":"string","required":true}, + "postal_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "state": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "tax_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "terminal_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.PhysicalBundle.Features.CardLogo": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["optional"]},{"dataType":"enum","enums":["required"]},{"dataType":"enum","enums":["unsupported"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.PhysicalBundle.Features.CarrierText": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["optional"]},{"dataType":"enum","enums":["required"]},{"dataType":"enum","enums":["unsupported"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.PhysicalBundle.Features.SecondLine": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["optional"]},{"dataType":"enum","enums":["required"]},{"dataType":"enum","enums":["unsupported"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.PhysicalBundle.Features": { + "stripe.Stripe.Issuing.Transaction.NetworkData": { "dataType": "refObject", "properties": { - "card_logo": {"ref":"stripe.Stripe.Issuing.PhysicalBundle.Features.CardLogo","required":true}, - "carrier_text": {"ref":"stripe.Stripe.Issuing.PhysicalBundle.Features.CarrierText","required":true}, - "second_line": {"ref":"stripe.Stripe.Issuing.PhysicalBundle.Features.SecondLine","required":true}, + "authorization_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "processing_date": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "transaction_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.PhysicalBundle.Status": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["review"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.PhysicalBundle.Type": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["custom"]},{"dataType":"enum","enums":["standard"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.PhysicalBundle": { + "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet.CardholderPromptData": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["issuing.physical_bundle"],"required":true}, - "features": {"ref":"stripe.Stripe.Issuing.PhysicalBundle.Features","required":true}, - "livemode": {"dataType":"boolean","required":true}, - "name": {"dataType":"string","required":true}, - "status": {"ref":"stripe.Stripe.Issuing.PhysicalBundle.Status","required":true}, - "type": {"ref":"stripe.Stripe.Issuing.PhysicalBundle.Type","required":true}, + "driver_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "odometer": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "unspecified_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "user_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "vehicle_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.PersonalizationDesign.Preferences": { + "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet.ReportedBreakdown.Fuel": { "dataType": "refObject", "properties": { - "is_default": {"dataType":"boolean","required":true}, - "is_platform_default": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, + "gross_amount_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.PersonalizationDesign.RejectionReasons.CardLogo": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["geographic_location"]},{"dataType":"enum","enums":["inappropriate"]},{"dataType":"enum","enums":["network_name"]},{"dataType":"enum","enums":["non_binary_image"]},{"dataType":"enum","enums":["non_fiat_currency"]},{"dataType":"enum","enums":["other"]},{"dataType":"enum","enums":["other_entity"]},{"dataType":"enum","enums":["promotional_material"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.PersonalizationDesign.RejectionReasons.CarrierText": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["geographic_location"]},{"dataType":"enum","enums":["inappropriate"]},{"dataType":"enum","enums":["network_name"]},{"dataType":"enum","enums":["non_fiat_currency"]},{"dataType":"enum","enums":["other"]},{"dataType":"enum","enums":["other_entity"]},{"dataType":"enum","enums":["promotional_material"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.PersonalizationDesign.RejectionReasons": { + "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet.ReportedBreakdown.NonFuel": { "dataType": "refObject", "properties": { - "card_logo": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Issuing.PersonalizationDesign.RejectionReasons.CardLogo"}},{"dataType":"enum","enums":[null]}],"required":true}, - "carrier_text": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Issuing.PersonalizationDesign.RejectionReasons.CarrierText"}},{"dataType":"enum","enums":[null]}],"required":true}, + "gross_amount_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.PersonalizationDesign.Status": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["inactive"]},{"dataType":"enum","enums":["rejected"]},{"dataType":"enum","enums":["review"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.PersonalizationDesign": { + "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet.ReportedBreakdown.Tax": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["issuing.personalization_design"],"required":true}, - "card_logo": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, - "carrier_text": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.PersonalizationDesign.CarrierText"},{"dataType":"enum","enums":[null]}],"required":true}, - "created": {"dataType":"double","required":true}, - "livemode": {"dataType":"boolean","required":true}, - "lookup_key": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "metadata": {"ref":"stripe.Stripe.Metadata","required":true}, - "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "physical_bundle": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Issuing.PhysicalBundle"}],"required":true}, - "preferences": {"ref":"stripe.Stripe.Issuing.PersonalizationDesign.Preferences","required":true}, - "rejection_reasons": {"ref":"stripe.Stripe.Issuing.PersonalizationDesign.RejectionReasons","required":true}, - "status": {"ref":"stripe.Stripe.Issuing.PersonalizationDesign.Status","required":true}, + "local_amount_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "national_amount_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Card": { + "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet.ReportedBreakdown": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["issuing.card"],"required":true}, - "brand": {"dataType":"string","required":true}, - "cancellation_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Card.CancellationReason"},{"dataType":"enum","enums":[null]}],"required":true}, - "cardholder": {"ref":"stripe.Stripe.Issuing.Cardholder","required":true}, - "created": {"dataType":"double","required":true}, - "currency": {"dataType":"string","required":true}, - "cvc": {"dataType":"string"}, - "exp_month": {"dataType":"double","required":true}, - "exp_year": {"dataType":"double","required":true}, - "financial_account": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "last4": {"dataType":"string","required":true}, - "livemode": {"dataType":"boolean","required":true}, - "metadata": {"ref":"stripe.Stripe.Metadata","required":true}, - "number": {"dataType":"string"}, - "personalization_design": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Issuing.PersonalizationDesign"},{"dataType":"enum","enums":[null]}],"required":true}, - "replaced_by": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Issuing.Card"},{"dataType":"enum","enums":[null]}],"required":true}, - "replacement_for": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Issuing.Card"},{"dataType":"enum","enums":[null]}],"required":true}, - "replacement_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Card.ReplacementReason"},{"dataType":"enum","enums":[null]}],"required":true}, - "shipping": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Card.Shipping"},{"dataType":"enum","enums":[null]}],"required":true}, - "spending_controls": {"ref":"stripe.Stripe.Issuing.Card.SpendingControls","required":true}, - "status": {"ref":"stripe.Stripe.Issuing.Card.Status","required":true}, - "type": {"ref":"stripe.Stripe.Issuing.Card.Type","required":true}, - "wallets": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Card.Wallets"},{"dataType":"enum","enums":[null]}],"required":true}, + "fuel": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet.ReportedBreakdown.Fuel"},{"dataType":"enum","enums":[null]}],"required":true}, + "non_fuel": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet.ReportedBreakdown.NonFuel"},{"dataType":"enum","enums":[null]}],"required":true}, + "tax": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet.ReportedBreakdown.Tax"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Card.ReplacementReason": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["damaged"]},{"dataType":"enum","enums":["expired"]},{"dataType":"enum","enums":["lost"]},{"dataType":"enum","enums":["stolen"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Card.Shipping.AddressValidation.Mode": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["disabled"]},{"dataType":"enum","enums":["normalization_only"]},{"dataType":"enum","enums":["validation_and_normalization"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Card.Shipping.AddressValidation.Result": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["indeterminate"]},{"dataType":"enum","enums":["likely_deliverable"]},{"dataType":"enum","enums":["likely_undeliverable"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Card.Shipping.AddressValidation": { + "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet": { "dataType": "refObject", "properties": { - "mode": {"ref":"stripe.Stripe.Issuing.Card.Shipping.AddressValidation.Mode","required":true}, - "normalized_address": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Address"},{"dataType":"enum","enums":[null]}],"required":true}, - "result": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Card.Shipping.AddressValidation.Result"},{"dataType":"enum","enums":[null]}],"required":true}, + "cardholder_prompt_data": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet.CardholderPromptData"},{"dataType":"enum","enums":[null]}],"required":true}, + "purchase_type": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "reported_breakdown": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet.ReportedBreakdown"},{"dataType":"enum","enums":[null]}],"required":true}, + "service_type": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Card.Shipping.Carrier": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["dhl"]},{"dataType":"enum","enums":["fedex"]},{"dataType":"enum","enums":["royal_mail"]},{"dataType":"enum","enums":["usps"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Card.Shipping.Customs": { + "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Flight.Segment": { "dataType": "refObject", "properties": { - "eori_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "arrival_airport_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "carrier": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "departure_airport_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "flight_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "service_class": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "stopover_allowed": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Card.Shipping.Service": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["express"]},{"dataType":"enum","enums":["priority"]},{"dataType":"enum","enums":["standard"]}],"validators":{}}, + "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Flight": { + "dataType": "refObject", + "properties": { + "departure_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "passenger_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "refundable": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, + "segments": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Issuing.Transaction.PurchaseDetails.Flight.Segment"}},{"dataType":"enum","enums":[null]}],"required":true}, + "travel_agency": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Card.Shipping.Status": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["canceled"]},{"dataType":"enum","enums":["delivered"]},{"dataType":"enum","enums":["failure"]},{"dataType":"enum","enums":["pending"]},{"dataType":"enum","enums":["returned"]},{"dataType":"enum","enums":["shipped"]},{"dataType":"enum","enums":["submitted"]}],"validators":{}}, + "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fuel": { + "dataType": "refObject", + "properties": { + "industry_product_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "quantity_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "type": {"dataType":"string","required":true}, + "unit": {"dataType":"string","required":true}, + "unit_cost_decimal": {"dataType":"string","required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Card.Shipping.Type": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["bulk"]},{"dataType":"enum","enums":["individual"]}],"validators":{}}, + "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Lodging": { + "dataType": "refObject", + "properties": { + "check_in_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "nights": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Card.Shipping": { + "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Receipt": { "dataType": "refObject", "properties": { - "address": {"ref":"stripe.Stripe.Address","required":true}, - "address_validation": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Card.Shipping.AddressValidation"},{"dataType":"enum","enums":[null]}],"required":true}, - "carrier": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Card.Shipping.Carrier"},{"dataType":"enum","enums":[null]}],"required":true}, - "customs": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Card.Shipping.Customs"},{"dataType":"enum","enums":[null]}],"required":true}, - "eta": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "name": {"dataType":"string","required":true}, - "phone_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "require_signature": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, - "service": {"ref":"stripe.Stripe.Issuing.Card.Shipping.Service","required":true}, - "status": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Card.Shipping.Status"},{"dataType":"enum","enums":[null]}],"required":true}, - "tracking_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "tracking_url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "type": {"ref":"stripe.Stripe.Issuing.Card.Shipping.Type","required":true}, + "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "quantity": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "total": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "unit_cost": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Card.SpendingControls.AllowedCategory": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["ac_refrigeration_repair"]},{"dataType":"enum","enums":["accounting_bookkeeping_services"]},{"dataType":"enum","enums":["advertising_services"]},{"dataType":"enum","enums":["agricultural_cooperative"]},{"dataType":"enum","enums":["airlines_air_carriers"]},{"dataType":"enum","enums":["airports_flying_fields"]},{"dataType":"enum","enums":["ambulance_services"]},{"dataType":"enum","enums":["amusement_parks_carnivals"]},{"dataType":"enum","enums":["antique_reproductions"]},{"dataType":"enum","enums":["antique_shops"]},{"dataType":"enum","enums":["aquariums"]},{"dataType":"enum","enums":["architectural_surveying_services"]},{"dataType":"enum","enums":["art_dealers_and_galleries"]},{"dataType":"enum","enums":["artists_supply_and_craft_shops"]},{"dataType":"enum","enums":["auto_and_home_supply_stores"]},{"dataType":"enum","enums":["auto_body_repair_shops"]},{"dataType":"enum","enums":["auto_paint_shops"]},{"dataType":"enum","enums":["auto_service_shops"]},{"dataType":"enum","enums":["automated_cash_disburse"]},{"dataType":"enum","enums":["automated_fuel_dispensers"]},{"dataType":"enum","enums":["automobile_associations"]},{"dataType":"enum","enums":["automotive_parts_and_accessories_stores"]},{"dataType":"enum","enums":["automotive_tire_stores"]},{"dataType":"enum","enums":["bail_and_bond_payments"]},{"dataType":"enum","enums":["bakeries"]},{"dataType":"enum","enums":["bands_orchestras"]},{"dataType":"enum","enums":["barber_and_beauty_shops"]},{"dataType":"enum","enums":["betting_casino_gambling"]},{"dataType":"enum","enums":["bicycle_shops"]},{"dataType":"enum","enums":["billiard_pool_establishments"]},{"dataType":"enum","enums":["boat_dealers"]},{"dataType":"enum","enums":["boat_rentals_and_leases"]},{"dataType":"enum","enums":["book_stores"]},{"dataType":"enum","enums":["books_periodicals_and_newspapers"]},{"dataType":"enum","enums":["bowling_alleys"]},{"dataType":"enum","enums":["bus_lines"]},{"dataType":"enum","enums":["business_secretarial_schools"]},{"dataType":"enum","enums":["buying_shopping_services"]},{"dataType":"enum","enums":["cable_satellite_and_other_pay_television_and_radio"]},{"dataType":"enum","enums":["camera_and_photographic_supply_stores"]},{"dataType":"enum","enums":["candy_nut_and_confectionery_stores"]},{"dataType":"enum","enums":["car_and_truck_dealers_new_used"]},{"dataType":"enum","enums":["car_and_truck_dealers_used_only"]},{"dataType":"enum","enums":["car_rental_agencies"]},{"dataType":"enum","enums":["car_washes"]},{"dataType":"enum","enums":["carpentry_services"]},{"dataType":"enum","enums":["carpet_upholstery_cleaning"]},{"dataType":"enum","enums":["caterers"]},{"dataType":"enum","enums":["charitable_and_social_service_organizations_fundraising"]},{"dataType":"enum","enums":["chemicals_and_allied_products"]},{"dataType":"enum","enums":["child_care_services"]},{"dataType":"enum","enums":["childrens_and_infants_wear_stores"]},{"dataType":"enum","enums":["chiropodists_podiatrists"]},{"dataType":"enum","enums":["chiropractors"]},{"dataType":"enum","enums":["cigar_stores_and_stands"]},{"dataType":"enum","enums":["civic_social_fraternal_associations"]},{"dataType":"enum","enums":["cleaning_and_maintenance"]},{"dataType":"enum","enums":["clothing_rental"]},{"dataType":"enum","enums":["colleges_universities"]},{"dataType":"enum","enums":["commercial_equipment"]},{"dataType":"enum","enums":["commercial_footwear"]},{"dataType":"enum","enums":["commercial_photography_art_and_graphics"]},{"dataType":"enum","enums":["commuter_transport_and_ferries"]},{"dataType":"enum","enums":["computer_network_services"]},{"dataType":"enum","enums":["computer_programming"]},{"dataType":"enum","enums":["computer_repair"]},{"dataType":"enum","enums":["computer_software_stores"]},{"dataType":"enum","enums":["computers_peripherals_and_software"]},{"dataType":"enum","enums":["concrete_work_services"]},{"dataType":"enum","enums":["construction_materials"]},{"dataType":"enum","enums":["consulting_public_relations"]},{"dataType":"enum","enums":["correspondence_schools"]},{"dataType":"enum","enums":["cosmetic_stores"]},{"dataType":"enum","enums":["counseling_services"]},{"dataType":"enum","enums":["country_clubs"]},{"dataType":"enum","enums":["courier_services"]},{"dataType":"enum","enums":["court_costs"]},{"dataType":"enum","enums":["credit_reporting_agencies"]},{"dataType":"enum","enums":["cruise_lines"]},{"dataType":"enum","enums":["dairy_products_stores"]},{"dataType":"enum","enums":["dance_hall_studios_schools"]},{"dataType":"enum","enums":["dating_escort_services"]},{"dataType":"enum","enums":["dentists_orthodontists"]},{"dataType":"enum","enums":["department_stores"]},{"dataType":"enum","enums":["detective_agencies"]},{"dataType":"enum","enums":["digital_goods_applications"]},{"dataType":"enum","enums":["digital_goods_games"]},{"dataType":"enum","enums":["digital_goods_large_volume"]},{"dataType":"enum","enums":["digital_goods_media"]},{"dataType":"enum","enums":["direct_marketing_catalog_merchant"]},{"dataType":"enum","enums":["direct_marketing_combination_catalog_and_retail_merchant"]},{"dataType":"enum","enums":["direct_marketing_inbound_telemarketing"]},{"dataType":"enum","enums":["direct_marketing_insurance_services"]},{"dataType":"enum","enums":["direct_marketing_other"]},{"dataType":"enum","enums":["direct_marketing_outbound_telemarketing"]},{"dataType":"enum","enums":["direct_marketing_subscription"]},{"dataType":"enum","enums":["direct_marketing_travel"]},{"dataType":"enum","enums":["discount_stores"]},{"dataType":"enum","enums":["doctors"]},{"dataType":"enum","enums":["door_to_door_sales"]},{"dataType":"enum","enums":["drapery_window_covering_and_upholstery_stores"]},{"dataType":"enum","enums":["drinking_places"]},{"dataType":"enum","enums":["drug_stores_and_pharmacies"]},{"dataType":"enum","enums":["drugs_drug_proprietaries_and_druggist_sundries"]},{"dataType":"enum","enums":["dry_cleaners"]},{"dataType":"enum","enums":["durable_goods"]},{"dataType":"enum","enums":["duty_free_stores"]},{"dataType":"enum","enums":["eating_places_restaurants"]},{"dataType":"enum","enums":["educational_services"]},{"dataType":"enum","enums":["electric_razor_stores"]},{"dataType":"enum","enums":["electric_vehicle_charging"]},{"dataType":"enum","enums":["electrical_parts_and_equipment"]},{"dataType":"enum","enums":["electrical_services"]},{"dataType":"enum","enums":["electronics_repair_shops"]},{"dataType":"enum","enums":["electronics_stores"]},{"dataType":"enum","enums":["elementary_secondary_schools"]},{"dataType":"enum","enums":["emergency_services_gcas_visa_use_only"]},{"dataType":"enum","enums":["employment_temp_agencies"]},{"dataType":"enum","enums":["equipment_rental"]},{"dataType":"enum","enums":["exterminating_services"]},{"dataType":"enum","enums":["family_clothing_stores"]},{"dataType":"enum","enums":["fast_food_restaurants"]},{"dataType":"enum","enums":["financial_institutions"]},{"dataType":"enum","enums":["fines_government_administrative_entities"]},{"dataType":"enum","enums":["fireplace_fireplace_screens_and_accessories_stores"]},{"dataType":"enum","enums":["floor_covering_stores"]},{"dataType":"enum","enums":["florists"]},{"dataType":"enum","enums":["florists_supplies_nursery_stock_and_flowers"]},{"dataType":"enum","enums":["freezer_and_locker_meat_provisioners"]},{"dataType":"enum","enums":["fuel_dealers_non_automotive"]},{"dataType":"enum","enums":["funeral_services_crematories"]},{"dataType":"enum","enums":["furniture_home_furnishings_and_equipment_stores_except_appliances"]},{"dataType":"enum","enums":["furniture_repair_refinishing"]},{"dataType":"enum","enums":["furriers_and_fur_shops"]},{"dataType":"enum","enums":["general_services"]},{"dataType":"enum","enums":["gift_card_novelty_and_souvenir_shops"]},{"dataType":"enum","enums":["glass_paint_and_wallpaper_stores"]},{"dataType":"enum","enums":["glassware_crystal_stores"]},{"dataType":"enum","enums":["golf_courses_public"]},{"dataType":"enum","enums":["government_licensed_horse_dog_racing_us_region_only"]},{"dataType":"enum","enums":["government_licensed_online_casions_online_gambling_us_region_only"]},{"dataType":"enum","enums":["government_owned_lotteries_non_us_region"]},{"dataType":"enum","enums":["government_owned_lotteries_us_region_only"]},{"dataType":"enum","enums":["government_services"]},{"dataType":"enum","enums":["grocery_stores_supermarkets"]},{"dataType":"enum","enums":["hardware_equipment_and_supplies"]},{"dataType":"enum","enums":["hardware_stores"]},{"dataType":"enum","enums":["health_and_beauty_spas"]},{"dataType":"enum","enums":["hearing_aids_sales_and_supplies"]},{"dataType":"enum","enums":["heating_plumbing_a_c"]},{"dataType":"enum","enums":["hobby_toy_and_game_shops"]},{"dataType":"enum","enums":["home_supply_warehouse_stores"]},{"dataType":"enum","enums":["hospitals"]},{"dataType":"enum","enums":["hotels_motels_and_resorts"]},{"dataType":"enum","enums":["household_appliance_stores"]},{"dataType":"enum","enums":["industrial_supplies"]},{"dataType":"enum","enums":["information_retrieval_services"]},{"dataType":"enum","enums":["insurance_default"]},{"dataType":"enum","enums":["insurance_underwriting_premiums"]},{"dataType":"enum","enums":["intra_company_purchases"]},{"dataType":"enum","enums":["jewelry_stores_watches_clocks_and_silverware_stores"]},{"dataType":"enum","enums":["landscaping_services"]},{"dataType":"enum","enums":["laundries"]},{"dataType":"enum","enums":["laundry_cleaning_services"]},{"dataType":"enum","enums":["legal_services_attorneys"]},{"dataType":"enum","enums":["luggage_and_leather_goods_stores"]},{"dataType":"enum","enums":["lumber_building_materials_stores"]},{"dataType":"enum","enums":["manual_cash_disburse"]},{"dataType":"enum","enums":["marinas_service_and_supplies"]},{"dataType":"enum","enums":["marketplaces"]},{"dataType":"enum","enums":["masonry_stonework_and_plaster"]},{"dataType":"enum","enums":["massage_parlors"]},{"dataType":"enum","enums":["medical_and_dental_labs"]},{"dataType":"enum","enums":["medical_dental_ophthalmic_and_hospital_equipment_and_supplies"]},{"dataType":"enum","enums":["medical_services"]},{"dataType":"enum","enums":["membership_organizations"]},{"dataType":"enum","enums":["mens_and_boys_clothing_and_accessories_stores"]},{"dataType":"enum","enums":["mens_womens_clothing_stores"]},{"dataType":"enum","enums":["metal_service_centers"]},{"dataType":"enum","enums":["miscellaneous"]},{"dataType":"enum","enums":["miscellaneous_apparel_and_accessory_shops"]},{"dataType":"enum","enums":["miscellaneous_auto_dealers"]},{"dataType":"enum","enums":["miscellaneous_business_services"]},{"dataType":"enum","enums":["miscellaneous_food_stores"]},{"dataType":"enum","enums":["miscellaneous_general_merchandise"]},{"dataType":"enum","enums":["miscellaneous_general_services"]},{"dataType":"enum","enums":["miscellaneous_home_furnishing_specialty_stores"]},{"dataType":"enum","enums":["miscellaneous_publishing_and_printing"]},{"dataType":"enum","enums":["miscellaneous_recreation_services"]},{"dataType":"enum","enums":["miscellaneous_repair_shops"]},{"dataType":"enum","enums":["miscellaneous_specialty_retail"]},{"dataType":"enum","enums":["mobile_home_dealers"]},{"dataType":"enum","enums":["motion_picture_theaters"]},{"dataType":"enum","enums":["motor_freight_carriers_and_trucking"]},{"dataType":"enum","enums":["motor_homes_dealers"]},{"dataType":"enum","enums":["motor_vehicle_supplies_and_new_parts"]},{"dataType":"enum","enums":["motorcycle_shops_and_dealers"]},{"dataType":"enum","enums":["motorcycle_shops_dealers"]},{"dataType":"enum","enums":["music_stores_musical_instruments_pianos_and_sheet_music"]},{"dataType":"enum","enums":["news_dealers_and_newsstands"]},{"dataType":"enum","enums":["non_fi_money_orders"]},{"dataType":"enum","enums":["non_fi_stored_value_card_purchase_load"]},{"dataType":"enum","enums":["nondurable_goods"]},{"dataType":"enum","enums":["nurseries_lawn_and_garden_supply_stores"]},{"dataType":"enum","enums":["nursing_personal_care"]},{"dataType":"enum","enums":["office_and_commercial_furniture"]},{"dataType":"enum","enums":["opticians_eyeglasses"]},{"dataType":"enum","enums":["optometrists_ophthalmologist"]},{"dataType":"enum","enums":["orthopedic_goods_prosthetic_devices"]},{"dataType":"enum","enums":["osteopaths"]},{"dataType":"enum","enums":["package_stores_beer_wine_and_liquor"]},{"dataType":"enum","enums":["paints_varnishes_and_supplies"]},{"dataType":"enum","enums":["parking_lots_garages"]},{"dataType":"enum","enums":["passenger_railways"]},{"dataType":"enum","enums":["pawn_shops"]},{"dataType":"enum","enums":["pet_shops_pet_food_and_supplies"]},{"dataType":"enum","enums":["petroleum_and_petroleum_products"]},{"dataType":"enum","enums":["photo_developing"]},{"dataType":"enum","enums":["photographic_photocopy_microfilm_equipment_and_supplies"]},{"dataType":"enum","enums":["photographic_studios"]},{"dataType":"enum","enums":["picture_video_production"]},{"dataType":"enum","enums":["piece_goods_notions_and_other_dry_goods"]},{"dataType":"enum","enums":["plumbing_heating_equipment_and_supplies"]},{"dataType":"enum","enums":["political_organizations"]},{"dataType":"enum","enums":["postal_services_government_only"]},{"dataType":"enum","enums":["precious_stones_and_metals_watches_and_jewelry"]},{"dataType":"enum","enums":["professional_services"]},{"dataType":"enum","enums":["public_warehousing_and_storage"]},{"dataType":"enum","enums":["quick_copy_repro_and_blueprint"]},{"dataType":"enum","enums":["railroads"]},{"dataType":"enum","enums":["real_estate_agents_and_managers_rentals"]},{"dataType":"enum","enums":["record_stores"]},{"dataType":"enum","enums":["recreational_vehicle_rentals"]},{"dataType":"enum","enums":["religious_goods_stores"]},{"dataType":"enum","enums":["religious_organizations"]},{"dataType":"enum","enums":["roofing_siding_sheet_metal"]},{"dataType":"enum","enums":["secretarial_support_services"]},{"dataType":"enum","enums":["security_brokers_dealers"]},{"dataType":"enum","enums":["service_stations"]},{"dataType":"enum","enums":["sewing_needlework_fabric_and_piece_goods_stores"]},{"dataType":"enum","enums":["shoe_repair_hat_cleaning"]},{"dataType":"enum","enums":["shoe_stores"]},{"dataType":"enum","enums":["small_appliance_repair"]},{"dataType":"enum","enums":["snowmobile_dealers"]},{"dataType":"enum","enums":["special_trade_services"]},{"dataType":"enum","enums":["specialty_cleaning"]},{"dataType":"enum","enums":["sporting_goods_stores"]},{"dataType":"enum","enums":["sporting_recreation_camps"]},{"dataType":"enum","enums":["sports_and_riding_apparel_stores"]},{"dataType":"enum","enums":["sports_clubs_fields"]},{"dataType":"enum","enums":["stamp_and_coin_stores"]},{"dataType":"enum","enums":["stationary_office_supplies_printing_and_writing_paper"]},{"dataType":"enum","enums":["stationery_stores_office_and_school_supply_stores"]},{"dataType":"enum","enums":["swimming_pools_sales"]},{"dataType":"enum","enums":["t_ui_travel_germany"]},{"dataType":"enum","enums":["tailors_alterations"]},{"dataType":"enum","enums":["tax_payments_government_agencies"]},{"dataType":"enum","enums":["tax_preparation_services"]},{"dataType":"enum","enums":["taxicabs_limousines"]},{"dataType":"enum","enums":["telecommunication_equipment_and_telephone_sales"]},{"dataType":"enum","enums":["telecommunication_services"]},{"dataType":"enum","enums":["telegraph_services"]},{"dataType":"enum","enums":["tent_and_awning_shops"]},{"dataType":"enum","enums":["testing_laboratories"]},{"dataType":"enum","enums":["theatrical_ticket_agencies"]},{"dataType":"enum","enums":["timeshares"]},{"dataType":"enum","enums":["tire_retreading_and_repair"]},{"dataType":"enum","enums":["tolls_bridge_fees"]},{"dataType":"enum","enums":["tourist_attractions_and_exhibits"]},{"dataType":"enum","enums":["towing_services"]},{"dataType":"enum","enums":["trailer_parks_campgrounds"]},{"dataType":"enum","enums":["transportation_services"]},{"dataType":"enum","enums":["travel_agencies_tour_operators"]},{"dataType":"enum","enums":["truck_stop_iteration"]},{"dataType":"enum","enums":["truck_utility_trailer_rentals"]},{"dataType":"enum","enums":["typesetting_plate_making_and_related_services"]},{"dataType":"enum","enums":["typewriter_stores"]},{"dataType":"enum","enums":["u_s_federal_government_agencies_or_departments"]},{"dataType":"enum","enums":["uniforms_commercial_clothing"]},{"dataType":"enum","enums":["used_merchandise_and_secondhand_stores"]},{"dataType":"enum","enums":["utilities"]},{"dataType":"enum","enums":["variety_stores"]},{"dataType":"enum","enums":["veterinary_services"]},{"dataType":"enum","enums":["video_amusement_game_supplies"]},{"dataType":"enum","enums":["video_game_arcades"]},{"dataType":"enum","enums":["video_tape_rental_stores"]},{"dataType":"enum","enums":["vocational_trade_schools"]},{"dataType":"enum","enums":["watch_jewelry_repair"]},{"dataType":"enum","enums":["welding_repair"]},{"dataType":"enum","enums":["wholesale_clubs"]},{"dataType":"enum","enums":["wig_and_toupee_stores"]},{"dataType":"enum","enums":["wires_money_orders"]},{"dataType":"enum","enums":["womens_accessory_and_specialty_shops"]},{"dataType":"enum","enums":["womens_ready_to_wear_stores"]},{"dataType":"enum","enums":["wrecking_and_salvage_yards"]}],"validators":{}}, + "stripe.Stripe.Issuing.Transaction.PurchaseDetails": { + "dataType": "refObject", + "properties": { + "fleet": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet"},{"dataType":"enum","enums":[null]}],"required":true}, + "flight": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Transaction.PurchaseDetails.Flight"},{"dataType":"enum","enums":[null]}],"required":true}, + "fuel": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fuel"},{"dataType":"enum","enums":[null]}],"required":true}, + "lodging": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Transaction.PurchaseDetails.Lodging"},{"dataType":"enum","enums":[null]}],"required":true}, + "receipt": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Issuing.Transaction.PurchaseDetails.Receipt"}},{"dataType":"enum","enums":[null]}],"required":true}, + "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Card.SpendingControls.BlockedCategory": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["ac_refrigeration_repair"]},{"dataType":"enum","enums":["accounting_bookkeeping_services"]},{"dataType":"enum","enums":["advertising_services"]},{"dataType":"enum","enums":["agricultural_cooperative"]},{"dataType":"enum","enums":["airlines_air_carriers"]},{"dataType":"enum","enums":["airports_flying_fields"]},{"dataType":"enum","enums":["ambulance_services"]},{"dataType":"enum","enums":["amusement_parks_carnivals"]},{"dataType":"enum","enums":["antique_reproductions"]},{"dataType":"enum","enums":["antique_shops"]},{"dataType":"enum","enums":["aquariums"]},{"dataType":"enum","enums":["architectural_surveying_services"]},{"dataType":"enum","enums":["art_dealers_and_galleries"]},{"dataType":"enum","enums":["artists_supply_and_craft_shops"]},{"dataType":"enum","enums":["auto_and_home_supply_stores"]},{"dataType":"enum","enums":["auto_body_repair_shops"]},{"dataType":"enum","enums":["auto_paint_shops"]},{"dataType":"enum","enums":["auto_service_shops"]},{"dataType":"enum","enums":["automated_cash_disburse"]},{"dataType":"enum","enums":["automated_fuel_dispensers"]},{"dataType":"enum","enums":["automobile_associations"]},{"dataType":"enum","enums":["automotive_parts_and_accessories_stores"]},{"dataType":"enum","enums":["automotive_tire_stores"]},{"dataType":"enum","enums":["bail_and_bond_payments"]},{"dataType":"enum","enums":["bakeries"]},{"dataType":"enum","enums":["bands_orchestras"]},{"dataType":"enum","enums":["barber_and_beauty_shops"]},{"dataType":"enum","enums":["betting_casino_gambling"]},{"dataType":"enum","enums":["bicycle_shops"]},{"dataType":"enum","enums":["billiard_pool_establishments"]},{"dataType":"enum","enums":["boat_dealers"]},{"dataType":"enum","enums":["boat_rentals_and_leases"]},{"dataType":"enum","enums":["book_stores"]},{"dataType":"enum","enums":["books_periodicals_and_newspapers"]},{"dataType":"enum","enums":["bowling_alleys"]},{"dataType":"enum","enums":["bus_lines"]},{"dataType":"enum","enums":["business_secretarial_schools"]},{"dataType":"enum","enums":["buying_shopping_services"]},{"dataType":"enum","enums":["cable_satellite_and_other_pay_television_and_radio"]},{"dataType":"enum","enums":["camera_and_photographic_supply_stores"]},{"dataType":"enum","enums":["candy_nut_and_confectionery_stores"]},{"dataType":"enum","enums":["car_and_truck_dealers_new_used"]},{"dataType":"enum","enums":["car_and_truck_dealers_used_only"]},{"dataType":"enum","enums":["car_rental_agencies"]},{"dataType":"enum","enums":["car_washes"]},{"dataType":"enum","enums":["carpentry_services"]},{"dataType":"enum","enums":["carpet_upholstery_cleaning"]},{"dataType":"enum","enums":["caterers"]},{"dataType":"enum","enums":["charitable_and_social_service_organizations_fundraising"]},{"dataType":"enum","enums":["chemicals_and_allied_products"]},{"dataType":"enum","enums":["child_care_services"]},{"dataType":"enum","enums":["childrens_and_infants_wear_stores"]},{"dataType":"enum","enums":["chiropodists_podiatrists"]},{"dataType":"enum","enums":["chiropractors"]},{"dataType":"enum","enums":["cigar_stores_and_stands"]},{"dataType":"enum","enums":["civic_social_fraternal_associations"]},{"dataType":"enum","enums":["cleaning_and_maintenance"]},{"dataType":"enum","enums":["clothing_rental"]},{"dataType":"enum","enums":["colleges_universities"]},{"dataType":"enum","enums":["commercial_equipment"]},{"dataType":"enum","enums":["commercial_footwear"]},{"dataType":"enum","enums":["commercial_photography_art_and_graphics"]},{"dataType":"enum","enums":["commuter_transport_and_ferries"]},{"dataType":"enum","enums":["computer_network_services"]},{"dataType":"enum","enums":["computer_programming"]},{"dataType":"enum","enums":["computer_repair"]},{"dataType":"enum","enums":["computer_software_stores"]},{"dataType":"enum","enums":["computers_peripherals_and_software"]},{"dataType":"enum","enums":["concrete_work_services"]},{"dataType":"enum","enums":["construction_materials"]},{"dataType":"enum","enums":["consulting_public_relations"]},{"dataType":"enum","enums":["correspondence_schools"]},{"dataType":"enum","enums":["cosmetic_stores"]},{"dataType":"enum","enums":["counseling_services"]},{"dataType":"enum","enums":["country_clubs"]},{"dataType":"enum","enums":["courier_services"]},{"dataType":"enum","enums":["court_costs"]},{"dataType":"enum","enums":["credit_reporting_agencies"]},{"dataType":"enum","enums":["cruise_lines"]},{"dataType":"enum","enums":["dairy_products_stores"]},{"dataType":"enum","enums":["dance_hall_studios_schools"]},{"dataType":"enum","enums":["dating_escort_services"]},{"dataType":"enum","enums":["dentists_orthodontists"]},{"dataType":"enum","enums":["department_stores"]},{"dataType":"enum","enums":["detective_agencies"]},{"dataType":"enum","enums":["digital_goods_applications"]},{"dataType":"enum","enums":["digital_goods_games"]},{"dataType":"enum","enums":["digital_goods_large_volume"]},{"dataType":"enum","enums":["digital_goods_media"]},{"dataType":"enum","enums":["direct_marketing_catalog_merchant"]},{"dataType":"enum","enums":["direct_marketing_combination_catalog_and_retail_merchant"]},{"dataType":"enum","enums":["direct_marketing_inbound_telemarketing"]},{"dataType":"enum","enums":["direct_marketing_insurance_services"]},{"dataType":"enum","enums":["direct_marketing_other"]},{"dataType":"enum","enums":["direct_marketing_outbound_telemarketing"]},{"dataType":"enum","enums":["direct_marketing_subscription"]},{"dataType":"enum","enums":["direct_marketing_travel"]},{"dataType":"enum","enums":["discount_stores"]},{"dataType":"enum","enums":["doctors"]},{"dataType":"enum","enums":["door_to_door_sales"]},{"dataType":"enum","enums":["drapery_window_covering_and_upholstery_stores"]},{"dataType":"enum","enums":["drinking_places"]},{"dataType":"enum","enums":["drug_stores_and_pharmacies"]},{"dataType":"enum","enums":["drugs_drug_proprietaries_and_druggist_sundries"]},{"dataType":"enum","enums":["dry_cleaners"]},{"dataType":"enum","enums":["durable_goods"]},{"dataType":"enum","enums":["duty_free_stores"]},{"dataType":"enum","enums":["eating_places_restaurants"]},{"dataType":"enum","enums":["educational_services"]},{"dataType":"enum","enums":["electric_razor_stores"]},{"dataType":"enum","enums":["electric_vehicle_charging"]},{"dataType":"enum","enums":["electrical_parts_and_equipment"]},{"dataType":"enum","enums":["electrical_services"]},{"dataType":"enum","enums":["electronics_repair_shops"]},{"dataType":"enum","enums":["electronics_stores"]},{"dataType":"enum","enums":["elementary_secondary_schools"]},{"dataType":"enum","enums":["emergency_services_gcas_visa_use_only"]},{"dataType":"enum","enums":["employment_temp_agencies"]},{"dataType":"enum","enums":["equipment_rental"]},{"dataType":"enum","enums":["exterminating_services"]},{"dataType":"enum","enums":["family_clothing_stores"]},{"dataType":"enum","enums":["fast_food_restaurants"]},{"dataType":"enum","enums":["financial_institutions"]},{"dataType":"enum","enums":["fines_government_administrative_entities"]},{"dataType":"enum","enums":["fireplace_fireplace_screens_and_accessories_stores"]},{"dataType":"enum","enums":["floor_covering_stores"]},{"dataType":"enum","enums":["florists"]},{"dataType":"enum","enums":["florists_supplies_nursery_stock_and_flowers"]},{"dataType":"enum","enums":["freezer_and_locker_meat_provisioners"]},{"dataType":"enum","enums":["fuel_dealers_non_automotive"]},{"dataType":"enum","enums":["funeral_services_crematories"]},{"dataType":"enum","enums":["furniture_home_furnishings_and_equipment_stores_except_appliances"]},{"dataType":"enum","enums":["furniture_repair_refinishing"]},{"dataType":"enum","enums":["furriers_and_fur_shops"]},{"dataType":"enum","enums":["general_services"]},{"dataType":"enum","enums":["gift_card_novelty_and_souvenir_shops"]},{"dataType":"enum","enums":["glass_paint_and_wallpaper_stores"]},{"dataType":"enum","enums":["glassware_crystal_stores"]},{"dataType":"enum","enums":["golf_courses_public"]},{"dataType":"enum","enums":["government_licensed_horse_dog_racing_us_region_only"]},{"dataType":"enum","enums":["government_licensed_online_casions_online_gambling_us_region_only"]},{"dataType":"enum","enums":["government_owned_lotteries_non_us_region"]},{"dataType":"enum","enums":["government_owned_lotteries_us_region_only"]},{"dataType":"enum","enums":["government_services"]},{"dataType":"enum","enums":["grocery_stores_supermarkets"]},{"dataType":"enum","enums":["hardware_equipment_and_supplies"]},{"dataType":"enum","enums":["hardware_stores"]},{"dataType":"enum","enums":["health_and_beauty_spas"]},{"dataType":"enum","enums":["hearing_aids_sales_and_supplies"]},{"dataType":"enum","enums":["heating_plumbing_a_c"]},{"dataType":"enum","enums":["hobby_toy_and_game_shops"]},{"dataType":"enum","enums":["home_supply_warehouse_stores"]},{"dataType":"enum","enums":["hospitals"]},{"dataType":"enum","enums":["hotels_motels_and_resorts"]},{"dataType":"enum","enums":["household_appliance_stores"]},{"dataType":"enum","enums":["industrial_supplies"]},{"dataType":"enum","enums":["information_retrieval_services"]},{"dataType":"enum","enums":["insurance_default"]},{"dataType":"enum","enums":["insurance_underwriting_premiums"]},{"dataType":"enum","enums":["intra_company_purchases"]},{"dataType":"enum","enums":["jewelry_stores_watches_clocks_and_silverware_stores"]},{"dataType":"enum","enums":["landscaping_services"]},{"dataType":"enum","enums":["laundries"]},{"dataType":"enum","enums":["laundry_cleaning_services"]},{"dataType":"enum","enums":["legal_services_attorneys"]},{"dataType":"enum","enums":["luggage_and_leather_goods_stores"]},{"dataType":"enum","enums":["lumber_building_materials_stores"]},{"dataType":"enum","enums":["manual_cash_disburse"]},{"dataType":"enum","enums":["marinas_service_and_supplies"]},{"dataType":"enum","enums":["marketplaces"]},{"dataType":"enum","enums":["masonry_stonework_and_plaster"]},{"dataType":"enum","enums":["massage_parlors"]},{"dataType":"enum","enums":["medical_and_dental_labs"]},{"dataType":"enum","enums":["medical_dental_ophthalmic_and_hospital_equipment_and_supplies"]},{"dataType":"enum","enums":["medical_services"]},{"dataType":"enum","enums":["membership_organizations"]},{"dataType":"enum","enums":["mens_and_boys_clothing_and_accessories_stores"]},{"dataType":"enum","enums":["mens_womens_clothing_stores"]},{"dataType":"enum","enums":["metal_service_centers"]},{"dataType":"enum","enums":["miscellaneous"]},{"dataType":"enum","enums":["miscellaneous_apparel_and_accessory_shops"]},{"dataType":"enum","enums":["miscellaneous_auto_dealers"]},{"dataType":"enum","enums":["miscellaneous_business_services"]},{"dataType":"enum","enums":["miscellaneous_food_stores"]},{"dataType":"enum","enums":["miscellaneous_general_merchandise"]},{"dataType":"enum","enums":["miscellaneous_general_services"]},{"dataType":"enum","enums":["miscellaneous_home_furnishing_specialty_stores"]},{"dataType":"enum","enums":["miscellaneous_publishing_and_printing"]},{"dataType":"enum","enums":["miscellaneous_recreation_services"]},{"dataType":"enum","enums":["miscellaneous_repair_shops"]},{"dataType":"enum","enums":["miscellaneous_specialty_retail"]},{"dataType":"enum","enums":["mobile_home_dealers"]},{"dataType":"enum","enums":["motion_picture_theaters"]},{"dataType":"enum","enums":["motor_freight_carriers_and_trucking"]},{"dataType":"enum","enums":["motor_homes_dealers"]},{"dataType":"enum","enums":["motor_vehicle_supplies_and_new_parts"]},{"dataType":"enum","enums":["motorcycle_shops_and_dealers"]},{"dataType":"enum","enums":["motorcycle_shops_dealers"]},{"dataType":"enum","enums":["music_stores_musical_instruments_pianos_and_sheet_music"]},{"dataType":"enum","enums":["news_dealers_and_newsstands"]},{"dataType":"enum","enums":["non_fi_money_orders"]},{"dataType":"enum","enums":["non_fi_stored_value_card_purchase_load"]},{"dataType":"enum","enums":["nondurable_goods"]},{"dataType":"enum","enums":["nurseries_lawn_and_garden_supply_stores"]},{"dataType":"enum","enums":["nursing_personal_care"]},{"dataType":"enum","enums":["office_and_commercial_furniture"]},{"dataType":"enum","enums":["opticians_eyeglasses"]},{"dataType":"enum","enums":["optometrists_ophthalmologist"]},{"dataType":"enum","enums":["orthopedic_goods_prosthetic_devices"]},{"dataType":"enum","enums":["osteopaths"]},{"dataType":"enum","enums":["package_stores_beer_wine_and_liquor"]},{"dataType":"enum","enums":["paints_varnishes_and_supplies"]},{"dataType":"enum","enums":["parking_lots_garages"]},{"dataType":"enum","enums":["passenger_railways"]},{"dataType":"enum","enums":["pawn_shops"]},{"dataType":"enum","enums":["pet_shops_pet_food_and_supplies"]},{"dataType":"enum","enums":["petroleum_and_petroleum_products"]},{"dataType":"enum","enums":["photo_developing"]},{"dataType":"enum","enums":["photographic_photocopy_microfilm_equipment_and_supplies"]},{"dataType":"enum","enums":["photographic_studios"]},{"dataType":"enum","enums":["picture_video_production"]},{"dataType":"enum","enums":["piece_goods_notions_and_other_dry_goods"]},{"dataType":"enum","enums":["plumbing_heating_equipment_and_supplies"]},{"dataType":"enum","enums":["political_organizations"]},{"dataType":"enum","enums":["postal_services_government_only"]},{"dataType":"enum","enums":["precious_stones_and_metals_watches_and_jewelry"]},{"dataType":"enum","enums":["professional_services"]},{"dataType":"enum","enums":["public_warehousing_and_storage"]},{"dataType":"enum","enums":["quick_copy_repro_and_blueprint"]},{"dataType":"enum","enums":["railroads"]},{"dataType":"enum","enums":["real_estate_agents_and_managers_rentals"]},{"dataType":"enum","enums":["record_stores"]},{"dataType":"enum","enums":["recreational_vehicle_rentals"]},{"dataType":"enum","enums":["religious_goods_stores"]},{"dataType":"enum","enums":["religious_organizations"]},{"dataType":"enum","enums":["roofing_siding_sheet_metal"]},{"dataType":"enum","enums":["secretarial_support_services"]},{"dataType":"enum","enums":["security_brokers_dealers"]},{"dataType":"enum","enums":["service_stations"]},{"dataType":"enum","enums":["sewing_needlework_fabric_and_piece_goods_stores"]},{"dataType":"enum","enums":["shoe_repair_hat_cleaning"]},{"dataType":"enum","enums":["shoe_stores"]},{"dataType":"enum","enums":["small_appliance_repair"]},{"dataType":"enum","enums":["snowmobile_dealers"]},{"dataType":"enum","enums":["special_trade_services"]},{"dataType":"enum","enums":["specialty_cleaning"]},{"dataType":"enum","enums":["sporting_goods_stores"]},{"dataType":"enum","enums":["sporting_recreation_camps"]},{"dataType":"enum","enums":["sports_and_riding_apparel_stores"]},{"dataType":"enum","enums":["sports_clubs_fields"]},{"dataType":"enum","enums":["stamp_and_coin_stores"]},{"dataType":"enum","enums":["stationary_office_supplies_printing_and_writing_paper"]},{"dataType":"enum","enums":["stationery_stores_office_and_school_supply_stores"]},{"dataType":"enum","enums":["swimming_pools_sales"]},{"dataType":"enum","enums":["t_ui_travel_germany"]},{"dataType":"enum","enums":["tailors_alterations"]},{"dataType":"enum","enums":["tax_payments_government_agencies"]},{"dataType":"enum","enums":["tax_preparation_services"]},{"dataType":"enum","enums":["taxicabs_limousines"]},{"dataType":"enum","enums":["telecommunication_equipment_and_telephone_sales"]},{"dataType":"enum","enums":["telecommunication_services"]},{"dataType":"enum","enums":["telegraph_services"]},{"dataType":"enum","enums":["tent_and_awning_shops"]},{"dataType":"enum","enums":["testing_laboratories"]},{"dataType":"enum","enums":["theatrical_ticket_agencies"]},{"dataType":"enum","enums":["timeshares"]},{"dataType":"enum","enums":["tire_retreading_and_repair"]},{"dataType":"enum","enums":["tolls_bridge_fees"]},{"dataType":"enum","enums":["tourist_attractions_and_exhibits"]},{"dataType":"enum","enums":["towing_services"]},{"dataType":"enum","enums":["trailer_parks_campgrounds"]},{"dataType":"enum","enums":["transportation_services"]},{"dataType":"enum","enums":["travel_agencies_tour_operators"]},{"dataType":"enum","enums":["truck_stop_iteration"]},{"dataType":"enum","enums":["truck_utility_trailer_rentals"]},{"dataType":"enum","enums":["typesetting_plate_making_and_related_services"]},{"dataType":"enum","enums":["typewriter_stores"]},{"dataType":"enum","enums":["u_s_federal_government_agencies_or_departments"]},{"dataType":"enum","enums":["uniforms_commercial_clothing"]},{"dataType":"enum","enums":["used_merchandise_and_secondhand_stores"]},{"dataType":"enum","enums":["utilities"]},{"dataType":"enum","enums":["variety_stores"]},{"dataType":"enum","enums":["veterinary_services"]},{"dataType":"enum","enums":["video_amusement_game_supplies"]},{"dataType":"enum","enums":["video_game_arcades"]},{"dataType":"enum","enums":["video_tape_rental_stores"]},{"dataType":"enum","enums":["vocational_trade_schools"]},{"dataType":"enum","enums":["watch_jewelry_repair"]},{"dataType":"enum","enums":["welding_repair"]},{"dataType":"enum","enums":["wholesale_clubs"]},{"dataType":"enum","enums":["wig_and_toupee_stores"]},{"dataType":"enum","enums":["wires_money_orders"]},{"dataType":"enum","enums":["womens_accessory_and_specialty_shops"]},{"dataType":"enum","enums":["womens_ready_to_wear_stores"]},{"dataType":"enum","enums":["wrecking_and_salvage_yards"]}],"validators":{}}, + "stripe.Stripe.Issuing.Transaction.Treasury": { + "dataType": "refObject", + "properties": { + "received_credit": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "received_debit": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Card.SpendingControls.SpendingLimit.Category": { + "stripe.Stripe.Issuing.Transaction.Type": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["ac_refrigeration_repair"]},{"dataType":"enum","enums":["accounting_bookkeeping_services"]},{"dataType":"enum","enums":["advertising_services"]},{"dataType":"enum","enums":["agricultural_cooperative"]},{"dataType":"enum","enums":["airlines_air_carriers"]},{"dataType":"enum","enums":["airports_flying_fields"]},{"dataType":"enum","enums":["ambulance_services"]},{"dataType":"enum","enums":["amusement_parks_carnivals"]},{"dataType":"enum","enums":["antique_reproductions"]},{"dataType":"enum","enums":["antique_shops"]},{"dataType":"enum","enums":["aquariums"]},{"dataType":"enum","enums":["architectural_surveying_services"]},{"dataType":"enum","enums":["art_dealers_and_galleries"]},{"dataType":"enum","enums":["artists_supply_and_craft_shops"]},{"dataType":"enum","enums":["auto_and_home_supply_stores"]},{"dataType":"enum","enums":["auto_body_repair_shops"]},{"dataType":"enum","enums":["auto_paint_shops"]},{"dataType":"enum","enums":["auto_service_shops"]},{"dataType":"enum","enums":["automated_cash_disburse"]},{"dataType":"enum","enums":["automated_fuel_dispensers"]},{"dataType":"enum","enums":["automobile_associations"]},{"dataType":"enum","enums":["automotive_parts_and_accessories_stores"]},{"dataType":"enum","enums":["automotive_tire_stores"]},{"dataType":"enum","enums":["bail_and_bond_payments"]},{"dataType":"enum","enums":["bakeries"]},{"dataType":"enum","enums":["bands_orchestras"]},{"dataType":"enum","enums":["barber_and_beauty_shops"]},{"dataType":"enum","enums":["betting_casino_gambling"]},{"dataType":"enum","enums":["bicycle_shops"]},{"dataType":"enum","enums":["billiard_pool_establishments"]},{"dataType":"enum","enums":["boat_dealers"]},{"dataType":"enum","enums":["boat_rentals_and_leases"]},{"dataType":"enum","enums":["book_stores"]},{"dataType":"enum","enums":["books_periodicals_and_newspapers"]},{"dataType":"enum","enums":["bowling_alleys"]},{"dataType":"enum","enums":["bus_lines"]},{"dataType":"enum","enums":["business_secretarial_schools"]},{"dataType":"enum","enums":["buying_shopping_services"]},{"dataType":"enum","enums":["cable_satellite_and_other_pay_television_and_radio"]},{"dataType":"enum","enums":["camera_and_photographic_supply_stores"]},{"dataType":"enum","enums":["candy_nut_and_confectionery_stores"]},{"dataType":"enum","enums":["car_and_truck_dealers_new_used"]},{"dataType":"enum","enums":["car_and_truck_dealers_used_only"]},{"dataType":"enum","enums":["car_rental_agencies"]},{"dataType":"enum","enums":["car_washes"]},{"dataType":"enum","enums":["carpentry_services"]},{"dataType":"enum","enums":["carpet_upholstery_cleaning"]},{"dataType":"enum","enums":["caterers"]},{"dataType":"enum","enums":["charitable_and_social_service_organizations_fundraising"]},{"dataType":"enum","enums":["chemicals_and_allied_products"]},{"dataType":"enum","enums":["child_care_services"]},{"dataType":"enum","enums":["childrens_and_infants_wear_stores"]},{"dataType":"enum","enums":["chiropodists_podiatrists"]},{"dataType":"enum","enums":["chiropractors"]},{"dataType":"enum","enums":["cigar_stores_and_stands"]},{"dataType":"enum","enums":["civic_social_fraternal_associations"]},{"dataType":"enum","enums":["cleaning_and_maintenance"]},{"dataType":"enum","enums":["clothing_rental"]},{"dataType":"enum","enums":["colleges_universities"]},{"dataType":"enum","enums":["commercial_equipment"]},{"dataType":"enum","enums":["commercial_footwear"]},{"dataType":"enum","enums":["commercial_photography_art_and_graphics"]},{"dataType":"enum","enums":["commuter_transport_and_ferries"]},{"dataType":"enum","enums":["computer_network_services"]},{"dataType":"enum","enums":["computer_programming"]},{"dataType":"enum","enums":["computer_repair"]},{"dataType":"enum","enums":["computer_software_stores"]},{"dataType":"enum","enums":["computers_peripherals_and_software"]},{"dataType":"enum","enums":["concrete_work_services"]},{"dataType":"enum","enums":["construction_materials"]},{"dataType":"enum","enums":["consulting_public_relations"]},{"dataType":"enum","enums":["correspondence_schools"]},{"dataType":"enum","enums":["cosmetic_stores"]},{"dataType":"enum","enums":["counseling_services"]},{"dataType":"enum","enums":["country_clubs"]},{"dataType":"enum","enums":["courier_services"]},{"dataType":"enum","enums":["court_costs"]},{"dataType":"enum","enums":["credit_reporting_agencies"]},{"dataType":"enum","enums":["cruise_lines"]},{"dataType":"enum","enums":["dairy_products_stores"]},{"dataType":"enum","enums":["dance_hall_studios_schools"]},{"dataType":"enum","enums":["dating_escort_services"]},{"dataType":"enum","enums":["dentists_orthodontists"]},{"dataType":"enum","enums":["department_stores"]},{"dataType":"enum","enums":["detective_agencies"]},{"dataType":"enum","enums":["digital_goods_applications"]},{"dataType":"enum","enums":["digital_goods_games"]},{"dataType":"enum","enums":["digital_goods_large_volume"]},{"dataType":"enum","enums":["digital_goods_media"]},{"dataType":"enum","enums":["direct_marketing_catalog_merchant"]},{"dataType":"enum","enums":["direct_marketing_combination_catalog_and_retail_merchant"]},{"dataType":"enum","enums":["direct_marketing_inbound_telemarketing"]},{"dataType":"enum","enums":["direct_marketing_insurance_services"]},{"dataType":"enum","enums":["direct_marketing_other"]},{"dataType":"enum","enums":["direct_marketing_outbound_telemarketing"]},{"dataType":"enum","enums":["direct_marketing_subscription"]},{"dataType":"enum","enums":["direct_marketing_travel"]},{"dataType":"enum","enums":["discount_stores"]},{"dataType":"enum","enums":["doctors"]},{"dataType":"enum","enums":["door_to_door_sales"]},{"dataType":"enum","enums":["drapery_window_covering_and_upholstery_stores"]},{"dataType":"enum","enums":["drinking_places"]},{"dataType":"enum","enums":["drug_stores_and_pharmacies"]},{"dataType":"enum","enums":["drugs_drug_proprietaries_and_druggist_sundries"]},{"dataType":"enum","enums":["dry_cleaners"]},{"dataType":"enum","enums":["durable_goods"]},{"dataType":"enum","enums":["duty_free_stores"]},{"dataType":"enum","enums":["eating_places_restaurants"]},{"dataType":"enum","enums":["educational_services"]},{"dataType":"enum","enums":["electric_razor_stores"]},{"dataType":"enum","enums":["electric_vehicle_charging"]},{"dataType":"enum","enums":["electrical_parts_and_equipment"]},{"dataType":"enum","enums":["electrical_services"]},{"dataType":"enum","enums":["electronics_repair_shops"]},{"dataType":"enum","enums":["electronics_stores"]},{"dataType":"enum","enums":["elementary_secondary_schools"]},{"dataType":"enum","enums":["emergency_services_gcas_visa_use_only"]},{"dataType":"enum","enums":["employment_temp_agencies"]},{"dataType":"enum","enums":["equipment_rental"]},{"dataType":"enum","enums":["exterminating_services"]},{"dataType":"enum","enums":["family_clothing_stores"]},{"dataType":"enum","enums":["fast_food_restaurants"]},{"dataType":"enum","enums":["financial_institutions"]},{"dataType":"enum","enums":["fines_government_administrative_entities"]},{"dataType":"enum","enums":["fireplace_fireplace_screens_and_accessories_stores"]},{"dataType":"enum","enums":["floor_covering_stores"]},{"dataType":"enum","enums":["florists"]},{"dataType":"enum","enums":["florists_supplies_nursery_stock_and_flowers"]},{"dataType":"enum","enums":["freezer_and_locker_meat_provisioners"]},{"dataType":"enum","enums":["fuel_dealers_non_automotive"]},{"dataType":"enum","enums":["funeral_services_crematories"]},{"dataType":"enum","enums":["furniture_home_furnishings_and_equipment_stores_except_appliances"]},{"dataType":"enum","enums":["furniture_repair_refinishing"]},{"dataType":"enum","enums":["furriers_and_fur_shops"]},{"dataType":"enum","enums":["general_services"]},{"dataType":"enum","enums":["gift_card_novelty_and_souvenir_shops"]},{"dataType":"enum","enums":["glass_paint_and_wallpaper_stores"]},{"dataType":"enum","enums":["glassware_crystal_stores"]},{"dataType":"enum","enums":["golf_courses_public"]},{"dataType":"enum","enums":["government_licensed_horse_dog_racing_us_region_only"]},{"dataType":"enum","enums":["government_licensed_online_casions_online_gambling_us_region_only"]},{"dataType":"enum","enums":["government_owned_lotteries_non_us_region"]},{"dataType":"enum","enums":["government_owned_lotteries_us_region_only"]},{"dataType":"enum","enums":["government_services"]},{"dataType":"enum","enums":["grocery_stores_supermarkets"]},{"dataType":"enum","enums":["hardware_equipment_and_supplies"]},{"dataType":"enum","enums":["hardware_stores"]},{"dataType":"enum","enums":["health_and_beauty_spas"]},{"dataType":"enum","enums":["hearing_aids_sales_and_supplies"]},{"dataType":"enum","enums":["heating_plumbing_a_c"]},{"dataType":"enum","enums":["hobby_toy_and_game_shops"]},{"dataType":"enum","enums":["home_supply_warehouse_stores"]},{"dataType":"enum","enums":["hospitals"]},{"dataType":"enum","enums":["hotels_motels_and_resorts"]},{"dataType":"enum","enums":["household_appliance_stores"]},{"dataType":"enum","enums":["industrial_supplies"]},{"dataType":"enum","enums":["information_retrieval_services"]},{"dataType":"enum","enums":["insurance_default"]},{"dataType":"enum","enums":["insurance_underwriting_premiums"]},{"dataType":"enum","enums":["intra_company_purchases"]},{"dataType":"enum","enums":["jewelry_stores_watches_clocks_and_silverware_stores"]},{"dataType":"enum","enums":["landscaping_services"]},{"dataType":"enum","enums":["laundries"]},{"dataType":"enum","enums":["laundry_cleaning_services"]},{"dataType":"enum","enums":["legal_services_attorneys"]},{"dataType":"enum","enums":["luggage_and_leather_goods_stores"]},{"dataType":"enum","enums":["lumber_building_materials_stores"]},{"dataType":"enum","enums":["manual_cash_disburse"]},{"dataType":"enum","enums":["marinas_service_and_supplies"]},{"dataType":"enum","enums":["marketplaces"]},{"dataType":"enum","enums":["masonry_stonework_and_plaster"]},{"dataType":"enum","enums":["massage_parlors"]},{"dataType":"enum","enums":["medical_and_dental_labs"]},{"dataType":"enum","enums":["medical_dental_ophthalmic_and_hospital_equipment_and_supplies"]},{"dataType":"enum","enums":["medical_services"]},{"dataType":"enum","enums":["membership_organizations"]},{"dataType":"enum","enums":["mens_and_boys_clothing_and_accessories_stores"]},{"dataType":"enum","enums":["mens_womens_clothing_stores"]},{"dataType":"enum","enums":["metal_service_centers"]},{"dataType":"enum","enums":["miscellaneous"]},{"dataType":"enum","enums":["miscellaneous_apparel_and_accessory_shops"]},{"dataType":"enum","enums":["miscellaneous_auto_dealers"]},{"dataType":"enum","enums":["miscellaneous_business_services"]},{"dataType":"enum","enums":["miscellaneous_food_stores"]},{"dataType":"enum","enums":["miscellaneous_general_merchandise"]},{"dataType":"enum","enums":["miscellaneous_general_services"]},{"dataType":"enum","enums":["miscellaneous_home_furnishing_specialty_stores"]},{"dataType":"enum","enums":["miscellaneous_publishing_and_printing"]},{"dataType":"enum","enums":["miscellaneous_recreation_services"]},{"dataType":"enum","enums":["miscellaneous_repair_shops"]},{"dataType":"enum","enums":["miscellaneous_specialty_retail"]},{"dataType":"enum","enums":["mobile_home_dealers"]},{"dataType":"enum","enums":["motion_picture_theaters"]},{"dataType":"enum","enums":["motor_freight_carriers_and_trucking"]},{"dataType":"enum","enums":["motor_homes_dealers"]},{"dataType":"enum","enums":["motor_vehicle_supplies_and_new_parts"]},{"dataType":"enum","enums":["motorcycle_shops_and_dealers"]},{"dataType":"enum","enums":["motorcycle_shops_dealers"]},{"dataType":"enum","enums":["music_stores_musical_instruments_pianos_and_sheet_music"]},{"dataType":"enum","enums":["news_dealers_and_newsstands"]},{"dataType":"enum","enums":["non_fi_money_orders"]},{"dataType":"enum","enums":["non_fi_stored_value_card_purchase_load"]},{"dataType":"enum","enums":["nondurable_goods"]},{"dataType":"enum","enums":["nurseries_lawn_and_garden_supply_stores"]},{"dataType":"enum","enums":["nursing_personal_care"]},{"dataType":"enum","enums":["office_and_commercial_furniture"]},{"dataType":"enum","enums":["opticians_eyeglasses"]},{"dataType":"enum","enums":["optometrists_ophthalmologist"]},{"dataType":"enum","enums":["orthopedic_goods_prosthetic_devices"]},{"dataType":"enum","enums":["osteopaths"]},{"dataType":"enum","enums":["package_stores_beer_wine_and_liquor"]},{"dataType":"enum","enums":["paints_varnishes_and_supplies"]},{"dataType":"enum","enums":["parking_lots_garages"]},{"dataType":"enum","enums":["passenger_railways"]},{"dataType":"enum","enums":["pawn_shops"]},{"dataType":"enum","enums":["pet_shops_pet_food_and_supplies"]},{"dataType":"enum","enums":["petroleum_and_petroleum_products"]},{"dataType":"enum","enums":["photo_developing"]},{"dataType":"enum","enums":["photographic_photocopy_microfilm_equipment_and_supplies"]},{"dataType":"enum","enums":["photographic_studios"]},{"dataType":"enum","enums":["picture_video_production"]},{"dataType":"enum","enums":["piece_goods_notions_and_other_dry_goods"]},{"dataType":"enum","enums":["plumbing_heating_equipment_and_supplies"]},{"dataType":"enum","enums":["political_organizations"]},{"dataType":"enum","enums":["postal_services_government_only"]},{"dataType":"enum","enums":["precious_stones_and_metals_watches_and_jewelry"]},{"dataType":"enum","enums":["professional_services"]},{"dataType":"enum","enums":["public_warehousing_and_storage"]},{"dataType":"enum","enums":["quick_copy_repro_and_blueprint"]},{"dataType":"enum","enums":["railroads"]},{"dataType":"enum","enums":["real_estate_agents_and_managers_rentals"]},{"dataType":"enum","enums":["record_stores"]},{"dataType":"enum","enums":["recreational_vehicle_rentals"]},{"dataType":"enum","enums":["religious_goods_stores"]},{"dataType":"enum","enums":["religious_organizations"]},{"dataType":"enum","enums":["roofing_siding_sheet_metal"]},{"dataType":"enum","enums":["secretarial_support_services"]},{"dataType":"enum","enums":["security_brokers_dealers"]},{"dataType":"enum","enums":["service_stations"]},{"dataType":"enum","enums":["sewing_needlework_fabric_and_piece_goods_stores"]},{"dataType":"enum","enums":["shoe_repair_hat_cleaning"]},{"dataType":"enum","enums":["shoe_stores"]},{"dataType":"enum","enums":["small_appliance_repair"]},{"dataType":"enum","enums":["snowmobile_dealers"]},{"dataType":"enum","enums":["special_trade_services"]},{"dataType":"enum","enums":["specialty_cleaning"]},{"dataType":"enum","enums":["sporting_goods_stores"]},{"dataType":"enum","enums":["sporting_recreation_camps"]},{"dataType":"enum","enums":["sports_and_riding_apparel_stores"]},{"dataType":"enum","enums":["sports_clubs_fields"]},{"dataType":"enum","enums":["stamp_and_coin_stores"]},{"dataType":"enum","enums":["stationary_office_supplies_printing_and_writing_paper"]},{"dataType":"enum","enums":["stationery_stores_office_and_school_supply_stores"]},{"dataType":"enum","enums":["swimming_pools_sales"]},{"dataType":"enum","enums":["t_ui_travel_germany"]},{"dataType":"enum","enums":["tailors_alterations"]},{"dataType":"enum","enums":["tax_payments_government_agencies"]},{"dataType":"enum","enums":["tax_preparation_services"]},{"dataType":"enum","enums":["taxicabs_limousines"]},{"dataType":"enum","enums":["telecommunication_equipment_and_telephone_sales"]},{"dataType":"enum","enums":["telecommunication_services"]},{"dataType":"enum","enums":["telegraph_services"]},{"dataType":"enum","enums":["tent_and_awning_shops"]},{"dataType":"enum","enums":["testing_laboratories"]},{"dataType":"enum","enums":["theatrical_ticket_agencies"]},{"dataType":"enum","enums":["timeshares"]},{"dataType":"enum","enums":["tire_retreading_and_repair"]},{"dataType":"enum","enums":["tolls_bridge_fees"]},{"dataType":"enum","enums":["tourist_attractions_and_exhibits"]},{"dataType":"enum","enums":["towing_services"]},{"dataType":"enum","enums":["trailer_parks_campgrounds"]},{"dataType":"enum","enums":["transportation_services"]},{"dataType":"enum","enums":["travel_agencies_tour_operators"]},{"dataType":"enum","enums":["truck_stop_iteration"]},{"dataType":"enum","enums":["truck_utility_trailer_rentals"]},{"dataType":"enum","enums":["typesetting_plate_making_and_related_services"]},{"dataType":"enum","enums":["typewriter_stores"]},{"dataType":"enum","enums":["u_s_federal_government_agencies_or_departments"]},{"dataType":"enum","enums":["uniforms_commercial_clothing"]},{"dataType":"enum","enums":["used_merchandise_and_secondhand_stores"]},{"dataType":"enum","enums":["utilities"]},{"dataType":"enum","enums":["variety_stores"]},{"dataType":"enum","enums":["veterinary_services"]},{"dataType":"enum","enums":["video_amusement_game_supplies"]},{"dataType":"enum","enums":["video_game_arcades"]},{"dataType":"enum","enums":["video_tape_rental_stores"]},{"dataType":"enum","enums":["vocational_trade_schools"]},{"dataType":"enum","enums":["watch_jewelry_repair"]},{"dataType":"enum","enums":["welding_repair"]},{"dataType":"enum","enums":["wholesale_clubs"]},{"dataType":"enum","enums":["wig_and_toupee_stores"]},{"dataType":"enum","enums":["wires_money_orders"]},{"dataType":"enum","enums":["womens_accessory_and_specialty_shops"]},{"dataType":"enum","enums":["womens_ready_to_wear_stores"]},{"dataType":"enum","enums":["wrecking_and_salvage_yards"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["capture"]},{"dataType":"enum","enums":["refund"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Card.SpendingControls.SpendingLimit.Interval": { + "stripe.Stripe.Issuing.Transaction.Wallet": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["all_time"]},{"dataType":"enum","enums":["daily"]},{"dataType":"enum","enums":["monthly"]},{"dataType":"enum","enums":["per_authorization"]},{"dataType":"enum","enums":["weekly"]},{"dataType":"enum","enums":["yearly"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["apple_pay"]},{"dataType":"enum","enums":["google_pay"]},{"dataType":"enum","enums":["samsung_pay"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Card.SpendingControls.SpendingLimit": { + "stripe.Stripe.Issuing.Authorization.Treasury": { "dataType": "refObject", "properties": { - "amount": {"dataType":"double","required":true}, - "categories": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Issuing.Card.SpendingControls.SpendingLimit.Category"}},{"dataType":"enum","enums":[null]}],"required":true}, - "interval": {"ref":"stripe.Stripe.Issuing.Card.SpendingControls.SpendingLimit.Interval","required":true}, + "received_credits": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "received_debits": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Card.SpendingControls": { - "dataType": "refObject", - "properties": { - "allowed_categories": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Issuing.Card.SpendingControls.AllowedCategory"}},{"dataType":"enum","enums":[null]}],"required":true}, - "allowed_merchant_countries": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, - "blocked_categories": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Issuing.Card.SpendingControls.BlockedCategory"}},{"dataType":"enum","enums":[null]}],"required":true}, - "blocked_merchant_countries": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, - "spending_limits": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Issuing.Card.SpendingControls.SpendingLimit"}},{"dataType":"enum","enums":[null]}],"required":true}, - "spending_limits_currency": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Issuing.Authorization.VerificationData.AddressLine1Check": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["match"]},{"dataType":"enum","enums":["mismatch"]},{"dataType":"enum","enums":["not_provided"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Card.Status": { + "stripe.Stripe.Issuing.Authorization.VerificationData.AddressPostalCodeCheck": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["canceled"]},{"dataType":"enum","enums":["inactive"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["match"]},{"dataType":"enum","enums":["mismatch"]},{"dataType":"enum","enums":["not_provided"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Card.Type": { + "stripe.Stripe.Issuing.Authorization.VerificationData.AuthenticationExemption.ClaimedBy": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["physical"]},{"dataType":"enum","enums":["virtual"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["acquirer"]},{"dataType":"enum","enums":["issuer"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Card.Wallets.ApplePay.IneligibleReason": { + "stripe.Stripe.Issuing.Authorization.VerificationData.AuthenticationExemption.Type": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["missing_agreement"]},{"dataType":"enum","enums":["missing_cardholder_contact"]},{"dataType":"enum","enums":["unsupported_region"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["low_value_transaction"]},{"dataType":"enum","enums":["transaction_risk_analysis"]},{"dataType":"enum","enums":["unknown"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Card.Wallets.ApplePay": { + "stripe.Stripe.Issuing.Authorization.VerificationData.AuthenticationExemption": { "dataType": "refObject", "properties": { - "eligible": {"dataType":"boolean","required":true}, - "ineligible_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Card.Wallets.ApplePay.IneligibleReason"},{"dataType":"enum","enums":[null]}],"required":true}, + "claimed_by": {"ref":"stripe.Stripe.Issuing.Authorization.VerificationData.AuthenticationExemption.ClaimedBy","required":true}, + "type": {"ref":"stripe.Stripe.Issuing.Authorization.VerificationData.AuthenticationExemption.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Card.Wallets.GooglePay.IneligibleReason": { + "stripe.Stripe.Issuing.Authorization.VerificationData.CvcCheck": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["missing_agreement"]},{"dataType":"enum","enums":["missing_cardholder_contact"]},{"dataType":"enum","enums":["unsupported_region"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["match"]},{"dataType":"enum","enums":["mismatch"]},{"dataType":"enum","enums":["not_provided"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Card.Wallets.GooglePay": { - "dataType": "refObject", - "properties": { - "eligible": {"dataType":"boolean","required":true}, - "ineligible_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Card.Wallets.GooglePay.IneligibleReason"},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Issuing.Authorization.VerificationData.ExpiryCheck": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["match"]},{"dataType":"enum","enums":["mismatch"]},{"dataType":"enum","enums":["not_provided"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Card.Wallets": { + "stripe.Stripe.Issuing.Authorization.VerificationData.ThreeDSecure.Result": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["attempt_acknowledged"]},{"dataType":"enum","enums":["authenticated"]},{"dataType":"enum","enums":["failed"]},{"dataType":"enum","enums":["required"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Issuing.Authorization.VerificationData.ThreeDSecure": { "dataType": "refObject", "properties": { - "apple_pay": {"ref":"stripe.Stripe.Issuing.Card.Wallets.ApplePay","required":true}, - "google_pay": {"ref":"stripe.Stripe.Issuing.Card.Wallets.GooglePay","required":true}, - "primary_account_identifier": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "result": {"ref":"stripe.Stripe.Issuing.Authorization.VerificationData.ThreeDSecure.Result","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Authorization.Fleet.CardholderPromptData": { + "stripe.Stripe.Issuing.Authorization.VerificationData": { "dataType": "refObject", "properties": { - "alphanumeric_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "driver_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "odometer": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "unspecified_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "user_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "vehicle_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "address_line1_check": {"ref":"stripe.Stripe.Issuing.Authorization.VerificationData.AddressLine1Check","required":true}, + "address_postal_code_check": {"ref":"stripe.Stripe.Issuing.Authorization.VerificationData.AddressPostalCodeCheck","required":true}, + "authentication_exemption": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Authorization.VerificationData.AuthenticationExemption"},{"dataType":"enum","enums":[null]}],"required":true}, + "cvc_check": {"ref":"stripe.Stripe.Issuing.Authorization.VerificationData.CvcCheck","required":true}, + "expiry_check": {"ref":"stripe.Stripe.Issuing.Authorization.VerificationData.ExpiryCheck","required":true}, + "postal_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "three_d_secure": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Authorization.VerificationData.ThreeDSecure"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Authorization.Fleet.PurchaseType": { + "stripe.Stripe.ExternalAccount": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["fuel_and_non_fuel_purchase"]},{"dataType":"enum","enums":["fuel_purchase"]},{"dataType":"enum","enums":["non_fuel_purchase"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.BankAccount"},{"ref":"stripe.Stripe.Card"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Authorization.Fleet.ReportedBreakdown.Fuel": { + "stripe.Stripe.DeletedBankAccount": { "dataType": "refObject", "properties": { - "gross_amount_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["bank_account"],"required":true}, + "currency": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "deleted": {"dataType":"enum","enums":[true],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Authorization.Fleet.ReportedBreakdown.NonFuel": { + "stripe.Stripe.DeletedCard": { "dataType": "refObject", "properties": { - "gross_amount_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["card"],"required":true}, + "currency": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "deleted": {"dataType":"enum","enums":[true],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Authorization.Fleet.ReportedBreakdown.Tax": { - "dataType": "refObject", - "properties": { - "local_amount_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "national_amount_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.DeletedExternalAccount": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.DeletedBankAccount"},{"ref":"stripe.Stripe.DeletedCard"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Authorization.Fleet.ReportedBreakdown": { + "stripe.Stripe.Payout": { "dataType": "refObject", "properties": { - "fuel": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Authorization.Fleet.ReportedBreakdown.Fuel"},{"dataType":"enum","enums":[null]}],"required":true}, - "non_fuel": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Authorization.Fleet.ReportedBreakdown.NonFuel"},{"dataType":"enum","enums":[null]}],"required":true}, - "tax": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Authorization.Fleet.ReportedBreakdown.Tax"},{"dataType":"enum","enums":[null]}],"required":true}, + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["payout"],"required":true}, + "amount": {"dataType":"double","required":true}, + "application_fee": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.ApplicationFee"},{"dataType":"enum","enums":[null]}],"required":true}, + "application_fee_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "arrival_date": {"dataType":"double","required":true}, + "automatic": {"dataType":"boolean","required":true}, + "balance_transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.BalanceTransaction"},{"dataType":"enum","enums":[null]}],"required":true}, + "created": {"dataType":"double","required":true}, + "currency": {"dataType":"string","required":true}, + "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "destination": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.ExternalAccount"},{"ref":"stripe.Stripe.DeletedExternalAccount"},{"dataType":"enum","enums":[null]}],"required":true}, + "failure_balance_transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.BalanceTransaction"},{"dataType":"enum","enums":[null]}],"required":true}, + "failure_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "failure_message": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "livemode": {"dataType":"boolean","required":true}, + "metadata": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Metadata"},{"dataType":"enum","enums":[null]}],"required":true}, + "method": {"dataType":"string","required":true}, + "original_payout": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Payout"},{"dataType":"enum","enums":[null]}],"required":true}, + "reconciliation_status": {"ref":"stripe.Stripe.Payout.ReconciliationStatus","required":true}, + "reversed_by": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Payout"},{"dataType":"enum","enums":[null]}],"required":true}, + "source_type": {"dataType":"string","required":true}, + "statement_descriptor": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "status": {"dataType":"string","required":true}, + "trace_id": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Payout.TraceId"},{"dataType":"enum","enums":[null]}],"required":true}, + "type": {"ref":"stripe.Stripe.Payout.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Authorization.Fleet.ServiceType": { + "stripe.Stripe.Payout.ReconciliationStatus": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["full_service"]},{"dataType":"enum","enums":["non_fuel_transaction"]},{"dataType":"enum","enums":["self_service"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["completed"]},{"dataType":"enum","enums":["in_progress"]},{"dataType":"enum","enums":["not_applicable"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Authorization.Fleet": { + "stripe.Stripe.Payout.TraceId": { "dataType": "refObject", "properties": { - "cardholder_prompt_data": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Authorization.Fleet.CardholderPromptData"},{"dataType":"enum","enums":[null]}],"required":true}, - "purchase_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Authorization.Fleet.PurchaseType"},{"dataType":"enum","enums":[null]}],"required":true}, - "reported_breakdown": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Authorization.Fleet.ReportedBreakdown"},{"dataType":"enum","enums":[null]}],"required":true}, - "service_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Authorization.Fleet.ServiceType"},{"dataType":"enum","enums":[null]}],"required":true}, + "status": {"dataType":"string","required":true}, + "value": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Authorization.FraudChallenge.Status": { + "stripe.Stripe.Payout.Type": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["expired"]},{"dataType":"enum","enums":["pending"]},{"dataType":"enum","enums":["rejected"]},{"dataType":"enum","enums":["undeliverable"]},{"dataType":"enum","enums":["verified"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["bank_account"]},{"dataType":"enum","enums":["card"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Authorization.FraudChallenge.UndeliverableReason": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["no_phone_number"]},{"dataType":"enum","enums":["unsupported_phone_number"]}],"validators":{}}, + "stripe.Stripe.ReserveTransaction": { + "dataType": "refObject", + "properties": { + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["reserve_transaction"],"required":true}, + "amount": {"dataType":"double","required":true}, + "currency": {"dataType":"string","required":true}, + "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Authorization.FraudChallenge": { + "stripe.Stripe.TaxDeductedAtSource": { "dataType": "refObject", "properties": { - "channel": {"dataType":"enum","enums":["sms"],"required":true}, - "status": {"ref":"stripe.Stripe.Issuing.Authorization.FraudChallenge.Status","required":true}, - "undeliverable_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Authorization.FraudChallenge.UndeliverableReason"},{"dataType":"enum","enums":[null]}],"required":true}, + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["tax_deducted_at_source"],"required":true}, + "period_end": {"dataType":"double","required":true}, + "period_start": {"dataType":"double","required":true}, + "tax_deduction_account_number": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Authorization.Fuel.Type": { + "stripe.Stripe.Topup.Status": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["diesel"]},{"dataType":"enum","enums":["other"]},{"dataType":"enum","enums":["unleaded_plus"]},{"dataType":"enum","enums":["unleaded_regular"]},{"dataType":"enum","enums":["unleaded_super"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["canceled"]},{"dataType":"enum","enums":["failed"]},{"dataType":"enum","enums":["pending"]},{"dataType":"enum","enums":["reversed"]},{"dataType":"enum","enums":["succeeded"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Authorization.Fuel.Unit": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["charging_minute"]},{"dataType":"enum","enums":["imperial_gallon"]},{"dataType":"enum","enums":["kilogram"]},{"dataType":"enum","enums":["kilowatt_hour"]},{"dataType":"enum","enums":["liter"]},{"dataType":"enum","enums":["other"]},{"dataType":"enum","enums":["pound"]},{"dataType":"enum","enums":["us_gallon"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Authorization.Fuel": { + "stripe.Stripe.Topup": { "dataType": "refObject", "properties": { - "industry_product_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "quantity_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Authorization.Fuel.Type"},{"dataType":"enum","enums":[null]}],"required":true}, - "unit": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Authorization.Fuel.Unit"},{"dataType":"enum","enums":[null]}],"required":true}, - "unit_cost_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["topup"],"required":true}, + "amount": {"dataType":"double","required":true}, + "balance_transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.BalanceTransaction"},{"dataType":"enum","enums":[null]}],"required":true}, + "created": {"dataType":"double","required":true}, + "currency": {"dataType":"string","required":true}, + "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "expected_availability_date": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "failure_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "failure_message": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "livemode": {"dataType":"boolean","required":true}, + "metadata": {"ref":"stripe.Stripe.Metadata","required":true}, + "source": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Source"},{"dataType":"enum","enums":[null]}],"required":true}, + "statement_descriptor": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "status": {"ref":"stripe.Stripe.Topup.Status","required":true}, + "transfer_group": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Authorization.MerchantData": { - "dataType": "refObject", - "properties": { - "category": {"dataType":"string","required":true}, - "category_code": {"dataType":"string","required":true}, - "city": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "network_id": {"dataType":"string","required":true}, - "postal_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "state": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "tax_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "terminal_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.BalanceTransactionSource": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.ApplicationFee"},{"ref":"stripe.Stripe.Charge"},{"ref":"stripe.Stripe.ConnectCollectionTransfer"},{"ref":"stripe.Stripe.CustomerCashBalanceTransaction"},{"ref":"stripe.Stripe.Dispute"},{"ref":"stripe.Stripe.FeeRefund"},{"ref":"stripe.Stripe.Issuing.Authorization"},{"ref":"stripe.Stripe.Issuing.Dispute"},{"ref":"stripe.Stripe.Issuing.Transaction"},{"ref":"stripe.Stripe.Payout"},{"ref":"stripe.Stripe.Refund"},{"ref":"stripe.Stripe.ReserveTransaction"},{"ref":"stripe.Stripe.TaxDeductedAtSource"},{"ref":"stripe.Stripe.Topup"},{"ref":"stripe.Stripe.Transfer"},{"ref":"stripe.Stripe.TransferReversal"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Authorization.NetworkData": { + "stripe.Stripe.BalanceTransaction.Type": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["adjustment"]},{"dataType":"enum","enums":["advance"]},{"dataType":"enum","enums":["advance_funding"]},{"dataType":"enum","enums":["anticipation_repayment"]},{"dataType":"enum","enums":["application_fee"]},{"dataType":"enum","enums":["application_fee_refund"]},{"dataType":"enum","enums":["charge"]},{"dataType":"enum","enums":["climate_order_purchase"]},{"dataType":"enum","enums":["climate_order_refund"]},{"dataType":"enum","enums":["connect_collection_transfer"]},{"dataType":"enum","enums":["contribution"]},{"dataType":"enum","enums":["issuing_authorization_hold"]},{"dataType":"enum","enums":["issuing_authorization_release"]},{"dataType":"enum","enums":["issuing_dispute"]},{"dataType":"enum","enums":["issuing_transaction"]},{"dataType":"enum","enums":["obligation_outbound"]},{"dataType":"enum","enums":["obligation_reversal_inbound"]},{"dataType":"enum","enums":["payment"]},{"dataType":"enum","enums":["payment_failure_refund"]},{"dataType":"enum","enums":["payment_network_reserve_hold"]},{"dataType":"enum","enums":["payment_network_reserve_release"]},{"dataType":"enum","enums":["payment_refund"]},{"dataType":"enum","enums":["payment_reversal"]},{"dataType":"enum","enums":["payment_unreconciled"]},{"dataType":"enum","enums":["payout"]},{"dataType":"enum","enums":["payout_cancel"]},{"dataType":"enum","enums":["payout_failure"]},{"dataType":"enum","enums":["payout_minimum_balance_hold"]},{"dataType":"enum","enums":["payout_minimum_balance_release"]},{"dataType":"enum","enums":["refund"]},{"dataType":"enum","enums":["refund_failure"]},{"dataType":"enum","enums":["reserve_transaction"]},{"dataType":"enum","enums":["reserved_funds"]},{"dataType":"enum","enums":["stripe_fee"]},{"dataType":"enum","enums":["stripe_fx_fee"]},{"dataType":"enum","enums":["tax_fee"]},{"dataType":"enum","enums":["topup"]},{"dataType":"enum","enums":["topup_reversal"]},{"dataType":"enum","enums":["transfer"]},{"dataType":"enum","enums":["transfer_cancel"]},{"dataType":"enum","enums":["transfer_failure"]},{"dataType":"enum","enums":["transfer_refund"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.ApplicationFee.FeeSource.Type": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["charge"]},{"dataType":"enum","enums":["payout"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.ApplicationFee.FeeSource": { "dataType": "refObject", "properties": { - "acquiring_institution_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "system_trace_audit_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "transaction_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "charge": {"dataType":"string"}, + "payout": {"dataType":"string"}, + "type": {"ref":"stripe.Stripe.ApplicationFee.FeeSource.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Authorization.PendingRequest.AmountDetails": { + "stripe.Stripe.ApiList_stripe.Stripe.FeeRefund_": { "dataType": "refObject", "properties": { - "atm_fee": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "cashback_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "object": {"dataType":"enum","enums":["list"],"required":true}, + "data": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.FeeRefund"},"required":true}, + "has_more": {"dataType":"boolean","required":true}, + "url": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Authorization.PendingRequest": { + "stripe.Stripe.Charge.BillingDetails": { "dataType": "refObject", "properties": { - "amount": {"dataType":"double","required":true}, - "amount_details": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Authorization.PendingRequest.AmountDetails"},{"dataType":"enum","enums":[null]}],"required":true}, - "currency": {"dataType":"string","required":true}, - "is_amount_controllable": {"dataType":"boolean","required":true}, - "merchant_amount": {"dataType":"double","required":true}, - "merchant_currency": {"dataType":"string","required":true}, - "network_risk_score": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "address": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Address"},{"dataType":"enum","enums":[null]}],"required":true}, + "email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "phone": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Authorization.RequestHistory.AmountDetails": { + "stripe.Stripe.Charge.FraudDetails": { "dataType": "refObject", "properties": { - "atm_fee": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "cashback_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "stripe_report": {"dataType":"string"}, + "user_report": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Authorization.RequestHistory.Reason": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account_disabled"]},{"dataType":"enum","enums":["card_active"]},{"dataType":"enum","enums":["card_canceled"]},{"dataType":"enum","enums":["card_expired"]},{"dataType":"enum","enums":["card_inactive"]},{"dataType":"enum","enums":["cardholder_blocked"]},{"dataType":"enum","enums":["cardholder_inactive"]},{"dataType":"enum","enums":["cardholder_verification_required"]},{"dataType":"enum","enums":["insecure_authorization_method"]},{"dataType":"enum","enums":["insufficient_funds"]},{"dataType":"enum","enums":["not_allowed"]},{"dataType":"enum","enums":["pin_blocked"]},{"dataType":"enum","enums":["spending_controls"]},{"dataType":"enum","enums":["suspected_fraud"]},{"dataType":"enum","enums":["verification_failed"]},{"dataType":"enum","enums":["webhook_approved"]},{"dataType":"enum","enums":["webhook_declined"]},{"dataType":"enum","enums":["webhook_error"]},{"dataType":"enum","enums":["webhook_timeout"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Authorization.RequestHistory": { + "stripe.Stripe.Invoice": { "dataType": "refObject", "properties": { - "amount": {"dataType":"double","required":true}, - "amount_details": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Authorization.RequestHistory.AmountDetails"},{"dataType":"enum","enums":[null]}],"required":true}, - "approved": {"dataType":"boolean","required":true}, - "authorization_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["invoice"],"required":true}, + "account_country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "account_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "account_tax_ids": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TaxId"},{"ref":"stripe.Stripe.DeletedTaxId"}]}},{"dataType":"enum","enums":[null]}],"required":true}, + "amount_due": {"dataType":"double","required":true}, + "amount_paid": {"dataType":"double","required":true}, + "amount_remaining": {"dataType":"double","required":true}, + "amount_shipping": {"dataType":"double","required":true}, + "application": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Application"},{"ref":"stripe.Stripe.DeletedApplication"},{"dataType":"enum","enums":[null]}],"required":true}, + "application_fee_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "attempt_count": {"dataType":"double","required":true}, + "attempted": {"dataType":"boolean","required":true}, + "auto_advance": {"dataType":"boolean"}, + "automatic_tax": {"ref":"stripe.Stripe.Invoice.AutomaticTax","required":true}, + "automatically_finalizes_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "billing_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.BillingReason"},{"dataType":"enum","enums":[null]}],"required":true}, + "charge": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Charge"},{"dataType":"enum","enums":[null]}],"required":true}, + "collection_method": {"ref":"stripe.Stripe.Invoice.CollectionMethod","required":true}, "created": {"dataType":"double","required":true}, "currency": {"dataType":"string","required":true}, - "merchant_amount": {"dataType":"double","required":true}, - "merchant_currency": {"dataType":"string","required":true}, - "network_risk_score": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "reason": {"ref":"stripe.Stripe.Issuing.Authorization.RequestHistory.Reason","required":true}, - "reason_message": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "requested_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "custom_fields": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Invoice.CustomField"}},{"dataType":"enum","enums":[null]}],"required":true}, + "customer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Customer"},{"ref":"stripe.Stripe.DeletedCustomer"},{"dataType":"enum","enums":[null]}],"required":true}, + "customer_address": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Address"},{"dataType":"enum","enums":[null]}],"required":true}, + "customer_email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "customer_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "customer_phone": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "customer_shipping": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.CustomerShipping"},{"dataType":"enum","enums":[null]}],"required":true}, + "customer_tax_exempt": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.CustomerTaxExempt"},{"dataType":"enum","enums":[null]}],"required":true}, + "customer_tax_ids": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Invoice.CustomerTaxId"}},{"dataType":"enum","enums":[null]}]}, + "default_payment_method": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentMethod"},{"dataType":"enum","enums":[null]}],"required":true}, + "default_source": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.CustomerSource"},{"dataType":"enum","enums":[null]}],"required":true}, + "default_tax_rates": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.TaxRate"},"required":true}, + "deleted": {"dataType":"void"}, + "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "discount": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Discount"},{"dataType":"enum","enums":[null]}],"required":true}, + "discounts": {"dataType":"array","array":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Discount"},{"ref":"stripe.Stripe.DeletedDiscount"}]},"required":true}, + "due_date": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "effective_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "ending_balance": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "footer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "from_invoice": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.FromInvoice"},{"dataType":"enum","enums":[null]}],"required":true}, + "hosted_invoice_url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "invoice_pdf": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "issuer": {"ref":"stripe.Stripe.Invoice.Issuer","required":true}, + "last_finalization_error": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.LastFinalizationError"},{"dataType":"enum","enums":[null]}],"required":true}, + "latest_revision": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Invoice"},{"dataType":"enum","enums":[null]}],"required":true}, + "lines": {"ref":"stripe.Stripe.ApiList_stripe.Stripe.InvoiceLineItem_","required":true}, + "livemode": {"dataType":"boolean","required":true}, + "metadata": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Metadata"},{"dataType":"enum","enums":[null]}],"required":true}, + "next_payment_attempt": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "on_behalf_of": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"},{"dataType":"enum","enums":[null]}],"required":true}, + "paid": {"dataType":"boolean","required":true}, + "paid_out_of_band": {"dataType":"boolean","required":true}, + "payment_intent": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentIntent"},{"dataType":"enum","enums":[null]}],"required":true}, + "payment_settings": {"ref":"stripe.Stripe.Invoice.PaymentSettings","required":true}, + "period_end": {"dataType":"double","required":true}, + "period_start": {"dataType":"double","required":true}, + "post_payment_credit_notes_amount": {"dataType":"double","required":true}, + "pre_payment_credit_notes_amount": {"dataType":"double","required":true}, + "quote": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Quote"},{"dataType":"enum","enums":[null]}],"required":true}, + "receipt_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "rendering": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.Rendering"},{"dataType":"enum","enums":[null]}],"required":true}, + "shipping_cost": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.ShippingCost"},{"dataType":"enum","enums":[null]}],"required":true}, + "shipping_details": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.ShippingDetails"},{"dataType":"enum","enums":[null]}],"required":true}, + "starting_balance": {"dataType":"double","required":true}, + "statement_descriptor": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "status": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.Status"},{"dataType":"enum","enums":[null]}],"required":true}, + "status_transitions": {"ref":"stripe.Stripe.Invoice.StatusTransitions","required":true}, + "subscription": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Subscription"},{"dataType":"enum","enums":[null]}],"required":true}, + "subscription_details": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.SubscriptionDetails"},{"dataType":"enum","enums":[null]}],"required":true}, + "subscription_proration_date": {"dataType":"double"}, + "subtotal": {"dataType":"double","required":true}, + "subtotal_excluding_tax": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "tax": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "test_clock": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TestHelpers.TestClock"},{"dataType":"enum","enums":[null]}],"required":true}, + "threshold_reason": {"ref":"stripe.Stripe.Invoice.ThresholdReason"}, + "total": {"dataType":"double","required":true}, + "total_discount_amounts": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Invoice.TotalDiscountAmount"}},{"dataType":"enum","enums":[null]}],"required":true}, + "total_excluding_tax": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "total_pretax_credit_amounts": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Invoice.TotalPretaxCreditAmount"}},{"dataType":"enum","enums":[null]}],"required":true}, + "total_tax_amounts": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Invoice.TotalTaxAmount"},"required":true}, + "transfer_data": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.TransferData"},{"dataType":"enum","enums":[null]}],"required":true}, + "webhooks_delivered_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Authorization.Status": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["closed"]},{"dataType":"enum","enums":["pending"]},{"dataType":"enum","enums":["reversed"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Token.Network": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["mastercard"]},{"dataType":"enum","enums":["visa"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Token.NetworkData.Device.Type": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["other"]},{"dataType":"enum","enums":["phone"]},{"dataType":"enum","enums":["watch"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Token.NetworkData.Device": { + "stripe.Stripe.Charge.Level3.LineItem": { "dataType": "refObject", "properties": { - "device_fingerprint": {"dataType":"string"}, - "ip_address": {"dataType":"string"}, - "location": {"dataType":"string"}, - "name": {"dataType":"string"}, - "phone_number": {"dataType":"string"}, - "type": {"ref":"stripe.Stripe.Issuing.Token.NetworkData.Device.Type"}, + "discount_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "product_code": {"dataType":"string","required":true}, + "product_description": {"dataType":"string","required":true}, + "quantity": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "tax_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "unit_cost": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Token.NetworkData.Mastercard": { + "stripe.Stripe.Charge.Level3": { "dataType": "refObject", "properties": { - "card_reference_id": {"dataType":"string"}, - "token_reference_id": {"dataType":"string","required":true}, - "token_requestor_id": {"dataType":"string","required":true}, - "token_requestor_name": {"dataType":"string"}, + "customer_reference": {"dataType":"string"}, + "line_items": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Charge.Level3.LineItem"},"required":true}, + "merchant_reference": {"dataType":"string","required":true}, + "shipping_address_zip": {"dataType":"string"}, + "shipping_amount": {"dataType":"double"}, + "shipping_from_zip": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Token.NetworkData.Type": { + "stripe.Stripe.Charge.Outcome.AdviceCode": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["mastercard"]},{"dataType":"enum","enums":["visa"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["confirm_card_data"]},{"dataType":"enum","enums":["do_not_try_again"]},{"dataType":"enum","enums":["try_again_later"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Token.NetworkData.Visa": { + "stripe.Stripe.Charge.Outcome.Rule": { "dataType": "refObject", "properties": { - "card_reference_id": {"dataType":"string","required":true}, - "token_reference_id": {"dataType":"string","required":true}, - "token_requestor_id": {"dataType":"string","required":true}, - "token_risk_score": {"dataType":"string"}, + "action": {"dataType":"string","required":true}, + "id": {"dataType":"string","required":true}, + "predicate": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Token.NetworkData.WalletProvider.CardNumberSource": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["app"]},{"dataType":"enum","enums":["manual"]},{"dataType":"enum","enums":["on_file"]},{"dataType":"enum","enums":["other"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Token.NetworkData.WalletProvider.CardholderAddress": { + "stripe.Stripe.Charge.Outcome": { "dataType": "refObject", "properties": { - "line1": {"dataType":"string","required":true}, - "postal_code": {"dataType":"string","required":true}, - }, - "additionalProperties": false, - }, + "advice_code": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.Outcome.AdviceCode"},{"dataType":"enum","enums":[null]}],"required":true}, + "network_advice_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "network_decline_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "network_status": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "reason": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "risk_level": {"dataType":"string"}, + "risk_score": {"dataType":"double"}, + "rule": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Charge.Outcome.Rule"}]}, + "seller_message": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "type": {"dataType":"string","required":true}, + }, + "additionalProperties": false, + }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Token.NetworkData.WalletProvider.ReasonCode": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account_card_too_new"]},{"dataType":"enum","enums":["account_recently_changed"]},{"dataType":"enum","enums":["account_too_new"]},{"dataType":"enum","enums":["account_too_new_since_launch"]},{"dataType":"enum","enums":["additional_device"]},{"dataType":"enum","enums":["data_expired"]},{"dataType":"enum","enums":["defer_id_v_decision"]},{"dataType":"enum","enums":["device_recently_lost"]},{"dataType":"enum","enums":["good_activity_history"]},{"dataType":"enum","enums":["has_suspended_tokens"]},{"dataType":"enum","enums":["high_risk"]},{"dataType":"enum","enums":["inactive_account"]},{"dataType":"enum","enums":["long_account_tenure"]},{"dataType":"enum","enums":["low_account_score"]},{"dataType":"enum","enums":["low_device_score"]},{"dataType":"enum","enums":["low_phone_number_score"]},{"dataType":"enum","enums":["network_service_error"]},{"dataType":"enum","enums":["outside_home_territory"]},{"dataType":"enum","enums":["provisioning_cardholder_mismatch"]},{"dataType":"enum","enums":["provisioning_device_and_cardholder_mismatch"]},{"dataType":"enum","enums":["provisioning_device_mismatch"]},{"dataType":"enum","enums":["same_device_no_prior_authentication"]},{"dataType":"enum","enums":["same_device_successful_prior_authentication"]},{"dataType":"enum","enums":["software_update"]},{"dataType":"enum","enums":["suspicious_activity"]},{"dataType":"enum","enums":["too_many_different_cardholders"]},{"dataType":"enum","enums":["too_many_recent_attempts"]},{"dataType":"enum","enums":["too_many_recent_tokens"]}],"validators":{}}, + "stripe.Stripe.Charge.PaymentMethodDetails.AchCreditTransfer": { + "dataType": "refObject", + "properties": { + "account_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "routing_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "swift_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Token.NetworkData.WalletProvider.SuggestedDecision": { + "stripe.Stripe.Charge.PaymentMethodDetails.AchDebit.AccountHolderType": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["approve"]},{"dataType":"enum","enums":["decline"]},{"dataType":"enum","enums":["require_auth"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["company"]},{"dataType":"enum","enums":["individual"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Token.NetworkData.WalletProvider": { + "stripe.Stripe.Charge.PaymentMethodDetails.AchDebit": { "dataType": "refObject", "properties": { - "account_id": {"dataType":"string"}, - "account_trust_score": {"dataType":"double"}, - "card_number_source": {"ref":"stripe.Stripe.Issuing.Token.NetworkData.WalletProvider.CardNumberSource"}, - "cardholder_address": {"ref":"stripe.Stripe.Issuing.Token.NetworkData.WalletProvider.CardholderAddress"}, - "cardholder_name": {"dataType":"string"}, - "device_trust_score": {"dataType":"double"}, - "hashed_account_email_address": {"dataType":"string"}, - "reason_codes": {"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Issuing.Token.NetworkData.WalletProvider.ReasonCode"}}, - "suggested_decision": {"ref":"stripe.Stripe.Issuing.Token.NetworkData.WalletProvider.SuggestedDecision"}, - "suggested_decision_version": {"dataType":"string"}, + "account_holder_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.AchDebit.AccountHolderType"},{"dataType":"enum","enums":[null]}],"required":true}, + "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "routing_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Token.NetworkData": { + "stripe.Stripe.Charge.PaymentMethodDetails.AcssDebit": { "dataType": "refObject", "properties": { - "device": {"ref":"stripe.Stripe.Issuing.Token.NetworkData.Device"}, - "mastercard": {"ref":"stripe.Stripe.Issuing.Token.NetworkData.Mastercard"}, - "type": {"ref":"stripe.Stripe.Issuing.Token.NetworkData.Type","required":true}, - "visa": {"ref":"stripe.Stripe.Issuing.Token.NetworkData.Visa"}, - "wallet_provider": {"ref":"stripe.Stripe.Issuing.Token.NetworkData.WalletProvider"}, + "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "institution_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "mandate": {"dataType":"string"}, + "transit_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Token.Status": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["deleted"]},{"dataType":"enum","enums":["requested"]},{"dataType":"enum","enums":["suspended"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Token.WalletProvider": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["apple_pay"]},{"dataType":"enum","enums":["google_pay"]},{"dataType":"enum","enums":["samsung_pay"]}],"validators":{}}, + "stripe.Stripe.Charge.PaymentMethodDetails.Affirm": { + "dataType": "refObject", + "properties": { + "transaction_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Token": { + "stripe.Stripe.Charge.PaymentMethodDetails.AfterpayClearpay": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["issuing.token"],"required":true}, - "card": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Issuing.Card"}],"required":true}, - "created": {"dataType":"double","required":true}, - "device_fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "last4": {"dataType":"string"}, - "livemode": {"dataType":"boolean","required":true}, - "network": {"ref":"stripe.Stripe.Issuing.Token.Network","required":true}, - "network_data": {"ref":"stripe.Stripe.Issuing.Token.NetworkData"}, - "network_updated_at": {"dataType":"double","required":true}, - "status": {"ref":"stripe.Stripe.Issuing.Token.Status","required":true}, - "wallet_provider": {"ref":"stripe.Stripe.Issuing.Token.WalletProvider"}, + "order_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Transaction.AmountDetails": { + "stripe.Stripe.Charge.PaymentMethodDetails.Alipay": { "dataType": "refObject", "properties": { - "atm_fee": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "cashback_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "buyer_id": {"dataType":"string"}, + "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "transaction_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Authorization": { + "stripe.Stripe.Charge.PaymentMethodDetails.Alma": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["issuing.authorization"],"required":true}, - "amount": {"dataType":"double","required":true}, - "amount_details": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Authorization.AmountDetails"},{"dataType":"enum","enums":[null]}],"required":true}, - "approved": {"dataType":"boolean","required":true}, - "authorization_method": {"ref":"stripe.Stripe.Issuing.Authorization.AuthorizationMethod","required":true}, - "balance_transactions": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.BalanceTransaction"},"required":true}, - "card": {"ref":"stripe.Stripe.Issuing.Card","required":true}, - "cardholder": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Issuing.Cardholder"},{"dataType":"enum","enums":[null]}],"required":true}, - "created": {"dataType":"double","required":true}, - "currency": {"dataType":"string","required":true}, - "fleet": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Authorization.Fleet"},{"dataType":"enum","enums":[null]}],"required":true}, - "fraud_challenges": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Issuing.Authorization.FraudChallenge"}},{"dataType":"enum","enums":[null]}]}, - "fuel": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Authorization.Fuel"},{"dataType":"enum","enums":[null]}],"required":true}, - "livemode": {"dataType":"boolean","required":true}, - "merchant_amount": {"dataType":"double","required":true}, - "merchant_currency": {"dataType":"string","required":true}, - "merchant_data": {"ref":"stripe.Stripe.Issuing.Authorization.MerchantData","required":true}, - "metadata": {"ref":"stripe.Stripe.Metadata","required":true}, - "network_data": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Authorization.NetworkData"},{"dataType":"enum","enums":[null]}],"required":true}, - "pending_request": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Authorization.PendingRequest"},{"dataType":"enum","enums":[null]}],"required":true}, - "request_history": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Issuing.Authorization.RequestHistory"},"required":true}, - "status": {"ref":"stripe.Stripe.Issuing.Authorization.Status","required":true}, - "token": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Issuing.Token"},{"dataType":"enum","enums":[null]}]}, - "transactions": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Issuing.Transaction"},"required":true}, - "treasury": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Authorization.Treasury"},{"dataType":"enum","enums":[null]}]}, - "verification_data": {"ref":"stripe.Stripe.Issuing.Authorization.VerificationData","required":true}, - "verified_by_fraud_challenge": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, - "wallet": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Dispute.Evidence.Canceled.ProductType": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["merchandise"]},{"dataType":"enum","enums":["service"]}],"validators":{}}, + "stripe.Stripe.Charge.PaymentMethodDetails.AmazonPay.Funding.Card": { + "dataType": "refObject", + "properties": { + "brand": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "exp_month": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "exp_year": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "funding": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Dispute.Evidence.Canceled.ReturnStatus": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["merchant_rejected"]},{"dataType":"enum","enums":["successful"]}],"validators":{}}, + "stripe.Stripe.Charge.PaymentMethodDetails.AmazonPay.Funding": { + "dataType": "refObject", + "properties": { + "card": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.AmazonPay.Funding.Card"}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["card"]},{"dataType":"enum","enums":[null]}],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Dispute.Evidence.Canceled": { + "stripe.Stripe.Charge.PaymentMethodDetails.AmazonPay": { "dataType": "refObject", "properties": { - "additional_documentation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, - "canceled_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "cancellation_policy_provided": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, - "cancellation_reason": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "expected_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "explanation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "product_description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "product_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Dispute.Evidence.Canceled.ProductType"},{"dataType":"enum","enums":[null]}],"required":true}, - "return_status": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Dispute.Evidence.Canceled.ReturnStatus"},{"dataType":"enum","enums":[null]}],"required":true}, - "returned_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "funding": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.AmazonPay.Funding"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Dispute.Evidence.Duplicate": { + "stripe.Stripe.Charge.PaymentMethodDetails.AuBecsDebit": { "dataType": "refObject", "properties": { - "additional_documentation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, - "card_statement": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, - "cash_receipt": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, - "check_image": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, - "explanation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "original_transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "bsb_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "mandate": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Dispute.Evidence.Fraudulent": { + "stripe.Stripe.Charge.PaymentMethodDetails.BacsDebit": { "dataType": "refObject", "properties": { - "additional_documentation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, - "explanation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "mandate": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "sort_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Dispute.Evidence.MerchandiseNotAsDescribed.ReturnStatus": { + "stripe.Stripe.Charge.PaymentMethodDetails.Bancontact.PreferredLanguage": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["merchant_rejected"]},{"dataType":"enum","enums":["successful"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["de"]},{"dataType":"enum","enums":["en"]},{"dataType":"enum","enums":["fr"]},{"dataType":"enum","enums":["nl"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Dispute.Evidence.MerchandiseNotAsDescribed": { + "stripe.Stripe.Charge.PaymentMethodDetails.Bancontact": { "dataType": "refObject", "properties": { - "additional_documentation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, - "explanation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "received_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "return_description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "return_status": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Dispute.Evidence.MerchandiseNotAsDescribed.ReturnStatus"},{"dataType":"enum","enums":[null]}],"required":true}, - "returned_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "bank_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "bic": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "generated_sepa_debit": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentMethod"},{"dataType":"enum","enums":[null]}],"required":true}, + "generated_sepa_debit_mandate": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Mandate"},{"dataType":"enum","enums":[null]}],"required":true}, + "iban_last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "preferred_language": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Bancontact.PreferredLanguage"},{"dataType":"enum","enums":[null]}],"required":true}, + "verified_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Dispute.Evidence.NoValidAuthorization": { + "stripe.Stripe.Charge.PaymentMethodDetails.Blik": { "dataType": "refObject", "properties": { - "additional_documentation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, - "explanation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "buyer_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Dispute.Evidence.NotReceived.ProductType": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["merchandise"]},{"dataType":"enum","enums":["service"]}],"validators":{}}, + "stripe.Stripe.Charge.PaymentMethodDetails.Boleto": { + "dataType": "refObject", + "properties": { + "tax_id": {"dataType":"string","required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Dispute.Evidence.NotReceived": { + "stripe.Stripe.Charge.PaymentMethodDetails.Card.Checks": { "dataType": "refObject", "properties": { - "additional_documentation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, - "expected_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "explanation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "product_description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "product_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Dispute.Evidence.NotReceived.ProductType"},{"dataType":"enum","enums":[null]}],"required":true}, + "address_line1_check": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "address_postal_code_check": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "cvc_check": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Dispute.Evidence.Other.ProductType": { + "stripe.Stripe.Charge.PaymentMethodDetails.Card.ExtendedAuthorization.Status": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["merchandise"]},{"dataType":"enum","enums":["service"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["disabled"]},{"dataType":"enum","enums":["enabled"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Dispute.Evidence.Other": { + "stripe.Stripe.Charge.PaymentMethodDetails.Card.ExtendedAuthorization": { "dataType": "refObject", "properties": { - "additional_documentation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, - "explanation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "product_description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "product_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Dispute.Evidence.Other.ProductType"},{"dataType":"enum","enums":[null]}],"required":true}, + "status": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.ExtendedAuthorization.Status","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Dispute.Evidence.Reason": { + "stripe.Stripe.Charge.PaymentMethodDetails.Card.IncrementalAuthorization.Status": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["canceled"]},{"dataType":"enum","enums":["duplicate"]},{"dataType":"enum","enums":["fraudulent"]},{"dataType":"enum","enums":["merchandise_not_as_described"]},{"dataType":"enum","enums":["no_valid_authorization"]},{"dataType":"enum","enums":["not_received"]},{"dataType":"enum","enums":["other"]},{"dataType":"enum","enums":["service_not_as_described"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["available"]},{"dataType":"enum","enums":["unavailable"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Dispute.Evidence.ServiceNotAsDescribed": { + "stripe.Stripe.Charge.PaymentMethodDetails.Card.IncrementalAuthorization": { "dataType": "refObject", "properties": { - "additional_documentation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, - "canceled_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "cancellation_reason": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "explanation": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "received_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "status": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.IncrementalAuthorization.Status","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Dispute.Evidence": { + "stripe.Stripe.Charge.PaymentMethodDetails.Card.Installments.Plan": { "dataType": "refObject", "properties": { - "canceled": {"ref":"stripe.Stripe.Issuing.Dispute.Evidence.Canceled"}, - "duplicate": {"ref":"stripe.Stripe.Issuing.Dispute.Evidence.Duplicate"}, - "fraudulent": {"ref":"stripe.Stripe.Issuing.Dispute.Evidence.Fraudulent"}, - "merchandise_not_as_described": {"ref":"stripe.Stripe.Issuing.Dispute.Evidence.MerchandiseNotAsDescribed"}, - "no_valid_authorization": {"ref":"stripe.Stripe.Issuing.Dispute.Evidence.NoValidAuthorization"}, - "not_received": {"ref":"stripe.Stripe.Issuing.Dispute.Evidence.NotReceived"}, - "other": {"ref":"stripe.Stripe.Issuing.Dispute.Evidence.Other"}, - "reason": {"ref":"stripe.Stripe.Issuing.Dispute.Evidence.Reason","required":true}, - "service_not_as_described": {"ref":"stripe.Stripe.Issuing.Dispute.Evidence.ServiceNotAsDescribed"}, + "count": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "interval": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["month"]},{"dataType":"enum","enums":[null]}],"required":true}, + "type": {"dataType":"enum","enums":["fixed_count"],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Dispute.LossReason": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["cardholder_authentication_issuer_liability"]},{"dataType":"enum","enums":["eci5_token_transaction_with_tavv"]},{"dataType":"enum","enums":["excess_disputes_in_timeframe"]},{"dataType":"enum","enums":["has_not_met_the_minimum_dispute_amount_requirements"]},{"dataType":"enum","enums":["invalid_duplicate_dispute"]},{"dataType":"enum","enums":["invalid_incorrect_amount_dispute"]},{"dataType":"enum","enums":["invalid_no_authorization"]},{"dataType":"enum","enums":["invalid_use_of_disputes"]},{"dataType":"enum","enums":["merchandise_delivered_or_shipped"]},{"dataType":"enum","enums":["merchandise_or_service_as_described"]},{"dataType":"enum","enums":["not_cancelled"]},{"dataType":"enum","enums":["other"]},{"dataType":"enum","enums":["refund_issued"]},{"dataType":"enum","enums":["submitted_beyond_allowable_time_limit"]},{"dataType":"enum","enums":["transaction_3ds_required"]},{"dataType":"enum","enums":["transaction_approved_after_prior_fraud_dispute"]},{"dataType":"enum","enums":["transaction_authorized"]},{"dataType":"enum","enums":["transaction_electronically_read"]},{"dataType":"enum","enums":["transaction_qualifies_for_visa_easy_payment_service"]},{"dataType":"enum","enums":["transaction_unattended"]}],"validators":{}}, + "stripe.Stripe.Charge.PaymentMethodDetails.Card.Installments": { + "dataType": "refObject", + "properties": { + "plan": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.Installments.Plan"},{"dataType":"enum","enums":[null]}],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Dispute.Status": { + "stripe.Stripe.Charge.PaymentMethodDetails.Card.Multicapture.Status": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["expired"]},{"dataType":"enum","enums":["lost"]},{"dataType":"enum","enums":["submitted"]},{"dataType":"enum","enums":["unsubmitted"]},{"dataType":"enum","enums":["won"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["available"]},{"dataType":"enum","enums":["unavailable"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Transaction": { + "stripe.Stripe.Charge.PaymentMethodDetails.Card.Multicapture": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["issuing.transaction"],"required":true}, - "amount": {"dataType":"double","required":true}, - "amount_details": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Transaction.AmountDetails"},{"dataType":"enum","enums":[null]}],"required":true}, - "authorization": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Issuing.Authorization"},{"dataType":"enum","enums":[null]}],"required":true}, - "balance_transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.BalanceTransaction"},{"dataType":"enum","enums":[null]}],"required":true}, - "card": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Issuing.Card"}],"required":true}, - "cardholder": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Issuing.Cardholder"},{"dataType":"enum","enums":[null]}],"required":true}, - "created": {"dataType":"double","required":true}, - "currency": {"dataType":"string","required":true}, - "dispute": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Issuing.Dispute"},{"dataType":"enum","enums":[null]}],"required":true}, - "livemode": {"dataType":"boolean","required":true}, - "merchant_amount": {"dataType":"double","required":true}, - "merchant_currency": {"dataType":"string","required":true}, - "merchant_data": {"ref":"stripe.Stripe.Issuing.Transaction.MerchantData","required":true}, - "metadata": {"ref":"stripe.Stripe.Metadata","required":true}, - "network_data": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Transaction.NetworkData"},{"dataType":"enum","enums":[null]}],"required":true}, - "purchase_details": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Transaction.PurchaseDetails"},{"dataType":"enum","enums":[null]}]}, - "token": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Issuing.Token"},{"dataType":"enum","enums":[null]}]}, - "treasury": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Transaction.Treasury"},{"dataType":"enum","enums":[null]}]}, - "type": {"ref":"stripe.Stripe.Issuing.Transaction.Type","required":true}, - "wallet": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Transaction.Wallet"},{"dataType":"enum","enums":[null]}],"required":true}, + "status": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.Multicapture.Status","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Dispute.Treasury": { + "stripe.Stripe.Charge.PaymentMethodDetails.Card.NetworkToken": { "dataType": "refObject", "properties": { - "debit_reversal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "received_debit": {"dataType":"string","required":true}, + "used": {"dataType":"boolean","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Dispute": { - "dataType": "refObject", - "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["issuing.dispute"],"required":true}, - "amount": {"dataType":"double","required":true}, - "balance_transactions": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.BalanceTransaction"}},{"dataType":"enum","enums":[null]}]}, - "created": {"dataType":"double","required":true}, - "currency": {"dataType":"string","required":true}, - "evidence": {"ref":"stripe.Stripe.Issuing.Dispute.Evidence","required":true}, - "livemode": {"dataType":"boolean","required":true}, - "loss_reason": {"ref":"stripe.Stripe.Issuing.Dispute.LossReason"}, - "metadata": {"ref":"stripe.Stripe.Metadata","required":true}, - "status": {"ref":"stripe.Stripe.Issuing.Dispute.Status","required":true}, - "transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Issuing.Transaction"}],"required":true}, - "treasury": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Dispute.Treasury"},{"dataType":"enum","enums":[null]}]}, - }, - "additionalProperties": false, + "stripe.Stripe.Charge.PaymentMethodDetails.Card.Overcapture.Status": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["available"]},{"dataType":"enum","enums":["unavailable"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Transaction.MerchantData": { + "stripe.Stripe.Charge.PaymentMethodDetails.Card.Overcapture": { "dataType": "refObject", "properties": { - "category": {"dataType":"string","required":true}, - "category_code": {"dataType":"string","required":true}, - "city": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "network_id": {"dataType":"string","required":true}, - "postal_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "state": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "tax_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "terminal_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "maximum_amount_capturable": {"dataType":"double","required":true}, + "status": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.Overcapture.Status","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Transaction.NetworkData": { + "stripe.Stripe.Charge.PaymentMethodDetails.Card.RegulatedStatus": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["regulated"]},{"dataType":"enum","enums":["unregulated"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.AuthenticationFlow": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["challenge"]},{"dataType":"enum","enums":["frictionless"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.ElectronicCommerceIndicator": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["01"]},{"dataType":"enum","enums":["02"]},{"dataType":"enum","enums":["05"]},{"dataType":"enum","enums":["06"]},{"dataType":"enum","enums":["07"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.ExemptionIndicator": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["low_risk"]},{"dataType":"enum","enums":["none"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.Result": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["attempt_acknowledged"]},{"dataType":"enum","enums":["authenticated"]},{"dataType":"enum","enums":["exempted"]},{"dataType":"enum","enums":["failed"]},{"dataType":"enum","enums":["not_supported"]},{"dataType":"enum","enums":["processing_error"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.ResultReason": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["abandoned"]},{"dataType":"enum","enums":["bypassed"]},{"dataType":"enum","enums":["canceled"]},{"dataType":"enum","enums":["card_not_enrolled"]},{"dataType":"enum","enums":["network_not_supported"]},{"dataType":"enum","enums":["protocol_error"]},{"dataType":"enum","enums":["rejected"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.Version": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["1.0.2"]},{"dataType":"enum","enums":["2.1.0"]},{"dataType":"enum","enums":["2.2.0"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure": { "dataType": "refObject", "properties": { - "authorization_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "processing_date": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "authentication_flow": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.AuthenticationFlow"},{"dataType":"enum","enums":[null]}],"required":true}, + "electronic_commerce_indicator": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.ElectronicCommerceIndicator"},{"dataType":"enum","enums":[null]}],"required":true}, + "exemption_indicator": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.ExemptionIndicator"},{"dataType":"enum","enums":[null]}],"required":true}, + "exemption_indicator_applied": {"dataType":"boolean"}, + "result": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.Result"},{"dataType":"enum","enums":[null]}],"required":true}, + "result_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.ResultReason"},{"dataType":"enum","enums":[null]}],"required":true}, "transaction_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "version": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.Version"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet.CardholderPromptData": { + "stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.AmexExpressCheckout": { "dataType": "refObject", "properties": { - "driver_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "odometer": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "unspecified_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "user_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "vehicle_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet.ReportedBreakdown.Fuel": { + "stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.ApplePay": { "dataType": "refObject", "properties": { - "gross_amount_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet.ReportedBreakdown.NonFuel": { + "stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.GooglePay": { "dataType": "refObject", "properties": { - "gross_amount_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet.ReportedBreakdown.Tax": { + "stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.Link": { "dataType": "refObject", "properties": { - "local_amount_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "national_amount_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet.ReportedBreakdown": { + "stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.Masterpass": { "dataType": "refObject", "properties": { - "fuel": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet.ReportedBreakdown.Fuel"},{"dataType":"enum","enums":[null]}],"required":true}, - "non_fuel": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet.ReportedBreakdown.NonFuel"},{"dataType":"enum","enums":[null]}],"required":true}, - "tax": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet.ReportedBreakdown.Tax"},{"dataType":"enum","enums":[null]}],"required":true}, + "billing_address": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Address"},{"dataType":"enum","enums":[null]}],"required":true}, + "email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "shipping_address": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Address"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet": { + "stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.SamsungPay": { "dataType": "refObject", "properties": { - "cardholder_prompt_data": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet.CardholderPromptData"},{"dataType":"enum","enums":[null]}],"required":true}, - "purchase_type": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "reported_breakdown": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet.ReportedBreakdown"},{"dataType":"enum","enums":[null]}],"required":true}, - "service_type": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Flight.Segment": { - "dataType": "refObject", - "properties": { - "arrival_airport_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "carrier": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "departure_airport_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "flight_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "service_class": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "stopover_allowed": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.Type": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["amex_express_checkout"]},{"dataType":"enum","enums":["apple_pay"]},{"dataType":"enum","enums":["google_pay"]},{"dataType":"enum","enums":["link"]},{"dataType":"enum","enums":["masterpass"]},{"dataType":"enum","enums":["samsung_pay"]},{"dataType":"enum","enums":["visa_checkout"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Flight": { + "stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.VisaCheckout": { "dataType": "refObject", "properties": { - "departure_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "passenger_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "refundable": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, - "segments": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Issuing.Transaction.PurchaseDetails.Flight.Segment"}},{"dataType":"enum","enums":[null]}],"required":true}, - "travel_agency": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "billing_address": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Address"},{"dataType":"enum","enums":[null]}],"required":true}, + "email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "shipping_address": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Address"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fuel": { + "stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet": { "dataType": "refObject", "properties": { - "industry_product_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "quantity_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "type": {"dataType":"string","required":true}, - "unit": {"dataType":"string","required":true}, - "unit_cost_decimal": {"dataType":"string","required":true}, + "amex_express_checkout": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.AmexExpressCheckout"}, + "apple_pay": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.ApplePay"}, + "dynamic_last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "google_pay": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.GooglePay"}, + "link": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.Link"}, + "masterpass": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.Masterpass"}, + "samsung_pay": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.SamsungPay"}, + "type": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.Type","required":true}, + "visa_checkout": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.VisaCheckout"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Lodging": { + "stripe.Stripe.Charge.PaymentMethodDetails.Card": { "dataType": "refObject", "properties": { - "check_in_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "nights": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "amount_authorized": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "authorization_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "brand": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "capture_before": {"dataType":"double"}, + "checks": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.Checks"},{"dataType":"enum","enums":[null]}],"required":true}, + "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "exp_month": {"dataType":"double","required":true}, + "exp_year": {"dataType":"double","required":true}, + "extended_authorization": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.ExtendedAuthorization"}, + "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "funding": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "iin": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "incremental_authorization": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.IncrementalAuthorization"}, + "installments": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.Installments"},{"dataType":"enum","enums":[null]}],"required":true}, + "issuer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "mandate": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "moto": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}]}, + "multicapture": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.Multicapture"}, + "network": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "network_token": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.NetworkToken"},{"dataType":"enum","enums":[null]}]}, + "network_transaction_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "overcapture": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.Overcapture"}, + "regulated_status": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.RegulatedStatus"},{"dataType":"enum","enums":[null]}],"required":true}, + "three_d_secure": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure"},{"dataType":"enum","enums":[null]}],"required":true}, + "wallet": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Receipt": { + "stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.Offline": { "dataType": "refObject", "properties": { - "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "quantity": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "total": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "unit_cost": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "stored_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["deferred"]},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Transaction.PurchaseDetails": { - "dataType": "refObject", - "properties": { - "fleet": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet"},{"dataType":"enum","enums":[null]}],"required":true}, - "flight": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Transaction.PurchaseDetails.Flight"},{"dataType":"enum","enums":[null]}],"required":true}, - "fuel": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fuel"},{"dataType":"enum","enums":[null]}],"required":true}, - "lodging": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Transaction.PurchaseDetails.Lodging"},{"dataType":"enum","enums":[null]}],"required":true}, - "receipt": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Issuing.Transaction.PurchaseDetails.Receipt"}},{"dataType":"enum","enums":[null]}],"required":true}, - "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.ReadMethod": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["contact_emv"]},{"dataType":"enum","enums":["contactless_emv"]},{"dataType":"enum","enums":["contactless_magstripe_mode"]},{"dataType":"enum","enums":["magnetic_stripe_fallback"]},{"dataType":"enum","enums":["magnetic_stripe_track2"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Transaction.Treasury": { + "stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.Receipt.AccountType": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["checking"]},{"dataType":"enum","enums":["credit"]},{"dataType":"enum","enums":["prepaid"]},{"dataType":"enum","enums":["unknown"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.Receipt": { "dataType": "refObject", "properties": { - "received_credit": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "received_debit": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "account_type": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.Receipt.AccountType"}, + "application_cryptogram": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "application_preferred_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "authorization_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "authorization_response_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "cardholder_verification_method": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "dedicated_file_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "terminal_verification_results": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "transaction_status_information": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Transaction.Type": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["capture"]},{"dataType":"enum","enums":["refund"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Transaction.Wallet": { + "stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.Wallet.Type": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["apple_pay"]},{"dataType":"enum","enums":["google_pay"]},{"dataType":"enum","enums":["samsung_pay"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["apple_pay"]},{"dataType":"enum","enums":["google_pay"]},{"dataType":"enum","enums":["samsung_pay"]},{"dataType":"enum","enums":["unknown"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Authorization.Treasury": { + "stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.Wallet": { "dataType": "refObject", "properties": { - "received_credits": {"dataType":"array","array":{"dataType":"string"},"required":true}, - "received_debits": {"dataType":"array","array":{"dataType":"string"},"required":true}, - "transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "type": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.Wallet.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Authorization.VerificationData.AddressLine1Check": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["match"]},{"dataType":"enum","enums":["mismatch"]},{"dataType":"enum","enums":["not_provided"]}],"validators":{}}, + "stripe.Stripe.Charge.PaymentMethodDetails.CardPresent": { + "dataType": "refObject", + "properties": { + "amount_authorized": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "brand": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "brand_product": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "capture_before": {"dataType":"double"}, + "cardholder_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "emv_auth_data": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "exp_month": {"dataType":"double","required":true}, + "exp_year": {"dataType":"double","required":true}, + "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "funding": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "generated_card": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "iin": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "incremental_authorization_supported": {"dataType":"boolean","required":true}, + "issuer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "network": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "network_transaction_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "offline": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.Offline"},{"dataType":"enum","enums":[null]}],"required":true}, + "overcapture_supported": {"dataType":"boolean","required":true}, + "preferred_locales": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, + "read_method": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.ReadMethod"},{"dataType":"enum","enums":[null]}],"required":true}, + "receipt": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.Receipt"},{"dataType":"enum","enums":[null]}],"required":true}, + "wallet": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.Wallet"}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Authorization.VerificationData.AddressPostalCodeCheck": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["match"]},{"dataType":"enum","enums":["mismatch"]},{"dataType":"enum","enums":["not_provided"]}],"validators":{}}, + "stripe.Stripe.Charge.PaymentMethodDetails.Cashapp": { + "dataType": "refObject", + "properties": { + "buyer_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "cashtag": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Authorization.VerificationData.AuthenticationExemption.ClaimedBy": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["acquirer"]},{"dataType":"enum","enums":["issuer"]}],"validators":{}}, + "stripe.Stripe.Charge.PaymentMethodDetails.CustomerBalance": { + "dataType": "refObject", + "properties": { + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Authorization.VerificationData.AuthenticationExemption.Type": { + "stripe.Stripe.Charge.PaymentMethodDetails.Eps.Bank": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["low_value_transaction"]},{"dataType":"enum","enums":["transaction_risk_analysis"]},{"dataType":"enum","enums":["unknown"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["arzte_und_apotheker_bank"]},{"dataType":"enum","enums":["austrian_anadi_bank_ag"]},{"dataType":"enum","enums":["bank_austria"]},{"dataType":"enum","enums":["bankhaus_carl_spangler"]},{"dataType":"enum","enums":["bankhaus_schelhammer_und_schattera_ag"]},{"dataType":"enum","enums":["bawag_psk_ag"]},{"dataType":"enum","enums":["bks_bank_ag"]},{"dataType":"enum","enums":["brull_kallmus_bank_ag"]},{"dataType":"enum","enums":["btv_vier_lander_bank"]},{"dataType":"enum","enums":["capital_bank_grawe_gruppe_ag"]},{"dataType":"enum","enums":["deutsche_bank_ag"]},{"dataType":"enum","enums":["dolomitenbank"]},{"dataType":"enum","enums":["easybank_ag"]},{"dataType":"enum","enums":["erste_bank_und_sparkassen"]},{"dataType":"enum","enums":["hypo_alpeadriabank_international_ag"]},{"dataType":"enum","enums":["hypo_bank_burgenland_aktiengesellschaft"]},{"dataType":"enum","enums":["hypo_noe_lb_fur_niederosterreich_u_wien"]},{"dataType":"enum","enums":["hypo_oberosterreich_salzburg_steiermark"]},{"dataType":"enum","enums":["hypo_tirol_bank_ag"]},{"dataType":"enum","enums":["hypo_vorarlberg_bank_ag"]},{"dataType":"enum","enums":["marchfelder_bank"]},{"dataType":"enum","enums":["oberbank_ag"]},{"dataType":"enum","enums":["raiffeisen_bankengruppe_osterreich"]},{"dataType":"enum","enums":["schoellerbank_ag"]},{"dataType":"enum","enums":["sparda_bank_wien"]},{"dataType":"enum","enums":["volksbank_gruppe"]},{"dataType":"enum","enums":["volkskreditbank_ag"]},{"dataType":"enum","enums":["vr_bank_braunau"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Authorization.VerificationData.AuthenticationExemption": { + "stripe.Stripe.Charge.PaymentMethodDetails.Eps": { "dataType": "refObject", "properties": { - "claimed_by": {"ref":"stripe.Stripe.Issuing.Authorization.VerificationData.AuthenticationExemption.ClaimedBy","required":true}, - "type": {"ref":"stripe.Stripe.Issuing.Authorization.VerificationData.AuthenticationExemption.Type","required":true}, + "bank": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Eps.Bank"},{"dataType":"enum","enums":[null]}],"required":true}, + "verified_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Authorization.VerificationData.CvcCheck": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["match"]},{"dataType":"enum","enums":["mismatch"]},{"dataType":"enum","enums":["not_provided"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Authorization.VerificationData.ExpiryCheck": { + "stripe.Stripe.Charge.PaymentMethodDetails.Fpx.AccountHolderType": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["match"]},{"dataType":"enum","enums":["mismatch"]},{"dataType":"enum","enums":["not_provided"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["company"]},{"dataType":"enum","enums":["individual"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Authorization.VerificationData.ThreeDSecure.Result": { + "stripe.Stripe.Charge.PaymentMethodDetails.Fpx.Bank": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["attempt_acknowledged"]},{"dataType":"enum","enums":["authenticated"]},{"dataType":"enum","enums":["failed"]},{"dataType":"enum","enums":["required"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["affin_bank"]},{"dataType":"enum","enums":["agrobank"]},{"dataType":"enum","enums":["alliance_bank"]},{"dataType":"enum","enums":["ambank"]},{"dataType":"enum","enums":["bank_islam"]},{"dataType":"enum","enums":["bank_muamalat"]},{"dataType":"enum","enums":["bank_of_china"]},{"dataType":"enum","enums":["bank_rakyat"]},{"dataType":"enum","enums":["bsn"]},{"dataType":"enum","enums":["cimb"]},{"dataType":"enum","enums":["deutsche_bank"]},{"dataType":"enum","enums":["hong_leong_bank"]},{"dataType":"enum","enums":["hsbc"]},{"dataType":"enum","enums":["kfh"]},{"dataType":"enum","enums":["maybank2e"]},{"dataType":"enum","enums":["maybank2u"]},{"dataType":"enum","enums":["ocbc"]},{"dataType":"enum","enums":["pb_enterprise"]},{"dataType":"enum","enums":["public_bank"]},{"dataType":"enum","enums":["rhb"]},{"dataType":"enum","enums":["standard_chartered"]},{"dataType":"enum","enums":["uob"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Authorization.VerificationData.ThreeDSecure": { + "stripe.Stripe.Charge.PaymentMethodDetails.Fpx": { "dataType": "refObject", "properties": { - "result": {"ref":"stripe.Stripe.Issuing.Authorization.VerificationData.ThreeDSecure.Result","required":true}, + "account_holder_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Fpx.AccountHolderType"},{"dataType":"enum","enums":[null]}],"required":true}, + "bank": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Fpx.Bank","required":true}, + "transaction_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Issuing.Authorization.VerificationData": { + "stripe.Stripe.Charge.PaymentMethodDetails.Giropay": { "dataType": "refObject", "properties": { - "address_line1_check": {"ref":"stripe.Stripe.Issuing.Authorization.VerificationData.AddressLine1Check","required":true}, - "address_postal_code_check": {"ref":"stripe.Stripe.Issuing.Authorization.VerificationData.AddressPostalCodeCheck","required":true}, - "authentication_exemption": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Authorization.VerificationData.AuthenticationExemption"},{"dataType":"enum","enums":[null]}],"required":true}, - "cvc_check": {"ref":"stripe.Stripe.Issuing.Authorization.VerificationData.CvcCheck","required":true}, - "expiry_check": {"ref":"stripe.Stripe.Issuing.Authorization.VerificationData.ExpiryCheck","required":true}, - "postal_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "three_d_secure": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Issuing.Authorization.VerificationData.ThreeDSecure"},{"dataType":"enum","enums":[null]}],"required":true}, + "bank_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "bic": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "verified_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.ExternalAccount": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.BankAccount"},{"ref":"stripe.Stripe.Card"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.DeletedBankAccount": { + "stripe.Stripe.Charge.PaymentMethodDetails.Grabpay": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["bank_account"],"required":true}, - "currency": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "deleted": {"dataType":"enum","enums":[true],"required":true}, + "transaction_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.DeletedCard": { - "dataType": "refObject", - "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["card"],"required":true}, - "currency": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "deleted": {"dataType":"enum","enums":[true],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Charge.PaymentMethodDetails.Ideal.Bank": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["abn_amro"]},{"dataType":"enum","enums":["asn_bank"]},{"dataType":"enum","enums":["bunq"]},{"dataType":"enum","enums":["handelsbanken"]},{"dataType":"enum","enums":["ing"]},{"dataType":"enum","enums":["knab"]},{"dataType":"enum","enums":["moneyou"]},{"dataType":"enum","enums":["n26"]},{"dataType":"enum","enums":["nn"]},{"dataType":"enum","enums":["rabobank"]},{"dataType":"enum","enums":["regiobank"]},{"dataType":"enum","enums":["revolut"]},{"dataType":"enum","enums":["sns_bank"]},{"dataType":"enum","enums":["triodos_bank"]},{"dataType":"enum","enums":["van_lanschot"]},{"dataType":"enum","enums":["yoursafe"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.DeletedExternalAccount": { + "stripe.Stripe.Charge.PaymentMethodDetails.Ideal.Bic": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.DeletedBankAccount"},{"ref":"stripe.Stripe.DeletedCard"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["ABNANL2A"]},{"dataType":"enum","enums":["ASNBNL21"]},{"dataType":"enum","enums":["BITSNL2A"]},{"dataType":"enum","enums":["BUNQNL2A"]},{"dataType":"enum","enums":["FVLBNL22"]},{"dataType":"enum","enums":["HANDNL2A"]},{"dataType":"enum","enums":["INGBNL2A"]},{"dataType":"enum","enums":["KNABNL2H"]},{"dataType":"enum","enums":["MOYONL21"]},{"dataType":"enum","enums":["NNBANL2G"]},{"dataType":"enum","enums":["NTSBDEB1"]},{"dataType":"enum","enums":["RABONL2U"]},{"dataType":"enum","enums":["RBRBNL21"]},{"dataType":"enum","enums":["REVOIE23"]},{"dataType":"enum","enums":["REVOLT21"]},{"dataType":"enum","enums":["SNSBNL2A"]},{"dataType":"enum","enums":["TRIONL2U"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Payout": { + "stripe.Stripe.Charge.PaymentMethodDetails.Ideal": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["payout"],"required":true}, - "amount": {"dataType":"double","required":true}, - "application_fee": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.ApplicationFee"},{"dataType":"enum","enums":[null]}],"required":true}, - "application_fee_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "arrival_date": {"dataType":"double","required":true}, - "automatic": {"dataType":"boolean","required":true}, - "balance_transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.BalanceTransaction"},{"dataType":"enum","enums":[null]}],"required":true}, - "created": {"dataType":"double","required":true}, - "currency": {"dataType":"string","required":true}, - "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "destination": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.ExternalAccount"},{"ref":"stripe.Stripe.DeletedExternalAccount"},{"dataType":"enum","enums":[null]}],"required":true}, - "failure_balance_transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.BalanceTransaction"},{"dataType":"enum","enums":[null]}],"required":true}, - "failure_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "failure_message": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "livemode": {"dataType":"boolean","required":true}, - "metadata": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Metadata"},{"dataType":"enum","enums":[null]}],"required":true}, - "method": {"dataType":"string","required":true}, - "original_payout": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Payout"},{"dataType":"enum","enums":[null]}],"required":true}, - "reconciliation_status": {"ref":"stripe.Stripe.Payout.ReconciliationStatus","required":true}, - "reversed_by": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Payout"},{"dataType":"enum","enums":[null]}],"required":true}, - "source_type": {"dataType":"string","required":true}, - "statement_descriptor": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "status": {"dataType":"string","required":true}, - "trace_id": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Payout.TraceId"},{"dataType":"enum","enums":[null]}],"required":true}, - "type": {"ref":"stripe.Stripe.Payout.Type","required":true}, + "bank": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Ideal.Bank"},{"dataType":"enum","enums":[null]}],"required":true}, + "bic": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Ideal.Bic"},{"dataType":"enum","enums":[null]}],"required":true}, + "generated_sepa_debit": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentMethod"},{"dataType":"enum","enums":[null]}],"required":true}, + "generated_sepa_debit_mandate": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Mandate"},{"dataType":"enum","enums":[null]}],"required":true}, + "iban_last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "verified_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Payout.ReconciliationStatus": { + "stripe.Stripe.Charge.PaymentMethodDetails.InteracPresent.ReadMethod": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["completed"]},{"dataType":"enum","enums":["in_progress"]},{"dataType":"enum","enums":["not_applicable"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["contact_emv"]},{"dataType":"enum","enums":["contactless_emv"]},{"dataType":"enum","enums":["contactless_magstripe_mode"]},{"dataType":"enum","enums":["magnetic_stripe_fallback"]},{"dataType":"enum","enums":["magnetic_stripe_track2"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Payout.TraceId": { + "stripe.Stripe.Charge.PaymentMethodDetails.InteracPresent.Receipt.AccountType": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["checking"]},{"dataType":"enum","enums":["savings"]},{"dataType":"enum","enums":["unknown"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Charge.PaymentMethodDetails.InteracPresent.Receipt": { "dataType": "refObject", "properties": { - "status": {"dataType":"string","required":true}, - "value": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "account_type": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.InteracPresent.Receipt.AccountType"}, + "application_cryptogram": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "application_preferred_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "authorization_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "authorization_response_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "cardholder_verification_method": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "dedicated_file_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "terminal_verification_results": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "transaction_status_information": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Payout.Type": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["bank_account"]},{"dataType":"enum","enums":["card"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.ReserveTransaction": { + "stripe.Stripe.Charge.PaymentMethodDetails.InteracPresent": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["reserve_transaction"],"required":true}, - "amount": {"dataType":"double","required":true}, - "currency": {"dataType":"string","required":true}, - "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "brand": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "cardholder_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "emv_auth_data": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "exp_month": {"dataType":"double","required":true}, + "exp_year": {"dataType":"double","required":true}, + "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "funding": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "generated_card": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "iin": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "issuer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "network": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "network_transaction_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "preferred_locales": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, + "read_method": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.InteracPresent.ReadMethod"},{"dataType":"enum","enums":[null]}],"required":true}, + "receipt": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.InteracPresent.Receipt"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.TaxDeductedAtSource": { + "stripe.Stripe.Charge.PaymentMethodDetails.KakaoPay": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["tax_deducted_at_source"],"required":true}, - "period_end": {"dataType":"double","required":true}, - "period_start": {"dataType":"double","required":true}, - "tax_deduction_account_number": {"dataType":"string","required":true}, + "buyer_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Topup.Status": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["canceled"]},{"dataType":"enum","enums":["failed"]},{"dataType":"enum","enums":["pending"]},{"dataType":"enum","enums":["reversed"]},{"dataType":"enum","enums":["succeeded"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Topup": { + "stripe.Stripe.Charge.PaymentMethodDetails.Klarna.PayerDetails.Address": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["topup"],"required":true}, - "amount": {"dataType":"double","required":true}, - "balance_transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.BalanceTransaction"},{"dataType":"enum","enums":[null]}],"required":true}, - "created": {"dataType":"double","required":true}, - "currency": {"dataType":"string","required":true}, - "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "expected_availability_date": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "failure_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "failure_message": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "livemode": {"dataType":"boolean","required":true}, - "metadata": {"ref":"stripe.Stripe.Metadata","required":true}, - "source": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Source"},{"dataType":"enum","enums":[null]}],"required":true}, - "statement_descriptor": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "status": {"ref":"stripe.Stripe.Topup.Status","required":true}, - "transfer_group": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.BalanceTransactionSource": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.ApplicationFee"},{"ref":"stripe.Stripe.Charge"},{"ref":"stripe.Stripe.ConnectCollectionTransfer"},{"ref":"stripe.Stripe.CustomerCashBalanceTransaction"},{"ref":"stripe.Stripe.Dispute"},{"ref":"stripe.Stripe.FeeRefund"},{"ref":"stripe.Stripe.Issuing.Authorization"},{"ref":"stripe.Stripe.Issuing.Dispute"},{"ref":"stripe.Stripe.Issuing.Transaction"},{"ref":"stripe.Stripe.Payout"},{"ref":"stripe.Stripe.Refund"},{"ref":"stripe.Stripe.ReserveTransaction"},{"ref":"stripe.Stripe.TaxDeductedAtSource"},{"ref":"stripe.Stripe.Topup"},{"ref":"stripe.Stripe.Transfer"},{"ref":"stripe.Stripe.TransferReversal"}],"validators":{}}, + "stripe.Stripe.Charge.PaymentMethodDetails.Klarna.PayerDetails": { + "dataType": "refObject", + "properties": { + "address": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Klarna.PayerDetails.Address"},{"dataType":"enum","enums":[null]}],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.BalanceTransaction.Type": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["adjustment"]},{"dataType":"enum","enums":["advance"]},{"dataType":"enum","enums":["advance_funding"]},{"dataType":"enum","enums":["anticipation_repayment"]},{"dataType":"enum","enums":["application_fee"]},{"dataType":"enum","enums":["application_fee_refund"]},{"dataType":"enum","enums":["charge"]},{"dataType":"enum","enums":["climate_order_purchase"]},{"dataType":"enum","enums":["climate_order_refund"]},{"dataType":"enum","enums":["connect_collection_transfer"]},{"dataType":"enum","enums":["contribution"]},{"dataType":"enum","enums":["issuing_authorization_hold"]},{"dataType":"enum","enums":["issuing_authorization_release"]},{"dataType":"enum","enums":["issuing_dispute"]},{"dataType":"enum","enums":["issuing_transaction"]},{"dataType":"enum","enums":["obligation_outbound"]},{"dataType":"enum","enums":["obligation_reversal_inbound"]},{"dataType":"enum","enums":["payment"]},{"dataType":"enum","enums":["payment_failure_refund"]},{"dataType":"enum","enums":["payment_network_reserve_hold"]},{"dataType":"enum","enums":["payment_network_reserve_release"]},{"dataType":"enum","enums":["payment_refund"]},{"dataType":"enum","enums":["payment_reversal"]},{"dataType":"enum","enums":["payment_unreconciled"]},{"dataType":"enum","enums":["payout"]},{"dataType":"enum","enums":["payout_cancel"]},{"dataType":"enum","enums":["payout_failure"]},{"dataType":"enum","enums":["payout_minimum_balance_hold"]},{"dataType":"enum","enums":["payout_minimum_balance_release"]},{"dataType":"enum","enums":["refund"]},{"dataType":"enum","enums":["refund_failure"]},{"dataType":"enum","enums":["reserve_transaction"]},{"dataType":"enum","enums":["reserved_funds"]},{"dataType":"enum","enums":["stripe_fee"]},{"dataType":"enum","enums":["stripe_fx_fee"]},{"dataType":"enum","enums":["tax_fee"]},{"dataType":"enum","enums":["topup"]},{"dataType":"enum","enums":["topup_reversal"]},{"dataType":"enum","enums":["transfer"]},{"dataType":"enum","enums":["transfer_cancel"]},{"dataType":"enum","enums":["transfer_failure"]},{"dataType":"enum","enums":["transfer_refund"]}],"validators":{}}, + "stripe.Stripe.Charge.PaymentMethodDetails.Klarna": { + "dataType": "refObject", + "properties": { + "payer_details": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Klarna.PayerDetails"},{"dataType":"enum","enums":[null]}],"required":true}, + "payment_method_category": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "preferred_locale": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.ApplicationFee.FeeSource.Type": { + "stripe.Stripe.Charge.PaymentMethodDetails.Konbini.Store.Chain": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["charge"]},{"dataType":"enum","enums":["payout"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["familymart"]},{"dataType":"enum","enums":["lawson"]},{"dataType":"enum","enums":["ministop"]},{"dataType":"enum","enums":["seicomart"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.ApplicationFee.FeeSource": { + "stripe.Stripe.Charge.PaymentMethodDetails.Konbini.Store": { "dataType": "refObject", "properties": { - "charge": {"dataType":"string"}, - "payout": {"dataType":"string"}, - "type": {"ref":"stripe.Stripe.ApplicationFee.FeeSource.Type","required":true}, + "chain": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Konbini.Store.Chain"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.ApiList_stripe.Stripe.FeeRefund_": { + "stripe.Stripe.Charge.PaymentMethodDetails.Konbini": { "dataType": "refObject", "properties": { - "object": {"dataType":"enum","enums":["list"],"required":true}, - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.FeeRefund"},"required":true}, - "has_more": {"dataType":"boolean","required":true}, - "url": {"dataType":"string","required":true}, + "store": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Konbini.Store"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.BillingDetails": { - "dataType": "refObject", - "properties": { - "address": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Address"},{"dataType":"enum","enums":[null]}],"required":true}, - "email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "phone": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Charge.PaymentMethodDetails.KrCard.Brand": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["bc"]},{"dataType":"enum","enums":["citi"]},{"dataType":"enum","enums":["hana"]},{"dataType":"enum","enums":["hyundai"]},{"dataType":"enum","enums":["jeju"]},{"dataType":"enum","enums":["jeonbuk"]},{"dataType":"enum","enums":["kakaobank"]},{"dataType":"enum","enums":["kbank"]},{"dataType":"enum","enums":["kdbbank"]},{"dataType":"enum","enums":["kookmin"]},{"dataType":"enum","enums":["kwangju"]},{"dataType":"enum","enums":["lotte"]},{"dataType":"enum","enums":["mg"]},{"dataType":"enum","enums":["nh"]},{"dataType":"enum","enums":["post"]},{"dataType":"enum","enums":["samsung"]},{"dataType":"enum","enums":["savingsbank"]},{"dataType":"enum","enums":["shinhan"]},{"dataType":"enum","enums":["shinhyup"]},{"dataType":"enum","enums":["suhyup"]},{"dataType":"enum","enums":["tossbank"]},{"dataType":"enum","enums":["woori"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.FraudDetails": { + "stripe.Stripe.Charge.PaymentMethodDetails.KrCard": { "dataType": "refObject", "properties": { - "stripe_report": {"dataType":"string"}, - "user_report": {"dataType":"string"}, + "brand": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.KrCard.Brand"},{"dataType":"enum","enums":[null]}],"required":true}, + "buyer_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice": { + "stripe.Stripe.Charge.PaymentMethodDetails.Link": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["invoice"],"required":true}, - "account_country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "account_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "account_tax_ids": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TaxId"},{"ref":"stripe.Stripe.DeletedTaxId"}]}},{"dataType":"enum","enums":[null]}],"required":true}, - "amount_due": {"dataType":"double","required":true}, - "amount_paid": {"dataType":"double","required":true}, - "amount_remaining": {"dataType":"double","required":true}, - "amount_shipping": {"dataType":"double","required":true}, - "application": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Application"},{"ref":"stripe.Stripe.DeletedApplication"},{"dataType":"enum","enums":[null]}],"required":true}, - "application_fee_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "attempt_count": {"dataType":"double","required":true}, - "attempted": {"dataType":"boolean","required":true}, - "auto_advance": {"dataType":"boolean"}, - "automatic_tax": {"ref":"stripe.Stripe.Invoice.AutomaticTax","required":true}, - "automatically_finalizes_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "billing_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.BillingReason"},{"dataType":"enum","enums":[null]}],"required":true}, - "charge": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Charge"},{"dataType":"enum","enums":[null]}],"required":true}, - "collection_method": {"ref":"stripe.Stripe.Invoice.CollectionMethod","required":true}, - "created": {"dataType":"double","required":true}, - "currency": {"dataType":"string","required":true}, - "custom_fields": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Invoice.CustomField"}},{"dataType":"enum","enums":[null]}],"required":true}, - "customer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Customer"},{"ref":"stripe.Stripe.DeletedCustomer"},{"dataType":"enum","enums":[null]}],"required":true}, - "customer_address": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Address"},{"dataType":"enum","enums":[null]}],"required":true}, - "customer_email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "customer_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "customer_phone": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "customer_shipping": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.CustomerShipping"},{"dataType":"enum","enums":[null]}],"required":true}, - "customer_tax_exempt": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.CustomerTaxExempt"},{"dataType":"enum","enums":[null]}],"required":true}, - "customer_tax_ids": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Invoice.CustomerTaxId"}},{"dataType":"enum","enums":[null]}]}, - "default_payment_method": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentMethod"},{"dataType":"enum","enums":[null]}],"required":true}, - "default_source": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.CustomerSource"},{"dataType":"enum","enums":[null]}],"required":true}, - "default_tax_rates": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.TaxRate"},"required":true}, - "deleted": {"dataType":"void"}, - "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "discount": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Discount"},{"dataType":"enum","enums":[null]}],"required":true}, - "discounts": {"dataType":"array","array":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Discount"},{"ref":"stripe.Stripe.DeletedDiscount"}]},"required":true}, - "due_date": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "effective_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "ending_balance": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "footer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "from_invoice": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.FromInvoice"},{"dataType":"enum","enums":[null]}],"required":true}, - "hosted_invoice_url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "invoice_pdf": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "issuer": {"ref":"stripe.Stripe.Invoice.Issuer","required":true}, - "last_finalization_error": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.LastFinalizationError"},{"dataType":"enum","enums":[null]}],"required":true}, - "latest_revision": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Invoice"},{"dataType":"enum","enums":[null]}],"required":true}, - "lines": {"ref":"stripe.Stripe.ApiList_stripe.Stripe.InvoiceLineItem_","required":true}, - "livemode": {"dataType":"boolean","required":true}, - "metadata": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Metadata"},{"dataType":"enum","enums":[null]}],"required":true}, - "next_payment_attempt": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "on_behalf_of": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"},{"dataType":"enum","enums":[null]}],"required":true}, - "paid": {"dataType":"boolean","required":true}, - "paid_out_of_band": {"dataType":"boolean","required":true}, - "payment_intent": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentIntent"},{"dataType":"enum","enums":[null]}],"required":true}, - "payment_settings": {"ref":"stripe.Stripe.Invoice.PaymentSettings","required":true}, - "period_end": {"dataType":"double","required":true}, - "period_start": {"dataType":"double","required":true}, - "post_payment_credit_notes_amount": {"dataType":"double","required":true}, - "pre_payment_credit_notes_amount": {"dataType":"double","required":true}, - "quote": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Quote"},{"dataType":"enum","enums":[null]}],"required":true}, - "receipt_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "rendering": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.Rendering"},{"dataType":"enum","enums":[null]}],"required":true}, - "shipping_cost": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.ShippingCost"},{"dataType":"enum","enums":[null]}],"required":true}, - "shipping_details": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.ShippingDetails"},{"dataType":"enum","enums":[null]}],"required":true}, - "starting_balance": {"dataType":"double","required":true}, - "statement_descriptor": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "status": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.Status"},{"dataType":"enum","enums":[null]}],"required":true}, - "status_transitions": {"ref":"stripe.Stripe.Invoice.StatusTransitions","required":true}, - "subscription": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Subscription"},{"dataType":"enum","enums":[null]}],"required":true}, - "subscription_details": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.SubscriptionDetails"},{"dataType":"enum","enums":[null]}],"required":true}, - "subscription_proration_date": {"dataType":"double"}, - "subtotal": {"dataType":"double","required":true}, - "subtotal_excluding_tax": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "tax": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "test_clock": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TestHelpers.TestClock"},{"dataType":"enum","enums":[null]}],"required":true}, - "threshold_reason": {"ref":"stripe.Stripe.Invoice.ThresholdReason"}, - "total": {"dataType":"double","required":true}, - "total_discount_amounts": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Invoice.TotalDiscountAmount"}},{"dataType":"enum","enums":[null]}],"required":true}, - "total_excluding_tax": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "total_pretax_credit_amounts": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Invoice.TotalPretaxCreditAmount"}},{"dataType":"enum","enums":[null]}],"required":true}, - "total_tax_amounts": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Invoice.TotalTaxAmount"},"required":true}, - "transfer_data": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.TransferData"},{"dataType":"enum","enums":[null]}],"required":true}, - "webhooks_delivered_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.Level3.LineItem": { + "stripe.Stripe.Charge.PaymentMethodDetails.Mobilepay.Card": { "dataType": "refObject", "properties": { - "discount_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "product_code": {"dataType":"string","required":true}, - "product_description": {"dataType":"string","required":true}, - "quantity": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "tax_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "unit_cost": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "brand": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "exp_month": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "exp_year": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.Level3": { + "stripe.Stripe.Charge.PaymentMethodDetails.Mobilepay": { "dataType": "refObject", "properties": { - "customer_reference": {"dataType":"string"}, - "line_items": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Charge.Level3.LineItem"},"required":true}, - "merchant_reference": {"dataType":"string","required":true}, - "shipping_address_zip": {"dataType":"string"}, - "shipping_amount": {"dataType":"double"}, - "shipping_from_zip": {"dataType":"string"}, + "card": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Mobilepay.Card"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.Outcome.AdviceCode": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["confirm_card_data"]},{"dataType":"enum","enums":["do_not_try_again"]},{"dataType":"enum","enums":["try_again_later"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.Outcome.Rule": { + "stripe.Stripe.Charge.PaymentMethodDetails.Multibanco": { "dataType": "refObject", "properties": { - "action": {"dataType":"string","required":true}, - "id": {"dataType":"string","required":true}, - "predicate": {"dataType":"string","required":true}, + "entity": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.Outcome": { + "stripe.Stripe.Charge.PaymentMethodDetails.NaverPay": { "dataType": "refObject", "properties": { - "advice_code": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.Outcome.AdviceCode"},{"dataType":"enum","enums":[null]}],"required":true}, - "network_advice_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "network_decline_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "network_status": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "reason": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "risk_level": {"dataType":"string"}, - "risk_score": {"dataType":"double"}, - "rule": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Charge.Outcome.Rule"}]}, - "seller_message": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "type": {"dataType":"string","required":true}, + "buyer_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.AchCreditTransfer": { + "stripe.Stripe.Charge.PaymentMethodDetails.Oxxo": { "dataType": "refObject", "properties": { - "account_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "routing_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "swift_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.AchDebit.AccountHolderType": { + "stripe.Stripe.Charge.PaymentMethodDetails.P24.Bank": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["company"]},{"dataType":"enum","enums":["individual"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["alior_bank"]},{"dataType":"enum","enums":["bank_millennium"]},{"dataType":"enum","enums":["bank_nowy_bfg_sa"]},{"dataType":"enum","enums":["bank_pekao_sa"]},{"dataType":"enum","enums":["banki_spbdzielcze"]},{"dataType":"enum","enums":["blik"]},{"dataType":"enum","enums":["bnp_paribas"]},{"dataType":"enum","enums":["boz"]},{"dataType":"enum","enums":["citi_handlowy"]},{"dataType":"enum","enums":["credit_agricole"]},{"dataType":"enum","enums":["envelobank"]},{"dataType":"enum","enums":["etransfer_pocztowy24"]},{"dataType":"enum","enums":["getin_bank"]},{"dataType":"enum","enums":["ideabank"]},{"dataType":"enum","enums":["ing"]},{"dataType":"enum","enums":["inteligo"]},{"dataType":"enum","enums":["mbank_mtransfer"]},{"dataType":"enum","enums":["nest_przelew"]},{"dataType":"enum","enums":["noble_pay"]},{"dataType":"enum","enums":["pbac_z_ipko"]},{"dataType":"enum","enums":["plus_bank"]},{"dataType":"enum","enums":["santander_przelew24"]},{"dataType":"enum","enums":["tmobile_usbugi_bankowe"]},{"dataType":"enum","enums":["toyota_bank"]},{"dataType":"enum","enums":["velobank"]},{"dataType":"enum","enums":["volkswagen_bank"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.AchDebit": { + "stripe.Stripe.Charge.PaymentMethodDetails.P24": { "dataType": "refObject", "properties": { - "account_holder_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.AchDebit.AccountHolderType"},{"dataType":"enum","enums":[null]}],"required":true}, - "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "routing_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "bank": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.P24.Bank"},{"dataType":"enum","enums":[null]}],"required":true}, + "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "verified_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.AcssDebit": { + "stripe.Stripe.Charge.PaymentMethodDetails.PayByBank": { "dataType": "refObject", "properties": { - "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "institution_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "mandate": {"dataType":"string"}, - "transit_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Affirm": { + "stripe.Stripe.Charge.PaymentMethodDetails.Payco": { "dataType": "refObject", "properties": { - "transaction_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "buyer_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.AfterpayClearpay": { + "stripe.Stripe.Charge.PaymentMethodDetails.Paynow": { "dataType": "refObject", "properties": { - "order_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Alipay": { - "dataType": "refObject", - "properties": { - "buyer_id": {"dataType":"string"}, - "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "transaction_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - }, + "stripe.Stripe.Charge.PaymentMethodDetails.Paypal.SellerProtection.DisputeCategory": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["fraudulent"]},{"dataType":"enum","enums":["product_not_received"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Charge.PaymentMethodDetails.Paypal.SellerProtection.Status": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["eligible"]},{"dataType":"enum","enums":["not_eligible"]},{"dataType":"enum","enums":["partially_eligible"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Charge.PaymentMethodDetails.Paypal.SellerProtection": { + "dataType": "refObject", + "properties": { + "dispute_categories": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Charge.PaymentMethodDetails.Paypal.SellerProtection.DisputeCategory"}},{"dataType":"enum","enums":[null]}],"required":true}, + "status": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Paypal.SellerProtection.Status","required":true}, + }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Alma": { + "stripe.Stripe.Charge.PaymentMethodDetails.Paypal": { "dataType": "refObject", "properties": { + "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "payer_email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "payer_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "payer_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "seller_protection": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Paypal.SellerProtection"},{"dataType":"enum","enums":[null]}],"required":true}, + "transaction_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.AmazonPay.Funding.Card": { + "stripe.Stripe.Charge.PaymentMethodDetails.Pix": { + "dataType": "refObject", + "properties": { + "bank_transaction_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + }, + "additionalProperties": false, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Charge.PaymentMethodDetails.Promptpay": { + "dataType": "refObject", + "properties": { + "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + }, + "additionalProperties": false, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Charge.PaymentMethodDetails.RevolutPay.Funding.Card": { "dataType": "refObject", "properties": { "brand": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, @@ -8152,4158 +7697,3982 @@ const models: TsoaRoute.Models = { "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.AmazonPay.Funding": { + "stripe.Stripe.Charge.PaymentMethodDetails.RevolutPay.Funding": { "dataType": "refObject", "properties": { - "card": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.AmazonPay.Funding.Card"}, + "card": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.RevolutPay.Funding.Card"}, "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["card"]},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.AmazonPay": { + "stripe.Stripe.Charge.PaymentMethodDetails.RevolutPay": { "dataType": "refObject", "properties": { - "funding": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.AmazonPay.Funding"}, + "funding": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.RevolutPay.Funding"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.AuBecsDebit": { + "stripe.Stripe.Charge.PaymentMethodDetails.SamsungPay": { "dataType": "refObject", "properties": { - "bsb_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "mandate": {"dataType":"string"}, + "buyer_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.BacsDebit": { + "stripe.Stripe.Charge.PaymentMethodDetails.SepaCreditTransfer": { + "dataType": "refObject", + "properties": { + "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "bic": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "iban": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + }, + "additionalProperties": false, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Charge.PaymentMethodDetails.SepaDebit": { "dataType": "refObject", "properties": { + "bank_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "branch_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, "mandate": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "sort_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Bancontact.PreferredLanguage": { + "stripe.Stripe.Charge.PaymentMethodDetails.Sofort.PreferredLanguage": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["de"]},{"dataType":"enum","enums":["en"]},{"dataType":"enum","enums":["fr"]},{"dataType":"enum","enums":["nl"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["de"]},{"dataType":"enum","enums":["en"]},{"dataType":"enum","enums":["es"]},{"dataType":"enum","enums":["fr"]},{"dataType":"enum","enums":["it"]},{"dataType":"enum","enums":["nl"]},{"dataType":"enum","enums":["pl"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Bancontact": { + "stripe.Stripe.Charge.PaymentMethodDetails.Sofort": { "dataType": "refObject", "properties": { "bank_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, "bic": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, "generated_sepa_debit": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentMethod"},{"dataType":"enum","enums":[null]}],"required":true}, "generated_sepa_debit_mandate": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Mandate"},{"dataType":"enum","enums":[null]}],"required":true}, "iban_last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "preferred_language": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Bancontact.PreferredLanguage"},{"dataType":"enum","enums":[null]}],"required":true}, + "preferred_language": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Sofort.PreferredLanguage"},{"dataType":"enum","enums":[null]}],"required":true}, "verified_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Blik": { + "stripe.Stripe.Charge.PaymentMethodDetails.StripeAccount": { "dataType": "refObject", "properties": { - "buyer_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Boleto": { + "stripe.Stripe.Charge.PaymentMethodDetails.Swish": { "dataType": "refObject", "properties": { - "tax_id": {"dataType":"string","required":true}, + "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "payment_reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "verified_phone_last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Card.Checks": { + "stripe.Stripe.Charge.PaymentMethodDetails.Twint": { "dataType": "refObject", "properties": { - "address_line1_check": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "address_postal_code_check": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "cvc_check": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Card.ExtendedAuthorization.Status": { + "stripe.Stripe.Charge.PaymentMethodDetails.UsBankAccount.AccountHolderType": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["disabled"]},{"dataType":"enum","enums":["enabled"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["company"]},{"dataType":"enum","enums":["individual"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Card.ExtendedAuthorization": { + "stripe.Stripe.Charge.PaymentMethodDetails.UsBankAccount.AccountType": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["checking"]},{"dataType":"enum","enums":["savings"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Charge.PaymentMethodDetails.UsBankAccount": { "dataType": "refObject", "properties": { - "status": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.ExtendedAuthorization.Status","required":true}, + "account_holder_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.UsBankAccount.AccountHolderType"},{"dataType":"enum","enums":[null]}],"required":true}, + "account_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.UsBankAccount.AccountType"},{"dataType":"enum","enums":[null]}],"required":true}, + "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "mandate": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Mandate"}]}, + "payment_reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "routing_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Card.IncrementalAuthorization.Status": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["available"]},{"dataType":"enum","enums":["unavailable"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Card.IncrementalAuthorization": { + "stripe.Stripe.Charge.PaymentMethodDetails.Wechat": { "dataType": "refObject", "properties": { - "status": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.IncrementalAuthorization.Status","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Card.Installments.Plan": { + "stripe.Stripe.Charge.PaymentMethodDetails.WechatPay": { "dataType": "refObject", "properties": { - "count": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "interval": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["month"]},{"dataType":"enum","enums":[null]}],"required":true}, - "type": {"dataType":"enum","enums":["fixed_count"],"required":true}, + "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "transaction_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Card.Installments": { + "stripe.Stripe.Charge.PaymentMethodDetails.Zip": { "dataType": "refObject", "properties": { - "plan": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.Installments.Plan"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Card.Multicapture.Status": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["available"]},{"dataType":"enum","enums":["unavailable"]}],"validators":{}}, + "stripe.Stripe.Charge.PaymentMethodDetails": { + "dataType": "refObject", + "properties": { + "ach_credit_transfer": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.AchCreditTransfer"}, + "ach_debit": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.AchDebit"}, + "acss_debit": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.AcssDebit"}, + "affirm": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Affirm"}, + "afterpay_clearpay": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.AfterpayClearpay"}, + "alipay": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Alipay"}, + "alma": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Alma"}, + "amazon_pay": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.AmazonPay"}, + "au_becs_debit": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.AuBecsDebit"}, + "bacs_debit": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.BacsDebit"}, + "bancontact": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Bancontact"}, + "blik": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Blik"}, + "boleto": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Boleto"}, + "card": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card"}, + "card_present": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.CardPresent"}, + "cashapp": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Cashapp"}, + "customer_balance": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.CustomerBalance"}, + "eps": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Eps"}, + "fpx": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Fpx"}, + "giropay": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Giropay"}, + "grabpay": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Grabpay"}, + "ideal": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Ideal"}, + "interac_present": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.InteracPresent"}, + "kakao_pay": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.KakaoPay"}, + "klarna": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Klarna"}, + "konbini": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Konbini"}, + "kr_card": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.KrCard"}, + "link": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Link"}, + "mobilepay": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Mobilepay"}, + "multibanco": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Multibanco"}, + "naver_pay": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.NaverPay"}, + "oxxo": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Oxxo"}, + "p24": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.P24"}, + "pay_by_bank": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.PayByBank"}, + "payco": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Payco"}, + "paynow": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Paynow"}, + "paypal": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Paypal"}, + "pix": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Pix"}, + "promptpay": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Promptpay"}, + "revolut_pay": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.RevolutPay"}, + "samsung_pay": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.SamsungPay"}, + "sepa_credit_transfer": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.SepaCreditTransfer"}, + "sepa_debit": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.SepaDebit"}, + "sofort": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Sofort"}, + "stripe_account": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.StripeAccount"}, + "swish": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Swish"}, + "twint": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Twint"}, + "type": {"dataType":"string","required":true}, + "us_bank_account": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.UsBankAccount"}, + "wechat": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Wechat"}, + "wechat_pay": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.WechatPay"}, + "zip": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Zip"}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Card.Multicapture": { + "stripe.Stripe.Charge.RadarOptions": { "dataType": "refObject", "properties": { - "status": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.Multicapture.Status","required":true}, + "session": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Card.NetworkToken": { + "stripe.Stripe.ApiList_stripe.Stripe.Refund_": { "dataType": "refObject", "properties": { - "used": {"dataType":"boolean","required":true}, + "object": {"dataType":"enum","enums":["list"],"required":true}, + "data": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Refund"},"required":true}, + "has_more": {"dataType":"boolean","required":true}, + "url": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Card.Overcapture.Status": { + "stripe.Stripe.Review.ClosedReason": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["available"]},{"dataType":"enum","enums":["unavailable"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["approved"]},{"dataType":"enum","enums":["disputed"]},{"dataType":"enum","enums":["redacted"]},{"dataType":"enum","enums":["refunded"]},{"dataType":"enum","enums":["refunded_as_fraud"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Card.Overcapture": { + "stripe.Stripe.Review.IpAddressLocation": { "dataType": "refObject", "properties": { - "maximum_amount_capturable": {"dataType":"double","required":true}, - "status": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.Overcapture.Status","required":true}, + "city": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "latitude": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "longitude": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "region": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Card.RegulatedStatus": { + "stripe.Stripe.Review.OpenedReason": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["regulated"]},{"dataType":"enum","enums":["unregulated"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["manual"]},{"dataType":"enum","enums":["rule"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.AuthenticationFlow": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["challenge"]},{"dataType":"enum","enums":["frictionless"]}],"validators":{}}, + "stripe.Stripe.Review.Session": { + "dataType": "refObject", + "properties": { + "browser": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "device": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "platform": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "version": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.ElectronicCommerceIndicator": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["01"]},{"dataType":"enum","enums":["02"]},{"dataType":"enum","enums":["05"]},{"dataType":"enum","enums":["06"]},{"dataType":"enum","enums":["07"]}],"validators":{}}, + "stripe.Stripe.Review": { + "dataType": "refObject", + "properties": { + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["review"],"required":true}, + "billing_zip": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "charge": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Charge"},{"dataType":"enum","enums":[null]}],"required":true}, + "closed_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Review.ClosedReason"},{"dataType":"enum","enums":[null]}],"required":true}, + "created": {"dataType":"double","required":true}, + "ip_address": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "ip_address_location": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Review.IpAddressLocation"},{"dataType":"enum","enums":[null]}],"required":true}, + "livemode": {"dataType":"boolean","required":true}, + "open": {"dataType":"boolean","required":true}, + "opened_reason": {"ref":"stripe.Stripe.Review.OpenedReason","required":true}, + "payment_intent": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentIntent"}]}, + "reason": {"dataType":"string","required":true}, + "session": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Review.Session"},{"dataType":"enum","enums":[null]}],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.ExemptionIndicator": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["low_risk"]},{"dataType":"enum","enums":["none"]}],"validators":{}}, + "stripe.Stripe.Charge.Shipping": { + "dataType": "refObject", + "properties": { + "address": {"ref":"stripe.Stripe.Address"}, + "carrier": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "name": {"dataType":"string"}, + "phone": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "tracking_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.Result": { + "stripe.Stripe.Charge.Status": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["attempt_acknowledged"]},{"dataType":"enum","enums":["authenticated"]},{"dataType":"enum","enums":["exempted"]},{"dataType":"enum","enums":["failed"]},{"dataType":"enum","enums":["not_supported"]},{"dataType":"enum","enums":["processing_error"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["failed"]},{"dataType":"enum","enums":["pending"]},{"dataType":"enum","enums":["succeeded"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.ResultReason": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["abandoned"]},{"dataType":"enum","enums":["bypassed"]},{"dataType":"enum","enums":["canceled"]},{"dataType":"enum","enums":["card_not_enrolled"]},{"dataType":"enum","enums":["network_not_supported"]},{"dataType":"enum","enums":["protocol_error"]},{"dataType":"enum","enums":["rejected"]}],"validators":{}}, + "stripe.Stripe.Charge.TransferData": { + "dataType": "refObject", + "properties": { + "amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "destination": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.Version": { + "stripe.Stripe.Invoice.CollectionMethod": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["1.0.2"]},{"dataType":"enum","enums":["2.1.0"]},{"dataType":"enum","enums":["2.2.0"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["charge_automatically"]},{"dataType":"enum","enums":["send_invoice"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure": { + "stripe.Stripe.Invoice.CustomField": { "dataType": "refObject", "properties": { - "authentication_flow": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.AuthenticationFlow"},{"dataType":"enum","enums":[null]}],"required":true}, - "electronic_commerce_indicator": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.ElectronicCommerceIndicator"},{"dataType":"enum","enums":[null]}],"required":true}, - "exemption_indicator": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.ExemptionIndicator"},{"dataType":"enum","enums":[null]}],"required":true}, - "exemption_indicator_applied": {"dataType":"boolean"}, - "result": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.Result"},{"dataType":"enum","enums":[null]}],"required":true}, - "result_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.ResultReason"},{"dataType":"enum","enums":[null]}],"required":true}, - "transaction_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "version": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.Version"},{"dataType":"enum","enums":[null]}],"required":true}, + "name": {"dataType":"string","required":true}, + "value": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.AmexExpressCheckout": { + "stripe.Stripe.Invoice.CustomerShipping": { "dataType": "refObject", "properties": { + "address": {"ref":"stripe.Stripe.Address"}, + "carrier": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "name": {"dataType":"string"}, + "phone": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "tracking_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.ApplePay": { - "dataType": "refObject", - "properties": { - }, - "additionalProperties": false, + "stripe.Stripe.Invoice.CustomerTaxExempt": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["exempt"]},{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["reverse"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.GooglePay": { - "dataType": "refObject", - "properties": { - }, - "additionalProperties": false, + "stripe.Stripe.Invoice.CustomerTaxId.Type": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["ad_nrt"]},{"dataType":"enum","enums":["ae_trn"]},{"dataType":"enum","enums":["al_tin"]},{"dataType":"enum","enums":["am_tin"]},{"dataType":"enum","enums":["ao_tin"]},{"dataType":"enum","enums":["ar_cuit"]},{"dataType":"enum","enums":["au_abn"]},{"dataType":"enum","enums":["au_arn"]},{"dataType":"enum","enums":["ba_tin"]},{"dataType":"enum","enums":["bb_tin"]},{"dataType":"enum","enums":["bg_uic"]},{"dataType":"enum","enums":["bh_vat"]},{"dataType":"enum","enums":["bo_tin"]},{"dataType":"enum","enums":["br_cnpj"]},{"dataType":"enum","enums":["br_cpf"]},{"dataType":"enum","enums":["bs_tin"]},{"dataType":"enum","enums":["by_tin"]},{"dataType":"enum","enums":["ca_bn"]},{"dataType":"enum","enums":["ca_gst_hst"]},{"dataType":"enum","enums":["ca_pst_bc"]},{"dataType":"enum","enums":["ca_pst_mb"]},{"dataType":"enum","enums":["ca_pst_sk"]},{"dataType":"enum","enums":["ca_qst"]},{"dataType":"enum","enums":["cd_nif"]},{"dataType":"enum","enums":["ch_uid"]},{"dataType":"enum","enums":["ch_vat"]},{"dataType":"enum","enums":["cl_tin"]},{"dataType":"enum","enums":["cn_tin"]},{"dataType":"enum","enums":["co_nit"]},{"dataType":"enum","enums":["cr_tin"]},{"dataType":"enum","enums":["de_stn"]},{"dataType":"enum","enums":["do_rcn"]},{"dataType":"enum","enums":["ec_ruc"]},{"dataType":"enum","enums":["eg_tin"]},{"dataType":"enum","enums":["es_cif"]},{"dataType":"enum","enums":["eu_oss_vat"]},{"dataType":"enum","enums":["eu_vat"]},{"dataType":"enum","enums":["gb_vat"]},{"dataType":"enum","enums":["ge_vat"]},{"dataType":"enum","enums":["gn_nif"]},{"dataType":"enum","enums":["hk_br"]},{"dataType":"enum","enums":["hr_oib"]},{"dataType":"enum","enums":["hu_tin"]},{"dataType":"enum","enums":["id_npwp"]},{"dataType":"enum","enums":["il_vat"]},{"dataType":"enum","enums":["in_gst"]},{"dataType":"enum","enums":["is_vat"]},{"dataType":"enum","enums":["jp_cn"]},{"dataType":"enum","enums":["jp_rn"]},{"dataType":"enum","enums":["jp_trn"]},{"dataType":"enum","enums":["ke_pin"]},{"dataType":"enum","enums":["kh_tin"]},{"dataType":"enum","enums":["kr_brn"]},{"dataType":"enum","enums":["kz_bin"]},{"dataType":"enum","enums":["li_uid"]},{"dataType":"enum","enums":["li_vat"]},{"dataType":"enum","enums":["ma_vat"]},{"dataType":"enum","enums":["md_vat"]},{"dataType":"enum","enums":["me_pib"]},{"dataType":"enum","enums":["mk_vat"]},{"dataType":"enum","enums":["mr_nif"]},{"dataType":"enum","enums":["mx_rfc"]},{"dataType":"enum","enums":["my_frp"]},{"dataType":"enum","enums":["my_itn"]},{"dataType":"enum","enums":["my_sst"]},{"dataType":"enum","enums":["ng_tin"]},{"dataType":"enum","enums":["no_vat"]},{"dataType":"enum","enums":["no_voec"]},{"dataType":"enum","enums":["np_pan"]},{"dataType":"enum","enums":["nz_gst"]},{"dataType":"enum","enums":["om_vat"]},{"dataType":"enum","enums":["pe_ruc"]},{"dataType":"enum","enums":["ph_tin"]},{"dataType":"enum","enums":["ro_tin"]},{"dataType":"enum","enums":["rs_pib"]},{"dataType":"enum","enums":["ru_inn"]},{"dataType":"enum","enums":["ru_kpp"]},{"dataType":"enum","enums":["sa_vat"]},{"dataType":"enum","enums":["sg_gst"]},{"dataType":"enum","enums":["sg_uen"]},{"dataType":"enum","enums":["si_tin"]},{"dataType":"enum","enums":["sn_ninea"]},{"dataType":"enum","enums":["sr_fin"]},{"dataType":"enum","enums":["sv_nit"]},{"dataType":"enum","enums":["th_vat"]},{"dataType":"enum","enums":["tj_tin"]},{"dataType":"enum","enums":["tr_tin"]},{"dataType":"enum","enums":["tw_vat"]},{"dataType":"enum","enums":["tz_vat"]},{"dataType":"enum","enums":["ua_vat"]},{"dataType":"enum","enums":["ug_tin"]},{"dataType":"enum","enums":["unknown"]},{"dataType":"enum","enums":["us_ein"]},{"dataType":"enum","enums":["uy_ruc"]},{"dataType":"enum","enums":["uz_tin"]},{"dataType":"enum","enums":["uz_vat"]},{"dataType":"enum","enums":["ve_rif"]},{"dataType":"enum","enums":["vn_tin"]},{"dataType":"enum","enums":["za_vat"]},{"dataType":"enum","enums":["zm_tin"]},{"dataType":"enum","enums":["zw_tin"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.Link": { + "stripe.Stripe.Invoice.CustomerTaxId": { "dataType": "refObject", "properties": { + "type": {"ref":"stripe.Stripe.Invoice.CustomerTaxId.Type","required":true}, + "value": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.Masterpass": { + "stripe.Stripe.TaxRate.FlatAmount": { "dataType": "refObject", "properties": { - "billing_address": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Address"},{"dataType":"enum","enums":[null]}],"required":true}, - "email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "shipping_address": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Address"},{"dataType":"enum","enums":[null]}],"required":true}, + "amount": {"dataType":"double","required":true}, + "currency": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.SamsungPay": { - "dataType": "refObject", - "properties": { - }, - "additionalProperties": false, + "stripe.Stripe.TaxRate.JurisdictionLevel": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["city"]},{"dataType":"enum","enums":["country"]},{"dataType":"enum","enums":["county"]},{"dataType":"enum","enums":["district"]},{"dataType":"enum","enums":["multiple"]},{"dataType":"enum","enums":["state"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.Type": { + "stripe.Stripe.TaxRate.RateType": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["amex_express_checkout"]},{"dataType":"enum","enums":["apple_pay"]},{"dataType":"enum","enums":["google_pay"]},{"dataType":"enum","enums":["link"]},{"dataType":"enum","enums":["masterpass"]},{"dataType":"enum","enums":["samsung_pay"]},{"dataType":"enum","enums":["visa_checkout"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["flat_amount"]},{"dataType":"enum","enums":["percentage"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.VisaCheckout": { + "stripe.Stripe.TaxRate.TaxType": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["amusement_tax"]},{"dataType":"enum","enums":["communications_tax"]},{"dataType":"enum","enums":["gst"]},{"dataType":"enum","enums":["hst"]},{"dataType":"enum","enums":["igst"]},{"dataType":"enum","enums":["jct"]},{"dataType":"enum","enums":["lease_tax"]},{"dataType":"enum","enums":["pst"]},{"dataType":"enum","enums":["qst"]},{"dataType":"enum","enums":["retail_delivery_fee"]},{"dataType":"enum","enums":["rst"]},{"dataType":"enum","enums":["sales_tax"]},{"dataType":"enum","enums":["service_tax"]},{"dataType":"enum","enums":["vat"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.TaxRate": { "dataType": "refObject", "properties": { - "billing_address": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Address"},{"dataType":"enum","enums":[null]}],"required":true}, - "email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "shipping_address": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Address"},{"dataType":"enum","enums":[null]}],"required":true}, + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["tax_rate"],"required":true}, + "active": {"dataType":"boolean","required":true}, + "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "created": {"dataType":"double","required":true}, + "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "display_name": {"dataType":"string","required":true}, + "effective_percentage": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "flat_amount": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.TaxRate.FlatAmount"},{"dataType":"enum","enums":[null]}],"required":true}, + "inclusive": {"dataType":"boolean","required":true}, + "jurisdiction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "jurisdiction_level": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.TaxRate.JurisdictionLevel"},{"dataType":"enum","enums":[null]}],"required":true}, + "livemode": {"dataType":"boolean","required":true}, + "metadata": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Metadata"},{"dataType":"enum","enums":[null]}],"required":true}, + "percentage": {"dataType":"double","required":true}, + "rate_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.TaxRate.RateType"},{"dataType":"enum","enums":[null]}],"required":true}, + "state": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "tax_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.TaxRate.TaxType"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet": { + "stripe.Stripe.DeletedDiscount": { "dataType": "refObject", "properties": { - "amex_express_checkout": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.AmexExpressCheckout"}, - "apple_pay": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.ApplePay"}, - "dynamic_last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "google_pay": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.GooglePay"}, - "link": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.Link"}, - "masterpass": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.Masterpass"}, - "samsung_pay": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.SamsungPay"}, - "type": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.Type","required":true}, - "visa_checkout": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.VisaCheckout"}, + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["discount"],"required":true}, + "checkout_session": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "coupon": {"ref":"stripe.Stripe.Coupon","required":true}, + "customer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Customer"},{"ref":"stripe.Stripe.DeletedCustomer"},{"dataType":"enum","enums":[null]}],"required":true}, + "deleted": {"dataType":"enum","enums":[true],"required":true}, + "invoice": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "invoice_item": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "promotion_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PromotionCode"},{"dataType":"enum","enums":[null]}],"required":true}, + "start": {"dataType":"double","required":true}, + "subscription": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "subscription_item": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Card": { + "stripe.Stripe.Invoice.FromInvoice": { "dataType": "refObject", "properties": { - "amount_authorized": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "authorization_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "brand": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "capture_before": {"dataType":"double"}, - "checks": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.Checks"},{"dataType":"enum","enums":[null]}],"required":true}, - "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "exp_month": {"dataType":"double","required":true}, - "exp_year": {"dataType":"double","required":true}, - "extended_authorization": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.ExtendedAuthorization"}, - "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "funding": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "iin": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "incremental_authorization": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.IncrementalAuthorization"}, - "installments": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.Installments"},{"dataType":"enum","enums":[null]}],"required":true}, - "issuer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "mandate": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "moto": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}]}, - "multicapture": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.Multicapture"}, - "network": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "network_token": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.NetworkToken"},{"dataType":"enum","enums":[null]}]}, - "network_transaction_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "overcapture": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.Overcapture"}, - "regulated_status": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.RegulatedStatus"},{"dataType":"enum","enums":[null]}],"required":true}, - "three_d_secure": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure"},{"dataType":"enum","enums":[null]}],"required":true}, - "wallet": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet"},{"dataType":"enum","enums":[null]}],"required":true}, + "action": {"dataType":"string","required":true}, + "invoice": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Invoice"}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.Offline": { + "stripe.Stripe.Invoice.Issuer.Type": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account"]},{"dataType":"enum","enums":["self"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Invoice.Issuer": { "dataType": "refObject", "properties": { - "stored_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["deferred"]},{"dataType":"enum","enums":[null]}],"required":true}, + "account": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}]}, + "type": {"ref":"stripe.Stripe.Invoice.Issuer.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.ReadMethod": { + "stripe.Stripe.Invoice.LastFinalizationError.Code": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["contact_emv"]},{"dataType":"enum","enums":["contactless_emv"]},{"dataType":"enum","enums":["contactless_magstripe_mode"]},{"dataType":"enum","enums":["magnetic_stripe_fallback"]},{"dataType":"enum","enums":["magnetic_stripe_track2"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account_closed"]},{"dataType":"enum","enums":["account_country_invalid_address"]},{"dataType":"enum","enums":["account_error_country_change_requires_additional_steps"]},{"dataType":"enum","enums":["account_information_mismatch"]},{"dataType":"enum","enums":["account_invalid"]},{"dataType":"enum","enums":["account_number_invalid"]},{"dataType":"enum","enums":["acss_debit_session_incomplete"]},{"dataType":"enum","enums":["alipay_upgrade_required"]},{"dataType":"enum","enums":["amount_too_large"]},{"dataType":"enum","enums":["amount_too_small"]},{"dataType":"enum","enums":["api_key_expired"]},{"dataType":"enum","enums":["application_fees_not_allowed"]},{"dataType":"enum","enums":["authentication_required"]},{"dataType":"enum","enums":["balance_insufficient"]},{"dataType":"enum","enums":["balance_invalid_parameter"]},{"dataType":"enum","enums":["bank_account_bad_routing_numbers"]},{"dataType":"enum","enums":["bank_account_declined"]},{"dataType":"enum","enums":["bank_account_exists"]},{"dataType":"enum","enums":["bank_account_restricted"]},{"dataType":"enum","enums":["bank_account_unusable"]},{"dataType":"enum","enums":["bank_account_unverified"]},{"dataType":"enum","enums":["bank_account_verification_failed"]},{"dataType":"enum","enums":["billing_invalid_mandate"]},{"dataType":"enum","enums":["bitcoin_upgrade_required"]},{"dataType":"enum","enums":["capture_charge_authorization_expired"]},{"dataType":"enum","enums":["capture_unauthorized_payment"]},{"dataType":"enum","enums":["card_decline_rate_limit_exceeded"]},{"dataType":"enum","enums":["card_declined"]},{"dataType":"enum","enums":["cardholder_phone_number_required"]},{"dataType":"enum","enums":["charge_already_captured"]},{"dataType":"enum","enums":["charge_already_refunded"]},{"dataType":"enum","enums":["charge_disputed"]},{"dataType":"enum","enums":["charge_exceeds_source_limit"]},{"dataType":"enum","enums":["charge_exceeds_transaction_limit"]},{"dataType":"enum","enums":["charge_expired_for_capture"]},{"dataType":"enum","enums":["charge_invalid_parameter"]},{"dataType":"enum","enums":["charge_not_refundable"]},{"dataType":"enum","enums":["clearing_code_unsupported"]},{"dataType":"enum","enums":["country_code_invalid"]},{"dataType":"enum","enums":["country_unsupported"]},{"dataType":"enum","enums":["coupon_expired"]},{"dataType":"enum","enums":["customer_max_payment_methods"]},{"dataType":"enum","enums":["customer_max_subscriptions"]},{"dataType":"enum","enums":["customer_tax_location_invalid"]},{"dataType":"enum","enums":["debit_not_authorized"]},{"dataType":"enum","enums":["email_invalid"]},{"dataType":"enum","enums":["expired_card"]},{"dataType":"enum","enums":["financial_connections_account_inactive"]},{"dataType":"enum","enums":["financial_connections_no_successful_transaction_refresh"]},{"dataType":"enum","enums":["forwarding_api_inactive"]},{"dataType":"enum","enums":["forwarding_api_invalid_parameter"]},{"dataType":"enum","enums":["forwarding_api_upstream_connection_error"]},{"dataType":"enum","enums":["forwarding_api_upstream_connection_timeout"]},{"dataType":"enum","enums":["idempotency_key_in_use"]},{"dataType":"enum","enums":["incorrect_address"]},{"dataType":"enum","enums":["incorrect_cvc"]},{"dataType":"enum","enums":["incorrect_number"]},{"dataType":"enum","enums":["incorrect_zip"]},{"dataType":"enum","enums":["instant_payouts_config_disabled"]},{"dataType":"enum","enums":["instant_payouts_currency_disabled"]},{"dataType":"enum","enums":["instant_payouts_limit_exceeded"]},{"dataType":"enum","enums":["instant_payouts_unsupported"]},{"dataType":"enum","enums":["insufficient_funds"]},{"dataType":"enum","enums":["intent_invalid_state"]},{"dataType":"enum","enums":["intent_verification_method_missing"]},{"dataType":"enum","enums":["invalid_card_type"]},{"dataType":"enum","enums":["invalid_characters"]},{"dataType":"enum","enums":["invalid_charge_amount"]},{"dataType":"enum","enums":["invalid_cvc"]},{"dataType":"enum","enums":["invalid_expiry_month"]},{"dataType":"enum","enums":["invalid_expiry_year"]},{"dataType":"enum","enums":["invalid_mandate_reference_prefix_format"]},{"dataType":"enum","enums":["invalid_number"]},{"dataType":"enum","enums":["invalid_source_usage"]},{"dataType":"enum","enums":["invalid_tax_location"]},{"dataType":"enum","enums":["invoice_no_customer_line_items"]},{"dataType":"enum","enums":["invoice_no_payment_method_types"]},{"dataType":"enum","enums":["invoice_no_subscription_line_items"]},{"dataType":"enum","enums":["invoice_not_editable"]},{"dataType":"enum","enums":["invoice_on_behalf_of_not_editable"]},{"dataType":"enum","enums":["invoice_payment_intent_requires_action"]},{"dataType":"enum","enums":["invoice_upcoming_none"]},{"dataType":"enum","enums":["livemode_mismatch"]},{"dataType":"enum","enums":["lock_timeout"]},{"dataType":"enum","enums":["missing"]},{"dataType":"enum","enums":["no_account"]},{"dataType":"enum","enums":["not_allowed_on_standard_account"]},{"dataType":"enum","enums":["out_of_inventory"]},{"dataType":"enum","enums":["ownership_declaration_not_allowed"]},{"dataType":"enum","enums":["parameter_invalid_empty"]},{"dataType":"enum","enums":["parameter_invalid_integer"]},{"dataType":"enum","enums":["parameter_invalid_string_blank"]},{"dataType":"enum","enums":["parameter_invalid_string_empty"]},{"dataType":"enum","enums":["parameter_missing"]},{"dataType":"enum","enums":["parameter_unknown"]},{"dataType":"enum","enums":["parameters_exclusive"]},{"dataType":"enum","enums":["payment_intent_action_required"]},{"dataType":"enum","enums":["payment_intent_authentication_failure"]},{"dataType":"enum","enums":["payment_intent_incompatible_payment_method"]},{"dataType":"enum","enums":["payment_intent_invalid_parameter"]},{"dataType":"enum","enums":["payment_intent_konbini_rejected_confirmation_number"]},{"dataType":"enum","enums":["payment_intent_mandate_invalid"]},{"dataType":"enum","enums":["payment_intent_payment_attempt_expired"]},{"dataType":"enum","enums":["payment_intent_payment_attempt_failed"]},{"dataType":"enum","enums":["payment_intent_unexpected_state"]},{"dataType":"enum","enums":["payment_method_bank_account_already_verified"]},{"dataType":"enum","enums":["payment_method_bank_account_blocked"]},{"dataType":"enum","enums":["payment_method_billing_details_address_missing"]},{"dataType":"enum","enums":["payment_method_configuration_failures"]},{"dataType":"enum","enums":["payment_method_currency_mismatch"]},{"dataType":"enum","enums":["payment_method_customer_decline"]},{"dataType":"enum","enums":["payment_method_invalid_parameter"]},{"dataType":"enum","enums":["payment_method_invalid_parameter_testmode"]},{"dataType":"enum","enums":["payment_method_microdeposit_failed"]},{"dataType":"enum","enums":["payment_method_microdeposit_verification_amounts_invalid"]},{"dataType":"enum","enums":["payment_method_microdeposit_verification_amounts_mismatch"]},{"dataType":"enum","enums":["payment_method_microdeposit_verification_attempts_exceeded"]},{"dataType":"enum","enums":["payment_method_microdeposit_verification_descriptor_code_mismatch"]},{"dataType":"enum","enums":["payment_method_microdeposit_verification_timeout"]},{"dataType":"enum","enums":["payment_method_not_available"]},{"dataType":"enum","enums":["payment_method_provider_decline"]},{"dataType":"enum","enums":["payment_method_provider_timeout"]},{"dataType":"enum","enums":["payment_method_unactivated"]},{"dataType":"enum","enums":["payment_method_unexpected_state"]},{"dataType":"enum","enums":["payment_method_unsupported_type"]},{"dataType":"enum","enums":["payout_reconciliation_not_ready"]},{"dataType":"enum","enums":["payouts_limit_exceeded"]},{"dataType":"enum","enums":["payouts_not_allowed"]},{"dataType":"enum","enums":["platform_account_required"]},{"dataType":"enum","enums":["platform_api_key_expired"]},{"dataType":"enum","enums":["postal_code_invalid"]},{"dataType":"enum","enums":["processing_error"]},{"dataType":"enum","enums":["product_inactive"]},{"dataType":"enum","enums":["progressive_onboarding_limit_exceeded"]},{"dataType":"enum","enums":["rate_limit"]},{"dataType":"enum","enums":["refer_to_customer"]},{"dataType":"enum","enums":["refund_disputed_payment"]},{"dataType":"enum","enums":["resource_already_exists"]},{"dataType":"enum","enums":["resource_missing"]},{"dataType":"enum","enums":["return_intent_already_processed"]},{"dataType":"enum","enums":["routing_number_invalid"]},{"dataType":"enum","enums":["secret_key_required"]},{"dataType":"enum","enums":["sepa_unsupported_account"]},{"dataType":"enum","enums":["setup_attempt_failed"]},{"dataType":"enum","enums":["setup_intent_authentication_failure"]},{"dataType":"enum","enums":["setup_intent_invalid_parameter"]},{"dataType":"enum","enums":["setup_intent_mandate_invalid"]},{"dataType":"enum","enums":["setup_intent_setup_attempt_expired"]},{"dataType":"enum","enums":["setup_intent_unexpected_state"]},{"dataType":"enum","enums":["shipping_address_invalid"]},{"dataType":"enum","enums":["shipping_calculation_failed"]},{"dataType":"enum","enums":["sku_inactive"]},{"dataType":"enum","enums":["state_unsupported"]},{"dataType":"enum","enums":["status_transition_invalid"]},{"dataType":"enum","enums":["stripe_tax_inactive"]},{"dataType":"enum","enums":["tax_id_invalid"]},{"dataType":"enum","enums":["taxes_calculation_failed"]},{"dataType":"enum","enums":["terminal_location_country_unsupported"]},{"dataType":"enum","enums":["terminal_reader_busy"]},{"dataType":"enum","enums":["terminal_reader_hardware_fault"]},{"dataType":"enum","enums":["terminal_reader_invalid_location_for_activation"]},{"dataType":"enum","enums":["terminal_reader_invalid_location_for_payment"]},{"dataType":"enum","enums":["terminal_reader_offline"]},{"dataType":"enum","enums":["terminal_reader_timeout"]},{"dataType":"enum","enums":["testmode_charges_only"]},{"dataType":"enum","enums":["tls_version_unsupported"]},{"dataType":"enum","enums":["token_already_used"]},{"dataType":"enum","enums":["token_card_network_invalid"]},{"dataType":"enum","enums":["token_in_use"]},{"dataType":"enum","enums":["transfer_source_balance_parameters_mismatch"]},{"dataType":"enum","enums":["transfers_not_allowed"]},{"dataType":"enum","enums":["url_invalid"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.Receipt.AccountType": { + "stripe.Stripe.SetupIntent.AutomaticPaymentMethods.AllowRedirects": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["checking"]},{"dataType":"enum","enums":["credit"]},{"dataType":"enum","enums":["prepaid"]},{"dataType":"enum","enums":["unknown"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["always"]},{"dataType":"enum","enums":["never"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.Receipt": { + "stripe.Stripe.SetupIntent.AutomaticPaymentMethods": { "dataType": "refObject", "properties": { - "account_type": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.Receipt.AccountType"}, - "application_cryptogram": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "application_preferred_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "authorization_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "authorization_response_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "cardholder_verification_method": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "dedicated_file_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "terminal_verification_results": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "transaction_status_information": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "allow_redirects": {"ref":"stripe.Stripe.SetupIntent.AutomaticPaymentMethods.AllowRedirects"}, + "enabled": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.Wallet.Type": { + "stripe.Stripe.SetupIntent.CancellationReason": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["apple_pay"]},{"dataType":"enum","enums":["google_pay"]},{"dataType":"enum","enums":["samsung_pay"]},{"dataType":"enum","enums":["unknown"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["abandoned"]},{"dataType":"enum","enums":["duplicate"]},{"dataType":"enum","enums":["requested_by_customer"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.Wallet": { + "stripe.Stripe.SetupIntent.FlowDirection": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["inbound"]},{"dataType":"enum","enums":["outbound"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.SetupIntent.LastSetupError.Code": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account_closed"]},{"dataType":"enum","enums":["account_country_invalid_address"]},{"dataType":"enum","enums":["account_error_country_change_requires_additional_steps"]},{"dataType":"enum","enums":["account_information_mismatch"]},{"dataType":"enum","enums":["account_invalid"]},{"dataType":"enum","enums":["account_number_invalid"]},{"dataType":"enum","enums":["acss_debit_session_incomplete"]},{"dataType":"enum","enums":["alipay_upgrade_required"]},{"dataType":"enum","enums":["amount_too_large"]},{"dataType":"enum","enums":["amount_too_small"]},{"dataType":"enum","enums":["api_key_expired"]},{"dataType":"enum","enums":["application_fees_not_allowed"]},{"dataType":"enum","enums":["authentication_required"]},{"dataType":"enum","enums":["balance_insufficient"]},{"dataType":"enum","enums":["balance_invalid_parameter"]},{"dataType":"enum","enums":["bank_account_bad_routing_numbers"]},{"dataType":"enum","enums":["bank_account_declined"]},{"dataType":"enum","enums":["bank_account_exists"]},{"dataType":"enum","enums":["bank_account_restricted"]},{"dataType":"enum","enums":["bank_account_unusable"]},{"dataType":"enum","enums":["bank_account_unverified"]},{"dataType":"enum","enums":["bank_account_verification_failed"]},{"dataType":"enum","enums":["billing_invalid_mandate"]},{"dataType":"enum","enums":["bitcoin_upgrade_required"]},{"dataType":"enum","enums":["capture_charge_authorization_expired"]},{"dataType":"enum","enums":["capture_unauthorized_payment"]},{"dataType":"enum","enums":["card_decline_rate_limit_exceeded"]},{"dataType":"enum","enums":["card_declined"]},{"dataType":"enum","enums":["cardholder_phone_number_required"]},{"dataType":"enum","enums":["charge_already_captured"]},{"dataType":"enum","enums":["charge_already_refunded"]},{"dataType":"enum","enums":["charge_disputed"]},{"dataType":"enum","enums":["charge_exceeds_source_limit"]},{"dataType":"enum","enums":["charge_exceeds_transaction_limit"]},{"dataType":"enum","enums":["charge_expired_for_capture"]},{"dataType":"enum","enums":["charge_invalid_parameter"]},{"dataType":"enum","enums":["charge_not_refundable"]},{"dataType":"enum","enums":["clearing_code_unsupported"]},{"dataType":"enum","enums":["country_code_invalid"]},{"dataType":"enum","enums":["country_unsupported"]},{"dataType":"enum","enums":["coupon_expired"]},{"dataType":"enum","enums":["customer_max_payment_methods"]},{"dataType":"enum","enums":["customer_max_subscriptions"]},{"dataType":"enum","enums":["customer_tax_location_invalid"]},{"dataType":"enum","enums":["debit_not_authorized"]},{"dataType":"enum","enums":["email_invalid"]},{"dataType":"enum","enums":["expired_card"]},{"dataType":"enum","enums":["financial_connections_account_inactive"]},{"dataType":"enum","enums":["financial_connections_no_successful_transaction_refresh"]},{"dataType":"enum","enums":["forwarding_api_inactive"]},{"dataType":"enum","enums":["forwarding_api_invalid_parameter"]},{"dataType":"enum","enums":["forwarding_api_upstream_connection_error"]},{"dataType":"enum","enums":["forwarding_api_upstream_connection_timeout"]},{"dataType":"enum","enums":["idempotency_key_in_use"]},{"dataType":"enum","enums":["incorrect_address"]},{"dataType":"enum","enums":["incorrect_cvc"]},{"dataType":"enum","enums":["incorrect_number"]},{"dataType":"enum","enums":["incorrect_zip"]},{"dataType":"enum","enums":["instant_payouts_config_disabled"]},{"dataType":"enum","enums":["instant_payouts_currency_disabled"]},{"dataType":"enum","enums":["instant_payouts_limit_exceeded"]},{"dataType":"enum","enums":["instant_payouts_unsupported"]},{"dataType":"enum","enums":["insufficient_funds"]},{"dataType":"enum","enums":["intent_invalid_state"]},{"dataType":"enum","enums":["intent_verification_method_missing"]},{"dataType":"enum","enums":["invalid_card_type"]},{"dataType":"enum","enums":["invalid_characters"]},{"dataType":"enum","enums":["invalid_charge_amount"]},{"dataType":"enum","enums":["invalid_cvc"]},{"dataType":"enum","enums":["invalid_expiry_month"]},{"dataType":"enum","enums":["invalid_expiry_year"]},{"dataType":"enum","enums":["invalid_mandate_reference_prefix_format"]},{"dataType":"enum","enums":["invalid_number"]},{"dataType":"enum","enums":["invalid_source_usage"]},{"dataType":"enum","enums":["invalid_tax_location"]},{"dataType":"enum","enums":["invoice_no_customer_line_items"]},{"dataType":"enum","enums":["invoice_no_payment_method_types"]},{"dataType":"enum","enums":["invoice_no_subscription_line_items"]},{"dataType":"enum","enums":["invoice_not_editable"]},{"dataType":"enum","enums":["invoice_on_behalf_of_not_editable"]},{"dataType":"enum","enums":["invoice_payment_intent_requires_action"]},{"dataType":"enum","enums":["invoice_upcoming_none"]},{"dataType":"enum","enums":["livemode_mismatch"]},{"dataType":"enum","enums":["lock_timeout"]},{"dataType":"enum","enums":["missing"]},{"dataType":"enum","enums":["no_account"]},{"dataType":"enum","enums":["not_allowed_on_standard_account"]},{"dataType":"enum","enums":["out_of_inventory"]},{"dataType":"enum","enums":["ownership_declaration_not_allowed"]},{"dataType":"enum","enums":["parameter_invalid_empty"]},{"dataType":"enum","enums":["parameter_invalid_integer"]},{"dataType":"enum","enums":["parameter_invalid_string_blank"]},{"dataType":"enum","enums":["parameter_invalid_string_empty"]},{"dataType":"enum","enums":["parameter_missing"]},{"dataType":"enum","enums":["parameter_unknown"]},{"dataType":"enum","enums":["parameters_exclusive"]},{"dataType":"enum","enums":["payment_intent_action_required"]},{"dataType":"enum","enums":["payment_intent_authentication_failure"]},{"dataType":"enum","enums":["payment_intent_incompatible_payment_method"]},{"dataType":"enum","enums":["payment_intent_invalid_parameter"]},{"dataType":"enum","enums":["payment_intent_konbini_rejected_confirmation_number"]},{"dataType":"enum","enums":["payment_intent_mandate_invalid"]},{"dataType":"enum","enums":["payment_intent_payment_attempt_expired"]},{"dataType":"enum","enums":["payment_intent_payment_attempt_failed"]},{"dataType":"enum","enums":["payment_intent_unexpected_state"]},{"dataType":"enum","enums":["payment_method_bank_account_already_verified"]},{"dataType":"enum","enums":["payment_method_bank_account_blocked"]},{"dataType":"enum","enums":["payment_method_billing_details_address_missing"]},{"dataType":"enum","enums":["payment_method_configuration_failures"]},{"dataType":"enum","enums":["payment_method_currency_mismatch"]},{"dataType":"enum","enums":["payment_method_customer_decline"]},{"dataType":"enum","enums":["payment_method_invalid_parameter"]},{"dataType":"enum","enums":["payment_method_invalid_parameter_testmode"]},{"dataType":"enum","enums":["payment_method_microdeposit_failed"]},{"dataType":"enum","enums":["payment_method_microdeposit_verification_amounts_invalid"]},{"dataType":"enum","enums":["payment_method_microdeposit_verification_amounts_mismatch"]},{"dataType":"enum","enums":["payment_method_microdeposit_verification_attempts_exceeded"]},{"dataType":"enum","enums":["payment_method_microdeposit_verification_descriptor_code_mismatch"]},{"dataType":"enum","enums":["payment_method_microdeposit_verification_timeout"]},{"dataType":"enum","enums":["payment_method_not_available"]},{"dataType":"enum","enums":["payment_method_provider_decline"]},{"dataType":"enum","enums":["payment_method_provider_timeout"]},{"dataType":"enum","enums":["payment_method_unactivated"]},{"dataType":"enum","enums":["payment_method_unexpected_state"]},{"dataType":"enum","enums":["payment_method_unsupported_type"]},{"dataType":"enum","enums":["payout_reconciliation_not_ready"]},{"dataType":"enum","enums":["payouts_limit_exceeded"]},{"dataType":"enum","enums":["payouts_not_allowed"]},{"dataType":"enum","enums":["platform_account_required"]},{"dataType":"enum","enums":["platform_api_key_expired"]},{"dataType":"enum","enums":["postal_code_invalid"]},{"dataType":"enum","enums":["processing_error"]},{"dataType":"enum","enums":["product_inactive"]},{"dataType":"enum","enums":["progressive_onboarding_limit_exceeded"]},{"dataType":"enum","enums":["rate_limit"]},{"dataType":"enum","enums":["refer_to_customer"]},{"dataType":"enum","enums":["refund_disputed_payment"]},{"dataType":"enum","enums":["resource_already_exists"]},{"dataType":"enum","enums":["resource_missing"]},{"dataType":"enum","enums":["return_intent_already_processed"]},{"dataType":"enum","enums":["routing_number_invalid"]},{"dataType":"enum","enums":["secret_key_required"]},{"dataType":"enum","enums":["sepa_unsupported_account"]},{"dataType":"enum","enums":["setup_attempt_failed"]},{"dataType":"enum","enums":["setup_intent_authentication_failure"]},{"dataType":"enum","enums":["setup_intent_invalid_parameter"]},{"dataType":"enum","enums":["setup_intent_mandate_invalid"]},{"dataType":"enum","enums":["setup_intent_setup_attempt_expired"]},{"dataType":"enum","enums":["setup_intent_unexpected_state"]},{"dataType":"enum","enums":["shipping_address_invalid"]},{"dataType":"enum","enums":["shipping_calculation_failed"]},{"dataType":"enum","enums":["sku_inactive"]},{"dataType":"enum","enums":["state_unsupported"]},{"dataType":"enum","enums":["status_transition_invalid"]},{"dataType":"enum","enums":["stripe_tax_inactive"]},{"dataType":"enum","enums":["tax_id_invalid"]},{"dataType":"enum","enums":["taxes_calculation_failed"]},{"dataType":"enum","enums":["terminal_location_country_unsupported"]},{"dataType":"enum","enums":["terminal_reader_busy"]},{"dataType":"enum","enums":["terminal_reader_hardware_fault"]},{"dataType":"enum","enums":["terminal_reader_invalid_location_for_activation"]},{"dataType":"enum","enums":["terminal_reader_invalid_location_for_payment"]},{"dataType":"enum","enums":["terminal_reader_offline"]},{"dataType":"enum","enums":["terminal_reader_timeout"]},{"dataType":"enum","enums":["testmode_charges_only"]},{"dataType":"enum","enums":["tls_version_unsupported"]},{"dataType":"enum","enums":["token_already_used"]},{"dataType":"enum","enums":["token_card_network_invalid"]},{"dataType":"enum","enums":["token_in_use"]},{"dataType":"enum","enums":["transfer_source_balance_parameters_mismatch"]},{"dataType":"enum","enums":["transfers_not_allowed"]},{"dataType":"enum","enums":["url_invalid"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.SetupIntent": { "dataType": "refObject", "properties": { - "type": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.Wallet.Type","required":true}, + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["setup_intent"],"required":true}, + "application": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Application"},{"dataType":"enum","enums":[null]}],"required":true}, + "attach_to_self": {"dataType":"boolean"}, + "automatic_payment_methods": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupIntent.AutomaticPaymentMethods"},{"dataType":"enum","enums":[null]}],"required":true}, + "cancellation_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupIntent.CancellationReason"},{"dataType":"enum","enums":[null]}],"required":true}, + "client_secret": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "created": {"dataType":"double","required":true}, + "customer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Customer"},{"ref":"stripe.Stripe.DeletedCustomer"},{"dataType":"enum","enums":[null]}],"required":true}, + "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "flow_directions": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.SetupIntent.FlowDirection"}},{"dataType":"enum","enums":[null]}],"required":true}, + "last_setup_error": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupIntent.LastSetupError"},{"dataType":"enum","enums":[null]}],"required":true}, + "latest_attempt": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.SetupAttempt"},{"dataType":"enum","enums":[null]}],"required":true}, + "livemode": {"dataType":"boolean","required":true}, + "mandate": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Mandate"},{"dataType":"enum","enums":[null]}],"required":true}, + "metadata": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Metadata"},{"dataType":"enum","enums":[null]}],"required":true}, + "next_action": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupIntent.NextAction"},{"dataType":"enum","enums":[null]}],"required":true}, + "on_behalf_of": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"},{"dataType":"enum","enums":[null]}],"required":true}, + "payment_method": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentMethod"},{"dataType":"enum","enums":[null]}],"required":true}, + "payment_method_configuration_details": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupIntent.PaymentMethodConfigurationDetails"},{"dataType":"enum","enums":[null]}],"required":true}, + "payment_method_options": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions"},{"dataType":"enum","enums":[null]}],"required":true}, + "payment_method_types": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "single_use_mandate": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Mandate"},{"dataType":"enum","enums":[null]}],"required":true}, + "status": {"ref":"stripe.Stripe.SetupIntent.Status","required":true}, + "usage": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.CardPresent": { + "stripe.Stripe.SetupIntent.LastSetupError.Type": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["api_error"]},{"dataType":"enum","enums":["card_error"]},{"dataType":"enum","enums":["idempotency_error"]},{"dataType":"enum","enums":["invalid_request_error"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.SetupIntent.LastSetupError": { "dataType": "refObject", "properties": { - "amount_authorized": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "brand": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "brand_product": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "capture_before": {"dataType":"double"}, - "cardholder_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "emv_auth_data": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "exp_month": {"dataType":"double","required":true}, - "exp_year": {"dataType":"double","required":true}, - "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "funding": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "generated_card": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "iin": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "incremental_authorization_supported": {"dataType":"boolean","required":true}, - "issuer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "network": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "network_transaction_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "offline": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.Offline"},{"dataType":"enum","enums":[null]}],"required":true}, - "overcapture_supported": {"dataType":"boolean","required":true}, - "preferred_locales": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, - "read_method": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.ReadMethod"},{"dataType":"enum","enums":[null]}],"required":true}, - "receipt": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.Receipt"},{"dataType":"enum","enums":[null]}],"required":true}, - "wallet": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.Wallet"}, + "advice_code": {"dataType":"string"}, + "charge": {"dataType":"string"}, + "code": {"ref":"stripe.Stripe.SetupIntent.LastSetupError.Code"}, + "decline_code": {"dataType":"string"}, + "doc_url": {"dataType":"string"}, + "message": {"dataType":"string"}, + "network_advice_code": {"dataType":"string"}, + "network_decline_code": {"dataType":"string"}, + "param": {"dataType":"string"}, + "payment_intent": {"ref":"stripe.Stripe.PaymentIntent"}, + "payment_method": {"ref":"stripe.Stripe.PaymentMethod"}, + "payment_method_type": {"dataType":"string"}, + "request_log_url": {"dataType":"string"}, + "setup_intent": {"ref":"stripe.Stripe.SetupIntent"}, + "source": {"ref":"stripe.Stripe.CustomerSource"}, + "type": {"ref":"stripe.Stripe.SetupIntent.LastSetupError.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Cashapp": { + "stripe.Stripe.SetupAttempt": { "dataType": "refObject", "properties": { - "buyer_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "cashtag": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["setup_attempt"],"required":true}, + "application": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Application"},{"dataType":"enum","enums":[null]}],"required":true}, + "attach_to_self": {"dataType":"boolean"}, + "created": {"dataType":"double","required":true}, + "customer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Customer"},{"ref":"stripe.Stripe.DeletedCustomer"},{"dataType":"enum","enums":[null]}],"required":true}, + "flow_directions": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.SetupAttempt.FlowDirection"}},{"dataType":"enum","enums":[null]}],"required":true}, + "livemode": {"dataType":"boolean","required":true}, + "on_behalf_of": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"},{"dataType":"enum","enums":[null]}],"required":true}, + "payment_method": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentMethod"}],"required":true}, + "payment_method_details": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails","required":true}, + "setup_error": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupAttempt.SetupError"},{"dataType":"enum","enums":[null]}],"required":true}, + "setup_intent": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.SetupIntent"}],"required":true}, + "status": {"dataType":"string","required":true}, + "usage": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.CustomerBalance": { + "stripe.Stripe.SetupIntent.NextAction.CashappHandleRedirectOrDisplayQrCode.QrCode": { "dataType": "refObject", "properties": { + "expires_at": {"dataType":"double","required":true}, + "image_url_png": {"dataType":"string","required":true}, + "image_url_svg": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Eps.Bank": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["arzte_und_apotheker_bank"]},{"dataType":"enum","enums":["austrian_anadi_bank_ag"]},{"dataType":"enum","enums":["bank_austria"]},{"dataType":"enum","enums":["bankhaus_carl_spangler"]},{"dataType":"enum","enums":["bankhaus_schelhammer_und_schattera_ag"]},{"dataType":"enum","enums":["bawag_psk_ag"]},{"dataType":"enum","enums":["bks_bank_ag"]},{"dataType":"enum","enums":["brull_kallmus_bank_ag"]},{"dataType":"enum","enums":["btv_vier_lander_bank"]},{"dataType":"enum","enums":["capital_bank_grawe_gruppe_ag"]},{"dataType":"enum","enums":["deutsche_bank_ag"]},{"dataType":"enum","enums":["dolomitenbank"]},{"dataType":"enum","enums":["easybank_ag"]},{"dataType":"enum","enums":["erste_bank_und_sparkassen"]},{"dataType":"enum","enums":["hypo_alpeadriabank_international_ag"]},{"dataType":"enum","enums":["hypo_bank_burgenland_aktiengesellschaft"]},{"dataType":"enum","enums":["hypo_noe_lb_fur_niederosterreich_u_wien"]},{"dataType":"enum","enums":["hypo_oberosterreich_salzburg_steiermark"]},{"dataType":"enum","enums":["hypo_tirol_bank_ag"]},{"dataType":"enum","enums":["hypo_vorarlberg_bank_ag"]},{"dataType":"enum","enums":["marchfelder_bank"]},{"dataType":"enum","enums":["oberbank_ag"]},{"dataType":"enum","enums":["raiffeisen_bankengruppe_osterreich"]},{"dataType":"enum","enums":["schoellerbank_ag"]},{"dataType":"enum","enums":["sparda_bank_wien"]},{"dataType":"enum","enums":["volksbank_gruppe"]},{"dataType":"enum","enums":["volkskreditbank_ag"]},{"dataType":"enum","enums":["vr_bank_braunau"]}],"validators":{}}, + "stripe.Stripe.SetupIntent.NextAction.CashappHandleRedirectOrDisplayQrCode": { + "dataType": "refObject", + "properties": { + "hosted_instructions_url": {"dataType":"string","required":true}, + "mobile_auth_url": {"dataType":"string","required":true}, + "qr_code": {"ref":"stripe.Stripe.SetupIntent.NextAction.CashappHandleRedirectOrDisplayQrCode.QrCode","required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Eps": { + "stripe.Stripe.SetupIntent.NextAction.RedirectToUrl": { "dataType": "refObject", "properties": { - "bank": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Eps.Bank"},{"dataType":"enum","enums":[null]}],"required":true}, - "verified_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "return_url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Fpx.AccountHolderType": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["company"]},{"dataType":"enum","enums":["individual"]}],"validators":{}}, + "stripe.Stripe.SetupIntent.NextAction.UseStripeSdk": { + "dataType": "refObject", + "properties": { + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Fpx.Bank": { + "stripe.Stripe.SetupIntent.NextAction.VerifyWithMicrodeposits.MicrodepositType": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["affin_bank"]},{"dataType":"enum","enums":["agrobank"]},{"dataType":"enum","enums":["alliance_bank"]},{"dataType":"enum","enums":["ambank"]},{"dataType":"enum","enums":["bank_islam"]},{"dataType":"enum","enums":["bank_muamalat"]},{"dataType":"enum","enums":["bank_of_china"]},{"dataType":"enum","enums":["bank_rakyat"]},{"dataType":"enum","enums":["bsn"]},{"dataType":"enum","enums":["cimb"]},{"dataType":"enum","enums":["deutsche_bank"]},{"dataType":"enum","enums":["hong_leong_bank"]},{"dataType":"enum","enums":["hsbc"]},{"dataType":"enum","enums":["kfh"]},{"dataType":"enum","enums":["maybank2e"]},{"dataType":"enum","enums":["maybank2u"]},{"dataType":"enum","enums":["ocbc"]},{"dataType":"enum","enums":["pb_enterprise"]},{"dataType":"enum","enums":["public_bank"]},{"dataType":"enum","enums":["rhb"]},{"dataType":"enum","enums":["standard_chartered"]},{"dataType":"enum","enums":["uob"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["amounts"]},{"dataType":"enum","enums":["descriptor_code"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Fpx": { + "stripe.Stripe.SetupIntent.NextAction.VerifyWithMicrodeposits": { "dataType": "refObject", "properties": { - "account_holder_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Fpx.AccountHolderType"},{"dataType":"enum","enums":[null]}],"required":true}, - "bank": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Fpx.Bank","required":true}, - "transaction_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "arrival_date": {"dataType":"double","required":true}, + "hosted_verification_url": {"dataType":"string","required":true}, + "microdeposit_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupIntent.NextAction.VerifyWithMicrodeposits.MicrodepositType"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Giropay": { + "stripe.Stripe.SetupIntent.NextAction": { "dataType": "refObject", "properties": { - "bank_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "bic": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "verified_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "cashapp_handle_redirect_or_display_qr_code": {"ref":"stripe.Stripe.SetupIntent.NextAction.CashappHandleRedirectOrDisplayQrCode"}, + "redirect_to_url": {"ref":"stripe.Stripe.SetupIntent.NextAction.RedirectToUrl"}, + "type": {"dataType":"string","required":true}, + "use_stripe_sdk": {"ref":"stripe.Stripe.SetupIntent.NextAction.UseStripeSdk"}, + "verify_with_microdeposits": {"ref":"stripe.Stripe.SetupIntent.NextAction.VerifyWithMicrodeposits"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Grabpay": { + "stripe.Stripe.SetupIntent.PaymentMethodConfigurationDetails": { "dataType": "refObject", "properties": { - "transaction_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "id": {"dataType":"string","required":true}, + "parent": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Ideal.Bank": { + "stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.Currency": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["abn_amro"]},{"dataType":"enum","enums":["asn_bank"]},{"dataType":"enum","enums":["bunq"]},{"dataType":"enum","enums":["handelsbanken"]},{"dataType":"enum","enums":["ing"]},{"dataType":"enum","enums":["knab"]},{"dataType":"enum","enums":["moneyou"]},{"dataType":"enum","enums":["n26"]},{"dataType":"enum","enums":["nn"]},{"dataType":"enum","enums":["rabobank"]},{"dataType":"enum","enums":["regiobank"]},{"dataType":"enum","enums":["revolut"]},{"dataType":"enum","enums":["sns_bank"]},{"dataType":"enum","enums":["triodos_bank"]},{"dataType":"enum","enums":["van_lanschot"]},{"dataType":"enum","enums":["yoursafe"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["cad"]},{"dataType":"enum","enums":["usd"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Ideal.Bic": { + "stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.MandateOptions.DefaultFor": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["ABNANL2A"]},{"dataType":"enum","enums":["ASNBNL21"]},{"dataType":"enum","enums":["BITSNL2A"]},{"dataType":"enum","enums":["BUNQNL2A"]},{"dataType":"enum","enums":["FVLBNL22"]},{"dataType":"enum","enums":["HANDNL2A"]},{"dataType":"enum","enums":["INGBNL2A"]},{"dataType":"enum","enums":["KNABNL2H"]},{"dataType":"enum","enums":["MOYONL21"]},{"dataType":"enum","enums":["NNBANL2G"]},{"dataType":"enum","enums":["NTSBDEB1"]},{"dataType":"enum","enums":["RABONL2U"]},{"dataType":"enum","enums":["RBRBNL21"]},{"dataType":"enum","enums":["REVOIE23"]},{"dataType":"enum","enums":["REVOLT21"]},{"dataType":"enum","enums":["SNSBNL2A"]},{"dataType":"enum","enums":["TRIONL2U"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Ideal": { - "dataType": "refObject", - "properties": { - "bank": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Ideal.Bank"},{"dataType":"enum","enums":[null]}],"required":true}, - "bic": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Ideal.Bic"},{"dataType":"enum","enums":[null]}],"required":true}, - "generated_sepa_debit": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentMethod"},{"dataType":"enum","enums":[null]}],"required":true}, - "generated_sepa_debit_mandate": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Mandate"},{"dataType":"enum","enums":[null]}],"required":true}, - "iban_last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "verified_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["invoice"]},{"dataType":"enum","enums":["subscription"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.InteracPresent.ReadMethod": { + "stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.MandateOptions.PaymentSchedule": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["contact_emv"]},{"dataType":"enum","enums":["contactless_emv"]},{"dataType":"enum","enums":["contactless_magstripe_mode"]},{"dataType":"enum","enums":["magnetic_stripe_fallback"]},{"dataType":"enum","enums":["magnetic_stripe_track2"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["combined"]},{"dataType":"enum","enums":["interval"]},{"dataType":"enum","enums":["sporadic"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.InteracPresent.Receipt.AccountType": { + "stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.MandateOptions.TransactionType": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["checking"]},{"dataType":"enum","enums":["savings"]},{"dataType":"enum","enums":["unknown"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["business"]},{"dataType":"enum","enums":["personal"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.InteracPresent.Receipt": { + "stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.MandateOptions": { "dataType": "refObject", "properties": { - "account_type": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.InteracPresent.Receipt.AccountType"}, - "application_cryptogram": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "application_preferred_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "authorization_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "authorization_response_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "cardholder_verification_method": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "dedicated_file_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "terminal_verification_results": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "transaction_status_information": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "custom_mandate_url": {"dataType":"string"}, + "default_for": {"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.MandateOptions.DefaultFor"}}, + "interval_description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "payment_schedule": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.MandateOptions.PaymentSchedule"},{"dataType":"enum","enums":[null]}],"required":true}, + "transaction_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.MandateOptions.TransactionType"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.InteracPresent": { - "dataType": "refObject", - "properties": { - "brand": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "cardholder_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "emv_auth_data": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "exp_month": {"dataType":"double","required":true}, - "exp_year": {"dataType":"double","required":true}, - "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "funding": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "generated_card": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "iin": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "issuer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "network": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "network_transaction_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "preferred_locales": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, - "read_method": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.InteracPresent.ReadMethod"},{"dataType":"enum","enums":[null]}],"required":true}, - "receipt": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.InteracPresent.Receipt"},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.VerificationMethod": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["automatic"]},{"dataType":"enum","enums":["instant"]},{"dataType":"enum","enums":["microdeposits"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.KakaoPay": { + "stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit": { "dataType": "refObject", "properties": { - "buyer_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "currency": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.Currency"},{"dataType":"enum","enums":[null]}],"required":true}, + "mandate_options": {"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.MandateOptions"}, + "verification_method": {"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.VerificationMethod"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Klarna.PayerDetails.Address": { + "stripe.Stripe.SetupIntent.PaymentMethodOptions.AmazonPay": { "dataType": "refObject", "properties": { - "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Klarna.PayerDetails": { + "stripe.Stripe.SetupIntent.PaymentMethodOptions.BacsDebit.MandateOptions": { "dataType": "refObject", "properties": { - "address": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Klarna.PayerDetails.Address"},{"dataType":"enum","enums":[null]}],"required":true}, + "reference_prefix": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Klarna": { + "stripe.Stripe.SetupIntent.PaymentMethodOptions.BacsDebit": { "dataType": "refObject", "properties": { - "payer_details": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Klarna.PayerDetails"},{"dataType":"enum","enums":[null]}],"required":true}, - "payment_method_category": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "preferred_locale": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "mandate_options": {"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.BacsDebit.MandateOptions"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Konbini.Store.Chain": { + "stripe.Stripe.SetupIntent.PaymentMethodOptions.Card.MandateOptions.AmountType": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["familymart"]},{"dataType":"enum","enums":["lawson"]},{"dataType":"enum","enums":["ministop"]},{"dataType":"enum","enums":["seicomart"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["fixed"]},{"dataType":"enum","enums":["maximum"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Konbini.Store": { - "dataType": "refObject", - "properties": { - "chain": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Konbini.Store.Chain"},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.SetupIntent.PaymentMethodOptions.Card.MandateOptions.Interval": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["day"]},{"dataType":"enum","enums":["month"]},{"dataType":"enum","enums":["sporadic"]},{"dataType":"enum","enums":["week"]},{"dataType":"enum","enums":["year"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Konbini": { + "stripe.Stripe.SetupIntent.PaymentMethodOptions.Card.MandateOptions": { "dataType": "refObject", "properties": { - "store": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Konbini.Store"},{"dataType":"enum","enums":[null]}],"required":true}, + "amount": {"dataType":"double","required":true}, + "amount_type": {"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.Card.MandateOptions.AmountType","required":true}, + "currency": {"dataType":"string","required":true}, + "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "end_date": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "interval": {"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.Card.MandateOptions.Interval","required":true}, + "interval_count": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "reference": {"dataType":"string","required":true}, + "start_date": {"dataType":"double","required":true}, + "supported_types": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"enum","enums":["india"]}},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.KrCard.Brand": { + "stripe.Stripe.SetupIntent.PaymentMethodOptions.Card.Network": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["bc"]},{"dataType":"enum","enums":["citi"]},{"dataType":"enum","enums":["hana"]},{"dataType":"enum","enums":["hyundai"]},{"dataType":"enum","enums":["jeju"]},{"dataType":"enum","enums":["jeonbuk"]},{"dataType":"enum","enums":["kakaobank"]},{"dataType":"enum","enums":["kbank"]},{"dataType":"enum","enums":["kdbbank"]},{"dataType":"enum","enums":["kookmin"]},{"dataType":"enum","enums":["kwangju"]},{"dataType":"enum","enums":["lotte"]},{"dataType":"enum","enums":["mg"]},{"dataType":"enum","enums":["nh"]},{"dataType":"enum","enums":["post"]},{"dataType":"enum","enums":["samsung"]},{"dataType":"enum","enums":["savingsbank"]},{"dataType":"enum","enums":["shinhan"]},{"dataType":"enum","enums":["shinhyup"]},{"dataType":"enum","enums":["suhyup"]},{"dataType":"enum","enums":["tossbank"]},{"dataType":"enum","enums":["woori"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["amex"]},{"dataType":"enum","enums":["cartes_bancaires"]},{"dataType":"enum","enums":["diners"]},{"dataType":"enum","enums":["discover"]},{"dataType":"enum","enums":["eftpos_au"]},{"dataType":"enum","enums":["girocard"]},{"dataType":"enum","enums":["interac"]},{"dataType":"enum","enums":["jcb"]},{"dataType":"enum","enums":["link"]},{"dataType":"enum","enums":["mastercard"]},{"dataType":"enum","enums":["unionpay"]},{"dataType":"enum","enums":["unknown"]},{"dataType":"enum","enums":["visa"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.KrCard": { + "stripe.Stripe.SetupIntent.PaymentMethodOptions.Card.RequestThreeDSecure": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["any"]},{"dataType":"enum","enums":["automatic"]},{"dataType":"enum","enums":["challenge"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.SetupIntent.PaymentMethodOptions.Card": { "dataType": "refObject", "properties": { - "brand": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.KrCard.Brand"},{"dataType":"enum","enums":[null]}],"required":true}, - "buyer_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "mandate_options": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.Card.MandateOptions"},{"dataType":"enum","enums":[null]}],"required":true}, + "network": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.Card.Network"},{"dataType":"enum","enums":[null]}],"required":true}, + "request_three_d_secure": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.Card.RequestThreeDSecure"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Link": { + "stripe.Stripe.SetupIntent.PaymentMethodOptions.CardPresent": { "dataType": "refObject", "properties": { - "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Mobilepay.Card": { + "stripe.Stripe.SetupIntent.PaymentMethodOptions.Link": { "dataType": "refObject", "properties": { - "brand": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "exp_month": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "exp_year": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "persistent_token": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Mobilepay": { + "stripe.Stripe.SetupIntent.PaymentMethodOptions.Paypal": { "dataType": "refObject", "properties": { - "card": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Mobilepay.Card"},{"dataType":"enum","enums":[null]}],"required":true}, + "billing_agreement_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Multibanco": { + "stripe.Stripe.SetupIntent.PaymentMethodOptions.SepaDebit.MandateOptions": { "dataType": "refObject", "properties": { - "entity": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "reference_prefix": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.NaverPay": { + "stripe.Stripe.SetupIntent.PaymentMethodOptions.SepaDebit": { "dataType": "refObject", "properties": { - "buyer_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "mandate_options": {"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.SepaDebit.MandateOptions"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Oxxo": { + "stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters.AccountSubcategory": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["checking"]},{"dataType":"enum","enums":["savings"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters": { "dataType": "refObject", "properties": { - "number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "account_subcategories": {"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters.AccountSubcategory"}}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.P24.Bank": { + "stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Permission": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["alior_bank"]},{"dataType":"enum","enums":["bank_millennium"]},{"dataType":"enum","enums":["bank_nowy_bfg_sa"]},{"dataType":"enum","enums":["bank_pekao_sa"]},{"dataType":"enum","enums":["banki_spbdzielcze"]},{"dataType":"enum","enums":["blik"]},{"dataType":"enum","enums":["bnp_paribas"]},{"dataType":"enum","enums":["boz"]},{"dataType":"enum","enums":["citi_handlowy"]},{"dataType":"enum","enums":["credit_agricole"]},{"dataType":"enum","enums":["envelobank"]},{"dataType":"enum","enums":["etransfer_pocztowy24"]},{"dataType":"enum","enums":["getin_bank"]},{"dataType":"enum","enums":["ideabank"]},{"dataType":"enum","enums":["ing"]},{"dataType":"enum","enums":["inteligo"]},{"dataType":"enum","enums":["mbank_mtransfer"]},{"dataType":"enum","enums":["nest_przelew"]},{"dataType":"enum","enums":["noble_pay"]},{"dataType":"enum","enums":["pbac_z_ipko"]},{"dataType":"enum","enums":["plus_bank"]},{"dataType":"enum","enums":["santander_przelew24"]},{"dataType":"enum","enums":["tmobile_usbugi_bankowe"]},{"dataType":"enum","enums":["toyota_bank"]},{"dataType":"enum","enums":["velobank"]},{"dataType":"enum","enums":["volkswagen_bank"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["balances"]},{"dataType":"enum","enums":["ownership"]},{"dataType":"enum","enums":["payment_method"]},{"dataType":"enum","enums":["transactions"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.P24": { + "stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Prefetch": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["balances"]},{"dataType":"enum","enums":["ownership"]},{"dataType":"enum","enums":["transactions"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections": { "dataType": "refObject", "properties": { - "bank": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.P24.Bank"},{"dataType":"enum","enums":[null]}],"required":true}, - "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "verified_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "filters": {"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters"}, + "permissions": {"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Permission"}}, + "prefetch": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Prefetch"}},{"dataType":"enum","enums":[null]}],"required":true}, + "return_url": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.PayByBank": { + "stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.MandateOptions": { "dataType": "refObject", "properties": { + "collection_method": {"dataType":"enum","enums":["paper"]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Payco": { + "stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.VerificationMethod": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["automatic"]},{"dataType":"enum","enums":["instant"]},{"dataType":"enum","enums":["microdeposits"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount": { "dataType": "refObject", "properties": { - "buyer_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "financial_connections": {"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections"}, + "mandate_options": {"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.MandateOptions"}, + "verification_method": {"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.VerificationMethod"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Paynow": { + "stripe.Stripe.SetupIntent.PaymentMethodOptions": { "dataType": "refObject", "properties": { - "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "acss_debit": {"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit"}, + "amazon_pay": {"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.AmazonPay"}, + "bacs_debit": {"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.BacsDebit"}, + "card": {"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.Card"}, + "card_present": {"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.CardPresent"}, + "link": {"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.Link"}, + "paypal": {"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.Paypal"}, + "sepa_debit": {"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.SepaDebit"}, + "us_bank_account": {"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Paypal.SellerProtection.DisputeCategory": { + "stripe.Stripe.SetupIntent.Status": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["fraudulent"]},{"dataType":"enum","enums":["product_not_received"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["canceled"]},{"dataType":"enum","enums":["processing"]},{"dataType":"enum","enums":["requires_action"]},{"dataType":"enum","enums":["requires_confirmation"]},{"dataType":"enum","enums":["requires_payment_method"]},{"dataType":"enum","enums":["succeeded"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Paypal.SellerProtection.Status": { + "stripe.Stripe.Invoice.LastFinalizationError.Type": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["eligible"]},{"dataType":"enum","enums":["not_eligible"]},{"dataType":"enum","enums":["partially_eligible"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["api_error"]},{"dataType":"enum","enums":["card_error"]},{"dataType":"enum","enums":["idempotency_error"]},{"dataType":"enum","enums":["invalid_request_error"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Paypal.SellerProtection": { + "stripe.Stripe.Invoice.LastFinalizationError": { "dataType": "refObject", "properties": { - "dispute_categories": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Charge.PaymentMethodDetails.Paypal.SellerProtection.DisputeCategory"}},{"dataType":"enum","enums":[null]}],"required":true}, - "status": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Paypal.SellerProtection.Status","required":true}, + "advice_code": {"dataType":"string"}, + "charge": {"dataType":"string"}, + "code": {"ref":"stripe.Stripe.Invoice.LastFinalizationError.Code"}, + "decline_code": {"dataType":"string"}, + "doc_url": {"dataType":"string"}, + "message": {"dataType":"string"}, + "network_advice_code": {"dataType":"string"}, + "network_decline_code": {"dataType":"string"}, + "param": {"dataType":"string"}, + "payment_intent": {"ref":"stripe.Stripe.PaymentIntent"}, + "payment_method": {"ref":"stripe.Stripe.PaymentMethod"}, + "payment_method_type": {"dataType":"string"}, + "request_log_url": {"dataType":"string"}, + "setup_intent": {"ref":"stripe.Stripe.SetupIntent"}, + "source": {"ref":"stripe.Stripe.CustomerSource"}, + "type": {"ref":"stripe.Stripe.Invoice.LastFinalizationError.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Paypal": { + "stripe.Stripe.InvoiceLineItem.DiscountAmount": { "dataType": "refObject", "properties": { - "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "payer_email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "payer_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "payer_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "seller_protection": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Paypal.SellerProtection"},{"dataType":"enum","enums":[null]}],"required":true}, - "transaction_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "amount": {"dataType":"double","required":true}, + "discount": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Discount"},{"ref":"stripe.Stripe.DeletedDiscount"}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Pix": { + "stripe.Stripe.InvoiceItem.Period": { "dataType": "refObject", "properties": { - "bank_transaction_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "end": {"dataType":"double","required":true}, + "start": {"dataType":"double","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Promptpay": { - "dataType": "refObject", - "properties": { - "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Plan.AggregateUsage": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["last_during_period"]},{"dataType":"enum","enums":["last_ever"]},{"dataType":"enum","enums":["max"]},{"dataType":"enum","enums":["sum"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.RevolutPay.Funding.Card": { - "dataType": "refObject", - "properties": { - "brand": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "exp_month": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "exp_year": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "funding": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Plan.BillingScheme": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["per_unit"]},{"dataType":"enum","enums":["tiered"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.RevolutPay.Funding": { - "dataType": "refObject", - "properties": { - "card": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.RevolutPay.Funding.Card"}, - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["card"]},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Plan.Interval": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["day"]},{"dataType":"enum","enums":["month"]},{"dataType":"enum","enums":["week"]},{"dataType":"enum","enums":["year"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.RevolutPay": { - "dataType": "refObject", - "properties": { - "funding": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.RevolutPay.Funding"}, - }, - "additionalProperties": false, + "stripe.Stripe.Price.BillingScheme": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["per_unit"]},{"dataType":"enum","enums":["tiered"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.SamsungPay": { + "stripe.Stripe.Price.CurrencyOptions.CustomUnitAmount": { "dataType": "refObject", "properties": { - "buyer_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "maximum": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "minimum": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "preset": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.SepaCreditTransfer": { - "dataType": "refObject", - "properties": { - "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "bic": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "iban": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Price.CurrencyOptions.TaxBehavior": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["exclusive"]},{"dataType":"enum","enums":["inclusive"]},{"dataType":"enum","enums":["unspecified"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.SepaDebit": { + "stripe.Stripe.Price.CurrencyOptions.Tier": { "dataType": "refObject", "properties": { - "bank_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "branch_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "mandate": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "flat_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "flat_amount_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "unit_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "unit_amount_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "up_to": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Sofort.PreferredLanguage": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["de"]},{"dataType":"enum","enums":["en"]},{"dataType":"enum","enums":["es"]},{"dataType":"enum","enums":["fr"]},{"dataType":"enum","enums":["it"]},{"dataType":"enum","enums":["nl"]},{"dataType":"enum","enums":["pl"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Sofort": { + "stripe.Stripe.Price.CurrencyOptions": { "dataType": "refObject", "properties": { - "bank_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "bic": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "generated_sepa_debit": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentMethod"},{"dataType":"enum","enums":[null]}],"required":true}, - "generated_sepa_debit_mandate": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Mandate"},{"dataType":"enum","enums":[null]}],"required":true}, - "iban_last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "preferred_language": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Sofort.PreferredLanguage"},{"dataType":"enum","enums":[null]}],"required":true}, - "verified_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "custom_unit_amount": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Price.CurrencyOptions.CustomUnitAmount"},{"dataType":"enum","enums":[null]}],"required":true}, + "tax_behavior": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Price.CurrencyOptions.TaxBehavior"},{"dataType":"enum","enums":[null]}],"required":true}, + "tiers": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Price.CurrencyOptions.Tier"}}, + "unit_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "unit_amount_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.StripeAccount": { + "stripe.Stripe.Price.CustomUnitAmount": { "dataType": "refObject", "properties": { + "maximum": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "minimum": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "preset": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Swish": { + "stripe.Stripe.Product": { "dataType": "refObject", "properties": { - "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "payment_reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "verified_phone_last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["product"],"required":true}, + "active": {"dataType":"boolean","required":true}, + "created": {"dataType":"double","required":true}, + "default_price": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Price"},{"dataType":"enum","enums":[null]}]}, + "deleted": {"dataType":"void"}, + "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "images": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "livemode": {"dataType":"boolean","required":true}, + "marketing_features": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Product.MarketingFeature"},"required":true}, + "metadata": {"ref":"stripe.Stripe.Metadata","required":true}, + "name": {"dataType":"string","required":true}, + "package_dimensions": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Product.PackageDimensions"},{"dataType":"enum","enums":[null]}],"required":true}, + "shippable": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, + "statement_descriptor": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "tax_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TaxCode"},{"dataType":"enum","enums":[null]}],"required":true}, + "type": {"ref":"stripe.Stripe.Product.Type","required":true}, + "unit_label": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "updated": {"dataType":"double","required":true}, + "url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Twint": { + "stripe.Stripe.DeletedProduct": { "dataType": "refObject", "properties": { + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["product"],"required":true}, + "deleted": {"dataType":"enum","enums":[true],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.UsBankAccount.AccountHolderType": { + "stripe.Stripe.Price.Recurring.AggregateUsage": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["company"]},{"dataType":"enum","enums":["individual"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["last_during_period"]},{"dataType":"enum","enums":["last_ever"]},{"dataType":"enum","enums":["max"]},{"dataType":"enum","enums":["sum"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.UsBankAccount.AccountType": { + "stripe.Stripe.Price.Recurring.Interval": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["checking"]},{"dataType":"enum","enums":["savings"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["day"]},{"dataType":"enum","enums":["month"]},{"dataType":"enum","enums":["week"]},{"dataType":"enum","enums":["year"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.UsBankAccount": { - "dataType": "refObject", - "properties": { - "account_holder_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.UsBankAccount.AccountHolderType"},{"dataType":"enum","enums":[null]}],"required":true}, - "account_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Charge.PaymentMethodDetails.UsBankAccount.AccountType"},{"dataType":"enum","enums":[null]}],"required":true}, - "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "mandate": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Mandate"}]}, - "payment_reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "routing_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Wechat": { - "dataType": "refObject", - "properties": { - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.WechatPay": { - "dataType": "refObject", - "properties": { - "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "transaction_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails.Zip": { + "stripe.Stripe.Price.Recurring.UsageType": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["licensed"]},{"dataType":"enum","enums":["metered"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Price.Recurring": { "dataType": "refObject", "properties": { + "aggregate_usage": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Price.Recurring.AggregateUsage"},{"dataType":"enum","enums":[null]}],"required":true}, + "interval": {"ref":"stripe.Stripe.Price.Recurring.Interval","required":true}, + "interval_count": {"dataType":"double","required":true}, + "meter": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "trial_period_days": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "usage_type": {"ref":"stripe.Stripe.Price.Recurring.UsageType","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.PaymentMethodDetails": { - "dataType": "refObject", - "properties": { - "ach_credit_transfer": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.AchCreditTransfer"}, - "ach_debit": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.AchDebit"}, - "acss_debit": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.AcssDebit"}, - "affirm": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Affirm"}, - "afterpay_clearpay": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.AfterpayClearpay"}, - "alipay": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Alipay"}, - "alma": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Alma"}, - "amazon_pay": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.AmazonPay"}, - "au_becs_debit": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.AuBecsDebit"}, - "bacs_debit": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.BacsDebit"}, - "bancontact": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Bancontact"}, - "blik": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Blik"}, - "boleto": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Boleto"}, - "card": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Card"}, - "card_present": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.CardPresent"}, - "cashapp": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Cashapp"}, - "customer_balance": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.CustomerBalance"}, - "eps": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Eps"}, - "fpx": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Fpx"}, - "giropay": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Giropay"}, - "grabpay": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Grabpay"}, - "ideal": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Ideal"}, - "interac_present": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.InteracPresent"}, - "kakao_pay": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.KakaoPay"}, - "klarna": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Klarna"}, - "konbini": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Konbini"}, - "kr_card": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.KrCard"}, - "link": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Link"}, - "mobilepay": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Mobilepay"}, - "multibanco": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Multibanco"}, - "naver_pay": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.NaverPay"}, - "oxxo": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Oxxo"}, - "p24": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.P24"}, - "pay_by_bank": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.PayByBank"}, - "payco": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Payco"}, - "paynow": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Paynow"}, - "paypal": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Paypal"}, - "pix": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Pix"}, - "promptpay": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Promptpay"}, - "revolut_pay": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.RevolutPay"}, - "samsung_pay": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.SamsungPay"}, - "sepa_credit_transfer": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.SepaCreditTransfer"}, - "sepa_debit": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.SepaDebit"}, - "sofort": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Sofort"}, - "stripe_account": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.StripeAccount"}, - "swish": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Swish"}, - "twint": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Twint"}, - "type": {"dataType":"string","required":true}, - "us_bank_account": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.UsBankAccount"}, - "wechat": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Wechat"}, - "wechat_pay": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.WechatPay"}, - "zip": {"ref":"stripe.Stripe.Charge.PaymentMethodDetails.Zip"}, - }, - "additionalProperties": false, + "stripe.Stripe.Price.TaxBehavior": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["exclusive"]},{"dataType":"enum","enums":["inclusive"]},{"dataType":"enum","enums":["unspecified"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.RadarOptions": { + "stripe.Stripe.Price.Tier": { "dataType": "refObject", "properties": { - "session": {"dataType":"string"}, + "flat_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "flat_amount_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "unit_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "unit_amount_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "up_to": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.ApiList_stripe.Stripe.Refund_": { - "dataType": "refObject", - "properties": { - "object": {"dataType":"enum","enums":["list"],"required":true}, - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Refund"},"required":true}, - "has_more": {"dataType":"boolean","required":true}, - "url": {"dataType":"string","required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Price.TiersMode": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["graduated"]},{"dataType":"enum","enums":["volume"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Review.ClosedReason": { + "stripe.Stripe.Price.TransformQuantity.Round": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["approved"]},{"dataType":"enum","enums":["disputed"]},{"dataType":"enum","enums":["redacted"]},{"dataType":"enum","enums":["refunded"]},{"dataType":"enum","enums":["refunded_as_fraud"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["down"]},{"dataType":"enum","enums":["up"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Review.IpAddressLocation": { + "stripe.Stripe.Price.TransformQuantity": { "dataType": "refObject", "properties": { - "city": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "latitude": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "longitude": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "region": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "divide_by": {"dataType":"double","required":true}, + "round": {"ref":"stripe.Stripe.Price.TransformQuantity.Round","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Review.OpenedReason": { + "stripe.Stripe.Price.Type": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["manual"]},{"dataType":"enum","enums":["rule"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Review.Session": { - "dataType": "refObject", - "properties": { - "browser": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "device": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "platform": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "version": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["one_time"]},{"dataType":"enum","enums":["recurring"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Review": { + "stripe.Stripe.Price": { "dataType": "refObject", "properties": { "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["review"],"required":true}, - "billing_zip": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "charge": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Charge"},{"dataType":"enum","enums":[null]}],"required":true}, - "closed_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Review.ClosedReason"},{"dataType":"enum","enums":[null]}],"required":true}, + "object": {"dataType":"enum","enums":["price"],"required":true}, + "active": {"dataType":"boolean","required":true}, + "billing_scheme": {"ref":"stripe.Stripe.Price.BillingScheme","required":true}, "created": {"dataType":"double","required":true}, - "ip_address": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "ip_address_location": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Review.IpAddressLocation"},{"dataType":"enum","enums":[null]}],"required":true}, + "currency": {"dataType":"string","required":true}, + "currency_options": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"stripe.Stripe.Price.CurrencyOptions"}}, + "custom_unit_amount": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Price.CustomUnitAmount"},{"dataType":"enum","enums":[null]}],"required":true}, + "deleted": {"dataType":"void"}, "livemode": {"dataType":"boolean","required":true}, - "open": {"dataType":"boolean","required":true}, - "opened_reason": {"ref":"stripe.Stripe.Review.OpenedReason","required":true}, - "payment_intent": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentIntent"}]}, - "reason": {"dataType":"string","required":true}, - "session": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Review.Session"},{"dataType":"enum","enums":[null]}],"required":true}, + "lookup_key": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "metadata": {"ref":"stripe.Stripe.Metadata","required":true}, + "nickname": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "product": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Product"},{"ref":"stripe.Stripe.DeletedProduct"}],"required":true}, + "recurring": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Price.Recurring"},{"dataType":"enum","enums":[null]}],"required":true}, + "tax_behavior": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Price.TaxBehavior"},{"dataType":"enum","enums":[null]}],"required":true}, + "tiers": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Price.Tier"}}, + "tiers_mode": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Price.TiersMode"},{"dataType":"enum","enums":[null]}],"required":true}, + "transform_quantity": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Price.TransformQuantity"},{"dataType":"enum","enums":[null]}],"required":true}, + "type": {"ref":"stripe.Stripe.Price.Type","required":true}, + "unit_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "unit_amount_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.Shipping": { + "stripe.Stripe.Product.MarketingFeature": { "dataType": "refObject", "properties": { - "address": {"ref":"stripe.Stripe.Address"}, - "carrier": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, "name": {"dataType":"string"}, - "phone": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "tracking_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.Status": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["failed"]},{"dataType":"enum","enums":["pending"]},{"dataType":"enum","enums":["succeeded"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Charge.TransferData": { + "stripe.Stripe.Product.PackageDimensions": { "dataType": "refObject", "properties": { - "amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "destination": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}],"required":true}, + "height": {"dataType":"double","required":true}, + "length": {"dataType":"double","required":true}, + "weight": {"dataType":"double","required":true}, + "width": {"dataType":"double","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.CollectionMethod": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["charge_automatically"]},{"dataType":"enum","enums":["send_invoice"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.CustomField": { + "stripe.Stripe.TaxCode": { "dataType": "refObject", "properties": { + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["tax_code"],"required":true}, + "description": {"dataType":"string","required":true}, "name": {"dataType":"string","required":true}, - "value": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.CustomerShipping": { + "stripe.Stripe.Product.Type": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["good"]},{"dataType":"enum","enums":["service"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Plan.Tier": { "dataType": "refObject", "properties": { - "address": {"ref":"stripe.Stripe.Address"}, - "carrier": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "name": {"dataType":"string"}, - "phone": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "tracking_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "flat_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "flat_amount_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "unit_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "unit_amount_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "up_to": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.CustomerTaxExempt": { + "stripe.Stripe.Plan.TiersMode": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["exempt"]},{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["reverse"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["graduated"]},{"dataType":"enum","enums":["volume"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.CustomerTaxId.Type": { + "stripe.Stripe.Plan.TransformUsage.Round": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["ad_nrt"]},{"dataType":"enum","enums":["ae_trn"]},{"dataType":"enum","enums":["al_tin"]},{"dataType":"enum","enums":["am_tin"]},{"dataType":"enum","enums":["ao_tin"]},{"dataType":"enum","enums":["ar_cuit"]},{"dataType":"enum","enums":["au_abn"]},{"dataType":"enum","enums":["au_arn"]},{"dataType":"enum","enums":["ba_tin"]},{"dataType":"enum","enums":["bb_tin"]},{"dataType":"enum","enums":["bg_uic"]},{"dataType":"enum","enums":["bh_vat"]},{"dataType":"enum","enums":["bo_tin"]},{"dataType":"enum","enums":["br_cnpj"]},{"dataType":"enum","enums":["br_cpf"]},{"dataType":"enum","enums":["bs_tin"]},{"dataType":"enum","enums":["by_tin"]},{"dataType":"enum","enums":["ca_bn"]},{"dataType":"enum","enums":["ca_gst_hst"]},{"dataType":"enum","enums":["ca_pst_bc"]},{"dataType":"enum","enums":["ca_pst_mb"]},{"dataType":"enum","enums":["ca_pst_sk"]},{"dataType":"enum","enums":["ca_qst"]},{"dataType":"enum","enums":["cd_nif"]},{"dataType":"enum","enums":["ch_uid"]},{"dataType":"enum","enums":["ch_vat"]},{"dataType":"enum","enums":["cl_tin"]},{"dataType":"enum","enums":["cn_tin"]},{"dataType":"enum","enums":["co_nit"]},{"dataType":"enum","enums":["cr_tin"]},{"dataType":"enum","enums":["de_stn"]},{"dataType":"enum","enums":["do_rcn"]},{"dataType":"enum","enums":["ec_ruc"]},{"dataType":"enum","enums":["eg_tin"]},{"dataType":"enum","enums":["es_cif"]},{"dataType":"enum","enums":["eu_oss_vat"]},{"dataType":"enum","enums":["eu_vat"]},{"dataType":"enum","enums":["gb_vat"]},{"dataType":"enum","enums":["ge_vat"]},{"dataType":"enum","enums":["gn_nif"]},{"dataType":"enum","enums":["hk_br"]},{"dataType":"enum","enums":["hr_oib"]},{"dataType":"enum","enums":["hu_tin"]},{"dataType":"enum","enums":["id_npwp"]},{"dataType":"enum","enums":["il_vat"]},{"dataType":"enum","enums":["in_gst"]},{"dataType":"enum","enums":["is_vat"]},{"dataType":"enum","enums":["jp_cn"]},{"dataType":"enum","enums":["jp_rn"]},{"dataType":"enum","enums":["jp_trn"]},{"dataType":"enum","enums":["ke_pin"]},{"dataType":"enum","enums":["kh_tin"]},{"dataType":"enum","enums":["kr_brn"]},{"dataType":"enum","enums":["kz_bin"]},{"dataType":"enum","enums":["li_uid"]},{"dataType":"enum","enums":["li_vat"]},{"dataType":"enum","enums":["ma_vat"]},{"dataType":"enum","enums":["md_vat"]},{"dataType":"enum","enums":["me_pib"]},{"dataType":"enum","enums":["mk_vat"]},{"dataType":"enum","enums":["mr_nif"]},{"dataType":"enum","enums":["mx_rfc"]},{"dataType":"enum","enums":["my_frp"]},{"dataType":"enum","enums":["my_itn"]},{"dataType":"enum","enums":["my_sst"]},{"dataType":"enum","enums":["ng_tin"]},{"dataType":"enum","enums":["no_vat"]},{"dataType":"enum","enums":["no_voec"]},{"dataType":"enum","enums":["np_pan"]},{"dataType":"enum","enums":["nz_gst"]},{"dataType":"enum","enums":["om_vat"]},{"dataType":"enum","enums":["pe_ruc"]},{"dataType":"enum","enums":["ph_tin"]},{"dataType":"enum","enums":["ro_tin"]},{"dataType":"enum","enums":["rs_pib"]},{"dataType":"enum","enums":["ru_inn"]},{"dataType":"enum","enums":["ru_kpp"]},{"dataType":"enum","enums":["sa_vat"]},{"dataType":"enum","enums":["sg_gst"]},{"dataType":"enum","enums":["sg_uen"]},{"dataType":"enum","enums":["si_tin"]},{"dataType":"enum","enums":["sn_ninea"]},{"dataType":"enum","enums":["sr_fin"]},{"dataType":"enum","enums":["sv_nit"]},{"dataType":"enum","enums":["th_vat"]},{"dataType":"enum","enums":["tj_tin"]},{"dataType":"enum","enums":["tr_tin"]},{"dataType":"enum","enums":["tw_vat"]},{"dataType":"enum","enums":["tz_vat"]},{"dataType":"enum","enums":["ua_vat"]},{"dataType":"enum","enums":["ug_tin"]},{"dataType":"enum","enums":["unknown"]},{"dataType":"enum","enums":["us_ein"]},{"dataType":"enum","enums":["uy_ruc"]},{"dataType":"enum","enums":["uz_tin"]},{"dataType":"enum","enums":["uz_vat"]},{"dataType":"enum","enums":["ve_rif"]},{"dataType":"enum","enums":["vn_tin"]},{"dataType":"enum","enums":["za_vat"]},{"dataType":"enum","enums":["zm_tin"]},{"dataType":"enum","enums":["zw_tin"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.CustomerTaxId": { - "dataType": "refObject", - "properties": { - "type": {"ref":"stripe.Stripe.Invoice.CustomerTaxId.Type","required":true}, - "value": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["down"]},{"dataType":"enum","enums":["up"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.TaxRate.FlatAmount": { + "stripe.Stripe.Plan.TransformUsage": { "dataType": "refObject", "properties": { - "amount": {"dataType":"double","required":true}, - "currency": {"dataType":"string","required":true}, + "divide_by": {"dataType":"double","required":true}, + "round": {"ref":"stripe.Stripe.Plan.TransformUsage.Round","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.TaxRate.JurisdictionLevel": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["city"]},{"dataType":"enum","enums":["country"]},{"dataType":"enum","enums":["county"]},{"dataType":"enum","enums":["district"]},{"dataType":"enum","enums":["multiple"]},{"dataType":"enum","enums":["state"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.TaxRate.RateType": { + "stripe.Stripe.Plan.UsageType": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["flat_amount"]},{"dataType":"enum","enums":["percentage"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["licensed"]},{"dataType":"enum","enums":["metered"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.TaxRate.TaxType": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["amusement_tax"]},{"dataType":"enum","enums":["communications_tax"]},{"dataType":"enum","enums":["gst"]},{"dataType":"enum","enums":["hst"]},{"dataType":"enum","enums":["igst"]},{"dataType":"enum","enums":["jct"]},{"dataType":"enum","enums":["lease_tax"]},{"dataType":"enum","enums":["pst"]},{"dataType":"enum","enums":["qst"]},{"dataType":"enum","enums":["retail_delivery_fee"]},{"dataType":"enum","enums":["rst"]},{"dataType":"enum","enums":["sales_tax"]},{"dataType":"enum","enums":["service_tax"]},{"dataType":"enum","enums":["vat"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.TaxRate": { + "stripe.Stripe.Plan": { "dataType": "refObject", "properties": { "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["tax_rate"],"required":true}, + "object": {"dataType":"enum","enums":["plan"],"required":true}, "active": {"dataType":"boolean","required":true}, - "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "aggregate_usage": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Plan.AggregateUsage"},{"dataType":"enum","enums":[null]}],"required":true}, + "amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "amount_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "billing_scheme": {"ref":"stripe.Stripe.Plan.BillingScheme","required":true}, "created": {"dataType":"double","required":true}, - "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "display_name": {"dataType":"string","required":true}, - "effective_percentage": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "flat_amount": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.TaxRate.FlatAmount"},{"dataType":"enum","enums":[null]}],"required":true}, - "inclusive": {"dataType":"boolean","required":true}, - "jurisdiction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "jurisdiction_level": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.TaxRate.JurisdictionLevel"},{"dataType":"enum","enums":[null]}],"required":true}, + "currency": {"dataType":"string","required":true}, + "deleted": {"dataType":"void"}, + "interval": {"ref":"stripe.Stripe.Plan.Interval","required":true}, + "interval_count": {"dataType":"double","required":true}, "livemode": {"dataType":"boolean","required":true}, "metadata": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Metadata"},{"dataType":"enum","enums":[null]}],"required":true}, - "percentage": {"dataType":"double","required":true}, - "rate_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.TaxRate.RateType"},{"dataType":"enum","enums":[null]}],"required":true}, - "state": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "tax_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.TaxRate.TaxType"},{"dataType":"enum","enums":[null]}],"required":true}, + "meter": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "nickname": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "product": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Product"},{"ref":"stripe.Stripe.DeletedProduct"},{"dataType":"enum","enums":[null]}],"required":true}, + "tiers": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Plan.Tier"}}, + "tiers_mode": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Plan.TiersMode"},{"dataType":"enum","enums":[null]}],"required":true}, + "transform_usage": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Plan.TransformUsage"},{"dataType":"enum","enums":[null]}],"required":true}, + "trial_period_days": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "usage_type": {"ref":"stripe.Stripe.Plan.UsageType","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.DeletedDiscount": { + "stripe.Stripe.Subscription": { "dataType": "refObject", "properties": { "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["discount"],"required":true}, - "checkout_session": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "coupon": {"ref":"stripe.Stripe.Coupon","required":true}, - "customer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Customer"},{"ref":"stripe.Stripe.DeletedCustomer"},{"dataType":"enum","enums":[null]}],"required":true}, - "deleted": {"dataType":"enum","enums":[true],"required":true}, - "invoice": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "invoice_item": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "promotion_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PromotionCode"},{"dataType":"enum","enums":[null]}],"required":true}, - "start": {"dataType":"double","required":true}, - "subscription": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "subscription_item": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "object": {"dataType":"enum","enums":["subscription"],"required":true}, + "application": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Application"},{"ref":"stripe.Stripe.DeletedApplication"},{"dataType":"enum","enums":[null]}],"required":true}, + "application_fee_percent": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "automatic_tax": {"ref":"stripe.Stripe.Subscription.AutomaticTax","required":true}, + "billing_cycle_anchor": {"dataType":"double","required":true}, + "billing_cycle_anchor_config": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.BillingCycleAnchorConfig"},{"dataType":"enum","enums":[null]}],"required":true}, + "billing_thresholds": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.BillingThresholds"},{"dataType":"enum","enums":[null]}],"required":true}, + "cancel_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "cancel_at_period_end": {"dataType":"boolean","required":true}, + "canceled_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "cancellation_details": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.CancellationDetails"},{"dataType":"enum","enums":[null]}],"required":true}, + "collection_method": {"ref":"stripe.Stripe.Subscription.CollectionMethod","required":true}, + "created": {"dataType":"double","required":true}, + "currency": {"dataType":"string","required":true}, + "current_period_end": {"dataType":"double","required":true}, + "current_period_start": {"dataType":"double","required":true}, + "customer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Customer"},{"ref":"stripe.Stripe.DeletedCustomer"}],"required":true}, + "days_until_due": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "default_payment_method": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentMethod"},{"dataType":"enum","enums":[null]}],"required":true}, + "default_source": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.CustomerSource"},{"dataType":"enum","enums":[null]}],"required":true}, + "default_tax_rates": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.TaxRate"}},{"dataType":"enum","enums":[null]}]}, + "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "discount": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Discount"},{"dataType":"enum","enums":[null]}],"required":true}, + "discounts": {"dataType":"array","array":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Discount"}]},"required":true}, + "ended_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "invoice_settings": {"ref":"stripe.Stripe.Subscription.InvoiceSettings","required":true}, + "items": {"ref":"stripe.Stripe.ApiList_stripe.Stripe.SubscriptionItem_","required":true}, + "latest_invoice": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Invoice"},{"dataType":"enum","enums":[null]}],"required":true}, + "livemode": {"dataType":"boolean","required":true}, + "metadata": {"ref":"stripe.Stripe.Metadata","required":true}, + "next_pending_invoice_item_invoice": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "on_behalf_of": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"},{"dataType":"enum","enums":[null]}],"required":true}, + "pause_collection": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.PauseCollection"},{"dataType":"enum","enums":[null]}],"required":true}, + "payment_settings": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.PaymentSettings"},{"dataType":"enum","enums":[null]}],"required":true}, + "pending_invoice_item_interval": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.PendingInvoiceItemInterval"},{"dataType":"enum","enums":[null]}],"required":true}, + "pending_setup_intent": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.SetupIntent"},{"dataType":"enum","enums":[null]}],"required":true}, + "pending_update": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.PendingUpdate"},{"dataType":"enum","enums":[null]}],"required":true}, + "schedule": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.SubscriptionSchedule"},{"dataType":"enum","enums":[null]}],"required":true}, + "start_date": {"dataType":"double","required":true}, + "status": {"ref":"stripe.Stripe.Subscription.Status","required":true}, + "test_clock": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TestHelpers.TestClock"},{"dataType":"enum","enums":[null]}],"required":true}, + "transfer_data": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.TransferData"},{"dataType":"enum","enums":[null]}],"required":true}, + "trial_end": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "trial_settings": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.TrialSettings"},{"dataType":"enum","enums":[null]}],"required":true}, + "trial_start": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.FromInvoice": { + "stripe.Stripe.TestHelpers.TestClock.Status": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["advancing"]},{"dataType":"enum","enums":["internal_failure"]},{"dataType":"enum","enums":["ready"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.TestHelpers.TestClock.StatusDetails.Advancing": { "dataType": "refObject", "properties": { - "action": {"dataType":"string","required":true}, - "invoice": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Invoice"}],"required":true}, + "target_frozen_time": {"dataType":"double","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.Issuer.Type": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account"]},{"dataType":"enum","enums":["self"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.Issuer": { + "stripe.Stripe.TestHelpers.TestClock.StatusDetails": { "dataType": "refObject", "properties": { - "account": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}]}, - "type": {"ref":"stripe.Stripe.Invoice.Issuer.Type","required":true}, + "advancing": {"ref":"stripe.Stripe.TestHelpers.TestClock.StatusDetails.Advancing"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.LastFinalizationError.Code": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account_closed"]},{"dataType":"enum","enums":["account_country_invalid_address"]},{"dataType":"enum","enums":["account_error_country_change_requires_additional_steps"]},{"dataType":"enum","enums":["account_information_mismatch"]},{"dataType":"enum","enums":["account_invalid"]},{"dataType":"enum","enums":["account_number_invalid"]},{"dataType":"enum","enums":["acss_debit_session_incomplete"]},{"dataType":"enum","enums":["alipay_upgrade_required"]},{"dataType":"enum","enums":["amount_too_large"]},{"dataType":"enum","enums":["amount_too_small"]},{"dataType":"enum","enums":["api_key_expired"]},{"dataType":"enum","enums":["application_fees_not_allowed"]},{"dataType":"enum","enums":["authentication_required"]},{"dataType":"enum","enums":["balance_insufficient"]},{"dataType":"enum","enums":["balance_invalid_parameter"]},{"dataType":"enum","enums":["bank_account_bad_routing_numbers"]},{"dataType":"enum","enums":["bank_account_declined"]},{"dataType":"enum","enums":["bank_account_exists"]},{"dataType":"enum","enums":["bank_account_restricted"]},{"dataType":"enum","enums":["bank_account_unusable"]},{"dataType":"enum","enums":["bank_account_unverified"]},{"dataType":"enum","enums":["bank_account_verification_failed"]},{"dataType":"enum","enums":["billing_invalid_mandate"]},{"dataType":"enum","enums":["bitcoin_upgrade_required"]},{"dataType":"enum","enums":["capture_charge_authorization_expired"]},{"dataType":"enum","enums":["capture_unauthorized_payment"]},{"dataType":"enum","enums":["card_decline_rate_limit_exceeded"]},{"dataType":"enum","enums":["card_declined"]},{"dataType":"enum","enums":["cardholder_phone_number_required"]},{"dataType":"enum","enums":["charge_already_captured"]},{"dataType":"enum","enums":["charge_already_refunded"]},{"dataType":"enum","enums":["charge_disputed"]},{"dataType":"enum","enums":["charge_exceeds_source_limit"]},{"dataType":"enum","enums":["charge_exceeds_transaction_limit"]},{"dataType":"enum","enums":["charge_expired_for_capture"]},{"dataType":"enum","enums":["charge_invalid_parameter"]},{"dataType":"enum","enums":["charge_not_refundable"]},{"dataType":"enum","enums":["clearing_code_unsupported"]},{"dataType":"enum","enums":["country_code_invalid"]},{"dataType":"enum","enums":["country_unsupported"]},{"dataType":"enum","enums":["coupon_expired"]},{"dataType":"enum","enums":["customer_max_payment_methods"]},{"dataType":"enum","enums":["customer_max_subscriptions"]},{"dataType":"enum","enums":["customer_tax_location_invalid"]},{"dataType":"enum","enums":["debit_not_authorized"]},{"dataType":"enum","enums":["email_invalid"]},{"dataType":"enum","enums":["expired_card"]},{"dataType":"enum","enums":["financial_connections_account_inactive"]},{"dataType":"enum","enums":["financial_connections_no_successful_transaction_refresh"]},{"dataType":"enum","enums":["forwarding_api_inactive"]},{"dataType":"enum","enums":["forwarding_api_invalid_parameter"]},{"dataType":"enum","enums":["forwarding_api_upstream_connection_error"]},{"dataType":"enum","enums":["forwarding_api_upstream_connection_timeout"]},{"dataType":"enum","enums":["idempotency_key_in_use"]},{"dataType":"enum","enums":["incorrect_address"]},{"dataType":"enum","enums":["incorrect_cvc"]},{"dataType":"enum","enums":["incorrect_number"]},{"dataType":"enum","enums":["incorrect_zip"]},{"dataType":"enum","enums":["instant_payouts_config_disabled"]},{"dataType":"enum","enums":["instant_payouts_currency_disabled"]},{"dataType":"enum","enums":["instant_payouts_limit_exceeded"]},{"dataType":"enum","enums":["instant_payouts_unsupported"]},{"dataType":"enum","enums":["insufficient_funds"]},{"dataType":"enum","enums":["intent_invalid_state"]},{"dataType":"enum","enums":["intent_verification_method_missing"]},{"dataType":"enum","enums":["invalid_card_type"]},{"dataType":"enum","enums":["invalid_characters"]},{"dataType":"enum","enums":["invalid_charge_amount"]},{"dataType":"enum","enums":["invalid_cvc"]},{"dataType":"enum","enums":["invalid_expiry_month"]},{"dataType":"enum","enums":["invalid_expiry_year"]},{"dataType":"enum","enums":["invalid_mandate_reference_prefix_format"]},{"dataType":"enum","enums":["invalid_number"]},{"dataType":"enum","enums":["invalid_source_usage"]},{"dataType":"enum","enums":["invalid_tax_location"]},{"dataType":"enum","enums":["invoice_no_customer_line_items"]},{"dataType":"enum","enums":["invoice_no_payment_method_types"]},{"dataType":"enum","enums":["invoice_no_subscription_line_items"]},{"dataType":"enum","enums":["invoice_not_editable"]},{"dataType":"enum","enums":["invoice_on_behalf_of_not_editable"]},{"dataType":"enum","enums":["invoice_payment_intent_requires_action"]},{"dataType":"enum","enums":["invoice_upcoming_none"]},{"dataType":"enum","enums":["livemode_mismatch"]},{"dataType":"enum","enums":["lock_timeout"]},{"dataType":"enum","enums":["missing"]},{"dataType":"enum","enums":["no_account"]},{"dataType":"enum","enums":["not_allowed_on_standard_account"]},{"dataType":"enum","enums":["out_of_inventory"]},{"dataType":"enum","enums":["ownership_declaration_not_allowed"]},{"dataType":"enum","enums":["parameter_invalid_empty"]},{"dataType":"enum","enums":["parameter_invalid_integer"]},{"dataType":"enum","enums":["parameter_invalid_string_blank"]},{"dataType":"enum","enums":["parameter_invalid_string_empty"]},{"dataType":"enum","enums":["parameter_missing"]},{"dataType":"enum","enums":["parameter_unknown"]},{"dataType":"enum","enums":["parameters_exclusive"]},{"dataType":"enum","enums":["payment_intent_action_required"]},{"dataType":"enum","enums":["payment_intent_authentication_failure"]},{"dataType":"enum","enums":["payment_intent_incompatible_payment_method"]},{"dataType":"enum","enums":["payment_intent_invalid_parameter"]},{"dataType":"enum","enums":["payment_intent_konbini_rejected_confirmation_number"]},{"dataType":"enum","enums":["payment_intent_mandate_invalid"]},{"dataType":"enum","enums":["payment_intent_payment_attempt_expired"]},{"dataType":"enum","enums":["payment_intent_payment_attempt_failed"]},{"dataType":"enum","enums":["payment_intent_unexpected_state"]},{"dataType":"enum","enums":["payment_method_bank_account_already_verified"]},{"dataType":"enum","enums":["payment_method_bank_account_blocked"]},{"dataType":"enum","enums":["payment_method_billing_details_address_missing"]},{"dataType":"enum","enums":["payment_method_configuration_failures"]},{"dataType":"enum","enums":["payment_method_currency_mismatch"]},{"dataType":"enum","enums":["payment_method_customer_decline"]},{"dataType":"enum","enums":["payment_method_invalid_parameter"]},{"dataType":"enum","enums":["payment_method_invalid_parameter_testmode"]},{"dataType":"enum","enums":["payment_method_microdeposit_failed"]},{"dataType":"enum","enums":["payment_method_microdeposit_verification_amounts_invalid"]},{"dataType":"enum","enums":["payment_method_microdeposit_verification_amounts_mismatch"]},{"dataType":"enum","enums":["payment_method_microdeposit_verification_attempts_exceeded"]},{"dataType":"enum","enums":["payment_method_microdeposit_verification_descriptor_code_mismatch"]},{"dataType":"enum","enums":["payment_method_microdeposit_verification_timeout"]},{"dataType":"enum","enums":["payment_method_not_available"]},{"dataType":"enum","enums":["payment_method_provider_decline"]},{"dataType":"enum","enums":["payment_method_provider_timeout"]},{"dataType":"enum","enums":["payment_method_unactivated"]},{"dataType":"enum","enums":["payment_method_unexpected_state"]},{"dataType":"enum","enums":["payment_method_unsupported_type"]},{"dataType":"enum","enums":["payout_reconciliation_not_ready"]},{"dataType":"enum","enums":["payouts_limit_exceeded"]},{"dataType":"enum","enums":["payouts_not_allowed"]},{"dataType":"enum","enums":["platform_account_required"]},{"dataType":"enum","enums":["platform_api_key_expired"]},{"dataType":"enum","enums":["postal_code_invalid"]},{"dataType":"enum","enums":["processing_error"]},{"dataType":"enum","enums":["product_inactive"]},{"dataType":"enum","enums":["progressive_onboarding_limit_exceeded"]},{"dataType":"enum","enums":["rate_limit"]},{"dataType":"enum","enums":["refer_to_customer"]},{"dataType":"enum","enums":["refund_disputed_payment"]},{"dataType":"enum","enums":["resource_already_exists"]},{"dataType":"enum","enums":["resource_missing"]},{"dataType":"enum","enums":["return_intent_already_processed"]},{"dataType":"enum","enums":["routing_number_invalid"]},{"dataType":"enum","enums":["secret_key_required"]},{"dataType":"enum","enums":["sepa_unsupported_account"]},{"dataType":"enum","enums":["setup_attempt_failed"]},{"dataType":"enum","enums":["setup_intent_authentication_failure"]},{"dataType":"enum","enums":["setup_intent_invalid_parameter"]},{"dataType":"enum","enums":["setup_intent_mandate_invalid"]},{"dataType":"enum","enums":["setup_intent_setup_attempt_expired"]},{"dataType":"enum","enums":["setup_intent_unexpected_state"]},{"dataType":"enum","enums":["shipping_address_invalid"]},{"dataType":"enum","enums":["shipping_calculation_failed"]},{"dataType":"enum","enums":["sku_inactive"]},{"dataType":"enum","enums":["state_unsupported"]},{"dataType":"enum","enums":["status_transition_invalid"]},{"dataType":"enum","enums":["stripe_tax_inactive"]},{"dataType":"enum","enums":["tax_id_invalid"]},{"dataType":"enum","enums":["taxes_calculation_failed"]},{"dataType":"enum","enums":["terminal_location_country_unsupported"]},{"dataType":"enum","enums":["terminal_reader_busy"]},{"dataType":"enum","enums":["terminal_reader_hardware_fault"]},{"dataType":"enum","enums":["terminal_reader_invalid_location_for_activation"]},{"dataType":"enum","enums":["terminal_reader_invalid_location_for_payment"]},{"dataType":"enum","enums":["terminal_reader_offline"]},{"dataType":"enum","enums":["terminal_reader_timeout"]},{"dataType":"enum","enums":["testmode_charges_only"]},{"dataType":"enum","enums":["tls_version_unsupported"]},{"dataType":"enum","enums":["token_already_used"]},{"dataType":"enum","enums":["token_card_network_invalid"]},{"dataType":"enum","enums":["token_in_use"]},{"dataType":"enum","enums":["transfer_source_balance_parameters_mismatch"]},{"dataType":"enum","enums":["transfers_not_allowed"]},{"dataType":"enum","enums":["url_invalid"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.AutomaticPaymentMethods.AllowRedirects": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["always"]},{"dataType":"enum","enums":["never"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.AutomaticPaymentMethods": { + "stripe.Stripe.TestHelpers.TestClock": { "dataType": "refObject", "properties": { - "allow_redirects": {"ref":"stripe.Stripe.SetupIntent.AutomaticPaymentMethods.AllowRedirects"}, - "enabled": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["test_helpers.test_clock"],"required":true}, + "created": {"dataType":"double","required":true}, + "deleted": {"dataType":"void"}, + "deletes_after": {"dataType":"double","required":true}, + "frozen_time": {"dataType":"double","required":true}, + "livemode": {"dataType":"boolean","required":true}, + "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "status": {"ref":"stripe.Stripe.TestHelpers.TestClock.Status","required":true}, + "status_details": {"ref":"stripe.Stripe.TestHelpers.TestClock.StatusDetails","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.CancellationReason": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["abandoned"]},{"dataType":"enum","enums":["duplicate"]},{"dataType":"enum","enums":["requested_by_customer"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.FlowDirection": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["inbound"]},{"dataType":"enum","enums":["outbound"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.LastSetupError.Code": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account_closed"]},{"dataType":"enum","enums":["account_country_invalid_address"]},{"dataType":"enum","enums":["account_error_country_change_requires_additional_steps"]},{"dataType":"enum","enums":["account_information_mismatch"]},{"dataType":"enum","enums":["account_invalid"]},{"dataType":"enum","enums":["account_number_invalid"]},{"dataType":"enum","enums":["acss_debit_session_incomplete"]},{"dataType":"enum","enums":["alipay_upgrade_required"]},{"dataType":"enum","enums":["amount_too_large"]},{"dataType":"enum","enums":["amount_too_small"]},{"dataType":"enum","enums":["api_key_expired"]},{"dataType":"enum","enums":["application_fees_not_allowed"]},{"dataType":"enum","enums":["authentication_required"]},{"dataType":"enum","enums":["balance_insufficient"]},{"dataType":"enum","enums":["balance_invalid_parameter"]},{"dataType":"enum","enums":["bank_account_bad_routing_numbers"]},{"dataType":"enum","enums":["bank_account_declined"]},{"dataType":"enum","enums":["bank_account_exists"]},{"dataType":"enum","enums":["bank_account_restricted"]},{"dataType":"enum","enums":["bank_account_unusable"]},{"dataType":"enum","enums":["bank_account_unverified"]},{"dataType":"enum","enums":["bank_account_verification_failed"]},{"dataType":"enum","enums":["billing_invalid_mandate"]},{"dataType":"enum","enums":["bitcoin_upgrade_required"]},{"dataType":"enum","enums":["capture_charge_authorization_expired"]},{"dataType":"enum","enums":["capture_unauthorized_payment"]},{"dataType":"enum","enums":["card_decline_rate_limit_exceeded"]},{"dataType":"enum","enums":["card_declined"]},{"dataType":"enum","enums":["cardholder_phone_number_required"]},{"dataType":"enum","enums":["charge_already_captured"]},{"dataType":"enum","enums":["charge_already_refunded"]},{"dataType":"enum","enums":["charge_disputed"]},{"dataType":"enum","enums":["charge_exceeds_source_limit"]},{"dataType":"enum","enums":["charge_exceeds_transaction_limit"]},{"dataType":"enum","enums":["charge_expired_for_capture"]},{"dataType":"enum","enums":["charge_invalid_parameter"]},{"dataType":"enum","enums":["charge_not_refundable"]},{"dataType":"enum","enums":["clearing_code_unsupported"]},{"dataType":"enum","enums":["country_code_invalid"]},{"dataType":"enum","enums":["country_unsupported"]},{"dataType":"enum","enums":["coupon_expired"]},{"dataType":"enum","enums":["customer_max_payment_methods"]},{"dataType":"enum","enums":["customer_max_subscriptions"]},{"dataType":"enum","enums":["customer_tax_location_invalid"]},{"dataType":"enum","enums":["debit_not_authorized"]},{"dataType":"enum","enums":["email_invalid"]},{"dataType":"enum","enums":["expired_card"]},{"dataType":"enum","enums":["financial_connections_account_inactive"]},{"dataType":"enum","enums":["financial_connections_no_successful_transaction_refresh"]},{"dataType":"enum","enums":["forwarding_api_inactive"]},{"dataType":"enum","enums":["forwarding_api_invalid_parameter"]},{"dataType":"enum","enums":["forwarding_api_upstream_connection_error"]},{"dataType":"enum","enums":["forwarding_api_upstream_connection_timeout"]},{"dataType":"enum","enums":["idempotency_key_in_use"]},{"dataType":"enum","enums":["incorrect_address"]},{"dataType":"enum","enums":["incorrect_cvc"]},{"dataType":"enum","enums":["incorrect_number"]},{"dataType":"enum","enums":["incorrect_zip"]},{"dataType":"enum","enums":["instant_payouts_config_disabled"]},{"dataType":"enum","enums":["instant_payouts_currency_disabled"]},{"dataType":"enum","enums":["instant_payouts_limit_exceeded"]},{"dataType":"enum","enums":["instant_payouts_unsupported"]},{"dataType":"enum","enums":["insufficient_funds"]},{"dataType":"enum","enums":["intent_invalid_state"]},{"dataType":"enum","enums":["intent_verification_method_missing"]},{"dataType":"enum","enums":["invalid_card_type"]},{"dataType":"enum","enums":["invalid_characters"]},{"dataType":"enum","enums":["invalid_charge_amount"]},{"dataType":"enum","enums":["invalid_cvc"]},{"dataType":"enum","enums":["invalid_expiry_month"]},{"dataType":"enum","enums":["invalid_expiry_year"]},{"dataType":"enum","enums":["invalid_mandate_reference_prefix_format"]},{"dataType":"enum","enums":["invalid_number"]},{"dataType":"enum","enums":["invalid_source_usage"]},{"dataType":"enum","enums":["invalid_tax_location"]},{"dataType":"enum","enums":["invoice_no_customer_line_items"]},{"dataType":"enum","enums":["invoice_no_payment_method_types"]},{"dataType":"enum","enums":["invoice_no_subscription_line_items"]},{"dataType":"enum","enums":["invoice_not_editable"]},{"dataType":"enum","enums":["invoice_on_behalf_of_not_editable"]},{"dataType":"enum","enums":["invoice_payment_intent_requires_action"]},{"dataType":"enum","enums":["invoice_upcoming_none"]},{"dataType":"enum","enums":["livemode_mismatch"]},{"dataType":"enum","enums":["lock_timeout"]},{"dataType":"enum","enums":["missing"]},{"dataType":"enum","enums":["no_account"]},{"dataType":"enum","enums":["not_allowed_on_standard_account"]},{"dataType":"enum","enums":["out_of_inventory"]},{"dataType":"enum","enums":["ownership_declaration_not_allowed"]},{"dataType":"enum","enums":["parameter_invalid_empty"]},{"dataType":"enum","enums":["parameter_invalid_integer"]},{"dataType":"enum","enums":["parameter_invalid_string_blank"]},{"dataType":"enum","enums":["parameter_invalid_string_empty"]},{"dataType":"enum","enums":["parameter_missing"]},{"dataType":"enum","enums":["parameter_unknown"]},{"dataType":"enum","enums":["parameters_exclusive"]},{"dataType":"enum","enums":["payment_intent_action_required"]},{"dataType":"enum","enums":["payment_intent_authentication_failure"]},{"dataType":"enum","enums":["payment_intent_incompatible_payment_method"]},{"dataType":"enum","enums":["payment_intent_invalid_parameter"]},{"dataType":"enum","enums":["payment_intent_konbini_rejected_confirmation_number"]},{"dataType":"enum","enums":["payment_intent_mandate_invalid"]},{"dataType":"enum","enums":["payment_intent_payment_attempt_expired"]},{"dataType":"enum","enums":["payment_intent_payment_attempt_failed"]},{"dataType":"enum","enums":["payment_intent_unexpected_state"]},{"dataType":"enum","enums":["payment_method_bank_account_already_verified"]},{"dataType":"enum","enums":["payment_method_bank_account_blocked"]},{"dataType":"enum","enums":["payment_method_billing_details_address_missing"]},{"dataType":"enum","enums":["payment_method_configuration_failures"]},{"dataType":"enum","enums":["payment_method_currency_mismatch"]},{"dataType":"enum","enums":["payment_method_customer_decline"]},{"dataType":"enum","enums":["payment_method_invalid_parameter"]},{"dataType":"enum","enums":["payment_method_invalid_parameter_testmode"]},{"dataType":"enum","enums":["payment_method_microdeposit_failed"]},{"dataType":"enum","enums":["payment_method_microdeposit_verification_amounts_invalid"]},{"dataType":"enum","enums":["payment_method_microdeposit_verification_amounts_mismatch"]},{"dataType":"enum","enums":["payment_method_microdeposit_verification_attempts_exceeded"]},{"dataType":"enum","enums":["payment_method_microdeposit_verification_descriptor_code_mismatch"]},{"dataType":"enum","enums":["payment_method_microdeposit_verification_timeout"]},{"dataType":"enum","enums":["payment_method_not_available"]},{"dataType":"enum","enums":["payment_method_provider_decline"]},{"dataType":"enum","enums":["payment_method_provider_timeout"]},{"dataType":"enum","enums":["payment_method_unactivated"]},{"dataType":"enum","enums":["payment_method_unexpected_state"]},{"dataType":"enum","enums":["payment_method_unsupported_type"]},{"dataType":"enum","enums":["payout_reconciliation_not_ready"]},{"dataType":"enum","enums":["payouts_limit_exceeded"]},{"dataType":"enum","enums":["payouts_not_allowed"]},{"dataType":"enum","enums":["platform_account_required"]},{"dataType":"enum","enums":["platform_api_key_expired"]},{"dataType":"enum","enums":["postal_code_invalid"]},{"dataType":"enum","enums":["processing_error"]},{"dataType":"enum","enums":["product_inactive"]},{"dataType":"enum","enums":["progressive_onboarding_limit_exceeded"]},{"dataType":"enum","enums":["rate_limit"]},{"dataType":"enum","enums":["refer_to_customer"]},{"dataType":"enum","enums":["refund_disputed_payment"]},{"dataType":"enum","enums":["resource_already_exists"]},{"dataType":"enum","enums":["resource_missing"]},{"dataType":"enum","enums":["return_intent_already_processed"]},{"dataType":"enum","enums":["routing_number_invalid"]},{"dataType":"enum","enums":["secret_key_required"]},{"dataType":"enum","enums":["sepa_unsupported_account"]},{"dataType":"enum","enums":["setup_attempt_failed"]},{"dataType":"enum","enums":["setup_intent_authentication_failure"]},{"dataType":"enum","enums":["setup_intent_invalid_parameter"]},{"dataType":"enum","enums":["setup_intent_mandate_invalid"]},{"dataType":"enum","enums":["setup_intent_setup_attempt_expired"]},{"dataType":"enum","enums":["setup_intent_unexpected_state"]},{"dataType":"enum","enums":["shipping_address_invalid"]},{"dataType":"enum","enums":["shipping_calculation_failed"]},{"dataType":"enum","enums":["sku_inactive"]},{"dataType":"enum","enums":["state_unsupported"]},{"dataType":"enum","enums":["status_transition_invalid"]},{"dataType":"enum","enums":["stripe_tax_inactive"]},{"dataType":"enum","enums":["tax_id_invalid"]},{"dataType":"enum","enums":["taxes_calculation_failed"]},{"dataType":"enum","enums":["terminal_location_country_unsupported"]},{"dataType":"enum","enums":["terminal_reader_busy"]},{"dataType":"enum","enums":["terminal_reader_hardware_fault"]},{"dataType":"enum","enums":["terminal_reader_invalid_location_for_activation"]},{"dataType":"enum","enums":["terminal_reader_invalid_location_for_payment"]},{"dataType":"enum","enums":["terminal_reader_offline"]},{"dataType":"enum","enums":["terminal_reader_timeout"]},{"dataType":"enum","enums":["testmode_charges_only"]},{"dataType":"enum","enums":["tls_version_unsupported"]},{"dataType":"enum","enums":["token_already_used"]},{"dataType":"enum","enums":["token_card_network_invalid"]},{"dataType":"enum","enums":["token_in_use"]},{"dataType":"enum","enums":["transfer_source_balance_parameters_mismatch"]},{"dataType":"enum","enums":["transfers_not_allowed"]},{"dataType":"enum","enums":["url_invalid"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent": { + "stripe.Stripe.InvoiceItem": { "dataType": "refObject", "properties": { "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["setup_intent"],"required":true}, - "application": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Application"},{"dataType":"enum","enums":[null]}],"required":true}, - "attach_to_self": {"dataType":"boolean"}, - "automatic_payment_methods": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupIntent.AutomaticPaymentMethods"},{"dataType":"enum","enums":[null]}],"required":true}, - "cancellation_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupIntent.CancellationReason"},{"dataType":"enum","enums":[null]}],"required":true}, - "client_secret": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "created": {"dataType":"double","required":true}, - "customer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Customer"},{"ref":"stripe.Stripe.DeletedCustomer"},{"dataType":"enum","enums":[null]}],"required":true}, + "object": {"dataType":"enum","enums":["invoiceitem"],"required":true}, + "amount": {"dataType":"double","required":true}, + "currency": {"dataType":"string","required":true}, + "customer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Customer"},{"ref":"stripe.Stripe.DeletedCustomer"}],"required":true}, + "date": {"dataType":"double","required":true}, + "deleted": {"dataType":"void"}, "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "flow_directions": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.SetupIntent.FlowDirection"}},{"dataType":"enum","enums":[null]}],"required":true}, - "last_setup_error": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupIntent.LastSetupError"},{"dataType":"enum","enums":[null]}],"required":true}, - "latest_attempt": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.SetupAttempt"},{"dataType":"enum","enums":[null]}],"required":true}, + "discountable": {"dataType":"boolean","required":true}, + "discounts": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Discount"}]}},{"dataType":"enum","enums":[null]}],"required":true}, + "invoice": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Invoice"},{"dataType":"enum","enums":[null]}],"required":true}, "livemode": {"dataType":"boolean","required":true}, - "mandate": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Mandate"},{"dataType":"enum","enums":[null]}],"required":true}, "metadata": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Metadata"},{"dataType":"enum","enums":[null]}],"required":true}, - "next_action": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupIntent.NextAction"},{"dataType":"enum","enums":[null]}],"required":true}, - "on_behalf_of": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"},{"dataType":"enum","enums":[null]}],"required":true}, - "payment_method": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentMethod"},{"dataType":"enum","enums":[null]}],"required":true}, - "payment_method_configuration_details": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupIntent.PaymentMethodConfigurationDetails"},{"dataType":"enum","enums":[null]}],"required":true}, - "payment_method_options": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions"},{"dataType":"enum","enums":[null]}],"required":true}, - "payment_method_types": {"dataType":"array","array":{"dataType":"string"},"required":true}, - "single_use_mandate": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Mandate"},{"dataType":"enum","enums":[null]}],"required":true}, - "status": {"ref":"stripe.Stripe.SetupIntent.Status","required":true}, - "usage": {"dataType":"string","required":true}, + "period": {"ref":"stripe.Stripe.InvoiceItem.Period","required":true}, + "plan": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Plan"},{"dataType":"enum","enums":[null]}],"required":true}, + "price": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Price"},{"dataType":"enum","enums":[null]}],"required":true}, + "proration": {"dataType":"boolean","required":true}, + "quantity": {"dataType":"double","required":true}, + "subscription": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Subscription"},{"dataType":"enum","enums":[null]}],"required":true}, + "subscription_item": {"dataType":"string"}, + "tax_rates": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.TaxRate"}},{"dataType":"enum","enums":[null]}],"required":true}, + "test_clock": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TestHelpers.TestClock"},{"dataType":"enum","enums":[null]}],"required":true}, + "unit_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "unit_amount_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.LastSetupError.Type": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["api_error"]},{"dataType":"enum","enums":["card_error"]},{"dataType":"enum","enums":["idempotency_error"]},{"dataType":"enum","enums":["invalid_request_error"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.LastSetupError": { + "stripe.Stripe.InvoiceLineItem.Period": { "dataType": "refObject", "properties": { - "advice_code": {"dataType":"string"}, - "charge": {"dataType":"string"}, - "code": {"ref":"stripe.Stripe.SetupIntent.LastSetupError.Code"}, - "decline_code": {"dataType":"string"}, - "doc_url": {"dataType":"string"}, - "message": {"dataType":"string"}, - "network_advice_code": {"dataType":"string"}, - "network_decline_code": {"dataType":"string"}, - "param": {"dataType":"string"}, - "payment_intent": {"ref":"stripe.Stripe.PaymentIntent"}, - "payment_method": {"ref":"stripe.Stripe.PaymentMethod"}, - "payment_method_type": {"dataType":"string"}, - "request_log_url": {"dataType":"string"}, - "setup_intent": {"ref":"stripe.Stripe.SetupIntent"}, - "source": {"ref":"stripe.Stripe.CustomerSource"}, - "type": {"ref":"stripe.Stripe.SetupIntent.LastSetupError.Type","required":true}, + "end": {"dataType":"double","required":true}, + "start": {"dataType":"double","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt": { + "stripe.Stripe.Billing.CreditBalanceTransaction.Credit.Amount.Monetary": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["setup_attempt"],"required":true}, - "application": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Application"},{"dataType":"enum","enums":[null]}],"required":true}, - "attach_to_self": {"dataType":"boolean"}, - "created": {"dataType":"double","required":true}, - "customer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Customer"},{"ref":"stripe.Stripe.DeletedCustomer"},{"dataType":"enum","enums":[null]}],"required":true}, - "flow_directions": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.SetupAttempt.FlowDirection"}},{"dataType":"enum","enums":[null]}],"required":true}, - "livemode": {"dataType":"boolean","required":true}, - "on_behalf_of": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"},{"dataType":"enum","enums":[null]}],"required":true}, - "payment_method": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentMethod"}],"required":true}, - "payment_method_details": {"ref":"stripe.Stripe.SetupAttempt.PaymentMethodDetails","required":true}, - "setup_error": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupAttempt.SetupError"},{"dataType":"enum","enums":[null]}],"required":true}, - "setup_intent": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.SetupIntent"}],"required":true}, - "status": {"dataType":"string","required":true}, - "usage": {"dataType":"string","required":true}, + "currency": {"dataType":"string","required":true}, + "value": {"dataType":"double","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.NextAction.CashappHandleRedirectOrDisplayQrCode.QrCode": { + "stripe.Stripe.Billing.CreditBalanceTransaction.Credit.Amount": { "dataType": "refObject", "properties": { - "expires_at": {"dataType":"double","required":true}, - "image_url_png": {"dataType":"string","required":true}, - "image_url_svg": {"dataType":"string","required":true}, + "monetary": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Billing.CreditBalanceTransaction.Credit.Amount.Monetary"},{"dataType":"enum","enums":[null]}],"required":true}, + "type": {"dataType":"enum","enums":["monetary"],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.NextAction.CashappHandleRedirectOrDisplayQrCode": { + "stripe.Stripe.Billing.CreditBalanceTransaction.Credit.CreditsApplicationInvoiceVoided": { "dataType": "refObject", "properties": { - "hosted_instructions_url": {"dataType":"string","required":true}, - "mobile_auth_url": {"dataType":"string","required":true}, - "qr_code": {"ref":"stripe.Stripe.SetupIntent.NextAction.CashappHandleRedirectOrDisplayQrCode.QrCode","required":true}, + "invoice": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Invoice"}],"required":true}, + "invoice_line_item": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.NextAction.RedirectToUrl": { + "stripe.Stripe.Billing.CreditBalanceTransaction.Credit.Type": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["credits_application_invoice_voided"]},{"dataType":"enum","enums":["credits_granted"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Billing.CreditBalanceTransaction.Credit": { "dataType": "refObject", "properties": { - "return_url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "amount": {"ref":"stripe.Stripe.Billing.CreditBalanceTransaction.Credit.Amount","required":true}, + "credits_application_invoice_voided": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Billing.CreditBalanceTransaction.Credit.CreditsApplicationInvoiceVoided"},{"dataType":"enum","enums":[null]}],"required":true}, + "type": {"ref":"stripe.Stripe.Billing.CreditBalanceTransaction.Credit.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.NextAction.UseStripeSdk": { + "stripe.Stripe.Billing.CreditGrant.Amount.Monetary": { "dataType": "refObject", "properties": { + "currency": {"dataType":"string","required":true}, + "value": {"dataType":"double","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.NextAction.VerifyWithMicrodeposits.MicrodepositType": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["amounts"]},{"dataType":"enum","enums":["descriptor_code"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.NextAction.VerifyWithMicrodeposits": { + "stripe.Stripe.Billing.CreditGrant.Amount": { "dataType": "refObject", "properties": { - "arrival_date": {"dataType":"double","required":true}, - "hosted_verification_url": {"dataType":"string","required":true}, - "microdeposit_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupIntent.NextAction.VerifyWithMicrodeposits.MicrodepositType"},{"dataType":"enum","enums":[null]}],"required":true}, + "monetary": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Billing.CreditGrant.Amount.Monetary"},{"dataType":"enum","enums":[null]}],"required":true}, + "type": {"dataType":"enum","enums":["monetary"],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.NextAction": { + "stripe.Stripe.Billing.CreditGrant.ApplicabilityConfig.Scope.Price": { "dataType": "refObject", "properties": { - "cashapp_handle_redirect_or_display_qr_code": {"ref":"stripe.Stripe.SetupIntent.NextAction.CashappHandleRedirectOrDisplayQrCode"}, - "redirect_to_url": {"ref":"stripe.Stripe.SetupIntent.NextAction.RedirectToUrl"}, - "type": {"dataType":"string","required":true}, - "use_stripe_sdk": {"ref":"stripe.Stripe.SetupIntent.NextAction.UseStripeSdk"}, - "verify_with_microdeposits": {"ref":"stripe.Stripe.SetupIntent.NextAction.VerifyWithMicrodeposits"}, + "id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.PaymentMethodConfigurationDetails": { + "stripe.Stripe.Billing.CreditGrant.ApplicabilityConfig.Scope": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "parent": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "price_type": {"dataType":"enum","enums":["metered"]}, + "prices": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Billing.CreditGrant.ApplicabilityConfig.Scope.Price"}}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.Currency": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["cad"]},{"dataType":"enum","enums":["usd"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.MandateOptions.DefaultFor": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["invoice"]},{"dataType":"enum","enums":["subscription"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.MandateOptions.PaymentSchedule": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["combined"]},{"dataType":"enum","enums":["interval"]},{"dataType":"enum","enums":["sporadic"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.MandateOptions.TransactionType": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["business"]},{"dataType":"enum","enums":["personal"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.MandateOptions": { + "stripe.Stripe.Billing.CreditGrant.ApplicabilityConfig": { "dataType": "refObject", "properties": { - "custom_mandate_url": {"dataType":"string"}, - "default_for": {"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.MandateOptions.DefaultFor"}}, - "interval_description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "payment_schedule": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.MandateOptions.PaymentSchedule"},{"dataType":"enum","enums":[null]}],"required":true}, - "transaction_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.MandateOptions.TransactionType"},{"dataType":"enum","enums":[null]}],"required":true}, + "scope": {"ref":"stripe.Stripe.Billing.CreditGrant.ApplicabilityConfig.Scope","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.VerificationMethod": { + "stripe.Stripe.Billing.CreditGrant.Category": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["automatic"]},{"dataType":"enum","enums":["instant"]},{"dataType":"enum","enums":["microdeposits"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["paid"]},{"dataType":"enum","enums":["promotional"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit": { + "stripe.Stripe.Billing.CreditGrant": { "dataType": "refObject", "properties": { - "currency": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.Currency"},{"dataType":"enum","enums":[null]}],"required":true}, - "mandate_options": {"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.MandateOptions"}, - "verification_method": {"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.VerificationMethod"}, + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["billing.credit_grant"],"required":true}, + "amount": {"ref":"stripe.Stripe.Billing.CreditGrant.Amount","required":true}, + "applicability_config": {"ref":"stripe.Stripe.Billing.CreditGrant.ApplicabilityConfig","required":true}, + "category": {"ref":"stripe.Stripe.Billing.CreditGrant.Category","required":true}, + "created": {"dataType":"double","required":true}, + "customer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Customer"},{"ref":"stripe.Stripe.DeletedCustomer"}],"required":true}, + "effective_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "expires_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "livemode": {"dataType":"boolean","required":true}, + "metadata": {"ref":"stripe.Stripe.Metadata","required":true}, + "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "priority": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, + "test_clock": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TestHelpers.TestClock"},{"dataType":"enum","enums":[null]}],"required":true}, + "updated": {"dataType":"double","required":true}, + "voided_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.PaymentMethodOptions.AmazonPay": { + "stripe.Stripe.Billing.CreditBalanceTransaction.Debit.Amount.Monetary": { "dataType": "refObject", "properties": { + "currency": {"dataType":"string","required":true}, + "value": {"dataType":"double","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.PaymentMethodOptions.BacsDebit.MandateOptions": { + "stripe.Stripe.Billing.CreditBalanceTransaction.Debit.Amount": { "dataType": "refObject", "properties": { - "reference_prefix": {"dataType":"string"}, + "monetary": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Billing.CreditBalanceTransaction.Debit.Amount.Monetary"},{"dataType":"enum","enums":[null]}],"required":true}, + "type": {"dataType":"enum","enums":["monetary"],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.PaymentMethodOptions.BacsDebit": { + "stripe.Stripe.Billing.CreditBalanceTransaction.Debit.CreditsApplied": { "dataType": "refObject", "properties": { - "mandate_options": {"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.BacsDebit.MandateOptions"}, + "invoice": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Invoice"}],"required":true}, + "invoice_line_item": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.PaymentMethodOptions.Card.MandateOptions.AmountType": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["fixed"]},{"dataType":"enum","enums":["maximum"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.PaymentMethodOptions.Card.MandateOptions.Interval": { + "stripe.Stripe.Billing.CreditBalanceTransaction.Debit.Type": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["day"]},{"dataType":"enum","enums":["month"]},{"dataType":"enum","enums":["sporadic"]},{"dataType":"enum","enums":["week"]},{"dataType":"enum","enums":["year"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["credits_applied"]},{"dataType":"enum","enums":["credits_expired"]},{"dataType":"enum","enums":["credits_voided"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.PaymentMethodOptions.Card.MandateOptions": { + "stripe.Stripe.Billing.CreditBalanceTransaction.Debit": { "dataType": "refObject", "properties": { - "amount": {"dataType":"double","required":true}, - "amount_type": {"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.Card.MandateOptions.AmountType","required":true}, - "currency": {"dataType":"string","required":true}, - "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "end_date": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "interval": {"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.Card.MandateOptions.Interval","required":true}, - "interval_count": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "reference": {"dataType":"string","required":true}, - "start_date": {"dataType":"double","required":true}, - "supported_types": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"enum","enums":["india"]}},{"dataType":"enum","enums":[null]}],"required":true}, + "amount": {"ref":"stripe.Stripe.Billing.CreditBalanceTransaction.Debit.Amount","required":true}, + "credits_applied": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Billing.CreditBalanceTransaction.Debit.CreditsApplied"},{"dataType":"enum","enums":[null]}],"required":true}, + "type": {"ref":"stripe.Stripe.Billing.CreditBalanceTransaction.Debit.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.PaymentMethodOptions.Card.Network": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["amex"]},{"dataType":"enum","enums":["cartes_bancaires"]},{"dataType":"enum","enums":["diners"]},{"dataType":"enum","enums":["discover"]},{"dataType":"enum","enums":["eftpos_au"]},{"dataType":"enum","enums":["girocard"]},{"dataType":"enum","enums":["interac"]},{"dataType":"enum","enums":["jcb"]},{"dataType":"enum","enums":["link"]},{"dataType":"enum","enums":["mastercard"]},{"dataType":"enum","enums":["unionpay"]},{"dataType":"enum","enums":["unknown"]},{"dataType":"enum","enums":["visa"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.PaymentMethodOptions.Card.RequestThreeDSecure": { + "stripe.Stripe.Billing.CreditBalanceTransaction.Type": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["any"]},{"dataType":"enum","enums":["automatic"]},{"dataType":"enum","enums":["challenge"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["credit"]},{"dataType":"enum","enums":["debit"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.PaymentMethodOptions.Card": { + "stripe.Stripe.Billing.CreditBalanceTransaction": { "dataType": "refObject", "properties": { - "mandate_options": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.Card.MandateOptions"},{"dataType":"enum","enums":[null]}],"required":true}, - "network": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.Card.Network"},{"dataType":"enum","enums":[null]}],"required":true}, - "request_three_d_secure": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.Card.RequestThreeDSecure"},{"dataType":"enum","enums":[null]}],"required":true}, + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["billing.credit_balance_transaction"],"required":true}, + "created": {"dataType":"double","required":true}, + "credit": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Billing.CreditBalanceTransaction.Credit"},{"dataType":"enum","enums":[null]}],"required":true}, + "credit_grant": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Billing.CreditGrant"}],"required":true}, + "debit": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Billing.CreditBalanceTransaction.Debit"},{"dataType":"enum","enums":[null]}],"required":true}, + "effective_at": {"dataType":"double","required":true}, + "livemode": {"dataType":"boolean","required":true}, + "test_clock": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TestHelpers.TestClock"},{"dataType":"enum","enums":[null]}],"required":true}, + "type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Billing.CreditBalanceTransaction.Type"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.PaymentMethodOptions.CardPresent": { + "stripe.Stripe.InvoiceLineItem.PretaxCreditAmount.Type": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["credit_balance_transaction"]},{"dataType":"enum","enums":["discount"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.InvoiceLineItem.PretaxCreditAmount": { "dataType": "refObject", "properties": { + "amount": {"dataType":"double","required":true}, + "credit_balance_transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Billing.CreditBalanceTransaction"},{"dataType":"enum","enums":[null]}]}, + "discount": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Discount"},{"ref":"stripe.Stripe.DeletedDiscount"}]}, + "type": {"ref":"stripe.Stripe.InvoiceLineItem.PretaxCreditAmount.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.PaymentMethodOptions.Link": { + "stripe.Stripe.InvoiceLineItem.ProrationDetails.CreditedItems": { "dataType": "refObject", "properties": { - "persistent_token": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "invoice": {"dataType":"string","required":true}, + "invoice_line_items": {"dataType":"array","array":{"dataType":"string"},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.PaymentMethodOptions.Paypal": { + "stripe.Stripe.InvoiceLineItem.ProrationDetails": { "dataType": "refObject", "properties": { - "billing_agreement_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "credited_items": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.InvoiceLineItem.ProrationDetails.CreditedItems"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.PaymentMethodOptions.SepaDebit.MandateOptions": { + "stripe.Stripe.SubscriptionItem.BillingThresholds": { "dataType": "refObject", "properties": { - "reference_prefix": {"dataType":"string"}, + "usage_gte": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.PaymentMethodOptions.SepaDebit": { + "stripe.Stripe.SubscriptionItem": { "dataType": "refObject", "properties": { - "mandate_options": {"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.SepaDebit.MandateOptions"}, + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["subscription_item"],"required":true}, + "billing_thresholds": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SubscriptionItem.BillingThresholds"},{"dataType":"enum","enums":[null]}],"required":true}, + "created": {"dataType":"double","required":true}, + "deleted": {"dataType":"void"}, + "discounts": {"dataType":"array","array":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Discount"}]},"required":true}, + "metadata": {"ref":"stripe.Stripe.Metadata","required":true}, + "plan": {"ref":"stripe.Stripe.Plan","required":true}, + "price": {"ref":"stripe.Stripe.Price","required":true}, + "quantity": {"dataType":"double"}, + "subscription": {"dataType":"string","required":true}, + "tax_rates": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.TaxRate"}},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters.AccountSubcategory": { + "stripe.Stripe.InvoiceLineItem.TaxAmount.TaxabilityReason": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["checking"]},{"dataType":"enum","enums":["savings"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["customer_exempt"]},{"dataType":"enum","enums":["not_collecting"]},{"dataType":"enum","enums":["not_subject_to_tax"]},{"dataType":"enum","enums":["not_supported"]},{"dataType":"enum","enums":["portion_product_exempt"]},{"dataType":"enum","enums":["portion_reduced_rated"]},{"dataType":"enum","enums":["portion_standard_rated"]},{"dataType":"enum","enums":["product_exempt"]},{"dataType":"enum","enums":["product_exempt_holiday"]},{"dataType":"enum","enums":["proportionally_rated"]},{"dataType":"enum","enums":["reduced_rated"]},{"dataType":"enum","enums":["reverse_charge"]},{"dataType":"enum","enums":["standard_rated"]},{"dataType":"enum","enums":["taxable_basis_reduced"]},{"dataType":"enum","enums":["zero_rated"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters": { + "stripe.Stripe.InvoiceLineItem.TaxAmount": { "dataType": "refObject", "properties": { - "account_subcategories": {"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters.AccountSubcategory"}}, + "amount": {"dataType":"double","required":true}, + "inclusive": {"dataType":"boolean","required":true}, + "tax_rate": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TaxRate"}],"required":true}, + "taxability_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.InvoiceLineItem.TaxAmount.TaxabilityReason"},{"dataType":"enum","enums":[null]}],"required":true}, + "taxable_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Permission": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["balances"]},{"dataType":"enum","enums":["ownership"]},{"dataType":"enum","enums":["payment_method"]},{"dataType":"enum","enums":["transactions"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Prefetch": { + "stripe.Stripe.InvoiceLineItem.Type": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["balances"]},{"dataType":"enum","enums":["ownership"]},{"dataType":"enum","enums":["transactions"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["invoiceitem"]},{"dataType":"enum","enums":["subscription"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections": { + "stripe.Stripe.InvoiceLineItem": { "dataType": "refObject", "properties": { - "filters": {"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters"}, - "permissions": {"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Permission"}}, - "prefetch": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Prefetch"}},{"dataType":"enum","enums":[null]}],"required":true}, - "return_url": {"dataType":"string"}, + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["line_item"],"required":true}, + "amount": {"dataType":"double","required":true}, + "amount_excluding_tax": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "currency": {"dataType":"string","required":true}, + "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "discount_amounts": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.InvoiceLineItem.DiscountAmount"}},{"dataType":"enum","enums":[null]}],"required":true}, + "discountable": {"dataType":"boolean","required":true}, + "discounts": {"dataType":"array","array":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Discount"}]},"required":true}, + "invoice": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "invoice_item": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.InvoiceItem"}]}, + "livemode": {"dataType":"boolean","required":true}, + "metadata": {"ref":"stripe.Stripe.Metadata","required":true}, + "period": {"ref":"stripe.Stripe.InvoiceLineItem.Period","required":true}, + "plan": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Plan"},{"dataType":"enum","enums":[null]}],"required":true}, + "pretax_credit_amounts": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.InvoiceLineItem.PretaxCreditAmount"}},{"dataType":"enum","enums":[null]}],"required":true}, + "price": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Price"},{"dataType":"enum","enums":[null]}],"required":true}, + "proration": {"dataType":"boolean","required":true}, + "proration_details": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.InvoiceLineItem.ProrationDetails"},{"dataType":"enum","enums":[null]}],"required":true}, + "quantity": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "subscription": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Subscription"},{"dataType":"enum","enums":[null]}],"required":true}, + "subscription_item": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.SubscriptionItem"}]}, + "tax_amounts": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.InvoiceLineItem.TaxAmount"},"required":true}, + "tax_rates": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.TaxRate"},"required":true}, + "type": {"ref":"stripe.Stripe.InvoiceLineItem.Type","required":true}, + "unit_amount_excluding_tax": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.MandateOptions": { + "stripe.Stripe.ApiList_stripe.Stripe.InvoiceLineItem_": { "dataType": "refObject", "properties": { - "collection_method": {"dataType":"enum","enums":["paper"]}, + "object": {"dataType":"enum","enums":["list"],"required":true}, + "data": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.InvoiceLineItem"},"required":true}, + "has_more": {"dataType":"boolean","required":true}, + "url": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.VerificationMethod": { + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.AcssDebit.MandateOptions.TransactionType": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["automatic"]},{"dataType":"enum","enums":["instant"]},{"dataType":"enum","enums":["microdeposits"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["business"]},{"dataType":"enum","enums":["personal"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount": { + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.AcssDebit.MandateOptions": { "dataType": "refObject", "properties": { - "financial_connections": {"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections"}, - "mandate_options": {"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.MandateOptions"}, - "verification_method": {"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.VerificationMethod"}, + "transaction_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.AcssDebit.MandateOptions.TransactionType"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.PaymentMethodOptions": { + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.AcssDebit.VerificationMethod": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["automatic"]},{"dataType":"enum","enums":["instant"]},{"dataType":"enum","enums":["microdeposits"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.AcssDebit": { "dataType": "refObject", "properties": { - "acss_debit": {"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit"}, - "amazon_pay": {"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.AmazonPay"}, - "bacs_debit": {"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.BacsDebit"}, - "card": {"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.Card"}, - "card_present": {"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.CardPresent"}, - "link": {"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.Link"}, - "paypal": {"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.Paypal"}, - "sepa_debit": {"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.SepaDebit"}, - "us_bank_account": {"ref":"stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount"}, + "mandate_options": {"ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.AcssDebit.MandateOptions"}, + "verification_method": {"ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.AcssDebit.VerificationMethod"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupIntent.Status": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["canceled"]},{"dataType":"enum","enums":["processing"]},{"dataType":"enum","enums":["requires_action"]},{"dataType":"enum","enums":["requires_confirmation"]},{"dataType":"enum","enums":["requires_payment_method"]},{"dataType":"enum","enums":["succeeded"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.LastFinalizationError.Type": { + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Bancontact.PreferredLanguage": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["api_error"]},{"dataType":"enum","enums":["card_error"]},{"dataType":"enum","enums":["idempotency_error"]},{"dataType":"enum","enums":["invalid_request_error"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["de"]},{"dataType":"enum","enums":["en"]},{"dataType":"enum","enums":["fr"]},{"dataType":"enum","enums":["nl"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.LastFinalizationError": { + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Bancontact": { "dataType": "refObject", "properties": { - "advice_code": {"dataType":"string"}, - "charge": {"dataType":"string"}, - "code": {"ref":"stripe.Stripe.Invoice.LastFinalizationError.Code"}, - "decline_code": {"dataType":"string"}, - "doc_url": {"dataType":"string"}, - "message": {"dataType":"string"}, - "network_advice_code": {"dataType":"string"}, - "network_decline_code": {"dataType":"string"}, - "param": {"dataType":"string"}, - "payment_intent": {"ref":"stripe.Stripe.PaymentIntent"}, - "payment_method": {"ref":"stripe.Stripe.PaymentMethod"}, - "payment_method_type": {"dataType":"string"}, - "request_log_url": {"dataType":"string"}, - "setup_intent": {"ref":"stripe.Stripe.SetupIntent"}, - "source": {"ref":"stripe.Stripe.CustomerSource"}, - "type": {"ref":"stripe.Stripe.Invoice.LastFinalizationError.Type","required":true}, + "preferred_language": {"ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Bancontact.PreferredLanguage","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.InvoiceLineItem.DiscountAmount": { + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Card.Installments": { "dataType": "refObject", "properties": { - "amount": {"dataType":"double","required":true}, - "discount": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Discount"},{"ref":"stripe.Stripe.DeletedDiscount"}],"required":true}, + "enabled": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.InvoiceItem.Period": { + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Card.RequestThreeDSecure": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["any"]},{"dataType":"enum","enums":["automatic"]},{"dataType":"enum","enums":["challenge"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Card": { "dataType": "refObject", "properties": { - "end": {"dataType":"double","required":true}, - "start": {"dataType":"double","required":true}, + "installments": {"ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Card.Installments"}, + "request_three_d_secure": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Card.RequestThreeDSecure"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Plan.AggregateUsage": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["last_during_period"]},{"dataType":"enum","enums":["last_ever"]},{"dataType":"enum","enums":["max"]},{"dataType":"enum","enums":["sum"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Plan.BillingScheme": { + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer.Country": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["per_unit"]},{"dataType":"enum","enums":["tiered"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["BE"]},{"dataType":"enum","enums":["DE"]},{"dataType":"enum","enums":["ES"]},{"dataType":"enum","enums":["FR"]},{"dataType":"enum","enums":["IE"]},{"dataType":"enum","enums":["NL"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Plan.Interval": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["day"]},{"dataType":"enum","enums":["month"]},{"dataType":"enum","enums":["week"]},{"dataType":"enum","enums":["year"]}],"validators":{}}, + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer": { + "dataType": "refObject", + "properties": { + "country": {"ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer.Country","required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Price.BillingScheme": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["per_unit"]},{"dataType":"enum","enums":["tiered"]}],"validators":{}}, + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer": { + "dataType": "refObject", + "properties": { + "eu_bank_transfer": {"ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer"}, + "type": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Price.CurrencyOptions.CustomUnitAmount": { + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.CustomerBalance": { "dataType": "refObject", "properties": { - "maximum": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "minimum": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "preset": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "bank_transfer": {"ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer"}, + "funding_type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["bank_transfer"]},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Price.CurrencyOptions.TaxBehavior": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["exclusive"]},{"dataType":"enum","enums":["inclusive"]},{"dataType":"enum","enums":["unspecified"]}],"validators":{}}, + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Konbini": { + "dataType": "refObject", + "properties": { + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Price.CurrencyOptions.Tier": { + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.SepaDebit": { "dataType": "refObject", "properties": { - "flat_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "flat_amount_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "unit_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "unit_amount_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "up_to": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Price.CurrencyOptions": { + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters.AccountSubcategory": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["checking"]},{"dataType":"enum","enums":["savings"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters": { "dataType": "refObject", "properties": { - "custom_unit_amount": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Price.CurrencyOptions.CustomUnitAmount"},{"dataType":"enum","enums":[null]}],"required":true}, - "tax_behavior": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Price.CurrencyOptions.TaxBehavior"},{"dataType":"enum","enums":[null]}],"required":true}, - "tiers": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Price.CurrencyOptions.Tier"}}, - "unit_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "unit_amount_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "account_subcategories": {"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters.AccountSubcategory"}}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Price.CustomUnitAmount": { + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Permission": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["balances"]},{"dataType":"enum","enums":["ownership"]},{"dataType":"enum","enums":["payment_method"]},{"dataType":"enum","enums":["transactions"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Prefetch": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["balances"]},{"dataType":"enum","enums":["ownership"]},{"dataType":"enum","enums":["transactions"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections": { "dataType": "refObject", "properties": { - "maximum": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "minimum": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "preset": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "filters": {"ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters"}, + "permissions": {"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Permission"}}, + "prefetch": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Prefetch"}},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Product": { + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.VerificationMethod": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["automatic"]},{"dataType":"enum","enums":["instant"]},{"dataType":"enum","enums":["microdeposits"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["product"],"required":true}, - "active": {"dataType":"boolean","required":true}, - "created": {"dataType":"double","required":true}, - "default_price": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Price"},{"dataType":"enum","enums":[null]}]}, - "deleted": {"dataType":"void"}, - "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "images": {"dataType":"array","array":{"dataType":"string"},"required":true}, - "livemode": {"dataType":"boolean","required":true}, - "marketing_features": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Product.MarketingFeature"},"required":true}, - "metadata": {"ref":"stripe.Stripe.Metadata","required":true}, - "name": {"dataType":"string","required":true}, - "package_dimensions": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Product.PackageDimensions"},{"dataType":"enum","enums":[null]}],"required":true}, - "shippable": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, - "statement_descriptor": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "tax_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TaxCode"},{"dataType":"enum","enums":[null]}],"required":true}, - "type": {"ref":"stripe.Stripe.Product.Type","required":true}, - "unit_label": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "updated": {"dataType":"double","required":true}, - "url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "financial_connections": {"ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections"}, + "verification_method": {"ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.VerificationMethod"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.DeletedProduct": { + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["product"],"required":true}, - "deleted": {"dataType":"enum","enums":[true],"required":true}, + "acss_debit": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.AcssDebit"},{"dataType":"enum","enums":[null]}],"required":true}, + "bancontact": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Bancontact"},{"dataType":"enum","enums":[null]}],"required":true}, + "card": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Card"},{"dataType":"enum","enums":[null]}],"required":true}, + "customer_balance": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.CustomerBalance"},{"dataType":"enum","enums":[null]}],"required":true}, + "konbini": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Konbini"},{"dataType":"enum","enums":[null]}],"required":true}, + "sepa_debit": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.SepaDebit"},{"dataType":"enum","enums":[null]}],"required":true}, + "us_bank_account": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Price.Recurring.AggregateUsage": { + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodType": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["last_during_period"]},{"dataType":"enum","enums":["last_ever"]},{"dataType":"enum","enums":["max"]},{"dataType":"enum","enums":["sum"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["ach_credit_transfer"]},{"dataType":"enum","enums":["ach_debit"]},{"dataType":"enum","enums":["acss_debit"]},{"dataType":"enum","enums":["amazon_pay"]},{"dataType":"enum","enums":["au_becs_debit"]},{"dataType":"enum","enums":["bacs_debit"]},{"dataType":"enum","enums":["bancontact"]},{"dataType":"enum","enums":["boleto"]},{"dataType":"enum","enums":["card"]},{"dataType":"enum","enums":["cashapp"]},{"dataType":"enum","enums":["customer_balance"]},{"dataType":"enum","enums":["eps"]},{"dataType":"enum","enums":["fpx"]},{"dataType":"enum","enums":["giropay"]},{"dataType":"enum","enums":["grabpay"]},{"dataType":"enum","enums":["ideal"]},{"dataType":"enum","enums":["jp_credit_transfer"]},{"dataType":"enum","enums":["kakao_pay"]},{"dataType":"enum","enums":["konbini"]},{"dataType":"enum","enums":["kr_card"]},{"dataType":"enum","enums":["link"]},{"dataType":"enum","enums":["multibanco"]},{"dataType":"enum","enums":["naver_pay"]},{"dataType":"enum","enums":["p24"]},{"dataType":"enum","enums":["payco"]},{"dataType":"enum","enums":["paynow"]},{"dataType":"enum","enums":["paypal"]},{"dataType":"enum","enums":["promptpay"]},{"dataType":"enum","enums":["revolut_pay"]},{"dataType":"enum","enums":["sepa_credit_transfer"]},{"dataType":"enum","enums":["sepa_debit"]},{"dataType":"enum","enums":["sofort"]},{"dataType":"enum","enums":["swish"]},{"dataType":"enum","enums":["us_bank_account"]},{"dataType":"enum","enums":["wechat_pay"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Price.Recurring.Interval": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["day"]},{"dataType":"enum","enums":["month"]},{"dataType":"enum","enums":["week"]},{"dataType":"enum","enums":["year"]}],"validators":{}}, + "stripe.Stripe.Invoice.PaymentSettings": { + "dataType": "refObject", + "properties": { + "default_mandate": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "payment_method_options": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions"},{"dataType":"enum","enums":[null]}],"required":true}, + "payment_method_types": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodType"}},{"dataType":"enum","enums":[null]}],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Price.Recurring.UsageType": { + "stripe.Stripe.Quote.AutomaticTax.Liability.Type": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["licensed"]},{"dataType":"enum","enums":["metered"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account"]},{"dataType":"enum","enums":["self"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Price.Recurring": { + "stripe.Stripe.Quote.AutomaticTax.Liability": { "dataType": "refObject", "properties": { - "aggregate_usage": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Price.Recurring.AggregateUsage"},{"dataType":"enum","enums":[null]}],"required":true}, - "interval": {"ref":"stripe.Stripe.Price.Recurring.Interval","required":true}, - "interval_count": {"dataType":"double","required":true}, - "meter": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "trial_period_days": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "usage_type": {"ref":"stripe.Stripe.Price.Recurring.UsageType","required":true}, + "account": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}]}, + "type": {"ref":"stripe.Stripe.Quote.AutomaticTax.Liability.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Price.TaxBehavior": { + "stripe.Stripe.Quote.AutomaticTax.Status": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["exclusive"]},{"dataType":"enum","enums":["inclusive"]},{"dataType":"enum","enums":["unspecified"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["complete"]},{"dataType":"enum","enums":["failed"]},{"dataType":"enum","enums":["requires_location_inputs"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Price.Tier": { + "stripe.Stripe.Quote.AutomaticTax": { "dataType": "refObject", "properties": { - "flat_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "flat_amount_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "unit_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "unit_amount_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "up_to": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "enabled": {"dataType":"boolean","required":true}, + "liability": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Quote.AutomaticTax.Liability"},{"dataType":"enum","enums":[null]}],"required":true}, + "status": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Quote.AutomaticTax.Status"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Price.TiersMode": { + "stripe.Stripe.Quote.CollectionMethod": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["graduated"]},{"dataType":"enum","enums":["volume"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["charge_automatically"]},{"dataType":"enum","enums":["send_invoice"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Price.TransformQuantity.Round": { + "stripe.Stripe.Quote.Computed.Recurring.Interval": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["down"]},{"dataType":"enum","enums":["up"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["day"]},{"dataType":"enum","enums":["month"]},{"dataType":"enum","enums":["week"]},{"dataType":"enum","enums":["year"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Price.TransformQuantity": { + "stripe.Stripe.Quote.Computed.Recurring.TotalDetails.Breakdown.Discount": { "dataType": "refObject", "properties": { - "divide_by": {"dataType":"double","required":true}, - "round": {"ref":"stripe.Stripe.Price.TransformQuantity.Round","required":true}, + "amount": {"dataType":"double","required":true}, + "discount": {"ref":"stripe.Stripe.Discount","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Price.Type": { + "stripe.Stripe.Quote.Computed.Recurring.TotalDetails.Breakdown.Tax.TaxabilityReason": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["one_time"]},{"dataType":"enum","enums":["recurring"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["customer_exempt"]},{"dataType":"enum","enums":["not_collecting"]},{"dataType":"enum","enums":["not_subject_to_tax"]},{"dataType":"enum","enums":["not_supported"]},{"dataType":"enum","enums":["portion_product_exempt"]},{"dataType":"enum","enums":["portion_reduced_rated"]},{"dataType":"enum","enums":["portion_standard_rated"]},{"dataType":"enum","enums":["product_exempt"]},{"dataType":"enum","enums":["product_exempt_holiday"]},{"dataType":"enum","enums":["proportionally_rated"]},{"dataType":"enum","enums":["reduced_rated"]},{"dataType":"enum","enums":["reverse_charge"]},{"dataType":"enum","enums":["standard_rated"]},{"dataType":"enum","enums":["taxable_basis_reduced"]},{"dataType":"enum","enums":["zero_rated"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Price": { + "stripe.Stripe.Quote.Computed.Recurring.TotalDetails.Breakdown.Tax": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["price"],"required":true}, - "active": {"dataType":"boolean","required":true}, - "billing_scheme": {"ref":"stripe.Stripe.Price.BillingScheme","required":true}, - "created": {"dataType":"double","required":true}, - "currency": {"dataType":"string","required":true}, - "currency_options": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"stripe.Stripe.Price.CurrencyOptions"}}, - "custom_unit_amount": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Price.CustomUnitAmount"},{"dataType":"enum","enums":[null]}],"required":true}, - "deleted": {"dataType":"void"}, - "livemode": {"dataType":"boolean","required":true}, - "lookup_key": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "metadata": {"ref":"stripe.Stripe.Metadata","required":true}, - "nickname": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "product": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Product"},{"ref":"stripe.Stripe.DeletedProduct"}],"required":true}, - "recurring": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Price.Recurring"},{"dataType":"enum","enums":[null]}],"required":true}, - "tax_behavior": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Price.TaxBehavior"},{"dataType":"enum","enums":[null]}],"required":true}, - "tiers": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Price.Tier"}}, - "tiers_mode": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Price.TiersMode"},{"dataType":"enum","enums":[null]}],"required":true}, - "transform_quantity": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Price.TransformQuantity"},{"dataType":"enum","enums":[null]}],"required":true}, - "type": {"ref":"stripe.Stripe.Price.Type","required":true}, - "unit_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "unit_amount_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "amount": {"dataType":"double","required":true}, + "rate": {"ref":"stripe.Stripe.TaxRate","required":true}, + "taxability_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Quote.Computed.Recurring.TotalDetails.Breakdown.Tax.TaxabilityReason"},{"dataType":"enum","enums":[null]}],"required":true}, + "taxable_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Product.MarketingFeature": { + "stripe.Stripe.Quote.Computed.Recurring.TotalDetails.Breakdown": { "dataType": "refObject", "properties": { - "name": {"dataType":"string"}, + "discounts": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Quote.Computed.Recurring.TotalDetails.Breakdown.Discount"},"required":true}, + "taxes": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Quote.Computed.Recurring.TotalDetails.Breakdown.Tax"},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Product.PackageDimensions": { + "stripe.Stripe.Quote.Computed.Recurring.TotalDetails": { "dataType": "refObject", "properties": { - "height": {"dataType":"double","required":true}, - "length": {"dataType":"double","required":true}, - "weight": {"dataType":"double","required":true}, - "width": {"dataType":"double","required":true}, + "amount_discount": {"dataType":"double","required":true}, + "amount_shipping": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "amount_tax": {"dataType":"double","required":true}, + "breakdown": {"ref":"stripe.Stripe.Quote.Computed.Recurring.TotalDetails.Breakdown"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.TaxCode": { + "stripe.Stripe.Quote.Computed.Recurring": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["tax_code"],"required":true}, - "description": {"dataType":"string","required":true}, - "name": {"dataType":"string","required":true}, + "amount_subtotal": {"dataType":"double","required":true}, + "amount_total": {"dataType":"double","required":true}, + "interval": {"ref":"stripe.Stripe.Quote.Computed.Recurring.Interval","required":true}, + "interval_count": {"dataType":"double","required":true}, + "total_details": {"ref":"stripe.Stripe.Quote.Computed.Recurring.TotalDetails","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Product.Type": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["good"]},{"dataType":"enum","enums":["service"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Plan.Tier": { + "stripe.Stripe.LineItem.Discount": { "dataType": "refObject", "properties": { - "flat_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "flat_amount_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "unit_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "unit_amount_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "up_to": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "amount": {"dataType":"double","required":true}, + "discount": {"ref":"stripe.Stripe.Discount","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Plan.TiersMode": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["graduated"]},{"dataType":"enum","enums":["volume"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Plan.TransformUsage.Round": { + "stripe.Stripe.LineItem.Tax.TaxabilityReason": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["down"]},{"dataType":"enum","enums":["up"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["customer_exempt"]},{"dataType":"enum","enums":["not_collecting"]},{"dataType":"enum","enums":["not_subject_to_tax"]},{"dataType":"enum","enums":["not_supported"]},{"dataType":"enum","enums":["portion_product_exempt"]},{"dataType":"enum","enums":["portion_reduced_rated"]},{"dataType":"enum","enums":["portion_standard_rated"]},{"dataType":"enum","enums":["product_exempt"]},{"dataType":"enum","enums":["product_exempt_holiday"]},{"dataType":"enum","enums":["proportionally_rated"]},{"dataType":"enum","enums":["reduced_rated"]},{"dataType":"enum","enums":["reverse_charge"]},{"dataType":"enum","enums":["standard_rated"]},{"dataType":"enum","enums":["taxable_basis_reduced"]},{"dataType":"enum","enums":["zero_rated"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Plan.TransformUsage": { + "stripe.Stripe.LineItem.Tax": { "dataType": "refObject", "properties": { - "divide_by": {"dataType":"double","required":true}, - "round": {"ref":"stripe.Stripe.Plan.TransformUsage.Round","required":true}, + "amount": {"dataType":"double","required":true}, + "rate": {"ref":"stripe.Stripe.TaxRate","required":true}, + "taxability_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.LineItem.Tax.TaxabilityReason"},{"dataType":"enum","enums":[null]}],"required":true}, + "taxable_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Plan.UsageType": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["licensed"]},{"dataType":"enum","enums":["metered"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Plan": { + "stripe.Stripe.LineItem": { "dataType": "refObject", "properties": { "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["plan"],"required":true}, - "active": {"dataType":"boolean","required":true}, - "aggregate_usage": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Plan.AggregateUsage"},{"dataType":"enum","enums":[null]}],"required":true}, - "amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "amount_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "billing_scheme": {"ref":"stripe.Stripe.Plan.BillingScheme","required":true}, - "created": {"dataType":"double","required":true}, + "object": {"dataType":"enum","enums":["item"],"required":true}, + "amount_discount": {"dataType":"double","required":true}, + "amount_subtotal": {"dataType":"double","required":true}, + "amount_tax": {"dataType":"double","required":true}, + "amount_total": {"dataType":"double","required":true}, "currency": {"dataType":"string","required":true}, - "deleted": {"dataType":"void"}, - "interval": {"ref":"stripe.Stripe.Plan.Interval","required":true}, - "interval_count": {"dataType":"double","required":true}, - "livemode": {"dataType":"boolean","required":true}, - "metadata": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Metadata"},{"dataType":"enum","enums":[null]}],"required":true}, - "meter": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "nickname": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "product": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Product"},{"ref":"stripe.Stripe.DeletedProduct"},{"dataType":"enum","enums":[null]}],"required":true}, - "tiers": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Plan.Tier"}}, - "tiers_mode": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Plan.TiersMode"},{"dataType":"enum","enums":[null]}],"required":true}, - "transform_usage": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Plan.TransformUsage"},{"dataType":"enum","enums":[null]}],"required":true}, - "trial_period_days": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "usage_type": {"ref":"stripe.Stripe.Plan.UsageType","required":true}, + "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "discounts": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.LineItem.Discount"}}, + "price": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Price"},{"dataType":"enum","enums":[null]}],"required":true}, + "quantity": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "taxes": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.LineItem.Tax"}}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription": { + "stripe.Stripe.ApiList_stripe.Stripe.LineItem_": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["subscription"],"required":true}, - "application": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Application"},{"ref":"stripe.Stripe.DeletedApplication"},{"dataType":"enum","enums":[null]}],"required":true}, - "application_fee_percent": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "automatic_tax": {"ref":"stripe.Stripe.Subscription.AutomaticTax","required":true}, - "billing_cycle_anchor": {"dataType":"double","required":true}, - "billing_cycle_anchor_config": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.BillingCycleAnchorConfig"},{"dataType":"enum","enums":[null]}],"required":true}, - "billing_thresholds": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.BillingThresholds"},{"dataType":"enum","enums":[null]}],"required":true}, - "cancel_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "cancel_at_period_end": {"dataType":"boolean","required":true}, - "canceled_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "cancellation_details": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.CancellationDetails"},{"dataType":"enum","enums":[null]}],"required":true}, - "collection_method": {"ref":"stripe.Stripe.Subscription.CollectionMethod","required":true}, - "created": {"dataType":"double","required":true}, - "currency": {"dataType":"string","required":true}, - "current_period_end": {"dataType":"double","required":true}, - "current_period_start": {"dataType":"double","required":true}, - "customer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Customer"},{"ref":"stripe.Stripe.DeletedCustomer"}],"required":true}, - "days_until_due": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "default_payment_method": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentMethod"},{"dataType":"enum","enums":[null]}],"required":true}, - "default_source": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.CustomerSource"},{"dataType":"enum","enums":[null]}],"required":true}, - "default_tax_rates": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.TaxRate"}},{"dataType":"enum","enums":[null]}]}, - "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "discount": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Discount"},{"dataType":"enum","enums":[null]}],"required":true}, - "discounts": {"dataType":"array","array":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Discount"}]},"required":true}, - "ended_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "invoice_settings": {"ref":"stripe.Stripe.Subscription.InvoiceSettings","required":true}, - "items": {"ref":"stripe.Stripe.ApiList_stripe.Stripe.SubscriptionItem_","required":true}, - "latest_invoice": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Invoice"},{"dataType":"enum","enums":[null]}],"required":true}, - "livemode": {"dataType":"boolean","required":true}, - "metadata": {"ref":"stripe.Stripe.Metadata","required":true}, - "next_pending_invoice_item_invoice": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "on_behalf_of": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"},{"dataType":"enum","enums":[null]}],"required":true}, - "pause_collection": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.PauseCollection"},{"dataType":"enum","enums":[null]}],"required":true}, - "payment_settings": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.PaymentSettings"},{"dataType":"enum","enums":[null]}],"required":true}, - "pending_invoice_item_interval": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.PendingInvoiceItemInterval"},{"dataType":"enum","enums":[null]}],"required":true}, - "pending_setup_intent": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.SetupIntent"},{"dataType":"enum","enums":[null]}],"required":true}, - "pending_update": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.PendingUpdate"},{"dataType":"enum","enums":[null]}],"required":true}, - "schedule": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.SubscriptionSchedule"},{"dataType":"enum","enums":[null]}],"required":true}, - "start_date": {"dataType":"double","required":true}, - "status": {"ref":"stripe.Stripe.Subscription.Status","required":true}, - "test_clock": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TestHelpers.TestClock"},{"dataType":"enum","enums":[null]}],"required":true}, - "transfer_data": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.TransferData"},{"dataType":"enum","enums":[null]}],"required":true}, - "trial_end": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "trial_settings": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.TrialSettings"},{"dataType":"enum","enums":[null]}],"required":true}, - "trial_start": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "object": {"dataType":"enum","enums":["list"],"required":true}, + "data": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.LineItem"},"required":true}, + "has_more": {"dataType":"boolean","required":true}, + "url": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.TestHelpers.TestClock.Status": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["advancing"]},{"dataType":"enum","enums":["internal_failure"]},{"dataType":"enum","enums":["ready"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.TestHelpers.TestClock.StatusDetails.Advancing": { + "stripe.Stripe.Quote.Computed.Upfront.TotalDetails.Breakdown.Discount": { "dataType": "refObject", "properties": { - "target_frozen_time": {"dataType":"double","required":true}, + "amount": {"dataType":"double","required":true}, + "discount": {"ref":"stripe.Stripe.Discount","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.TestHelpers.TestClock.StatusDetails": { + "stripe.Stripe.Quote.Computed.Upfront.TotalDetails.Breakdown.Tax.TaxabilityReason": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["customer_exempt"]},{"dataType":"enum","enums":["not_collecting"]},{"dataType":"enum","enums":["not_subject_to_tax"]},{"dataType":"enum","enums":["not_supported"]},{"dataType":"enum","enums":["portion_product_exempt"]},{"dataType":"enum","enums":["portion_reduced_rated"]},{"dataType":"enum","enums":["portion_standard_rated"]},{"dataType":"enum","enums":["product_exempt"]},{"dataType":"enum","enums":["product_exempt_holiday"]},{"dataType":"enum","enums":["proportionally_rated"]},{"dataType":"enum","enums":["reduced_rated"]},{"dataType":"enum","enums":["reverse_charge"]},{"dataType":"enum","enums":["standard_rated"]},{"dataType":"enum","enums":["taxable_basis_reduced"]},{"dataType":"enum","enums":["zero_rated"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Quote.Computed.Upfront.TotalDetails.Breakdown.Tax": { "dataType": "refObject", "properties": { - "advancing": {"ref":"stripe.Stripe.TestHelpers.TestClock.StatusDetails.Advancing"}, + "amount": {"dataType":"double","required":true}, + "rate": {"ref":"stripe.Stripe.TaxRate","required":true}, + "taxability_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Quote.Computed.Upfront.TotalDetails.Breakdown.Tax.TaxabilityReason"},{"dataType":"enum","enums":[null]}],"required":true}, + "taxable_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.TestHelpers.TestClock": { + "stripe.Stripe.Quote.Computed.Upfront.TotalDetails.Breakdown": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["test_helpers.test_clock"],"required":true}, - "created": {"dataType":"double","required":true}, - "deleted": {"dataType":"void"}, - "deletes_after": {"dataType":"double","required":true}, - "frozen_time": {"dataType":"double","required":true}, - "livemode": {"dataType":"boolean","required":true}, - "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "status": {"ref":"stripe.Stripe.TestHelpers.TestClock.Status","required":true}, - "status_details": {"ref":"stripe.Stripe.TestHelpers.TestClock.StatusDetails","required":true}, + "discounts": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Quote.Computed.Upfront.TotalDetails.Breakdown.Discount"},"required":true}, + "taxes": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Quote.Computed.Upfront.TotalDetails.Breakdown.Tax"},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.InvoiceItem": { + "stripe.Stripe.Quote.Computed.Upfront.TotalDetails": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["invoiceitem"],"required":true}, - "amount": {"dataType":"double","required":true}, - "currency": {"dataType":"string","required":true}, - "customer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Customer"},{"ref":"stripe.Stripe.DeletedCustomer"}],"required":true}, - "date": {"dataType":"double","required":true}, - "deleted": {"dataType":"void"}, - "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "discountable": {"dataType":"boolean","required":true}, - "discounts": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Discount"}]}},{"dataType":"enum","enums":[null]}],"required":true}, - "invoice": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Invoice"},{"dataType":"enum","enums":[null]}],"required":true}, - "livemode": {"dataType":"boolean","required":true}, - "metadata": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Metadata"},{"dataType":"enum","enums":[null]}],"required":true}, - "period": {"ref":"stripe.Stripe.InvoiceItem.Period","required":true}, - "plan": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Plan"},{"dataType":"enum","enums":[null]}],"required":true}, - "price": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Price"},{"dataType":"enum","enums":[null]}],"required":true}, - "proration": {"dataType":"boolean","required":true}, - "quantity": {"dataType":"double","required":true}, - "subscription": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Subscription"},{"dataType":"enum","enums":[null]}],"required":true}, - "subscription_item": {"dataType":"string"}, - "tax_rates": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.TaxRate"}},{"dataType":"enum","enums":[null]}],"required":true}, - "test_clock": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TestHelpers.TestClock"},{"dataType":"enum","enums":[null]}],"required":true}, - "unit_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "unit_amount_decimal": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "amount_discount": {"dataType":"double","required":true}, + "amount_shipping": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "amount_tax": {"dataType":"double","required":true}, + "breakdown": {"ref":"stripe.Stripe.Quote.Computed.Upfront.TotalDetails.Breakdown"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.InvoiceLineItem.Period": { + "stripe.Stripe.Quote.Computed.Upfront": { "dataType": "refObject", "properties": { - "end": {"dataType":"double","required":true}, - "start": {"dataType":"double","required":true}, + "amount_subtotal": {"dataType":"double","required":true}, + "amount_total": {"dataType":"double","required":true}, + "line_items": {"ref":"stripe.Stripe.ApiList_stripe.Stripe.LineItem_"}, + "total_details": {"ref":"stripe.Stripe.Quote.Computed.Upfront.TotalDetails","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Billing.CreditBalanceTransaction.Credit.Amount.Monetary": { + "stripe.Stripe.Quote.Computed": { "dataType": "refObject", "properties": { - "currency": {"dataType":"string","required":true}, - "value": {"dataType":"double","required":true}, + "recurring": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Quote.Computed.Recurring"},{"dataType":"enum","enums":[null]}],"required":true}, + "upfront": {"ref":"stripe.Stripe.Quote.Computed.Upfront","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Billing.CreditBalanceTransaction.Credit.Amount": { + "stripe.Stripe.Quote": { "dataType": "refObject", "properties": { - "monetary": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Billing.CreditBalanceTransaction.Credit.Amount.Monetary"},{"dataType":"enum","enums":[null]}],"required":true}, - "type": {"dataType":"enum","enums":["monetary"],"required":true}, + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["quote"],"required":true}, + "amount_subtotal": {"dataType":"double","required":true}, + "amount_total": {"dataType":"double","required":true}, + "application": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Application"},{"ref":"stripe.Stripe.DeletedApplication"},{"dataType":"enum","enums":[null]}],"required":true}, + "application_fee_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "application_fee_percent": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "automatic_tax": {"ref":"stripe.Stripe.Quote.AutomaticTax","required":true}, + "collection_method": {"ref":"stripe.Stripe.Quote.CollectionMethod","required":true}, + "computed": {"ref":"stripe.Stripe.Quote.Computed","required":true}, + "created": {"dataType":"double","required":true}, + "currency": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "customer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Customer"},{"ref":"stripe.Stripe.DeletedCustomer"},{"dataType":"enum","enums":[null]}],"required":true}, + "default_tax_rates": {"dataType":"array","array":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TaxRate"}]}}, + "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "discounts": {"dataType":"array","array":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Discount"}]},"required":true}, + "expires_at": {"dataType":"double","required":true}, + "footer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "from_quote": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Quote.FromQuote"},{"dataType":"enum","enums":[null]}],"required":true}, + "header": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "invoice": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Invoice"},{"ref":"stripe.Stripe.DeletedInvoice"},{"dataType":"enum","enums":[null]}],"required":true}, + "invoice_settings": {"ref":"stripe.Stripe.Quote.InvoiceSettings","required":true}, + "line_items": {"ref":"stripe.Stripe.ApiList_stripe.Stripe.LineItem_"}, + "livemode": {"dataType":"boolean","required":true}, + "metadata": {"ref":"stripe.Stripe.Metadata","required":true}, + "number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "on_behalf_of": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"},{"dataType":"enum","enums":[null]}],"required":true}, + "status": {"ref":"stripe.Stripe.Quote.Status","required":true}, + "status_transitions": {"ref":"stripe.Stripe.Quote.StatusTransitions","required":true}, + "subscription": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Subscription"},{"dataType":"enum","enums":[null]}],"required":true}, + "subscription_data": {"ref":"stripe.Stripe.Quote.SubscriptionData","required":true}, + "subscription_schedule": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.SubscriptionSchedule"},{"dataType":"enum","enums":[null]}],"required":true}, + "test_clock": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TestHelpers.TestClock"},{"dataType":"enum","enums":[null]}],"required":true}, + "total_details": {"ref":"stripe.Stripe.Quote.TotalDetails","required":true}, + "transfer_data": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Quote.TransferData"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Billing.CreditBalanceTransaction.Credit.CreditsApplicationInvoiceVoided": { + "stripe.Stripe.Quote.FromQuote": { "dataType": "refObject", "properties": { - "invoice": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Invoice"}],"required":true}, - "invoice_line_item": {"dataType":"string","required":true}, + "is_revision": {"dataType":"boolean","required":true}, + "quote": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Quote"}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Billing.CreditBalanceTransaction.Credit.Type": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["credits_application_invoice_voided"]},{"dataType":"enum","enums":["credits_granted"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Billing.CreditBalanceTransaction.Credit": { + "stripe.Stripe.DeletedInvoice": { "dataType": "refObject", "properties": { - "amount": {"ref":"stripe.Stripe.Billing.CreditBalanceTransaction.Credit.Amount","required":true}, - "credits_application_invoice_voided": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Billing.CreditBalanceTransaction.Credit.CreditsApplicationInvoiceVoided"},{"dataType":"enum","enums":[null]}],"required":true}, - "type": {"ref":"stripe.Stripe.Billing.CreditBalanceTransaction.Credit.Type","required":true}, + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["invoice"],"required":true}, + "deleted": {"dataType":"enum","enums":[true],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Billing.CreditGrant.Amount.Monetary": { + "stripe.Stripe.Quote.InvoiceSettings.Issuer.Type": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account"]},{"dataType":"enum","enums":["self"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Quote.InvoiceSettings.Issuer": { "dataType": "refObject", "properties": { - "currency": {"dataType":"string","required":true}, - "value": {"dataType":"double","required":true}, + "account": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}]}, + "type": {"ref":"stripe.Stripe.Quote.InvoiceSettings.Issuer.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Billing.CreditGrant.Amount": { + "stripe.Stripe.Quote.InvoiceSettings": { "dataType": "refObject", "properties": { - "monetary": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Billing.CreditGrant.Amount.Monetary"},{"dataType":"enum","enums":[null]}],"required":true}, - "type": {"dataType":"enum","enums":["monetary"],"required":true}, + "days_until_due": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "issuer": {"ref":"stripe.Stripe.Quote.InvoiceSettings.Issuer","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Billing.CreditGrant.ApplicabilityConfig.Scope.Price": { + "stripe.Stripe.Quote.Status": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["accepted"]},{"dataType":"enum","enums":["canceled"]},{"dataType":"enum","enums":["draft"]},{"dataType":"enum","enums":["open"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Quote.StatusTransitions": { "dataType": "refObject", "properties": { - "id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "accepted_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "canceled_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "finalized_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Billing.CreditGrant.ApplicabilityConfig.Scope": { + "stripe.Stripe.Quote.SubscriptionData": { "dataType": "refObject", "properties": { - "price_type": {"dataType":"enum","enums":["metered"]}, - "prices": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Billing.CreditGrant.ApplicabilityConfig.Scope.Price"}}, + "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "effective_date": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "metadata": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Metadata"},{"dataType":"enum","enums":[null]}],"required":true}, + "trial_period_days": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Billing.CreditGrant.ApplicabilityConfig": { + "stripe.Stripe.SubscriptionSchedule.CurrentPhase": { "dataType": "refObject", "properties": { - "scope": {"ref":"stripe.Stripe.Billing.CreditGrant.ApplicabilityConfig.Scope","required":true}, + "end_date": {"dataType":"double","required":true}, + "start_date": {"dataType":"double","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Billing.CreditGrant.Category": { + "stripe.Stripe.SubscriptionSchedule.DefaultSettings.AutomaticTax.Liability.Type": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["paid"]},{"dataType":"enum","enums":["promotional"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account"]},{"dataType":"enum","enums":["self"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Billing.CreditGrant": { + "stripe.Stripe.SubscriptionSchedule.DefaultSettings.AutomaticTax.Liability": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["billing.credit_grant"],"required":true}, - "amount": {"ref":"stripe.Stripe.Billing.CreditGrant.Amount","required":true}, - "applicability_config": {"ref":"stripe.Stripe.Billing.CreditGrant.ApplicabilityConfig","required":true}, - "category": {"ref":"stripe.Stripe.Billing.CreditGrant.Category","required":true}, - "created": {"dataType":"double","required":true}, - "customer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Customer"},{"ref":"stripe.Stripe.DeletedCustomer"}],"required":true}, - "effective_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "expires_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "livemode": {"dataType":"boolean","required":true}, - "metadata": {"ref":"stripe.Stripe.Metadata","required":true}, - "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "priority": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, - "test_clock": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TestHelpers.TestClock"},{"dataType":"enum","enums":[null]}],"required":true}, - "updated": {"dataType":"double","required":true}, - "voided_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "account": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}]}, + "type": {"ref":"stripe.Stripe.SubscriptionSchedule.DefaultSettings.AutomaticTax.Liability.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Billing.CreditBalanceTransaction.Debit.Amount.Monetary": { + "stripe.Stripe.SubscriptionSchedule.DefaultSettings.AutomaticTax": { "dataType": "refObject", "properties": { - "currency": {"dataType":"string","required":true}, - "value": {"dataType":"double","required":true}, + "disabled_reason": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["requires_location_inputs"]},{"dataType":"enum","enums":[null]}],"required":true}, + "enabled": {"dataType":"boolean","required":true}, + "liability": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SubscriptionSchedule.DefaultSettings.AutomaticTax.Liability"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Billing.CreditBalanceTransaction.Debit.Amount": { - "dataType": "refObject", - "properties": { - "monetary": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Billing.CreditBalanceTransaction.Debit.Amount.Monetary"},{"dataType":"enum","enums":[null]}],"required":true}, - "type": {"dataType":"enum","enums":["monetary"],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.SubscriptionSchedule.DefaultSettings.BillingCycleAnchor": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["automatic"]},{"dataType":"enum","enums":["phase_start"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Billing.CreditBalanceTransaction.Debit.CreditsApplied": { + "stripe.Stripe.SubscriptionSchedule.DefaultSettings.BillingThresholds": { "dataType": "refObject", "properties": { - "invoice": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Invoice"}],"required":true}, - "invoice_line_item": {"dataType":"string","required":true}, + "amount_gte": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "reset_billing_cycle_anchor": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Billing.CreditBalanceTransaction.Debit.Type": { + "stripe.Stripe.SubscriptionSchedule.DefaultSettings.CollectionMethod": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["credits_applied"]},{"dataType":"enum","enums":["credits_expired"]},{"dataType":"enum","enums":["credits_voided"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Billing.CreditBalanceTransaction.Debit": { - "dataType": "refObject", - "properties": { - "amount": {"ref":"stripe.Stripe.Billing.CreditBalanceTransaction.Debit.Amount","required":true}, - "credits_applied": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Billing.CreditBalanceTransaction.Debit.CreditsApplied"},{"dataType":"enum","enums":[null]}],"required":true}, - "type": {"ref":"stripe.Stripe.Billing.CreditBalanceTransaction.Debit.Type","required":true}, - }, - "additionalProperties": false, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["charge_automatically"]},{"dataType":"enum","enums":["send_invoice"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Billing.CreditBalanceTransaction.Type": { + "stripe.Stripe.SubscriptionSchedule.DefaultSettings.InvoiceSettings.Issuer.Type": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["credit"]},{"dataType":"enum","enums":["debit"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account"]},{"dataType":"enum","enums":["self"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Billing.CreditBalanceTransaction": { + "stripe.Stripe.SubscriptionSchedule.DefaultSettings.InvoiceSettings.Issuer": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["billing.credit_balance_transaction"],"required":true}, - "created": {"dataType":"double","required":true}, - "credit": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Billing.CreditBalanceTransaction.Credit"},{"dataType":"enum","enums":[null]}],"required":true}, - "credit_grant": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Billing.CreditGrant"}],"required":true}, - "debit": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Billing.CreditBalanceTransaction.Debit"},{"dataType":"enum","enums":[null]}],"required":true}, - "effective_at": {"dataType":"double","required":true}, - "livemode": {"dataType":"boolean","required":true}, - "test_clock": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TestHelpers.TestClock"},{"dataType":"enum","enums":[null]}],"required":true}, - "type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Billing.CreditBalanceTransaction.Type"},{"dataType":"enum","enums":[null]}],"required":true}, + "account": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}]}, + "type": {"ref":"stripe.Stripe.SubscriptionSchedule.DefaultSettings.InvoiceSettings.Issuer.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.InvoiceLineItem.PretaxCreditAmount.Type": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["credit_balance_transaction"]},{"dataType":"enum","enums":["discount"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.InvoiceLineItem.PretaxCreditAmount": { + "stripe.Stripe.SubscriptionSchedule.DefaultSettings.InvoiceSettings": { "dataType": "refObject", "properties": { - "amount": {"dataType":"double","required":true}, - "credit_balance_transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Billing.CreditBalanceTransaction"},{"dataType":"enum","enums":[null]}]}, - "discount": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Discount"},{"ref":"stripe.Stripe.DeletedDiscount"}]}, - "type": {"ref":"stripe.Stripe.InvoiceLineItem.PretaxCreditAmount.Type","required":true}, + "account_tax_ids": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TaxId"},{"ref":"stripe.Stripe.DeletedTaxId"}]}},{"dataType":"enum","enums":[null]}],"required":true}, + "days_until_due": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "issuer": {"ref":"stripe.Stripe.SubscriptionSchedule.DefaultSettings.InvoiceSettings.Issuer","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.InvoiceLineItem.ProrationDetails.CreditedItems": { + "stripe.Stripe.SubscriptionSchedule.DefaultSettings.TransferData": { "dataType": "refObject", "properties": { - "invoice": {"dataType":"string","required":true}, - "invoice_line_items": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "amount_percent": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "destination": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.InvoiceLineItem.ProrationDetails": { + "stripe.Stripe.SubscriptionSchedule.DefaultSettings": { "dataType": "refObject", "properties": { - "credited_items": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.InvoiceLineItem.ProrationDetails.CreditedItems"},{"dataType":"enum","enums":[null]}],"required":true}, + "application_fee_percent": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "automatic_tax": {"ref":"stripe.Stripe.SubscriptionSchedule.DefaultSettings.AutomaticTax"}, + "billing_cycle_anchor": {"ref":"stripe.Stripe.SubscriptionSchedule.DefaultSettings.BillingCycleAnchor","required":true}, + "billing_thresholds": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SubscriptionSchedule.DefaultSettings.BillingThresholds"},{"dataType":"enum","enums":[null]}],"required":true}, + "collection_method": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SubscriptionSchedule.DefaultSettings.CollectionMethod"},{"dataType":"enum","enums":[null]}],"required":true}, + "default_payment_method": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentMethod"},{"dataType":"enum","enums":[null]}],"required":true}, + "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "invoice_settings": {"ref":"stripe.Stripe.SubscriptionSchedule.DefaultSettings.InvoiceSettings","required":true}, + "on_behalf_of": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"},{"dataType":"enum","enums":[null]}],"required":true}, + "transfer_data": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SubscriptionSchedule.DefaultSettings.TransferData"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SubscriptionItem.BillingThresholds": { + "stripe.Stripe.SubscriptionSchedule.EndBehavior": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["cancel"]},{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["release"]},{"dataType":"enum","enums":["renew"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.SubscriptionSchedule.Phase.AddInvoiceItem.Discount": { "dataType": "refObject", "properties": { - "usage_gte": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "coupon": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Coupon"},{"dataType":"enum","enums":[null]}],"required":true}, + "discount": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Discount"},{"dataType":"enum","enums":[null]}],"required":true}, + "promotion_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PromotionCode"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SubscriptionItem": { + "stripe.Stripe.DeletedPrice": { "dataType": "refObject", "properties": { "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["subscription_item"],"required":true}, - "billing_thresholds": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SubscriptionItem.BillingThresholds"},{"dataType":"enum","enums":[null]}],"required":true}, - "created": {"dataType":"double","required":true}, - "deleted": {"dataType":"void"}, - "discounts": {"dataType":"array","array":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Discount"}]},"required":true}, - "metadata": {"ref":"stripe.Stripe.Metadata","required":true}, - "plan": {"ref":"stripe.Stripe.Plan","required":true}, - "price": {"ref":"stripe.Stripe.Price","required":true}, - "quantity": {"dataType":"double"}, - "subscription": {"dataType":"string","required":true}, - "tax_rates": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.TaxRate"}},{"dataType":"enum","enums":[null]}],"required":true}, + "object": {"dataType":"enum","enums":["price"],"required":true}, + "deleted": {"dataType":"enum","enums":[true],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.InvoiceLineItem.TaxAmount.TaxabilityReason": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["customer_exempt"]},{"dataType":"enum","enums":["not_collecting"]},{"dataType":"enum","enums":["not_subject_to_tax"]},{"dataType":"enum","enums":["not_supported"]},{"dataType":"enum","enums":["portion_product_exempt"]},{"dataType":"enum","enums":["portion_reduced_rated"]},{"dataType":"enum","enums":["portion_standard_rated"]},{"dataType":"enum","enums":["product_exempt"]},{"dataType":"enum","enums":["product_exempt_holiday"]},{"dataType":"enum","enums":["proportionally_rated"]},{"dataType":"enum","enums":["reduced_rated"]},{"dataType":"enum","enums":["reverse_charge"]},{"dataType":"enum","enums":["standard_rated"]},{"dataType":"enum","enums":["taxable_basis_reduced"]},{"dataType":"enum","enums":["zero_rated"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.InvoiceLineItem.TaxAmount": { + "stripe.Stripe.SubscriptionSchedule.Phase.AddInvoiceItem": { "dataType": "refObject", "properties": { - "amount": {"dataType":"double","required":true}, - "inclusive": {"dataType":"boolean","required":true}, - "tax_rate": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TaxRate"}],"required":true}, - "taxability_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.InvoiceLineItem.TaxAmount.TaxabilityReason"},{"dataType":"enum","enums":[null]}],"required":true}, - "taxable_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "discounts": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.SubscriptionSchedule.Phase.AddInvoiceItem.Discount"},"required":true}, + "price": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Price"},{"ref":"stripe.Stripe.DeletedPrice"}],"required":true}, + "quantity": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "tax_rates": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.TaxRate"}},{"dataType":"enum","enums":[null]}]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.InvoiceLineItem.Type": { + "stripe.Stripe.SubscriptionSchedule.Phase.AutomaticTax.Liability.Type": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["invoiceitem"]},{"dataType":"enum","enums":["subscription"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account"]},{"dataType":"enum","enums":["self"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.InvoiceLineItem": { + "stripe.Stripe.SubscriptionSchedule.Phase.AutomaticTax.Liability": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["line_item"],"required":true}, - "amount": {"dataType":"double","required":true}, - "amount_excluding_tax": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "currency": {"dataType":"string","required":true}, - "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "discount_amounts": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.InvoiceLineItem.DiscountAmount"}},{"dataType":"enum","enums":[null]}],"required":true}, - "discountable": {"dataType":"boolean","required":true}, - "discounts": {"dataType":"array","array":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Discount"}]},"required":true}, - "invoice": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "invoice_item": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.InvoiceItem"}]}, - "livemode": {"dataType":"boolean","required":true}, - "metadata": {"ref":"stripe.Stripe.Metadata","required":true}, - "period": {"ref":"stripe.Stripe.InvoiceLineItem.Period","required":true}, - "plan": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Plan"},{"dataType":"enum","enums":[null]}],"required":true}, - "pretax_credit_amounts": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.InvoiceLineItem.PretaxCreditAmount"}},{"dataType":"enum","enums":[null]}],"required":true}, - "price": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Price"},{"dataType":"enum","enums":[null]}],"required":true}, - "proration": {"dataType":"boolean","required":true}, - "proration_details": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.InvoiceLineItem.ProrationDetails"},{"dataType":"enum","enums":[null]}],"required":true}, - "quantity": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "subscription": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Subscription"},{"dataType":"enum","enums":[null]}],"required":true}, - "subscription_item": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.SubscriptionItem"}]}, - "tax_amounts": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.InvoiceLineItem.TaxAmount"},"required":true}, - "tax_rates": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.TaxRate"},"required":true}, - "type": {"ref":"stripe.Stripe.InvoiceLineItem.Type","required":true}, - "unit_amount_excluding_tax": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "account": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}]}, + "type": {"ref":"stripe.Stripe.SubscriptionSchedule.Phase.AutomaticTax.Liability.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.ApiList_stripe.Stripe.InvoiceLineItem_": { + "stripe.Stripe.SubscriptionSchedule.Phase.AutomaticTax": { "dataType": "refObject", "properties": { - "object": {"dataType":"enum","enums":["list"],"required":true}, - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.InvoiceLineItem"},"required":true}, - "has_more": {"dataType":"boolean","required":true}, - "url": {"dataType":"string","required":true}, + "disabled_reason": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["requires_location_inputs"]},{"dataType":"enum","enums":[null]}],"required":true}, + "enabled": {"dataType":"boolean","required":true}, + "liability": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SubscriptionSchedule.Phase.AutomaticTax.Liability"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.AcssDebit.MandateOptions.TransactionType": { + "stripe.Stripe.SubscriptionSchedule.Phase.BillingCycleAnchor": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["business"]},{"dataType":"enum","enums":["personal"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["automatic"]},{"dataType":"enum","enums":["phase_start"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.AcssDebit.MandateOptions": { + "stripe.Stripe.SubscriptionSchedule.Phase.BillingThresholds": { "dataType": "refObject", "properties": { - "transaction_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.AcssDebit.MandateOptions.TransactionType"},{"dataType":"enum","enums":[null]}],"required":true}, + "amount_gte": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "reset_billing_cycle_anchor": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.AcssDebit.VerificationMethod": { + "stripe.Stripe.SubscriptionSchedule.Phase.CollectionMethod": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["automatic"]},{"dataType":"enum","enums":["instant"]},{"dataType":"enum","enums":["microdeposits"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["charge_automatically"]},{"dataType":"enum","enums":["send_invoice"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.AcssDebit": { + "stripe.Stripe.DeletedCoupon": { "dataType": "refObject", "properties": { - "mandate_options": {"ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.AcssDebit.MandateOptions"}, - "verification_method": {"ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.AcssDebit.VerificationMethod"}, + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["coupon"],"required":true}, + "deleted": {"dataType":"enum","enums":[true],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Bancontact.PreferredLanguage": { + "stripe.Stripe.SubscriptionSchedule.Phase.Discount": { + "dataType": "refObject", + "properties": { + "coupon": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Coupon"},{"dataType":"enum","enums":[null]}],"required":true}, + "discount": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Discount"},{"dataType":"enum","enums":[null]}],"required":true}, + "promotion_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PromotionCode"},{"dataType":"enum","enums":[null]}],"required":true}, + }, + "additionalProperties": false, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.SubscriptionSchedule.Phase.InvoiceSettings.Issuer.Type": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["de"]},{"dataType":"enum","enums":["en"]},{"dataType":"enum","enums":["fr"]},{"dataType":"enum","enums":["nl"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account"]},{"dataType":"enum","enums":["self"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Bancontact": { + "stripe.Stripe.SubscriptionSchedule.Phase.InvoiceSettings.Issuer": { "dataType": "refObject", "properties": { - "preferred_language": {"ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Bancontact.PreferredLanguage","required":true}, + "account": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}]}, + "type": {"ref":"stripe.Stripe.SubscriptionSchedule.Phase.InvoiceSettings.Issuer.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Card.Installments": { + "stripe.Stripe.SubscriptionSchedule.Phase.InvoiceSettings": { "dataType": "refObject", "properties": { - "enabled": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, + "account_tax_ids": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TaxId"},{"ref":"stripe.Stripe.DeletedTaxId"}]}},{"dataType":"enum","enums":[null]}],"required":true}, + "days_until_due": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "issuer": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SubscriptionSchedule.Phase.InvoiceSettings.Issuer"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Card.RequestThreeDSecure": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["any"]},{"dataType":"enum","enums":["automatic"]},{"dataType":"enum","enums":["challenge"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Card": { + "stripe.Stripe.SubscriptionSchedule.Phase.Item.BillingThresholds": { "dataType": "refObject", "properties": { - "installments": {"ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Card.Installments"}, - "request_three_d_secure": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Card.RequestThreeDSecure"},{"dataType":"enum","enums":[null]}],"required":true}, + "usage_gte": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer.Country": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["BE"]},{"dataType":"enum","enums":["DE"]},{"dataType":"enum","enums":["ES"]},{"dataType":"enum","enums":["FR"]},{"dataType":"enum","enums":["IE"]},{"dataType":"enum","enums":["NL"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer": { + "stripe.Stripe.SubscriptionSchedule.Phase.Item.Discount": { "dataType": "refObject", "properties": { - "country": {"ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer.Country","required":true}, + "coupon": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Coupon"},{"dataType":"enum","enums":[null]}],"required":true}, + "discount": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Discount"},{"dataType":"enum","enums":[null]}],"required":true}, + "promotion_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PromotionCode"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer": { + "stripe.Stripe.DeletedPlan": { "dataType": "refObject", "properties": { - "eu_bank_transfer": {"ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer"}, - "type": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["plan"],"required":true}, + "deleted": {"dataType":"enum","enums":[true],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.CustomerBalance": { + "stripe.Stripe.SubscriptionSchedule.Phase.Item": { "dataType": "refObject", "properties": { - "bank_transfer": {"ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer"}, - "funding_type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["bank_transfer"]},{"dataType":"enum","enums":[null]}],"required":true}, + "billing_thresholds": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SubscriptionSchedule.Phase.Item.BillingThresholds"},{"dataType":"enum","enums":[null]}],"required":true}, + "discounts": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.SubscriptionSchedule.Phase.Item.Discount"},"required":true}, + "metadata": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Metadata"},{"dataType":"enum","enums":[null]}],"required":true}, + "plan": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Plan"},{"ref":"stripe.Stripe.DeletedPlan"}],"required":true}, + "price": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Price"},{"ref":"stripe.Stripe.DeletedPrice"}],"required":true}, + "quantity": {"dataType":"double"}, + "tax_rates": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.TaxRate"}},{"dataType":"enum","enums":[null]}]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Konbini": { + "stripe.Stripe.SubscriptionSchedule.Phase.ProrationBehavior": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["always_invoice"]},{"dataType":"enum","enums":["create_prorations"]},{"dataType":"enum","enums":["none"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.SubscriptionSchedule.Phase.TransferData": { "dataType": "refObject", "properties": { + "amount_percent": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "destination": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.SepaDebit": { + "stripe.Stripe.SubscriptionSchedule.Phase": { "dataType": "refObject", "properties": { + "add_invoice_items": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.SubscriptionSchedule.Phase.AddInvoiceItem"},"required":true}, + "application_fee_percent": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "automatic_tax": {"ref":"stripe.Stripe.SubscriptionSchedule.Phase.AutomaticTax"}, + "billing_cycle_anchor": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SubscriptionSchedule.Phase.BillingCycleAnchor"},{"dataType":"enum","enums":[null]}],"required":true}, + "billing_thresholds": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SubscriptionSchedule.Phase.BillingThresholds"},{"dataType":"enum","enums":[null]}],"required":true}, + "collection_method": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SubscriptionSchedule.Phase.CollectionMethod"},{"dataType":"enum","enums":[null]}],"required":true}, + "coupon": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Coupon"},{"ref":"stripe.Stripe.DeletedCoupon"},{"dataType":"enum","enums":[null]}],"required":true}, + "currency": {"dataType":"string","required":true}, + "default_payment_method": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentMethod"},{"dataType":"enum","enums":[null]}],"required":true}, + "default_tax_rates": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.TaxRate"}},{"dataType":"enum","enums":[null]}]}, + "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "discounts": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.SubscriptionSchedule.Phase.Discount"},"required":true}, + "end_date": {"dataType":"double","required":true}, + "invoice_settings": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SubscriptionSchedule.Phase.InvoiceSettings"},{"dataType":"enum","enums":[null]}],"required":true}, + "items": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.SubscriptionSchedule.Phase.Item"},"required":true}, + "metadata": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Metadata"},{"dataType":"enum","enums":[null]}],"required":true}, + "on_behalf_of": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"},{"dataType":"enum","enums":[null]}],"required":true}, + "proration_behavior": {"ref":"stripe.Stripe.SubscriptionSchedule.Phase.ProrationBehavior","required":true}, + "start_date": {"dataType":"double","required":true}, + "transfer_data": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SubscriptionSchedule.Phase.TransferData"},{"dataType":"enum","enums":[null]}],"required":true}, + "trial_end": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters.AccountSubcategory": { + "stripe.Stripe.SubscriptionSchedule.Status": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["checking"]},{"dataType":"enum","enums":["savings"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["canceled"]},{"dataType":"enum","enums":["completed"]},{"dataType":"enum","enums":["not_started"]},{"dataType":"enum","enums":["released"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters": { + "stripe.Stripe.SubscriptionSchedule": { "dataType": "refObject", "properties": { - "account_subcategories": {"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters.AccountSubcategory"}}, + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["subscription_schedule"],"required":true}, + "application": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Application"},{"ref":"stripe.Stripe.DeletedApplication"},{"dataType":"enum","enums":[null]}],"required":true}, + "canceled_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "completed_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "created": {"dataType":"double","required":true}, + "current_phase": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SubscriptionSchedule.CurrentPhase"},{"dataType":"enum","enums":[null]}],"required":true}, + "customer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Customer"},{"ref":"stripe.Stripe.DeletedCustomer"}],"required":true}, + "default_settings": {"ref":"stripe.Stripe.SubscriptionSchedule.DefaultSettings","required":true}, + "end_behavior": {"ref":"stripe.Stripe.SubscriptionSchedule.EndBehavior","required":true}, + "livemode": {"dataType":"boolean","required":true}, + "metadata": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Metadata"},{"dataType":"enum","enums":[null]}],"required":true}, + "phases": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.SubscriptionSchedule.Phase"},"required":true}, + "released_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "released_subscription": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "status": {"ref":"stripe.Stripe.SubscriptionSchedule.Status","required":true}, + "subscription": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Subscription"},{"dataType":"enum","enums":[null]}],"required":true}, + "test_clock": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TestHelpers.TestClock"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Permission": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["balances"]},{"dataType":"enum","enums":["ownership"]},{"dataType":"enum","enums":["payment_method"]},{"dataType":"enum","enums":["transactions"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Prefetch": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["balances"]},{"dataType":"enum","enums":["ownership"]},{"dataType":"enum","enums":["transactions"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections": { + "stripe.Stripe.Quote.TotalDetails.Breakdown.Discount": { "dataType": "refObject", "properties": { - "filters": {"ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters"}, - "permissions": {"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Permission"}}, - "prefetch": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Prefetch"}},{"dataType":"enum","enums":[null]}],"required":true}, + "amount": {"dataType":"double","required":true}, + "discount": {"ref":"stripe.Stripe.Discount","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.VerificationMethod": { + "stripe.Stripe.Quote.TotalDetails.Breakdown.Tax.TaxabilityReason": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["automatic"]},{"dataType":"enum","enums":["instant"]},{"dataType":"enum","enums":["microdeposits"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["customer_exempt"]},{"dataType":"enum","enums":["not_collecting"]},{"dataType":"enum","enums":["not_subject_to_tax"]},{"dataType":"enum","enums":["not_supported"]},{"dataType":"enum","enums":["portion_product_exempt"]},{"dataType":"enum","enums":["portion_reduced_rated"]},{"dataType":"enum","enums":["portion_standard_rated"]},{"dataType":"enum","enums":["product_exempt"]},{"dataType":"enum","enums":["product_exempt_holiday"]},{"dataType":"enum","enums":["proportionally_rated"]},{"dataType":"enum","enums":["reduced_rated"]},{"dataType":"enum","enums":["reverse_charge"]},{"dataType":"enum","enums":["standard_rated"]},{"dataType":"enum","enums":["taxable_basis_reduced"]},{"dataType":"enum","enums":["zero_rated"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount": { + "stripe.Stripe.Quote.TotalDetails.Breakdown.Tax": { "dataType": "refObject", "properties": { - "financial_connections": {"ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections"}, - "verification_method": {"ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.VerificationMethod"}, + "amount": {"dataType":"double","required":true}, + "rate": {"ref":"stripe.Stripe.TaxRate","required":true}, + "taxability_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Quote.TotalDetails.Breakdown.Tax.TaxabilityReason"},{"dataType":"enum","enums":[null]}],"required":true}, + "taxable_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions": { + "stripe.Stripe.Quote.TotalDetails.Breakdown": { "dataType": "refObject", "properties": { - "acss_debit": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.AcssDebit"},{"dataType":"enum","enums":[null]}],"required":true}, - "bancontact": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Bancontact"},{"dataType":"enum","enums":[null]}],"required":true}, - "card": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Card"},{"dataType":"enum","enums":[null]}],"required":true}, - "customer_balance": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.CustomerBalance"},{"dataType":"enum","enums":[null]}],"required":true}, - "konbini": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Konbini"},{"dataType":"enum","enums":[null]}],"required":true}, - "sepa_debit": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.SepaDebit"},{"dataType":"enum","enums":[null]}],"required":true}, - "us_bank_account": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount"},{"dataType":"enum","enums":[null]}],"required":true}, + "discounts": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Quote.TotalDetails.Breakdown.Discount"},"required":true}, + "taxes": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Quote.TotalDetails.Breakdown.Tax"},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodType": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["ach_credit_transfer"]},{"dataType":"enum","enums":["ach_debit"]},{"dataType":"enum","enums":["acss_debit"]},{"dataType":"enum","enums":["amazon_pay"]},{"dataType":"enum","enums":["au_becs_debit"]},{"dataType":"enum","enums":["bacs_debit"]},{"dataType":"enum","enums":["bancontact"]},{"dataType":"enum","enums":["boleto"]},{"dataType":"enum","enums":["card"]},{"dataType":"enum","enums":["cashapp"]},{"dataType":"enum","enums":["customer_balance"]},{"dataType":"enum","enums":["eps"]},{"dataType":"enum","enums":["fpx"]},{"dataType":"enum","enums":["giropay"]},{"dataType":"enum","enums":["grabpay"]},{"dataType":"enum","enums":["ideal"]},{"dataType":"enum","enums":["jp_credit_transfer"]},{"dataType":"enum","enums":["kakao_pay"]},{"dataType":"enum","enums":["konbini"]},{"dataType":"enum","enums":["kr_card"]},{"dataType":"enum","enums":["link"]},{"dataType":"enum","enums":["multibanco"]},{"dataType":"enum","enums":["naver_pay"]},{"dataType":"enum","enums":["p24"]},{"dataType":"enum","enums":["payco"]},{"dataType":"enum","enums":["paynow"]},{"dataType":"enum","enums":["paypal"]},{"dataType":"enum","enums":["promptpay"]},{"dataType":"enum","enums":["revolut_pay"]},{"dataType":"enum","enums":["sepa_credit_transfer"]},{"dataType":"enum","enums":["sepa_debit"]},{"dataType":"enum","enums":["sofort"]},{"dataType":"enum","enums":["swish"]},{"dataType":"enum","enums":["us_bank_account"]},{"dataType":"enum","enums":["wechat_pay"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.PaymentSettings": { + "stripe.Stripe.Quote.TotalDetails": { "dataType": "refObject", "properties": { - "default_mandate": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "payment_method_options": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions"},{"dataType":"enum","enums":[null]}],"required":true}, - "payment_method_types": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Invoice.PaymentSettings.PaymentMethodType"}},{"dataType":"enum","enums":[null]}],"required":true}, + "amount_discount": {"dataType":"double","required":true}, + "amount_shipping": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "amount_tax": {"dataType":"double","required":true}, + "breakdown": {"ref":"stripe.Stripe.Quote.TotalDetails.Breakdown"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Quote.AutomaticTax.Liability.Type": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account"]},{"dataType":"enum","enums":["self"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Quote.AutomaticTax.Liability": { + "stripe.Stripe.Quote.TransferData": { "dataType": "refObject", "properties": { - "account": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}]}, - "type": {"ref":"stripe.Stripe.Quote.AutomaticTax.Liability.Type","required":true}, + "amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "amount_percent": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "destination": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Quote.AutomaticTax.Status": { + "stripe.Stripe.Invoice.Rendering.Pdf.PageSize": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["complete"]},{"dataType":"enum","enums":["failed"]},{"dataType":"enum","enums":["requires_location_inputs"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["a4"]},{"dataType":"enum","enums":["auto"]},{"dataType":"enum","enums":["letter"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Quote.AutomaticTax": { + "stripe.Stripe.Invoice.Rendering.Pdf": { "dataType": "refObject", "properties": { - "enabled": {"dataType":"boolean","required":true}, - "liability": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Quote.AutomaticTax.Liability"},{"dataType":"enum","enums":[null]}],"required":true}, - "status": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Quote.AutomaticTax.Status"},{"dataType":"enum","enums":[null]}],"required":true}, + "page_size": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.Rendering.Pdf.PageSize"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Quote.CollectionMethod": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["charge_automatically"]},{"dataType":"enum","enums":["send_invoice"]}],"validators":{}}, + "stripe.Stripe.Invoice.Rendering": { + "dataType": "refObject", + "properties": { + "amount_tax_display": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "pdf": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.Rendering.Pdf"},{"dataType":"enum","enums":[null]}],"required":true}, + "template": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "template_version": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Quote.Computed.Recurring.Interval": { + "stripe.Stripe.ShippingRate.DeliveryEstimate.Maximum.Unit": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["day"]},{"dataType":"enum","enums":["month"]},{"dataType":"enum","enums":["week"]},{"dataType":"enum","enums":["year"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["business_day"]},{"dataType":"enum","enums":["day"]},{"dataType":"enum","enums":["hour"]},{"dataType":"enum","enums":["month"]},{"dataType":"enum","enums":["week"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Quote.Computed.Recurring.TotalDetails.Breakdown.Discount": { + "stripe.Stripe.ShippingRate.DeliveryEstimate.Maximum": { "dataType": "refObject", "properties": { - "amount": {"dataType":"double","required":true}, - "discount": {"ref":"stripe.Stripe.Discount","required":true}, + "unit": {"ref":"stripe.Stripe.ShippingRate.DeliveryEstimate.Maximum.Unit","required":true}, + "value": {"dataType":"double","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Quote.Computed.Recurring.TotalDetails.Breakdown.Tax.TaxabilityReason": { + "stripe.Stripe.ShippingRate.DeliveryEstimate.Minimum.Unit": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["customer_exempt"]},{"dataType":"enum","enums":["not_collecting"]},{"dataType":"enum","enums":["not_subject_to_tax"]},{"dataType":"enum","enums":["not_supported"]},{"dataType":"enum","enums":["portion_product_exempt"]},{"dataType":"enum","enums":["portion_reduced_rated"]},{"dataType":"enum","enums":["portion_standard_rated"]},{"dataType":"enum","enums":["product_exempt"]},{"dataType":"enum","enums":["product_exempt_holiday"]},{"dataType":"enum","enums":["proportionally_rated"]},{"dataType":"enum","enums":["reduced_rated"]},{"dataType":"enum","enums":["reverse_charge"]},{"dataType":"enum","enums":["standard_rated"]},{"dataType":"enum","enums":["taxable_basis_reduced"]},{"dataType":"enum","enums":["zero_rated"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["business_day"]},{"dataType":"enum","enums":["day"]},{"dataType":"enum","enums":["hour"]},{"dataType":"enum","enums":["month"]},{"dataType":"enum","enums":["week"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Quote.Computed.Recurring.TotalDetails.Breakdown.Tax": { + "stripe.Stripe.ShippingRate.DeliveryEstimate.Minimum": { "dataType": "refObject", "properties": { - "amount": {"dataType":"double","required":true}, - "rate": {"ref":"stripe.Stripe.TaxRate","required":true}, - "taxability_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Quote.Computed.Recurring.TotalDetails.Breakdown.Tax.TaxabilityReason"},{"dataType":"enum","enums":[null]}],"required":true}, - "taxable_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "unit": {"ref":"stripe.Stripe.ShippingRate.DeliveryEstimate.Minimum.Unit","required":true}, + "value": {"dataType":"double","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Quote.Computed.Recurring.TotalDetails.Breakdown": { + "stripe.Stripe.ShippingRate.DeliveryEstimate": { "dataType": "refObject", "properties": { - "discounts": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Quote.Computed.Recurring.TotalDetails.Breakdown.Discount"},"required":true}, - "taxes": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Quote.Computed.Recurring.TotalDetails.Breakdown.Tax"},"required":true}, + "maximum": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.ShippingRate.DeliveryEstimate.Maximum"},{"dataType":"enum","enums":[null]}],"required":true}, + "minimum": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.ShippingRate.DeliveryEstimate.Minimum"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Quote.Computed.Recurring.TotalDetails": { + "stripe.Stripe.ShippingRate.FixedAmount.CurrencyOptions.TaxBehavior": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["exclusive"]},{"dataType":"enum","enums":["inclusive"]},{"dataType":"enum","enums":["unspecified"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.ShippingRate.FixedAmount.CurrencyOptions": { "dataType": "refObject", "properties": { - "amount_discount": {"dataType":"double","required":true}, - "amount_shipping": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "amount_tax": {"dataType":"double","required":true}, - "breakdown": {"ref":"stripe.Stripe.Quote.Computed.Recurring.TotalDetails.Breakdown"}, + "amount": {"dataType":"double","required":true}, + "tax_behavior": {"ref":"stripe.Stripe.ShippingRate.FixedAmount.CurrencyOptions.TaxBehavior","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Quote.Computed.Recurring": { + "stripe.Stripe.ShippingRate.FixedAmount": { "dataType": "refObject", "properties": { - "amount_subtotal": {"dataType":"double","required":true}, - "amount_total": {"dataType":"double","required":true}, - "interval": {"ref":"stripe.Stripe.Quote.Computed.Recurring.Interval","required":true}, - "interval_count": {"dataType":"double","required":true}, - "total_details": {"ref":"stripe.Stripe.Quote.Computed.Recurring.TotalDetails","required":true}, + "amount": {"dataType":"double","required":true}, + "currency": {"dataType":"string","required":true}, + "currency_options": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"stripe.Stripe.ShippingRate.FixedAmount.CurrencyOptions"}}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.LineItem.Discount": { + "stripe.Stripe.ShippingRate.TaxBehavior": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["exclusive"]},{"dataType":"enum","enums":["inclusive"]},{"dataType":"enum","enums":["unspecified"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.ShippingRate": { "dataType": "refObject", "properties": { - "amount": {"dataType":"double","required":true}, - "discount": {"ref":"stripe.Stripe.Discount","required":true}, + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["shipping_rate"],"required":true}, + "active": {"dataType":"boolean","required":true}, + "created": {"dataType":"double","required":true}, + "delivery_estimate": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.ShippingRate.DeliveryEstimate"},{"dataType":"enum","enums":[null]}],"required":true}, + "display_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "fixed_amount": {"ref":"stripe.Stripe.ShippingRate.FixedAmount"}, + "livemode": {"dataType":"boolean","required":true}, + "metadata": {"ref":"stripe.Stripe.Metadata","required":true}, + "tax_behavior": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.ShippingRate.TaxBehavior"},{"dataType":"enum","enums":[null]}],"required":true}, + "tax_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TaxCode"},{"dataType":"enum","enums":[null]}],"required":true}, + "type": {"dataType":"enum","enums":["fixed_amount"],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.LineItem.Tax.TaxabilityReason": { + "stripe.Stripe.Invoice.ShippingCost.Tax.TaxabilityReason": { "dataType": "refAlias", "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["customer_exempt"]},{"dataType":"enum","enums":["not_collecting"]},{"dataType":"enum","enums":["not_subject_to_tax"]},{"dataType":"enum","enums":["not_supported"]},{"dataType":"enum","enums":["portion_product_exempt"]},{"dataType":"enum","enums":["portion_reduced_rated"]},{"dataType":"enum","enums":["portion_standard_rated"]},{"dataType":"enum","enums":["product_exempt"]},{"dataType":"enum","enums":["product_exempt_holiday"]},{"dataType":"enum","enums":["proportionally_rated"]},{"dataType":"enum","enums":["reduced_rated"]},{"dataType":"enum","enums":["reverse_charge"]},{"dataType":"enum","enums":["standard_rated"]},{"dataType":"enum","enums":["taxable_basis_reduced"]},{"dataType":"enum","enums":["zero_rated"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.LineItem.Tax": { + "stripe.Stripe.Invoice.ShippingCost.Tax": { "dataType": "refObject", "properties": { "amount": {"dataType":"double","required":true}, "rate": {"ref":"stripe.Stripe.TaxRate","required":true}, - "taxability_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.LineItem.Tax.TaxabilityReason"},{"dataType":"enum","enums":[null]}],"required":true}, + "taxability_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.ShippingCost.Tax.TaxabilityReason"},{"dataType":"enum","enums":[null]}],"required":true}, "taxable_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.LineItem": { + "stripe.Stripe.Invoice.ShippingCost": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["item"],"required":true}, - "amount_discount": {"dataType":"double","required":true}, "amount_subtotal": {"dataType":"double","required":true}, "amount_tax": {"dataType":"double","required":true}, "amount_total": {"dataType":"double","required":true}, - "currency": {"dataType":"string","required":true}, - "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "discounts": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.LineItem.Discount"}}, - "price": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Price"},{"dataType":"enum","enums":[null]}],"required":true}, - "quantity": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "taxes": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.LineItem.Tax"}}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.ApiList_stripe.Stripe.LineItem_": { - "dataType": "refObject", - "properties": { - "object": {"dataType":"enum","enums":["list"],"required":true}, - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.LineItem"},"required":true}, - "has_more": {"dataType":"boolean","required":true}, - "url": {"dataType":"string","required":true}, + "shipping_rate": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.ShippingRate"},{"dataType":"enum","enums":[null]}],"required":true}, + "taxes": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Invoice.ShippingCost.Tax"}}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Quote.Computed.Upfront.TotalDetails.Breakdown.Discount": { + "stripe.Stripe.Invoice.ShippingDetails": { "dataType": "refObject", "properties": { - "amount": {"dataType":"double","required":true}, - "discount": {"ref":"stripe.Stripe.Discount","required":true}, + "address": {"ref":"stripe.Stripe.Address"}, + "carrier": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "name": {"dataType":"string"}, + "phone": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "tracking_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Quote.Computed.Upfront.TotalDetails.Breakdown.Tax.TaxabilityReason": { + "stripe.Stripe.Invoice.Status": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["customer_exempt"]},{"dataType":"enum","enums":["not_collecting"]},{"dataType":"enum","enums":["not_subject_to_tax"]},{"dataType":"enum","enums":["not_supported"]},{"dataType":"enum","enums":["portion_product_exempt"]},{"dataType":"enum","enums":["portion_reduced_rated"]},{"dataType":"enum","enums":["portion_standard_rated"]},{"dataType":"enum","enums":["product_exempt"]},{"dataType":"enum","enums":["product_exempt_holiday"]},{"dataType":"enum","enums":["proportionally_rated"]},{"dataType":"enum","enums":["reduced_rated"]},{"dataType":"enum","enums":["reverse_charge"]},{"dataType":"enum","enums":["standard_rated"]},{"dataType":"enum","enums":["taxable_basis_reduced"]},{"dataType":"enum","enums":["zero_rated"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Quote.Computed.Upfront.TotalDetails.Breakdown.Tax": { - "dataType": "refObject", - "properties": { - "amount": {"dataType":"double","required":true}, - "rate": {"ref":"stripe.Stripe.TaxRate","required":true}, - "taxability_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Quote.Computed.Upfront.TotalDetails.Breakdown.Tax.TaxabilityReason"},{"dataType":"enum","enums":[null]}],"required":true}, - "taxable_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["draft"]},{"dataType":"enum","enums":["open"]},{"dataType":"enum","enums":["paid"]},{"dataType":"enum","enums":["uncollectible"]},{"dataType":"enum","enums":["void"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Quote.Computed.Upfront.TotalDetails.Breakdown": { + "stripe.Stripe.Invoice.StatusTransitions": { "dataType": "refObject", "properties": { - "discounts": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Quote.Computed.Upfront.TotalDetails.Breakdown.Discount"},"required":true}, - "taxes": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Quote.Computed.Upfront.TotalDetails.Breakdown.Tax"},"required":true}, + "finalized_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "marked_uncollectible_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "paid_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "voided_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Quote.Computed.Upfront.TotalDetails": { + "stripe.Stripe.Invoice.SubscriptionDetails": { "dataType": "refObject", "properties": { - "amount_discount": {"dataType":"double","required":true}, - "amount_shipping": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "amount_tax": {"dataType":"double","required":true}, - "breakdown": {"ref":"stripe.Stripe.Quote.Computed.Upfront.TotalDetails.Breakdown"}, + "metadata": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Metadata"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Quote.Computed.Upfront": { + "stripe.Stripe.Invoice.ThresholdReason.ItemReason": { "dataType": "refObject", "properties": { - "amount_subtotal": {"dataType":"double","required":true}, - "amount_total": {"dataType":"double","required":true}, - "line_items": {"ref":"stripe.Stripe.ApiList_stripe.Stripe.LineItem_"}, - "total_details": {"ref":"stripe.Stripe.Quote.Computed.Upfront.TotalDetails","required":true}, + "line_item_ids": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "usage_gte": {"dataType":"double","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Quote.Computed": { + "stripe.Stripe.Invoice.ThresholdReason": { "dataType": "refObject", "properties": { - "recurring": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Quote.Computed.Recurring"},{"dataType":"enum","enums":[null]}],"required":true}, - "upfront": {"ref":"stripe.Stripe.Quote.Computed.Upfront","required":true}, + "amount_gte": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "item_reasons": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Invoice.ThresholdReason.ItemReason"},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Quote": { + "stripe.Stripe.Invoice.TotalDiscountAmount": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["quote"],"required":true}, - "amount_subtotal": {"dataType":"double","required":true}, - "amount_total": {"dataType":"double","required":true}, - "application": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Application"},{"ref":"stripe.Stripe.DeletedApplication"},{"dataType":"enum","enums":[null]}],"required":true}, - "application_fee_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "application_fee_percent": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "automatic_tax": {"ref":"stripe.Stripe.Quote.AutomaticTax","required":true}, - "collection_method": {"ref":"stripe.Stripe.Quote.CollectionMethod","required":true}, - "computed": {"ref":"stripe.Stripe.Quote.Computed","required":true}, - "created": {"dataType":"double","required":true}, - "currency": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "customer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Customer"},{"ref":"stripe.Stripe.DeletedCustomer"},{"dataType":"enum","enums":[null]}],"required":true}, - "default_tax_rates": {"dataType":"array","array":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TaxRate"}]}}, - "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "discounts": {"dataType":"array","array":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Discount"}]},"required":true}, - "expires_at": {"dataType":"double","required":true}, - "footer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "from_quote": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Quote.FromQuote"},{"dataType":"enum","enums":[null]}],"required":true}, - "header": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "invoice": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Invoice"},{"ref":"stripe.Stripe.DeletedInvoice"},{"dataType":"enum","enums":[null]}],"required":true}, - "invoice_settings": {"ref":"stripe.Stripe.Quote.InvoiceSettings","required":true}, - "line_items": {"ref":"stripe.Stripe.ApiList_stripe.Stripe.LineItem_"}, - "livemode": {"dataType":"boolean","required":true}, - "metadata": {"ref":"stripe.Stripe.Metadata","required":true}, - "number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "on_behalf_of": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"},{"dataType":"enum","enums":[null]}],"required":true}, - "status": {"ref":"stripe.Stripe.Quote.Status","required":true}, - "status_transitions": {"ref":"stripe.Stripe.Quote.StatusTransitions","required":true}, - "subscription": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Subscription"},{"dataType":"enum","enums":[null]}],"required":true}, - "subscription_data": {"ref":"stripe.Stripe.Quote.SubscriptionData","required":true}, - "subscription_schedule": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.SubscriptionSchedule"},{"dataType":"enum","enums":[null]}],"required":true}, - "test_clock": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TestHelpers.TestClock"},{"dataType":"enum","enums":[null]}],"required":true}, - "total_details": {"ref":"stripe.Stripe.Quote.TotalDetails","required":true}, - "transfer_data": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Quote.TransferData"},{"dataType":"enum","enums":[null]}],"required":true}, + "amount": {"dataType":"double","required":true}, + "discount": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Discount"},{"ref":"stripe.Stripe.DeletedDiscount"}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Quote.FromQuote": { - "dataType": "refObject", - "properties": { - "is_revision": {"dataType":"boolean","required":true}, - "quote": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Quote"}],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Invoice.TotalPretaxCreditAmount.Type": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["credit_balance_transaction"]},{"dataType":"enum","enums":["discount"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.DeletedInvoice": { + "stripe.Stripe.Invoice.TotalPretaxCreditAmount": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["invoice"],"required":true}, - "deleted": {"dataType":"enum","enums":[true],"required":true}, + "amount": {"dataType":"double","required":true}, + "credit_balance_transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Billing.CreditBalanceTransaction"},{"dataType":"enum","enums":[null]}]}, + "discount": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Discount"},{"ref":"stripe.Stripe.DeletedDiscount"}]}, + "type": {"ref":"stripe.Stripe.Invoice.TotalPretaxCreditAmount.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Quote.InvoiceSettings.Issuer.Type": { + "stripe.Stripe.Invoice.TotalTaxAmount.TaxabilityReason": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account"]},{"dataType":"enum","enums":["self"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["customer_exempt"]},{"dataType":"enum","enums":["not_collecting"]},{"dataType":"enum","enums":["not_subject_to_tax"]},{"dataType":"enum","enums":["not_supported"]},{"dataType":"enum","enums":["portion_product_exempt"]},{"dataType":"enum","enums":["portion_reduced_rated"]},{"dataType":"enum","enums":["portion_standard_rated"]},{"dataType":"enum","enums":["product_exempt"]},{"dataType":"enum","enums":["product_exempt_holiday"]},{"dataType":"enum","enums":["proportionally_rated"]},{"dataType":"enum","enums":["reduced_rated"]},{"dataType":"enum","enums":["reverse_charge"]},{"dataType":"enum","enums":["standard_rated"]},{"dataType":"enum","enums":["taxable_basis_reduced"]},{"dataType":"enum","enums":["zero_rated"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Quote.InvoiceSettings.Issuer": { + "stripe.Stripe.Invoice.TotalTaxAmount": { "dataType": "refObject", "properties": { - "account": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}]}, - "type": {"ref":"stripe.Stripe.Quote.InvoiceSettings.Issuer.Type","required":true}, + "amount": {"dataType":"double","required":true}, + "inclusive": {"dataType":"boolean","required":true}, + "tax_rate": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TaxRate"}],"required":true}, + "taxability_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.TotalTaxAmount.TaxabilityReason"},{"dataType":"enum","enums":[null]}],"required":true}, + "taxable_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Quote.InvoiceSettings": { + "stripe.Stripe.Invoice.TransferData": { "dataType": "refObject", "properties": { - "days_until_due": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "issuer": {"ref":"stripe.Stripe.Quote.InvoiceSettings.Issuer","required":true}, + "amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "destination": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Quote.Status": { + "stripe.Stripe.PaymentIntent.LastPaymentError.Code": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["accepted"]},{"dataType":"enum","enums":["canceled"]},{"dataType":"enum","enums":["draft"]},{"dataType":"enum","enums":["open"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account_closed"]},{"dataType":"enum","enums":["account_country_invalid_address"]},{"dataType":"enum","enums":["account_error_country_change_requires_additional_steps"]},{"dataType":"enum","enums":["account_information_mismatch"]},{"dataType":"enum","enums":["account_invalid"]},{"dataType":"enum","enums":["account_number_invalid"]},{"dataType":"enum","enums":["acss_debit_session_incomplete"]},{"dataType":"enum","enums":["alipay_upgrade_required"]},{"dataType":"enum","enums":["amount_too_large"]},{"dataType":"enum","enums":["amount_too_small"]},{"dataType":"enum","enums":["api_key_expired"]},{"dataType":"enum","enums":["application_fees_not_allowed"]},{"dataType":"enum","enums":["authentication_required"]},{"dataType":"enum","enums":["balance_insufficient"]},{"dataType":"enum","enums":["balance_invalid_parameter"]},{"dataType":"enum","enums":["bank_account_bad_routing_numbers"]},{"dataType":"enum","enums":["bank_account_declined"]},{"dataType":"enum","enums":["bank_account_exists"]},{"dataType":"enum","enums":["bank_account_restricted"]},{"dataType":"enum","enums":["bank_account_unusable"]},{"dataType":"enum","enums":["bank_account_unverified"]},{"dataType":"enum","enums":["bank_account_verification_failed"]},{"dataType":"enum","enums":["billing_invalid_mandate"]},{"dataType":"enum","enums":["bitcoin_upgrade_required"]},{"dataType":"enum","enums":["capture_charge_authorization_expired"]},{"dataType":"enum","enums":["capture_unauthorized_payment"]},{"dataType":"enum","enums":["card_decline_rate_limit_exceeded"]},{"dataType":"enum","enums":["card_declined"]},{"dataType":"enum","enums":["cardholder_phone_number_required"]},{"dataType":"enum","enums":["charge_already_captured"]},{"dataType":"enum","enums":["charge_already_refunded"]},{"dataType":"enum","enums":["charge_disputed"]},{"dataType":"enum","enums":["charge_exceeds_source_limit"]},{"dataType":"enum","enums":["charge_exceeds_transaction_limit"]},{"dataType":"enum","enums":["charge_expired_for_capture"]},{"dataType":"enum","enums":["charge_invalid_parameter"]},{"dataType":"enum","enums":["charge_not_refundable"]},{"dataType":"enum","enums":["clearing_code_unsupported"]},{"dataType":"enum","enums":["country_code_invalid"]},{"dataType":"enum","enums":["country_unsupported"]},{"dataType":"enum","enums":["coupon_expired"]},{"dataType":"enum","enums":["customer_max_payment_methods"]},{"dataType":"enum","enums":["customer_max_subscriptions"]},{"dataType":"enum","enums":["customer_tax_location_invalid"]},{"dataType":"enum","enums":["debit_not_authorized"]},{"dataType":"enum","enums":["email_invalid"]},{"dataType":"enum","enums":["expired_card"]},{"dataType":"enum","enums":["financial_connections_account_inactive"]},{"dataType":"enum","enums":["financial_connections_no_successful_transaction_refresh"]},{"dataType":"enum","enums":["forwarding_api_inactive"]},{"dataType":"enum","enums":["forwarding_api_invalid_parameter"]},{"dataType":"enum","enums":["forwarding_api_upstream_connection_error"]},{"dataType":"enum","enums":["forwarding_api_upstream_connection_timeout"]},{"dataType":"enum","enums":["idempotency_key_in_use"]},{"dataType":"enum","enums":["incorrect_address"]},{"dataType":"enum","enums":["incorrect_cvc"]},{"dataType":"enum","enums":["incorrect_number"]},{"dataType":"enum","enums":["incorrect_zip"]},{"dataType":"enum","enums":["instant_payouts_config_disabled"]},{"dataType":"enum","enums":["instant_payouts_currency_disabled"]},{"dataType":"enum","enums":["instant_payouts_limit_exceeded"]},{"dataType":"enum","enums":["instant_payouts_unsupported"]},{"dataType":"enum","enums":["insufficient_funds"]},{"dataType":"enum","enums":["intent_invalid_state"]},{"dataType":"enum","enums":["intent_verification_method_missing"]},{"dataType":"enum","enums":["invalid_card_type"]},{"dataType":"enum","enums":["invalid_characters"]},{"dataType":"enum","enums":["invalid_charge_amount"]},{"dataType":"enum","enums":["invalid_cvc"]},{"dataType":"enum","enums":["invalid_expiry_month"]},{"dataType":"enum","enums":["invalid_expiry_year"]},{"dataType":"enum","enums":["invalid_mandate_reference_prefix_format"]},{"dataType":"enum","enums":["invalid_number"]},{"dataType":"enum","enums":["invalid_source_usage"]},{"dataType":"enum","enums":["invalid_tax_location"]},{"dataType":"enum","enums":["invoice_no_customer_line_items"]},{"dataType":"enum","enums":["invoice_no_payment_method_types"]},{"dataType":"enum","enums":["invoice_no_subscription_line_items"]},{"dataType":"enum","enums":["invoice_not_editable"]},{"dataType":"enum","enums":["invoice_on_behalf_of_not_editable"]},{"dataType":"enum","enums":["invoice_payment_intent_requires_action"]},{"dataType":"enum","enums":["invoice_upcoming_none"]},{"dataType":"enum","enums":["livemode_mismatch"]},{"dataType":"enum","enums":["lock_timeout"]},{"dataType":"enum","enums":["missing"]},{"dataType":"enum","enums":["no_account"]},{"dataType":"enum","enums":["not_allowed_on_standard_account"]},{"dataType":"enum","enums":["out_of_inventory"]},{"dataType":"enum","enums":["ownership_declaration_not_allowed"]},{"dataType":"enum","enums":["parameter_invalid_empty"]},{"dataType":"enum","enums":["parameter_invalid_integer"]},{"dataType":"enum","enums":["parameter_invalid_string_blank"]},{"dataType":"enum","enums":["parameter_invalid_string_empty"]},{"dataType":"enum","enums":["parameter_missing"]},{"dataType":"enum","enums":["parameter_unknown"]},{"dataType":"enum","enums":["parameters_exclusive"]},{"dataType":"enum","enums":["payment_intent_action_required"]},{"dataType":"enum","enums":["payment_intent_authentication_failure"]},{"dataType":"enum","enums":["payment_intent_incompatible_payment_method"]},{"dataType":"enum","enums":["payment_intent_invalid_parameter"]},{"dataType":"enum","enums":["payment_intent_konbini_rejected_confirmation_number"]},{"dataType":"enum","enums":["payment_intent_mandate_invalid"]},{"dataType":"enum","enums":["payment_intent_payment_attempt_expired"]},{"dataType":"enum","enums":["payment_intent_payment_attempt_failed"]},{"dataType":"enum","enums":["payment_intent_unexpected_state"]},{"dataType":"enum","enums":["payment_method_bank_account_already_verified"]},{"dataType":"enum","enums":["payment_method_bank_account_blocked"]},{"dataType":"enum","enums":["payment_method_billing_details_address_missing"]},{"dataType":"enum","enums":["payment_method_configuration_failures"]},{"dataType":"enum","enums":["payment_method_currency_mismatch"]},{"dataType":"enum","enums":["payment_method_customer_decline"]},{"dataType":"enum","enums":["payment_method_invalid_parameter"]},{"dataType":"enum","enums":["payment_method_invalid_parameter_testmode"]},{"dataType":"enum","enums":["payment_method_microdeposit_failed"]},{"dataType":"enum","enums":["payment_method_microdeposit_verification_amounts_invalid"]},{"dataType":"enum","enums":["payment_method_microdeposit_verification_amounts_mismatch"]},{"dataType":"enum","enums":["payment_method_microdeposit_verification_attempts_exceeded"]},{"dataType":"enum","enums":["payment_method_microdeposit_verification_descriptor_code_mismatch"]},{"dataType":"enum","enums":["payment_method_microdeposit_verification_timeout"]},{"dataType":"enum","enums":["payment_method_not_available"]},{"dataType":"enum","enums":["payment_method_provider_decline"]},{"dataType":"enum","enums":["payment_method_provider_timeout"]},{"dataType":"enum","enums":["payment_method_unactivated"]},{"dataType":"enum","enums":["payment_method_unexpected_state"]},{"dataType":"enum","enums":["payment_method_unsupported_type"]},{"dataType":"enum","enums":["payout_reconciliation_not_ready"]},{"dataType":"enum","enums":["payouts_limit_exceeded"]},{"dataType":"enum","enums":["payouts_not_allowed"]},{"dataType":"enum","enums":["platform_account_required"]},{"dataType":"enum","enums":["platform_api_key_expired"]},{"dataType":"enum","enums":["postal_code_invalid"]},{"dataType":"enum","enums":["processing_error"]},{"dataType":"enum","enums":["product_inactive"]},{"dataType":"enum","enums":["progressive_onboarding_limit_exceeded"]},{"dataType":"enum","enums":["rate_limit"]},{"dataType":"enum","enums":["refer_to_customer"]},{"dataType":"enum","enums":["refund_disputed_payment"]},{"dataType":"enum","enums":["resource_already_exists"]},{"dataType":"enum","enums":["resource_missing"]},{"dataType":"enum","enums":["return_intent_already_processed"]},{"dataType":"enum","enums":["routing_number_invalid"]},{"dataType":"enum","enums":["secret_key_required"]},{"dataType":"enum","enums":["sepa_unsupported_account"]},{"dataType":"enum","enums":["setup_attempt_failed"]},{"dataType":"enum","enums":["setup_intent_authentication_failure"]},{"dataType":"enum","enums":["setup_intent_invalid_parameter"]},{"dataType":"enum","enums":["setup_intent_mandate_invalid"]},{"dataType":"enum","enums":["setup_intent_setup_attempt_expired"]},{"dataType":"enum","enums":["setup_intent_unexpected_state"]},{"dataType":"enum","enums":["shipping_address_invalid"]},{"dataType":"enum","enums":["shipping_calculation_failed"]},{"dataType":"enum","enums":["sku_inactive"]},{"dataType":"enum","enums":["state_unsupported"]},{"dataType":"enum","enums":["status_transition_invalid"]},{"dataType":"enum","enums":["stripe_tax_inactive"]},{"dataType":"enum","enums":["tax_id_invalid"]},{"dataType":"enum","enums":["taxes_calculation_failed"]},{"dataType":"enum","enums":["terminal_location_country_unsupported"]},{"dataType":"enum","enums":["terminal_reader_busy"]},{"dataType":"enum","enums":["terminal_reader_hardware_fault"]},{"dataType":"enum","enums":["terminal_reader_invalid_location_for_activation"]},{"dataType":"enum","enums":["terminal_reader_invalid_location_for_payment"]},{"dataType":"enum","enums":["terminal_reader_offline"]},{"dataType":"enum","enums":["terminal_reader_timeout"]},{"dataType":"enum","enums":["testmode_charges_only"]},{"dataType":"enum","enums":["tls_version_unsupported"]},{"dataType":"enum","enums":["token_already_used"]},{"dataType":"enum","enums":["token_card_network_invalid"]},{"dataType":"enum","enums":["token_in_use"]},{"dataType":"enum","enums":["transfer_source_balance_parameters_mismatch"]},{"dataType":"enum","enums":["transfers_not_allowed"]},{"dataType":"enum","enums":["url_invalid"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Quote.StatusTransitions": { - "dataType": "refObject", - "properties": { - "accepted_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "canceled_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "finalized_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.PaymentIntent.LastPaymentError.Type": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["api_error"]},{"dataType":"enum","enums":["card_error"]},{"dataType":"enum","enums":["idempotency_error"]},{"dataType":"enum","enums":["invalid_request_error"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Quote.SubscriptionData": { + "stripe.Stripe.PaymentIntent.LastPaymentError": { "dataType": "refObject", "properties": { - "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "effective_date": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "metadata": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Metadata"},{"dataType":"enum","enums":[null]}],"required":true}, - "trial_period_days": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "advice_code": {"dataType":"string"}, + "charge": {"dataType":"string"}, + "code": {"ref":"stripe.Stripe.PaymentIntent.LastPaymentError.Code"}, + "decline_code": {"dataType":"string"}, + "doc_url": {"dataType":"string"}, + "message": {"dataType":"string"}, + "network_advice_code": {"dataType":"string"}, + "network_decline_code": {"dataType":"string"}, + "param": {"dataType":"string"}, + "payment_intent": {"ref":"stripe.Stripe.PaymentIntent"}, + "payment_method": {"ref":"stripe.Stripe.PaymentMethod"}, + "payment_method_type": {"dataType":"string"}, + "request_log_url": {"dataType":"string"}, + "setup_intent": {"ref":"stripe.Stripe.SetupIntent"}, + "source": {"ref":"stripe.Stripe.CustomerSource"}, + "type": {"ref":"stripe.Stripe.PaymentIntent.LastPaymentError.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SubscriptionSchedule.CurrentPhase": { + "stripe.Stripe.PaymentIntent.NextAction.AlipayHandleRedirect": { "dataType": "refObject", "properties": { - "end_date": {"dataType":"double","required":true}, - "start_date": {"dataType":"double","required":true}, + "native_data": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "native_url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "return_url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SubscriptionSchedule.DefaultSettings.AutomaticTax.Liability.Type": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account"]},{"dataType":"enum","enums":["self"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SubscriptionSchedule.DefaultSettings.AutomaticTax.Liability": { + "stripe.Stripe.PaymentIntent.NextAction.BoletoDisplayDetails": { "dataType": "refObject", "properties": { - "account": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}]}, - "type": {"ref":"stripe.Stripe.SubscriptionSchedule.DefaultSettings.AutomaticTax.Liability.Type","required":true}, + "expires_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "hosted_voucher_url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "pdf": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SubscriptionSchedule.DefaultSettings.AutomaticTax": { + "stripe.Stripe.PaymentIntent.NextAction.CardAwaitNotification": { "dataType": "refObject", "properties": { - "disabled_reason": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["requires_location_inputs"]},{"dataType":"enum","enums":[null]}],"required":true}, - "enabled": {"dataType":"boolean","required":true}, - "liability": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SubscriptionSchedule.DefaultSettings.AutomaticTax.Liability"},{"dataType":"enum","enums":[null]}],"required":true}, + "charge_attempt_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "customer_approval_required": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SubscriptionSchedule.DefaultSettings.BillingCycleAnchor": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["automatic"]},{"dataType":"enum","enums":["phase_start"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SubscriptionSchedule.DefaultSettings.BillingThresholds": { + "stripe.Stripe.PaymentIntent.NextAction.CashappHandleRedirectOrDisplayQrCode.QrCode": { "dataType": "refObject", "properties": { - "amount_gte": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "reset_billing_cycle_anchor": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, + "expires_at": {"dataType":"double","required":true}, + "image_url_png": {"dataType":"string","required":true}, + "image_url_svg": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SubscriptionSchedule.DefaultSettings.CollectionMethod": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["charge_automatically"]},{"dataType":"enum","enums":["send_invoice"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SubscriptionSchedule.DefaultSettings.InvoiceSettings.Issuer.Type": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account"]},{"dataType":"enum","enums":["self"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SubscriptionSchedule.DefaultSettings.InvoiceSettings.Issuer": { + "stripe.Stripe.PaymentIntent.NextAction.CashappHandleRedirectOrDisplayQrCode": { "dataType": "refObject", "properties": { - "account": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}]}, - "type": {"ref":"stripe.Stripe.SubscriptionSchedule.DefaultSettings.InvoiceSettings.Issuer.Type","required":true}, + "hosted_instructions_url": {"dataType":"string","required":true}, + "mobile_auth_url": {"dataType":"string","required":true}, + "qr_code": {"ref":"stripe.Stripe.PaymentIntent.NextAction.CashappHandleRedirectOrDisplayQrCode.QrCode","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SubscriptionSchedule.DefaultSettings.InvoiceSettings": { + "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Aba": { "dataType": "refObject", "properties": { - "account_tax_ids": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TaxId"},{"ref":"stripe.Stripe.DeletedTaxId"}]}},{"dataType":"enum","enums":[null]}],"required":true}, - "days_until_due": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "issuer": {"ref":"stripe.Stripe.SubscriptionSchedule.DefaultSettings.InvoiceSettings.Issuer","required":true}, + "account_holder_address": {"ref":"stripe.Stripe.Address","required":true}, + "account_holder_name": {"dataType":"string","required":true}, + "account_number": {"dataType":"string","required":true}, + "account_type": {"dataType":"string","required":true}, + "bank_address": {"ref":"stripe.Stripe.Address","required":true}, + "bank_name": {"dataType":"string","required":true}, + "routing_number": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SubscriptionSchedule.DefaultSettings.TransferData": { + "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Iban": { "dataType": "refObject", "properties": { - "amount_percent": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "destination": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}],"required":true}, + "account_holder_address": {"ref":"stripe.Stripe.Address","required":true}, + "account_holder_name": {"dataType":"string","required":true}, + "bank_address": {"ref":"stripe.Stripe.Address","required":true}, + "bic": {"dataType":"string","required":true}, + "country": {"dataType":"string","required":true}, + "iban": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SubscriptionSchedule.DefaultSettings": { + "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.SortCode": { "dataType": "refObject", "properties": { - "application_fee_percent": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "automatic_tax": {"ref":"stripe.Stripe.SubscriptionSchedule.DefaultSettings.AutomaticTax"}, - "billing_cycle_anchor": {"ref":"stripe.Stripe.SubscriptionSchedule.DefaultSettings.BillingCycleAnchor","required":true}, - "billing_thresholds": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SubscriptionSchedule.DefaultSettings.BillingThresholds"},{"dataType":"enum","enums":[null]}],"required":true}, - "collection_method": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SubscriptionSchedule.DefaultSettings.CollectionMethod"},{"dataType":"enum","enums":[null]}],"required":true}, - "default_payment_method": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentMethod"},{"dataType":"enum","enums":[null]}],"required":true}, - "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "invoice_settings": {"ref":"stripe.Stripe.SubscriptionSchedule.DefaultSettings.InvoiceSettings","required":true}, - "on_behalf_of": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"},{"dataType":"enum","enums":[null]}],"required":true}, - "transfer_data": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SubscriptionSchedule.DefaultSettings.TransferData"},{"dataType":"enum","enums":[null]}],"required":true}, + "account_holder_address": {"ref":"stripe.Stripe.Address","required":true}, + "account_holder_name": {"dataType":"string","required":true}, + "account_number": {"dataType":"string","required":true}, + "bank_address": {"ref":"stripe.Stripe.Address","required":true}, + "sort_code": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SubscriptionSchedule.EndBehavior": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["cancel"]},{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["release"]},{"dataType":"enum","enums":["renew"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SubscriptionSchedule.Phase.AddInvoiceItem.Discount": { + "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Spei": { "dataType": "refObject", "properties": { - "coupon": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Coupon"},{"dataType":"enum","enums":[null]}],"required":true}, - "discount": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Discount"},{"dataType":"enum","enums":[null]}],"required":true}, - "promotion_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PromotionCode"},{"dataType":"enum","enums":[null]}],"required":true}, + "account_holder_address": {"ref":"stripe.Stripe.Address","required":true}, + "account_holder_name": {"dataType":"string","required":true}, + "bank_address": {"ref":"stripe.Stripe.Address","required":true}, + "bank_code": {"dataType":"string","required":true}, + "bank_name": {"dataType":"string","required":true}, + "clabe": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.DeletedPrice": { - "dataType": "refObject", - "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["price"],"required":true}, - "deleted": {"dataType":"enum","enums":[true],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.SupportedNetwork": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["ach"]},{"dataType":"enum","enums":["bacs"]},{"dataType":"enum","enums":["domestic_wire_us"]},{"dataType":"enum","enums":["fps"]},{"dataType":"enum","enums":["sepa"]},{"dataType":"enum","enums":["spei"]},{"dataType":"enum","enums":["swift"]},{"dataType":"enum","enums":["zengin"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SubscriptionSchedule.Phase.AddInvoiceItem": { + "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Swift": { "dataType": "refObject", "properties": { - "discounts": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.SubscriptionSchedule.Phase.AddInvoiceItem.Discount"},"required":true}, - "price": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Price"},{"ref":"stripe.Stripe.DeletedPrice"}],"required":true}, - "quantity": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "tax_rates": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.TaxRate"}},{"dataType":"enum","enums":[null]}]}, + "account_holder_address": {"ref":"stripe.Stripe.Address","required":true}, + "account_holder_name": {"dataType":"string","required":true}, + "account_number": {"dataType":"string","required":true}, + "account_type": {"dataType":"string","required":true}, + "bank_address": {"ref":"stripe.Stripe.Address","required":true}, + "bank_name": {"dataType":"string","required":true}, + "swift_code": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SubscriptionSchedule.Phase.AutomaticTax.Liability.Type": { + "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Type": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account"]},{"dataType":"enum","enums":["self"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["aba"]},{"dataType":"enum","enums":["iban"]},{"dataType":"enum","enums":["sort_code"]},{"dataType":"enum","enums":["spei"]},{"dataType":"enum","enums":["swift"]},{"dataType":"enum","enums":["zengin"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SubscriptionSchedule.Phase.AutomaticTax.Liability": { + "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Zengin": { "dataType": "refObject", "properties": { - "account": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}]}, - "type": {"ref":"stripe.Stripe.SubscriptionSchedule.Phase.AutomaticTax.Liability.Type","required":true}, + "account_holder_address": {"ref":"stripe.Stripe.Address","required":true}, + "account_holder_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "account_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "account_type": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "bank_address": {"ref":"stripe.Stripe.Address","required":true}, + "bank_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "branch_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "branch_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SubscriptionSchedule.Phase.AutomaticTax": { + "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress": { "dataType": "refObject", "properties": { - "disabled_reason": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["requires_location_inputs"]},{"dataType":"enum","enums":[null]}],"required":true}, - "enabled": {"dataType":"boolean","required":true}, - "liability": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SubscriptionSchedule.Phase.AutomaticTax.Liability"},{"dataType":"enum","enums":[null]}],"required":true}, + "aba": {"ref":"stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Aba"}, + "iban": {"ref":"stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Iban"}, + "sort_code": {"ref":"stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.SortCode"}, + "spei": {"ref":"stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Spei"}, + "supported_networks": {"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.SupportedNetwork"}}, + "swift": {"ref":"stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Swift"}, + "type": {"ref":"stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Type","required":true}, + "zengin": {"ref":"stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Zengin"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SubscriptionSchedule.Phase.BillingCycleAnchor": { + "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.Type": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["automatic"]},{"dataType":"enum","enums":["phase_start"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["eu_bank_transfer"]},{"dataType":"enum","enums":["gb_bank_transfer"]},{"dataType":"enum","enums":["jp_bank_transfer"]},{"dataType":"enum","enums":["mx_bank_transfer"]},{"dataType":"enum","enums":["us_bank_transfer"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SubscriptionSchedule.Phase.BillingThresholds": { + "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions": { "dataType": "refObject", "properties": { - "amount_gte": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "reset_billing_cycle_anchor": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, + "amount_remaining": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "currency": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "financial_addresses": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress"}}, + "hosted_instructions_url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "type": {"ref":"stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SubscriptionSchedule.Phase.CollectionMethod": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["charge_automatically"]},{"dataType":"enum","enums":["send_invoice"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.DeletedCoupon": { + "stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails.Stores.Familymart": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["coupon"],"required":true}, - "deleted": {"dataType":"enum","enums":[true],"required":true}, + "confirmation_number": {"dataType":"string"}, + "payment_code": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SubscriptionSchedule.Phase.Discount": { + "stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails.Stores.Lawson": { "dataType": "refObject", "properties": { - "coupon": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Coupon"},{"dataType":"enum","enums":[null]}],"required":true}, - "discount": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Discount"},{"dataType":"enum","enums":[null]}],"required":true}, - "promotion_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PromotionCode"},{"dataType":"enum","enums":[null]}],"required":true}, + "confirmation_number": {"dataType":"string"}, + "payment_code": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SubscriptionSchedule.Phase.InvoiceSettings.Issuer.Type": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account"]},{"dataType":"enum","enums":["self"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SubscriptionSchedule.Phase.InvoiceSettings.Issuer": { + "stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails.Stores.Ministop": { "dataType": "refObject", "properties": { - "account": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}]}, - "type": {"ref":"stripe.Stripe.SubscriptionSchedule.Phase.InvoiceSettings.Issuer.Type","required":true}, + "confirmation_number": {"dataType":"string"}, + "payment_code": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SubscriptionSchedule.Phase.InvoiceSettings": { + "stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails.Stores.Seicomart": { "dataType": "refObject", "properties": { - "account_tax_ids": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TaxId"},{"ref":"stripe.Stripe.DeletedTaxId"}]}},{"dataType":"enum","enums":[null]}],"required":true}, - "days_until_due": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "issuer": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SubscriptionSchedule.Phase.InvoiceSettings.Issuer"},{"dataType":"enum","enums":[null]}],"required":true}, + "confirmation_number": {"dataType":"string"}, + "payment_code": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SubscriptionSchedule.Phase.Item.BillingThresholds": { + "stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails.Stores": { "dataType": "refObject", "properties": { - "usage_gte": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "familymart": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails.Stores.Familymart"},{"dataType":"enum","enums":[null]}],"required":true}, + "lawson": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails.Stores.Lawson"},{"dataType":"enum","enums":[null]}],"required":true}, + "ministop": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails.Stores.Ministop"},{"dataType":"enum","enums":[null]}],"required":true}, + "seicomart": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails.Stores.Seicomart"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SubscriptionSchedule.Phase.Item.Discount": { + "stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails": { "dataType": "refObject", "properties": { - "coupon": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Coupon"},{"dataType":"enum","enums":[null]}],"required":true}, - "discount": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Discount"},{"dataType":"enum","enums":[null]}],"required":true}, - "promotion_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PromotionCode"},{"dataType":"enum","enums":[null]}],"required":true}, + "expires_at": {"dataType":"double","required":true}, + "hosted_voucher_url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "stores": {"ref":"stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails.Stores","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.DeletedPlan": { + "stripe.Stripe.PaymentIntent.NextAction.MultibancoDisplayDetails": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["plan"],"required":true}, - "deleted": {"dataType":"enum","enums":[true],"required":true}, + "entity": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "expires_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "hosted_voucher_url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SubscriptionSchedule.Phase.Item": { + "stripe.Stripe.PaymentIntent.NextAction.OxxoDisplayDetails": { "dataType": "refObject", "properties": { - "billing_thresholds": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SubscriptionSchedule.Phase.Item.BillingThresholds"},{"dataType":"enum","enums":[null]}],"required":true}, - "discounts": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.SubscriptionSchedule.Phase.Item.Discount"},"required":true}, - "metadata": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Metadata"},{"dataType":"enum","enums":[null]}],"required":true}, - "plan": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Plan"},{"ref":"stripe.Stripe.DeletedPlan"}],"required":true}, - "price": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Price"},{"ref":"stripe.Stripe.DeletedPrice"}],"required":true}, - "quantity": {"dataType":"double"}, - "tax_rates": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.TaxRate"}},{"dataType":"enum","enums":[null]}]}, + "expires_after": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "hosted_voucher_url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SubscriptionSchedule.Phase.ProrationBehavior": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["always_invoice"]},{"dataType":"enum","enums":["create_prorations"]},{"dataType":"enum","enums":["none"]}],"validators":{}}, + "stripe.Stripe.PaymentIntent.NextAction.PaynowDisplayQrCode": { + "dataType": "refObject", + "properties": { + "data": {"dataType":"string","required":true}, + "hosted_instructions_url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "image_url_png": {"dataType":"string","required":true}, + "image_url_svg": {"dataType":"string","required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SubscriptionSchedule.Phase.TransferData": { + "stripe.Stripe.PaymentIntent.NextAction.PixDisplayQrCode": { "dataType": "refObject", "properties": { - "amount_percent": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "destination": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}],"required":true}, + "data": {"dataType":"string"}, + "expires_at": {"dataType":"double"}, + "hosted_instructions_url": {"dataType":"string"}, + "image_url_png": {"dataType":"string"}, + "image_url_svg": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SubscriptionSchedule.Phase": { + "stripe.Stripe.PaymentIntent.NextAction.PromptpayDisplayQrCode": { "dataType": "refObject", "properties": { - "add_invoice_items": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.SubscriptionSchedule.Phase.AddInvoiceItem"},"required":true}, - "application_fee_percent": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "automatic_tax": {"ref":"stripe.Stripe.SubscriptionSchedule.Phase.AutomaticTax"}, - "billing_cycle_anchor": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SubscriptionSchedule.Phase.BillingCycleAnchor"},{"dataType":"enum","enums":[null]}],"required":true}, - "billing_thresholds": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SubscriptionSchedule.Phase.BillingThresholds"},{"dataType":"enum","enums":[null]}],"required":true}, - "collection_method": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SubscriptionSchedule.Phase.CollectionMethod"},{"dataType":"enum","enums":[null]}],"required":true}, - "coupon": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Coupon"},{"ref":"stripe.Stripe.DeletedCoupon"},{"dataType":"enum","enums":[null]}],"required":true}, - "currency": {"dataType":"string","required":true}, - "default_payment_method": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentMethod"},{"dataType":"enum","enums":[null]}],"required":true}, - "default_tax_rates": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.TaxRate"}},{"dataType":"enum","enums":[null]}]}, - "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "discounts": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.SubscriptionSchedule.Phase.Discount"},"required":true}, - "end_date": {"dataType":"double","required":true}, - "invoice_settings": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SubscriptionSchedule.Phase.InvoiceSettings"},{"dataType":"enum","enums":[null]}],"required":true}, - "items": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.SubscriptionSchedule.Phase.Item"},"required":true}, - "metadata": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Metadata"},{"dataType":"enum","enums":[null]}],"required":true}, - "on_behalf_of": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"},{"dataType":"enum","enums":[null]}],"required":true}, - "proration_behavior": {"ref":"stripe.Stripe.SubscriptionSchedule.Phase.ProrationBehavior","required":true}, - "start_date": {"dataType":"double","required":true}, - "transfer_data": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SubscriptionSchedule.Phase.TransferData"},{"dataType":"enum","enums":[null]}],"required":true}, - "trial_end": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "data": {"dataType":"string","required":true}, + "hosted_instructions_url": {"dataType":"string","required":true}, + "image_url_png": {"dataType":"string","required":true}, + "image_url_svg": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SubscriptionSchedule.Status": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["canceled"]},{"dataType":"enum","enums":["completed"]},{"dataType":"enum","enums":["not_started"]},{"dataType":"enum","enums":["released"]}],"validators":{}}, + "stripe.Stripe.PaymentIntent.NextAction.RedirectToUrl": { + "dataType": "refObject", + "properties": { + "return_url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SubscriptionSchedule": { + "stripe.Stripe.PaymentIntent.NextAction.SwishHandleRedirectOrDisplayQrCode.QrCode": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["subscription_schedule"],"required":true}, - "application": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Application"},{"ref":"stripe.Stripe.DeletedApplication"},{"dataType":"enum","enums":[null]}],"required":true}, - "canceled_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "completed_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "created": {"dataType":"double","required":true}, - "current_phase": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.SubscriptionSchedule.CurrentPhase"},{"dataType":"enum","enums":[null]}],"required":true}, - "customer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Customer"},{"ref":"stripe.Stripe.DeletedCustomer"}],"required":true}, - "default_settings": {"ref":"stripe.Stripe.SubscriptionSchedule.DefaultSettings","required":true}, - "end_behavior": {"ref":"stripe.Stripe.SubscriptionSchedule.EndBehavior","required":true}, - "livemode": {"dataType":"boolean","required":true}, - "metadata": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Metadata"},{"dataType":"enum","enums":[null]}],"required":true}, - "phases": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.SubscriptionSchedule.Phase"},"required":true}, - "released_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "released_subscription": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "status": {"ref":"stripe.Stripe.SubscriptionSchedule.Status","required":true}, - "subscription": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Subscription"},{"dataType":"enum","enums":[null]}],"required":true}, - "test_clock": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TestHelpers.TestClock"},{"dataType":"enum","enums":[null]}],"required":true}, + "data": {"dataType":"string","required":true}, + "image_url_png": {"dataType":"string","required":true}, + "image_url_svg": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Quote.TotalDetails.Breakdown.Discount": { + "stripe.Stripe.PaymentIntent.NextAction.SwishHandleRedirectOrDisplayQrCode": { "dataType": "refObject", "properties": { - "amount": {"dataType":"double","required":true}, - "discount": {"ref":"stripe.Stripe.Discount","required":true}, + "hosted_instructions_url": {"dataType":"string","required":true}, + "mobile_auth_url": {"dataType":"string","required":true}, + "qr_code": {"ref":"stripe.Stripe.PaymentIntent.NextAction.SwishHandleRedirectOrDisplayQrCode.QrCode","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Quote.TotalDetails.Breakdown.Tax.TaxabilityReason": { + "stripe.Stripe.PaymentIntent.NextAction.UseStripeSdk": { + "dataType": "refObject", + "properties": { + }, + "additionalProperties": false, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.PaymentIntent.NextAction.VerifyWithMicrodeposits.MicrodepositType": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["customer_exempt"]},{"dataType":"enum","enums":["not_collecting"]},{"dataType":"enum","enums":["not_subject_to_tax"]},{"dataType":"enum","enums":["not_supported"]},{"dataType":"enum","enums":["portion_product_exempt"]},{"dataType":"enum","enums":["portion_reduced_rated"]},{"dataType":"enum","enums":["portion_standard_rated"]},{"dataType":"enum","enums":["product_exempt"]},{"dataType":"enum","enums":["product_exempt_holiday"]},{"dataType":"enum","enums":["proportionally_rated"]},{"dataType":"enum","enums":["reduced_rated"]},{"dataType":"enum","enums":["reverse_charge"]},{"dataType":"enum","enums":["standard_rated"]},{"dataType":"enum","enums":["taxable_basis_reduced"]},{"dataType":"enum","enums":["zero_rated"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["amounts"]},{"dataType":"enum","enums":["descriptor_code"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Quote.TotalDetails.Breakdown.Tax": { + "stripe.Stripe.PaymentIntent.NextAction.VerifyWithMicrodeposits": { "dataType": "refObject", "properties": { - "amount": {"dataType":"double","required":true}, - "rate": {"ref":"stripe.Stripe.TaxRate","required":true}, - "taxability_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Quote.TotalDetails.Breakdown.Tax.TaxabilityReason"},{"dataType":"enum","enums":[null]}],"required":true}, - "taxable_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "arrival_date": {"dataType":"double","required":true}, + "hosted_verification_url": {"dataType":"string","required":true}, + "microdeposit_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.NextAction.VerifyWithMicrodeposits.MicrodepositType"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Quote.TotalDetails.Breakdown": { + "stripe.Stripe.PaymentIntent.NextAction.WechatPayDisplayQrCode": { "dataType": "refObject", "properties": { - "discounts": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Quote.TotalDetails.Breakdown.Discount"},"required":true}, - "taxes": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Quote.TotalDetails.Breakdown.Tax"},"required":true}, + "data": {"dataType":"string","required":true}, + "hosted_instructions_url": {"dataType":"string","required":true}, + "image_data_url": {"dataType":"string","required":true}, + "image_url_png": {"dataType":"string","required":true}, + "image_url_svg": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Quote.TotalDetails": { + "stripe.Stripe.PaymentIntent.NextAction.WechatPayRedirectToAndroidApp": { "dataType": "refObject", "properties": { - "amount_discount": {"dataType":"double","required":true}, - "amount_shipping": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "amount_tax": {"dataType":"double","required":true}, - "breakdown": {"ref":"stripe.Stripe.Quote.TotalDetails.Breakdown"}, + "app_id": {"dataType":"string","required":true}, + "nonce_str": {"dataType":"string","required":true}, + "package": {"dataType":"string","required":true}, + "partner_id": {"dataType":"string","required":true}, + "prepay_id": {"dataType":"string","required":true}, + "sign": {"dataType":"string","required":true}, + "timestamp": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Quote.TransferData": { + "stripe.Stripe.PaymentIntent.NextAction.WechatPayRedirectToIosApp": { "dataType": "refObject", "properties": { - "amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "amount_percent": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "destination": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}],"required":true}, + "native_url": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.Rendering.Pdf.PageSize": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["a4"]},{"dataType":"enum","enums":["auto"]},{"dataType":"enum","enums":["letter"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.Rendering.Pdf": { + "stripe.Stripe.PaymentIntent.NextAction": { "dataType": "refObject", "properties": { - "page_size": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.Rendering.Pdf.PageSize"},{"dataType":"enum","enums":[null]}],"required":true}, + "alipay_handle_redirect": {"ref":"stripe.Stripe.PaymentIntent.NextAction.AlipayHandleRedirect"}, + "boleto_display_details": {"ref":"stripe.Stripe.PaymentIntent.NextAction.BoletoDisplayDetails"}, + "card_await_notification": {"ref":"stripe.Stripe.PaymentIntent.NextAction.CardAwaitNotification"}, + "cashapp_handle_redirect_or_display_qr_code": {"ref":"stripe.Stripe.PaymentIntent.NextAction.CashappHandleRedirectOrDisplayQrCode"}, + "display_bank_transfer_instructions": {"ref":"stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions"}, + "konbini_display_details": {"ref":"stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails"}, + "multibanco_display_details": {"ref":"stripe.Stripe.PaymentIntent.NextAction.MultibancoDisplayDetails"}, + "oxxo_display_details": {"ref":"stripe.Stripe.PaymentIntent.NextAction.OxxoDisplayDetails"}, + "paynow_display_qr_code": {"ref":"stripe.Stripe.PaymentIntent.NextAction.PaynowDisplayQrCode"}, + "pix_display_qr_code": {"ref":"stripe.Stripe.PaymentIntent.NextAction.PixDisplayQrCode"}, + "promptpay_display_qr_code": {"ref":"stripe.Stripe.PaymentIntent.NextAction.PromptpayDisplayQrCode"}, + "redirect_to_url": {"ref":"stripe.Stripe.PaymentIntent.NextAction.RedirectToUrl"}, + "swish_handle_redirect_or_display_qr_code": {"ref":"stripe.Stripe.PaymentIntent.NextAction.SwishHandleRedirectOrDisplayQrCode"}, + "type": {"dataType":"string","required":true}, + "use_stripe_sdk": {"ref":"stripe.Stripe.PaymentIntent.NextAction.UseStripeSdk"}, + "verify_with_microdeposits": {"ref":"stripe.Stripe.PaymentIntent.NextAction.VerifyWithMicrodeposits"}, + "wechat_pay_display_qr_code": {"ref":"stripe.Stripe.PaymentIntent.NextAction.WechatPayDisplayQrCode"}, + "wechat_pay_redirect_to_android_app": {"ref":"stripe.Stripe.PaymentIntent.NextAction.WechatPayRedirectToAndroidApp"}, + "wechat_pay_redirect_to_ios_app": {"ref":"stripe.Stripe.PaymentIntent.NextAction.WechatPayRedirectToIosApp"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.Rendering": { + "stripe.Stripe.PaymentIntent.PaymentMethodConfigurationDetails": { "dataType": "refObject", "properties": { - "amount_tax_display": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "pdf": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.Rendering.Pdf"},{"dataType":"enum","enums":[null]}],"required":true}, - "template": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "template_version": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "id": {"dataType":"string","required":true}, + "parent": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.ShippingRate.DeliveryEstimate.Maximum.Unit": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit.MandateOptions.PaymentSchedule": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["business_day"]},{"dataType":"enum","enums":["day"]},{"dataType":"enum","enums":["hour"]},{"dataType":"enum","enums":["month"]},{"dataType":"enum","enums":["week"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["combined"]},{"dataType":"enum","enums":["interval"]},{"dataType":"enum","enums":["sporadic"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.ShippingRate.DeliveryEstimate.Maximum": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit.MandateOptions.TransactionType": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["business"]},{"dataType":"enum","enums":["personal"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit.MandateOptions": { "dataType": "refObject", "properties": { - "unit": {"ref":"stripe.Stripe.ShippingRate.DeliveryEstimate.Maximum.Unit","required":true}, - "value": {"dataType":"double","required":true}, + "custom_mandate_url": {"dataType":"string"}, + "interval_description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "payment_schedule": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit.MandateOptions.PaymentSchedule"},{"dataType":"enum","enums":[null]}],"required":true}, + "transaction_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit.MandateOptions.TransactionType"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.ShippingRate.DeliveryEstimate.Minimum.Unit": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit.SetupFutureUsage": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["business_day"]},{"dataType":"enum","enums":["day"]},{"dataType":"enum","enums":["hour"]},{"dataType":"enum","enums":["month"]},{"dataType":"enum","enums":["week"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["off_session"]},{"dataType":"enum","enums":["on_session"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.ShippingRate.DeliveryEstimate.Minimum": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit.VerificationMethod": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["automatic"]},{"dataType":"enum","enums":["instant"]},{"dataType":"enum","enums":["microdeposits"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit": { "dataType": "refObject", "properties": { - "unit": {"ref":"stripe.Stripe.ShippingRate.DeliveryEstimate.Minimum.Unit","required":true}, - "value": {"dataType":"double","required":true}, + "mandate_options": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit.MandateOptions"}, + "setup_future_usage": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit.SetupFutureUsage"}, + "target_date": {"dataType":"string"}, + "verification_method": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit.VerificationMethod"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.ShippingRate.DeliveryEstimate": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Affirm": { "dataType": "refObject", "properties": { - "maximum": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.ShippingRate.DeliveryEstimate.Maximum"},{"dataType":"enum","enums":[null]}],"required":true}, - "minimum": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.ShippingRate.DeliveryEstimate.Minimum"},{"dataType":"enum","enums":[null]}],"required":true}, + "capture_method": {"dataType":"enum","enums":["manual"]}, + "preferred_locale": {"dataType":"string"}, + "setup_future_usage": {"dataType":"enum","enums":["none"]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.ShippingRate.FixedAmount.CurrencyOptions.TaxBehavior": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AfterpayClearpay": { + "dataType": "refObject", + "properties": { + "capture_method": {"dataType":"enum","enums":["manual"]}, + "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "setup_future_usage": {"dataType":"enum","enums":["none"]}, + }, + "additionalProperties": false, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Alipay.SetupFutureUsage": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["exclusive"]},{"dataType":"enum","enums":["inclusive"]},{"dataType":"enum","enums":["unspecified"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["off_session"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.ShippingRate.FixedAmount.CurrencyOptions": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Alipay": { "dataType": "refObject", "properties": { - "amount": {"dataType":"double","required":true}, - "tax_behavior": {"ref":"stripe.Stripe.ShippingRate.FixedAmount.CurrencyOptions.TaxBehavior","required":true}, + "setup_future_usage": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Alipay.SetupFutureUsage"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.ShippingRate.FixedAmount": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Alma": { "dataType": "refObject", "properties": { - "amount": {"dataType":"double","required":true}, - "currency": {"dataType":"string","required":true}, - "currency_options": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"stripe.Stripe.ShippingRate.FixedAmount.CurrencyOptions"}}, + "capture_method": {"dataType":"enum","enums":["manual"]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.ShippingRate.TaxBehavior": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AmazonPay.SetupFutureUsage": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["exclusive"]},{"dataType":"enum","enums":["inclusive"]},{"dataType":"enum","enums":["unspecified"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["off_session"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.ShippingRate": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AmazonPay": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["shipping_rate"],"required":true}, - "active": {"dataType":"boolean","required":true}, - "created": {"dataType":"double","required":true}, - "delivery_estimate": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.ShippingRate.DeliveryEstimate"},{"dataType":"enum","enums":[null]}],"required":true}, - "display_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "fixed_amount": {"ref":"stripe.Stripe.ShippingRate.FixedAmount"}, - "livemode": {"dataType":"boolean","required":true}, - "metadata": {"ref":"stripe.Stripe.Metadata","required":true}, - "tax_behavior": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.ShippingRate.TaxBehavior"},{"dataType":"enum","enums":[null]}],"required":true}, - "tax_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TaxCode"},{"dataType":"enum","enums":[null]}],"required":true}, - "type": {"dataType":"enum","enums":["fixed_amount"],"required":true}, + "capture_method": {"dataType":"enum","enums":["manual"]}, + "setup_future_usage": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.AmazonPay.SetupFutureUsage"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.ShippingCost.Tax.TaxabilityReason": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AuBecsDebit.SetupFutureUsage": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["customer_exempt"]},{"dataType":"enum","enums":["not_collecting"]},{"dataType":"enum","enums":["not_subject_to_tax"]},{"dataType":"enum","enums":["not_supported"]},{"dataType":"enum","enums":["portion_product_exempt"]},{"dataType":"enum","enums":["portion_reduced_rated"]},{"dataType":"enum","enums":["portion_standard_rated"]},{"dataType":"enum","enums":["product_exempt"]},{"dataType":"enum","enums":["product_exempt_holiday"]},{"dataType":"enum","enums":["proportionally_rated"]},{"dataType":"enum","enums":["reduced_rated"]},{"dataType":"enum","enums":["reverse_charge"]},{"dataType":"enum","enums":["standard_rated"]},{"dataType":"enum","enums":["taxable_basis_reduced"]},{"dataType":"enum","enums":["zero_rated"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["off_session"]},{"dataType":"enum","enums":["on_session"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.ShippingCost.Tax": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AuBecsDebit": { "dataType": "refObject", "properties": { - "amount": {"dataType":"double","required":true}, - "rate": {"ref":"stripe.Stripe.TaxRate","required":true}, - "taxability_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.ShippingCost.Tax.TaxabilityReason"},{"dataType":"enum","enums":[null]}],"required":true}, - "taxable_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "setup_future_usage": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.AuBecsDebit.SetupFutureUsage"}, + "target_date": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.ShippingCost": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.BacsDebit.MandateOptions": { "dataType": "refObject", "properties": { - "amount_subtotal": {"dataType":"double","required":true}, - "amount_tax": {"dataType":"double","required":true}, - "amount_total": {"dataType":"double","required":true}, - "shipping_rate": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.ShippingRate"},{"dataType":"enum","enums":[null]}],"required":true}, - "taxes": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Invoice.ShippingCost.Tax"}}, + "reference_prefix": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.ShippingDetails": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.BacsDebit.SetupFutureUsage": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["off_session"]},{"dataType":"enum","enums":["on_session"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.BacsDebit": { "dataType": "refObject", "properties": { - "address": {"ref":"stripe.Stripe.Address"}, - "carrier": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "name": {"dataType":"string"}, - "phone": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "tracking_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "mandate_options": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.BacsDebit.MandateOptions"}, + "setup_future_usage": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.BacsDebit.SetupFutureUsage"}, + "target_date": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.Status": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Bancontact.PreferredLanguage": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["draft"]},{"dataType":"enum","enums":["open"]},{"dataType":"enum","enums":["paid"]},{"dataType":"enum","enums":["uncollectible"]},{"dataType":"enum","enums":["void"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["de"]},{"dataType":"enum","enums":["en"]},{"dataType":"enum","enums":["fr"]},{"dataType":"enum","enums":["nl"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.StatusTransitions": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Bancontact.SetupFutureUsage": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["off_session"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Bancontact": { "dataType": "refObject", "properties": { - "finalized_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "marked_uncollectible_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "paid_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "voided_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "preferred_language": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Bancontact.PreferredLanguage","required":true}, + "setup_future_usage": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Bancontact.SetupFutureUsage"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.SubscriptionDetails": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Blik": { "dataType": "refObject", "properties": { - "metadata": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Metadata"},{"dataType":"enum","enums":[null]}],"required":true}, + "setup_future_usage": {"dataType":"enum","enums":["none"]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.ThresholdReason.ItemReason": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Boleto.SetupFutureUsage": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["off_session"]},{"dataType":"enum","enums":["on_session"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Boleto": { "dataType": "refObject", "properties": { - "line_item_ids": {"dataType":"array","array":{"dataType":"string"},"required":true}, - "usage_gte": {"dataType":"double","required":true}, + "expires_after_days": {"dataType":"double","required":true}, + "setup_future_usage": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Boleto.SetupFutureUsage"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.ThresholdReason": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.Installments.AvailablePlan": { "dataType": "refObject", "properties": { - "amount_gte": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "item_reasons": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Invoice.ThresholdReason.ItemReason"},"required":true}, + "count": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "interval": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["month"]},{"dataType":"enum","enums":[null]}],"required":true}, + "type": {"dataType":"enum","enums":["fixed_count"],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.TotalDiscountAmount": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.Installments.Plan": { "dataType": "refObject", "properties": { - "amount": {"dataType":"double","required":true}, - "discount": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Discount"},{"ref":"stripe.Stripe.DeletedDiscount"}],"required":true}, + "count": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "interval": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["month"]},{"dataType":"enum","enums":[null]}],"required":true}, + "type": {"dataType":"enum","enums":["fixed_count"],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.TotalPretaxCreditAmount.Type": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["credit_balance_transaction"]},{"dataType":"enum","enums":["discount"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.TotalPretaxCreditAmount": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.Installments": { "dataType": "refObject", "properties": { - "amount": {"dataType":"double","required":true}, - "credit_balance_transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Billing.CreditBalanceTransaction"},{"dataType":"enum","enums":[null]}]}, - "discount": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Discount"},{"ref":"stripe.Stripe.DeletedDiscount"}]}, - "type": {"ref":"stripe.Stripe.Invoice.TotalPretaxCreditAmount.Type","required":true}, + "available_plans": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.Installments.AvailablePlan"}},{"dataType":"enum","enums":[null]}],"required":true}, + "enabled": {"dataType":"boolean","required":true}, + "plan": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.Installments.Plan"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.TotalTaxAmount.TaxabilityReason": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.MandateOptions.AmountType": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["customer_exempt"]},{"dataType":"enum","enums":["not_collecting"]},{"dataType":"enum","enums":["not_subject_to_tax"]},{"dataType":"enum","enums":["not_supported"]},{"dataType":"enum","enums":["portion_product_exempt"]},{"dataType":"enum","enums":["portion_reduced_rated"]},{"dataType":"enum","enums":["portion_standard_rated"]},{"dataType":"enum","enums":["product_exempt"]},{"dataType":"enum","enums":["product_exempt_holiday"]},{"dataType":"enum","enums":["proportionally_rated"]},{"dataType":"enum","enums":["reduced_rated"]},{"dataType":"enum","enums":["reverse_charge"]},{"dataType":"enum","enums":["standard_rated"]},{"dataType":"enum","enums":["taxable_basis_reduced"]},{"dataType":"enum","enums":["zero_rated"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["fixed"]},{"dataType":"enum","enums":["maximum"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.TotalTaxAmount": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.MandateOptions.Interval": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["day"]},{"dataType":"enum","enums":["month"]},{"dataType":"enum","enums":["sporadic"]},{"dataType":"enum","enums":["week"]},{"dataType":"enum","enums":["year"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.MandateOptions": { "dataType": "refObject", "properties": { "amount": {"dataType":"double","required":true}, - "inclusive": {"dataType":"boolean","required":true}, - "tax_rate": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TaxRate"}],"required":true}, - "taxability_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Invoice.TotalTaxAmount.TaxabilityReason"},{"dataType":"enum","enums":[null]}],"required":true}, - "taxable_amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "amount_type": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.MandateOptions.AmountType","required":true}, + "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "end_date": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "interval": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.MandateOptions.Interval","required":true}, + "interval_count": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "reference": {"dataType":"string","required":true}, + "start_date": {"dataType":"double","required":true}, + "supported_types": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"enum","enums":["india"]}},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Invoice.TransferData": { - "dataType": "refObject", - "properties": { - "amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "destination": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.Network": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["amex"]},{"dataType":"enum","enums":["cartes_bancaires"]},{"dataType":"enum","enums":["diners"]},{"dataType":"enum","enums":["discover"]},{"dataType":"enum","enums":["eftpos_au"]},{"dataType":"enum","enums":["girocard"]},{"dataType":"enum","enums":["interac"]},{"dataType":"enum","enums":["jcb"]},{"dataType":"enum","enums":["link"]},{"dataType":"enum","enums":["mastercard"]},{"dataType":"enum","enums":["unionpay"]},{"dataType":"enum","enums":["unknown"]},{"dataType":"enum","enums":["visa"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.LastPaymentError.Code": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.RequestExtendedAuthorization": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account_closed"]},{"dataType":"enum","enums":["account_country_invalid_address"]},{"dataType":"enum","enums":["account_error_country_change_requires_additional_steps"]},{"dataType":"enum","enums":["account_information_mismatch"]},{"dataType":"enum","enums":["account_invalid"]},{"dataType":"enum","enums":["account_number_invalid"]},{"dataType":"enum","enums":["acss_debit_session_incomplete"]},{"dataType":"enum","enums":["alipay_upgrade_required"]},{"dataType":"enum","enums":["amount_too_large"]},{"dataType":"enum","enums":["amount_too_small"]},{"dataType":"enum","enums":["api_key_expired"]},{"dataType":"enum","enums":["application_fees_not_allowed"]},{"dataType":"enum","enums":["authentication_required"]},{"dataType":"enum","enums":["balance_insufficient"]},{"dataType":"enum","enums":["balance_invalid_parameter"]},{"dataType":"enum","enums":["bank_account_bad_routing_numbers"]},{"dataType":"enum","enums":["bank_account_declined"]},{"dataType":"enum","enums":["bank_account_exists"]},{"dataType":"enum","enums":["bank_account_restricted"]},{"dataType":"enum","enums":["bank_account_unusable"]},{"dataType":"enum","enums":["bank_account_unverified"]},{"dataType":"enum","enums":["bank_account_verification_failed"]},{"dataType":"enum","enums":["billing_invalid_mandate"]},{"dataType":"enum","enums":["bitcoin_upgrade_required"]},{"dataType":"enum","enums":["capture_charge_authorization_expired"]},{"dataType":"enum","enums":["capture_unauthorized_payment"]},{"dataType":"enum","enums":["card_decline_rate_limit_exceeded"]},{"dataType":"enum","enums":["card_declined"]},{"dataType":"enum","enums":["cardholder_phone_number_required"]},{"dataType":"enum","enums":["charge_already_captured"]},{"dataType":"enum","enums":["charge_already_refunded"]},{"dataType":"enum","enums":["charge_disputed"]},{"dataType":"enum","enums":["charge_exceeds_source_limit"]},{"dataType":"enum","enums":["charge_exceeds_transaction_limit"]},{"dataType":"enum","enums":["charge_expired_for_capture"]},{"dataType":"enum","enums":["charge_invalid_parameter"]},{"dataType":"enum","enums":["charge_not_refundable"]},{"dataType":"enum","enums":["clearing_code_unsupported"]},{"dataType":"enum","enums":["country_code_invalid"]},{"dataType":"enum","enums":["country_unsupported"]},{"dataType":"enum","enums":["coupon_expired"]},{"dataType":"enum","enums":["customer_max_payment_methods"]},{"dataType":"enum","enums":["customer_max_subscriptions"]},{"dataType":"enum","enums":["customer_tax_location_invalid"]},{"dataType":"enum","enums":["debit_not_authorized"]},{"dataType":"enum","enums":["email_invalid"]},{"dataType":"enum","enums":["expired_card"]},{"dataType":"enum","enums":["financial_connections_account_inactive"]},{"dataType":"enum","enums":["financial_connections_no_successful_transaction_refresh"]},{"dataType":"enum","enums":["forwarding_api_inactive"]},{"dataType":"enum","enums":["forwarding_api_invalid_parameter"]},{"dataType":"enum","enums":["forwarding_api_upstream_connection_error"]},{"dataType":"enum","enums":["forwarding_api_upstream_connection_timeout"]},{"dataType":"enum","enums":["idempotency_key_in_use"]},{"dataType":"enum","enums":["incorrect_address"]},{"dataType":"enum","enums":["incorrect_cvc"]},{"dataType":"enum","enums":["incorrect_number"]},{"dataType":"enum","enums":["incorrect_zip"]},{"dataType":"enum","enums":["instant_payouts_config_disabled"]},{"dataType":"enum","enums":["instant_payouts_currency_disabled"]},{"dataType":"enum","enums":["instant_payouts_limit_exceeded"]},{"dataType":"enum","enums":["instant_payouts_unsupported"]},{"dataType":"enum","enums":["insufficient_funds"]},{"dataType":"enum","enums":["intent_invalid_state"]},{"dataType":"enum","enums":["intent_verification_method_missing"]},{"dataType":"enum","enums":["invalid_card_type"]},{"dataType":"enum","enums":["invalid_characters"]},{"dataType":"enum","enums":["invalid_charge_amount"]},{"dataType":"enum","enums":["invalid_cvc"]},{"dataType":"enum","enums":["invalid_expiry_month"]},{"dataType":"enum","enums":["invalid_expiry_year"]},{"dataType":"enum","enums":["invalid_mandate_reference_prefix_format"]},{"dataType":"enum","enums":["invalid_number"]},{"dataType":"enum","enums":["invalid_source_usage"]},{"dataType":"enum","enums":["invalid_tax_location"]},{"dataType":"enum","enums":["invoice_no_customer_line_items"]},{"dataType":"enum","enums":["invoice_no_payment_method_types"]},{"dataType":"enum","enums":["invoice_no_subscription_line_items"]},{"dataType":"enum","enums":["invoice_not_editable"]},{"dataType":"enum","enums":["invoice_on_behalf_of_not_editable"]},{"dataType":"enum","enums":["invoice_payment_intent_requires_action"]},{"dataType":"enum","enums":["invoice_upcoming_none"]},{"dataType":"enum","enums":["livemode_mismatch"]},{"dataType":"enum","enums":["lock_timeout"]},{"dataType":"enum","enums":["missing"]},{"dataType":"enum","enums":["no_account"]},{"dataType":"enum","enums":["not_allowed_on_standard_account"]},{"dataType":"enum","enums":["out_of_inventory"]},{"dataType":"enum","enums":["ownership_declaration_not_allowed"]},{"dataType":"enum","enums":["parameter_invalid_empty"]},{"dataType":"enum","enums":["parameter_invalid_integer"]},{"dataType":"enum","enums":["parameter_invalid_string_blank"]},{"dataType":"enum","enums":["parameter_invalid_string_empty"]},{"dataType":"enum","enums":["parameter_missing"]},{"dataType":"enum","enums":["parameter_unknown"]},{"dataType":"enum","enums":["parameters_exclusive"]},{"dataType":"enum","enums":["payment_intent_action_required"]},{"dataType":"enum","enums":["payment_intent_authentication_failure"]},{"dataType":"enum","enums":["payment_intent_incompatible_payment_method"]},{"dataType":"enum","enums":["payment_intent_invalid_parameter"]},{"dataType":"enum","enums":["payment_intent_konbini_rejected_confirmation_number"]},{"dataType":"enum","enums":["payment_intent_mandate_invalid"]},{"dataType":"enum","enums":["payment_intent_payment_attempt_expired"]},{"dataType":"enum","enums":["payment_intent_payment_attempt_failed"]},{"dataType":"enum","enums":["payment_intent_unexpected_state"]},{"dataType":"enum","enums":["payment_method_bank_account_already_verified"]},{"dataType":"enum","enums":["payment_method_bank_account_blocked"]},{"dataType":"enum","enums":["payment_method_billing_details_address_missing"]},{"dataType":"enum","enums":["payment_method_configuration_failures"]},{"dataType":"enum","enums":["payment_method_currency_mismatch"]},{"dataType":"enum","enums":["payment_method_customer_decline"]},{"dataType":"enum","enums":["payment_method_invalid_parameter"]},{"dataType":"enum","enums":["payment_method_invalid_parameter_testmode"]},{"dataType":"enum","enums":["payment_method_microdeposit_failed"]},{"dataType":"enum","enums":["payment_method_microdeposit_verification_amounts_invalid"]},{"dataType":"enum","enums":["payment_method_microdeposit_verification_amounts_mismatch"]},{"dataType":"enum","enums":["payment_method_microdeposit_verification_attempts_exceeded"]},{"dataType":"enum","enums":["payment_method_microdeposit_verification_descriptor_code_mismatch"]},{"dataType":"enum","enums":["payment_method_microdeposit_verification_timeout"]},{"dataType":"enum","enums":["payment_method_not_available"]},{"dataType":"enum","enums":["payment_method_provider_decline"]},{"dataType":"enum","enums":["payment_method_provider_timeout"]},{"dataType":"enum","enums":["payment_method_unactivated"]},{"dataType":"enum","enums":["payment_method_unexpected_state"]},{"dataType":"enum","enums":["payment_method_unsupported_type"]},{"dataType":"enum","enums":["payout_reconciliation_not_ready"]},{"dataType":"enum","enums":["payouts_limit_exceeded"]},{"dataType":"enum","enums":["payouts_not_allowed"]},{"dataType":"enum","enums":["platform_account_required"]},{"dataType":"enum","enums":["platform_api_key_expired"]},{"dataType":"enum","enums":["postal_code_invalid"]},{"dataType":"enum","enums":["processing_error"]},{"dataType":"enum","enums":["product_inactive"]},{"dataType":"enum","enums":["progressive_onboarding_limit_exceeded"]},{"dataType":"enum","enums":["rate_limit"]},{"dataType":"enum","enums":["refer_to_customer"]},{"dataType":"enum","enums":["refund_disputed_payment"]},{"dataType":"enum","enums":["resource_already_exists"]},{"dataType":"enum","enums":["resource_missing"]},{"dataType":"enum","enums":["return_intent_already_processed"]},{"dataType":"enum","enums":["routing_number_invalid"]},{"dataType":"enum","enums":["secret_key_required"]},{"dataType":"enum","enums":["sepa_unsupported_account"]},{"dataType":"enum","enums":["setup_attempt_failed"]},{"dataType":"enum","enums":["setup_intent_authentication_failure"]},{"dataType":"enum","enums":["setup_intent_invalid_parameter"]},{"dataType":"enum","enums":["setup_intent_mandate_invalid"]},{"dataType":"enum","enums":["setup_intent_setup_attempt_expired"]},{"dataType":"enum","enums":["setup_intent_unexpected_state"]},{"dataType":"enum","enums":["shipping_address_invalid"]},{"dataType":"enum","enums":["shipping_calculation_failed"]},{"dataType":"enum","enums":["sku_inactive"]},{"dataType":"enum","enums":["state_unsupported"]},{"dataType":"enum","enums":["status_transition_invalid"]},{"dataType":"enum","enums":["stripe_tax_inactive"]},{"dataType":"enum","enums":["tax_id_invalid"]},{"dataType":"enum","enums":["taxes_calculation_failed"]},{"dataType":"enum","enums":["terminal_location_country_unsupported"]},{"dataType":"enum","enums":["terminal_reader_busy"]},{"dataType":"enum","enums":["terminal_reader_hardware_fault"]},{"dataType":"enum","enums":["terminal_reader_invalid_location_for_activation"]},{"dataType":"enum","enums":["terminal_reader_invalid_location_for_payment"]},{"dataType":"enum","enums":["terminal_reader_offline"]},{"dataType":"enum","enums":["terminal_reader_timeout"]},{"dataType":"enum","enums":["testmode_charges_only"]},{"dataType":"enum","enums":["tls_version_unsupported"]},{"dataType":"enum","enums":["token_already_used"]},{"dataType":"enum","enums":["token_card_network_invalid"]},{"dataType":"enum","enums":["token_in_use"]},{"dataType":"enum","enums":["transfer_source_balance_parameters_mismatch"]},{"dataType":"enum","enums":["transfers_not_allowed"]},{"dataType":"enum","enums":["url_invalid"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["if_available"]},{"dataType":"enum","enums":["never"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.LastPaymentError.Type": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.RequestIncrementalAuthorization": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["api_error"]},{"dataType":"enum","enums":["card_error"]},{"dataType":"enum","enums":["idempotency_error"]},{"dataType":"enum","enums":["invalid_request_error"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["if_available"]},{"dataType":"enum","enums":["never"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.LastPaymentError": { - "dataType": "refObject", - "properties": { - "advice_code": {"dataType":"string"}, - "charge": {"dataType":"string"}, - "code": {"ref":"stripe.Stripe.PaymentIntent.LastPaymentError.Code"}, - "decline_code": {"dataType":"string"}, - "doc_url": {"dataType":"string"}, - "message": {"dataType":"string"}, - "network_advice_code": {"dataType":"string"}, - "network_decline_code": {"dataType":"string"}, - "param": {"dataType":"string"}, - "payment_intent": {"ref":"stripe.Stripe.PaymentIntent"}, - "payment_method": {"ref":"stripe.Stripe.PaymentMethod"}, - "payment_method_type": {"dataType":"string"}, - "request_log_url": {"dataType":"string"}, - "setup_intent": {"ref":"stripe.Stripe.SetupIntent"}, - "source": {"ref":"stripe.Stripe.CustomerSource"}, - "type": {"ref":"stripe.Stripe.PaymentIntent.LastPaymentError.Type","required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.RequestMulticapture": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["if_available"]},{"dataType":"enum","enums":["never"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.NextAction.AlipayHandleRedirect": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.RequestOvercapture": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["if_available"]},{"dataType":"enum","enums":["never"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.RequestThreeDSecure": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["any"]},{"dataType":"enum","enums":["automatic"]},{"dataType":"enum","enums":["challenge"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.SetupFutureUsage": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["off_session"]},{"dataType":"enum","enums":["on_session"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card": { "dataType": "refObject", "properties": { - "native_data": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "native_url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "return_url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "capture_method": {"dataType":"enum","enums":["manual"]}, + "installments": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.Installments"},{"dataType":"enum","enums":[null]}],"required":true}, + "mandate_options": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.MandateOptions"},{"dataType":"enum","enums":[null]}],"required":true}, + "network": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.Network"},{"dataType":"enum","enums":[null]}],"required":true}, + "request_extended_authorization": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.RequestExtendedAuthorization"}, + "request_incremental_authorization": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.RequestIncrementalAuthorization"}, + "request_multicapture": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.RequestMulticapture"}, + "request_overcapture": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.RequestOvercapture"}, + "request_three_d_secure": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.RequestThreeDSecure"},{"dataType":"enum","enums":[null]}],"required":true}, + "require_cvc_recollection": {"dataType":"boolean"}, + "setup_future_usage": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.SetupFutureUsage"}, + "statement_descriptor_suffix_kana": {"dataType":"string"}, + "statement_descriptor_suffix_kanji": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.NextAction.BoletoDisplayDetails": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.CardPresent.Routing.RequestedPriority": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["domestic"]},{"dataType":"enum","enums":["international"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.CardPresent.Routing": { "dataType": "refObject", "properties": { - "expires_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "hosted_voucher_url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "pdf": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "requested_priority": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.CardPresent.Routing.RequestedPriority"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.NextAction.CardAwaitNotification": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.CardPresent": { "dataType": "refObject", "properties": { - "charge_attempt_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "customer_approval_required": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, + "request_extended_authorization": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, + "request_incremental_authorization_support": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, + "routing": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.CardPresent.Routing"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.NextAction.CashappHandleRedirectOrDisplayQrCode.QrCode": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Cashapp.SetupFutureUsage": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["off_session"]},{"dataType":"enum","enums":["on_session"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Cashapp": { "dataType": "refObject", "properties": { - "expires_at": {"dataType":"double","required":true}, - "image_url_png": {"dataType":"string","required":true}, - "image_url_svg": {"dataType":"string","required":true}, + "capture_method": {"dataType":"enum","enums":["manual"]}, + "setup_future_usage": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Cashapp.SetupFutureUsage"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.NextAction.CashappHandleRedirectOrDisplayQrCode": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer.Country": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["BE"]},{"dataType":"enum","enums":["DE"]},{"dataType":"enum","enums":["ES"]},{"dataType":"enum","enums":["FR"]},{"dataType":"enum","enums":["IE"]},{"dataType":"enum","enums":["NL"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer": { "dataType": "refObject", "properties": { - "hosted_instructions_url": {"dataType":"string","required":true}, - "mobile_auth_url": {"dataType":"string","required":true}, - "qr_code": {"ref":"stripe.Stripe.PaymentIntent.NextAction.CashappHandleRedirectOrDisplayQrCode.QrCode","required":true}, + "country": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer.Country","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Aba": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance.BankTransfer.RequestedAddressType": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["aba"]},{"dataType":"enum","enums":["iban"]},{"dataType":"enum","enums":["sepa"]},{"dataType":"enum","enums":["sort_code"]},{"dataType":"enum","enums":["spei"]},{"dataType":"enum","enums":["swift"]},{"dataType":"enum","enums":["zengin"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance.BankTransfer.Type": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["eu_bank_transfer"]},{"dataType":"enum","enums":["gb_bank_transfer"]},{"dataType":"enum","enums":["jp_bank_transfer"]},{"dataType":"enum","enums":["mx_bank_transfer"]},{"dataType":"enum","enums":["us_bank_transfer"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance.BankTransfer": { "dataType": "refObject", "properties": { - "account_holder_address": {"ref":"stripe.Stripe.Address","required":true}, - "account_holder_name": {"dataType":"string","required":true}, - "account_number": {"dataType":"string","required":true}, - "account_type": {"dataType":"string","required":true}, - "bank_address": {"ref":"stripe.Stripe.Address","required":true}, - "bank_name": {"dataType":"string","required":true}, - "routing_number": {"dataType":"string","required":true}, + "eu_bank_transfer": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer"}, + "requested_address_types": {"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance.BankTransfer.RequestedAddressType"}}, + "type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance.BankTransfer.Type"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Iban": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance": { "dataType": "refObject", "properties": { - "account_holder_address": {"ref":"stripe.Stripe.Address","required":true}, - "account_holder_name": {"dataType":"string","required":true}, - "bank_address": {"ref":"stripe.Stripe.Address","required":true}, - "bic": {"dataType":"string","required":true}, - "country": {"dataType":"string","required":true}, - "iban": {"dataType":"string","required":true}, + "bank_transfer": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance.BankTransfer"}, + "funding_type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["bank_transfer"]},{"dataType":"enum","enums":[null]}],"required":true}, + "setup_future_usage": {"dataType":"enum","enums":["none"]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.SortCode": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Eps": { "dataType": "refObject", "properties": { - "account_holder_address": {"ref":"stripe.Stripe.Address","required":true}, - "account_holder_name": {"dataType":"string","required":true}, - "account_number": {"dataType":"string","required":true}, - "bank_address": {"ref":"stripe.Stripe.Address","required":true}, - "sort_code": {"dataType":"string","required":true}, + "setup_future_usage": {"dataType":"enum","enums":["none"]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Spei": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Fpx": { "dataType": "refObject", "properties": { - "account_holder_address": {"ref":"stripe.Stripe.Address","required":true}, - "account_holder_name": {"dataType":"string","required":true}, - "bank_address": {"ref":"stripe.Stripe.Address","required":true}, - "bank_code": {"dataType":"string","required":true}, - "bank_name": {"dataType":"string","required":true}, - "clabe": {"dataType":"string","required":true}, + "setup_future_usage": {"dataType":"enum","enums":["none"]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.SupportedNetwork": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["ach"]},{"dataType":"enum","enums":["bacs"]},{"dataType":"enum","enums":["domestic_wire_us"]},{"dataType":"enum","enums":["fps"]},{"dataType":"enum","enums":["sepa"]},{"dataType":"enum","enums":["spei"]},{"dataType":"enum","enums":["swift"]},{"dataType":"enum","enums":["zengin"]}],"validators":{}}, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Giropay": { + "dataType": "refObject", + "properties": { + "setup_future_usage": {"dataType":"enum","enums":["none"]}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Swift": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Grabpay": { "dataType": "refObject", "properties": { - "account_holder_address": {"ref":"stripe.Stripe.Address","required":true}, - "account_holder_name": {"dataType":"string","required":true}, - "account_number": {"dataType":"string","required":true}, - "account_type": {"dataType":"string","required":true}, - "bank_address": {"ref":"stripe.Stripe.Address","required":true}, - "bank_name": {"dataType":"string","required":true}, - "swift_code": {"dataType":"string","required":true}, + "setup_future_usage": {"dataType":"enum","enums":["none"]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Type": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Ideal.SetupFutureUsage": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["aba"]},{"dataType":"enum","enums":["iban"]},{"dataType":"enum","enums":["sort_code"]},{"dataType":"enum","enums":["spei"]},{"dataType":"enum","enums":["swift"]},{"dataType":"enum","enums":["zengin"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["off_session"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Zengin": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Ideal": { "dataType": "refObject", "properties": { - "account_holder_address": {"ref":"stripe.Stripe.Address","required":true}, - "account_holder_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "account_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "account_type": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "bank_address": {"ref":"stripe.Stripe.Address","required":true}, - "bank_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "branch_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "branch_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "setup_future_usage": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Ideal.SetupFutureUsage"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.InteracPresent": { "dataType": "refObject", "properties": { - "aba": {"ref":"stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Aba"}, - "iban": {"ref":"stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Iban"}, - "sort_code": {"ref":"stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.SortCode"}, - "spei": {"ref":"stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Spei"}, - "supported_networks": {"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.SupportedNetwork"}}, - "swift": {"ref":"stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Swift"}, - "type": {"ref":"stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Type","required":true}, - "zengin": {"ref":"stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Zengin"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.Type": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.KakaoPay.SetupFutureUsage": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["eu_bank_transfer"]},{"dataType":"enum","enums":["gb_bank_transfer"]},{"dataType":"enum","enums":["jp_bank_transfer"]},{"dataType":"enum","enums":["mx_bank_transfer"]},{"dataType":"enum","enums":["us_bank_transfer"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["off_session"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.KakaoPay": { "dataType": "refObject", "properties": { - "amount_remaining": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "currency": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "financial_addresses": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress"}}, - "hosted_instructions_url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "type": {"ref":"stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.Type","required":true}, + "capture_method": {"dataType":"enum","enums":["manual"]}, + "setup_future_usage": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.KakaoPay.SetupFutureUsage"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails.Stores.Familymart": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Klarna": { "dataType": "refObject", "properties": { - "confirmation_number": {"dataType":"string"}, - "payment_code": {"dataType":"string","required":true}, + "capture_method": {"dataType":"enum","enums":["manual"]}, + "preferred_locale": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "setup_future_usage": {"dataType":"enum","enums":["none"]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails.Stores.Lawson": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Konbini": { "dataType": "refObject", "properties": { - "confirmation_number": {"dataType":"string"}, - "payment_code": {"dataType":"string","required":true}, + "confirmation_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "expires_after_days": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "expires_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "product_description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "setup_future_usage": {"dataType":"enum","enums":["none"]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails.Stores.Ministop": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.KrCard.SetupFutureUsage": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["off_session"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.KrCard": { "dataType": "refObject", "properties": { - "confirmation_number": {"dataType":"string"}, - "payment_code": {"dataType":"string","required":true}, + "capture_method": {"dataType":"enum","enums":["manual"]}, + "setup_future_usage": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.KrCard.SetupFutureUsage"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails.Stores.Seicomart": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Link.SetupFutureUsage": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["off_session"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Link": { "dataType": "refObject", "properties": { - "confirmation_number": {"dataType":"string"}, - "payment_code": {"dataType":"string","required":true}, + "capture_method": {"dataType":"enum","enums":["manual"]}, + "persistent_token": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "setup_future_usage": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Link.SetupFutureUsage"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails.Stores": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Mobilepay": { "dataType": "refObject", "properties": { - "familymart": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails.Stores.Familymart"},{"dataType":"enum","enums":[null]}],"required":true}, - "lawson": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails.Stores.Lawson"},{"dataType":"enum","enums":[null]}],"required":true}, - "ministop": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails.Stores.Ministop"},{"dataType":"enum","enums":[null]}],"required":true}, - "seicomart": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails.Stores.Seicomart"},{"dataType":"enum","enums":[null]}],"required":true}, + "capture_method": {"dataType":"enum","enums":["manual"]}, + "setup_future_usage": {"dataType":"enum","enums":["none"]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Multibanco": { "dataType": "refObject", "properties": { - "expires_at": {"dataType":"double","required":true}, - "hosted_voucher_url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "stores": {"ref":"stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails.Stores","required":true}, + "setup_future_usage": {"dataType":"enum","enums":["none"]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.NextAction.MultibancoDisplayDetails": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.NaverPay": { "dataType": "refObject", "properties": { - "entity": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "expires_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "hosted_voucher_url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "capture_method": {"dataType":"enum","enums":["manual"]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.NextAction.OxxoDisplayDetails": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Oxxo": { "dataType": "refObject", "properties": { - "expires_after": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "hosted_voucher_url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "expires_after_days": {"dataType":"double","required":true}, + "setup_future_usage": {"dataType":"enum","enums":["none"]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.NextAction.PaynowDisplayQrCode": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.P24": { "dataType": "refObject", "properties": { - "data": {"dataType":"string","required":true}, - "hosted_instructions_url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "image_url_png": {"dataType":"string","required":true}, - "image_url_svg": {"dataType":"string","required":true}, + "setup_future_usage": {"dataType":"enum","enums":["none"]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.NextAction.PixDisplayQrCode": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.PayByBank": { "dataType": "refObject", "properties": { - "data": {"dataType":"string"}, - "expires_at": {"dataType":"double"}, - "hosted_instructions_url": {"dataType":"string"}, - "image_url_png": {"dataType":"string"}, - "image_url_svg": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.NextAction.PromptpayDisplayQrCode": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Payco": { "dataType": "refObject", "properties": { - "data": {"dataType":"string","required":true}, - "hosted_instructions_url": {"dataType":"string","required":true}, - "image_url_png": {"dataType":"string","required":true}, - "image_url_svg": {"dataType":"string","required":true}, + "capture_method": {"dataType":"enum","enums":["manual"]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.NextAction.RedirectToUrl": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Paynow": { "dataType": "refObject", "properties": { - "return_url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "setup_future_usage": {"dataType":"enum","enums":["none"]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.NextAction.SwishHandleRedirectOrDisplayQrCode.QrCode": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Paypal.SetupFutureUsage": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["off_session"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Paypal": { "dataType": "refObject", "properties": { - "data": {"dataType":"string","required":true}, - "image_url_png": {"dataType":"string","required":true}, - "image_url_svg": {"dataType":"string","required":true}, + "capture_method": {"dataType":"enum","enums":["manual"]}, + "preferred_locale": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "setup_future_usage": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Paypal.SetupFutureUsage"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.NextAction.SwishHandleRedirectOrDisplayQrCode": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Pix": { "dataType": "refObject", "properties": { - "hosted_instructions_url": {"dataType":"string","required":true}, - "mobile_auth_url": {"dataType":"string","required":true}, - "qr_code": {"ref":"stripe.Stripe.PaymentIntent.NextAction.SwishHandleRedirectOrDisplayQrCode.QrCode","required":true}, + "expires_after_seconds": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "expires_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "setup_future_usage": {"dataType":"enum","enums":["none"]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.NextAction.UseStripeSdk": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Promptpay": { "dataType": "refObject", "properties": { + "setup_future_usage": {"dataType":"enum","enums":["none"]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.NextAction.VerifyWithMicrodeposits.MicrodepositType": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.RevolutPay.SetupFutureUsage": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["amounts"]},{"dataType":"enum","enums":["descriptor_code"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["off_session"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.NextAction.VerifyWithMicrodeposits": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.RevolutPay": { "dataType": "refObject", "properties": { - "arrival_date": {"dataType":"double","required":true}, - "hosted_verification_url": {"dataType":"string","required":true}, - "microdeposit_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.NextAction.VerifyWithMicrodeposits.MicrodepositType"},{"dataType":"enum","enums":[null]}],"required":true}, + "capture_method": {"dataType":"enum","enums":["manual"]}, + "setup_future_usage": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.RevolutPay.SetupFutureUsage"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.NextAction.WechatPayDisplayQrCode": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.SamsungPay": { "dataType": "refObject", "properties": { - "data": {"dataType":"string","required":true}, - "hosted_instructions_url": {"dataType":"string","required":true}, - "image_data_url": {"dataType":"string","required":true}, - "image_url_png": {"dataType":"string","required":true}, - "image_url_svg": {"dataType":"string","required":true}, + "capture_method": {"dataType":"enum","enums":["manual"]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.NextAction.WechatPayRedirectToAndroidApp": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.SepaDebit.MandateOptions": { "dataType": "refObject", "properties": { - "app_id": {"dataType":"string","required":true}, - "nonce_str": {"dataType":"string","required":true}, - "package": {"dataType":"string","required":true}, - "partner_id": {"dataType":"string","required":true}, - "prepay_id": {"dataType":"string","required":true}, - "sign": {"dataType":"string","required":true}, - "timestamp": {"dataType":"string","required":true}, + "reference_prefix": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.NextAction.WechatPayRedirectToIosApp": { - "dataType": "refObject", - "properties": { - "native_url": {"dataType":"string","required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.NextAction": { - "dataType": "refObject", - "properties": { - "alipay_handle_redirect": {"ref":"stripe.Stripe.PaymentIntent.NextAction.AlipayHandleRedirect"}, - "boleto_display_details": {"ref":"stripe.Stripe.PaymentIntent.NextAction.BoletoDisplayDetails"}, - "card_await_notification": {"ref":"stripe.Stripe.PaymentIntent.NextAction.CardAwaitNotification"}, - "cashapp_handle_redirect_or_display_qr_code": {"ref":"stripe.Stripe.PaymentIntent.NextAction.CashappHandleRedirectOrDisplayQrCode"}, - "display_bank_transfer_instructions": {"ref":"stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions"}, - "konbini_display_details": {"ref":"stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails"}, - "multibanco_display_details": {"ref":"stripe.Stripe.PaymentIntent.NextAction.MultibancoDisplayDetails"}, - "oxxo_display_details": {"ref":"stripe.Stripe.PaymentIntent.NextAction.OxxoDisplayDetails"}, - "paynow_display_qr_code": {"ref":"stripe.Stripe.PaymentIntent.NextAction.PaynowDisplayQrCode"}, - "pix_display_qr_code": {"ref":"stripe.Stripe.PaymentIntent.NextAction.PixDisplayQrCode"}, - "promptpay_display_qr_code": {"ref":"stripe.Stripe.PaymentIntent.NextAction.PromptpayDisplayQrCode"}, - "redirect_to_url": {"ref":"stripe.Stripe.PaymentIntent.NextAction.RedirectToUrl"}, - "swish_handle_redirect_or_display_qr_code": {"ref":"stripe.Stripe.PaymentIntent.NextAction.SwishHandleRedirectOrDisplayQrCode"}, - "type": {"dataType":"string","required":true}, - "use_stripe_sdk": {"ref":"stripe.Stripe.PaymentIntent.NextAction.UseStripeSdk"}, - "verify_with_microdeposits": {"ref":"stripe.Stripe.PaymentIntent.NextAction.VerifyWithMicrodeposits"}, - "wechat_pay_display_qr_code": {"ref":"stripe.Stripe.PaymentIntent.NextAction.WechatPayDisplayQrCode"}, - "wechat_pay_redirect_to_android_app": {"ref":"stripe.Stripe.PaymentIntent.NextAction.WechatPayRedirectToAndroidApp"}, - "wechat_pay_redirect_to_ios_app": {"ref":"stripe.Stripe.PaymentIntent.NextAction.WechatPayRedirectToIosApp"}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodConfigurationDetails": { - "dataType": "refObject", - "properties": { - "id": {"dataType":"string","required":true}, - "parent": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit.MandateOptions.PaymentSchedule": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["combined"]},{"dataType":"enum","enums":["interval"]},{"dataType":"enum","enums":["sporadic"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit.MandateOptions.TransactionType": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.SepaDebit.SetupFutureUsage": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["business"]},{"dataType":"enum","enums":["personal"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["off_session"]},{"dataType":"enum","enums":["on_session"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit.MandateOptions": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.SepaDebit": { "dataType": "refObject", "properties": { - "custom_mandate_url": {"dataType":"string"}, - "interval_description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "payment_schedule": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit.MandateOptions.PaymentSchedule"},{"dataType":"enum","enums":[null]}],"required":true}, - "transaction_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit.MandateOptions.TransactionType"},{"dataType":"enum","enums":[null]}],"required":true}, + "mandate_options": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.SepaDebit.MandateOptions"}, + "setup_future_usage": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.SepaDebit.SetupFutureUsage"}, + "target_date": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit.SetupFutureUsage": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Sofort.PreferredLanguage": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["off_session"]},{"dataType":"enum","enums":["on_session"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["de"]},{"dataType":"enum","enums":["en"]},{"dataType":"enum","enums":["es"]},{"dataType":"enum","enums":["fr"]},{"dataType":"enum","enums":["it"]},{"dataType":"enum","enums":["nl"]},{"dataType":"enum","enums":["pl"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit.VerificationMethod": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Sofort.SetupFutureUsage": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["automatic"]},{"dataType":"enum","enums":["instant"]},{"dataType":"enum","enums":["microdeposits"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["off_session"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Sofort": { "dataType": "refObject", "properties": { - "mandate_options": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit.MandateOptions"}, - "setup_future_usage": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit.SetupFutureUsage"}, - "target_date": {"dataType":"string"}, - "verification_method": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit.VerificationMethod"}, + "preferred_language": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Sofort.PreferredLanguage"},{"dataType":"enum","enums":[null]}],"required":true}, + "setup_future_usage": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Sofort.SetupFutureUsage"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Affirm": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Swish": { "dataType": "refObject", "properties": { - "capture_method": {"dataType":"enum","enums":["manual"]}, - "preferred_locale": {"dataType":"string"}, + "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, "setup_future_usage": {"dataType":"enum","enums":["none"]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AfterpayClearpay": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Twint": { "dataType": "refObject", "properties": { - "capture_method": {"dataType":"enum","enums":["manual"]}, - "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, "setup_future_usage": {"dataType":"enum","enums":["none"]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Alipay.SetupFutureUsage": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters.AccountSubcategory": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["off_session"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["checking"]},{"dataType":"enum","enums":["savings"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Alipay": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters": { "dataType": "refObject", "properties": { - "setup_future_usage": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Alipay.SetupFutureUsage"}, + "account_subcategories": {"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters.AccountSubcategory"}}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Alma": { - "dataType": "refObject", - "properties": { - "capture_method": {"dataType":"enum","enums":["manual"]}, - }, - "additionalProperties": false, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Permission": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["balances"]},{"dataType":"enum","enums":["ownership"]},{"dataType":"enum","enums":["payment_method"]},{"dataType":"enum","enums":["transactions"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AmazonPay.SetupFutureUsage": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Prefetch": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["off_session"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["balances"]},{"dataType":"enum","enums":["ownership"]},{"dataType":"enum","enums":["transactions"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AmazonPay": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections": { "dataType": "refObject", "properties": { - "capture_method": {"dataType":"enum","enums":["manual"]}, - "setup_future_usage": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.AmazonPay.SetupFutureUsage"}, + "filters": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters"}, + "permissions": {"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Permission"}}, + "prefetch": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Prefetch"}},{"dataType":"enum","enums":[null]}],"required":true}, + "return_url": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AuBecsDebit.SetupFutureUsage": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["off_session"]},{"dataType":"enum","enums":["on_session"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AuBecsDebit": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.MandateOptions": { "dataType": "refObject", "properties": { - "setup_future_usage": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.AuBecsDebit.SetupFutureUsage"}, - "target_date": {"dataType":"string"}, + "collection_method": {"dataType":"enum","enums":["paper"]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.BacsDebit.MandateOptions": { - "dataType": "refObject", - "properties": { - "reference_prefix": {"dataType":"string"}, - }, - "additionalProperties": false, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.PreferredSettlementSpeed": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["fastest"]},{"dataType":"enum","enums":["standard"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.BacsDebit.SetupFutureUsage": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.SetupFutureUsage": { "dataType": "refAlias", "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["off_session"]},{"dataType":"enum","enums":["on_session"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.BacsDebit": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.VerificationMethod": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["automatic"]},{"dataType":"enum","enums":["instant"]},{"dataType":"enum","enums":["microdeposits"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount": { "dataType": "refObject", "properties": { - "mandate_options": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.BacsDebit.MandateOptions"}, - "setup_future_usage": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.BacsDebit.SetupFutureUsage"}, + "financial_connections": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections"}, + "mandate_options": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.MandateOptions"}, + "preferred_settlement_speed": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.PreferredSettlementSpeed"}, + "setup_future_usage": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.SetupFutureUsage"}, "target_date": {"dataType":"string"}, + "verification_method": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.VerificationMethod"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Bancontact.PreferredLanguage": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["de"]},{"dataType":"enum","enums":["en"]},{"dataType":"enum","enums":["fr"]},{"dataType":"enum","enums":["nl"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Bancontact.SetupFutureUsage": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.WechatPay.Client": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["off_session"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["android"]},{"dataType":"enum","enums":["ios"]},{"dataType":"enum","enums":["web"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Bancontact": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.WechatPay": { "dataType": "refObject", "properties": { - "preferred_language": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Bancontact.PreferredLanguage","required":true}, - "setup_future_usage": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Bancontact.SetupFutureUsage"}, + "app_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "client": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.WechatPay.Client"},{"dataType":"enum","enums":[null]}],"required":true}, + "setup_future_usage": {"dataType":"enum","enums":["none"]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Blik": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Zip": { "dataType": "refObject", "properties": { "setup_future_usage": {"dataType":"enum","enums":["none"]}, @@ -12311,1062 +11680,1020 @@ const models: TsoaRoute.Models = { "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Boleto.SetupFutureUsage": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["off_session"]},{"dataType":"enum","enums":["on_session"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Boleto": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions": { "dataType": "refObject", "properties": { - "expires_after_days": {"dataType":"double","required":true}, - "setup_future_usage": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Boleto.SetupFutureUsage"}, + "acss_debit": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit"}, + "affirm": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Affirm"}, + "afterpay_clearpay": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.AfterpayClearpay"}, + "alipay": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Alipay"}, + "alma": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Alma"}, + "amazon_pay": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.AmazonPay"}, + "au_becs_debit": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.AuBecsDebit"}, + "bacs_debit": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.BacsDebit"}, + "bancontact": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Bancontact"}, + "blik": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Blik"}, + "boleto": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Boleto"}, + "card": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card"}, + "card_present": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.CardPresent"}, + "cashapp": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Cashapp"}, + "customer_balance": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance"}, + "eps": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Eps"}, + "fpx": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Fpx"}, + "giropay": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Giropay"}, + "grabpay": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Grabpay"}, + "ideal": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Ideal"}, + "interac_present": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.InteracPresent"}, + "kakao_pay": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.KakaoPay"}, + "klarna": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Klarna"}, + "konbini": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Konbini"}, + "kr_card": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.KrCard"}, + "link": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Link"}, + "mobilepay": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Mobilepay"}, + "multibanco": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Multibanco"}, + "naver_pay": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.NaverPay"}, + "oxxo": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Oxxo"}, + "p24": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.P24"}, + "pay_by_bank": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.PayByBank"}, + "payco": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Payco"}, + "paynow": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Paynow"}, + "paypal": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Paypal"}, + "pix": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Pix"}, + "promptpay": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Promptpay"}, + "revolut_pay": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.RevolutPay"}, + "samsung_pay": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.SamsungPay"}, + "sepa_debit": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.SepaDebit"}, + "sofort": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Sofort"}, + "swish": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Swish"}, + "twint": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Twint"}, + "us_bank_account": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount"}, + "wechat_pay": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.WechatPay"}, + "zip": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Zip"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.Installments.AvailablePlan": { + "stripe.Stripe.PaymentIntent.Processing.Card.CustomerNotification": { "dataType": "refObject", "properties": { - "count": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "interval": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["month"]},{"dataType":"enum","enums":[null]}],"required":true}, - "type": {"dataType":"enum","enums":["fixed_count"],"required":true}, + "approval_requested": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, + "completes_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.Installments.Plan": { + "stripe.Stripe.PaymentIntent.Processing.Card": { "dataType": "refObject", "properties": { - "count": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "interval": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["month"]},{"dataType":"enum","enums":[null]}],"required":true}, - "type": {"dataType":"enum","enums":["fixed_count"],"required":true}, + "customer_notification": {"ref":"stripe.Stripe.PaymentIntent.Processing.Card.CustomerNotification"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.Installments": { + "stripe.Stripe.PaymentIntent.Processing": { "dataType": "refObject", "properties": { - "available_plans": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.Installments.AvailablePlan"}},{"dataType":"enum","enums":[null]}],"required":true}, - "enabled": {"dataType":"boolean","required":true}, - "plan": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.Installments.Plan"},{"dataType":"enum","enums":[null]}],"required":true}, + "card": {"ref":"stripe.Stripe.PaymentIntent.Processing.Card"}, + "type": {"dataType":"enum","enums":["card"],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.MandateOptions.AmountType": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["fixed"]},{"dataType":"enum","enums":["maximum"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.MandateOptions.Interval": { + "stripe.Stripe.PaymentIntent.SetupFutureUsage": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["day"]},{"dataType":"enum","enums":["month"]},{"dataType":"enum","enums":["sporadic"]},{"dataType":"enum","enums":["week"]},{"dataType":"enum","enums":["year"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["off_session"]},{"dataType":"enum","enums":["on_session"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.MandateOptions": { + "stripe.Stripe.PaymentIntent.Shipping": { "dataType": "refObject", "properties": { - "amount": {"dataType":"double","required":true}, - "amount_type": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.MandateOptions.AmountType","required":true}, - "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "end_date": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "interval": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.MandateOptions.Interval","required":true}, - "interval_count": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "reference": {"dataType":"string","required":true}, - "start_date": {"dataType":"double","required":true}, - "supported_types": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"enum","enums":["india"]}},{"dataType":"enum","enums":[null]}],"required":true}, + "address": {"ref":"stripe.Stripe.Address"}, + "carrier": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "name": {"dataType":"string"}, + "phone": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "tracking_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.Network": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["amex"]},{"dataType":"enum","enums":["cartes_bancaires"]},{"dataType":"enum","enums":["diners"]},{"dataType":"enum","enums":["discover"]},{"dataType":"enum","enums":["eftpos_au"]},{"dataType":"enum","enums":["girocard"]},{"dataType":"enum","enums":["interac"]},{"dataType":"enum","enums":["jcb"]},{"dataType":"enum","enums":["link"]},{"dataType":"enum","enums":["mastercard"]},{"dataType":"enum","enums":["unionpay"]},{"dataType":"enum","enums":["unknown"]},{"dataType":"enum","enums":["visa"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.RequestExtendedAuthorization": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["if_available"]},{"dataType":"enum","enums":["never"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.RequestIncrementalAuthorization": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["if_available"]},{"dataType":"enum","enums":["never"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.RequestMulticapture": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["if_available"]},{"dataType":"enum","enums":["never"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.RequestOvercapture": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["if_available"]},{"dataType":"enum","enums":["never"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.RequestThreeDSecure": { + "stripe.Stripe.DeletedCustomerSource": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["any"]},{"dataType":"enum","enums":["automatic"]},{"dataType":"enum","enums":["challenge"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.DeletedBankAccount"},{"ref":"stripe.Stripe.DeletedCard"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.SetupFutureUsage": { + "stripe.Stripe.PaymentIntent.Status": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["off_session"]},{"dataType":"enum","enums":["on_session"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["canceled"]},{"dataType":"enum","enums":["processing"]},{"dataType":"enum","enums":["requires_action"]},{"dataType":"enum","enums":["requires_capture"]},{"dataType":"enum","enums":["requires_confirmation"]},{"dataType":"enum","enums":["requires_payment_method"]},{"dataType":"enum","enums":["succeeded"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card": { + "stripe.Stripe.PaymentIntent.TransferData": { "dataType": "refObject", "properties": { - "capture_method": {"dataType":"enum","enums":["manual"]}, - "installments": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.Installments"},{"dataType":"enum","enums":[null]}],"required":true}, - "mandate_options": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.MandateOptions"},{"dataType":"enum","enums":[null]}],"required":true}, - "network": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.Network"},{"dataType":"enum","enums":[null]}],"required":true}, - "request_extended_authorization": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.RequestExtendedAuthorization"}, - "request_incremental_authorization": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.RequestIncrementalAuthorization"}, - "request_multicapture": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.RequestMulticapture"}, - "request_overcapture": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.RequestOvercapture"}, - "request_three_d_secure": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.RequestThreeDSecure"},{"dataType":"enum","enums":[null]}],"required":true}, - "require_cvc_recollection": {"dataType":"boolean"}, - "setup_future_usage": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.SetupFutureUsage"}, - "statement_descriptor_suffix_kana": {"dataType":"string"}, - "statement_descriptor_suffix_kanji": {"dataType":"string"}, + "amount": {"dataType":"double"}, + "destination": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.CardPresent.Routing.RequestedPriority": { + "stripe.Stripe.SetupAttempt.SetupError.Type": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["domestic"]},{"dataType":"enum","enums":["international"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["api_error"]},{"dataType":"enum","enums":["card_error"]},{"dataType":"enum","enums":["idempotency_error"]},{"dataType":"enum","enums":["invalid_request_error"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.CardPresent.Routing": { + "stripe.Stripe.SetupAttempt.SetupError": { "dataType": "refObject", "properties": { - "requested_priority": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.CardPresent.Routing.RequestedPriority"},{"dataType":"enum","enums":[null]}],"required":true}, + "advice_code": {"dataType":"string"}, + "charge": {"dataType":"string"}, + "code": {"ref":"stripe.Stripe.SetupAttempt.SetupError.Code"}, + "decline_code": {"dataType":"string"}, + "doc_url": {"dataType":"string"}, + "message": {"dataType":"string"}, + "network_advice_code": {"dataType":"string"}, + "network_decline_code": {"dataType":"string"}, + "param": {"dataType":"string"}, + "payment_intent": {"ref":"stripe.Stripe.PaymentIntent"}, + "payment_method": {"ref":"stripe.Stripe.PaymentMethod"}, + "payment_method_type": {"dataType":"string"}, + "request_log_url": {"dataType":"string"}, + "setup_intent": {"ref":"stripe.Stripe.SetupIntent"}, + "source": {"ref":"stripe.Stripe.CustomerSource"}, + "type": {"ref":"stripe.Stripe.SetupAttempt.SetupError.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.CardPresent": { + "stripe.Stripe.PaymentMethod.Card.GeneratedFrom": { "dataType": "refObject", "properties": { - "request_extended_authorization": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, - "request_incremental_authorization_support": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, - "routing": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.CardPresent.Routing"}, + "charge": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "payment_method_details": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails"},{"dataType":"enum","enums":[null]}],"required":true}, + "setup_attempt": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.SetupAttempt"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Cashapp.SetupFutureUsage": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["off_session"]},{"dataType":"enum","enums":["on_session"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Cashapp": { + "stripe.Stripe.PaymentMethod.Card.Networks": { "dataType": "refObject", "properties": { - "capture_method": {"dataType":"enum","enums":["manual"]}, - "setup_future_usage": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Cashapp.SetupFutureUsage"}, + "available": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "preferred": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer.Country": { + "stripe.Stripe.PaymentMethod.Card.RegulatedStatus": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["BE"]},{"dataType":"enum","enums":["DE"]},{"dataType":"enum","enums":["ES"]},{"dataType":"enum","enums":["FR"]},{"dataType":"enum","enums":["IE"]},{"dataType":"enum","enums":["NL"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["regulated"]},{"dataType":"enum","enums":["unregulated"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer": { + "stripe.Stripe.PaymentMethod.Card.ThreeDSecureUsage": { "dataType": "refObject", "properties": { - "country": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer.Country","required":true}, + "supported": {"dataType":"boolean","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance.BankTransfer.RequestedAddressType": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["aba"]},{"dataType":"enum","enums":["iban"]},{"dataType":"enum","enums":["sepa"]},{"dataType":"enum","enums":["sort_code"]},{"dataType":"enum","enums":["spei"]},{"dataType":"enum","enums":["swift"]},{"dataType":"enum","enums":["zengin"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance.BankTransfer.Type": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["eu_bank_transfer"]},{"dataType":"enum","enums":["gb_bank_transfer"]},{"dataType":"enum","enums":["jp_bank_transfer"]},{"dataType":"enum","enums":["mx_bank_transfer"]},{"dataType":"enum","enums":["us_bank_transfer"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance.BankTransfer": { + "stripe.Stripe.PaymentMethod.Card.Wallet.AmexExpressCheckout": { "dataType": "refObject", "properties": { - "eu_bank_transfer": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer"}, - "requested_address_types": {"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance.BankTransfer.RequestedAddressType"}}, - "type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance.BankTransfer.Type"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance": { + "stripe.Stripe.PaymentMethod.Card.Wallet.ApplePay": { "dataType": "refObject", "properties": { - "bank_transfer": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance.BankTransfer"}, - "funding_type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["bank_transfer"]},{"dataType":"enum","enums":[null]}],"required":true}, - "setup_future_usage": {"dataType":"enum","enums":["none"]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Eps": { + "stripe.Stripe.PaymentMethod.Card.Wallet.GooglePay": { "dataType": "refObject", "properties": { - "setup_future_usage": {"dataType":"enum","enums":["none"]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Fpx": { + "stripe.Stripe.PaymentMethod.Card.Wallet.Link": { "dataType": "refObject", "properties": { - "setup_future_usage": {"dataType":"enum","enums":["none"]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Giropay": { + "stripe.Stripe.PaymentMethod.Card.Wallet.Masterpass": { "dataType": "refObject", "properties": { - "setup_future_usage": {"dataType":"enum","enums":["none"]}, + "billing_address": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Address"},{"dataType":"enum","enums":[null]}],"required":true}, + "email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "shipping_address": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Address"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Grabpay": { + "stripe.Stripe.PaymentMethod.Card.Wallet.SamsungPay": { "dataType": "refObject", "properties": { - "setup_future_usage": {"dataType":"enum","enums":["none"]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Ideal.SetupFutureUsage": { + "stripe.Stripe.PaymentMethod.Card.Wallet.Type": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["off_session"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["amex_express_checkout"]},{"dataType":"enum","enums":["apple_pay"]},{"dataType":"enum","enums":["google_pay"]},{"dataType":"enum","enums":["link"]},{"dataType":"enum","enums":["masterpass"]},{"dataType":"enum","enums":["samsung_pay"]},{"dataType":"enum","enums":["visa_checkout"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Ideal": { + "stripe.Stripe.PaymentMethod.Card.Wallet.VisaCheckout": { "dataType": "refObject", "properties": { - "setup_future_usage": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Ideal.SetupFutureUsage"}, + "billing_address": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Address"},{"dataType":"enum","enums":[null]}],"required":true}, + "email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "shipping_address": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Address"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.InteracPresent": { + "stripe.Stripe.PaymentMethod.Card.Wallet": { "dataType": "refObject", "properties": { + "amex_express_checkout": {"ref":"stripe.Stripe.PaymentMethod.Card.Wallet.AmexExpressCheckout"}, + "apple_pay": {"ref":"stripe.Stripe.PaymentMethod.Card.Wallet.ApplePay"}, + "dynamic_last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "google_pay": {"ref":"stripe.Stripe.PaymentMethod.Card.Wallet.GooglePay"}, + "link": {"ref":"stripe.Stripe.PaymentMethod.Card.Wallet.Link"}, + "masterpass": {"ref":"stripe.Stripe.PaymentMethod.Card.Wallet.Masterpass"}, + "samsung_pay": {"ref":"stripe.Stripe.PaymentMethod.Card.Wallet.SamsungPay"}, + "type": {"ref":"stripe.Stripe.PaymentMethod.Card.Wallet.Type","required":true}, + "visa_checkout": {"ref":"stripe.Stripe.PaymentMethod.Card.Wallet.VisaCheckout"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.KakaoPay.SetupFutureUsage": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["off_session"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.KakaoPay": { + "stripe.Stripe.PaymentMethod.Card": { "dataType": "refObject", "properties": { - "capture_method": {"dataType":"enum","enums":["manual"]}, - "setup_future_usage": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.KakaoPay.SetupFutureUsage"}, + "brand": {"dataType":"string","required":true}, + "checks": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.Card.Checks"},{"dataType":"enum","enums":[null]}],"required":true}, + "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "display_brand": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "exp_month": {"dataType":"double","required":true}, + "exp_year": {"dataType":"double","required":true}, + "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "funding": {"dataType":"string","required":true}, + "generated_from": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.Card.GeneratedFrom"},{"dataType":"enum","enums":[null]}],"required":true}, + "iin": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "issuer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "last4": {"dataType":"string","required":true}, + "networks": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.Card.Networks"},{"dataType":"enum","enums":[null]}],"required":true}, + "regulated_status": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.Card.RegulatedStatus"},{"dataType":"enum","enums":[null]}],"required":true}, + "three_d_secure_usage": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.Card.ThreeDSecureUsage"},{"dataType":"enum","enums":[null]}],"required":true}, + "wallet": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.Card.Wallet"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Klarna": { + "stripe.Stripe.PaymentMethod.CardPresent.Networks": { "dataType": "refObject", "properties": { - "capture_method": {"dataType":"enum","enums":["manual"]}, - "preferred_locale": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "setup_future_usage": {"dataType":"enum","enums":["none"]}, + "available": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "preferred": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Konbini": { + "stripe.Stripe.PaymentMethod.CardPresent.Offline": { "dataType": "refObject", "properties": { - "confirmation_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "expires_after_days": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "expires_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "product_description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "setup_future_usage": {"dataType":"enum","enums":["none"]}, + "stored_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["deferred"]},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.KrCard.SetupFutureUsage": { + "stripe.Stripe.PaymentMethod.CardPresent.ReadMethod": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["off_session"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.KrCard": { - "dataType": "refObject", - "properties": { - "capture_method": {"dataType":"enum","enums":["manual"]}, - "setup_future_usage": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.KrCard.SetupFutureUsage"}, - }, - "additionalProperties": false, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["contact_emv"]},{"dataType":"enum","enums":["contactless_emv"]},{"dataType":"enum","enums":["contactless_magstripe_mode"]},{"dataType":"enum","enums":["magnetic_stripe_fallback"]},{"dataType":"enum","enums":["magnetic_stripe_track2"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Link.SetupFutureUsage": { + "stripe.Stripe.PaymentMethod.CardPresent.Wallet.Type": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["off_session"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["apple_pay"]},{"dataType":"enum","enums":["google_pay"]},{"dataType":"enum","enums":["samsung_pay"]},{"dataType":"enum","enums":["unknown"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Link": { + "stripe.Stripe.PaymentMethod.CardPresent.Wallet": { "dataType": "refObject", "properties": { - "capture_method": {"dataType":"enum","enums":["manual"]}, - "persistent_token": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "setup_future_usage": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Link.SetupFutureUsage"}, + "type": {"ref":"stripe.Stripe.PaymentMethod.CardPresent.Wallet.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Mobilepay": { + "stripe.Stripe.PaymentMethod.CardPresent": { "dataType": "refObject", "properties": { - "capture_method": {"dataType":"enum","enums":["manual"]}, - "setup_future_usage": {"dataType":"enum","enums":["none"]}, + "brand": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "brand_product": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "cardholder_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "exp_month": {"dataType":"double","required":true}, + "exp_year": {"dataType":"double","required":true}, + "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "funding": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "iin": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "issuer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "networks": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.CardPresent.Networks"},{"dataType":"enum","enums":[null]}],"required":true}, + "offline": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.CardPresent.Offline"},{"dataType":"enum","enums":[null]}],"required":true}, + "preferred_locales": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, + "read_method": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.CardPresent.ReadMethod"},{"dataType":"enum","enums":[null]}],"required":true}, + "wallet": {"ref":"stripe.Stripe.PaymentMethod.CardPresent.Wallet"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Multibanco": { + "stripe.Stripe.PaymentMethod.Cashapp": { "dataType": "refObject", "properties": { - "setup_future_usage": {"dataType":"enum","enums":["none"]}, + "buyer_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "cashtag": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.NaverPay": { + "stripe.Stripe.PaymentMethod.CustomerBalance": { "dataType": "refObject", "properties": { - "capture_method": {"dataType":"enum","enums":["manual"]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Oxxo": { - "dataType": "refObject", - "properties": { - "expires_after_days": {"dataType":"double","required":true}, - "setup_future_usage": {"dataType":"enum","enums":["none"]}, - }, - "additionalProperties": false, + "stripe.Stripe.PaymentMethod.Eps.Bank": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["arzte_und_apotheker_bank"]},{"dataType":"enum","enums":["austrian_anadi_bank_ag"]},{"dataType":"enum","enums":["bank_austria"]},{"dataType":"enum","enums":["bankhaus_carl_spangler"]},{"dataType":"enum","enums":["bankhaus_schelhammer_und_schattera_ag"]},{"dataType":"enum","enums":["bawag_psk_ag"]},{"dataType":"enum","enums":["bks_bank_ag"]},{"dataType":"enum","enums":["brull_kallmus_bank_ag"]},{"dataType":"enum","enums":["btv_vier_lander_bank"]},{"dataType":"enum","enums":["capital_bank_grawe_gruppe_ag"]},{"dataType":"enum","enums":["deutsche_bank_ag"]},{"dataType":"enum","enums":["dolomitenbank"]},{"dataType":"enum","enums":["easybank_ag"]},{"dataType":"enum","enums":["erste_bank_und_sparkassen"]},{"dataType":"enum","enums":["hypo_alpeadriabank_international_ag"]},{"dataType":"enum","enums":["hypo_bank_burgenland_aktiengesellschaft"]},{"dataType":"enum","enums":["hypo_noe_lb_fur_niederosterreich_u_wien"]},{"dataType":"enum","enums":["hypo_oberosterreich_salzburg_steiermark"]},{"dataType":"enum","enums":["hypo_tirol_bank_ag"]},{"dataType":"enum","enums":["hypo_vorarlberg_bank_ag"]},{"dataType":"enum","enums":["marchfelder_bank"]},{"dataType":"enum","enums":["oberbank_ag"]},{"dataType":"enum","enums":["raiffeisen_bankengruppe_osterreich"]},{"dataType":"enum","enums":["schoellerbank_ag"]},{"dataType":"enum","enums":["sparda_bank_wien"]},{"dataType":"enum","enums":["volksbank_gruppe"]},{"dataType":"enum","enums":["volkskreditbank_ag"]},{"dataType":"enum","enums":["vr_bank_braunau"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.P24": { + "stripe.Stripe.PaymentMethod.Eps": { "dataType": "refObject", "properties": { - "setup_future_usage": {"dataType":"enum","enums":["none"]}, + "bank": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.Eps.Bank"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.PayByBank": { + "stripe.Stripe.PaymentMethod.Fpx.AccountHolderType": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["company"]},{"dataType":"enum","enums":["individual"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.PaymentMethod.Fpx.Bank": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["affin_bank"]},{"dataType":"enum","enums":["agrobank"]},{"dataType":"enum","enums":["alliance_bank"]},{"dataType":"enum","enums":["ambank"]},{"dataType":"enum","enums":["bank_islam"]},{"dataType":"enum","enums":["bank_muamalat"]},{"dataType":"enum","enums":["bank_of_china"]},{"dataType":"enum","enums":["bank_rakyat"]},{"dataType":"enum","enums":["bsn"]},{"dataType":"enum","enums":["cimb"]},{"dataType":"enum","enums":["deutsche_bank"]},{"dataType":"enum","enums":["hong_leong_bank"]},{"dataType":"enum","enums":["hsbc"]},{"dataType":"enum","enums":["kfh"]},{"dataType":"enum","enums":["maybank2e"]},{"dataType":"enum","enums":["maybank2u"]},{"dataType":"enum","enums":["ocbc"]},{"dataType":"enum","enums":["pb_enterprise"]},{"dataType":"enum","enums":["public_bank"]},{"dataType":"enum","enums":["rhb"]},{"dataType":"enum","enums":["standard_chartered"]},{"dataType":"enum","enums":["uob"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.PaymentMethod.Fpx": { "dataType": "refObject", "properties": { + "account_holder_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.Fpx.AccountHolderType"},{"dataType":"enum","enums":[null]}],"required":true}, + "bank": {"ref":"stripe.Stripe.PaymentMethod.Fpx.Bank","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Payco": { + "stripe.Stripe.PaymentMethod.Giropay": { "dataType": "refObject", "properties": { - "capture_method": {"dataType":"enum","enums":["manual"]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Paynow": { + "stripe.Stripe.PaymentMethod.Grabpay": { "dataType": "refObject", "properties": { - "setup_future_usage": {"dataType":"enum","enums":["none"]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Paypal.SetupFutureUsage": { + "stripe.Stripe.PaymentMethod.Ideal.Bank": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["off_session"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["abn_amro"]},{"dataType":"enum","enums":["asn_bank"]},{"dataType":"enum","enums":["bunq"]},{"dataType":"enum","enums":["handelsbanken"]},{"dataType":"enum","enums":["ing"]},{"dataType":"enum","enums":["knab"]},{"dataType":"enum","enums":["moneyou"]},{"dataType":"enum","enums":["n26"]},{"dataType":"enum","enums":["nn"]},{"dataType":"enum","enums":["rabobank"]},{"dataType":"enum","enums":["regiobank"]},{"dataType":"enum","enums":["revolut"]},{"dataType":"enum","enums":["sns_bank"]},{"dataType":"enum","enums":["triodos_bank"]},{"dataType":"enum","enums":["van_lanschot"]},{"dataType":"enum","enums":["yoursafe"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Paypal": { + "stripe.Stripe.PaymentMethod.Ideal.Bic": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["ABNANL2A"]},{"dataType":"enum","enums":["ASNBNL21"]},{"dataType":"enum","enums":["BITSNL2A"]},{"dataType":"enum","enums":["BUNQNL2A"]},{"dataType":"enum","enums":["FVLBNL22"]},{"dataType":"enum","enums":["HANDNL2A"]},{"dataType":"enum","enums":["INGBNL2A"]},{"dataType":"enum","enums":["KNABNL2H"]},{"dataType":"enum","enums":["MOYONL21"]},{"dataType":"enum","enums":["NNBANL2G"]},{"dataType":"enum","enums":["NTSBDEB1"]},{"dataType":"enum","enums":["RABONL2U"]},{"dataType":"enum","enums":["RBRBNL21"]},{"dataType":"enum","enums":["REVOIE23"]},{"dataType":"enum","enums":["REVOLT21"]},{"dataType":"enum","enums":["SNSBNL2A"]},{"dataType":"enum","enums":["TRIONL2U"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.PaymentMethod.Ideal": { "dataType": "refObject", "properties": { - "capture_method": {"dataType":"enum","enums":["manual"]}, - "preferred_locale": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "setup_future_usage": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Paypal.SetupFutureUsage"}, + "bank": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.Ideal.Bank"},{"dataType":"enum","enums":[null]}],"required":true}, + "bic": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.Ideal.Bic"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Pix": { + "stripe.Stripe.PaymentMethod.InteracPresent.Networks": { "dataType": "refObject", "properties": { - "expires_after_seconds": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "expires_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "setup_future_usage": {"dataType":"enum","enums":["none"]}, + "available": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "preferred": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Promptpay": { + "stripe.Stripe.PaymentMethod.InteracPresent.ReadMethod": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["contact_emv"]},{"dataType":"enum","enums":["contactless_emv"]},{"dataType":"enum","enums":["contactless_magstripe_mode"]},{"dataType":"enum","enums":["magnetic_stripe_fallback"]},{"dataType":"enum","enums":["magnetic_stripe_track2"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.PaymentMethod.InteracPresent": { "dataType": "refObject", "properties": { - "setup_future_usage": {"dataType":"enum","enums":["none"]}, + "brand": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "cardholder_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "exp_month": {"dataType":"double","required":true}, + "exp_year": {"dataType":"double","required":true}, + "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "funding": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "iin": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "issuer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "networks": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.InteracPresent.Networks"},{"dataType":"enum","enums":[null]}],"required":true}, + "preferred_locales": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, + "read_method": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.InteracPresent.ReadMethod"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.RevolutPay.SetupFutureUsage": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["off_session"]}],"validators":{}}, + "stripe.Stripe.PaymentMethod.KakaoPay": { + "dataType": "refObject", + "properties": { + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.RevolutPay": { + "stripe.Stripe.PaymentMethod.Klarna.Dob": { "dataType": "refObject", "properties": { - "capture_method": {"dataType":"enum","enums":["manual"]}, - "setup_future_usage": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.RevolutPay.SetupFutureUsage"}, + "day": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "month": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "year": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.SamsungPay": { + "stripe.Stripe.PaymentMethod.Klarna": { "dataType": "refObject", "properties": { - "capture_method": {"dataType":"enum","enums":["manual"]}, + "dob": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.Klarna.Dob"},{"dataType":"enum","enums":[null]}]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.SepaDebit.MandateOptions": { + "stripe.Stripe.PaymentMethod.Konbini": { "dataType": "refObject", "properties": { - "reference_prefix": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.SepaDebit.SetupFutureUsage": { + "stripe.Stripe.PaymentMethod.KrCard.Brand": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["off_session"]},{"dataType":"enum","enums":["on_session"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["bc"]},{"dataType":"enum","enums":["citi"]},{"dataType":"enum","enums":["hana"]},{"dataType":"enum","enums":["hyundai"]},{"dataType":"enum","enums":["jeju"]},{"dataType":"enum","enums":["jeonbuk"]},{"dataType":"enum","enums":["kakaobank"]},{"dataType":"enum","enums":["kbank"]},{"dataType":"enum","enums":["kdbbank"]},{"dataType":"enum","enums":["kookmin"]},{"dataType":"enum","enums":["kwangju"]},{"dataType":"enum","enums":["lotte"]},{"dataType":"enum","enums":["mg"]},{"dataType":"enum","enums":["nh"]},{"dataType":"enum","enums":["post"]},{"dataType":"enum","enums":["samsung"]},{"dataType":"enum","enums":["savingsbank"]},{"dataType":"enum","enums":["shinhan"]},{"dataType":"enum","enums":["shinhyup"]},{"dataType":"enum","enums":["suhyup"]},{"dataType":"enum","enums":["tossbank"]},{"dataType":"enum","enums":["woori"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.SepaDebit": { + "stripe.Stripe.PaymentMethod.KrCard": { "dataType": "refObject", "properties": { - "mandate_options": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.SepaDebit.MandateOptions"}, - "setup_future_usage": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.SepaDebit.SetupFutureUsage"}, - "target_date": {"dataType":"string"}, + "brand": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.KrCard.Brand"},{"dataType":"enum","enums":[null]}],"required":true}, + "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Sofort.PreferredLanguage": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["de"]},{"dataType":"enum","enums":["en"]},{"dataType":"enum","enums":["es"]},{"dataType":"enum","enums":["fr"]},{"dataType":"enum","enums":["it"]},{"dataType":"enum","enums":["nl"]},{"dataType":"enum","enums":["pl"]}],"validators":{}}, + "stripe.Stripe.PaymentMethod.Link": { + "dataType": "refObject", + "properties": { + "email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "persistent_token": {"dataType":"string"}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Sofort.SetupFutureUsage": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["off_session"]}],"validators":{}}, + "stripe.Stripe.PaymentMethod.Mobilepay": { + "dataType": "refObject", + "properties": { + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Sofort": { + "stripe.Stripe.PaymentMethod.Multibanco": { "dataType": "refObject", "properties": { - "preferred_language": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Sofort.PreferredLanguage"},{"dataType":"enum","enums":[null]}],"required":true}, - "setup_future_usage": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Sofort.SetupFutureUsage"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Swish": { + "stripe.Stripe.PaymentMethod.NaverPay.Funding": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["card"]},{"dataType":"enum","enums":["points"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.PaymentMethod.NaverPay": { "dataType": "refObject", "properties": { - "reference": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "setup_future_usage": {"dataType":"enum","enums":["none"]}, + "funding": {"ref":"stripe.Stripe.PaymentMethod.NaverPay.Funding","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Twint": { + "stripe.Stripe.PaymentMethod.Oxxo": { "dataType": "refObject", "properties": { - "setup_future_usage": {"dataType":"enum","enums":["none"]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters.AccountSubcategory": { + "stripe.Stripe.PaymentMethod.P24.Bank": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["checking"]},{"dataType":"enum","enums":["savings"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["alior_bank"]},{"dataType":"enum","enums":["bank_millennium"]},{"dataType":"enum","enums":["bank_nowy_bfg_sa"]},{"dataType":"enum","enums":["bank_pekao_sa"]},{"dataType":"enum","enums":["banki_spbdzielcze"]},{"dataType":"enum","enums":["blik"]},{"dataType":"enum","enums":["bnp_paribas"]},{"dataType":"enum","enums":["boz"]},{"dataType":"enum","enums":["citi_handlowy"]},{"dataType":"enum","enums":["credit_agricole"]},{"dataType":"enum","enums":["envelobank"]},{"dataType":"enum","enums":["etransfer_pocztowy24"]},{"dataType":"enum","enums":["getin_bank"]},{"dataType":"enum","enums":["ideabank"]},{"dataType":"enum","enums":["ing"]},{"dataType":"enum","enums":["inteligo"]},{"dataType":"enum","enums":["mbank_mtransfer"]},{"dataType":"enum","enums":["nest_przelew"]},{"dataType":"enum","enums":["noble_pay"]},{"dataType":"enum","enums":["pbac_z_ipko"]},{"dataType":"enum","enums":["plus_bank"]},{"dataType":"enum","enums":["santander_przelew24"]},{"dataType":"enum","enums":["tmobile_usbugi_bankowe"]},{"dataType":"enum","enums":["toyota_bank"]},{"dataType":"enum","enums":["velobank"]},{"dataType":"enum","enums":["volkswagen_bank"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters": { + "stripe.Stripe.PaymentMethod.P24": { "dataType": "refObject", "properties": { - "account_subcategories": {"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters.AccountSubcategory"}}, + "bank": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.P24.Bank"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Permission": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["balances"]},{"dataType":"enum","enums":["ownership"]},{"dataType":"enum","enums":["payment_method"]},{"dataType":"enum","enums":["transactions"]}],"validators":{}}, + "stripe.Stripe.PaymentMethod.PayByBank": { + "dataType": "refObject", + "properties": { + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Prefetch": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["balances"]},{"dataType":"enum","enums":["ownership"]},{"dataType":"enum","enums":["transactions"]}],"validators":{}}, + "stripe.Stripe.PaymentMethod.Payco": { + "dataType": "refObject", + "properties": { + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections": { + "stripe.Stripe.PaymentMethod.Paynow": { "dataType": "refObject", "properties": { - "filters": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters"}, - "permissions": {"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Permission"}}, - "prefetch": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Prefetch"}},{"dataType":"enum","enums":[null]}],"required":true}, - "return_url": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.MandateOptions": { + "stripe.Stripe.PaymentMethod.Paypal": { "dataType": "refObject", "properties": { - "collection_method": {"dataType":"enum","enums":["paper"]}, + "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "payer_email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "payer_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.PreferredSettlementSpeed": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["fastest"]},{"dataType":"enum","enums":["standard"]}],"validators":{}}, + "stripe.Stripe.PaymentMethod.Pix": { + "dataType": "refObject", + "properties": { + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.SetupFutureUsage": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["off_session"]},{"dataType":"enum","enums":["on_session"]}],"validators":{}}, + "stripe.Stripe.PaymentMethod.Promptpay": { + "dataType": "refObject", + "properties": { + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.VerificationMethod": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["automatic"]},{"dataType":"enum","enums":["instant"]},{"dataType":"enum","enums":["microdeposits"]}],"validators":{}}, + "stripe.Stripe.PaymentMethod.RadarOptions": { + "dataType": "refObject", + "properties": { + "session": {"dataType":"string"}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount": { + "stripe.Stripe.PaymentMethod.RevolutPay": { "dataType": "refObject", "properties": { - "financial_connections": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections"}, - "mandate_options": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.MandateOptions"}, - "preferred_settlement_speed": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.PreferredSettlementSpeed"}, - "setup_future_usage": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.SetupFutureUsage"}, - "target_date": {"dataType":"string"}, - "verification_method": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.VerificationMethod"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.WechatPay.Client": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["android"]},{"dataType":"enum","enums":["ios"]},{"dataType":"enum","enums":["web"]}],"validators":{}}, + "stripe.Stripe.PaymentMethod.SamsungPay": { + "dataType": "refObject", + "properties": { + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.WechatPay": { + "stripe.Stripe.PaymentMethod.SepaDebit.GeneratedFrom": { "dataType": "refObject", "properties": { - "app_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "client": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.WechatPay.Client"},{"dataType":"enum","enums":[null]}],"required":true}, - "setup_future_usage": {"dataType":"enum","enums":["none"]}, + "charge": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Charge"},{"dataType":"enum","enums":[null]}],"required":true}, + "setup_attempt": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.SetupAttempt"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Zip": { + "stripe.Stripe.PaymentMethod.SepaDebit": { "dataType": "refObject", "properties": { - "setup_future_usage": {"dataType":"enum","enums":["none"]}, + "bank_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "branch_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "generated_from": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.SepaDebit.GeneratedFrom"},{"dataType":"enum","enums":[null]}],"required":true}, + "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.PaymentMethodOptions": { + "stripe.Stripe.PaymentMethod.Sofort": { "dataType": "refObject", "properties": { - "acss_debit": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit"}, - "affirm": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Affirm"}, - "afterpay_clearpay": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.AfterpayClearpay"}, - "alipay": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Alipay"}, - "alma": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Alma"}, - "amazon_pay": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.AmazonPay"}, - "au_becs_debit": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.AuBecsDebit"}, - "bacs_debit": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.BacsDebit"}, - "bancontact": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Bancontact"}, - "blik": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Blik"}, - "boleto": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Boleto"}, - "card": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card"}, - "card_present": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.CardPresent"}, - "cashapp": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Cashapp"}, - "customer_balance": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance"}, - "eps": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Eps"}, - "fpx": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Fpx"}, - "giropay": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Giropay"}, - "grabpay": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Grabpay"}, - "ideal": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Ideal"}, - "interac_present": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.InteracPresent"}, - "kakao_pay": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.KakaoPay"}, - "klarna": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Klarna"}, - "konbini": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Konbini"}, - "kr_card": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.KrCard"}, - "link": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Link"}, - "mobilepay": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Mobilepay"}, - "multibanco": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Multibanco"}, - "naver_pay": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.NaverPay"}, - "oxxo": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Oxxo"}, - "p24": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.P24"}, - "pay_by_bank": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.PayByBank"}, - "payco": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Payco"}, - "paynow": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Paynow"}, - "paypal": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Paypal"}, - "pix": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Pix"}, - "promptpay": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Promptpay"}, - "revolut_pay": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.RevolutPay"}, - "samsung_pay": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.SamsungPay"}, - "sepa_debit": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.SepaDebit"}, - "sofort": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Sofort"}, - "swish": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Swish"}, - "twint": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Twint"}, - "us_bank_account": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount"}, - "wechat_pay": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.WechatPay"}, - "zip": {"ref":"stripe.Stripe.PaymentIntent.PaymentMethodOptions.Zip"}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.Processing.Card.CustomerNotification": { - "dataType": "refObject", - "properties": { - "approval_requested": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, - "completes_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.Processing.Card": { + "stripe.Stripe.PaymentMethod.Swish": { "dataType": "refObject", "properties": { - "customer_notification": {"ref":"stripe.Stripe.PaymentIntent.Processing.Card.CustomerNotification"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.Processing": { + "stripe.Stripe.PaymentMethod.Twint": { "dataType": "refObject", "properties": { - "card": {"ref":"stripe.Stripe.PaymentIntent.Processing.Card"}, - "type": {"dataType":"enum","enums":["card"],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.SetupFutureUsage": { + "stripe.Stripe.PaymentMethod.Type": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["off_session"]},{"dataType":"enum","enums":["on_session"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["acss_debit"]},{"dataType":"enum","enums":["affirm"]},{"dataType":"enum","enums":["afterpay_clearpay"]},{"dataType":"enum","enums":["alipay"]},{"dataType":"enum","enums":["alma"]},{"dataType":"enum","enums":["amazon_pay"]},{"dataType":"enum","enums":["au_becs_debit"]},{"dataType":"enum","enums":["bacs_debit"]},{"dataType":"enum","enums":["bancontact"]},{"dataType":"enum","enums":["blik"]},{"dataType":"enum","enums":["boleto"]},{"dataType":"enum","enums":["card"]},{"dataType":"enum","enums":["card_present"]},{"dataType":"enum","enums":["cashapp"]},{"dataType":"enum","enums":["customer_balance"]},{"dataType":"enum","enums":["eps"]},{"dataType":"enum","enums":["fpx"]},{"dataType":"enum","enums":["giropay"]},{"dataType":"enum","enums":["grabpay"]},{"dataType":"enum","enums":["ideal"]},{"dataType":"enum","enums":["interac_present"]},{"dataType":"enum","enums":["kakao_pay"]},{"dataType":"enum","enums":["klarna"]},{"dataType":"enum","enums":["konbini"]},{"dataType":"enum","enums":["kr_card"]},{"dataType":"enum","enums":["link"]},{"dataType":"enum","enums":["mobilepay"]},{"dataType":"enum","enums":["multibanco"]},{"dataType":"enum","enums":["naver_pay"]},{"dataType":"enum","enums":["oxxo"]},{"dataType":"enum","enums":["p24"]},{"dataType":"enum","enums":["pay_by_bank"]},{"dataType":"enum","enums":["payco"]},{"dataType":"enum","enums":["paynow"]},{"dataType":"enum","enums":["paypal"]},{"dataType":"enum","enums":["pix"]},{"dataType":"enum","enums":["promptpay"]},{"dataType":"enum","enums":["revolut_pay"]},{"dataType":"enum","enums":["samsung_pay"]},{"dataType":"enum","enums":["sepa_debit"]},{"dataType":"enum","enums":["sofort"]},{"dataType":"enum","enums":["swish"]},{"dataType":"enum","enums":["twint"]},{"dataType":"enum","enums":["us_bank_account"]},{"dataType":"enum","enums":["wechat_pay"]},{"dataType":"enum","enums":["zip"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.Shipping": { - "dataType": "refObject", - "properties": { - "address": {"ref":"stripe.Stripe.Address"}, - "carrier": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "name": {"dataType":"string"}, - "phone": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "tracking_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - }, - "additionalProperties": false, + "stripe.Stripe.PaymentMethod.UsBankAccount.AccountHolderType": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["company"]},{"dataType":"enum","enums":["individual"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.DeletedCustomerSource": { + "stripe.Stripe.PaymentMethod.UsBankAccount.AccountType": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.DeletedBankAccount"},{"ref":"stripe.Stripe.DeletedCard"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["checking"]},{"dataType":"enum","enums":["savings"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.Status": { + "stripe.Stripe.PaymentMethod.UsBankAccount.Networks.Supported": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["canceled"]},{"dataType":"enum","enums":["processing"]},{"dataType":"enum","enums":["requires_action"]},{"dataType":"enum","enums":["requires_capture"]},{"dataType":"enum","enums":["requires_confirmation"]},{"dataType":"enum","enums":["requires_payment_method"]},{"dataType":"enum","enums":["succeeded"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["ach"]},{"dataType":"enum","enums":["us_domestic_wire"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentIntent.TransferData": { + "stripe.Stripe.PaymentMethod.UsBankAccount.Networks": { "dataType": "refObject", "properties": { - "amount": {"dataType":"double"}, - "destination": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}],"required":true}, + "preferred": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "supported": {"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.PaymentMethod.UsBankAccount.Networks.Supported"},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt.SetupError.Type": { + "stripe.Stripe.PaymentMethod.UsBankAccount.StatusDetails.Blocked.NetworkCode": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["api_error"]},{"dataType":"enum","enums":["card_error"]},{"dataType":"enum","enums":["idempotency_error"]},{"dataType":"enum","enums":["invalid_request_error"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["R02"]},{"dataType":"enum","enums":["R03"]},{"dataType":"enum","enums":["R04"]},{"dataType":"enum","enums":["R05"]},{"dataType":"enum","enums":["R07"]},{"dataType":"enum","enums":["R08"]},{"dataType":"enum","enums":["R10"]},{"dataType":"enum","enums":["R11"]},{"dataType":"enum","enums":["R16"]},{"dataType":"enum","enums":["R20"]},{"dataType":"enum","enums":["R29"]},{"dataType":"enum","enums":["R31"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.SetupAttempt.SetupError": { + "stripe.Stripe.PaymentMethod.UsBankAccount.StatusDetails.Blocked.Reason": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["bank_account_closed"]},{"dataType":"enum","enums":["bank_account_frozen"]},{"dataType":"enum","enums":["bank_account_invalid_details"]},{"dataType":"enum","enums":["bank_account_restricted"]},{"dataType":"enum","enums":["bank_account_unusable"]},{"dataType":"enum","enums":["debit_not_authorized"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.PaymentMethod.UsBankAccount.StatusDetails.Blocked": { "dataType": "refObject", "properties": { - "advice_code": {"dataType":"string"}, - "charge": {"dataType":"string"}, - "code": {"ref":"stripe.Stripe.SetupAttempt.SetupError.Code"}, - "decline_code": {"dataType":"string"}, - "doc_url": {"dataType":"string"}, - "message": {"dataType":"string"}, - "network_advice_code": {"dataType":"string"}, - "network_decline_code": {"dataType":"string"}, - "param": {"dataType":"string"}, - "payment_intent": {"ref":"stripe.Stripe.PaymentIntent"}, - "payment_method": {"ref":"stripe.Stripe.PaymentMethod"}, - "payment_method_type": {"dataType":"string"}, - "request_log_url": {"dataType":"string"}, - "setup_intent": {"ref":"stripe.Stripe.SetupIntent"}, - "source": {"ref":"stripe.Stripe.CustomerSource"}, - "type": {"ref":"stripe.Stripe.SetupAttempt.SetupError.Type","required":true}, + "network_code": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.UsBankAccount.StatusDetails.Blocked.NetworkCode"},{"dataType":"enum","enums":[null]}],"required":true}, + "reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.UsBankAccount.StatusDetails.Blocked.Reason"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Card.GeneratedFrom": { + "stripe.Stripe.PaymentMethod.UsBankAccount.StatusDetails": { "dataType": "refObject", "properties": { - "charge": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "payment_method_details": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails"},{"dataType":"enum","enums":[null]}],"required":true}, - "setup_attempt": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.SetupAttempt"},{"dataType":"enum","enums":[null]}],"required":true}, + "blocked": {"ref":"stripe.Stripe.PaymentMethod.UsBankAccount.StatusDetails.Blocked"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Card.Networks": { + "stripe.Stripe.PaymentMethod.UsBankAccount": { "dataType": "refObject", "properties": { - "available": {"dataType":"array","array":{"dataType":"string"},"required":true}, - "preferred": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "account_holder_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.UsBankAccount.AccountHolderType"},{"dataType":"enum","enums":[null]}],"required":true}, + "account_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.UsBankAccount.AccountType"},{"dataType":"enum","enums":[null]}],"required":true}, + "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "financial_connections_account": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "networks": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.UsBankAccount.Networks"},{"dataType":"enum","enums":[null]}],"required":true}, + "routing_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "status_details": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.UsBankAccount.StatusDetails"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Card.RegulatedStatus": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["regulated"]},{"dataType":"enum","enums":["unregulated"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Card.ThreeDSecureUsage": { + "stripe.Stripe.PaymentMethod.WechatPay": { "dataType": "refObject", "properties": { - "supported": {"dataType":"boolean","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Card.Wallet.AmexExpressCheckout": { + "stripe.Stripe.PaymentMethod.Zip": { "dataType": "refObject", "properties": { }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Card.Wallet.ApplePay": { + "stripe.Stripe.Customer.InvoiceSettings.RenderingOptions": { "dataType": "refObject", "properties": { + "amount_tax_display": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "template": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Card.Wallet.GooglePay": { + "stripe.Stripe.Customer.InvoiceSettings": { "dataType": "refObject", "properties": { + "custom_fields": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Customer.InvoiceSettings.CustomField"}},{"dataType":"enum","enums":[null]}],"required":true}, + "default_payment_method": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentMethod"},{"dataType":"enum","enums":[null]}],"required":true}, + "footer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "rendering_options": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Customer.InvoiceSettings.RenderingOptions"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Card.Wallet.Link": { + "stripe.Stripe.Customer.Shipping": { "dataType": "refObject", "properties": { + "address": {"ref":"stripe.Stripe.Address"}, + "carrier": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "name": {"dataType":"string"}, + "phone": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "tracking_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Card.Wallet.Masterpass": { + "stripe.Stripe.ApiList_stripe.Stripe.CustomerSource_": { "dataType": "refObject", "properties": { - "billing_address": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Address"},{"dataType":"enum","enums":[null]}],"required":true}, - "email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "shipping_address": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Address"},{"dataType":"enum","enums":[null]}],"required":true}, + "object": {"dataType":"enum","enums":["list"],"required":true}, + "data": {"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.CustomerSource"},"required":true}, + "has_more": {"dataType":"boolean","required":true}, + "url": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Card.Wallet.SamsungPay": { + "stripe.Stripe.ApiList_stripe.Stripe.Subscription_": { "dataType": "refObject", "properties": { + "object": {"dataType":"enum","enums":["list"],"required":true}, + "data": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Subscription"},"required":true}, + "has_more": {"dataType":"boolean","required":true}, + "url": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Card.Wallet.Type": { + "stripe.Stripe.Customer.Tax.AutomaticTax": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["amex_express_checkout"]},{"dataType":"enum","enums":["apple_pay"]},{"dataType":"enum","enums":["google_pay"]},{"dataType":"enum","enums":["link"]},{"dataType":"enum","enums":["masterpass"]},{"dataType":"enum","enums":["samsung_pay"]},{"dataType":"enum","enums":["visa_checkout"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["failed"]},{"dataType":"enum","enums":["not_collecting"]},{"dataType":"enum","enums":["supported"]},{"dataType":"enum","enums":["unrecognized_location"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Card.Wallet.VisaCheckout": { + "stripe.Stripe.Customer.Tax.Location.Source": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["billing_address"]},{"dataType":"enum","enums":["ip_address"]},{"dataType":"enum","enums":["payment_method"]},{"dataType":"enum","enums":["shipping_destination"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Customer.Tax.Location": { "dataType": "refObject", "properties": { - "billing_address": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Address"},{"dataType":"enum","enums":[null]}],"required":true}, - "email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "shipping_address": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Address"},{"dataType":"enum","enums":[null]}],"required":true}, + "country": {"dataType":"string","required":true}, + "source": {"ref":"stripe.Stripe.Customer.Tax.Location.Source","required":true}, + "state": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Card.Wallet": { + "stripe.Stripe.Customer.Tax": { "dataType": "refObject", "properties": { - "amex_express_checkout": {"ref":"stripe.Stripe.PaymentMethod.Card.Wallet.AmexExpressCheckout"}, - "apple_pay": {"ref":"stripe.Stripe.PaymentMethod.Card.Wallet.ApplePay"}, - "dynamic_last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "google_pay": {"ref":"stripe.Stripe.PaymentMethod.Card.Wallet.GooglePay"}, - "link": {"ref":"stripe.Stripe.PaymentMethod.Card.Wallet.Link"}, - "masterpass": {"ref":"stripe.Stripe.PaymentMethod.Card.Wallet.Masterpass"}, - "samsung_pay": {"ref":"stripe.Stripe.PaymentMethod.Card.Wallet.SamsungPay"}, - "type": {"ref":"stripe.Stripe.PaymentMethod.Card.Wallet.Type","required":true}, - "visa_checkout": {"ref":"stripe.Stripe.PaymentMethod.Card.Wallet.VisaCheckout"}, + "automatic_tax": {"ref":"stripe.Stripe.Customer.Tax.AutomaticTax","required":true}, + "ip_address": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "location": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Customer.Tax.Location"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Card": { + "stripe.Stripe.Customer.TaxExempt": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["exempt"]},{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["reverse"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.ApiList_stripe.Stripe.TaxId_": { "dataType": "refObject", "properties": { - "brand": {"dataType":"string","required":true}, - "checks": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.Card.Checks"},{"dataType":"enum","enums":[null]}],"required":true}, - "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "display_brand": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "exp_month": {"dataType":"double","required":true}, - "exp_year": {"dataType":"double","required":true}, - "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "funding": {"dataType":"string","required":true}, - "generated_from": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.Card.GeneratedFrom"},{"dataType":"enum","enums":[null]}],"required":true}, - "iin": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "issuer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "last4": {"dataType":"string","required":true}, - "networks": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.Card.Networks"},{"dataType":"enum","enums":[null]}],"required":true}, - "regulated_status": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.Card.RegulatedStatus"},{"dataType":"enum","enums":[null]}],"required":true}, - "three_d_secure_usage": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.Card.ThreeDSecureUsage"},{"dataType":"enum","enums":[null]}],"required":true}, - "wallet": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.Card.Wallet"},{"dataType":"enum","enums":[null]}],"required":true}, + "object": {"dataType":"enum","enums":["list"],"required":true}, + "data": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.TaxId"},"required":true}, + "has_more": {"dataType":"boolean","required":true}, + "url": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.CardPresent.Networks": { + "stripe.Stripe.BankAccount.FutureRequirements.Error.Code": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["invalid_address_city_state_postal_code"]},{"dataType":"enum","enums":["invalid_address_highway_contract_box"]},{"dataType":"enum","enums":["invalid_address_private_mailbox"]},{"dataType":"enum","enums":["invalid_business_profile_name"]},{"dataType":"enum","enums":["invalid_business_profile_name_denylisted"]},{"dataType":"enum","enums":["invalid_company_name_denylisted"]},{"dataType":"enum","enums":["invalid_dob_age_over_maximum"]},{"dataType":"enum","enums":["invalid_dob_age_under_18"]},{"dataType":"enum","enums":["invalid_dob_age_under_minimum"]},{"dataType":"enum","enums":["invalid_product_description_length"]},{"dataType":"enum","enums":["invalid_product_description_url_match"]},{"dataType":"enum","enums":["invalid_representative_country"]},{"dataType":"enum","enums":["invalid_statement_descriptor_business_mismatch"]},{"dataType":"enum","enums":["invalid_statement_descriptor_denylisted"]},{"dataType":"enum","enums":["invalid_statement_descriptor_length"]},{"dataType":"enum","enums":["invalid_statement_descriptor_prefix_denylisted"]},{"dataType":"enum","enums":["invalid_statement_descriptor_prefix_mismatch"]},{"dataType":"enum","enums":["invalid_street_address"]},{"dataType":"enum","enums":["invalid_tax_id"]},{"dataType":"enum","enums":["invalid_tax_id_format"]},{"dataType":"enum","enums":["invalid_tos_acceptance"]},{"dataType":"enum","enums":["invalid_url_denylisted"]},{"dataType":"enum","enums":["invalid_url_format"]},{"dataType":"enum","enums":["invalid_url_length"]},{"dataType":"enum","enums":["invalid_url_web_presence_detected"]},{"dataType":"enum","enums":["invalid_url_website_business_information_mismatch"]},{"dataType":"enum","enums":["invalid_url_website_empty"]},{"dataType":"enum","enums":["invalid_url_website_inaccessible"]},{"dataType":"enum","enums":["invalid_url_website_inaccessible_geoblocked"]},{"dataType":"enum","enums":["invalid_url_website_inaccessible_password_protected"]},{"dataType":"enum","enums":["invalid_url_website_incomplete"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_cancellation_policy"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_customer_service_details"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_legal_restrictions"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_refund_policy"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_return_policy"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_terms_and_conditions"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_under_construction"]},{"dataType":"enum","enums":["invalid_url_website_other"]},{"dataType":"enum","enums":["invalid_value_other"]},{"dataType":"enum","enums":["verification_directors_mismatch"]},{"dataType":"enum","enums":["verification_document_address_mismatch"]},{"dataType":"enum","enums":["verification_document_address_missing"]},{"dataType":"enum","enums":["verification_document_corrupt"]},{"dataType":"enum","enums":["verification_document_country_not_supported"]},{"dataType":"enum","enums":["verification_document_directors_mismatch"]},{"dataType":"enum","enums":["verification_document_dob_mismatch"]},{"dataType":"enum","enums":["verification_document_duplicate_type"]},{"dataType":"enum","enums":["verification_document_expired"]},{"dataType":"enum","enums":["verification_document_failed_copy"]},{"dataType":"enum","enums":["verification_document_failed_greyscale"]},{"dataType":"enum","enums":["verification_document_failed_other"]},{"dataType":"enum","enums":["verification_document_failed_test_mode"]},{"dataType":"enum","enums":["verification_document_fraudulent"]},{"dataType":"enum","enums":["verification_document_id_number_mismatch"]},{"dataType":"enum","enums":["verification_document_id_number_missing"]},{"dataType":"enum","enums":["verification_document_incomplete"]},{"dataType":"enum","enums":["verification_document_invalid"]},{"dataType":"enum","enums":["verification_document_issue_or_expiry_date_missing"]},{"dataType":"enum","enums":["verification_document_manipulated"]},{"dataType":"enum","enums":["verification_document_missing_back"]},{"dataType":"enum","enums":["verification_document_missing_front"]},{"dataType":"enum","enums":["verification_document_name_mismatch"]},{"dataType":"enum","enums":["verification_document_name_missing"]},{"dataType":"enum","enums":["verification_document_nationality_mismatch"]},{"dataType":"enum","enums":["verification_document_not_readable"]},{"dataType":"enum","enums":["verification_document_not_signed"]},{"dataType":"enum","enums":["verification_document_not_uploaded"]},{"dataType":"enum","enums":["verification_document_photo_mismatch"]},{"dataType":"enum","enums":["verification_document_too_large"]},{"dataType":"enum","enums":["verification_document_type_not_supported"]},{"dataType":"enum","enums":["verification_extraneous_directors"]},{"dataType":"enum","enums":["verification_failed_address_match"]},{"dataType":"enum","enums":["verification_failed_business_iec_number"]},{"dataType":"enum","enums":["verification_failed_document_match"]},{"dataType":"enum","enums":["verification_failed_id_number_match"]},{"dataType":"enum","enums":["verification_failed_keyed_identity"]},{"dataType":"enum","enums":["verification_failed_keyed_match"]},{"dataType":"enum","enums":["verification_failed_name_match"]},{"dataType":"enum","enums":["verification_failed_other"]},{"dataType":"enum","enums":["verification_failed_representative_authority"]},{"dataType":"enum","enums":["verification_failed_residential_address"]},{"dataType":"enum","enums":["verification_failed_tax_id_match"]},{"dataType":"enum","enums":["verification_failed_tax_id_not_issued"]},{"dataType":"enum","enums":["verification_missing_directors"]},{"dataType":"enum","enums":["verification_missing_executives"]},{"dataType":"enum","enums":["verification_missing_owners"]},{"dataType":"enum","enums":["verification_requires_additional_memorandum_of_associations"]},{"dataType":"enum","enums":["verification_requires_additional_proof_of_registration"]},{"dataType":"enum","enums":["verification_supportability"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.BankAccount.FutureRequirements.Error": { "dataType": "refObject", "properties": { - "available": {"dataType":"array","array":{"dataType":"string"},"required":true}, - "preferred": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "code": {"ref":"stripe.Stripe.BankAccount.FutureRequirements.Error.Code","required":true}, + "reason": {"dataType":"string","required":true}, + "requirement": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.CardPresent.Offline": { + "stripe.Stripe.BankAccount.FutureRequirements": { "dataType": "refObject", "properties": { - "stored_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["deferred"]},{"dataType":"enum","enums":[null]}],"required":true}, + "currently_due": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, + "errors": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.BankAccount.FutureRequirements.Error"}},{"dataType":"enum","enums":[null]}],"required":true}, + "past_due": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, + "pending_verification": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.CardPresent.ReadMethod": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["contact_emv"]},{"dataType":"enum","enums":["contactless_emv"]},{"dataType":"enum","enums":["contactless_magstripe_mode"]},{"dataType":"enum","enums":["magnetic_stripe_fallback"]},{"dataType":"enum","enums":["magnetic_stripe_track2"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.CardPresent.Wallet.Type": { + "stripe.Stripe.BankAccount.Requirements.Error.Code": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["apple_pay"]},{"dataType":"enum","enums":["google_pay"]},{"dataType":"enum","enums":["samsung_pay"]},{"dataType":"enum","enums":["unknown"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.CardPresent.Wallet": { - "dataType": "refObject", - "properties": { - "type": {"ref":"stripe.Stripe.PaymentMethod.CardPresent.Wallet.Type","required":true}, - }, - "additionalProperties": false, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["invalid_address_city_state_postal_code"]},{"dataType":"enum","enums":["invalid_address_highway_contract_box"]},{"dataType":"enum","enums":["invalid_address_private_mailbox"]},{"dataType":"enum","enums":["invalid_business_profile_name"]},{"dataType":"enum","enums":["invalid_business_profile_name_denylisted"]},{"dataType":"enum","enums":["invalid_company_name_denylisted"]},{"dataType":"enum","enums":["invalid_dob_age_over_maximum"]},{"dataType":"enum","enums":["invalid_dob_age_under_18"]},{"dataType":"enum","enums":["invalid_dob_age_under_minimum"]},{"dataType":"enum","enums":["invalid_product_description_length"]},{"dataType":"enum","enums":["invalid_product_description_url_match"]},{"dataType":"enum","enums":["invalid_representative_country"]},{"dataType":"enum","enums":["invalid_statement_descriptor_business_mismatch"]},{"dataType":"enum","enums":["invalid_statement_descriptor_denylisted"]},{"dataType":"enum","enums":["invalid_statement_descriptor_length"]},{"dataType":"enum","enums":["invalid_statement_descriptor_prefix_denylisted"]},{"dataType":"enum","enums":["invalid_statement_descriptor_prefix_mismatch"]},{"dataType":"enum","enums":["invalid_street_address"]},{"dataType":"enum","enums":["invalid_tax_id"]},{"dataType":"enum","enums":["invalid_tax_id_format"]},{"dataType":"enum","enums":["invalid_tos_acceptance"]},{"dataType":"enum","enums":["invalid_url_denylisted"]},{"dataType":"enum","enums":["invalid_url_format"]},{"dataType":"enum","enums":["invalid_url_length"]},{"dataType":"enum","enums":["invalid_url_web_presence_detected"]},{"dataType":"enum","enums":["invalid_url_website_business_information_mismatch"]},{"dataType":"enum","enums":["invalid_url_website_empty"]},{"dataType":"enum","enums":["invalid_url_website_inaccessible"]},{"dataType":"enum","enums":["invalid_url_website_inaccessible_geoblocked"]},{"dataType":"enum","enums":["invalid_url_website_inaccessible_password_protected"]},{"dataType":"enum","enums":["invalid_url_website_incomplete"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_cancellation_policy"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_customer_service_details"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_legal_restrictions"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_refund_policy"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_return_policy"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_terms_and_conditions"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_under_construction"]},{"dataType":"enum","enums":["invalid_url_website_other"]},{"dataType":"enum","enums":["invalid_value_other"]},{"dataType":"enum","enums":["verification_directors_mismatch"]},{"dataType":"enum","enums":["verification_document_address_mismatch"]},{"dataType":"enum","enums":["verification_document_address_missing"]},{"dataType":"enum","enums":["verification_document_corrupt"]},{"dataType":"enum","enums":["verification_document_country_not_supported"]},{"dataType":"enum","enums":["verification_document_directors_mismatch"]},{"dataType":"enum","enums":["verification_document_dob_mismatch"]},{"dataType":"enum","enums":["verification_document_duplicate_type"]},{"dataType":"enum","enums":["verification_document_expired"]},{"dataType":"enum","enums":["verification_document_failed_copy"]},{"dataType":"enum","enums":["verification_document_failed_greyscale"]},{"dataType":"enum","enums":["verification_document_failed_other"]},{"dataType":"enum","enums":["verification_document_failed_test_mode"]},{"dataType":"enum","enums":["verification_document_fraudulent"]},{"dataType":"enum","enums":["verification_document_id_number_mismatch"]},{"dataType":"enum","enums":["verification_document_id_number_missing"]},{"dataType":"enum","enums":["verification_document_incomplete"]},{"dataType":"enum","enums":["verification_document_invalid"]},{"dataType":"enum","enums":["verification_document_issue_or_expiry_date_missing"]},{"dataType":"enum","enums":["verification_document_manipulated"]},{"dataType":"enum","enums":["verification_document_missing_back"]},{"dataType":"enum","enums":["verification_document_missing_front"]},{"dataType":"enum","enums":["verification_document_name_mismatch"]},{"dataType":"enum","enums":["verification_document_name_missing"]},{"dataType":"enum","enums":["verification_document_nationality_mismatch"]},{"dataType":"enum","enums":["verification_document_not_readable"]},{"dataType":"enum","enums":["verification_document_not_signed"]},{"dataType":"enum","enums":["verification_document_not_uploaded"]},{"dataType":"enum","enums":["verification_document_photo_mismatch"]},{"dataType":"enum","enums":["verification_document_too_large"]},{"dataType":"enum","enums":["verification_document_type_not_supported"]},{"dataType":"enum","enums":["verification_extraneous_directors"]},{"dataType":"enum","enums":["verification_failed_address_match"]},{"dataType":"enum","enums":["verification_failed_business_iec_number"]},{"dataType":"enum","enums":["verification_failed_document_match"]},{"dataType":"enum","enums":["verification_failed_id_number_match"]},{"dataType":"enum","enums":["verification_failed_keyed_identity"]},{"dataType":"enum","enums":["verification_failed_keyed_match"]},{"dataType":"enum","enums":["verification_failed_name_match"]},{"dataType":"enum","enums":["verification_failed_other"]},{"dataType":"enum","enums":["verification_failed_representative_authority"]},{"dataType":"enum","enums":["verification_failed_residential_address"]},{"dataType":"enum","enums":["verification_failed_tax_id_match"]},{"dataType":"enum","enums":["verification_failed_tax_id_not_issued"]},{"dataType":"enum","enums":["verification_missing_directors"]},{"dataType":"enum","enums":["verification_missing_executives"]},{"dataType":"enum","enums":["verification_missing_owners"]},{"dataType":"enum","enums":["verification_requires_additional_memorandum_of_associations"]},{"dataType":"enum","enums":["verification_requires_additional_proof_of_registration"]},{"dataType":"enum","enums":["verification_supportability"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.CardPresent": { + "stripe.Stripe.BankAccount.Requirements.Error": { "dataType": "refObject", "properties": { - "brand": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "brand_product": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "cardholder_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "exp_month": {"dataType":"double","required":true}, - "exp_year": {"dataType":"double","required":true}, - "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "funding": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "iin": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "issuer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "networks": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.CardPresent.Networks"},{"dataType":"enum","enums":[null]}],"required":true}, - "offline": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.CardPresent.Offline"},{"dataType":"enum","enums":[null]}],"required":true}, - "preferred_locales": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, - "read_method": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.CardPresent.ReadMethod"},{"dataType":"enum","enums":[null]}],"required":true}, - "wallet": {"ref":"stripe.Stripe.PaymentMethod.CardPresent.Wallet"}, + "code": {"ref":"stripe.Stripe.BankAccount.Requirements.Error.Code","required":true}, + "reason": {"dataType":"string","required":true}, + "requirement": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Cashapp": { + "stripe.Stripe.BankAccount.Requirements": { "dataType": "refObject", "properties": { - "buyer_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "cashtag": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "currently_due": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, + "errors": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.BankAccount.Requirements.Error"}},{"dataType":"enum","enums":[null]}],"required":true}, + "past_due": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, + "pending_verification": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.CustomerBalance": { + "stripe.Stripe.ApiList_stripe.Stripe.ExternalAccount_": { "dataType": "refObject", "properties": { + "object": {"dataType":"enum","enums":["list"],"required":true}, + "data": {"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.ExternalAccount"},"required":true}, + "has_more": {"dataType":"boolean","required":true}, + "url": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Eps.Bank": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["arzte_und_apotheker_bank"]},{"dataType":"enum","enums":["austrian_anadi_bank_ag"]},{"dataType":"enum","enums":["bank_austria"]},{"dataType":"enum","enums":["bankhaus_carl_spangler"]},{"dataType":"enum","enums":["bankhaus_schelhammer_und_schattera_ag"]},{"dataType":"enum","enums":["bawag_psk_ag"]},{"dataType":"enum","enums":["bks_bank_ag"]},{"dataType":"enum","enums":["brull_kallmus_bank_ag"]},{"dataType":"enum","enums":["btv_vier_lander_bank"]},{"dataType":"enum","enums":["capital_bank_grawe_gruppe_ag"]},{"dataType":"enum","enums":["deutsche_bank_ag"]},{"dataType":"enum","enums":["dolomitenbank"]},{"dataType":"enum","enums":["easybank_ag"]},{"dataType":"enum","enums":["erste_bank_und_sparkassen"]},{"dataType":"enum","enums":["hypo_alpeadriabank_international_ag"]},{"dataType":"enum","enums":["hypo_bank_burgenland_aktiengesellschaft"]},{"dataType":"enum","enums":["hypo_noe_lb_fur_niederosterreich_u_wien"]},{"dataType":"enum","enums":["hypo_oberosterreich_salzburg_steiermark"]},{"dataType":"enum","enums":["hypo_tirol_bank_ag"]},{"dataType":"enum","enums":["hypo_vorarlberg_bank_ag"]},{"dataType":"enum","enums":["marchfelder_bank"]},{"dataType":"enum","enums":["oberbank_ag"]},{"dataType":"enum","enums":["raiffeisen_bankengruppe_osterreich"]},{"dataType":"enum","enums":["schoellerbank_ag"]},{"dataType":"enum","enums":["sparda_bank_wien"]},{"dataType":"enum","enums":["volksbank_gruppe"]},{"dataType":"enum","enums":["volkskreditbank_ag"]},{"dataType":"enum","enums":["vr_bank_braunau"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Eps": { + "stripe.Stripe.Account.FutureRequirements.Alternative": { "dataType": "refObject", "properties": { - "bank": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.Eps.Bank"},{"dataType":"enum","enums":[null]}],"required":true}, + "alternative_fields_due": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "original_fields_due": {"dataType":"array","array":{"dataType":"string"},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Fpx.AccountHolderType": { + "stripe.Stripe.Account.FutureRequirements.DisabledReason": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["company"]},{"dataType":"enum","enums":["individual"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["action_required.requested_capabilities"]},{"dataType":"enum","enums":["listed"]},{"dataType":"enum","enums":["other"]},{"dataType":"enum","enums":["platform_paused"]},{"dataType":"enum","enums":["rejected.fraud"]},{"dataType":"enum","enums":["rejected.incomplete_verification"]},{"dataType":"enum","enums":["rejected.listed"]},{"dataType":"enum","enums":["rejected.other"]},{"dataType":"enum","enums":["rejected.platform_fraud"]},{"dataType":"enum","enums":["rejected.platform_other"]},{"dataType":"enum","enums":["rejected.platform_terms_of_service"]},{"dataType":"enum","enums":["rejected.terms_of_service"]},{"dataType":"enum","enums":["requirements.past_due"]},{"dataType":"enum","enums":["requirements.pending_verification"]},{"dataType":"enum","enums":["under_review"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Fpx.Bank": { + "stripe.Stripe.Account.FutureRequirements.Error.Code": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["affin_bank"]},{"dataType":"enum","enums":["agrobank"]},{"dataType":"enum","enums":["alliance_bank"]},{"dataType":"enum","enums":["ambank"]},{"dataType":"enum","enums":["bank_islam"]},{"dataType":"enum","enums":["bank_muamalat"]},{"dataType":"enum","enums":["bank_of_china"]},{"dataType":"enum","enums":["bank_rakyat"]},{"dataType":"enum","enums":["bsn"]},{"dataType":"enum","enums":["cimb"]},{"dataType":"enum","enums":["deutsche_bank"]},{"dataType":"enum","enums":["hong_leong_bank"]},{"dataType":"enum","enums":["hsbc"]},{"dataType":"enum","enums":["kfh"]},{"dataType":"enum","enums":["maybank2e"]},{"dataType":"enum","enums":["maybank2u"]},{"dataType":"enum","enums":["ocbc"]},{"dataType":"enum","enums":["pb_enterprise"]},{"dataType":"enum","enums":["public_bank"]},{"dataType":"enum","enums":["rhb"]},{"dataType":"enum","enums":["standard_chartered"]},{"dataType":"enum","enums":["uob"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["invalid_address_city_state_postal_code"]},{"dataType":"enum","enums":["invalid_address_highway_contract_box"]},{"dataType":"enum","enums":["invalid_address_private_mailbox"]},{"dataType":"enum","enums":["invalid_business_profile_name"]},{"dataType":"enum","enums":["invalid_business_profile_name_denylisted"]},{"dataType":"enum","enums":["invalid_company_name_denylisted"]},{"dataType":"enum","enums":["invalid_dob_age_over_maximum"]},{"dataType":"enum","enums":["invalid_dob_age_under_18"]},{"dataType":"enum","enums":["invalid_dob_age_under_minimum"]},{"dataType":"enum","enums":["invalid_product_description_length"]},{"dataType":"enum","enums":["invalid_product_description_url_match"]},{"dataType":"enum","enums":["invalid_representative_country"]},{"dataType":"enum","enums":["invalid_statement_descriptor_business_mismatch"]},{"dataType":"enum","enums":["invalid_statement_descriptor_denylisted"]},{"dataType":"enum","enums":["invalid_statement_descriptor_length"]},{"dataType":"enum","enums":["invalid_statement_descriptor_prefix_denylisted"]},{"dataType":"enum","enums":["invalid_statement_descriptor_prefix_mismatch"]},{"dataType":"enum","enums":["invalid_street_address"]},{"dataType":"enum","enums":["invalid_tax_id"]},{"dataType":"enum","enums":["invalid_tax_id_format"]},{"dataType":"enum","enums":["invalid_tos_acceptance"]},{"dataType":"enum","enums":["invalid_url_denylisted"]},{"dataType":"enum","enums":["invalid_url_format"]},{"dataType":"enum","enums":["invalid_url_length"]},{"dataType":"enum","enums":["invalid_url_web_presence_detected"]},{"dataType":"enum","enums":["invalid_url_website_business_information_mismatch"]},{"dataType":"enum","enums":["invalid_url_website_empty"]},{"dataType":"enum","enums":["invalid_url_website_inaccessible"]},{"dataType":"enum","enums":["invalid_url_website_inaccessible_geoblocked"]},{"dataType":"enum","enums":["invalid_url_website_inaccessible_password_protected"]},{"dataType":"enum","enums":["invalid_url_website_incomplete"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_cancellation_policy"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_customer_service_details"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_legal_restrictions"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_refund_policy"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_return_policy"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_terms_and_conditions"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_under_construction"]},{"dataType":"enum","enums":["invalid_url_website_other"]},{"dataType":"enum","enums":["invalid_value_other"]},{"dataType":"enum","enums":["verification_directors_mismatch"]},{"dataType":"enum","enums":["verification_document_address_mismatch"]},{"dataType":"enum","enums":["verification_document_address_missing"]},{"dataType":"enum","enums":["verification_document_corrupt"]},{"dataType":"enum","enums":["verification_document_country_not_supported"]},{"dataType":"enum","enums":["verification_document_directors_mismatch"]},{"dataType":"enum","enums":["verification_document_dob_mismatch"]},{"dataType":"enum","enums":["verification_document_duplicate_type"]},{"dataType":"enum","enums":["verification_document_expired"]},{"dataType":"enum","enums":["verification_document_failed_copy"]},{"dataType":"enum","enums":["verification_document_failed_greyscale"]},{"dataType":"enum","enums":["verification_document_failed_other"]},{"dataType":"enum","enums":["verification_document_failed_test_mode"]},{"dataType":"enum","enums":["verification_document_fraudulent"]},{"dataType":"enum","enums":["verification_document_id_number_mismatch"]},{"dataType":"enum","enums":["verification_document_id_number_missing"]},{"dataType":"enum","enums":["verification_document_incomplete"]},{"dataType":"enum","enums":["verification_document_invalid"]},{"dataType":"enum","enums":["verification_document_issue_or_expiry_date_missing"]},{"dataType":"enum","enums":["verification_document_manipulated"]},{"dataType":"enum","enums":["verification_document_missing_back"]},{"dataType":"enum","enums":["verification_document_missing_front"]},{"dataType":"enum","enums":["verification_document_name_mismatch"]},{"dataType":"enum","enums":["verification_document_name_missing"]},{"dataType":"enum","enums":["verification_document_nationality_mismatch"]},{"dataType":"enum","enums":["verification_document_not_readable"]},{"dataType":"enum","enums":["verification_document_not_signed"]},{"dataType":"enum","enums":["verification_document_not_uploaded"]},{"dataType":"enum","enums":["verification_document_photo_mismatch"]},{"dataType":"enum","enums":["verification_document_too_large"]},{"dataType":"enum","enums":["verification_document_type_not_supported"]},{"dataType":"enum","enums":["verification_extraneous_directors"]},{"dataType":"enum","enums":["verification_failed_address_match"]},{"dataType":"enum","enums":["verification_failed_business_iec_number"]},{"dataType":"enum","enums":["verification_failed_document_match"]},{"dataType":"enum","enums":["verification_failed_id_number_match"]},{"dataType":"enum","enums":["verification_failed_keyed_identity"]},{"dataType":"enum","enums":["verification_failed_keyed_match"]},{"dataType":"enum","enums":["verification_failed_name_match"]},{"dataType":"enum","enums":["verification_failed_other"]},{"dataType":"enum","enums":["verification_failed_representative_authority"]},{"dataType":"enum","enums":["verification_failed_residential_address"]},{"dataType":"enum","enums":["verification_failed_tax_id_match"]},{"dataType":"enum","enums":["verification_failed_tax_id_not_issued"]},{"dataType":"enum","enums":["verification_missing_directors"]},{"dataType":"enum","enums":["verification_missing_executives"]},{"dataType":"enum","enums":["verification_missing_owners"]},{"dataType":"enum","enums":["verification_requires_additional_memorandum_of_associations"]},{"dataType":"enum","enums":["verification_requires_additional_proof_of_registration"]},{"dataType":"enum","enums":["verification_supportability"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Fpx": { + "stripe.Stripe.Account.FutureRequirements.Error": { "dataType": "refObject", "properties": { - "account_holder_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.Fpx.AccountHolderType"},{"dataType":"enum","enums":[null]}],"required":true}, - "bank": {"ref":"stripe.Stripe.PaymentMethod.Fpx.Bank","required":true}, + "code": {"ref":"stripe.Stripe.Account.FutureRequirements.Error.Code","required":true}, + "reason": {"dataType":"string","required":true}, + "requirement": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Giropay": { + "stripe.Stripe.Account.FutureRequirements": { "dataType": "refObject", "properties": { + "alternatives": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Account.FutureRequirements.Alternative"}},{"dataType":"enum","enums":[null]}],"required":true}, + "current_deadline": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "currently_due": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, + "disabled_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Account.FutureRequirements.DisabledReason"},{"dataType":"enum","enums":[null]}],"required":true}, + "errors": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Account.FutureRequirements.Error"}},{"dataType":"enum","enums":[null]}],"required":true}, + "eventually_due": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, + "past_due": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, + "pending_verification": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Grabpay": { + "stripe.Stripe.Account.Groups": { "dataType": "refObject", "properties": { + "payments_pricing": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Ideal.Bank": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["abn_amro"]},{"dataType":"enum","enums":["asn_bank"]},{"dataType":"enum","enums":["bunq"]},{"dataType":"enum","enums":["handelsbanken"]},{"dataType":"enum","enums":["ing"]},{"dataType":"enum","enums":["knab"]},{"dataType":"enum","enums":["moneyou"]},{"dataType":"enum","enums":["n26"]},{"dataType":"enum","enums":["nn"]},{"dataType":"enum","enums":["rabobank"]},{"dataType":"enum","enums":["regiobank"]},{"dataType":"enum","enums":["revolut"]},{"dataType":"enum","enums":["sns_bank"]},{"dataType":"enum","enums":["triodos_bank"]},{"dataType":"enum","enums":["van_lanschot"]},{"dataType":"enum","enums":["yoursafe"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Ideal.Bic": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["ABNANL2A"]},{"dataType":"enum","enums":["ASNBNL21"]},{"dataType":"enum","enums":["BITSNL2A"]},{"dataType":"enum","enums":["BUNQNL2A"]},{"dataType":"enum","enums":["FVLBNL22"]},{"dataType":"enum","enums":["HANDNL2A"]},{"dataType":"enum","enums":["INGBNL2A"]},{"dataType":"enum","enums":["KNABNL2H"]},{"dataType":"enum","enums":["MOYONL21"]},{"dataType":"enum","enums":["NNBANL2G"]},{"dataType":"enum","enums":["NTSBDEB1"]},{"dataType":"enum","enums":["RABONL2U"]},{"dataType":"enum","enums":["RBRBNL21"]},{"dataType":"enum","enums":["REVOIE23"]},{"dataType":"enum","enums":["REVOLT21"]},{"dataType":"enum","enums":["SNSBNL2A"]},{"dataType":"enum","enums":["TRIONL2U"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Ideal": { + "stripe.Stripe.Person.AdditionalTosAcceptances.Account": { "dataType": "refObject", "properties": { - "bank": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.Ideal.Bank"},{"dataType":"enum","enums":[null]}],"required":true}, - "bic": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.Ideal.Bic"},{"dataType":"enum","enums":[null]}],"required":true}, + "date": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "ip": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "user_agent": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.InteracPresent.Networks": { + "stripe.Stripe.Person.AdditionalTosAcceptances": { "dataType": "refObject", "properties": { - "available": {"dataType":"array","array":{"dataType":"string"},"required":true}, - "preferred": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "account": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Person.AdditionalTosAcceptances.Account"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.InteracPresent.ReadMethod": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["contact_emv"]},{"dataType":"enum","enums":["contactless_emv"]},{"dataType":"enum","enums":["contactless_magstripe_mode"]},{"dataType":"enum","enums":["magnetic_stripe_fallback"]},{"dataType":"enum","enums":["magnetic_stripe_track2"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.InteracPresent": { + "stripe.Stripe.Person.AddressKana": { "dataType": "refObject", "properties": { - "brand": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "cardholder_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "city": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "exp_month": {"dataType":"double","required":true}, - "exp_year": {"dataType":"double","required":true}, - "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "funding": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "iin": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "issuer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "networks": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.InteracPresent.Networks"},{"dataType":"enum","enums":[null]}],"required":true}, - "preferred_locales": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, - "read_method": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.InteracPresent.ReadMethod"},{"dataType":"enum","enums":[null]}],"required":true}, + "line1": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "line2": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "postal_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "state": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "town": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.KakaoPay": { + "stripe.Stripe.Person.AddressKanji": { "dataType": "refObject", "properties": { + "city": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "line1": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "line2": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "postal_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "state": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "town": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Klarna.Dob": { + "stripe.Stripe.Person.Dob": { "dataType": "refObject", "properties": { "day": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, @@ -13376,4766 +12703,1469 @@ const models: TsoaRoute.Models = { "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Klarna": { - "dataType": "refObject", - "properties": { - "dob": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.Klarna.Dob"},{"dataType":"enum","enums":[null]}]}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Konbini": { + "stripe.Stripe.Person.FutureRequirements.Alternative": { "dataType": "refObject", "properties": { + "alternative_fields_due": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "original_fields_due": {"dataType":"array","array":{"dataType":"string"},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.KrCard.Brand": { + "stripe.Stripe.Person.FutureRequirements.Error.Code": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["bc"]},{"dataType":"enum","enums":["citi"]},{"dataType":"enum","enums":["hana"]},{"dataType":"enum","enums":["hyundai"]},{"dataType":"enum","enums":["jeju"]},{"dataType":"enum","enums":["jeonbuk"]},{"dataType":"enum","enums":["kakaobank"]},{"dataType":"enum","enums":["kbank"]},{"dataType":"enum","enums":["kdbbank"]},{"dataType":"enum","enums":["kookmin"]},{"dataType":"enum","enums":["kwangju"]},{"dataType":"enum","enums":["lotte"]},{"dataType":"enum","enums":["mg"]},{"dataType":"enum","enums":["nh"]},{"dataType":"enum","enums":["post"]},{"dataType":"enum","enums":["samsung"]},{"dataType":"enum","enums":["savingsbank"]},{"dataType":"enum","enums":["shinhan"]},{"dataType":"enum","enums":["shinhyup"]},{"dataType":"enum","enums":["suhyup"]},{"dataType":"enum","enums":["tossbank"]},{"dataType":"enum","enums":["woori"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["invalid_address_city_state_postal_code"]},{"dataType":"enum","enums":["invalid_address_highway_contract_box"]},{"dataType":"enum","enums":["invalid_address_private_mailbox"]},{"dataType":"enum","enums":["invalid_business_profile_name"]},{"dataType":"enum","enums":["invalid_business_profile_name_denylisted"]},{"dataType":"enum","enums":["invalid_company_name_denylisted"]},{"dataType":"enum","enums":["invalid_dob_age_over_maximum"]},{"dataType":"enum","enums":["invalid_dob_age_under_18"]},{"dataType":"enum","enums":["invalid_dob_age_under_minimum"]},{"dataType":"enum","enums":["invalid_product_description_length"]},{"dataType":"enum","enums":["invalid_product_description_url_match"]},{"dataType":"enum","enums":["invalid_representative_country"]},{"dataType":"enum","enums":["invalid_statement_descriptor_business_mismatch"]},{"dataType":"enum","enums":["invalid_statement_descriptor_denylisted"]},{"dataType":"enum","enums":["invalid_statement_descriptor_length"]},{"dataType":"enum","enums":["invalid_statement_descriptor_prefix_denylisted"]},{"dataType":"enum","enums":["invalid_statement_descriptor_prefix_mismatch"]},{"dataType":"enum","enums":["invalid_street_address"]},{"dataType":"enum","enums":["invalid_tax_id"]},{"dataType":"enum","enums":["invalid_tax_id_format"]},{"dataType":"enum","enums":["invalid_tos_acceptance"]},{"dataType":"enum","enums":["invalid_url_denylisted"]},{"dataType":"enum","enums":["invalid_url_format"]},{"dataType":"enum","enums":["invalid_url_length"]},{"dataType":"enum","enums":["invalid_url_web_presence_detected"]},{"dataType":"enum","enums":["invalid_url_website_business_information_mismatch"]},{"dataType":"enum","enums":["invalid_url_website_empty"]},{"dataType":"enum","enums":["invalid_url_website_inaccessible"]},{"dataType":"enum","enums":["invalid_url_website_inaccessible_geoblocked"]},{"dataType":"enum","enums":["invalid_url_website_inaccessible_password_protected"]},{"dataType":"enum","enums":["invalid_url_website_incomplete"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_cancellation_policy"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_customer_service_details"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_legal_restrictions"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_refund_policy"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_return_policy"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_terms_and_conditions"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_under_construction"]},{"dataType":"enum","enums":["invalid_url_website_other"]},{"dataType":"enum","enums":["invalid_value_other"]},{"dataType":"enum","enums":["verification_directors_mismatch"]},{"dataType":"enum","enums":["verification_document_address_mismatch"]},{"dataType":"enum","enums":["verification_document_address_missing"]},{"dataType":"enum","enums":["verification_document_corrupt"]},{"dataType":"enum","enums":["verification_document_country_not_supported"]},{"dataType":"enum","enums":["verification_document_directors_mismatch"]},{"dataType":"enum","enums":["verification_document_dob_mismatch"]},{"dataType":"enum","enums":["verification_document_duplicate_type"]},{"dataType":"enum","enums":["verification_document_expired"]},{"dataType":"enum","enums":["verification_document_failed_copy"]},{"dataType":"enum","enums":["verification_document_failed_greyscale"]},{"dataType":"enum","enums":["verification_document_failed_other"]},{"dataType":"enum","enums":["verification_document_failed_test_mode"]},{"dataType":"enum","enums":["verification_document_fraudulent"]},{"dataType":"enum","enums":["verification_document_id_number_mismatch"]},{"dataType":"enum","enums":["verification_document_id_number_missing"]},{"dataType":"enum","enums":["verification_document_incomplete"]},{"dataType":"enum","enums":["verification_document_invalid"]},{"dataType":"enum","enums":["verification_document_issue_or_expiry_date_missing"]},{"dataType":"enum","enums":["verification_document_manipulated"]},{"dataType":"enum","enums":["verification_document_missing_back"]},{"dataType":"enum","enums":["verification_document_missing_front"]},{"dataType":"enum","enums":["verification_document_name_mismatch"]},{"dataType":"enum","enums":["verification_document_name_missing"]},{"dataType":"enum","enums":["verification_document_nationality_mismatch"]},{"dataType":"enum","enums":["verification_document_not_readable"]},{"dataType":"enum","enums":["verification_document_not_signed"]},{"dataType":"enum","enums":["verification_document_not_uploaded"]},{"dataType":"enum","enums":["verification_document_photo_mismatch"]},{"dataType":"enum","enums":["verification_document_too_large"]},{"dataType":"enum","enums":["verification_document_type_not_supported"]},{"dataType":"enum","enums":["verification_extraneous_directors"]},{"dataType":"enum","enums":["verification_failed_address_match"]},{"dataType":"enum","enums":["verification_failed_business_iec_number"]},{"dataType":"enum","enums":["verification_failed_document_match"]},{"dataType":"enum","enums":["verification_failed_id_number_match"]},{"dataType":"enum","enums":["verification_failed_keyed_identity"]},{"dataType":"enum","enums":["verification_failed_keyed_match"]},{"dataType":"enum","enums":["verification_failed_name_match"]},{"dataType":"enum","enums":["verification_failed_other"]},{"dataType":"enum","enums":["verification_failed_representative_authority"]},{"dataType":"enum","enums":["verification_failed_residential_address"]},{"dataType":"enum","enums":["verification_failed_tax_id_match"]},{"dataType":"enum","enums":["verification_failed_tax_id_not_issued"]},{"dataType":"enum","enums":["verification_missing_directors"]},{"dataType":"enum","enums":["verification_missing_executives"]},{"dataType":"enum","enums":["verification_missing_owners"]},{"dataType":"enum","enums":["verification_requires_additional_memorandum_of_associations"]},{"dataType":"enum","enums":["verification_requires_additional_proof_of_registration"]},{"dataType":"enum","enums":["verification_supportability"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.KrCard": { + "stripe.Stripe.Person.FutureRequirements.Error": { "dataType": "refObject", "properties": { - "brand": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.KrCard.Brand"},{"dataType":"enum","enums":[null]}],"required":true}, - "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "code": {"ref":"stripe.Stripe.Person.FutureRequirements.Error.Code","required":true}, + "reason": {"dataType":"string","required":true}, + "requirement": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Link": { + "stripe.Stripe.Person.FutureRequirements": { "dataType": "refObject", "properties": { - "email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "persistent_token": {"dataType":"string"}, + "alternatives": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Person.FutureRequirements.Alternative"}},{"dataType":"enum","enums":[null]}],"required":true}, + "currently_due": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "errors": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Person.FutureRequirements.Error"},"required":true}, + "eventually_due": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "past_due": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "pending_verification": {"dataType":"array","array":{"dataType":"string"},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Mobilepay": { + "stripe.Stripe.Person.PoliticalExposure": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["existing"]},{"dataType":"enum","enums":["none"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Person.Relationship": { "dataType": "refObject", "properties": { + "authorizer": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, + "director": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, + "executive": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, + "legal_guardian": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, + "owner": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, + "percent_ownership": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "representative": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, + "title": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Multibanco": { + "stripe.Stripe.Person.Requirements.Alternative": { "dataType": "refObject", "properties": { + "alternative_fields_due": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "original_fields_due": {"dataType":"array","array":{"dataType":"string"},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.NaverPay.Funding": { + "stripe.Stripe.Person.Requirements.Error.Code": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["card"]},{"dataType":"enum","enums":["points"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["invalid_address_city_state_postal_code"]},{"dataType":"enum","enums":["invalid_address_highway_contract_box"]},{"dataType":"enum","enums":["invalid_address_private_mailbox"]},{"dataType":"enum","enums":["invalid_business_profile_name"]},{"dataType":"enum","enums":["invalid_business_profile_name_denylisted"]},{"dataType":"enum","enums":["invalid_company_name_denylisted"]},{"dataType":"enum","enums":["invalid_dob_age_over_maximum"]},{"dataType":"enum","enums":["invalid_dob_age_under_18"]},{"dataType":"enum","enums":["invalid_dob_age_under_minimum"]},{"dataType":"enum","enums":["invalid_product_description_length"]},{"dataType":"enum","enums":["invalid_product_description_url_match"]},{"dataType":"enum","enums":["invalid_representative_country"]},{"dataType":"enum","enums":["invalid_statement_descriptor_business_mismatch"]},{"dataType":"enum","enums":["invalid_statement_descriptor_denylisted"]},{"dataType":"enum","enums":["invalid_statement_descriptor_length"]},{"dataType":"enum","enums":["invalid_statement_descriptor_prefix_denylisted"]},{"dataType":"enum","enums":["invalid_statement_descriptor_prefix_mismatch"]},{"dataType":"enum","enums":["invalid_street_address"]},{"dataType":"enum","enums":["invalid_tax_id"]},{"dataType":"enum","enums":["invalid_tax_id_format"]},{"dataType":"enum","enums":["invalid_tos_acceptance"]},{"dataType":"enum","enums":["invalid_url_denylisted"]},{"dataType":"enum","enums":["invalid_url_format"]},{"dataType":"enum","enums":["invalid_url_length"]},{"dataType":"enum","enums":["invalid_url_web_presence_detected"]},{"dataType":"enum","enums":["invalid_url_website_business_information_mismatch"]},{"dataType":"enum","enums":["invalid_url_website_empty"]},{"dataType":"enum","enums":["invalid_url_website_inaccessible"]},{"dataType":"enum","enums":["invalid_url_website_inaccessible_geoblocked"]},{"dataType":"enum","enums":["invalid_url_website_inaccessible_password_protected"]},{"dataType":"enum","enums":["invalid_url_website_incomplete"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_cancellation_policy"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_customer_service_details"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_legal_restrictions"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_refund_policy"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_return_policy"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_terms_and_conditions"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_under_construction"]},{"dataType":"enum","enums":["invalid_url_website_other"]},{"dataType":"enum","enums":["invalid_value_other"]},{"dataType":"enum","enums":["verification_directors_mismatch"]},{"dataType":"enum","enums":["verification_document_address_mismatch"]},{"dataType":"enum","enums":["verification_document_address_missing"]},{"dataType":"enum","enums":["verification_document_corrupt"]},{"dataType":"enum","enums":["verification_document_country_not_supported"]},{"dataType":"enum","enums":["verification_document_directors_mismatch"]},{"dataType":"enum","enums":["verification_document_dob_mismatch"]},{"dataType":"enum","enums":["verification_document_duplicate_type"]},{"dataType":"enum","enums":["verification_document_expired"]},{"dataType":"enum","enums":["verification_document_failed_copy"]},{"dataType":"enum","enums":["verification_document_failed_greyscale"]},{"dataType":"enum","enums":["verification_document_failed_other"]},{"dataType":"enum","enums":["verification_document_failed_test_mode"]},{"dataType":"enum","enums":["verification_document_fraudulent"]},{"dataType":"enum","enums":["verification_document_id_number_mismatch"]},{"dataType":"enum","enums":["verification_document_id_number_missing"]},{"dataType":"enum","enums":["verification_document_incomplete"]},{"dataType":"enum","enums":["verification_document_invalid"]},{"dataType":"enum","enums":["verification_document_issue_or_expiry_date_missing"]},{"dataType":"enum","enums":["verification_document_manipulated"]},{"dataType":"enum","enums":["verification_document_missing_back"]},{"dataType":"enum","enums":["verification_document_missing_front"]},{"dataType":"enum","enums":["verification_document_name_mismatch"]},{"dataType":"enum","enums":["verification_document_name_missing"]},{"dataType":"enum","enums":["verification_document_nationality_mismatch"]},{"dataType":"enum","enums":["verification_document_not_readable"]},{"dataType":"enum","enums":["verification_document_not_signed"]},{"dataType":"enum","enums":["verification_document_not_uploaded"]},{"dataType":"enum","enums":["verification_document_photo_mismatch"]},{"dataType":"enum","enums":["verification_document_too_large"]},{"dataType":"enum","enums":["verification_document_type_not_supported"]},{"dataType":"enum","enums":["verification_extraneous_directors"]},{"dataType":"enum","enums":["verification_failed_address_match"]},{"dataType":"enum","enums":["verification_failed_business_iec_number"]},{"dataType":"enum","enums":["verification_failed_document_match"]},{"dataType":"enum","enums":["verification_failed_id_number_match"]},{"dataType":"enum","enums":["verification_failed_keyed_identity"]},{"dataType":"enum","enums":["verification_failed_keyed_match"]},{"dataType":"enum","enums":["verification_failed_name_match"]},{"dataType":"enum","enums":["verification_failed_other"]},{"dataType":"enum","enums":["verification_failed_representative_authority"]},{"dataType":"enum","enums":["verification_failed_residential_address"]},{"dataType":"enum","enums":["verification_failed_tax_id_match"]},{"dataType":"enum","enums":["verification_failed_tax_id_not_issued"]},{"dataType":"enum","enums":["verification_missing_directors"]},{"dataType":"enum","enums":["verification_missing_executives"]},{"dataType":"enum","enums":["verification_missing_owners"]},{"dataType":"enum","enums":["verification_requires_additional_memorandum_of_associations"]},{"dataType":"enum","enums":["verification_requires_additional_proof_of_registration"]},{"dataType":"enum","enums":["verification_supportability"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.NaverPay": { + "stripe.Stripe.Person.Requirements.Error": { "dataType": "refObject", "properties": { - "funding": {"ref":"stripe.Stripe.PaymentMethod.NaverPay.Funding","required":true}, + "code": {"ref":"stripe.Stripe.Person.Requirements.Error.Code","required":true}, + "reason": {"dataType":"string","required":true}, + "requirement": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Oxxo": { + "stripe.Stripe.Person.Requirements": { "dataType": "refObject", "properties": { + "alternatives": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Person.Requirements.Alternative"}},{"dataType":"enum","enums":[null]}],"required":true}, + "currently_due": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "errors": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Person.Requirements.Error"},"required":true}, + "eventually_due": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "past_due": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "pending_verification": {"dataType":"array","array":{"dataType":"string"},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.P24.Bank": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["alior_bank"]},{"dataType":"enum","enums":["bank_millennium"]},{"dataType":"enum","enums":["bank_nowy_bfg_sa"]},{"dataType":"enum","enums":["bank_pekao_sa"]},{"dataType":"enum","enums":["banki_spbdzielcze"]},{"dataType":"enum","enums":["blik"]},{"dataType":"enum","enums":["bnp_paribas"]},{"dataType":"enum","enums":["boz"]},{"dataType":"enum","enums":["citi_handlowy"]},{"dataType":"enum","enums":["credit_agricole"]},{"dataType":"enum","enums":["envelobank"]},{"dataType":"enum","enums":["etransfer_pocztowy24"]},{"dataType":"enum","enums":["getin_bank"]},{"dataType":"enum","enums":["ideabank"]},{"dataType":"enum","enums":["ing"]},{"dataType":"enum","enums":["inteligo"]},{"dataType":"enum","enums":["mbank_mtransfer"]},{"dataType":"enum","enums":["nest_przelew"]},{"dataType":"enum","enums":["noble_pay"]},{"dataType":"enum","enums":["pbac_z_ipko"]},{"dataType":"enum","enums":["plus_bank"]},{"dataType":"enum","enums":["santander_przelew24"]},{"dataType":"enum","enums":["tmobile_usbugi_bankowe"]},{"dataType":"enum","enums":["toyota_bank"]},{"dataType":"enum","enums":["velobank"]},{"dataType":"enum","enums":["volkswagen_bank"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.P24": { + "stripe.Stripe.Person.Verification.AdditionalDocument": { "dataType": "refObject", "properties": { - "bank": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.P24.Bank"},{"dataType":"enum","enums":[null]}],"required":true}, + "back": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, + "details": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "details_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "front": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.PayByBank": { + "stripe.Stripe.Person.Verification.Document": { "dataType": "refObject", "properties": { + "back": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, + "details": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "details_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "front": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Payco": { + "stripe.Stripe.Person.Verification": { "dataType": "refObject", "properties": { + "additional_document": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Person.Verification.AdditionalDocument"},{"dataType":"enum","enums":[null]}]}, + "details": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "details_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "document": {"ref":"stripe.Stripe.Person.Verification.Document"}, + "status": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Paynow": { + "stripe.Stripe.Person": { "dataType": "refObject", "properties": { + "id": {"dataType":"string","required":true}, + "object": {"dataType":"enum","enums":["person"],"required":true}, + "account": {"dataType":"string","required":true}, + "additional_tos_acceptances": {"ref":"stripe.Stripe.Person.AdditionalTosAcceptances"}, + "address": {"ref":"stripe.Stripe.Address"}, + "address_kana": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Person.AddressKana"},{"dataType":"enum","enums":[null]}]}, + "address_kanji": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Person.AddressKanji"},{"dataType":"enum","enums":[null]}]}, + "created": {"dataType":"double","required":true}, + "deleted": {"dataType":"void"}, + "dob": {"ref":"stripe.Stripe.Person.Dob"}, + "email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "first_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "first_name_kana": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "first_name_kanji": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "full_name_aliases": {"dataType":"array","array":{"dataType":"string"}}, + "future_requirements": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Person.FutureRequirements"},{"dataType":"enum","enums":[null]}]}, + "gender": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "id_number_provided": {"dataType":"boolean"}, + "id_number_secondary_provided": {"dataType":"boolean"}, + "last_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "last_name_kana": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "last_name_kanji": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "maiden_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "metadata": {"ref":"stripe.Stripe.Metadata"}, + "nationality": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "phone": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "political_exposure": {"ref":"stripe.Stripe.Person.PoliticalExposure"}, + "registered_address": {"ref":"stripe.Stripe.Address"}, + "relationship": {"ref":"stripe.Stripe.Person.Relationship"}, + "requirements": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Person.Requirements"},{"dataType":"enum","enums":[null]}]}, + "ssn_last_4_provided": {"dataType":"boolean"}, + "verification": {"ref":"stripe.Stripe.Person.Verification"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Paypal": { - "dataType": "refObject", - "properties": { - "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "payer_email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "payer_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Pix": { + "stripe.Stripe.Account.Requirements.Alternative": { "dataType": "refObject", "properties": { + "alternative_fields_due": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "original_fields_due": {"dataType":"array","array":{"dataType":"string"},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Promptpay": { - "dataType": "refObject", - "properties": { - }, - "additionalProperties": false, + "stripe.Stripe.Account.Requirements.DisabledReason": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["action_required.requested_capabilities"]},{"dataType":"enum","enums":["listed"]},{"dataType":"enum","enums":["other"]},{"dataType":"enum","enums":["platform_paused"]},{"dataType":"enum","enums":["rejected.fraud"]},{"dataType":"enum","enums":["rejected.incomplete_verification"]},{"dataType":"enum","enums":["rejected.listed"]},{"dataType":"enum","enums":["rejected.other"]},{"dataType":"enum","enums":["rejected.platform_fraud"]},{"dataType":"enum","enums":["rejected.platform_other"]},{"dataType":"enum","enums":["rejected.platform_terms_of_service"]},{"dataType":"enum","enums":["rejected.terms_of_service"]},{"dataType":"enum","enums":["requirements.past_due"]},{"dataType":"enum","enums":["requirements.pending_verification"]},{"dataType":"enum","enums":["under_review"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.RadarOptions": { - "dataType": "refObject", - "properties": { - "session": {"dataType":"string"}, - }, - "additionalProperties": false, + "stripe.Stripe.Account.Requirements.Error.Code": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["invalid_address_city_state_postal_code"]},{"dataType":"enum","enums":["invalid_address_highway_contract_box"]},{"dataType":"enum","enums":["invalid_address_private_mailbox"]},{"dataType":"enum","enums":["invalid_business_profile_name"]},{"dataType":"enum","enums":["invalid_business_profile_name_denylisted"]},{"dataType":"enum","enums":["invalid_company_name_denylisted"]},{"dataType":"enum","enums":["invalid_dob_age_over_maximum"]},{"dataType":"enum","enums":["invalid_dob_age_under_18"]},{"dataType":"enum","enums":["invalid_dob_age_under_minimum"]},{"dataType":"enum","enums":["invalid_product_description_length"]},{"dataType":"enum","enums":["invalid_product_description_url_match"]},{"dataType":"enum","enums":["invalid_representative_country"]},{"dataType":"enum","enums":["invalid_statement_descriptor_business_mismatch"]},{"dataType":"enum","enums":["invalid_statement_descriptor_denylisted"]},{"dataType":"enum","enums":["invalid_statement_descriptor_length"]},{"dataType":"enum","enums":["invalid_statement_descriptor_prefix_denylisted"]},{"dataType":"enum","enums":["invalid_statement_descriptor_prefix_mismatch"]},{"dataType":"enum","enums":["invalid_street_address"]},{"dataType":"enum","enums":["invalid_tax_id"]},{"dataType":"enum","enums":["invalid_tax_id_format"]},{"dataType":"enum","enums":["invalid_tos_acceptance"]},{"dataType":"enum","enums":["invalid_url_denylisted"]},{"dataType":"enum","enums":["invalid_url_format"]},{"dataType":"enum","enums":["invalid_url_length"]},{"dataType":"enum","enums":["invalid_url_web_presence_detected"]},{"dataType":"enum","enums":["invalid_url_website_business_information_mismatch"]},{"dataType":"enum","enums":["invalid_url_website_empty"]},{"dataType":"enum","enums":["invalid_url_website_inaccessible"]},{"dataType":"enum","enums":["invalid_url_website_inaccessible_geoblocked"]},{"dataType":"enum","enums":["invalid_url_website_inaccessible_password_protected"]},{"dataType":"enum","enums":["invalid_url_website_incomplete"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_cancellation_policy"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_customer_service_details"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_legal_restrictions"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_refund_policy"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_return_policy"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_terms_and_conditions"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_under_construction"]},{"dataType":"enum","enums":["invalid_url_website_other"]},{"dataType":"enum","enums":["invalid_value_other"]},{"dataType":"enum","enums":["verification_directors_mismatch"]},{"dataType":"enum","enums":["verification_document_address_mismatch"]},{"dataType":"enum","enums":["verification_document_address_missing"]},{"dataType":"enum","enums":["verification_document_corrupt"]},{"dataType":"enum","enums":["verification_document_country_not_supported"]},{"dataType":"enum","enums":["verification_document_directors_mismatch"]},{"dataType":"enum","enums":["verification_document_dob_mismatch"]},{"dataType":"enum","enums":["verification_document_duplicate_type"]},{"dataType":"enum","enums":["verification_document_expired"]},{"dataType":"enum","enums":["verification_document_failed_copy"]},{"dataType":"enum","enums":["verification_document_failed_greyscale"]},{"dataType":"enum","enums":["verification_document_failed_other"]},{"dataType":"enum","enums":["verification_document_failed_test_mode"]},{"dataType":"enum","enums":["verification_document_fraudulent"]},{"dataType":"enum","enums":["verification_document_id_number_mismatch"]},{"dataType":"enum","enums":["verification_document_id_number_missing"]},{"dataType":"enum","enums":["verification_document_incomplete"]},{"dataType":"enum","enums":["verification_document_invalid"]},{"dataType":"enum","enums":["verification_document_issue_or_expiry_date_missing"]},{"dataType":"enum","enums":["verification_document_manipulated"]},{"dataType":"enum","enums":["verification_document_missing_back"]},{"dataType":"enum","enums":["verification_document_missing_front"]},{"dataType":"enum","enums":["verification_document_name_mismatch"]},{"dataType":"enum","enums":["verification_document_name_missing"]},{"dataType":"enum","enums":["verification_document_nationality_mismatch"]},{"dataType":"enum","enums":["verification_document_not_readable"]},{"dataType":"enum","enums":["verification_document_not_signed"]},{"dataType":"enum","enums":["verification_document_not_uploaded"]},{"dataType":"enum","enums":["verification_document_photo_mismatch"]},{"dataType":"enum","enums":["verification_document_too_large"]},{"dataType":"enum","enums":["verification_document_type_not_supported"]},{"dataType":"enum","enums":["verification_extraneous_directors"]},{"dataType":"enum","enums":["verification_failed_address_match"]},{"dataType":"enum","enums":["verification_failed_business_iec_number"]},{"dataType":"enum","enums":["verification_failed_document_match"]},{"dataType":"enum","enums":["verification_failed_id_number_match"]},{"dataType":"enum","enums":["verification_failed_keyed_identity"]},{"dataType":"enum","enums":["verification_failed_keyed_match"]},{"dataType":"enum","enums":["verification_failed_name_match"]},{"dataType":"enum","enums":["verification_failed_other"]},{"dataType":"enum","enums":["verification_failed_representative_authority"]},{"dataType":"enum","enums":["verification_failed_residential_address"]},{"dataType":"enum","enums":["verification_failed_tax_id_match"]},{"dataType":"enum","enums":["verification_failed_tax_id_not_issued"]},{"dataType":"enum","enums":["verification_missing_directors"]},{"dataType":"enum","enums":["verification_missing_executives"]},{"dataType":"enum","enums":["verification_missing_owners"]},{"dataType":"enum","enums":["verification_requires_additional_memorandum_of_associations"]},{"dataType":"enum","enums":["verification_requires_additional_proof_of_registration"]},{"dataType":"enum","enums":["verification_supportability"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.RevolutPay": { + "stripe.Stripe.Account.Requirements.Error": { "dataType": "refObject", "properties": { + "code": {"ref":"stripe.Stripe.Account.Requirements.Error.Code","required":true}, + "reason": {"dataType":"string","required":true}, + "requirement": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.SamsungPay": { + "stripe.Stripe.Account.Requirements": { "dataType": "refObject", "properties": { + "alternatives": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Account.Requirements.Alternative"}},{"dataType":"enum","enums":[null]}],"required":true}, + "current_deadline": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "currently_due": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, + "disabled_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Account.Requirements.DisabledReason"},{"dataType":"enum","enums":[null]}],"required":true}, + "errors": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Account.Requirements.Error"}},{"dataType":"enum","enums":[null]}],"required":true}, + "eventually_due": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, + "past_due": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, + "pending_verification": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.SepaDebit.GeneratedFrom": { + "stripe.Stripe.Account.Settings.BacsDebitPayments": { "dataType": "refObject", "properties": { - "charge": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Charge"},{"dataType":"enum","enums":[null]}],"required":true}, - "setup_attempt": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.SetupAttempt"},{"dataType":"enum","enums":[null]}],"required":true}, + "display_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "service_user_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.SepaDebit": { + "stripe.Stripe.Account.Settings.Branding": { "dataType": "refObject", "properties": { - "bank_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "branch_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "generated_from": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.SepaDebit.GeneratedFrom"},{"dataType":"enum","enums":[null]}],"required":true}, - "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "icon": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, + "logo": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, + "primary_color": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "secondary_color": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Sofort": { + "stripe.Stripe.Account.Settings.CardIssuing.TosAcceptance": { "dataType": "refObject", "properties": { - "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "date": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "ip": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "user_agent": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Swish": { + "stripe.Stripe.Account.Settings.CardIssuing": { "dataType": "refObject", "properties": { + "tos_acceptance": {"ref":"stripe.Stripe.Account.Settings.CardIssuing.TosAcceptance"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Twint": { + "stripe.Stripe.Account.Settings.CardPayments.DeclineOn": { "dataType": "refObject", "properties": { + "avs_failure": {"dataType":"boolean","required":true}, + "cvc_failure": {"dataType":"boolean","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Type": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["acss_debit"]},{"dataType":"enum","enums":["affirm"]},{"dataType":"enum","enums":["afterpay_clearpay"]},{"dataType":"enum","enums":["alipay"]},{"dataType":"enum","enums":["alma"]},{"dataType":"enum","enums":["amazon_pay"]},{"dataType":"enum","enums":["au_becs_debit"]},{"dataType":"enum","enums":["bacs_debit"]},{"dataType":"enum","enums":["bancontact"]},{"dataType":"enum","enums":["blik"]},{"dataType":"enum","enums":["boleto"]},{"dataType":"enum","enums":["card"]},{"dataType":"enum","enums":["card_present"]},{"dataType":"enum","enums":["cashapp"]},{"dataType":"enum","enums":["customer_balance"]},{"dataType":"enum","enums":["eps"]},{"dataType":"enum","enums":["fpx"]},{"dataType":"enum","enums":["giropay"]},{"dataType":"enum","enums":["grabpay"]},{"dataType":"enum","enums":["ideal"]},{"dataType":"enum","enums":["interac_present"]},{"dataType":"enum","enums":["kakao_pay"]},{"dataType":"enum","enums":["klarna"]},{"dataType":"enum","enums":["konbini"]},{"dataType":"enum","enums":["kr_card"]},{"dataType":"enum","enums":["link"]},{"dataType":"enum","enums":["mobilepay"]},{"dataType":"enum","enums":["multibanco"]},{"dataType":"enum","enums":["naver_pay"]},{"dataType":"enum","enums":["oxxo"]},{"dataType":"enum","enums":["p24"]},{"dataType":"enum","enums":["pay_by_bank"]},{"dataType":"enum","enums":["payco"]},{"dataType":"enum","enums":["paynow"]},{"dataType":"enum","enums":["paypal"]},{"dataType":"enum","enums":["pix"]},{"dataType":"enum","enums":["promptpay"]},{"dataType":"enum","enums":["revolut_pay"]},{"dataType":"enum","enums":["samsung_pay"]},{"dataType":"enum","enums":["sepa_debit"]},{"dataType":"enum","enums":["sofort"]},{"dataType":"enum","enums":["swish"]},{"dataType":"enum","enums":["twint"]},{"dataType":"enum","enums":["us_bank_account"]},{"dataType":"enum","enums":["wechat_pay"]},{"dataType":"enum","enums":["zip"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.UsBankAccount.AccountHolderType": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["company"]},{"dataType":"enum","enums":["individual"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.UsBankAccount.AccountType": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["checking"]},{"dataType":"enum","enums":["savings"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.UsBankAccount.Networks.Supported": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["ach"]},{"dataType":"enum","enums":["us_domestic_wire"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.UsBankAccount.Networks": { + "stripe.Stripe.Account.Settings.CardPayments": { "dataType": "refObject", "properties": { - "preferred": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "supported": {"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.PaymentMethod.UsBankAccount.Networks.Supported"},"required":true}, + "decline_on": {"ref":"stripe.Stripe.Account.Settings.CardPayments.DeclineOn"}, + "statement_descriptor_prefix": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "statement_descriptor_prefix_kana": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "statement_descriptor_prefix_kanji": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.UsBankAccount.StatusDetails.Blocked.NetworkCode": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["R02"]},{"dataType":"enum","enums":["R03"]},{"dataType":"enum","enums":["R04"]},{"dataType":"enum","enums":["R05"]},{"dataType":"enum","enums":["R07"]},{"dataType":"enum","enums":["R08"]},{"dataType":"enum","enums":["R10"]},{"dataType":"enum","enums":["R11"]},{"dataType":"enum","enums":["R16"]},{"dataType":"enum","enums":["R20"]},{"dataType":"enum","enums":["R29"]},{"dataType":"enum","enums":["R31"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.UsBankAccount.StatusDetails.Blocked.Reason": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["bank_account_closed"]},{"dataType":"enum","enums":["bank_account_frozen"]},{"dataType":"enum","enums":["bank_account_invalid_details"]},{"dataType":"enum","enums":["bank_account_restricted"]},{"dataType":"enum","enums":["bank_account_unusable"]},{"dataType":"enum","enums":["debit_not_authorized"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.UsBankAccount.StatusDetails.Blocked": { + "stripe.Stripe.Account.Settings.Dashboard": { "dataType": "refObject", "properties": { - "network_code": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.UsBankAccount.StatusDetails.Blocked.NetworkCode"},{"dataType":"enum","enums":[null]}],"required":true}, - "reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.UsBankAccount.StatusDetails.Blocked.Reason"},{"dataType":"enum","enums":[null]}],"required":true}, + "display_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "timezone": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.UsBankAccount.StatusDetails": { + "stripe.Stripe.Account.Settings.Invoices": { "dataType": "refObject", "properties": { - "blocked": {"ref":"stripe.Stripe.PaymentMethod.UsBankAccount.StatusDetails.Blocked"}, + "default_account_tax_ids": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TaxId"}]}},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.UsBankAccount": { + "stripe.Stripe.Account.Settings.Payments": { "dataType": "refObject", "properties": { - "account_holder_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.UsBankAccount.AccountHolderType"},{"dataType":"enum","enums":[null]}],"required":true}, - "account_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.UsBankAccount.AccountType"},{"dataType":"enum","enums":[null]}],"required":true}, - "bank_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "financial_connections_account": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "fingerprint": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "last4": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "networks": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.UsBankAccount.Networks"},{"dataType":"enum","enums":[null]}],"required":true}, - "routing_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "status_details": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.PaymentMethod.UsBankAccount.StatusDetails"},{"dataType":"enum","enums":[null]}],"required":true}, + "statement_descriptor": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "statement_descriptor_kana": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "statement_descriptor_kanji": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "statement_descriptor_prefix_kana": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "statement_descriptor_prefix_kanji": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.WechatPay": { + "stripe.Stripe.Account.Settings.Payouts.Schedule": { "dataType": "refObject", "properties": { + "delay_days": {"dataType":"double","required":true}, + "interval": {"dataType":"string","required":true}, + "monthly_anchor": {"dataType":"double"}, + "weekly_anchor": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.PaymentMethod.Zip": { + "stripe.Stripe.Account.Settings.Payouts": { "dataType": "refObject", "properties": { + "debit_negative_balances": {"dataType":"boolean","required":true}, + "schedule": {"ref":"stripe.Stripe.Account.Settings.Payouts.Schedule","required":true}, + "statement_descriptor": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Customer.InvoiceSettings.RenderingOptions": { + "stripe.Stripe.Account.Settings.SepaDebitPayments": { "dataType": "refObject", "properties": { - "amount_tax_display": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "template": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "creditor_id": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Customer.InvoiceSettings": { + "stripe.Stripe.Account.Settings.Treasury.TosAcceptance": { "dataType": "refObject", "properties": { - "custom_fields": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Customer.InvoiceSettings.CustomField"}},{"dataType":"enum","enums":[null]}],"required":true}, - "default_payment_method": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentMethod"},{"dataType":"enum","enums":[null]}],"required":true}, - "footer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "rendering_options": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Customer.InvoiceSettings.RenderingOptions"},{"dataType":"enum","enums":[null]}],"required":true}, + "date": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "ip": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "user_agent": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Customer.Shipping": { + "stripe.Stripe.Account.Settings.Treasury": { "dataType": "refObject", "properties": { - "address": {"ref":"stripe.Stripe.Address"}, - "carrier": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "name": {"dataType":"string"}, - "phone": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "tracking_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "tos_acceptance": {"ref":"stripe.Stripe.Account.Settings.Treasury.TosAcceptance"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.ApiList_stripe.Stripe.CustomerSource_": { + "stripe.Stripe.Account.Settings": { "dataType": "refObject", "properties": { - "object": {"dataType":"enum","enums":["list"],"required":true}, - "data": {"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.CustomerSource"},"required":true}, - "has_more": {"dataType":"boolean","required":true}, - "url": {"dataType":"string","required":true}, + "bacs_debit_payments": {"ref":"stripe.Stripe.Account.Settings.BacsDebitPayments"}, + "branding": {"ref":"stripe.Stripe.Account.Settings.Branding","required":true}, + "card_issuing": {"ref":"stripe.Stripe.Account.Settings.CardIssuing"}, + "card_payments": {"ref":"stripe.Stripe.Account.Settings.CardPayments","required":true}, + "dashboard": {"ref":"stripe.Stripe.Account.Settings.Dashboard","required":true}, + "invoices": {"ref":"stripe.Stripe.Account.Settings.Invoices"}, + "payments": {"ref":"stripe.Stripe.Account.Settings.Payments","required":true}, + "payouts": {"ref":"stripe.Stripe.Account.Settings.Payouts"}, + "sepa_debit_payments": {"ref":"stripe.Stripe.Account.Settings.SepaDebitPayments"}, + "treasury": {"ref":"stripe.Stripe.Account.Settings.Treasury"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.ApiList_stripe.Stripe.Subscription_": { + "stripe.Stripe.Account.TosAcceptance": { "dataType": "refObject", "properties": { - "object": {"dataType":"enum","enums":["list"],"required":true}, - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Subscription"},"required":true}, - "has_more": {"dataType":"boolean","required":true}, - "url": {"dataType":"string","required":true}, + "date": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, + "ip": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "service_agreement": {"dataType":"string"}, + "user_agent": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Customer.Tax.AutomaticTax": { + "stripe.Stripe.Account.Type": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["failed"]},{"dataType":"enum","enums":["not_collecting"]},{"dataType":"enum","enums":["supported"]},{"dataType":"enum","enums":["unrecognized_location"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["custom"]},{"dataType":"enum","enums":["express"]},{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["standard"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Customer.Tax.Location.Source": { + "stripe.Stripe.Subscription.AutomaticTax.Liability.Type": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["billing_address"]},{"dataType":"enum","enums":["ip_address"]},{"dataType":"enum","enums":["payment_method"]},{"dataType":"enum","enums":["shipping_destination"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account"]},{"dataType":"enum","enums":["self"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Customer.Tax.Location": { + "stripe.Stripe.Subscription.AutomaticTax.Liability": { "dataType": "refObject", "properties": { - "country": {"dataType":"string","required":true}, - "source": {"ref":"stripe.Stripe.Customer.Tax.Location.Source","required":true}, - "state": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "account": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}]}, + "type": {"ref":"stripe.Stripe.Subscription.AutomaticTax.Liability.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Customer.Tax": { + "stripe.Stripe.Subscription.AutomaticTax": { "dataType": "refObject", "properties": { - "automatic_tax": {"ref":"stripe.Stripe.Customer.Tax.AutomaticTax","required":true}, - "ip_address": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "location": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Customer.Tax.Location"},{"dataType":"enum","enums":[null]}],"required":true}, + "disabled_reason": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["requires_location_inputs"]},{"dataType":"enum","enums":[null]}],"required":true}, + "enabled": {"dataType":"boolean","required":true}, + "liability": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.AutomaticTax.Liability"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Customer.TaxExempt": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["exempt"]},{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["reverse"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.ApiList_stripe.Stripe.TaxId_": { + "stripe.Stripe.Subscription.BillingCycleAnchorConfig": { "dataType": "refObject", "properties": { - "object": {"dataType":"enum","enums":["list"],"required":true}, - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.TaxId"},"required":true}, - "has_more": {"dataType":"boolean","required":true}, - "url": {"dataType":"string","required":true}, + "day_of_month": {"dataType":"double","required":true}, + "hour": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "minute": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "month": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "second": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.BankAccount.FutureRequirements.Error.Code": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["invalid_address_city_state_postal_code"]},{"dataType":"enum","enums":["invalid_address_highway_contract_box"]},{"dataType":"enum","enums":["invalid_address_private_mailbox"]},{"dataType":"enum","enums":["invalid_business_profile_name"]},{"dataType":"enum","enums":["invalid_business_profile_name_denylisted"]},{"dataType":"enum","enums":["invalid_company_name_denylisted"]},{"dataType":"enum","enums":["invalid_dob_age_over_maximum"]},{"dataType":"enum","enums":["invalid_dob_age_under_18"]},{"dataType":"enum","enums":["invalid_dob_age_under_minimum"]},{"dataType":"enum","enums":["invalid_product_description_length"]},{"dataType":"enum","enums":["invalid_product_description_url_match"]},{"dataType":"enum","enums":["invalid_representative_country"]},{"dataType":"enum","enums":["invalid_statement_descriptor_business_mismatch"]},{"dataType":"enum","enums":["invalid_statement_descriptor_denylisted"]},{"dataType":"enum","enums":["invalid_statement_descriptor_length"]},{"dataType":"enum","enums":["invalid_statement_descriptor_prefix_denylisted"]},{"dataType":"enum","enums":["invalid_statement_descriptor_prefix_mismatch"]},{"dataType":"enum","enums":["invalid_street_address"]},{"dataType":"enum","enums":["invalid_tax_id"]},{"dataType":"enum","enums":["invalid_tax_id_format"]},{"dataType":"enum","enums":["invalid_tos_acceptance"]},{"dataType":"enum","enums":["invalid_url_denylisted"]},{"dataType":"enum","enums":["invalid_url_format"]},{"dataType":"enum","enums":["invalid_url_length"]},{"dataType":"enum","enums":["invalid_url_web_presence_detected"]},{"dataType":"enum","enums":["invalid_url_website_business_information_mismatch"]},{"dataType":"enum","enums":["invalid_url_website_empty"]},{"dataType":"enum","enums":["invalid_url_website_inaccessible"]},{"dataType":"enum","enums":["invalid_url_website_inaccessible_geoblocked"]},{"dataType":"enum","enums":["invalid_url_website_inaccessible_password_protected"]},{"dataType":"enum","enums":["invalid_url_website_incomplete"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_cancellation_policy"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_customer_service_details"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_legal_restrictions"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_refund_policy"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_return_policy"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_terms_and_conditions"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_under_construction"]},{"dataType":"enum","enums":["invalid_url_website_other"]},{"dataType":"enum","enums":["invalid_value_other"]},{"dataType":"enum","enums":["verification_directors_mismatch"]},{"dataType":"enum","enums":["verification_document_address_mismatch"]},{"dataType":"enum","enums":["verification_document_address_missing"]},{"dataType":"enum","enums":["verification_document_corrupt"]},{"dataType":"enum","enums":["verification_document_country_not_supported"]},{"dataType":"enum","enums":["verification_document_directors_mismatch"]},{"dataType":"enum","enums":["verification_document_dob_mismatch"]},{"dataType":"enum","enums":["verification_document_duplicate_type"]},{"dataType":"enum","enums":["verification_document_expired"]},{"dataType":"enum","enums":["verification_document_failed_copy"]},{"dataType":"enum","enums":["verification_document_failed_greyscale"]},{"dataType":"enum","enums":["verification_document_failed_other"]},{"dataType":"enum","enums":["verification_document_failed_test_mode"]},{"dataType":"enum","enums":["verification_document_fraudulent"]},{"dataType":"enum","enums":["verification_document_id_number_mismatch"]},{"dataType":"enum","enums":["verification_document_id_number_missing"]},{"dataType":"enum","enums":["verification_document_incomplete"]},{"dataType":"enum","enums":["verification_document_invalid"]},{"dataType":"enum","enums":["verification_document_issue_or_expiry_date_missing"]},{"dataType":"enum","enums":["verification_document_manipulated"]},{"dataType":"enum","enums":["verification_document_missing_back"]},{"dataType":"enum","enums":["verification_document_missing_front"]},{"dataType":"enum","enums":["verification_document_name_mismatch"]},{"dataType":"enum","enums":["verification_document_name_missing"]},{"dataType":"enum","enums":["verification_document_nationality_mismatch"]},{"dataType":"enum","enums":["verification_document_not_readable"]},{"dataType":"enum","enums":["verification_document_not_signed"]},{"dataType":"enum","enums":["verification_document_not_uploaded"]},{"dataType":"enum","enums":["verification_document_photo_mismatch"]},{"dataType":"enum","enums":["verification_document_too_large"]},{"dataType":"enum","enums":["verification_document_type_not_supported"]},{"dataType":"enum","enums":["verification_extraneous_directors"]},{"dataType":"enum","enums":["verification_failed_address_match"]},{"dataType":"enum","enums":["verification_failed_business_iec_number"]},{"dataType":"enum","enums":["verification_failed_document_match"]},{"dataType":"enum","enums":["verification_failed_id_number_match"]},{"dataType":"enum","enums":["verification_failed_keyed_identity"]},{"dataType":"enum","enums":["verification_failed_keyed_match"]},{"dataType":"enum","enums":["verification_failed_name_match"]},{"dataType":"enum","enums":["verification_failed_other"]},{"dataType":"enum","enums":["verification_failed_representative_authority"]},{"dataType":"enum","enums":["verification_failed_residential_address"]},{"dataType":"enum","enums":["verification_failed_tax_id_match"]},{"dataType":"enum","enums":["verification_failed_tax_id_not_issued"]},{"dataType":"enum","enums":["verification_missing_directors"]},{"dataType":"enum","enums":["verification_missing_executives"]},{"dataType":"enum","enums":["verification_missing_owners"]},{"dataType":"enum","enums":["verification_requires_additional_memorandum_of_associations"]},{"dataType":"enum","enums":["verification_requires_additional_proof_of_registration"]},{"dataType":"enum","enums":["verification_supportability"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.BankAccount.FutureRequirements.Error": { + "stripe.Stripe.Subscription.BillingThresholds": { "dataType": "refObject", "properties": { - "code": {"ref":"stripe.Stripe.BankAccount.FutureRequirements.Error.Code","required":true}, - "reason": {"dataType":"string","required":true}, - "requirement": {"dataType":"string","required":true}, + "amount_gte": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "reset_billing_cycle_anchor": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.BankAccount.FutureRequirements": { + "stripe.Stripe.Subscription.CancellationDetails.Feedback": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["customer_service"]},{"dataType":"enum","enums":["low_quality"]},{"dataType":"enum","enums":["missing_features"]},{"dataType":"enum","enums":["other"]},{"dataType":"enum","enums":["switched_service"]},{"dataType":"enum","enums":["too_complex"]},{"dataType":"enum","enums":["too_expensive"]},{"dataType":"enum","enums":["unused"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Subscription.CancellationDetails.Reason": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["cancellation_requested"]},{"dataType":"enum","enums":["payment_disputed"]},{"dataType":"enum","enums":["payment_failed"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Subscription.CancellationDetails": { "dataType": "refObject", "properties": { - "currently_due": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, - "errors": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.BankAccount.FutureRequirements.Error"}},{"dataType":"enum","enums":[null]}],"required":true}, - "past_due": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, - "pending_verification": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, + "comment": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "feedback": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.CancellationDetails.Feedback"},{"dataType":"enum","enums":[null]}],"required":true}, + "reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.CancellationDetails.Reason"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.BankAccount.Requirements.Error.Code": { + "stripe.Stripe.Subscription.CollectionMethod": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["invalid_address_city_state_postal_code"]},{"dataType":"enum","enums":["invalid_address_highway_contract_box"]},{"dataType":"enum","enums":["invalid_address_private_mailbox"]},{"dataType":"enum","enums":["invalid_business_profile_name"]},{"dataType":"enum","enums":["invalid_business_profile_name_denylisted"]},{"dataType":"enum","enums":["invalid_company_name_denylisted"]},{"dataType":"enum","enums":["invalid_dob_age_over_maximum"]},{"dataType":"enum","enums":["invalid_dob_age_under_18"]},{"dataType":"enum","enums":["invalid_dob_age_under_minimum"]},{"dataType":"enum","enums":["invalid_product_description_length"]},{"dataType":"enum","enums":["invalid_product_description_url_match"]},{"dataType":"enum","enums":["invalid_representative_country"]},{"dataType":"enum","enums":["invalid_statement_descriptor_business_mismatch"]},{"dataType":"enum","enums":["invalid_statement_descriptor_denylisted"]},{"dataType":"enum","enums":["invalid_statement_descriptor_length"]},{"dataType":"enum","enums":["invalid_statement_descriptor_prefix_denylisted"]},{"dataType":"enum","enums":["invalid_statement_descriptor_prefix_mismatch"]},{"dataType":"enum","enums":["invalid_street_address"]},{"dataType":"enum","enums":["invalid_tax_id"]},{"dataType":"enum","enums":["invalid_tax_id_format"]},{"dataType":"enum","enums":["invalid_tos_acceptance"]},{"dataType":"enum","enums":["invalid_url_denylisted"]},{"dataType":"enum","enums":["invalid_url_format"]},{"dataType":"enum","enums":["invalid_url_length"]},{"dataType":"enum","enums":["invalid_url_web_presence_detected"]},{"dataType":"enum","enums":["invalid_url_website_business_information_mismatch"]},{"dataType":"enum","enums":["invalid_url_website_empty"]},{"dataType":"enum","enums":["invalid_url_website_inaccessible"]},{"dataType":"enum","enums":["invalid_url_website_inaccessible_geoblocked"]},{"dataType":"enum","enums":["invalid_url_website_inaccessible_password_protected"]},{"dataType":"enum","enums":["invalid_url_website_incomplete"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_cancellation_policy"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_customer_service_details"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_legal_restrictions"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_refund_policy"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_return_policy"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_terms_and_conditions"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_under_construction"]},{"dataType":"enum","enums":["invalid_url_website_other"]},{"dataType":"enum","enums":["invalid_value_other"]},{"dataType":"enum","enums":["verification_directors_mismatch"]},{"dataType":"enum","enums":["verification_document_address_mismatch"]},{"dataType":"enum","enums":["verification_document_address_missing"]},{"dataType":"enum","enums":["verification_document_corrupt"]},{"dataType":"enum","enums":["verification_document_country_not_supported"]},{"dataType":"enum","enums":["verification_document_directors_mismatch"]},{"dataType":"enum","enums":["verification_document_dob_mismatch"]},{"dataType":"enum","enums":["verification_document_duplicate_type"]},{"dataType":"enum","enums":["verification_document_expired"]},{"dataType":"enum","enums":["verification_document_failed_copy"]},{"dataType":"enum","enums":["verification_document_failed_greyscale"]},{"dataType":"enum","enums":["verification_document_failed_other"]},{"dataType":"enum","enums":["verification_document_failed_test_mode"]},{"dataType":"enum","enums":["verification_document_fraudulent"]},{"dataType":"enum","enums":["verification_document_id_number_mismatch"]},{"dataType":"enum","enums":["verification_document_id_number_missing"]},{"dataType":"enum","enums":["verification_document_incomplete"]},{"dataType":"enum","enums":["verification_document_invalid"]},{"dataType":"enum","enums":["verification_document_issue_or_expiry_date_missing"]},{"dataType":"enum","enums":["verification_document_manipulated"]},{"dataType":"enum","enums":["verification_document_missing_back"]},{"dataType":"enum","enums":["verification_document_missing_front"]},{"dataType":"enum","enums":["verification_document_name_mismatch"]},{"dataType":"enum","enums":["verification_document_name_missing"]},{"dataType":"enum","enums":["verification_document_nationality_mismatch"]},{"dataType":"enum","enums":["verification_document_not_readable"]},{"dataType":"enum","enums":["verification_document_not_signed"]},{"dataType":"enum","enums":["verification_document_not_uploaded"]},{"dataType":"enum","enums":["verification_document_photo_mismatch"]},{"dataType":"enum","enums":["verification_document_too_large"]},{"dataType":"enum","enums":["verification_document_type_not_supported"]},{"dataType":"enum","enums":["verification_extraneous_directors"]},{"dataType":"enum","enums":["verification_failed_address_match"]},{"dataType":"enum","enums":["verification_failed_business_iec_number"]},{"dataType":"enum","enums":["verification_failed_document_match"]},{"dataType":"enum","enums":["verification_failed_id_number_match"]},{"dataType":"enum","enums":["verification_failed_keyed_identity"]},{"dataType":"enum","enums":["verification_failed_keyed_match"]},{"dataType":"enum","enums":["verification_failed_name_match"]},{"dataType":"enum","enums":["verification_failed_other"]},{"dataType":"enum","enums":["verification_failed_representative_authority"]},{"dataType":"enum","enums":["verification_failed_residential_address"]},{"dataType":"enum","enums":["verification_failed_tax_id_match"]},{"dataType":"enum","enums":["verification_failed_tax_id_not_issued"]},{"dataType":"enum","enums":["verification_missing_directors"]},{"dataType":"enum","enums":["verification_missing_executives"]},{"dataType":"enum","enums":["verification_missing_owners"]},{"dataType":"enum","enums":["verification_requires_additional_memorandum_of_associations"]},{"dataType":"enum","enums":["verification_requires_additional_proof_of_registration"]},{"dataType":"enum","enums":["verification_supportability"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["charge_automatically"]},{"dataType":"enum","enums":["send_invoice"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.BankAccount.Requirements.Error": { + "stripe.Stripe.Subscription.InvoiceSettings.Issuer.Type": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account"]},{"dataType":"enum","enums":["self"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Subscription.InvoiceSettings.Issuer": { "dataType": "refObject", "properties": { - "code": {"ref":"stripe.Stripe.BankAccount.Requirements.Error.Code","required":true}, - "reason": {"dataType":"string","required":true}, - "requirement": {"dataType":"string","required":true}, + "account": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}]}, + "type": {"ref":"stripe.Stripe.Subscription.InvoiceSettings.Issuer.Type","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.BankAccount.Requirements": { + "stripe.Stripe.Subscription.InvoiceSettings": { "dataType": "refObject", "properties": { - "currently_due": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, - "errors": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.BankAccount.Requirements.Error"}},{"dataType":"enum","enums":[null]}],"required":true}, - "past_due": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, - "pending_verification": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, + "account_tax_ids": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TaxId"},{"ref":"stripe.Stripe.DeletedTaxId"}]}},{"dataType":"enum","enums":[null]}],"required":true}, + "issuer": {"ref":"stripe.Stripe.Subscription.InvoiceSettings.Issuer","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.ApiList_stripe.Stripe.ExternalAccount_": { + "stripe.Stripe.ApiList_stripe.Stripe.SubscriptionItem_": { "dataType": "refObject", "properties": { "object": {"dataType":"enum","enums":["list"],"required":true}, - "data": {"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.ExternalAccount"},"required":true}, + "data": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.SubscriptionItem"},"required":true}, "has_more": {"dataType":"boolean","required":true}, "url": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.FutureRequirements.Alternative": { + "stripe.Stripe.Subscription.PauseCollection.Behavior": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["keep_as_draft"]},{"dataType":"enum","enums":["mark_uncollectible"]},{"dataType":"enum","enums":["void"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Subscription.PauseCollection": { "dataType": "refObject", "properties": { - "alternative_fields_due": {"dataType":"array","array":{"dataType":"string"},"required":true}, - "original_fields_due": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "behavior": {"ref":"stripe.Stripe.Subscription.PauseCollection.Behavior","required":true}, + "resumes_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.FutureRequirements.DisabledReason": { + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.AcssDebit.MandateOptions.TransactionType": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["action_required.requested_capabilities"]},{"dataType":"enum","enums":["listed"]},{"dataType":"enum","enums":["other"]},{"dataType":"enum","enums":["platform_paused"]},{"dataType":"enum","enums":["rejected.fraud"]},{"dataType":"enum","enums":["rejected.incomplete_verification"]},{"dataType":"enum","enums":["rejected.listed"]},{"dataType":"enum","enums":["rejected.other"]},{"dataType":"enum","enums":["rejected.platform_fraud"]},{"dataType":"enum","enums":["rejected.platform_other"]},{"dataType":"enum","enums":["rejected.platform_terms_of_service"]},{"dataType":"enum","enums":["rejected.terms_of_service"]},{"dataType":"enum","enums":["requirements.past_due"]},{"dataType":"enum","enums":["requirements.pending_verification"]},{"dataType":"enum","enums":["under_review"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["business"]},{"dataType":"enum","enums":["personal"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.FutureRequirements.Error.Code": { + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.AcssDebit.MandateOptions": { + "dataType": "refObject", + "properties": { + "transaction_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.AcssDebit.MandateOptions.TransactionType"},{"dataType":"enum","enums":[null]}],"required":true}, + }, + "additionalProperties": false, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.AcssDebit.VerificationMethod": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["invalid_address_city_state_postal_code"]},{"dataType":"enum","enums":["invalid_address_highway_contract_box"]},{"dataType":"enum","enums":["invalid_address_private_mailbox"]},{"dataType":"enum","enums":["invalid_business_profile_name"]},{"dataType":"enum","enums":["invalid_business_profile_name_denylisted"]},{"dataType":"enum","enums":["invalid_company_name_denylisted"]},{"dataType":"enum","enums":["invalid_dob_age_over_maximum"]},{"dataType":"enum","enums":["invalid_dob_age_under_18"]},{"dataType":"enum","enums":["invalid_dob_age_under_minimum"]},{"dataType":"enum","enums":["invalid_product_description_length"]},{"dataType":"enum","enums":["invalid_product_description_url_match"]},{"dataType":"enum","enums":["invalid_representative_country"]},{"dataType":"enum","enums":["invalid_statement_descriptor_business_mismatch"]},{"dataType":"enum","enums":["invalid_statement_descriptor_denylisted"]},{"dataType":"enum","enums":["invalid_statement_descriptor_length"]},{"dataType":"enum","enums":["invalid_statement_descriptor_prefix_denylisted"]},{"dataType":"enum","enums":["invalid_statement_descriptor_prefix_mismatch"]},{"dataType":"enum","enums":["invalid_street_address"]},{"dataType":"enum","enums":["invalid_tax_id"]},{"dataType":"enum","enums":["invalid_tax_id_format"]},{"dataType":"enum","enums":["invalid_tos_acceptance"]},{"dataType":"enum","enums":["invalid_url_denylisted"]},{"dataType":"enum","enums":["invalid_url_format"]},{"dataType":"enum","enums":["invalid_url_length"]},{"dataType":"enum","enums":["invalid_url_web_presence_detected"]},{"dataType":"enum","enums":["invalid_url_website_business_information_mismatch"]},{"dataType":"enum","enums":["invalid_url_website_empty"]},{"dataType":"enum","enums":["invalid_url_website_inaccessible"]},{"dataType":"enum","enums":["invalid_url_website_inaccessible_geoblocked"]},{"dataType":"enum","enums":["invalid_url_website_inaccessible_password_protected"]},{"dataType":"enum","enums":["invalid_url_website_incomplete"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_cancellation_policy"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_customer_service_details"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_legal_restrictions"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_refund_policy"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_return_policy"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_terms_and_conditions"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_under_construction"]},{"dataType":"enum","enums":["invalid_url_website_other"]},{"dataType":"enum","enums":["invalid_value_other"]},{"dataType":"enum","enums":["verification_directors_mismatch"]},{"dataType":"enum","enums":["verification_document_address_mismatch"]},{"dataType":"enum","enums":["verification_document_address_missing"]},{"dataType":"enum","enums":["verification_document_corrupt"]},{"dataType":"enum","enums":["verification_document_country_not_supported"]},{"dataType":"enum","enums":["verification_document_directors_mismatch"]},{"dataType":"enum","enums":["verification_document_dob_mismatch"]},{"dataType":"enum","enums":["verification_document_duplicate_type"]},{"dataType":"enum","enums":["verification_document_expired"]},{"dataType":"enum","enums":["verification_document_failed_copy"]},{"dataType":"enum","enums":["verification_document_failed_greyscale"]},{"dataType":"enum","enums":["verification_document_failed_other"]},{"dataType":"enum","enums":["verification_document_failed_test_mode"]},{"dataType":"enum","enums":["verification_document_fraudulent"]},{"dataType":"enum","enums":["verification_document_id_number_mismatch"]},{"dataType":"enum","enums":["verification_document_id_number_missing"]},{"dataType":"enum","enums":["verification_document_incomplete"]},{"dataType":"enum","enums":["verification_document_invalid"]},{"dataType":"enum","enums":["verification_document_issue_or_expiry_date_missing"]},{"dataType":"enum","enums":["verification_document_manipulated"]},{"dataType":"enum","enums":["verification_document_missing_back"]},{"dataType":"enum","enums":["verification_document_missing_front"]},{"dataType":"enum","enums":["verification_document_name_mismatch"]},{"dataType":"enum","enums":["verification_document_name_missing"]},{"dataType":"enum","enums":["verification_document_nationality_mismatch"]},{"dataType":"enum","enums":["verification_document_not_readable"]},{"dataType":"enum","enums":["verification_document_not_signed"]},{"dataType":"enum","enums":["verification_document_not_uploaded"]},{"dataType":"enum","enums":["verification_document_photo_mismatch"]},{"dataType":"enum","enums":["verification_document_too_large"]},{"dataType":"enum","enums":["verification_document_type_not_supported"]},{"dataType":"enum","enums":["verification_extraneous_directors"]},{"dataType":"enum","enums":["verification_failed_address_match"]},{"dataType":"enum","enums":["verification_failed_business_iec_number"]},{"dataType":"enum","enums":["verification_failed_document_match"]},{"dataType":"enum","enums":["verification_failed_id_number_match"]},{"dataType":"enum","enums":["verification_failed_keyed_identity"]},{"dataType":"enum","enums":["verification_failed_keyed_match"]},{"dataType":"enum","enums":["verification_failed_name_match"]},{"dataType":"enum","enums":["verification_failed_other"]},{"dataType":"enum","enums":["verification_failed_representative_authority"]},{"dataType":"enum","enums":["verification_failed_residential_address"]},{"dataType":"enum","enums":["verification_failed_tax_id_match"]},{"dataType":"enum","enums":["verification_failed_tax_id_not_issued"]},{"dataType":"enum","enums":["verification_missing_directors"]},{"dataType":"enum","enums":["verification_missing_executives"]},{"dataType":"enum","enums":["verification_missing_owners"]},{"dataType":"enum","enums":["verification_requires_additional_memorandum_of_associations"]},{"dataType":"enum","enums":["verification_requires_additional_proof_of_registration"]},{"dataType":"enum","enums":["verification_supportability"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["automatic"]},{"dataType":"enum","enums":["instant"]},{"dataType":"enum","enums":["microdeposits"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.FutureRequirements.Error": { + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.AcssDebit": { "dataType": "refObject", "properties": { - "code": {"ref":"stripe.Stripe.Account.FutureRequirements.Error.Code","required":true}, - "reason": {"dataType":"string","required":true}, - "requirement": {"dataType":"string","required":true}, + "mandate_options": {"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.AcssDebit.MandateOptions"}, + "verification_method": {"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.AcssDebit.VerificationMethod"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.FutureRequirements": { + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Bancontact.PreferredLanguage": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["de"]},{"dataType":"enum","enums":["en"]},{"dataType":"enum","enums":["fr"]},{"dataType":"enum","enums":["nl"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Bancontact": { "dataType": "refObject", "properties": { - "alternatives": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Account.FutureRequirements.Alternative"}},{"dataType":"enum","enums":[null]}],"required":true}, - "current_deadline": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "currently_due": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, - "disabled_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Account.FutureRequirements.DisabledReason"},{"dataType":"enum","enums":[null]}],"required":true}, - "errors": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Account.FutureRequirements.Error"}},{"dataType":"enum","enums":[null]}],"required":true}, - "eventually_due": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, - "past_due": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, - "pending_verification": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, + "preferred_language": {"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Bancontact.PreferredLanguage","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Groups": { + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Card.MandateOptions.AmountType": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["fixed"]},{"dataType":"enum","enums":["maximum"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Card.MandateOptions": { "dataType": "refObject", "properties": { - "payments_pricing": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "amount_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Card.MandateOptions.AmountType"},{"dataType":"enum","enums":[null]}],"required":true}, + "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Person.AdditionalTosAcceptances.Account": { + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Card.Network": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["amex"]},{"dataType":"enum","enums":["cartes_bancaires"]},{"dataType":"enum","enums":["diners"]},{"dataType":"enum","enums":["discover"]},{"dataType":"enum","enums":["eftpos_au"]},{"dataType":"enum","enums":["girocard"]},{"dataType":"enum","enums":["interac"]},{"dataType":"enum","enums":["jcb"]},{"dataType":"enum","enums":["link"]},{"dataType":"enum","enums":["mastercard"]},{"dataType":"enum","enums":["unionpay"]},{"dataType":"enum","enums":["unknown"]},{"dataType":"enum","enums":["visa"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Card.RequestThreeDSecure": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["any"]},{"dataType":"enum","enums":["automatic"]},{"dataType":"enum","enums":["challenge"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Card": { "dataType": "refObject", "properties": { - "date": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "ip": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "user_agent": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "mandate_options": {"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Card.MandateOptions"}, + "network": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Card.Network"},{"dataType":"enum","enums":[null]}],"required":true}, + "request_three_d_secure": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Card.RequestThreeDSecure"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Person.AdditionalTosAcceptances": { + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer.Country": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["BE"]},{"dataType":"enum","enums":["DE"]},{"dataType":"enum","enums":["ES"]},{"dataType":"enum","enums":["FR"]},{"dataType":"enum","enums":["IE"]},{"dataType":"enum","enums":["NL"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer": { "dataType": "refObject", "properties": { - "account": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Person.AdditionalTosAcceptances.Account"},{"dataType":"enum","enums":[null]}],"required":true}, + "country": {"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer.Country","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Person.AddressKana": { + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer": { "dataType": "refObject", "properties": { - "city": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "line1": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "line2": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "postal_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "state": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "town": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "eu_bank_transfer": {"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer"}, + "type": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Person.AddressKanji": { + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.CustomerBalance": { "dataType": "refObject", "properties": { - "city": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "country": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "line1": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "line2": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "postal_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "state": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "town": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "bank_transfer": {"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer"}, + "funding_type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["bank_transfer"]},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Person.Dob": { + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Konbini": { "dataType": "refObject", "properties": { - "day": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "month": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "year": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Person.FutureRequirements.Alternative": { + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.SepaDebit": { "dataType": "refObject", "properties": { - "alternative_fields_due": {"dataType":"array","array":{"dataType":"string"},"required":true}, - "original_fields_due": {"dataType":"array","array":{"dataType":"string"},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Person.FutureRequirements.Error.Code": { + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters.AccountSubcategory": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["invalid_address_city_state_postal_code"]},{"dataType":"enum","enums":["invalid_address_highway_contract_box"]},{"dataType":"enum","enums":["invalid_address_private_mailbox"]},{"dataType":"enum","enums":["invalid_business_profile_name"]},{"dataType":"enum","enums":["invalid_business_profile_name_denylisted"]},{"dataType":"enum","enums":["invalid_company_name_denylisted"]},{"dataType":"enum","enums":["invalid_dob_age_over_maximum"]},{"dataType":"enum","enums":["invalid_dob_age_under_18"]},{"dataType":"enum","enums":["invalid_dob_age_under_minimum"]},{"dataType":"enum","enums":["invalid_product_description_length"]},{"dataType":"enum","enums":["invalid_product_description_url_match"]},{"dataType":"enum","enums":["invalid_representative_country"]},{"dataType":"enum","enums":["invalid_statement_descriptor_business_mismatch"]},{"dataType":"enum","enums":["invalid_statement_descriptor_denylisted"]},{"dataType":"enum","enums":["invalid_statement_descriptor_length"]},{"dataType":"enum","enums":["invalid_statement_descriptor_prefix_denylisted"]},{"dataType":"enum","enums":["invalid_statement_descriptor_prefix_mismatch"]},{"dataType":"enum","enums":["invalid_street_address"]},{"dataType":"enum","enums":["invalid_tax_id"]},{"dataType":"enum","enums":["invalid_tax_id_format"]},{"dataType":"enum","enums":["invalid_tos_acceptance"]},{"dataType":"enum","enums":["invalid_url_denylisted"]},{"dataType":"enum","enums":["invalid_url_format"]},{"dataType":"enum","enums":["invalid_url_length"]},{"dataType":"enum","enums":["invalid_url_web_presence_detected"]},{"dataType":"enum","enums":["invalid_url_website_business_information_mismatch"]},{"dataType":"enum","enums":["invalid_url_website_empty"]},{"dataType":"enum","enums":["invalid_url_website_inaccessible"]},{"dataType":"enum","enums":["invalid_url_website_inaccessible_geoblocked"]},{"dataType":"enum","enums":["invalid_url_website_inaccessible_password_protected"]},{"dataType":"enum","enums":["invalid_url_website_incomplete"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_cancellation_policy"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_customer_service_details"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_legal_restrictions"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_refund_policy"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_return_policy"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_terms_and_conditions"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_under_construction"]},{"dataType":"enum","enums":["invalid_url_website_other"]},{"dataType":"enum","enums":["invalid_value_other"]},{"dataType":"enum","enums":["verification_directors_mismatch"]},{"dataType":"enum","enums":["verification_document_address_mismatch"]},{"dataType":"enum","enums":["verification_document_address_missing"]},{"dataType":"enum","enums":["verification_document_corrupt"]},{"dataType":"enum","enums":["verification_document_country_not_supported"]},{"dataType":"enum","enums":["verification_document_directors_mismatch"]},{"dataType":"enum","enums":["verification_document_dob_mismatch"]},{"dataType":"enum","enums":["verification_document_duplicate_type"]},{"dataType":"enum","enums":["verification_document_expired"]},{"dataType":"enum","enums":["verification_document_failed_copy"]},{"dataType":"enum","enums":["verification_document_failed_greyscale"]},{"dataType":"enum","enums":["verification_document_failed_other"]},{"dataType":"enum","enums":["verification_document_failed_test_mode"]},{"dataType":"enum","enums":["verification_document_fraudulent"]},{"dataType":"enum","enums":["verification_document_id_number_mismatch"]},{"dataType":"enum","enums":["verification_document_id_number_missing"]},{"dataType":"enum","enums":["verification_document_incomplete"]},{"dataType":"enum","enums":["verification_document_invalid"]},{"dataType":"enum","enums":["verification_document_issue_or_expiry_date_missing"]},{"dataType":"enum","enums":["verification_document_manipulated"]},{"dataType":"enum","enums":["verification_document_missing_back"]},{"dataType":"enum","enums":["verification_document_missing_front"]},{"dataType":"enum","enums":["verification_document_name_mismatch"]},{"dataType":"enum","enums":["verification_document_name_missing"]},{"dataType":"enum","enums":["verification_document_nationality_mismatch"]},{"dataType":"enum","enums":["verification_document_not_readable"]},{"dataType":"enum","enums":["verification_document_not_signed"]},{"dataType":"enum","enums":["verification_document_not_uploaded"]},{"dataType":"enum","enums":["verification_document_photo_mismatch"]},{"dataType":"enum","enums":["verification_document_too_large"]},{"dataType":"enum","enums":["verification_document_type_not_supported"]},{"dataType":"enum","enums":["verification_extraneous_directors"]},{"dataType":"enum","enums":["verification_failed_address_match"]},{"dataType":"enum","enums":["verification_failed_business_iec_number"]},{"dataType":"enum","enums":["verification_failed_document_match"]},{"dataType":"enum","enums":["verification_failed_id_number_match"]},{"dataType":"enum","enums":["verification_failed_keyed_identity"]},{"dataType":"enum","enums":["verification_failed_keyed_match"]},{"dataType":"enum","enums":["verification_failed_name_match"]},{"dataType":"enum","enums":["verification_failed_other"]},{"dataType":"enum","enums":["verification_failed_representative_authority"]},{"dataType":"enum","enums":["verification_failed_residential_address"]},{"dataType":"enum","enums":["verification_failed_tax_id_match"]},{"dataType":"enum","enums":["verification_failed_tax_id_not_issued"]},{"dataType":"enum","enums":["verification_missing_directors"]},{"dataType":"enum","enums":["verification_missing_executives"]},{"dataType":"enum","enums":["verification_missing_owners"]},{"dataType":"enum","enums":["verification_requires_additional_memorandum_of_associations"]},{"dataType":"enum","enums":["verification_requires_additional_proof_of_registration"]},{"dataType":"enum","enums":["verification_supportability"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["checking"]},{"dataType":"enum","enums":["savings"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Person.FutureRequirements.Error": { + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters": { "dataType": "refObject", "properties": { - "code": {"ref":"stripe.Stripe.Person.FutureRequirements.Error.Code","required":true}, - "reason": {"dataType":"string","required":true}, - "requirement": {"dataType":"string","required":true}, + "account_subcategories": {"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters.AccountSubcategory"}}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Person.FutureRequirements": { + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Permission": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["balances"]},{"dataType":"enum","enums":["ownership"]},{"dataType":"enum","enums":["payment_method"]},{"dataType":"enum","enums":["transactions"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Prefetch": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["balances"]},{"dataType":"enum","enums":["ownership"]},{"dataType":"enum","enums":["transactions"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections": { "dataType": "refObject", "properties": { - "alternatives": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Person.FutureRequirements.Alternative"}},{"dataType":"enum","enums":[null]}],"required":true}, - "currently_due": {"dataType":"array","array":{"dataType":"string"},"required":true}, - "errors": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Person.FutureRequirements.Error"},"required":true}, - "eventually_due": {"dataType":"array","array":{"dataType":"string"},"required":true}, - "past_due": {"dataType":"array","array":{"dataType":"string"},"required":true}, - "pending_verification": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "filters": {"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters"}, + "permissions": {"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Permission"}}, + "prefetch": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Prefetch"}},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Person.PoliticalExposure": { + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.VerificationMethod": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["existing"]},{"dataType":"enum","enums":["none"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["automatic"]},{"dataType":"enum","enums":["instant"]},{"dataType":"enum","enums":["microdeposits"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Person.Relationship": { + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount": { "dataType": "refObject", "properties": { - "authorizer": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, - "director": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, - "executive": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, - "legal_guardian": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, - "owner": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, - "percent_ownership": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "representative": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, - "title": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "financial_connections": {"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections"}, + "verification_method": {"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.VerificationMethod"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Person.Requirements.Alternative": { + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions": { "dataType": "refObject", "properties": { - "alternative_fields_due": {"dataType":"array","array":{"dataType":"string"},"required":true}, - "original_fields_due": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "acss_debit": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.AcssDebit"},{"dataType":"enum","enums":[null]}],"required":true}, + "bancontact": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Bancontact"},{"dataType":"enum","enums":[null]}],"required":true}, + "card": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Card"},{"dataType":"enum","enums":[null]}],"required":true}, + "customer_balance": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.CustomerBalance"},{"dataType":"enum","enums":[null]}],"required":true}, + "konbini": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Konbini"},{"dataType":"enum","enums":[null]}],"required":true}, + "sepa_debit": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.SepaDebit"},{"dataType":"enum","enums":[null]}],"required":true}, + "us_bank_account": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Person.Requirements.Error.Code": { + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodType": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["invalid_address_city_state_postal_code"]},{"dataType":"enum","enums":["invalid_address_highway_contract_box"]},{"dataType":"enum","enums":["invalid_address_private_mailbox"]},{"dataType":"enum","enums":["invalid_business_profile_name"]},{"dataType":"enum","enums":["invalid_business_profile_name_denylisted"]},{"dataType":"enum","enums":["invalid_company_name_denylisted"]},{"dataType":"enum","enums":["invalid_dob_age_over_maximum"]},{"dataType":"enum","enums":["invalid_dob_age_under_18"]},{"dataType":"enum","enums":["invalid_dob_age_under_minimum"]},{"dataType":"enum","enums":["invalid_product_description_length"]},{"dataType":"enum","enums":["invalid_product_description_url_match"]},{"dataType":"enum","enums":["invalid_representative_country"]},{"dataType":"enum","enums":["invalid_statement_descriptor_business_mismatch"]},{"dataType":"enum","enums":["invalid_statement_descriptor_denylisted"]},{"dataType":"enum","enums":["invalid_statement_descriptor_length"]},{"dataType":"enum","enums":["invalid_statement_descriptor_prefix_denylisted"]},{"dataType":"enum","enums":["invalid_statement_descriptor_prefix_mismatch"]},{"dataType":"enum","enums":["invalid_street_address"]},{"dataType":"enum","enums":["invalid_tax_id"]},{"dataType":"enum","enums":["invalid_tax_id_format"]},{"dataType":"enum","enums":["invalid_tos_acceptance"]},{"dataType":"enum","enums":["invalid_url_denylisted"]},{"dataType":"enum","enums":["invalid_url_format"]},{"dataType":"enum","enums":["invalid_url_length"]},{"dataType":"enum","enums":["invalid_url_web_presence_detected"]},{"dataType":"enum","enums":["invalid_url_website_business_information_mismatch"]},{"dataType":"enum","enums":["invalid_url_website_empty"]},{"dataType":"enum","enums":["invalid_url_website_inaccessible"]},{"dataType":"enum","enums":["invalid_url_website_inaccessible_geoblocked"]},{"dataType":"enum","enums":["invalid_url_website_inaccessible_password_protected"]},{"dataType":"enum","enums":["invalid_url_website_incomplete"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_cancellation_policy"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_customer_service_details"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_legal_restrictions"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_refund_policy"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_return_policy"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_terms_and_conditions"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_under_construction"]},{"dataType":"enum","enums":["invalid_url_website_other"]},{"dataType":"enum","enums":["invalid_value_other"]},{"dataType":"enum","enums":["verification_directors_mismatch"]},{"dataType":"enum","enums":["verification_document_address_mismatch"]},{"dataType":"enum","enums":["verification_document_address_missing"]},{"dataType":"enum","enums":["verification_document_corrupt"]},{"dataType":"enum","enums":["verification_document_country_not_supported"]},{"dataType":"enum","enums":["verification_document_directors_mismatch"]},{"dataType":"enum","enums":["verification_document_dob_mismatch"]},{"dataType":"enum","enums":["verification_document_duplicate_type"]},{"dataType":"enum","enums":["verification_document_expired"]},{"dataType":"enum","enums":["verification_document_failed_copy"]},{"dataType":"enum","enums":["verification_document_failed_greyscale"]},{"dataType":"enum","enums":["verification_document_failed_other"]},{"dataType":"enum","enums":["verification_document_failed_test_mode"]},{"dataType":"enum","enums":["verification_document_fraudulent"]},{"dataType":"enum","enums":["verification_document_id_number_mismatch"]},{"dataType":"enum","enums":["verification_document_id_number_missing"]},{"dataType":"enum","enums":["verification_document_incomplete"]},{"dataType":"enum","enums":["verification_document_invalid"]},{"dataType":"enum","enums":["verification_document_issue_or_expiry_date_missing"]},{"dataType":"enum","enums":["verification_document_manipulated"]},{"dataType":"enum","enums":["verification_document_missing_back"]},{"dataType":"enum","enums":["verification_document_missing_front"]},{"dataType":"enum","enums":["verification_document_name_mismatch"]},{"dataType":"enum","enums":["verification_document_name_missing"]},{"dataType":"enum","enums":["verification_document_nationality_mismatch"]},{"dataType":"enum","enums":["verification_document_not_readable"]},{"dataType":"enum","enums":["verification_document_not_signed"]},{"dataType":"enum","enums":["verification_document_not_uploaded"]},{"dataType":"enum","enums":["verification_document_photo_mismatch"]},{"dataType":"enum","enums":["verification_document_too_large"]},{"dataType":"enum","enums":["verification_document_type_not_supported"]},{"dataType":"enum","enums":["verification_extraneous_directors"]},{"dataType":"enum","enums":["verification_failed_address_match"]},{"dataType":"enum","enums":["verification_failed_business_iec_number"]},{"dataType":"enum","enums":["verification_failed_document_match"]},{"dataType":"enum","enums":["verification_failed_id_number_match"]},{"dataType":"enum","enums":["verification_failed_keyed_identity"]},{"dataType":"enum","enums":["verification_failed_keyed_match"]},{"dataType":"enum","enums":["verification_failed_name_match"]},{"dataType":"enum","enums":["verification_failed_other"]},{"dataType":"enum","enums":["verification_failed_representative_authority"]},{"dataType":"enum","enums":["verification_failed_residential_address"]},{"dataType":"enum","enums":["verification_failed_tax_id_match"]},{"dataType":"enum","enums":["verification_failed_tax_id_not_issued"]},{"dataType":"enum","enums":["verification_missing_directors"]},{"dataType":"enum","enums":["verification_missing_executives"]},{"dataType":"enum","enums":["verification_missing_owners"]},{"dataType":"enum","enums":["verification_requires_additional_memorandum_of_associations"]},{"dataType":"enum","enums":["verification_requires_additional_proof_of_registration"]},{"dataType":"enum","enums":["verification_supportability"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["ach_credit_transfer"]},{"dataType":"enum","enums":["ach_debit"]},{"dataType":"enum","enums":["acss_debit"]},{"dataType":"enum","enums":["amazon_pay"]},{"dataType":"enum","enums":["au_becs_debit"]},{"dataType":"enum","enums":["bacs_debit"]},{"dataType":"enum","enums":["bancontact"]},{"dataType":"enum","enums":["boleto"]},{"dataType":"enum","enums":["card"]},{"dataType":"enum","enums":["cashapp"]},{"dataType":"enum","enums":["customer_balance"]},{"dataType":"enum","enums":["eps"]},{"dataType":"enum","enums":["fpx"]},{"dataType":"enum","enums":["giropay"]},{"dataType":"enum","enums":["grabpay"]},{"dataType":"enum","enums":["ideal"]},{"dataType":"enum","enums":["jp_credit_transfer"]},{"dataType":"enum","enums":["kakao_pay"]},{"dataType":"enum","enums":["konbini"]},{"dataType":"enum","enums":["kr_card"]},{"dataType":"enum","enums":["link"]},{"dataType":"enum","enums":["multibanco"]},{"dataType":"enum","enums":["naver_pay"]},{"dataType":"enum","enums":["p24"]},{"dataType":"enum","enums":["payco"]},{"dataType":"enum","enums":["paynow"]},{"dataType":"enum","enums":["paypal"]},{"dataType":"enum","enums":["promptpay"]},{"dataType":"enum","enums":["revolut_pay"]},{"dataType":"enum","enums":["sepa_credit_transfer"]},{"dataType":"enum","enums":["sepa_debit"]},{"dataType":"enum","enums":["sofort"]},{"dataType":"enum","enums":["swish"]},{"dataType":"enum","enums":["us_bank_account"]},{"dataType":"enum","enums":["wechat_pay"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Person.Requirements.Error": { - "dataType": "refObject", - "properties": { - "code": {"ref":"stripe.Stripe.Person.Requirements.Error.Code","required":true}, - "reason": {"dataType":"string","required":true}, - "requirement": {"dataType":"string","required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.Subscription.PaymentSettings.SaveDefaultPaymentMethod": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["off"]},{"dataType":"enum","enums":["on_subscription"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Person.Requirements": { + "stripe.Stripe.Subscription.PaymentSettings": { "dataType": "refObject", "properties": { - "alternatives": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Person.Requirements.Alternative"}},{"dataType":"enum","enums":[null]}],"required":true}, - "currently_due": {"dataType":"array","array":{"dataType":"string"},"required":true}, - "errors": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Person.Requirements.Error"},"required":true}, - "eventually_due": {"dataType":"array","array":{"dataType":"string"},"required":true}, - "past_due": {"dataType":"array","array":{"dataType":"string"},"required":true}, - "pending_verification": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "payment_method_options": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions"},{"dataType":"enum","enums":[null]}],"required":true}, + "payment_method_types": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodType"}},{"dataType":"enum","enums":[null]}],"required":true}, + "save_default_payment_method": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.PaymentSettings.SaveDefaultPaymentMethod"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Person.Verification.AdditionalDocument": { + "stripe.Stripe.Subscription.PendingInvoiceItemInterval.Interval": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["day"]},{"dataType":"enum","enums":["month"]},{"dataType":"enum","enums":["week"]},{"dataType":"enum","enums":["year"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Subscription.PendingInvoiceItemInterval": { "dataType": "refObject", "properties": { - "back": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, - "details": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "details_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "front": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, + "interval": {"ref":"stripe.Stripe.Subscription.PendingInvoiceItemInterval.Interval","required":true}, + "interval_count": {"dataType":"double","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Person.Verification.Document": { + "stripe.Stripe.Subscription.PendingUpdate": { "dataType": "refObject", "properties": { - "back": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, - "details": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "details_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "front": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, + "billing_cycle_anchor": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "expires_at": {"dataType":"double","required":true}, + "subscription_items": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.SubscriptionItem"}},{"dataType":"enum","enums":[null]}],"required":true}, + "trial_end": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "trial_from_plan": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Person.Verification": { + "stripe.Stripe.Subscription.Status": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["canceled"]},{"dataType":"enum","enums":["incomplete"]},{"dataType":"enum","enums":["incomplete_expired"]},{"dataType":"enum","enums":["past_due"]},{"dataType":"enum","enums":["paused"]},{"dataType":"enum","enums":["trialing"]},{"dataType":"enum","enums":["unpaid"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Subscription.TransferData": { "dataType": "refObject", "properties": { - "additional_document": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Person.Verification.AdditionalDocument"},{"dataType":"enum","enums":[null]}]}, - "details": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "details_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "document": {"ref":"stripe.Stripe.Person.Verification.Document"}, - "status": {"dataType":"string","required":true}, + "amount_percent": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "destination": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Person": { + "stripe.Stripe.Subscription.TrialSettings.EndBehavior.MissingPaymentMethod": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["cancel"]},{"dataType":"enum","enums":["create_invoice"]},{"dataType":"enum","enums":["pause"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "stripe.Stripe.Subscription.TrialSettings.EndBehavior": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "object": {"dataType":"enum","enums":["person"],"required":true}, - "account": {"dataType":"string","required":true}, - "additional_tos_acceptances": {"ref":"stripe.Stripe.Person.AdditionalTosAcceptances"}, - "address": {"ref":"stripe.Stripe.Address"}, - "address_kana": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Person.AddressKana"},{"dataType":"enum","enums":[null]}]}, - "address_kanji": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Person.AddressKanji"},{"dataType":"enum","enums":[null]}]}, - "created": {"dataType":"double","required":true}, - "deleted": {"dataType":"void"}, - "dob": {"ref":"stripe.Stripe.Person.Dob"}, - "email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "first_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "first_name_kana": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "first_name_kanji": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "full_name_aliases": {"dataType":"array","array":{"dataType":"string"}}, - "future_requirements": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Person.FutureRequirements"},{"dataType":"enum","enums":[null]}]}, - "gender": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "id_number_provided": {"dataType":"boolean"}, - "id_number_secondary_provided": {"dataType":"boolean"}, - "last_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "last_name_kana": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "last_name_kanji": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "maiden_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "metadata": {"ref":"stripe.Stripe.Metadata"}, - "nationality": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "phone": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "political_exposure": {"ref":"stripe.Stripe.Person.PoliticalExposure"}, - "registered_address": {"ref":"stripe.Stripe.Address"}, - "relationship": {"ref":"stripe.Stripe.Person.Relationship"}, - "requirements": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Person.Requirements"},{"dataType":"enum","enums":[null]}]}, - "ssn_last_4_provided": {"dataType":"boolean"}, - "verification": {"ref":"stripe.Stripe.Person.Verification"}, + "missing_payment_method": {"ref":"stripe.Stripe.Subscription.TrialSettings.EndBehavior.MissingPaymentMethod","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Requirements.Alternative": { + "stripe.Stripe.Subscription.TrialSettings": { "dataType": "refObject", "properties": { - "alternative_fields_due": {"dataType":"array","array":{"dataType":"string"},"required":true}, - "original_fields_due": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "end_behavior": {"ref":"stripe.Stripe.Subscription.TrialSettings.EndBehavior","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Requirements.DisabledReason": { + "Record_string.stripe.Stripe.Discount_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["action_required.requested_capabilities"]},{"dataType":"enum","enums":["listed"]},{"dataType":"enum","enums":["other"]},{"dataType":"enum","enums":["platform_paused"]},{"dataType":"enum","enums":["rejected.fraud"]},{"dataType":"enum","enums":["rejected.incomplete_verification"]},{"dataType":"enum","enums":["rejected.listed"]},{"dataType":"enum","enums":["rejected.other"]},{"dataType":"enum","enums":["rejected.platform_fraud"]},{"dataType":"enum","enums":["rejected.platform_other"]},{"dataType":"enum","enums":["rejected.platform_terms_of_service"]},{"dataType":"enum","enums":["rejected.terms_of_service"]},{"dataType":"enum","enums":["requirements.past_due"]},{"dataType":"enum","enums":["requirements.pending_verification"]},{"dataType":"enum","enums":["under_review"]}],"validators":{}}, + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"stripe.Stripe.Discount"},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Requirements.Error.Code": { + "Pick_stripe.Stripe.Invoice.Exclude_keyofstripe.Stripe.Invoice.id__": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["invalid_address_city_state_postal_code"]},{"dataType":"enum","enums":["invalid_address_highway_contract_box"]},{"dataType":"enum","enums":["invalid_address_private_mailbox"]},{"dataType":"enum","enums":["invalid_business_profile_name"]},{"dataType":"enum","enums":["invalid_business_profile_name_denylisted"]},{"dataType":"enum","enums":["invalid_company_name_denylisted"]},{"dataType":"enum","enums":["invalid_dob_age_over_maximum"]},{"dataType":"enum","enums":["invalid_dob_age_under_18"]},{"dataType":"enum","enums":["invalid_dob_age_under_minimum"]},{"dataType":"enum","enums":["invalid_product_description_length"]},{"dataType":"enum","enums":["invalid_product_description_url_match"]},{"dataType":"enum","enums":["invalid_representative_country"]},{"dataType":"enum","enums":["invalid_statement_descriptor_business_mismatch"]},{"dataType":"enum","enums":["invalid_statement_descriptor_denylisted"]},{"dataType":"enum","enums":["invalid_statement_descriptor_length"]},{"dataType":"enum","enums":["invalid_statement_descriptor_prefix_denylisted"]},{"dataType":"enum","enums":["invalid_statement_descriptor_prefix_mismatch"]},{"dataType":"enum","enums":["invalid_street_address"]},{"dataType":"enum","enums":["invalid_tax_id"]},{"dataType":"enum","enums":["invalid_tax_id_format"]},{"dataType":"enum","enums":["invalid_tos_acceptance"]},{"dataType":"enum","enums":["invalid_url_denylisted"]},{"dataType":"enum","enums":["invalid_url_format"]},{"dataType":"enum","enums":["invalid_url_length"]},{"dataType":"enum","enums":["invalid_url_web_presence_detected"]},{"dataType":"enum","enums":["invalid_url_website_business_information_mismatch"]},{"dataType":"enum","enums":["invalid_url_website_empty"]},{"dataType":"enum","enums":["invalid_url_website_inaccessible"]},{"dataType":"enum","enums":["invalid_url_website_inaccessible_geoblocked"]},{"dataType":"enum","enums":["invalid_url_website_inaccessible_password_protected"]},{"dataType":"enum","enums":["invalid_url_website_incomplete"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_cancellation_policy"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_customer_service_details"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_legal_restrictions"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_refund_policy"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_return_policy"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_terms_and_conditions"]},{"dataType":"enum","enums":["invalid_url_website_incomplete_under_construction"]},{"dataType":"enum","enums":["invalid_url_website_other"]},{"dataType":"enum","enums":["invalid_value_other"]},{"dataType":"enum","enums":["verification_directors_mismatch"]},{"dataType":"enum","enums":["verification_document_address_mismatch"]},{"dataType":"enum","enums":["verification_document_address_missing"]},{"dataType":"enum","enums":["verification_document_corrupt"]},{"dataType":"enum","enums":["verification_document_country_not_supported"]},{"dataType":"enum","enums":["verification_document_directors_mismatch"]},{"dataType":"enum","enums":["verification_document_dob_mismatch"]},{"dataType":"enum","enums":["verification_document_duplicate_type"]},{"dataType":"enum","enums":["verification_document_expired"]},{"dataType":"enum","enums":["verification_document_failed_copy"]},{"dataType":"enum","enums":["verification_document_failed_greyscale"]},{"dataType":"enum","enums":["verification_document_failed_other"]},{"dataType":"enum","enums":["verification_document_failed_test_mode"]},{"dataType":"enum","enums":["verification_document_fraudulent"]},{"dataType":"enum","enums":["verification_document_id_number_mismatch"]},{"dataType":"enum","enums":["verification_document_id_number_missing"]},{"dataType":"enum","enums":["verification_document_incomplete"]},{"dataType":"enum","enums":["verification_document_invalid"]},{"dataType":"enum","enums":["verification_document_issue_or_expiry_date_missing"]},{"dataType":"enum","enums":["verification_document_manipulated"]},{"dataType":"enum","enums":["verification_document_missing_back"]},{"dataType":"enum","enums":["verification_document_missing_front"]},{"dataType":"enum","enums":["verification_document_name_mismatch"]},{"dataType":"enum","enums":["verification_document_name_missing"]},{"dataType":"enum","enums":["verification_document_nationality_mismatch"]},{"dataType":"enum","enums":["verification_document_not_readable"]},{"dataType":"enum","enums":["verification_document_not_signed"]},{"dataType":"enum","enums":["verification_document_not_uploaded"]},{"dataType":"enum","enums":["verification_document_photo_mismatch"]},{"dataType":"enum","enums":["verification_document_too_large"]},{"dataType":"enum","enums":["verification_document_type_not_supported"]},{"dataType":"enum","enums":["verification_extraneous_directors"]},{"dataType":"enum","enums":["verification_failed_address_match"]},{"dataType":"enum","enums":["verification_failed_business_iec_number"]},{"dataType":"enum","enums":["verification_failed_document_match"]},{"dataType":"enum","enums":["verification_failed_id_number_match"]},{"dataType":"enum","enums":["verification_failed_keyed_identity"]},{"dataType":"enum","enums":["verification_failed_keyed_match"]},{"dataType":"enum","enums":["verification_failed_name_match"]},{"dataType":"enum","enums":["verification_failed_other"]},{"dataType":"enum","enums":["verification_failed_representative_authority"]},{"dataType":"enum","enums":["verification_failed_residential_address"]},{"dataType":"enum","enums":["verification_failed_tax_id_match"]},{"dataType":"enum","enums":["verification_failed_tax_id_not_issued"]},{"dataType":"enum","enums":["verification_missing_directors"]},{"dataType":"enum","enums":["verification_missing_executives"]},{"dataType":"enum","enums":["verification_missing_owners"]},{"dataType":"enum","enums":["verification_requires_additional_memorandum_of_associations"]},{"dataType":"enum","enums":["verification_requires_additional_proof_of_registration"]},{"dataType":"enum","enums":["verification_supportability"]}],"validators":{}}, + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"number":{"dataType":"string","required":true},"object":{"dataType":"enum","enums":["invoice"],"required":true},"status":{"ref":"stripe.Stripe.Invoice.Status","required":true},"application":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Application"},{"ref":"stripe.Stripe.DeletedApplication"}],"required":true},"subscription":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Subscription"}],"required":true},"customer":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Customer"},{"ref":"stripe.Stripe.DeletedCustomer"}],"required":true},"deleted":{"dataType":"void"},"issuer":{"ref":"stripe.Stripe.Invoice.Issuer","required":true},"charge":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Charge"}],"required":true},"paid":{"dataType":"boolean","required":true},"discount":{"ref":"stripe.Stripe.Discount","required":true},"account_country":{"dataType":"string","required":true},"account_name":{"dataType":"string","required":true},"account_tax_ids":{"dataType":"array","array":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TaxId"},{"ref":"stripe.Stripe.DeletedTaxId"}]},"required":true},"amount_due":{"dataType":"double","required":true},"amount_paid":{"dataType":"double","required":true},"amount_remaining":{"dataType":"double","required":true},"amount_shipping":{"dataType":"double","required":true},"application_fee_amount":{"dataType":"double","required":true},"attempt_count":{"dataType":"double","required":true},"attempted":{"dataType":"boolean","required":true},"auto_advance":{"dataType":"boolean"},"automatic_tax":{"ref":"stripe.Stripe.Invoice.AutomaticTax","required":true},"automatically_finalizes_at":{"dataType":"double","required":true},"billing_reason":{"ref":"stripe.Stripe.Invoice.BillingReason","required":true},"collection_method":{"ref":"stripe.Stripe.Invoice.CollectionMethod","required":true},"created":{"dataType":"double","required":true},"currency":{"dataType":"string","required":true},"custom_fields":{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Invoice.CustomField"},"required":true},"customer_address":{"ref":"stripe.Stripe.Address","required":true},"customer_email":{"dataType":"string","required":true},"customer_name":{"dataType":"string","required":true},"customer_phone":{"dataType":"string","required":true},"customer_shipping":{"ref":"stripe.Stripe.Invoice.CustomerShipping","required":true},"customer_tax_exempt":{"ref":"stripe.Stripe.Invoice.CustomerTaxExempt","required":true},"customer_tax_ids":{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Invoice.CustomerTaxId"}},"default_payment_method":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentMethod"}],"required":true},"default_source":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.CustomerSource"}],"required":true},"default_tax_rates":{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.TaxRate"},"required":true},"description":{"dataType":"string","required":true},"discounts":{"dataType":"array","array":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Discount"},{"ref":"stripe.Stripe.DeletedDiscount"}]},"required":true},"due_date":{"dataType":"double","required":true},"effective_at":{"dataType":"double","required":true},"ending_balance":{"dataType":"double","required":true},"footer":{"dataType":"string","required":true},"from_invoice":{"ref":"stripe.Stripe.Invoice.FromInvoice","required":true},"hosted_invoice_url":{"dataType":"string"},"invoice_pdf":{"dataType":"string"},"last_finalization_error":{"ref":"stripe.Stripe.Invoice.LastFinalizationError","required":true},"latest_revision":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Invoice"}],"required":true},"lines":{"ref":"stripe.Stripe.ApiList_stripe.Stripe.InvoiceLineItem_","required":true},"livemode":{"dataType":"boolean","required":true},"metadata":{"ref":"stripe.Stripe.Metadata","required":true},"next_payment_attempt":{"dataType":"double","required":true},"on_behalf_of":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}],"required":true},"paid_out_of_band":{"dataType":"boolean","required":true},"payment_intent":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentIntent"}],"required":true},"payment_settings":{"ref":"stripe.Stripe.Invoice.PaymentSettings","required":true},"period_end":{"dataType":"double","required":true},"period_start":{"dataType":"double","required":true},"post_payment_credit_notes_amount":{"dataType":"double","required":true},"pre_payment_credit_notes_amount":{"dataType":"double","required":true},"quote":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Quote"}],"required":true},"receipt_number":{"dataType":"string","required":true},"rendering":{"ref":"stripe.Stripe.Invoice.Rendering","required":true},"shipping_cost":{"ref":"stripe.Stripe.Invoice.ShippingCost","required":true},"shipping_details":{"ref":"stripe.Stripe.Invoice.ShippingDetails","required":true},"starting_balance":{"dataType":"double","required":true},"statement_descriptor":{"dataType":"string","required":true},"status_transitions":{"ref":"stripe.Stripe.Invoice.StatusTransitions","required":true},"subscription_details":{"ref":"stripe.Stripe.Invoice.SubscriptionDetails","required":true},"subscription_proration_date":{"dataType":"double"},"subtotal":{"dataType":"double","required":true},"subtotal_excluding_tax":{"dataType":"double","required":true},"tax":{"dataType":"double","required":true},"test_clock":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TestHelpers.TestClock"}],"required":true},"threshold_reason":{"ref":"stripe.Stripe.Invoice.ThresholdReason"},"total":{"dataType":"double","required":true},"total_discount_amounts":{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Invoice.TotalDiscountAmount"},"required":true},"total_excluding_tax":{"dataType":"double","required":true},"total_pretax_credit_amounts":{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Invoice.TotalPretaxCreditAmount"},"required":true},"total_tax_amounts":{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Invoice.TotalTaxAmount"},"required":true},"transfer_data":{"ref":"stripe.Stripe.Invoice.TransferData","required":true},"webhooks_delivered_at":{"dataType":"double","required":true}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Requirements.Error": { - "dataType": "refObject", - "properties": { - "code": {"ref":"stripe.Stripe.Account.Requirements.Error.Code","required":true}, - "reason": {"dataType":"string","required":true}, - "requirement": {"dataType":"string","required":true}, - }, - "additionalProperties": false, + "Omit_stripe.Stripe.Invoice.id_": { + "dataType": "refAlias", + "type": {"ref":"Pick_stripe.Stripe.Invoice.Exclude_keyofstripe.Stripe.Invoice.id__","validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Requirements": { - "dataType": "refObject", - "properties": { - "alternatives": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Account.Requirements.Alternative"}},{"dataType":"enum","enums":[null]}],"required":true}, - "current_deadline": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "currently_due": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, - "disabled_reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Account.Requirements.DisabledReason"},{"dataType":"enum","enums":[null]}],"required":true}, - "errors": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Account.Requirements.Error"}},{"dataType":"enum","enums":[null]}],"required":true}, - "eventually_due": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, - "past_due": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, - "pending_verification": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, + "stripe.Stripe.UpcomingInvoice": { + "dataType": "refAlias", + "type": {"ref":"Omit_stripe.Stripe.Invoice.id_","validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Settings.BacsDebitPayments": { + "TextOperator": { "dataType": "refObject", "properties": { - "display_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "service_user_number": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "operator": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["equals"]},{"dataType":"enum","enums":["startsWith"]},{"dataType":"enum","enums":["includes"]}],"required":true}, + "value": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Settings.Branding": { + "ModelRow": { "dataType": "refObject", "properties": { - "icon": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, - "logo": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.File"},{"dataType":"enum","enums":[null]}],"required":true}, - "primary_color": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "secondary_color": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "model": {"ref":"TextOperator","required":true}, + "cost": {"dataType":"nestedObjectLiteral","nestedProperties":{"prompt_cache_creation_1h":{"dataType":"double"},"prompt_cache_creation_5m":{"dataType":"double"},"completion_audio_token":{"dataType":"double"},"prompt_audio_token":{"dataType":"double"},"prompt_cache_read_token":{"dataType":"double"},"prompt_cache_write_token":{"dataType":"double"},"per_call":{"dataType":"double"},"per_image":{"dataType":"double"},"completion_token":{"dataType":"double","required":true},"prompt_token":{"dataType":"double","required":true}},"required":true}, + "showInPlayground": {"dataType":"boolean"}, + "targetUrl": {"dataType":"string"}, + "dateRange": {"dataType":"nestedObjectLiteral","nestedProperties":{"end":{"dataType":"string","required":true},"start":{"dataType":"string","required":true}}}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Settings.CardIssuing.TosAcceptance": { - "dataType": "refObject", - "properties": { - "date": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "ip": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "user_agent": {"dataType":"string"}, - }, - "additionalProperties": false, + "ModelWithProvider": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"modelRow":{"ref":"ModelRow","required":true},"provider":{"dataType":"string","required":true}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Settings.CardIssuing": { + "HelixThreadSummary": { "dataType": "refObject", "properties": { - "tos_acceptance": {"ref":"stripe.Stripe.Account.Settings.CardIssuing.TosAcceptance"}, + "id": {"dataType":"string","required":true}, + "user_id": {"dataType":"string","required":true}, + "org_id": {"dataType":"string","required":true}, + "created_at": {"dataType":"datetime","required":true}, + "updated_at": {"dataType":"datetime","required":true}, + "escalated": {"dataType":"boolean","required":true}, + "message_count": {"dataType":"double","required":true}, + "first_message": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "last_message": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "user_email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "org_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "org_tier": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Settings.CardPayments.DeclineOn": { + "HelixThreadListResponse": { "dataType": "refObject", "properties": { - "avs_failure": {"dataType":"boolean","required":true}, - "cvc_failure": {"dataType":"boolean","required":true}, + "threads": {"dataType":"array","array":{"dataType":"refObject","ref":"HelixThreadSummary"},"required":true}, + "total": {"dataType":"double","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Settings.CardPayments": { + "ResultSuccess_HelixThreadListResponse_": { "dataType": "refObject", "properties": { - "decline_on": {"ref":"stripe.Stripe.Account.Settings.CardPayments.DeclineOn"}, - "statement_descriptor_prefix": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "statement_descriptor_prefix_kana": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "statement_descriptor_prefix_kanji": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "data": {"ref":"HelixThreadListResponse","required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Settings.Dashboard": { + "Result_HelixThreadListResponse.string_": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_HelixThreadListResponse_"},{"ref":"ResultError_string_"}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "HelixThreadDetail": { "dataType": "refObject", "properties": { - "display_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "timezone": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "id": {"dataType":"string","required":true}, + "chat": {"dataType":"any","required":true}, + "user_id": {"dataType":"string","required":true}, + "org_id": {"dataType":"string","required":true}, + "created_at": {"dataType":"string","required":true}, + "escalated": {"dataType":"boolean","required":true}, + "metadata": {"dataType":"any","required":true}, + "updated_at": {"dataType":"string","required":true}, + "soft_delete": {"dataType":"boolean","required":true}, + "user_email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Settings.Invoices": { + "ResultSuccess_HelixThreadDetail_": { "dataType": "refObject", "properties": { - "default_account_tax_ids": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TaxId"}]}},{"dataType":"enum","enums":[null]}],"required":true}, + "data": {"ref":"HelixThreadDetail","required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Settings.Payments": { + "Result_HelixThreadDetail.string_": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_HelixThreadDetail_"},{"ref":"ResultError_string_"}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "InAppThread": { "dataType": "refObject", "properties": { - "statement_descriptor": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "statement_descriptor_kana": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "statement_descriptor_kanji": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "statement_descriptor_prefix_kana": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "statement_descriptor_prefix_kanji": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "id": {"dataType":"string","required":true}, + "chat": {"dataType":"any","required":true}, + "user_id": {"dataType":"string","required":true}, + "org_id": {"dataType":"string","required":true}, + "created_at": {"dataType":"datetime","required":true}, + "escalated": {"dataType":"boolean","required":true}, + "metadata": {"dataType":"any","required":true}, + "updated_at": {"dataType":"datetime","required":true}, + "soft_delete": {"dataType":"boolean","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Settings.Payouts.Schedule": { + "ResultSuccess_InAppThread_": { "dataType": "refObject", "properties": { - "delay_days": {"dataType":"double","required":true}, - "interval": {"dataType":"string","required":true}, - "monthly_anchor": {"dataType":"double"}, - "weekly_anchor": {"dataType":"string"}, + "data": {"ref":"InAppThread","required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Settings.Payouts": { + "Result_InAppThread.string_": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_InAppThread_"},{"ref":"ResultError_string_"}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "ResultSuccess__rows-Record_string.any_-Array--elapsedMilliseconds-number--size-number--rowCount-number__": { "dataType": "refObject", "properties": { - "debit_negative_balances": {"dataType":"boolean","required":true}, - "schedule": {"ref":"stripe.Stripe.Account.Settings.Payouts.Schedule","required":true}, - "statement_descriptor": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"rowCount":{"dataType":"double","required":true},"size":{"dataType":"double","required":true},"elapsedMilliseconds":{"dataType":"double","required":true},"rows":{"dataType":"array","array":{"dataType":"refAlias","ref":"Record_string.any_"},"required":true}},"required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Settings.SepaDebitPayments": { + "Result__rows-Record_string.any_-Array--elapsedMilliseconds-number--size-number--rowCount-number_.string_": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__rows-Record_string.any_-Array--elapsedMilliseconds-number--size-number--rowCount-number__"},{"ref":"ResultError_string_"}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "Record_string.number_": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"dataType":"double"},"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "ResultSuccess__previousTier-string--newTier-string--subscriptionId-string__": { "dataType": "refObject", "properties": { - "creditor_id": {"dataType":"string"}, + "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"subscriptionId":{"dataType":"string","required":true},"newTier":{"dataType":"string","required":true},"previousTier":{"dataType":"string","required":true}},"required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Settings.Treasury.TosAcceptance": { + "Result__previousTier-string--newTier-string--subscriptionId-string_.string_": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__previousTier-string--newTier-string--subscriptionId-string__"},{"ref":"ResultError_string_"}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "ResultSuccess__previousTier-string--newTier-string--subscriptionId-string--usage_58__requests-number--storageBytes-number--storageMb-number--source-clickhouse-or-override_--backfillResult_58__requestsEvent-string--storageEvent-string___": { "dataType": "refObject", "properties": { - "date": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "ip": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "user_agent": {"dataType":"string"}, + "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"backfillResult":{"dataType":"nestedObjectLiteral","nestedProperties":{"storageEvent":{"dataType":"string","required":true},"requestsEvent":{"dataType":"string","required":true}},"required":true},"usage":{"dataType":"nestedObjectLiteral","nestedProperties":{"source":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["clickhouse"]},{"dataType":"enum","enums":["override"]}],"required":true},"storageMb":{"dataType":"double","required":true},"storageBytes":{"dataType":"double","required":true},"requests":{"dataType":"double","required":true}},"required":true},"subscriptionId":{"dataType":"string","required":true},"newTier":{"dataType":"string","required":true},"previousTier":{"dataType":"string","required":true}},"required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Settings.Treasury": { + "Result__previousTier-string--newTier-string--subscriptionId-string--usage_58__requests-number--storageBytes-number--storageMb-number--source-clickhouse-or-override_--backfillResult_58__requestsEvent-string--storageEvent-string__.string_": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__previousTier-string--newTier-string--subscriptionId-string--usage_58__requests-number--storageBytes-number--storageMb-number--source-clickhouse-or-override_--backfillResult_58__requestsEvent-string--storageEvent-string___"},{"ref":"ResultError_string_"}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "ResultSuccess__previousTier-string--newTier-string--subscriptionId-string--scheduleId-string--scheduledFor-string__": { "dataType": "refObject", "properties": { - "tos_acceptance": {"ref":"stripe.Stripe.Account.Settings.Treasury.TosAcceptance"}, + "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"scheduledFor":{"dataType":"string","required":true},"scheduleId":{"dataType":"string","required":true},"subscriptionId":{"dataType":"string","required":true},"newTier":{"dataType":"string","required":true},"previousTier":{"dataType":"string","required":true}},"required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Settings": { + "Result__previousTier-string--newTier-string--subscriptionId-string--scheduleId-string--scheduledFor-string_.string_": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__previousTier-string--newTier-string--subscriptionId-string--scheduleId-string--scheduledFor-string__"},{"ref":"ResultError_string_"}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "ResultSuccess__id-string--name-string--tier-string--stripe_customer_id-string-or-null--stripe_subscription_id-string-or-null--subscription_status-string-or-null--owner_email-string-or-null--created_at-string__": { "dataType": "refObject", "properties": { - "bacs_debit_payments": {"ref":"stripe.Stripe.Account.Settings.BacsDebitPayments"}, - "branding": {"ref":"stripe.Stripe.Account.Settings.Branding","required":true}, - "card_issuing": {"ref":"stripe.Stripe.Account.Settings.CardIssuing"}, - "card_payments": {"ref":"stripe.Stripe.Account.Settings.CardPayments","required":true}, - "dashboard": {"ref":"stripe.Stripe.Account.Settings.Dashboard","required":true}, - "invoices": {"ref":"stripe.Stripe.Account.Settings.Invoices"}, - "payments": {"ref":"stripe.Stripe.Account.Settings.Payments","required":true}, - "payouts": {"ref":"stripe.Stripe.Account.Settings.Payouts"}, - "sepa_debit_payments": {"ref":"stripe.Stripe.Account.Settings.SepaDebitPayments"}, - "treasury": {"ref":"stripe.Stripe.Account.Settings.Treasury"}, + "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"created_at":{"dataType":"string","required":true},"owner_email":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true},"subscription_status":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true},"stripe_subscription_id":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true},"stripe_customer_id":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true},"tier":{"dataType":"string","required":true},"name":{"dataType":"string","required":true},"id":{"dataType":"string","required":true}},"required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.TosAcceptance": { + "Result__id-string--name-string--tier-string--stripe_customer_id-string-or-null--stripe_subscription_id-string-or-null--subscription_status-string-or-null--owner_email-string-or-null--created_at-string_.string_": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__id-string--name-string--tier-string--stripe_customer_id-string-or-null--stripe_subscription_id-string-or-null--subscription_status-string-or-null--owner_email-string-or-null--created_at-string__"},{"ref":"ResultError_string_"}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "ResultSuccess__message-string__": { "dataType": "refObject", "properties": { - "date": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, - "ip": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "service_agreement": {"dataType":"string"}, - "user_agent": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}},"required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Account.Type": { + "Result__message-string_.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["custom"]},{"dataType":"enum","enums":["express"]},{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["standard"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__message-string__"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.AutomaticTax.Liability.Type": { + "ResultSuccess__message-string--previousTier-string__": { + "dataType": "refObject", + "properties": { + "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"previousTier":{"dataType":"string","required":true},"message":{"dataType":"string","required":true}},"required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, + }, + "additionalProperties": false, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "Result__message-string--previousTier-string_.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account"]},{"dataType":"enum","enums":["self"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__message-string--previousTier-string__"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.AutomaticTax.Liability": { + "CreditBalanceResponse": { "dataType": "refObject", "properties": { - "account": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}]}, - "type": {"ref":"stripe.Stripe.Subscription.AutomaticTax.Liability.Type","required":true}, + "totalCreditsPurchased": {"dataType":"double","required":true}, + "balance": {"dataType":"double","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.AutomaticTax": { + "ResultSuccess_CreditBalanceResponse_": { "dataType": "refObject", "properties": { - "disabled_reason": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["requires_location_inputs"]},{"dataType":"enum","enums":[null]}],"required":true}, - "enabled": {"dataType":"boolean","required":true}, - "liability": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.AutomaticTax.Liability"},{"dataType":"enum","enums":[null]}],"required":true}, + "data": {"ref":"CreditBalanceResponse","required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.BillingCycleAnchorConfig": { + "Result_CreditBalanceResponse.string_": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_CreditBalanceResponse_"},{"ref":"ResultError_string_"}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "PurchasedCredits": { "dataType": "refObject", "properties": { - "day_of_month": {"dataType":"double","required":true}, - "hour": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "minute": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "month": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "second": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "id": {"dataType":"string","required":true}, + "createdAt": {"dataType":"double","required":true}, + "credits": {"dataType":"double","required":true}, + "referenceId": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.BillingThresholds": { + "PaginatedPurchasedCredits": { "dataType": "refObject", "properties": { - "amount_gte": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "reset_billing_cycle_anchor": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, + "purchases": {"dataType":"array","array":{"dataType":"refObject","ref":"PurchasedCredits"},"required":true}, + "total": {"dataType":"double","required":true}, + "page": {"dataType":"double","required":true}, + "pageSize": {"dataType":"double","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.CancellationDetails.Feedback": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["customer_service"]},{"dataType":"enum","enums":["low_quality"]},{"dataType":"enum","enums":["missing_features"]},{"dataType":"enum","enums":["other"]},{"dataType":"enum","enums":["switched_service"]},{"dataType":"enum","enums":["too_complex"]},{"dataType":"enum","enums":["too_expensive"]},{"dataType":"enum","enums":["unused"]}],"validators":{}}, + "ResultSuccess_PaginatedPurchasedCredits_": { + "dataType": "refObject", + "properties": { + "data": {"ref":"PaginatedPurchasedCredits","required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.CancellationDetails.Reason": { + "Result_PaginatedPurchasedCredits.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["cancellation_requested"]},{"dataType":"enum","enums":["payment_disputed"]},{"dataType":"enum","enums":["payment_failed"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_PaginatedPurchasedCredits_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.CancellationDetails": { + "ResultSuccess__totalSpend-number__": { "dataType": "refObject", "properties": { - "comment": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "feedback": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.CancellationDetails.Feedback"},{"dataType":"enum","enums":[null]}],"required":true}, - "reason": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.CancellationDetails.Reason"},{"dataType":"enum","enums":[null]}],"required":true}, + "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"totalSpend":{"dataType":"double","required":true}},"required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.CollectionMethod": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["charge_automatically"]},{"dataType":"enum","enums":["send_invoice"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.InvoiceSettings.Issuer.Type": { + "Result__totalSpend-number_.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["account"]},{"dataType":"enum","enums":["self"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__totalSpend-number__"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.InvoiceSettings.Issuer": { + "ModelSpend": { "dataType": "refObject", "properties": { - "account": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}]}, - "type": {"ref":"stripe.Stripe.Subscription.InvoiceSettings.Issuer.Type","required":true}, + "model": {"dataType":"string","required":true}, + "provider": {"dataType":"string","required":true}, + "promptTokens": {"dataType":"double","required":true}, + "completionTokens": {"dataType":"double","required":true}, + "cacheReadTokens": {"dataType":"double","required":true}, + "cacheWriteTokens": {"dataType":"double","required":true}, + "pricing": {"dataType":"union","subSchemas":[{"dataType":"nestedObjectLiteral","nestedProperties":{"cacheWritePer1M":{"dataType":"double"},"cacheReadPer1M":{"dataType":"double"},"outputPer1M":{"dataType":"double","required":true},"inputPer1M":{"dataType":"double","required":true}}},{"dataType":"enum","enums":[null]}],"required":true}, + "subtotal": {"dataType":"double","required":true}, + "discountPercent": {"dataType":"double","required":true}, + "total": {"dataType":"double","required":true}, + "cacheAdjustment": {"dataType":"double"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.InvoiceSettings": { + "SpendBreakdownResponse": { "dataType": "refObject", "properties": { - "account_tax_ids": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TaxId"},{"ref":"stripe.Stripe.DeletedTaxId"}]}},{"dataType":"enum","enums":[null]}],"required":true}, - "issuer": {"ref":"stripe.Stripe.Subscription.InvoiceSettings.Issuer","required":true}, + "models": {"dataType":"array","array":{"dataType":"refObject","ref":"ModelSpend"},"required":true}, + "totalCost": {"dataType":"double","required":true}, + "timeRange": {"dataType":"nestedObjectLiteral","nestedProperties":{"end":{"dataType":"string","required":true},"start":{"dataType":"string","required":true}},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.ApiList_stripe.Stripe.SubscriptionItem_": { + "ResultSuccess_SpendBreakdownResponse_": { "dataType": "refObject", "properties": { - "object": {"dataType":"enum","enums":["list"],"required":true}, - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.SubscriptionItem"},"required":true}, - "has_more": {"dataType":"boolean","required":true}, - "url": {"dataType":"string","required":true}, + "data": {"ref":"SpendBreakdownResponse","required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.PauseCollection.Behavior": { + "Result_SpendBreakdownResponse.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["keep_as_draft"]},{"dataType":"enum","enums":["mark_uncollectible"]},{"dataType":"enum","enums":["void"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_SpendBreakdownResponse_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.PauseCollection": { + "PTBInvoice": { "dataType": "refObject", "properties": { - "behavior": {"ref":"stripe.Stripe.Subscription.PauseCollection.Behavior","required":true}, - "resumes_at": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "id": {"dataType":"string","required":true}, + "organizationId": {"dataType":"string","required":true}, + "stripeInvoiceId": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "hostedInvoiceUrl": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "startDate": {"dataType":"string","required":true}, + "endDate": {"dataType":"string","required":true}, + "amountCents": {"dataType":"double","required":true}, + "subtotalCents": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "notes": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "createdAt": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.AcssDebit.MandateOptions.TransactionType": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["business"]},{"dataType":"enum","enums":["personal"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.AcssDebit.MandateOptions": { + "ResultSuccess_PTBInvoice-Array_": { "dataType": "refObject", "properties": { - "transaction_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.AcssDebit.MandateOptions.TransactionType"},{"dataType":"enum","enums":[null]}],"required":true}, + "data": {"dataType":"array","array":{"dataType":"refObject","ref":"PTBInvoice"},"required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.AcssDebit.VerificationMethod": { + "Result_PTBInvoice-Array.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["automatic"]},{"dataType":"enum","enums":["instant"]},{"dataType":"enum","enums":["microdeposits"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_PTBInvoice-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.AcssDebit": { + "OrgDiscount": { "dataType": "refObject", "properties": { - "mandate_options": {"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.AcssDebit.MandateOptions"}, - "verification_method": {"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.AcssDebit.VerificationMethod"}, + "provider": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "model": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "percent": {"dataType":"double","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Bancontact.PreferredLanguage": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["de"]},{"dataType":"enum","enums":["en"]},{"dataType":"enum","enums":["fr"]},{"dataType":"enum","enums":["nl"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Bancontact": { + "ResultSuccess_OrgDiscount-Array_": { "dataType": "refObject", "properties": { - "preferred_language": {"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Bancontact.PreferredLanguage","required":true}, + "data": {"dataType":"array","array":{"dataType":"refObject","ref":"OrgDiscount"},"required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Card.MandateOptions.AmountType": { + "Result_OrgDiscount-Array.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["fixed"]},{"dataType":"enum","enums":["maximum"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_OrgDiscount-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Card.MandateOptions": { + "DashboardData": { "dataType": "refObject", "properties": { - "amount": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "amount_type": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Card.MandateOptions.AmountType"},{"dataType":"enum","enums":[null]}],"required":true}, - "description": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "organizations": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"walletProcessedEventsCount":{"dataType":"double"},"walletDisallowedModelCount":{"dataType":"double"},"walletTotalDebits":{"dataType":"double"},"walletTotalCredits":{"dataType":"double"},"walletEffectiveBalance":{"dataType":"double"},"walletBalance":{"dataType":"double"},"creditLimit":{"dataType":"double","required":true},"allowNegativeBalance":{"dataType":"boolean","required":true},"ownerEmail":{"dataType":"string","required":true},"tier":{"dataType":"string","required":true},"lastPaymentDate":{"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true},"clickhouseTotalSpend":{"dataType":"double","required":true},"paymentsCount":{"dataType":"double","required":true},"totalPayments":{"dataType":"double","required":true},"stripeCustomerId":{"dataType":"string","required":true},"orgName":{"dataType":"string","required":true},"orgId":{"dataType":"string","required":true}}},"required":true}, + "summary": {"dataType":"nestedObjectLiteral","nestedProperties":{"totalCreditsSpent":{"dataType":"double","required":true},"totalCreditsIssued":{"dataType":"double","required":true},"totalOrgsWithCredits":{"dataType":"double","required":true}},"required":true}, + "isProduction": {"dataType":"boolean","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Card.Network": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["amex"]},{"dataType":"enum","enums":["cartes_bancaires"]},{"dataType":"enum","enums":["diners"]},{"dataType":"enum","enums":["discover"]},{"dataType":"enum","enums":["eftpos_au"]},{"dataType":"enum","enums":["girocard"]},{"dataType":"enum","enums":["interac"]},{"dataType":"enum","enums":["jcb"]},{"dataType":"enum","enums":["link"]},{"dataType":"enum","enums":["mastercard"]},{"dataType":"enum","enums":["unionpay"]},{"dataType":"enum","enums":["unknown"]},{"dataType":"enum","enums":["visa"]}],"validators":{}}, + "ResultSuccess_DashboardData_": { + "dataType": "refObject", + "properties": { + "data": {"ref":"DashboardData","required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Card.RequestThreeDSecure": { + "Result_DashboardData.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["any"]},{"dataType":"enum","enums":["automatic"]},{"dataType":"enum","enums":["challenge"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Card": { - "dataType": "refObject", - "properties": { - "mandate_options": {"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Card.MandateOptions"}, - "network": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Card.Network"},{"dataType":"enum","enums":[null]}],"required":true}, - "request_three_d_secure": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Card.RequestThreeDSecure"},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer.Country": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["BE"]},{"dataType":"enum","enums":["DE"]},{"dataType":"enum","enums":["ES"]},{"dataType":"enum","enums":["FR"]},{"dataType":"enum","enums":["IE"]},{"dataType":"enum","enums":["NL"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer": { - "dataType": "refObject", - "properties": { - "country": {"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer.Country","required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer": { - "dataType": "refObject", - "properties": { - "eu_bank_transfer": {"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer"}, - "type": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.CustomerBalance": { - "dataType": "refObject", - "properties": { - "bank_transfer": {"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer"}, - "funding_type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["bank_transfer"]},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Konbini": { - "dataType": "refObject", - "properties": { - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.SepaDebit": { - "dataType": "refObject", - "properties": { - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters.AccountSubcategory": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["checking"]},{"dataType":"enum","enums":["savings"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters": { - "dataType": "refObject", - "properties": { - "account_subcategories": {"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters.AccountSubcategory"}}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Permission": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["balances"]},{"dataType":"enum","enums":["ownership"]},{"dataType":"enum","enums":["payment_method"]},{"dataType":"enum","enums":["transactions"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Prefetch": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["balances"]},{"dataType":"enum","enums":["ownership"]},{"dataType":"enum","enums":["transactions"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections": { - "dataType": "refObject", - "properties": { - "filters": {"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters"}, - "permissions": {"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Permission"}}, - "prefetch": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Prefetch"}},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.VerificationMethod": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["automatic"]},{"dataType":"enum","enums":["instant"]},{"dataType":"enum","enums":["microdeposits"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount": { - "dataType": "refObject", - "properties": { - "financial_connections": {"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections"}, - "verification_method": {"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.VerificationMethod"}, - }, - "additionalProperties": false, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_DashboardData_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions": { + "WalletState": { "dataType": "refObject", "properties": { - "acss_debit": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.AcssDebit"},{"dataType":"enum","enums":[null]}],"required":true}, - "bancontact": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Bancontact"},{"dataType":"enum","enums":[null]}],"required":true}, - "card": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Card"},{"dataType":"enum","enums":[null]}],"required":true}, - "customer_balance": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.CustomerBalance"},{"dataType":"enum","enums":[null]}],"required":true}, - "konbini": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Konbini"},{"dataType":"enum","enums":[null]}],"required":true}, - "sepa_debit": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.SepaDebit"},{"dataType":"enum","enums":[null]}],"required":true}, - "us_bank_account": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount"},{"dataType":"enum","enums":[null]}],"required":true}, + "balance": {"dataType":"double","required":true}, + "effectiveBalance": {"dataType":"double","required":true}, + "totalCredits": {"dataType":"double","required":true}, + "totalDebits": {"dataType":"double","required":true}, + "totalEscrow": {"dataType":"double","required":true}, + "disallowList": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"model":{"dataType":"string","required":true},"provider":{"dataType":"string","required":true},"helicone_request_id":{"dataType":"string","required":true}}},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodType": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["ach_credit_transfer"]},{"dataType":"enum","enums":["ach_debit"]},{"dataType":"enum","enums":["acss_debit"]},{"dataType":"enum","enums":["amazon_pay"]},{"dataType":"enum","enums":["au_becs_debit"]},{"dataType":"enum","enums":["bacs_debit"]},{"dataType":"enum","enums":["bancontact"]},{"dataType":"enum","enums":["boleto"]},{"dataType":"enum","enums":["card"]},{"dataType":"enum","enums":["cashapp"]},{"dataType":"enum","enums":["customer_balance"]},{"dataType":"enum","enums":["eps"]},{"dataType":"enum","enums":["fpx"]},{"dataType":"enum","enums":["giropay"]},{"dataType":"enum","enums":["grabpay"]},{"dataType":"enum","enums":["ideal"]},{"dataType":"enum","enums":["jp_credit_transfer"]},{"dataType":"enum","enums":["kakao_pay"]},{"dataType":"enum","enums":["konbini"]},{"dataType":"enum","enums":["kr_card"]},{"dataType":"enum","enums":["link"]},{"dataType":"enum","enums":["multibanco"]},{"dataType":"enum","enums":["naver_pay"]},{"dataType":"enum","enums":["p24"]},{"dataType":"enum","enums":["payco"]},{"dataType":"enum","enums":["paynow"]},{"dataType":"enum","enums":["paypal"]},{"dataType":"enum","enums":["promptpay"]},{"dataType":"enum","enums":["revolut_pay"]},{"dataType":"enum","enums":["sepa_credit_transfer"]},{"dataType":"enum","enums":["sepa_debit"]},{"dataType":"enum","enums":["sofort"]},{"dataType":"enum","enums":["swish"]},{"dataType":"enum","enums":["us_bank_account"]},{"dataType":"enum","enums":["wechat_pay"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.PaymentSettings.SaveDefaultPaymentMethod": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["off"]},{"dataType":"enum","enums":["on_subscription"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.PaymentSettings": { + "ResultSuccess_WalletState_": { "dataType": "refObject", "properties": { - "payment_method_options": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions"},{"dataType":"enum","enums":[null]}],"required":true}, - "payment_method_types": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"stripe.Stripe.Subscription.PaymentSettings.PaymentMethodType"}},{"dataType":"enum","enums":[null]}],"required":true}, - "save_default_payment_method": {"dataType":"union","subSchemas":[{"ref":"stripe.Stripe.Subscription.PaymentSettings.SaveDefaultPaymentMethod"},{"dataType":"enum","enums":[null]}],"required":true}, + "data": {"ref":"WalletState","required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.PendingInvoiceItemInterval.Interval": { + "Result_WalletState.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["day"]},{"dataType":"enum","enums":["month"]},{"dataType":"enum","enums":["week"]},{"dataType":"enum","enums":["year"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_WalletState_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.PendingInvoiceItemInterval": { + "TableDataResponse": { "dataType": "refObject", "properties": { - "interval": {"ref":"stripe.Stripe.Subscription.PendingInvoiceItemInterval.Interval","required":true}, - "interval_count": {"dataType":"double","required":true}, + "pageSize": {"dataType":"double","required":true}, + "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string"},"page":{"dataType":"double","required":true},"total":{"dataType":"double","required":true},"data":{"dataType":"array","array":{"dataType":"any"},"required":true}},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.PendingUpdate": { + "ResultSuccess_TableDataResponse_": { "dataType": "refObject", "properties": { - "billing_cycle_anchor": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "expires_at": {"dataType":"double","required":true}, - "subscription_items": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.SubscriptionItem"}},{"dataType":"enum","enums":[null]}],"required":true}, - "trial_end": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "trial_from_plan": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, + "data": {"ref":"TableDataResponse","required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.Status": { + "Result_TableDataResponse.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["active"]},{"dataType":"enum","enums":["canceled"]},{"dataType":"enum","enums":["incomplete"]},{"dataType":"enum","enums":["incomplete_expired"]},{"dataType":"enum","enums":["past_due"]},{"dataType":"enum","enums":["paused"]},{"dataType":"enum","enums":["trialing"]},{"dataType":"enum","enums":["unpaid"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_TableDataResponse_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.TransferData": { + "ResultSuccess__allowNegativeBalance-boolean--creditLimit-number__": { "dataType": "refObject", "properties": { - "amount_percent": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "destination": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}],"required":true}, + "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"creditLimit":{"dataType":"double","required":true},"allowNegativeBalance":{"dataType":"boolean","required":true}},"required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.TrialSettings.EndBehavior.MissingPaymentMethod": { + "Result__allowNegativeBalance-boolean--creditLimit-number_.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["cancel"]},{"dataType":"enum","enums":["create_invoice"]},{"dataType":"enum","enums":["pause"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.TrialSettings.EndBehavior": { - "dataType": "refObject", - "properties": { - "missing_payment_method": {"ref":"stripe.Stripe.Subscription.TrialSettings.EndBehavior.MissingPaymentMethod","required":true}, - }, - "additionalProperties": false, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__allowNegativeBalance-boolean--creditLimit-number__"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.Subscription.TrialSettings": { + "TimeSeriesDataPoint": { "dataType": "refObject", "properties": { - "end_behavior": {"ref":"stripe.Stripe.Subscription.TrialSettings.EndBehavior","required":true}, + "timestamp": {"dataType":"string","required":true}, + "amount": {"dataType":"double","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Record_string.stripe.Stripe.Discount_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"stripe.Stripe.Discount"},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Pick_stripe.Stripe.Invoice.Exclude_keyofstripe.Stripe.Invoice.id__": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"number":{"dataType":"string","required":true},"object":{"dataType":"enum","enums":["invoice"],"required":true},"status":{"ref":"stripe.Stripe.Invoice.Status","required":true},"application":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Application"},{"ref":"stripe.Stripe.DeletedApplication"}],"required":true},"subscription":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Subscription"}],"required":true},"customer":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Customer"},{"ref":"stripe.Stripe.DeletedCustomer"}],"required":true},"deleted":{"dataType":"void"},"issuer":{"ref":"stripe.Stripe.Invoice.Issuer","required":true},"charge":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Charge"}],"required":true},"paid":{"dataType":"boolean","required":true},"discount":{"ref":"stripe.Stripe.Discount","required":true},"account_country":{"dataType":"string","required":true},"account_name":{"dataType":"string","required":true},"account_tax_ids":{"dataType":"array","array":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TaxId"},{"ref":"stripe.Stripe.DeletedTaxId"}]},"required":true},"amount_due":{"dataType":"double","required":true},"amount_paid":{"dataType":"double","required":true},"amount_remaining":{"dataType":"double","required":true},"amount_shipping":{"dataType":"double","required":true},"application_fee_amount":{"dataType":"double","required":true},"attempt_count":{"dataType":"double","required":true},"attempted":{"dataType":"boolean","required":true},"auto_advance":{"dataType":"boolean"},"automatic_tax":{"ref":"stripe.Stripe.Invoice.AutomaticTax","required":true},"automatically_finalizes_at":{"dataType":"double","required":true},"billing_reason":{"ref":"stripe.Stripe.Invoice.BillingReason","required":true},"collection_method":{"ref":"stripe.Stripe.Invoice.CollectionMethod","required":true},"created":{"dataType":"double","required":true},"currency":{"dataType":"string","required":true},"custom_fields":{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Invoice.CustomField"},"required":true},"customer_address":{"ref":"stripe.Stripe.Address","required":true},"customer_email":{"dataType":"string","required":true},"customer_name":{"dataType":"string","required":true},"customer_phone":{"dataType":"string","required":true},"customer_shipping":{"ref":"stripe.Stripe.Invoice.CustomerShipping","required":true},"customer_tax_exempt":{"ref":"stripe.Stripe.Invoice.CustomerTaxExempt","required":true},"customer_tax_ids":{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Invoice.CustomerTaxId"}},"default_payment_method":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentMethod"}],"required":true},"default_source":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.CustomerSource"}],"required":true},"default_tax_rates":{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.TaxRate"},"required":true},"description":{"dataType":"string","required":true},"discounts":{"dataType":"array","array":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Discount"},{"ref":"stripe.Stripe.DeletedDiscount"}]},"required":true},"due_date":{"dataType":"double","required":true},"effective_at":{"dataType":"double","required":true},"ending_balance":{"dataType":"double","required":true},"footer":{"dataType":"string","required":true},"from_invoice":{"ref":"stripe.Stripe.Invoice.FromInvoice","required":true},"hosted_invoice_url":{"dataType":"string"},"invoice_pdf":{"dataType":"string"},"last_finalization_error":{"ref":"stripe.Stripe.Invoice.LastFinalizationError","required":true},"latest_revision":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Invoice"}],"required":true},"lines":{"ref":"stripe.Stripe.ApiList_stripe.Stripe.InvoiceLineItem_","required":true},"livemode":{"dataType":"boolean","required":true},"metadata":{"ref":"stripe.Stripe.Metadata","required":true},"next_payment_attempt":{"dataType":"double","required":true},"on_behalf_of":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Account"}],"required":true},"paid_out_of_band":{"dataType":"boolean","required":true},"payment_intent":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.PaymentIntent"}],"required":true},"payment_settings":{"ref":"stripe.Stripe.Invoice.PaymentSettings","required":true},"period_end":{"dataType":"double","required":true},"period_start":{"dataType":"double","required":true},"post_payment_credit_notes_amount":{"dataType":"double","required":true},"pre_payment_credit_notes_amount":{"dataType":"double","required":true},"quote":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.Quote"}],"required":true},"receipt_number":{"dataType":"string","required":true},"rendering":{"ref":"stripe.Stripe.Invoice.Rendering","required":true},"shipping_cost":{"ref":"stripe.Stripe.Invoice.ShippingCost","required":true},"shipping_details":{"ref":"stripe.Stripe.Invoice.ShippingDetails","required":true},"starting_balance":{"dataType":"double","required":true},"statement_descriptor":{"dataType":"string","required":true},"status_transitions":{"ref":"stripe.Stripe.Invoice.StatusTransitions","required":true},"subscription_details":{"ref":"stripe.Stripe.Invoice.SubscriptionDetails","required":true},"subscription_proration_date":{"dataType":"double"},"subtotal":{"dataType":"double","required":true},"subtotal_excluding_tax":{"dataType":"double","required":true},"tax":{"dataType":"double","required":true},"test_clock":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"stripe.Stripe.TestHelpers.TestClock"}],"required":true},"threshold_reason":{"ref":"stripe.Stripe.Invoice.ThresholdReason"},"total":{"dataType":"double","required":true},"total_discount_amounts":{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Invoice.TotalDiscountAmount"},"required":true},"total_excluding_tax":{"dataType":"double","required":true},"total_pretax_credit_amounts":{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Invoice.TotalPretaxCreditAmount"},"required":true},"total_tax_amounts":{"dataType":"array","array":{"dataType":"refObject","ref":"stripe.Stripe.Invoice.TotalTaxAmount"},"required":true},"transfer_data":{"ref":"stripe.Stripe.Invoice.TransferData","required":true},"webhooks_delivered_at":{"dataType":"double","required":true}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Omit_stripe.Stripe.Invoice.id_": { - "dataType": "refAlias", - "type": {"ref":"Pick_stripe.Stripe.Invoice.Exclude_keyofstripe.Stripe.Invoice.id__","validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "stripe.Stripe.UpcomingInvoice": { - "dataType": "refAlias", - "type": {"ref":"Omit_stripe.Stripe.Invoice.id_","validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "TextOperator": { + "TimeSeriesResponse": { "dataType": "refObject", "properties": { - "operator": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["equals"]},{"dataType":"enum","enums":["startsWith"]},{"dataType":"enum","enums":["includes"]}],"required":true}, - "value": {"dataType":"string","required":true}, + "deposits": {"dataType":"array","array":{"dataType":"refObject","ref":"TimeSeriesDataPoint"},"required":true}, + "spend": {"dataType":"array","array":{"dataType":"refObject","ref":"TimeSeriesDataPoint"},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ModelRow": { + "ResultSuccess_TimeSeriesResponse_": { "dataType": "refObject", "properties": { - "model": {"ref":"TextOperator","required":true}, - "cost": {"dataType":"nestedObjectLiteral","nestedProperties":{"prompt_cache_creation_1h":{"dataType":"double"},"prompt_cache_creation_5m":{"dataType":"double"},"completion_audio_token":{"dataType":"double"},"prompt_audio_token":{"dataType":"double"},"prompt_cache_read_token":{"dataType":"double"},"prompt_cache_write_token":{"dataType":"double"},"per_call":{"dataType":"double"},"per_image":{"dataType":"double"},"completion_token":{"dataType":"double","required":true},"prompt_token":{"dataType":"double","required":true}},"required":true}, - "showInPlayground": {"dataType":"boolean"}, - "targetUrl": {"dataType":"string"}, - "dateRange": {"dataType":"nestedObjectLiteral","nestedProperties":{"end":{"dataType":"string","required":true},"start":{"dataType":"string","required":true}}}, + "data": {"ref":"TimeSeriesResponse","required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ModelWithProvider": { + "Result_TimeSeriesResponse.string_": { "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"modelRow":{"ref":"ModelRow","required":true},"provider":{"dataType":"string","required":true}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "HelixThreadSummary": { - "dataType": "refObject", - "properties": { - "id": {"dataType":"string","required":true}, - "user_id": {"dataType":"string","required":true}, - "org_id": {"dataType":"string","required":true}, - "created_at": {"dataType":"datetime","required":true}, - "updated_at": {"dataType":"datetime","required":true}, - "escalated": {"dataType":"boolean","required":true}, - "message_count": {"dataType":"double","required":true}, - "first_message": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "last_message": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "user_email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "org_name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "org_tier": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "HelixThreadListResponse": { - "dataType": "refObject", - "properties": { - "threads": {"dataType":"array","array":{"dataType":"refObject","ref":"HelixThreadSummary"},"required":true}, - "total": {"dataType":"double","required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_HelixThreadListResponse_": { - "dataType": "refObject", - "properties": { - "data": {"ref":"HelixThreadListResponse","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_HelixThreadListResponse.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_HelixThreadListResponse_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "HelixThreadDetail": { - "dataType": "refObject", - "properties": { - "id": {"dataType":"string","required":true}, - "chat": {"dataType":"any","required":true}, - "user_id": {"dataType":"string","required":true}, - "org_id": {"dataType":"string","required":true}, - "created_at": {"dataType":"string","required":true}, - "escalated": {"dataType":"boolean","required":true}, - "metadata": {"dataType":"any","required":true}, - "updated_at": {"dataType":"string","required":true}, - "soft_delete": {"dataType":"boolean","required":true}, - "user_email": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_HelixThreadDetail_": { - "dataType": "refObject", - "properties": { - "data": {"ref":"HelixThreadDetail","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_HelixThreadDetail.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_HelixThreadDetail_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "InAppThread": { - "dataType": "refObject", - "properties": { - "id": {"dataType":"string","required":true}, - "chat": {"dataType":"any","required":true}, - "user_id": {"dataType":"string","required":true}, - "org_id": {"dataType":"string","required":true}, - "created_at": {"dataType":"datetime","required":true}, - "escalated": {"dataType":"boolean","required":true}, - "metadata": {"dataType":"any","required":true}, - "updated_at": {"dataType":"datetime","required":true}, - "soft_delete": {"dataType":"boolean","required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_InAppThread_": { - "dataType": "refObject", - "properties": { - "data": {"ref":"InAppThread","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_InAppThread.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_InAppThread_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__rows-Record_string.any_-Array--elapsedMilliseconds-number--size-number--rowCount-number__": { - "dataType": "refObject", - "properties": { - "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"rowCount":{"dataType":"double","required":true},"size":{"dataType":"double","required":true},"elapsedMilliseconds":{"dataType":"double","required":true},"rows":{"dataType":"array","array":{"dataType":"refAlias","ref":"Record_string.any_"},"required":true}},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__rows-Record_string.any_-Array--elapsedMilliseconds-number--size-number--rowCount-number_.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__rows-Record_string.any_-Array--elapsedMilliseconds-number--size-number--rowCount-number__"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__previousTier-string--newTier-string--subscriptionId-string__": { - "dataType": "refObject", - "properties": { - "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"subscriptionId":{"dataType":"string","required":true},"newTier":{"dataType":"string","required":true},"previousTier":{"dataType":"string","required":true}},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__previousTier-string--newTier-string--subscriptionId-string_.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__previousTier-string--newTier-string--subscriptionId-string__"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__previousTier-string--newTier-string--subscriptionId-string--usage_58__requests-number--storageBytes-number--storageMb-number--source-clickhouse-or-override_--backfillResult_58__requestsEvent-string--storageEvent-string___": { - "dataType": "refObject", - "properties": { - "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"backfillResult":{"dataType":"nestedObjectLiteral","nestedProperties":{"storageEvent":{"dataType":"string","required":true},"requestsEvent":{"dataType":"string","required":true}},"required":true},"usage":{"dataType":"nestedObjectLiteral","nestedProperties":{"source":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["clickhouse"]},{"dataType":"enum","enums":["override"]}],"required":true},"storageMb":{"dataType":"double","required":true},"storageBytes":{"dataType":"double","required":true},"requests":{"dataType":"double","required":true}},"required":true},"subscriptionId":{"dataType":"string","required":true},"newTier":{"dataType":"string","required":true},"previousTier":{"dataType":"string","required":true}},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__previousTier-string--newTier-string--subscriptionId-string--usage_58__requests-number--storageBytes-number--storageMb-number--source-clickhouse-or-override_--backfillResult_58__requestsEvent-string--storageEvent-string__.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__previousTier-string--newTier-string--subscriptionId-string--usage_58__requests-number--storageBytes-number--storageMb-number--source-clickhouse-or-override_--backfillResult_58__requestsEvent-string--storageEvent-string___"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__previousTier-string--newTier-string--subscriptionId-string--scheduleId-string--scheduledFor-string__": { - "dataType": "refObject", - "properties": { - "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"scheduledFor":{"dataType":"string","required":true},"scheduleId":{"dataType":"string","required":true},"subscriptionId":{"dataType":"string","required":true},"newTier":{"dataType":"string","required":true},"previousTier":{"dataType":"string","required":true}},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__previousTier-string--newTier-string--subscriptionId-string--scheduleId-string--scheduledFor-string_.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__previousTier-string--newTier-string--subscriptionId-string--scheduleId-string--scheduledFor-string__"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__id-string--name-string--tier-string--stripe_customer_id-string-or-null--stripe_subscription_id-string-or-null--subscription_status-string-or-null--owner_email-string-or-null--created_at-string__": { - "dataType": "refObject", - "properties": { - "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"created_at":{"dataType":"string","required":true},"owner_email":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true},"subscription_status":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true},"stripe_subscription_id":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true},"stripe_customer_id":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true},"tier":{"dataType":"string","required":true},"name":{"dataType":"string","required":true},"id":{"dataType":"string","required":true}},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__id-string--name-string--tier-string--stripe_customer_id-string-or-null--stripe_subscription_id-string-or-null--subscription_status-string-or-null--owner_email-string-or-null--created_at-string_.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__id-string--name-string--tier-string--stripe_customer_id-string-or-null--stripe_subscription_id-string-or-null--subscription_status-string-or-null--owner_email-string-or-null--created_at-string__"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__message-string__": { - "dataType": "refObject", - "properties": { - "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__message-string_.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__message-string__"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__message-string--previousTier-string__": { - "dataType": "refObject", - "properties": { - "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"previousTier":{"dataType":"string","required":true},"message":{"dataType":"string","required":true}},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__message-string--previousTier-string_.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__message-string--previousTier-string__"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "CreditBalanceResponse": { - "dataType": "refObject", - "properties": { - "totalCreditsPurchased": {"dataType":"double","required":true}, - "balance": {"dataType":"double","required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_CreditBalanceResponse_": { - "dataType": "refObject", - "properties": { - "data": {"ref":"CreditBalanceResponse","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_CreditBalanceResponse.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_CreditBalanceResponse_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PurchasedCredits": { - "dataType": "refObject", - "properties": { - "id": {"dataType":"string","required":true}, - "createdAt": {"dataType":"double","required":true}, - "credits": {"dataType":"double","required":true}, - "referenceId": {"dataType":"string","required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PaginatedPurchasedCredits": { - "dataType": "refObject", - "properties": { - "purchases": {"dataType":"array","array":{"dataType":"refObject","ref":"PurchasedCredits"},"required":true}, - "total": {"dataType":"double","required":true}, - "page": {"dataType":"double","required":true}, - "pageSize": {"dataType":"double","required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_PaginatedPurchasedCredits_": { - "dataType": "refObject", - "properties": { - "data": {"ref":"PaginatedPurchasedCredits","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_PaginatedPurchasedCredits.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_PaginatedPurchasedCredits_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__totalSpend-number__": { - "dataType": "refObject", - "properties": { - "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"totalSpend":{"dataType":"double","required":true}},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__totalSpend-number_.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__totalSpend-number__"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ModelSpend": { - "dataType": "refObject", - "properties": { - "model": {"dataType":"string","required":true}, - "provider": {"dataType":"string","required":true}, - "promptTokens": {"dataType":"double","required":true}, - "completionTokens": {"dataType":"double","required":true}, - "cacheReadTokens": {"dataType":"double","required":true}, - "cacheWriteTokens": {"dataType":"double","required":true}, - "pricing": {"dataType":"union","subSchemas":[{"dataType":"nestedObjectLiteral","nestedProperties":{"cacheWritePer1M":{"dataType":"double"},"cacheReadPer1M":{"dataType":"double"},"outputPer1M":{"dataType":"double","required":true},"inputPer1M":{"dataType":"double","required":true}}},{"dataType":"enum","enums":[null]}],"required":true}, - "subtotal": {"dataType":"double","required":true}, - "discountPercent": {"dataType":"double","required":true}, - "total": {"dataType":"double","required":true}, - "cacheAdjustment": {"dataType":"double"}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "SpendBreakdownResponse": { - "dataType": "refObject", - "properties": { - "models": {"dataType":"array","array":{"dataType":"refObject","ref":"ModelSpend"},"required":true}, - "totalCost": {"dataType":"double","required":true}, - "timeRange": {"dataType":"nestedObjectLiteral","nestedProperties":{"end":{"dataType":"string","required":true},"start":{"dataType":"string","required":true}},"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_SpendBreakdownResponse_": { - "dataType": "refObject", - "properties": { - "data": {"ref":"SpendBreakdownResponse","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_SpendBreakdownResponse.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_SpendBreakdownResponse_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PTBInvoice": { - "dataType": "refObject", - "properties": { - "id": {"dataType":"string","required":true}, - "organizationId": {"dataType":"string","required":true}, - "stripeInvoiceId": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "hostedInvoiceUrl": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "startDate": {"dataType":"string","required":true}, - "endDate": {"dataType":"string","required":true}, - "amountCents": {"dataType":"double","required":true}, - "subtotalCents": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "notes": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "createdAt": {"dataType":"string","required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_PTBInvoice-Array_": { - "dataType": "refObject", - "properties": { - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"PTBInvoice"},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_PTBInvoice-Array.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_PTBInvoice-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "OrgDiscount": { - "dataType": "refObject", - "properties": { - "provider": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "model": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "percent": {"dataType":"double","required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_OrgDiscount-Array_": { - "dataType": "refObject", - "properties": { - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"OrgDiscount"},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_OrgDiscount-Array.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_OrgDiscount-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "DashboardData": { - "dataType": "refObject", - "properties": { - "organizations": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"walletProcessedEventsCount":{"dataType":"double"},"walletDisallowedModelCount":{"dataType":"double"},"walletTotalDebits":{"dataType":"double"},"walletTotalCredits":{"dataType":"double"},"walletEffectiveBalance":{"dataType":"double"},"walletBalance":{"dataType":"double"},"creditLimit":{"dataType":"double","required":true},"allowNegativeBalance":{"dataType":"boolean","required":true},"ownerEmail":{"dataType":"string","required":true},"tier":{"dataType":"string","required":true},"lastPaymentDate":{"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true},"clickhouseTotalSpend":{"dataType":"double","required":true},"paymentsCount":{"dataType":"double","required":true},"totalPayments":{"dataType":"double","required":true},"stripeCustomerId":{"dataType":"string","required":true},"orgName":{"dataType":"string","required":true},"orgId":{"dataType":"string","required":true}}},"required":true}, - "summary": {"dataType":"nestedObjectLiteral","nestedProperties":{"totalCreditsSpent":{"dataType":"double","required":true},"totalCreditsIssued":{"dataType":"double","required":true},"totalOrgsWithCredits":{"dataType":"double","required":true}},"required":true}, - "isProduction": {"dataType":"boolean","required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_DashboardData_": { - "dataType": "refObject", - "properties": { - "data": {"ref":"DashboardData","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_DashboardData.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_DashboardData_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "WalletState": { - "dataType": "refObject", - "properties": { - "balance": {"dataType":"double","required":true}, - "effectiveBalance": {"dataType":"double","required":true}, - "totalCredits": {"dataType":"double","required":true}, - "totalDebits": {"dataType":"double","required":true}, - "totalEscrow": {"dataType":"double","required":true}, - "disallowList": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"model":{"dataType":"string","required":true},"provider":{"dataType":"string","required":true},"helicone_request_id":{"dataType":"string","required":true}}},"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_WalletState_": { - "dataType": "refObject", - "properties": { - "data": {"ref":"WalletState","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_WalletState.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_WalletState_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "TableDataResponse": { - "dataType": "refObject", - "properties": { - "pageSize": {"dataType":"double","required":true}, - "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string"},"page":{"dataType":"double","required":true},"total":{"dataType":"double","required":true},"data":{"dataType":"array","array":{"dataType":"any"},"required":true}},"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_TableDataResponse_": { - "dataType": "refObject", - "properties": { - "data": {"ref":"TableDataResponse","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_TableDataResponse.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_TableDataResponse_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__allowNegativeBalance-boolean--creditLimit-number__": { - "dataType": "refObject", - "properties": { - "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"creditLimit":{"dataType":"double","required":true},"allowNegativeBalance":{"dataType":"boolean","required":true}},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__allowNegativeBalance-boolean--creditLimit-number_.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__allowNegativeBalance-boolean--creditLimit-number__"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "TimeSeriesDataPoint": { - "dataType": "refObject", - "properties": { - "timestamp": {"dataType":"string","required":true}, - "amount": {"dataType":"double","required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "TimeSeriesResponse": { - "dataType": "refObject", - "properties": { - "deposits": {"dataType":"array","array":{"dataType":"refObject","ref":"TimeSeriesDataPoint"},"required":true}, - "spend": {"dataType":"array","array":{"dataType":"refObject","ref":"TimeSeriesDataPoint"},"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_TimeSeriesResponse_": { - "dataType": "refObject", - "properties": { - "data": {"ref":"TimeSeriesResponse","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_TimeSeriesResponse.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_TimeSeriesResponse_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_ModelSpend-Array_": { - "dataType": "refObject", - "properties": { - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"ModelSpend"},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_ModelSpend-Array.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_ModelSpend-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__deleted-boolean__": { - "dataType": "refObject", - "properties": { - "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"deleted":{"dataType":"boolean","required":true}},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__deleted-boolean_.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__deleted-boolean__"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__updated-boolean__": { - "dataType": "refObject", - "properties": { - "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"updated":{"dataType":"boolean","required":true}},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__updated-boolean_.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__updated-boolean__"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "InvoiceSummary": { - "dataType": "refObject", - "properties": { - "totalSpendCents": {"dataType":"double","required":true}, - "totalInvoicedCents": {"dataType":"double","required":true}, - "uninvoicedBalanceCents": {"dataType":"double","required":true}, - "lastInvoiceEndDate": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_InvoiceSummary_": { - "dataType": "refObject", - "properties": { - "data": {"ref":"InvoiceSummary","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_InvoiceSummary.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_InvoiceSummary_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "CreateInvoiceResponse": { - "dataType": "refObject", - "properties": { - "invoiceId": {"dataType":"string","required":true}, - "hostedInvoiceUrl": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "dashboardUrl": {"dataType":"string","required":true}, - "amountCents": {"dataType":"double","required":true}, - "subtotalCents": {"dataType":"double","required":true}, - "ptbInvoiceId": {"dataType":"string","required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_CreateInvoiceResponse_": { - "dataType": "refObject", - "properties": { - "data": {"ref":"CreateInvoiceResponse","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_CreateInvoiceResponse.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_CreateInvoiceResponse_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ConvertToWavResponse": { - "dataType": "refObject", - "properties": { - "data": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "error": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ConvertToWavRequestBody": { - "dataType": "refObject", - "properties": { - "audioData": {"dataType":"string","required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__url-string__": { - "dataType": "refObject", - "properties": { - "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"url":{"dataType":"string","required":true}},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__url-string_.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__url-string__"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa -}; -const templateService = new ExpressTemplateService(models, {"noImplicitAdditionalProperties":"throw-on-extras","bodyCoercion":true}); - -// WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - - - -export function RegisterRoutes(app: Router) { - - // ########################################################################################################### - // NOTE: If you do not see routes for all of your controllers in this file, then you might not have informed tsoa of where to look - // Please look into the "controllerPathGlobs" config option described in the readme: https://github.com/lukeautry/tsoa - // ########################################################################################################### - - - - const argsWaitListController_addToWaitlist: Record = { - body: {"in":"body","name":"body","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"organizationId":{"dataType":"string"},"feature":{"dataType":"string","required":true},"email":{"dataType":"string","required":true}}}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v1/waitlist/feature', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(WaitListController)), - ...(fetchMiddlewares(WaitListController.prototype.addToWaitlist)), - - async function WaitListController_addToWaitlist(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsWaitListController_addToWaitlist, request, response }); - - const controller = new WaitListController(); - - await templateService.apiHandler({ - methodName: 'addToWaitlist', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsWaitListController_isOnWaitlist: Record = { - email: {"in":"query","name":"email","required":true,"dataType":"string"}, - feature: {"in":"query","name":"feature","required":true,"dataType":"string"}, - organizationId: {"in":"query","name":"organizationId","dataType":"string"}, - request: {"in":"request","name":"request","dataType":"object"}, - }; - app.get('/v1/waitlist/feature/status', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(WaitListController)), - ...(fetchMiddlewares(WaitListController.prototype.isOnWaitlist)), - - async function WaitListController_isOnWaitlist(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsWaitListController_isOnWaitlist, request, response }); - - const controller = new WaitListController(); - - await templateService.apiHandler({ - methodName: 'isOnWaitlist', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsWaitListController_getWaitlistCount: Record = { - feature: {"in":"query","name":"feature","required":true,"dataType":"string"}, - }; - app.get('/v1/waitlist/feature/count', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(WaitListController)), - ...(fetchMiddlewares(WaitListController.prototype.getWaitlistCount)), - - async function WaitListController_getWaitlistCount(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsWaitListController_getWaitlistCount, request, response }); - - const controller = new WaitListController(); - - await templateService.apiHandler({ - methodName: 'getWaitlistCount', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsUserFeedbackController_postUserFeedback: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - body: {"in":"body","name":"body","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"tag":{"dataType":"string","required":true},"feedback":{"dataType":"string","required":true}}}, - }; - app.post('/v1/user-feedback', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(UserFeedbackController)), - ...(fetchMiddlewares(UserFeedbackController.prototype.postUserFeedback)), - - async function UserFeedbackController_postUserFeedback(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsUserFeedbackController_postUserFeedback, request, response }); - - const controller = new UserFeedbackController(); - - await templateService.apiHandler({ - methodName: 'postUserFeedback', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsSettingController_getSettings: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.get('/v1/settings/query', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(SettingController)), - ...(fetchMiddlewares(SettingController.prototype.getSettings)), - - async function SettingController_getSettings(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsSettingController_getSettings, request, response }); - - const controller = new SettingController(); - - await templateService.apiHandler({ - methodName: 'getSettings', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsRateLimitController_getRateLimits: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.get('/v1/rate-limits', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(RateLimitController)), - ...(fetchMiddlewares(RateLimitController.prototype.getRateLimits)), - - async function RateLimitController_getRateLimits(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsRateLimitController_getRateLimits, request, response }); - - const controller = new RateLimitController(); - - await templateService.apiHandler({ - methodName: 'getRateLimits', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsRateLimitController_createRateLimit: Record = { - params: {"in":"body","name":"params","required":true,"ref":"CreateRateLimitRuleParams"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v1/rate-limits', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(RateLimitController)), - ...(fetchMiddlewares(RateLimitController.prototype.createRateLimit)), - - async function RateLimitController_createRateLimit(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsRateLimitController_createRateLimit, request, response }); - - const controller = new RateLimitController(); - - await templateService.apiHandler({ - methodName: 'createRateLimit', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsRateLimitController_updateRateLimit: Record = { - ruleId: {"in":"path","name":"ruleId","required":true,"dataType":"string"}, - params: {"in":"body","name":"params","required":true,"ref":"UpdateRateLimitRuleParams"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.put('/v1/rate-limits/:ruleId', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(RateLimitController)), - ...(fetchMiddlewares(RateLimitController.prototype.updateRateLimit)), - - async function RateLimitController_updateRateLimit(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsRateLimitController_updateRateLimit, request, response }); - - const controller = new RateLimitController(); - - await templateService.apiHandler({ - methodName: 'updateRateLimit', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsRateLimitController_deleteRateLimit: Record = { - ruleId: {"in":"path","name":"ruleId","required":true,"dataType":"string"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.delete('/v1/rate-limits/:ruleId', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(RateLimitController)), - ...(fetchMiddlewares(RateLimitController.prototype.deleteRateLimit)), - - async function RateLimitController_deleteRateLimit(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsRateLimitController_deleteRateLimit, request, response }); - - const controller = new RateLimitController(); - - await templateService.apiHandler({ - methodName: 'deleteRateLimit', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsApiKeyController_deleteProviderKey: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - providerKeyId: {"in":"path","name":"providerKeyId","required":true,"dataType":"string"}, - }; - app.delete('/v1/api-keys/provider-key/:providerKeyId', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ApiKeyController)), - ...(fetchMiddlewares(ApiKeyController.prototype.deleteProviderKey)), - - async function ApiKeyController_deleteProviderKey(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsApiKeyController_deleteProviderKey, request, response }); - - const controller = new ApiKeyController(); - - await templateService.apiHandler({ - methodName: 'deleteProviderKey', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsApiKeyController_createProviderKey: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - body: {"in":"body","name":"body","required":true,"ref":"CreateProviderKeyRequest"}, - }; - app.post('/v1/api-keys/provider-key', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ApiKeyController)), - ...(fetchMiddlewares(ApiKeyController.prototype.createProviderKey)), - - async function ApiKeyController_createProviderKey(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsApiKeyController_createProviderKey, request, response }); - - const controller = new ApiKeyController(); - - await templateService.apiHandler({ - methodName: 'createProviderKey', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsApiKeyController_getProviderKey: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - providerKeyId: {"in":"path","name":"providerKeyId","required":true,"dataType":"string"}, - }; - app.get('/v1/api-keys/provider-key/:providerKeyId', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ApiKeyController)), - ...(fetchMiddlewares(ApiKeyController.prototype.getProviderKey)), - - async function ApiKeyController_getProviderKey(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsApiKeyController_getProviderKey, request, response }); - - const controller = new ApiKeyController(); - - await templateService.apiHandler({ - methodName: 'getProviderKey', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsApiKeyController_getProviderKeys: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.get('/v1/api-keys/provider-keys', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ApiKeyController)), - ...(fetchMiddlewares(ApiKeyController.prototype.getProviderKeys)), - - async function ApiKeyController_getProviderKeys(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsApiKeyController_getProviderKeys, request, response }); - - const controller = new ApiKeyController(); - - await templateService.apiHandler({ - methodName: 'getProviderKeys', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsApiKeyController_updateProviderKey: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - providerKeyId: {"in":"path","name":"providerKeyId","required":true,"dataType":"string"}, - body: {"in":"body","name":"body","required":true,"ref":"UpdateProviderKeyRequest"}, - }; - app.patch('/v1/api-keys/provider-key/:providerKeyId', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ApiKeyController)), - ...(fetchMiddlewares(ApiKeyController.prototype.updateProviderKey)), - - async function ApiKeyController_updateProviderKey(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsApiKeyController_updateProviderKey, request, response }); - - const controller = new ApiKeyController(); - - await templateService.apiHandler({ - methodName: 'updateProviderKey', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsApiKeyController_getAPIKeys: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.get('/v1/api-keys', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ApiKeyController)), - ...(fetchMiddlewares(ApiKeyController.prototype.getAPIKeys)), - - async function ApiKeyController_getAPIKeys(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsApiKeyController_getAPIKeys, request, response }); - - const controller = new ApiKeyController(); - - await templateService.apiHandler({ - methodName: 'getAPIKeys', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsApiKeyController_createAPIKey: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - body: {"in":"body","name":"body","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"key_permissions":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["rw"]},{"dataType":"enum","enums":["r"]},{"dataType":"enum","enums":["w"]}]},"api_key_name":{"dataType":"string","required":true}}}, - }; - app.post('/v1/api-keys', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ApiKeyController)), - ...(fetchMiddlewares(ApiKeyController.prototype.createAPIKey)), - - async function ApiKeyController_createAPIKey(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsApiKeyController_createAPIKey, request, response }); - - const controller = new ApiKeyController(); - - await templateService.apiHandler({ - methodName: 'createAPIKey', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsApiKeyController_createProxyKey: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - body: {"in":"body","name":"body","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"proxyKeyName":{"dataType":"string","required":true},"providerKeyId":{"dataType":"string","required":true}}}, - }; - app.post('/v1/api-keys/proxy-key', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ApiKeyController)), - ...(fetchMiddlewares(ApiKeyController.prototype.createProxyKey)), - - async function ApiKeyController_createProxyKey(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsApiKeyController_createProxyKey, request, response }); - - const controller = new ApiKeyController(); - - await templateService.apiHandler({ - methodName: 'createProxyKey', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsApiKeyController_deleteAPIKey: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - apiKeyId: {"in":"path","name":"apiKeyId","required":true,"dataType":"double"}, - }; - app.delete('/v1/api-keys/:apiKeyId', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ApiKeyController)), - ...(fetchMiddlewares(ApiKeyController.prototype.deleteAPIKey)), - - async function ApiKeyController_deleteAPIKey(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsApiKeyController_deleteAPIKey, request, response }); - - const controller = new ApiKeyController(); - - await templateService.apiHandler({ - methodName: 'deleteAPIKey', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsApiKeyController_updateAPIKey: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - apiKeyId: {"in":"path","name":"apiKeyId","required":true,"dataType":"double"}, - body: {"in":"body","name":"body","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"api_key_name":{"dataType":"string","required":true}}}, - }; - app.patch('/v1/api-keys/:apiKeyId', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ApiKeyController)), - ...(fetchMiddlewares(ApiKeyController.prototype.updateAPIKey)), - - async function ApiKeyController_updateAPIKey(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsApiKeyController_updateAPIKey, request, response }); - - const controller = new ApiKeyController(); - - await templateService.apiHandler({ - methodName: 'updateAPIKey', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_getCostForPrompts: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.get('/v1/stripe/subscription/cost-for-prompts', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.getCostForPrompts)), - - async function StripeController_getCostForPrompts(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_getCostForPrompts, request, response }); - - const controller = new StripeController(); - - await templateService.apiHandler({ - methodName: 'getCostForPrompts', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_getCostForEvals: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.get('/v1/stripe/subscription/cost-for-evals', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.getCostForEvals)), - - async function StripeController_getCostForEvals(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_getCostForEvals, request, response }); - - const controller = new StripeController(); - - await templateService.apiHandler({ - methodName: 'getCostForEvals', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_getCostForExperiments: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.get('/v1/stripe/subscription/cost-for-experiments', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.getCostForExperiments)), - - async function StripeController_getCostForExperiments(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_getCostForExperiments, request, response }); - - const controller = new StripeController(); - - await templateService.apiHandler({ - methodName: 'getCostForExperiments', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_getFreeUsage: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.get('/v1/stripe/subscription/free/usage', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.getFreeUsage)), - - async function StripeController_getFreeUsage(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_getFreeUsage, request, response }); - - const controller = new StripeController(); - - await templateService.apiHandler({ - methodName: 'getFreeUsage', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_createCloudGatewayCheckoutSession: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - body: {"in":"body","name":"body","required":true,"ref":"CreateCloudGatewayCheckoutSessionRequest"}, - }; - app.post('/v1/stripe/cloud/checkout-session', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.createCloudGatewayCheckoutSession)), - - async function StripeController_createCloudGatewayCheckoutSession(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_createCloudGatewayCheckoutSession, request, response }); - - const controller = new StripeController(); - - await templateService.apiHandler({ - methodName: 'createCloudGatewayCheckoutSession', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_upgradeToPro: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - body: {"in":"body","name":"body","required":true,"ref":"UpgradeToProRequest"}, - }; - app.post('/v1/stripe/subscription/new-customer/upgrade-to-pro', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.upgradeToPro)), - - async function StripeController_upgradeToPro(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_upgradeToPro, request, response }); - - const controller = new StripeController(); - - await templateService.apiHandler({ - methodName: 'upgradeToPro', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_upgradeExistingCustomer: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - body: {"in":"body","name":"body","required":true,"ref":"UpgradeToProRequest"}, - }; - app.post('/v1/stripe/subscription/existing-customer/upgrade-to-pro', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.upgradeExistingCustomer)), - - async function StripeController_upgradeExistingCustomer(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_upgradeExistingCustomer, request, response }); - - const controller = new StripeController(); - - await templateService.apiHandler({ - methodName: 'upgradeExistingCustomer', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_upgradeToTeamBundle: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - body: {"in":"body","name":"body","ref":"UpgradeToTeamBundleRequest"}, - }; - app.post('/v1/stripe/subscription/new-customer/upgrade-to-team-bundle', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.upgradeToTeamBundle)), - - async function StripeController_upgradeToTeamBundle(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_upgradeToTeamBundle, request, response }); - - const controller = new StripeController(); - - await templateService.apiHandler({ - methodName: 'upgradeToTeamBundle', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_upgradeExistingCustomerToTeamBundle: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - body: {"in":"body","name":"body","ref":"UpgradeToTeamBundleRequest"}, - }; - app.post('/v1/stripe/subscription/existing-customer/upgrade-to-team-bundle', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.upgradeExistingCustomerToTeamBundle)), - - async function StripeController_upgradeExistingCustomerToTeamBundle(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_upgradeExistingCustomerToTeamBundle, request, response }); - - const controller = new StripeController(); - - await templateService.apiHandler({ - methodName: 'upgradeExistingCustomerToTeamBundle', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_manageSubscription: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v1/stripe/subscription/manage-subscription', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.manageSubscription)), - - async function StripeController_manageSubscription(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_manageSubscription, request, response }); - - const controller = new StripeController(); - - await templateService.apiHandler({ - methodName: 'manageSubscription', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_undoCancelSubscription: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v1/stripe/subscription/undo-cancel-subscription', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.undoCancelSubscription)), - - async function StripeController_undoCancelSubscription(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_undoCancelSubscription, request, response }); - - const controller = new StripeController(); - - await templateService.apiHandler({ - methodName: 'undoCancelSubscription', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_addOns: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - productType: {"in":"path","name":"productType","required":true,"dataType":"union","subSchemas":[{"dataType":"enum","enums":["alerts"]},{"dataType":"enum","enums":["prompts"]},{"dataType":"enum","enums":["experiments"]},{"dataType":"enum","enums":["evals"]}]}, - }; - app.post('/v1/stripe/subscription/add-ons/:productType', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.addOns)), - - async function StripeController_addOns(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_addOns, request, response }); - - const controller = new StripeController(); - - await templateService.apiHandler({ - methodName: 'addOns', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_deleteAddOns: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - productType: {"in":"path","name":"productType","required":true,"dataType":"union","subSchemas":[{"dataType":"enum","enums":["alerts"]},{"dataType":"enum","enums":["prompts"]},{"dataType":"enum","enums":["experiments"]},{"dataType":"enum","enums":["evals"]}]}, - }; - app.delete('/v1/stripe/subscription/add-ons/:productType', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.deleteAddOns)), - - async function StripeController_deleteAddOns(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_deleteAddOns, request, response }); - - const controller = new StripeController(); - - await templateService.apiHandler({ - methodName: 'deleteAddOns', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_previewInvoice: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.get('/v1/stripe/subscription/preview-invoice', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.previewInvoice)), - - async function StripeController_previewInvoice(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_previewInvoice, request, response }); - - const controller = new StripeController(); - - await templateService.apiHandler({ - methodName: 'previewInvoice', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_cancelSubscription: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v1/stripe/subscription/cancel-subscription', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.cancelSubscription)), - - async function StripeController_cancelSubscription(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_cancelSubscription, request, response }); - - const controller = new StripeController(); - - await templateService.apiHandler({ - methodName: 'cancelSubscription', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_migrateToPro: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v1/stripe/subscription/migrate-to-pro', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.migrateToPro)), - - async function StripeController_migrateToPro(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_migrateToPro, request, response }); - - const controller = new StripeController(); - - await templateService.apiHandler({ - methodName: 'migrateToPro', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_searchPaymentIntents: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - search_kind: {"in":"query","name":"search_kind","required":true,"dataType":"string"}, - limit: {"in":"query","name":"limit","dataType":"double"}, - page: {"in":"query","name":"page","dataType":"string"}, - }; - app.get('/v1/stripe/payment-intents/search', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.searchPaymentIntents)), - - async function StripeController_searchPaymentIntents(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_searchPaymentIntents, request, response }); - - const controller = new StripeController(); - - await templateService.apiHandler({ - methodName: 'searchPaymentIntents', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_getSubscription: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.get('/v1/stripe/subscription', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.getSubscription)), - - async function StripeController_getSubscription(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_getSubscription, request, response }); - - const controller = new StripeController(); - - await templateService.apiHandler({ - methodName: 'getSubscription', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_getAutoTopoffSettings: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.get('/v1/stripe/auto-topoff/settings', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.getAutoTopoffSettings)), - - async function StripeController_getAutoTopoffSettings(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_getAutoTopoffSettings, request, response }); - - const controller = new StripeController(); - - await templateService.apiHandler({ - methodName: 'getAutoTopoffSettings', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_updateAutoTopoffSettings: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - body: {"in":"body","name":"body","required":true,"ref":"UpdateAutoTopoffSettingsRequest"}, - }; - app.post('/v1/stripe/auto-topoff/settings', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.updateAutoTopoffSettings)), - - async function StripeController_updateAutoTopoffSettings(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_updateAutoTopoffSettings, request, response }); - - const controller = new StripeController(); - - await templateService.apiHandler({ - methodName: 'updateAutoTopoffSettings', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_disableAutoTopoff: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.delete('/v1/stripe/auto-topoff/settings', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.disableAutoTopoff)), - - async function StripeController_disableAutoTopoff(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_disableAutoTopoff, request, response }); - - const controller = new StripeController(); - - await templateService.apiHandler({ - methodName: 'disableAutoTopoff', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_getPaymentMethods: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.get('/v1/stripe/payment-methods', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.getPaymentMethods)), - - async function StripeController_getPaymentMethods(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_getPaymentMethods, request, response }); - - const controller = new StripeController(); - - await templateService.apiHandler({ - methodName: 'getPaymentMethods', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_createSetupSession: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - body: {"in":"body","name":"body","required":true,"ref":"CreateSetupSessionRequest"}, - }; - app.post('/v1/stripe/payment-methods/setup-session', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.createSetupSession)), - - async function StripeController_createSetupSession(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_createSetupSession, request, response }); - - const controller = new StripeController(); - - await templateService.apiHandler({ - methodName: 'createSetupSession', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_removePaymentMethod: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - paymentMethodId: {"in":"path","name":"paymentMethodId","required":true,"dataType":"string"}, - }; - app.delete('/v1/stripe/payment-methods/:paymentMethodId', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.removePaymentMethod)), - - async function StripeController_removePaymentMethod(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_removePaymentMethod, request, response }); - - const controller = new StripeController(); - - await templateService.apiHandler({ - methodName: 'removePaymentMethod', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_getUsageStats: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.get('/v1/stripe/subscription/usage-stats', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.getUsageStats)), - - async function StripeController_getUsageStats(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_getUsageStats, request, response }); - - const controller = new StripeController(); - - await templateService.apiHandler({ - methodName: 'getUsageStats', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsOrganizationController_getOrganizations: Record = { - req: {"in":"request","name":"req","required":true,"dataType":"object"}, - }; - app.get('/v1/organization', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(OrganizationController)), - ...(fetchMiddlewares(OrganizationController.prototype.getOrganizations)), - - async function OrganizationController_getOrganizations(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsOrganizationController_getOrganizations, request, response }); - - const controller = new OrganizationController(); - - await templateService.apiHandler({ - methodName: 'getOrganizations', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsOrganizationController_getModels: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.get('/v1/organization/models', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(OrganizationController)), - ...(fetchMiddlewares(OrganizationController.prototype.getModels)), - - async function OrganizationController_getModels(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsOrganizationController_getModels, request, response }); - - const controller = new OrganizationController(); - - await templateService.apiHandler({ - methodName: 'getModels', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsOrganizationController_getOrganization: Record = { - organizationId: {"in":"path","name":"organizationId","required":true,"dataType":"string"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.get('/v1/organization/:organizationId', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(OrganizationController)), - ...(fetchMiddlewares(OrganizationController.prototype.getOrganization)), - - async function OrganizationController_getOrganization(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsOrganizationController_getOrganization, request, response }); - - const controller = new OrganizationController(); - - await templateService.apiHandler({ - methodName: 'getOrganization', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsOrganizationController_getReseller: Record = { - resellerId: {"in":"path","name":"resellerId","required":true,"dataType":"string"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.get('/v1/organization/reseller/:resellerId', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(OrganizationController)), - ...(fetchMiddlewares(OrganizationController.prototype.getReseller)), - - async function OrganizationController_getReseller(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsOrganizationController_getReseller, request, response }); - - const controller = new OrganizationController(); - - await templateService.apiHandler({ - methodName: 'getReseller', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsOrganizationController_acceptTerms: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v1/organization/user/accept_terms', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(OrganizationController)), - ...(fetchMiddlewares(OrganizationController.prototype.acceptTerms)), - - async function OrganizationController_acceptTerms(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsOrganizationController_acceptTerms, request, response }); - - const controller = new OrganizationController(); - - await templateService.apiHandler({ - methodName: 'acceptTerms', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsOrganizationController_createNewOrganization: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"NewOrganizationParams"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v1/organization/create', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(OrganizationController)), - ...(fetchMiddlewares(OrganizationController.prototype.createNewOrganization)), - - async function OrganizationController_createNewOrganization(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsOrganizationController_createNewOrganization, request, response }); - - const controller = new OrganizationController(); - - await templateService.apiHandler({ - methodName: 'createNewOrganization', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsOrganizationController_updateOrganization: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"UpdateOrganizationParams"}, - organizationId: {"in":"path","name":"organizationId","required":true,"dataType":"string"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v1/organization/:organizationId/update', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(OrganizationController)), - ...(fetchMiddlewares(OrganizationController.prototype.updateOrganization)), - - async function OrganizationController_updateOrganization(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsOrganizationController_updateOrganization, request, response }); - - const controller = new OrganizationController(); - - await templateService.apiHandler({ - methodName: 'updateOrganization', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsOrganizationController_onboardOrganization: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{}}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v1/organization/onboard', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(OrganizationController)), - ...(fetchMiddlewares(OrganizationController.prototype.onboardOrganization)), - - async function OrganizationController_onboardOrganization(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsOrganizationController_onboardOrganization, request, response }); - - const controller = new OrganizationController(); - - await templateService.apiHandler({ - methodName: 'onboardOrganization', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsOrganizationController_addMemberToOrganization: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"email":{"dataType":"string","required":true}}}, - organizationId: {"in":"path","name":"organizationId","required":true,"dataType":"string"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v1/organization/:organizationId/add_member', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(OrganizationController)), - ...(fetchMiddlewares(OrganizationController.prototype.addMemberToOrganization)), - - async function OrganizationController_addMemberToOrganization(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsOrganizationController_addMemberToOrganization, request, response }); - - const controller = new OrganizationController(); - - await templateService.apiHandler({ - methodName: 'addMemberToOrganization', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsOrganizationController_createOrganizationFilter: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"filterType":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["dashboard"]},{"dataType":"enum","enums":["requests"]}],"required":true},"filters":{"dataType":"array","array":{"dataType":"refAlias","ref":"OrganizationFilter"},"required":true}}}, - organizationId: {"in":"path","name":"organizationId","required":true,"dataType":"string"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v1/organization/:organizationId/create_filter', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(OrganizationController)), - ...(fetchMiddlewares(OrganizationController.prototype.createOrganizationFilter)), - - async function OrganizationController_createOrganizationFilter(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsOrganizationController_createOrganizationFilter, request, response }); - - const controller = new OrganizationController(); - - await templateService.apiHandler({ - methodName: 'createOrganizationFilter', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsOrganizationController_updateOrganizationFilter: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"filterType":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["dashboard"]},{"dataType":"enum","enums":["requests"]}],"required":true},"filters":{"dataType":"array","array":{"dataType":"refAlias","ref":"OrganizationFilter"},"required":true}}}, - organizationId: {"in":"path","name":"organizationId","required":true,"dataType":"string"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v1/organization/:organizationId/update_filter', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(OrganizationController)), - ...(fetchMiddlewares(OrganizationController.prototype.updateOrganizationFilter)), - - async function OrganizationController_updateOrganizationFilter(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsOrganizationController_updateOrganizationFilter, request, response }); - - const controller = new OrganizationController(); - - await templateService.apiHandler({ - methodName: 'updateOrganizationFilter', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsOrganizationController_deleteOrganization: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.delete('/v1/organization/delete', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(OrganizationController)), - ...(fetchMiddlewares(OrganizationController.prototype.deleteOrganization)), - - async function OrganizationController_deleteOrganization(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsOrganizationController_deleteOrganization, request, response }); - - const controller = new OrganizationController(); - - await templateService.apiHandler({ - methodName: 'deleteOrganization', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsOrganizationController_getOrganizationLayout: Record = { - organizationId: {"in":"path","name":"organizationId","required":true,"dataType":"string"}, - filterType: {"in":"query","name":"filterType","required":true,"dataType":"string"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.get('/v1/organization/:organizationId/layout', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(OrganizationController)), - ...(fetchMiddlewares(OrganizationController.prototype.getOrganizationLayout)), - - async function OrganizationController_getOrganizationLayout(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsOrganizationController_getOrganizationLayout, request, response }); - - const controller = new OrganizationController(); - - await templateService.apiHandler({ - methodName: 'getOrganizationLayout', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsOrganizationController_getOrganizationMembers: Record = { - organizationId: {"in":"path","name":"organizationId","required":true,"dataType":"string"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.get('/v1/organization/:organizationId/members', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(OrganizationController)), - ...(fetchMiddlewares(OrganizationController.prototype.getOrganizationMembers)), - - async function OrganizationController_getOrganizationMembers(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsOrganizationController_getOrganizationMembers, request, response }); - - const controller = new OrganizationController(); - - await templateService.apiHandler({ - methodName: 'getOrganizationMembers', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsOrganizationController_updateOrganizationMember: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"memberId":{"dataType":"string","required":true},"role":{"dataType":"string","required":true}}}, - organizationId: {"in":"path","name":"organizationId","required":true,"dataType":"string"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v1/organization/:organizationId/update_member', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(OrganizationController)), - ...(fetchMiddlewares(OrganizationController.prototype.updateOrganizationMember)), - - async function OrganizationController_updateOrganizationMember(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsOrganizationController_updateOrganizationMember, request, response }); - - const controller = new OrganizationController(); - - await templateService.apiHandler({ - methodName: 'updateOrganizationMember', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsOrganizationController_updateOrganizationOwner: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"memberId":{"dataType":"string","required":true}}}, - organizationId: {"in":"path","name":"organizationId","required":true,"dataType":"string"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v1/organization/:organizationId/update_owner', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(OrganizationController)), - ...(fetchMiddlewares(OrganizationController.prototype.updateOrganizationOwner)), - - async function OrganizationController_updateOrganizationOwner(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsOrganizationController_updateOrganizationOwner, request, response }); - - const controller = new OrganizationController(); - - await templateService.apiHandler({ - methodName: 'updateOrganizationOwner', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsOrganizationController_getOrganizationOwner: Record = { - organizationId: {"in":"path","name":"organizationId","required":true,"dataType":"string"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.get('/v1/organization/:organizationId/owner', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(OrganizationController)), - ...(fetchMiddlewares(OrganizationController.prototype.getOrganizationOwner)), - - async function OrganizationController_getOrganizationOwner(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsOrganizationController_getOrganizationOwner, request, response }); - - const controller = new OrganizationController(); - - await templateService.apiHandler({ - methodName: 'getOrganizationOwner', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsOrganizationController_removeMemberFromOrganization: Record = { - organizationId: {"in":"path","name":"organizationId","required":true,"dataType":"string"}, - memberId: {"in":"query","name":"memberId","required":true,"dataType":"string"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.delete('/v1/organization/:organizationId/remove_member', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(OrganizationController)), - ...(fetchMiddlewares(OrganizationController.prototype.removeMemberFromOrganization)), - - async function OrganizationController_removeMemberFromOrganization(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsOrganizationController_removeMemberFromOrganization, request, response }); - - const controller = new OrganizationController(); - - await templateService.apiHandler({ - methodName: 'removeMemberFromOrganization', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsOrganizationController_setupDemo: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v1/organization/setup-demo', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(OrganizationController)), - ...(fetchMiddlewares(OrganizationController.prototype.setupDemo)), - - async function OrganizationController_setupDemo(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsOrganizationController_setupDemo, request, response }); - - const controller = new OrganizationController(); - - await templateService.apiHandler({ - methodName: 'setupDemo', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsOrganizationController_updateOnboardingStatus: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"name":{"dataType":"string","required":true},"onboarding_status":{"ref":"OnboardingStatus","required":true}}}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v1/organization/update_onboarding', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(OrganizationController)), - ...(fetchMiddlewares(OrganizationController.prototype.updateOnboardingStatus)), - - async function OrganizationController_updateOnboardingStatus(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsOrganizationController_updateOnboardingStatus, request, response }); - - const controller = new OrganizationController(); - - await templateService.apiHandler({ - methodName: 'updateOnboardingStatus', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsEvaluatorController_createEvaluator: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"CreateEvaluatorParams"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v1/evaluator', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(EvaluatorController)), - ...(fetchMiddlewares(EvaluatorController.prototype.createEvaluator)), - - async function EvaluatorController_createEvaluator(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_createEvaluator, request, response }); - - const controller = new EvaluatorController(); - - await templateService.apiHandler({ - methodName: 'createEvaluator', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsEvaluatorController_getEvaluator: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - evaluatorId: {"in":"path","name":"evaluatorId","required":true,"dataType":"string"}, - }; - app.get('/v1/evaluator/:evaluatorId', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(EvaluatorController)), - ...(fetchMiddlewares(EvaluatorController.prototype.getEvaluator)), - - async function EvaluatorController_getEvaluator(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_getEvaluator, request, response }); - - const controller = new EvaluatorController(); - - await templateService.apiHandler({ - methodName: 'getEvaluator', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsEvaluatorController_queryEvaluators: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{}}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v1/evaluator/query', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(EvaluatorController)), - ...(fetchMiddlewares(EvaluatorController.prototype.queryEvaluators)), - - async function EvaluatorController_queryEvaluators(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_queryEvaluators, request, response }); - - const controller = new EvaluatorController(); - - await templateService.apiHandler({ - methodName: 'queryEvaluators', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsEvaluatorController_updateEvaluator: Record = { - evaluatorId: {"in":"path","name":"evaluatorId","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"UpdateEvaluatorParams"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.put('/v1/evaluator/:evaluatorId', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(EvaluatorController)), - ...(fetchMiddlewares(EvaluatorController.prototype.updateEvaluator)), - - async function EvaluatorController_updateEvaluator(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_updateEvaluator, request, response }); - - const controller = new EvaluatorController(); - - await templateService.apiHandler({ - methodName: 'updateEvaluator', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsEvaluatorController_deleteEvaluator: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - evaluatorId: {"in":"path","name":"evaluatorId","required":true,"dataType":"string"}, - }; - app.delete('/v1/evaluator/:evaluatorId', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(EvaluatorController)), - ...(fetchMiddlewares(EvaluatorController.prototype.deleteEvaluator)), - - async function EvaluatorController_deleteEvaluator(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_deleteEvaluator, request, response }); - - const controller = new EvaluatorController(); - - await templateService.apiHandler({ - methodName: 'deleteEvaluator', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsEvaluatorController_getExperimentsForEvaluator: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - evaluatorId: {"in":"path","name":"evaluatorId","required":true,"dataType":"string"}, - }; - app.get('/v1/evaluator/:evaluatorId/experiments', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(EvaluatorController)), - ...(fetchMiddlewares(EvaluatorController.prototype.getExperimentsForEvaluator)), - - async function EvaluatorController_getExperimentsForEvaluator(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_getExperimentsForEvaluator, request, response }); - - const controller = new EvaluatorController(); - - await templateService.apiHandler({ - methodName: 'getExperimentsForEvaluator', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsEvaluatorController_getOnlineEvaluators: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - evaluatorId: {"in":"path","name":"evaluatorId","required":true,"dataType":"string"}, - }; - app.get('/v1/evaluator/:evaluatorId/onlineEvaluators', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(EvaluatorController)), - ...(fetchMiddlewares(EvaluatorController.prototype.getOnlineEvaluators)), - - async function EvaluatorController_getOnlineEvaluators(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_getOnlineEvaluators, request, response }); - - const controller = new EvaluatorController(); - - await templateService.apiHandler({ - methodName: 'getOnlineEvaluators', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsEvaluatorController_createOnlineEvaluator: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - evaluatorId: {"in":"path","name":"evaluatorId","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"CreateOnlineEvaluatorParams"}, - }; - app.post('/v1/evaluator/:evaluatorId/onlineEvaluators', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(EvaluatorController)), - ...(fetchMiddlewares(EvaluatorController.prototype.createOnlineEvaluator)), - - async function EvaluatorController_createOnlineEvaluator(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_createOnlineEvaluator, request, response }); - - const controller = new EvaluatorController(); - - await templateService.apiHandler({ - methodName: 'createOnlineEvaluator', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsEvaluatorController_deleteOnlineEvaluator: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - evaluatorId: {"in":"path","name":"evaluatorId","required":true,"dataType":"string"}, - onlineEvaluatorId: {"in":"path","name":"onlineEvaluatorId","required":true,"dataType":"string"}, - }; - app.delete('/v1/evaluator/:evaluatorId/onlineEvaluators/:onlineEvaluatorId', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(EvaluatorController)), - ...(fetchMiddlewares(EvaluatorController.prototype.deleteOnlineEvaluator)), - - async function EvaluatorController_deleteOnlineEvaluator(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_deleteOnlineEvaluator, request, response }); - - const controller = new EvaluatorController(); - - await templateService.apiHandler({ - methodName: 'deleteOnlineEvaluator', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsEvaluatorController_testPythonEvaluator: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"testInput":{"ref":"TestInput","required":true},"code":{"dataType":"string","required":true}}}, - }; - app.post('/v1/evaluator/python/test', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(EvaluatorController)), - ...(fetchMiddlewares(EvaluatorController.prototype.testPythonEvaluator)), - - async function EvaluatorController_testPythonEvaluator(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_testPythonEvaluator, request, response }); - - const controller = new EvaluatorController(); - - await templateService.apiHandler({ - methodName: 'testPythonEvaluator', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsEvaluatorController_testLLMEvaluator: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"evaluatorName":{"dataType":"string","required":true},"testInput":{"ref":"TestInput","required":true},"evaluatorConfig":{"ref":"EvaluatorConfig","required":true}}}, - }; - app.post('/v1/evaluator/llm/test', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(EvaluatorController)), - ...(fetchMiddlewares(EvaluatorController.prototype.testLLMEvaluator)), - - async function EvaluatorController_testLLMEvaluator(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_testLLMEvaluator, request, response }); - - const controller = new EvaluatorController(); - - await templateService.apiHandler({ - methodName: 'testLLMEvaluator', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsEvaluatorController_testLastMileEvaluator: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"testInput":{"ref":"TestInput","required":true},"config":{"ref":"LastMileConfigForm","required":true}}}, - }; - app.post('/v1/evaluator/lastmile/test', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(EvaluatorController)), - ...(fetchMiddlewares(EvaluatorController.prototype.testLastMileEvaluator)), - - async function EvaluatorController_testLastMileEvaluator(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_testLastMileEvaluator, request, response }); - - const controller = new EvaluatorController(); - - await templateService.apiHandler({ - methodName: 'testLastMileEvaluator', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsEvaluatorController_getEvaluatorStats: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - evaluatorId: {"in":"path","name":"evaluatorId","required":true,"dataType":"string"}, - }; - app.get('/v1/evaluator/:evaluatorId/stats', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(EvaluatorController)), - ...(fetchMiddlewares(EvaluatorController.prototype.getEvaluatorStats)), - - async function EvaluatorController_getEvaluatorStats(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_getEvaluatorStats, request, response }); - - const controller = new EvaluatorController(); - - await templateService.apiHandler({ - methodName: 'getEvaluatorStats', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025Controller_getPrompt2025: Record = { - promptId: {"in":"path","name":"promptId","required":true,"dataType":"string"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.get('/v1/prompt-2025/id/:promptId', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025Controller)), - ...(fetchMiddlewares(Prompt2025Controller.prototype.getPrompt2025)), - - async function Prompt2025Controller_getPrompt2025(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_getPrompt2025, request, response }); - - const controller = new Prompt2025Controller(); - - await templateService.apiHandler({ - methodName: 'getPrompt2025', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025Controller_renamePrompt2025: Record = { - promptId: {"in":"path","name":"promptId","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"name":{"dataType":"string","required":true}}}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v1/prompt-2025/id/:promptId/rename', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025Controller)), - ...(fetchMiddlewares(Prompt2025Controller.prototype.renamePrompt2025)), - - async function Prompt2025Controller_renamePrompt2025(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_renamePrompt2025, request, response }); - - const controller = new Prompt2025Controller(); - - await templateService.apiHandler({ - methodName: 'renamePrompt2025', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025Controller_updatePrompt2025Tags: Record = { - promptId: {"in":"path","name":"promptId","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"tags":{"dataType":"array","array":{"dataType":"string"},"required":true}}}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.patch('/v1/prompt-2025/id/:promptId/tags', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025Controller)), - ...(fetchMiddlewares(Prompt2025Controller.prototype.updatePrompt2025Tags)), - - async function Prompt2025Controller_updatePrompt2025Tags(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_updatePrompt2025Tags, request, response }); - - const controller = new Prompt2025Controller(); - - await templateService.apiHandler({ - methodName: 'updatePrompt2025Tags', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025Controller_deletePrompt2025: Record = { - promptId: {"in":"path","name":"promptId","required":true,"dataType":"string"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.delete('/v1/prompt-2025/:promptId', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025Controller)), - ...(fetchMiddlewares(Prompt2025Controller.prototype.deletePrompt2025)), - - async function Prompt2025Controller_deletePrompt2025(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_deletePrompt2025, request, response }); - - const controller = new Prompt2025Controller(); - - await templateService.apiHandler({ - methodName: 'deletePrompt2025', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025Controller_deletePrompt2025Version: Record = { - promptId: {"in":"path","name":"promptId","required":true,"dataType":"string"}, - versionId: {"in":"path","name":"versionId","required":true,"dataType":"string"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.delete('/v1/prompt-2025/:promptId/:versionId', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025Controller)), - ...(fetchMiddlewares(Prompt2025Controller.prototype.deletePrompt2025Version)), - - async function Prompt2025Controller_deletePrompt2025Version(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_deletePrompt2025Version, request, response }); - - const controller = new Prompt2025Controller(); - - await templateService.apiHandler({ - methodName: 'deletePrompt2025Version', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025Controller_getPrompt2025Inputs: Record = { - promptId: {"in":"path","name":"promptId","required":true,"dataType":"string"}, - versionId: {"in":"path","name":"versionId","required":true,"dataType":"string"}, - requestId: {"in":"query","name":"requestId","required":true,"dataType":"string"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.get('/v1/prompt-2025/id/:promptId/:versionId/inputs', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025Controller)), - ...(fetchMiddlewares(Prompt2025Controller.prototype.getPrompt2025Inputs)), - - async function Prompt2025Controller_getPrompt2025Inputs(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_getPrompt2025Inputs, request, response }); - - const controller = new Prompt2025Controller(); - - await templateService.apiHandler({ - methodName: 'getPrompt2025Inputs', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025Controller_getPrompt2025Tags: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.get('/v1/prompt-2025/tags', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025Controller)), - ...(fetchMiddlewares(Prompt2025Controller.prototype.getPrompt2025Tags)), - - async function Prompt2025Controller_getPrompt2025Tags(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_getPrompt2025Tags, request, response }); - - const controller = new Prompt2025Controller(); - - await templateService.apiHandler({ - methodName: 'getPrompt2025Tags', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025Controller_getPrompt2025Environments: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.get('/v1/prompt-2025/environments', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025Controller)), - ...(fetchMiddlewares(Prompt2025Controller.prototype.getPrompt2025Environments)), - - async function Prompt2025Controller_getPrompt2025Environments(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_TimeSeriesResponse_"},{"ref":"ResultError_string_"}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "ResultSuccess_ModelSpend-Array_": { + "dataType": "refObject", + "properties": { + "data": {"dataType":"array","array":{"dataType":"refObject","ref":"ModelSpend"},"required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, + }, + "additionalProperties": false, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "Result_ModelSpend-Array.string_": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_ModelSpend-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "ResultSuccess__deleted-boolean__": { + "dataType": "refObject", + "properties": { + "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"deleted":{"dataType":"boolean","required":true}},"required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, + }, + "additionalProperties": false, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "Result__deleted-boolean_.string_": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__deleted-boolean__"},{"ref":"ResultError_string_"}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "ResultSuccess__updated-boolean__": { + "dataType": "refObject", + "properties": { + "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"updated":{"dataType":"boolean","required":true}},"required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, + }, + "additionalProperties": false, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "Result__updated-boolean_.string_": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__updated-boolean__"},{"ref":"ResultError_string_"}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "InvoiceSummary": { + "dataType": "refObject", + "properties": { + "totalSpendCents": {"dataType":"double","required":true}, + "totalInvoicedCents": {"dataType":"double","required":true}, + "uninvoicedBalanceCents": {"dataType":"double","required":true}, + "lastInvoiceEndDate": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + }, + "additionalProperties": false, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "ResultSuccess_InvoiceSummary_": { + "dataType": "refObject", + "properties": { + "data": {"ref":"InvoiceSummary","required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, + }, + "additionalProperties": false, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "Result_InvoiceSummary.string_": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_InvoiceSummary_"},{"ref":"ResultError_string_"}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "CreateInvoiceResponse": { + "dataType": "refObject", + "properties": { + "invoiceId": {"dataType":"string","required":true}, + "hostedInvoiceUrl": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "dashboardUrl": {"dataType":"string","required":true}, + "amountCents": {"dataType":"double","required":true}, + "subtotalCents": {"dataType":"double","required":true}, + "ptbInvoiceId": {"dataType":"string","required":true}, + }, + "additionalProperties": false, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "ResultSuccess_CreateInvoiceResponse_": { + "dataType": "refObject", + "properties": { + "data": {"ref":"CreateInvoiceResponse","required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, + }, + "additionalProperties": false, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "Result_CreateInvoiceResponse.string_": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_CreateInvoiceResponse_"},{"ref":"ResultError_string_"}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "ConvertToWavResponse": { + "dataType": "refObject", + "properties": { + "data": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "error": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + }, + "additionalProperties": false, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "ConvertToWavRequestBody": { + "dataType": "refObject", + "properties": { + "audioData": {"dataType":"string","required":true}, + }, + "additionalProperties": false, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "ResultSuccess__url-string__": { + "dataType": "refObject", + "properties": { + "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"url":{"dataType":"string","required":true}},"required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, + }, + "additionalProperties": false, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "Result__url-string_.string_": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__url-string__"},{"ref":"ResultError_string_"}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa +}; +const templateService = new ExpressTemplateService(models, {"noImplicitAdditionalProperties":"throw-on-extras","bodyCoercion":true}); - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_getPrompt2025Environments, request, response }); +// WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const controller = new Prompt2025Controller(); - await templateService.apiHandler({ - methodName: 'getPrompt2025Environments', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025Controller_createPrompt2025: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"promptBody":{"ref":"OpenAIChatRequest","required":true},"tags":{"dataType":"array","array":{"dataType":"string"},"required":true},"name":{"dataType":"string","required":true}}}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v1/prompt-2025', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025Controller)), - ...(fetchMiddlewares(Prompt2025Controller.prototype.createPrompt2025)), - async function Prompt2025Controller_createPrompt2025(request: ExRequest, response: ExResponse, next: any) { - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa +export function RegisterRoutes(app: Router) { - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_createPrompt2025, request, response }); + // ########################################################################################################### + // NOTE: If you do not see routes for all of your controllers in this file, then you might not have informed tsoa of where to look + // Please look into the "controllerPathGlobs" config option described in the readme: https://github.com/lukeautry/tsoa + // ########################################################################################################### - const controller = new Prompt2025Controller(); - await templateService.apiHandler({ - methodName: 'createPrompt2025', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025Controller_updatePrompt2025: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"promptBody":{"ref":"OpenAIChatRequest","required":true},"commitMessage":{"dataType":"string","required":true},"environment":{"dataType":"string"},"newMajorVersion":{"dataType":"boolean","required":true},"promptVersionId":{"dataType":"string","required":true},"promptId":{"dataType":"string","required":true}}}, + + const argsWaitListController_addToWaitlist: Record = { + body: {"in":"body","name":"body","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"organizationId":{"dataType":"string"},"feature":{"dataType":"string","required":true},"email":{"dataType":"string","required":true}}}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/prompt-2025/update', + app.post('/v1/waitlist/feature', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025Controller)), - ...(fetchMiddlewares(Prompt2025Controller.prototype.updatePrompt2025)), + ...(fetchMiddlewares(WaitListController)), + ...(fetchMiddlewares(WaitListController.prototype.addToWaitlist)), - async function Prompt2025Controller_updatePrompt2025(request: ExRequest, response: ExResponse, next: any) { + async function WaitListController_addToWaitlist(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_updatePrompt2025, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsWaitListController_addToWaitlist, request, response }); - const controller = new Prompt2025Controller(); + const controller = new WaitListController(); await templateService.apiHandler({ - methodName: 'updatePrompt2025', + methodName: 'addToWaitlist', controller, response, next, @@ -18147,27 +14177,29 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025Controller_setPromptVersionEnvironment: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"environment":{"dataType":"string","required":true},"promptVersionId":{"dataType":"string","required":true},"promptId":{"dataType":"string","required":true}}}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, + const argsWaitListController_isOnWaitlist: Record = { + email: {"in":"query","name":"email","required":true,"dataType":"string"}, + feature: {"in":"query","name":"feature","required":true,"dataType":"string"}, + organizationId: {"in":"query","name":"organizationId","dataType":"string"}, + request: {"in":"request","name":"request","dataType":"object"}, }; - app.post('/v1/prompt-2025/update/environment', + app.get('/v1/waitlist/feature/status', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025Controller)), - ...(fetchMiddlewares(Prompt2025Controller.prototype.setPromptVersionEnvironment)), + ...(fetchMiddlewares(WaitListController)), + ...(fetchMiddlewares(WaitListController.prototype.isOnWaitlist)), - async function Prompt2025Controller_setPromptVersionEnvironment(request: ExRequest, response: ExResponse, next: any) { + async function WaitListController_isOnWaitlist(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_setPromptVersionEnvironment, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsWaitListController_isOnWaitlist, request, response }); - const controller = new Prompt2025Controller(); + const controller = new WaitListController(); await templateService.apiHandler({ - methodName: 'setPromptVersionEnvironment', + methodName: 'isOnWaitlist', controller, response, next, @@ -18179,27 +14211,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025Controller_removeEnvironmentFromVersion: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"environment":{"dataType":"string","required":true},"promptVersionId":{"dataType":"string","required":true},"promptId":{"dataType":"string","required":true}}}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, + const argsWaitListController_getWaitlistCount: Record = { + feature: {"in":"query","name":"feature","required":true,"dataType":"string"}, }; - app.post('/v1/prompt-2025/remove/environment', + app.get('/v1/waitlist/feature/count', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025Controller)), - ...(fetchMiddlewares(Prompt2025Controller.prototype.removeEnvironmentFromVersion)), + ...(fetchMiddlewares(WaitListController)), + ...(fetchMiddlewares(WaitListController.prototype.getWaitlistCount)), - async function Prompt2025Controller_removeEnvironmentFromVersion(request: ExRequest, response: ExResponse, next: any) { + async function WaitListController_getWaitlistCount(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_removeEnvironmentFromVersion, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsWaitListController_getWaitlistCount, request, response }); - const controller = new Prompt2025Controller(); + const controller = new WaitListController(); await templateService.apiHandler({ - methodName: 'removeEnvironmentFromVersion', + methodName: 'getWaitlistCount', controller, response, next, @@ -18211,26 +14242,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025Controller_getPrompt2025Count: Record = { + const argsUserFeedbackController_postUserFeedback: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + body: {"in":"body","name":"body","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"tag":{"dataType":"string","required":true},"feedback":{"dataType":"string","required":true}}}, }; - app.get('/v1/prompt-2025/count', + app.post('/v1/user-feedback', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025Controller)), - ...(fetchMiddlewares(Prompt2025Controller.prototype.getPrompt2025Count)), + ...(fetchMiddlewares(UserFeedbackController)), + ...(fetchMiddlewares(UserFeedbackController.prototype.postUserFeedback)), - async function Prompt2025Controller_getPrompt2025Count(request: ExRequest, response: ExResponse, next: any) { + async function UserFeedbackController_postUserFeedback(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_getPrompt2025Count, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsUserFeedbackController_postUserFeedback, request, response }); - const controller = new Prompt2025Controller(); + const controller = new UserFeedbackController(); await templateService.apiHandler({ - methodName: 'getPrompt2025Count', + methodName: 'postUserFeedback', controller, response, next, @@ -18242,27 +14274,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025Controller_getPrompts2025: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"pageSize":{"dataType":"double","required":true},"page":{"dataType":"double","required":true},"tagsFilter":{"dataType":"array","array":{"dataType":"string"},"required":true},"search":{"dataType":"string","required":true}}}, + const argsSettingController_getSettings: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/prompt-2025/query', + app.get('/v1/settings/query', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025Controller)), - ...(fetchMiddlewares(Prompt2025Controller.prototype.getPrompts2025)), + ...(fetchMiddlewares(SettingController)), + ...(fetchMiddlewares(SettingController.prototype.getSettings)), - async function Prompt2025Controller_getPrompts2025(request: ExRequest, response: ExResponse, next: any) { + async function SettingController_getSettings(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_getPrompts2025, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsSettingController_getSettings, request, response }); - const controller = new Prompt2025Controller(); + const controller = new SettingController(); await templateService.apiHandler({ - methodName: 'getPrompts2025', + methodName: 'getSettings', controller, response, next, @@ -18274,27 +14305,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025Controller_getPrompt2025Version: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"promptVersionId":{"dataType":"string","required":true}}}, + const argsRateLimitController_getRateLimits: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/prompt-2025/query/version', + app.get('/v1/rate-limits', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025Controller)), - ...(fetchMiddlewares(Prompt2025Controller.prototype.getPrompt2025Version)), + ...(fetchMiddlewares(RateLimitController)), + ...(fetchMiddlewares(RateLimitController.prototype.getRateLimits)), - async function Prompt2025Controller_getPrompt2025Version(request: ExRequest, response: ExResponse, next: any) { + async function RateLimitController_getRateLimits(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_getPrompt2025Version, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsRateLimitController_getRateLimits, request, response }); - const controller = new Prompt2025Controller(); + const controller = new RateLimitController(); await templateService.apiHandler({ - methodName: 'getPrompt2025Version', + methodName: 'getRateLimits', controller, response, next, @@ -18306,27 +14336,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025Controller_getPrompt2025EnvironmentVersion: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"environment":{"dataType":"string","required":true},"promptId":{"dataType":"string","required":true}}}, + const argsRateLimitController_createRateLimit: Record = { + params: {"in":"body","name":"params","required":true,"ref":"CreateRateLimitRuleParams"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/prompt-2025/query/environment-version', + app.post('/v1/rate-limits', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025Controller)), - ...(fetchMiddlewares(Prompt2025Controller.prototype.getPrompt2025EnvironmentVersion)), + ...(fetchMiddlewares(RateLimitController)), + ...(fetchMiddlewares(RateLimitController.prototype.createRateLimit)), - async function Prompt2025Controller_getPrompt2025EnvironmentVersion(request: ExRequest, response: ExResponse, next: any) { + async function RateLimitController_createRateLimit(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_getPrompt2025EnvironmentVersion, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsRateLimitController_createRateLimit, request, response }); - const controller = new Prompt2025Controller(); + const controller = new RateLimitController(); await templateService.apiHandler({ - methodName: 'getPrompt2025EnvironmentVersion', + methodName: 'createRateLimit', controller, response, next, @@ -18338,27 +14368,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025Controller_getPrompt2025Versions: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"majorVersion":{"dataType":"double"},"promptId":{"dataType":"string","required":true}}}, + const argsRateLimitController_updateRateLimit: Record = { + ruleId: {"in":"path","name":"ruleId","required":true,"dataType":"string"}, + params: {"in":"body","name":"params","required":true,"ref":"UpdateRateLimitRuleParams"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/prompt-2025/query/versions', + app.put('/v1/rate-limits/:ruleId', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025Controller)), - ...(fetchMiddlewares(Prompt2025Controller.prototype.getPrompt2025Versions)), + ...(fetchMiddlewares(RateLimitController)), + ...(fetchMiddlewares(RateLimitController.prototype.updateRateLimit)), - async function Prompt2025Controller_getPrompt2025Versions(request: ExRequest, response: ExResponse, next: any) { + async function RateLimitController_updateRateLimit(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_getPrompt2025Versions, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsRateLimitController_updateRateLimit, request, response }); - const controller = new Prompt2025Controller(); + const controller = new RateLimitController(); await templateService.apiHandler({ - methodName: 'getPrompt2025Versions', + methodName: 'updateRateLimit', controller, response, next, @@ -18370,27 +14401,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025Controller_getPrompt2025ProductionVersion: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"promptId":{"dataType":"string","required":true}}}, + const argsRateLimitController_deleteRateLimit: Record = { + ruleId: {"in":"path","name":"ruleId","required":true,"dataType":"string"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/prompt-2025/query/production-version', + app.delete('/v1/rate-limits/:ruleId', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025Controller)), - ...(fetchMiddlewares(Prompt2025Controller.prototype.getPrompt2025ProductionVersion)), + ...(fetchMiddlewares(RateLimitController)), + ...(fetchMiddlewares(RateLimitController.prototype.deleteRateLimit)), - async function Prompt2025Controller_getPrompt2025ProductionVersion(request: ExRequest, response: ExResponse, next: any) { + async function RateLimitController_deleteRateLimit(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_getPrompt2025ProductionVersion, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsRateLimitController_deleteRateLimit, request, response }); - const controller = new Prompt2025Controller(); + const controller = new RateLimitController(); await templateService.apiHandler({ - methodName: 'getPrompt2025ProductionVersion', + methodName: 'deleteRateLimit', controller, response, next, @@ -18402,27 +14433,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025Controller_getPrompt2025TotalVersions: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"promptId":{"dataType":"string","required":true}}}, + const argsApiKeyController_deleteProviderKey: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + providerKeyId: {"in":"path","name":"providerKeyId","required":true,"dataType":"string"}, }; - app.post('/v1/prompt-2025/query/total-versions', + app.delete('/v1/api-keys/provider-key/:providerKeyId', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025Controller)), - ...(fetchMiddlewares(Prompt2025Controller.prototype.getPrompt2025TotalVersions)), + ...(fetchMiddlewares(ApiKeyController)), + ...(fetchMiddlewares(ApiKeyController.prototype.deleteProviderKey)), - async function Prompt2025Controller_getPrompt2025TotalVersions(request: ExRequest, response: ExResponse, next: any) { + async function ApiKeyController_deleteProviderKey(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_getPrompt2025TotalVersions, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsApiKeyController_deleteProviderKey, request, response }); - const controller = new Prompt2025Controller(); + const controller = new ApiKeyController(); await templateService.apiHandler({ - methodName: 'getPrompt2025TotalVersions', + methodName: 'deleteProviderKey', controller, response, next, @@ -18434,27 +14465,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025Controller_getPrompt2025VersionBody: Record = { - promptVersionId: {"in":"path","name":"promptVersionId","required":true,"dataType":"string"}, + const argsApiKeyController_createProviderKey: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + body: {"in":"body","name":"body","required":true,"ref":"CreateProviderKeyRequest"}, }; - app.get('/v1/prompt-2025/:promptVersionId/prompt-body', + app.post('/v1/api-keys/provider-key', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025Controller)), - ...(fetchMiddlewares(Prompt2025Controller.prototype.getPrompt2025VersionBody)), + ...(fetchMiddlewares(ApiKeyController)), + ...(fetchMiddlewares(ApiKeyController.prototype.createProviderKey)), - async function Prompt2025Controller_getPrompt2025VersionBody(request: ExRequest, response: ExResponse, next: any) { + async function ApiKeyController_createProviderKey(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_getPrompt2025VersionBody, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsApiKeyController_createProviderKey, request, response }); - const controller = new Prompt2025Controller(); + const controller = new ApiKeyController(); await templateService.apiHandler({ - methodName: 'getPrompt2025VersionBody', + methodName: 'createProviderKey', controller, response, next, @@ -18466,27 +14497,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025V2Controller_getPrompt2025Version: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"promptVersionId":{"dataType":"string","required":true}}}, + const argsApiKeyController_getProviderKey: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + providerKeyId: {"in":"path","name":"providerKeyId","required":true,"dataType":"string"}, }; - app.post('/v2/prompt-2025/query/version', + app.get('/v1/api-keys/provider-key/:providerKeyId', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025V2Controller)), - ...(fetchMiddlewares(Prompt2025V2Controller.prototype.getPrompt2025Version)), + ...(fetchMiddlewares(ApiKeyController)), + ...(fetchMiddlewares(ApiKeyController.prototype.getProviderKey)), - async function Prompt2025V2Controller_getPrompt2025Version(request: ExRequest, response: ExResponse, next: any) { + async function ApiKeyController_getProviderKey(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025V2Controller_getPrompt2025Version, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsApiKeyController_getProviderKey, request, response }); - const controller = new Prompt2025V2Controller(); + const controller = new ApiKeyController(); await templateService.apiHandler({ - methodName: 'getPrompt2025Version', + methodName: 'getProviderKey', controller, response, next, @@ -18498,27 +14529,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025V2Controller_getPrompt2025EnvironmentVersion: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"environment":{"dataType":"string","required":true},"promptId":{"dataType":"string","required":true}}}, + const argsApiKeyController_getProviderKeys: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v2/prompt-2025/query/environment-version', + app.get('/v1/api-keys/provider-keys', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025V2Controller)), - ...(fetchMiddlewares(Prompt2025V2Controller.prototype.getPrompt2025EnvironmentVersion)), + ...(fetchMiddlewares(ApiKeyController)), + ...(fetchMiddlewares(ApiKeyController.prototype.getProviderKeys)), - async function Prompt2025V2Controller_getPrompt2025EnvironmentVersion(request: ExRequest, response: ExResponse, next: any) { + async function ApiKeyController_getProviderKeys(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025V2Controller_getPrompt2025EnvironmentVersion, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsApiKeyController_getProviderKeys, request, response }); - const controller = new Prompt2025V2Controller(); + const controller = new ApiKeyController(); await templateService.apiHandler({ - methodName: 'getPrompt2025EnvironmentVersion', + methodName: 'getProviderKeys', controller, response, next, @@ -18530,27 +14560,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025V2Controller_getPrompt2025ProductionVersion: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"promptId":{"dataType":"string","required":true}}}, + const argsApiKeyController_updateProviderKey: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + providerKeyId: {"in":"path","name":"providerKeyId","required":true,"dataType":"string"}, + body: {"in":"body","name":"body","required":true,"ref":"UpdateProviderKeyRequest"}, }; - app.post('/v2/prompt-2025/query/production-version', + app.patch('/v1/api-keys/provider-key/:providerKeyId', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025V2Controller)), - ...(fetchMiddlewares(Prompt2025V2Controller.prototype.getPrompt2025ProductionVersion)), + ...(fetchMiddlewares(ApiKeyController)), + ...(fetchMiddlewares(ApiKeyController.prototype.updateProviderKey)), - async function Prompt2025V2Controller_getPrompt2025ProductionVersion(request: ExRequest, response: ExResponse, next: any) { + async function ApiKeyController_updateProviderKey(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025V2Controller_getPrompt2025ProductionVersion, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsApiKeyController_updateProviderKey, request, response }); - const controller = new Prompt2025V2Controller(); + const controller = new ApiKeyController(); await templateService.apiHandler({ - methodName: 'getPrompt2025ProductionVersion', + methodName: 'updateProviderKey', controller, response, next, @@ -18562,27 +14593,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsRequestController_getRequestCount: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"RequestQueryParams"}, + const argsApiKeyController_getAPIKeys: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/request/count/query', + app.get('/v1/api-keys', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(RequestController)), - ...(fetchMiddlewares(RequestController.prototype.getRequestCount)), + ...(fetchMiddlewares(ApiKeyController)), + ...(fetchMiddlewares(ApiKeyController.prototype.getAPIKeys)), - async function RequestController_getRequestCount(request: ExRequest, response: ExResponse, next: any) { + async function ApiKeyController_getAPIKeys(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsRequestController_getRequestCount, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsApiKeyController_getAPIKeys, request, response }); - const controller = new RequestController(); + const controller = new ApiKeyController(); await templateService.apiHandler({ - methodName: 'getRequestCount', + methodName: 'getAPIKeys', controller, response, next, @@ -18594,27 +14624,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsRequestController_getRequests: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"RequestQueryParams"}, + const argsApiKeyController_createAPIKey: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + body: {"in":"body","name":"body","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"key_permissions":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["rw"]},{"dataType":"enum","enums":["r"]},{"dataType":"enum","enums":["w"]}]},"api_key_name":{"dataType":"string","required":true}}}, }; - app.post('/v1/request/query', + app.post('/v1/api-keys', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(RequestController)), - ...(fetchMiddlewares(RequestController.prototype.getRequests)), + ...(fetchMiddlewares(ApiKeyController)), + ...(fetchMiddlewares(ApiKeyController.prototype.createAPIKey)), - async function RequestController_getRequests(request: ExRequest, response: ExResponse, next: any) { + async function ApiKeyController_createAPIKey(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsRequestController_getRequests, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsApiKeyController_createAPIKey, request, response }); - const controller = new RequestController(); + const controller = new ApiKeyController(); await templateService.apiHandler({ - methodName: 'getRequests', + methodName: 'createAPIKey', controller, response, next, @@ -18626,27 +14656,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsRequestController_getRequestsClickhouse: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"RequestQueryParams"}, + const argsApiKeyController_createProxyKey: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + body: {"in":"body","name":"body","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"proxyKeyName":{"dataType":"string","required":true},"providerKeyId":{"dataType":"string","required":true}}}, }; - app.post('/v1/request/query-clickhouse', + app.post('/v1/api-keys/proxy-key', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(RequestController)), - ...(fetchMiddlewares(RequestController.prototype.getRequestsClickhouse)), + ...(fetchMiddlewares(ApiKeyController)), + ...(fetchMiddlewares(ApiKeyController.prototype.createProxyKey)), - async function RequestController_getRequestsClickhouse(request: ExRequest, response: ExResponse, next: any) { + async function ApiKeyController_createProxyKey(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsRequestController_getRequestsClickhouse, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsApiKeyController_createProxyKey, request, response }); - const controller = new RequestController(); + const controller = new ApiKeyController(); await templateService.apiHandler({ - methodName: 'getRequestsClickhouse', + methodName: 'createProxyKey', controller, response, next, @@ -18658,28 +14688,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsRequestController_getRequestById: Record = { + const argsApiKeyController_deleteAPIKey: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, - requestId: {"in":"path","name":"requestId","required":true,"dataType":"string"}, - includeBody: {"default":false,"in":"query","name":"includeBody","dataType":"boolean"}, + apiKeyId: {"in":"path","name":"apiKeyId","required":true,"dataType":"double"}, }; - app.get('/v1/request/:requestId', + app.delete('/v1/api-keys/:apiKeyId', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(RequestController)), - ...(fetchMiddlewares(RequestController.prototype.getRequestById)), + ...(fetchMiddlewares(ApiKeyController)), + ...(fetchMiddlewares(ApiKeyController.prototype.deleteAPIKey)), - async function RequestController_getRequestById(request: ExRequest, response: ExResponse, next: any) { + async function ApiKeyController_deleteAPIKey(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsRequestController_getRequestById, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsApiKeyController_deleteAPIKey, request, response }); - const controller = new RequestController(); + const controller = new ApiKeyController(); await templateService.apiHandler({ - methodName: 'getRequestById', + methodName: 'deleteAPIKey', controller, response, next, @@ -18691,27 +14720,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsRequestController_getRequestInputs: Record = { + const argsApiKeyController_updateAPIKey: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, - requestId: {"in":"path","name":"requestId","required":true,"dataType":"string"}, + apiKeyId: {"in":"path","name":"apiKeyId","required":true,"dataType":"double"}, + body: {"in":"body","name":"body","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"api_key_name":{"dataType":"string","required":true}}}, }; - app.get('/v1/request/:requestId/inputs', + app.patch('/v1/api-keys/:apiKeyId', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(RequestController)), - ...(fetchMiddlewares(RequestController.prototype.getRequestInputs)), + ...(fetchMiddlewares(ApiKeyController)), + ...(fetchMiddlewares(ApiKeyController.prototype.updateAPIKey)), - async function RequestController_getRequestInputs(request: ExRequest, response: ExResponse, next: any) { + async function ApiKeyController_updateAPIKey(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsRequestController_getRequestInputs, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsApiKeyController_updateAPIKey, request, response }); - const controller = new RequestController(); + const controller = new ApiKeyController(); await templateService.apiHandler({ - methodName: 'getRequestInputs', + methodName: 'updateAPIKey', controller, response, next, @@ -18723,27 +14753,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsRequestController_getRequestsByIds: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"requestIds":{"dataType":"array","array":{"dataType":"string"},"required":true}}}, + const argsStripeController_getFreeUsage: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/request/query-ids', + app.get('/v1/stripe/subscription/free/usage', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(RequestController)), - ...(fetchMiddlewares(RequestController.prototype.getRequestsByIds)), + ...(fetchMiddlewares(StripeController)), + ...(fetchMiddlewares(StripeController.prototype.getFreeUsage)), - async function RequestController_getRequestsByIds(request: ExRequest, response: ExResponse, next: any) { + async function StripeController_getFreeUsage(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsRequestController_getRequestsByIds, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_getFreeUsage, request, response }); - const controller = new RequestController(); + const controller = new StripeController(); await templateService.apiHandler({ - methodName: 'getRequestsByIds', + methodName: 'getFreeUsage', controller, response, next, @@ -18755,28 +14784,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsRequestController_feedbackRequest: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"rating":{"dataType":"boolean","required":true}}}, + const argsStripeController_createCloudGatewayCheckoutSession: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, - requestId: {"in":"path","name":"requestId","required":true,"dataType":"string"}, + body: {"in":"body","name":"body","required":true,"ref":"CreateCloudGatewayCheckoutSessionRequest"}, }; - app.post('/v1/request/:requestId/feedback', + app.post('/v1/stripe/cloud/checkout-session', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(RequestController)), - ...(fetchMiddlewares(RequestController.prototype.feedbackRequest)), + ...(fetchMiddlewares(StripeController)), + ...(fetchMiddlewares(StripeController.prototype.createCloudGatewayCheckoutSession)), - async function RequestController_feedbackRequest(request: ExRequest, response: ExResponse, next: any) { + async function StripeController_createCloudGatewayCheckoutSession(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsRequestController_feedbackRequest, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_createCloudGatewayCheckoutSession, request, response }); - const controller = new RequestController(); + const controller = new StripeController(); await templateService.apiHandler({ - methodName: 'feedbackRequest', + methodName: 'createCloudGatewayCheckoutSession', controller, response, next, @@ -18788,28 +14816,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsRequestController_putProperty: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"value":{"dataType":"string","required":true},"key":{"dataType":"string","required":true}}}, + const argsStripeController_manageSubscription: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, - requestId: {"in":"path","name":"requestId","required":true,"dataType":"string"}, }; - app.put('/v1/request/:requestId/property', + app.post('/v1/stripe/subscription/manage-subscription', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(RequestController)), - ...(fetchMiddlewares(RequestController.prototype.putProperty)), + ...(fetchMiddlewares(StripeController)), + ...(fetchMiddlewares(StripeController.prototype.manageSubscription)), - async function RequestController_putProperty(request: ExRequest, response: ExResponse, next: any) { + async function StripeController_manageSubscription(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsRequestController_putProperty, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_manageSubscription, request, response }); - const controller = new RequestController(); + const controller = new StripeController(); await templateService.apiHandler({ - methodName: 'putProperty', + methodName: 'manageSubscription', controller, response, next, @@ -18821,28 +14847,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsRequestController_getRequestAssetById: Record = { + const argsStripeController_undoCancelSubscription: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, - requestId: {"in":"path","name":"requestId","required":true,"dataType":"string"}, - assetId: {"in":"path","name":"assetId","required":true,"dataType":"string"}, }; - app.post('/v1/request/:requestId/assets/:assetId', + app.post('/v1/stripe/subscription/undo-cancel-subscription', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(RequestController)), - ...(fetchMiddlewares(RequestController.prototype.getRequestAssetById)), + ...(fetchMiddlewares(StripeController)), + ...(fetchMiddlewares(StripeController.prototype.undoCancelSubscription)), - async function RequestController_getRequestAssetById(request: ExRequest, response: ExResponse, next: any) { + async function StripeController_undoCancelSubscription(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsRequestController_getRequestAssetById, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_undoCancelSubscription, request, response }); - const controller = new RequestController(); + const controller = new StripeController(); await templateService.apiHandler({ - methodName: 'getRequestAssetById', + methodName: 'undoCancelSubscription', controller, response, next, @@ -18854,28 +14878,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsRequestController_addScores: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"ScoreRequest"}, + const argsStripeController_previewInvoice: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, - requestId: {"in":"path","name":"requestId","required":true,"dataType":"string"}, }; - app.post('/v1/request/:requestId/score', + app.get('/v1/stripe/subscription/preview-invoice', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(RequestController)), - ...(fetchMiddlewares(RequestController.prototype.addScores)), + ...(fetchMiddlewares(StripeController)), + ...(fetchMiddlewares(StripeController.prototype.previewInvoice)), - async function RequestController_addScores(request: ExRequest, response: ExResponse, next: any) { + async function StripeController_previewInvoice(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsRequestController_addScores, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_previewInvoice, request, response }); - const controller = new RequestController(); + const controller = new StripeController(); await templateService.apiHandler({ - methodName: 'addScores', + methodName: 'previewInvoice', controller, response, next, @@ -18887,26 +14909,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPromptController_hasPrompts: Record = { + const argsStripeController_cancelSubscription: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.get('/v1/prompt/has-prompts', + app.post('/v1/stripe/subscription/cancel-subscription', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PromptController)), - ...(fetchMiddlewares(PromptController.prototype.hasPrompts)), + ...(fetchMiddlewares(StripeController)), + ...(fetchMiddlewares(StripeController.prototype.cancelSubscription)), - async function PromptController_hasPrompts(request: ExRequest, response: ExResponse, next: any) { + async function StripeController_cancelSubscription(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_hasPrompts, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_cancelSubscription, request, response }); - const controller = new PromptController(); + const controller = new StripeController(); await templateService.apiHandler({ - methodName: 'hasPrompts', + methodName: 'cancelSubscription', controller, response, next, @@ -18918,27 +14940,29 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPromptController_getPrompts: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"PromptsQueryParams"}, + const argsStripeController_searchPaymentIntents: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + search_kind: {"in":"query","name":"search_kind","required":true,"dataType":"string"}, + limit: {"in":"query","name":"limit","dataType":"double"}, + page: {"in":"query","name":"page","dataType":"string"}, }; - app.post('/v1/prompt/query', + app.get('/v1/stripe/payment-intents/search', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PromptController)), - ...(fetchMiddlewares(PromptController.prototype.getPrompts)), + ...(fetchMiddlewares(StripeController)), + ...(fetchMiddlewares(StripeController.prototype.searchPaymentIntents)), - async function PromptController_getPrompts(request: ExRequest, response: ExResponse, next: any) { + async function StripeController_searchPaymentIntents(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_getPrompts, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_searchPaymentIntents, request, response }); - const controller = new PromptController(); + const controller = new StripeController(); await templateService.apiHandler({ - methodName: 'getPrompts', + methodName: 'searchPaymentIntents', controller, response, next, @@ -18950,28 +14974,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPromptController_getPrompt: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"PromptQueryParams"}, + const argsStripeController_getSubscription: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, - promptId: {"in":"path","name":"promptId","required":true,"dataType":"string"}, }; - app.post('/v1/prompt/:promptId/query', + app.get('/v1/stripe/subscription', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PromptController)), - ...(fetchMiddlewares(PromptController.prototype.getPrompt)), + ...(fetchMiddlewares(StripeController)), + ...(fetchMiddlewares(StripeController.prototype.getSubscription)), - async function PromptController_getPrompt(request: ExRequest, response: ExResponse, next: any) { + async function StripeController_getSubscription(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_getPrompt, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_getSubscription, request, response }); - const controller = new PromptController(); + const controller = new StripeController(); await templateService.apiHandler({ - methodName: 'getPrompt', + methodName: 'getSubscription', controller, response, next, @@ -18983,27 +15005,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPromptController_deletePrompt: Record = { + const argsStripeController_getAutoTopoffSettings: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, - promptId: {"in":"path","name":"promptId","required":true,"dataType":"string"}, }; - app.delete('/v1/prompt/:promptId', + app.get('/v1/stripe/auto-topoff/settings', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PromptController)), - ...(fetchMiddlewares(PromptController.prototype.deletePrompt)), + ...(fetchMiddlewares(StripeController)), + ...(fetchMiddlewares(StripeController.prototype.getAutoTopoffSettings)), - async function PromptController_deletePrompt(request: ExRequest, response: ExResponse, next: any) { + async function StripeController_getAutoTopoffSettings(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_deletePrompt, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_getAutoTopoffSettings, request, response }); - const controller = new PromptController(); + const controller = new StripeController(); await templateService.apiHandler({ - methodName: 'deletePrompt', + methodName: 'getAutoTopoffSettings', controller, response, next, @@ -19015,27 +15036,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPromptController_createPrompt: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"metadata":{"ref":"Record_string.any_","required":true},"prompt":{"dataType":"any","required":true},"userDefinedId":{"dataType":"string","required":true}}}, + const argsStripeController_updateAutoTopoffSettings: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + body: {"in":"body","name":"body","required":true,"ref":"UpdateAutoTopoffSettingsRequest"}, }; - app.post('/v1/prompt/create', + app.post('/v1/stripe/auto-topoff/settings', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PromptController)), - ...(fetchMiddlewares(PromptController.prototype.createPrompt)), + ...(fetchMiddlewares(StripeController)), + ...(fetchMiddlewares(StripeController.prototype.updateAutoTopoffSettings)), - async function PromptController_createPrompt(request: ExRequest, response: ExResponse, next: any) { + async function StripeController_updateAutoTopoffSettings(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_createPrompt, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_updateAutoTopoffSettings, request, response }); - const controller = new PromptController(); + const controller = new StripeController(); await templateService.apiHandler({ - methodName: 'createPrompt', + methodName: 'updateAutoTopoffSettings', controller, response, next, @@ -19047,28 +15068,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPromptController_updatePromptUserDefinedId: Record = { + const argsStripeController_disableAutoTopoff: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, - promptId: {"in":"path","name":"promptId","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"userDefinedId":{"dataType":"string","required":true}}}, }; - app.patch('/v1/prompt/:promptId/user-defined-id', + app.delete('/v1/stripe/auto-topoff/settings', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PromptController)), - ...(fetchMiddlewares(PromptController.prototype.updatePromptUserDefinedId)), + ...(fetchMiddlewares(StripeController)), + ...(fetchMiddlewares(StripeController.prototype.disableAutoTopoff)), - async function PromptController_updatePromptUserDefinedId(request: ExRequest, response: ExResponse, next: any) { + async function StripeController_disableAutoTopoff(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_updatePromptUserDefinedId, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_disableAutoTopoff, request, response }); - const controller = new PromptController(); + const controller = new StripeController(); await templateService.apiHandler({ - methodName: 'updatePromptUserDefinedId', + methodName: 'disableAutoTopoff', controller, response, next, @@ -19080,28 +15099,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPromptController_editPromptVersionLabel: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"PromptEditSubversionLabelParams"}, + const argsStripeController_getPaymentMethods: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, - promptVersionId: {"in":"path","name":"promptVersionId","required":true,"dataType":"string"}, }; - app.post('/v1/prompt/version/:promptVersionId/edit-label', + app.get('/v1/stripe/payment-methods', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PromptController)), - ...(fetchMiddlewares(PromptController.prototype.editPromptVersionLabel)), + ...(fetchMiddlewares(StripeController)), + ...(fetchMiddlewares(StripeController.prototype.getPaymentMethods)), - async function PromptController_editPromptVersionLabel(request: ExRequest, response: ExResponse, next: any) { + async function StripeController_getPaymentMethods(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_editPromptVersionLabel, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_getPaymentMethods, request, response }); - const controller = new PromptController(); + const controller = new StripeController(); await templateService.apiHandler({ - methodName: 'editPromptVersionLabel', + methodName: 'getPaymentMethods', controller, response, next, @@ -19113,28 +15130,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPromptController_editPromptVersionTemplate: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"PromptEditSubversionTemplateParams"}, + const argsStripeController_createSetupSession: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, - promptVersionId: {"in":"path","name":"promptVersionId","required":true,"dataType":"string"}, + body: {"in":"body","name":"body","required":true,"ref":"CreateSetupSessionRequest"}, }; - app.post('/v1/prompt/version/:promptVersionId/edit-template', + app.post('/v1/stripe/payment-methods/setup-session', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PromptController)), - ...(fetchMiddlewares(PromptController.prototype.editPromptVersionTemplate)), + ...(fetchMiddlewares(StripeController)), + ...(fetchMiddlewares(StripeController.prototype.createSetupSession)), - async function PromptController_editPromptVersionTemplate(request: ExRequest, response: ExResponse, next: any) { + async function StripeController_createSetupSession(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_editPromptVersionTemplate, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_createSetupSession, request, response }); - const controller = new PromptController(); + const controller = new StripeController(); await templateService.apiHandler({ - methodName: 'editPromptVersionTemplate', + methodName: 'createSetupSession', controller, response, next, @@ -19146,28 +15162,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPromptController_createSubversionFromUi: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"PromptCreateSubversionParams"}, + const argsStripeController_removePaymentMethod: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, - promptVersionId: {"in":"path","name":"promptVersionId","required":true,"dataType":"string"}, + paymentMethodId: {"in":"path","name":"paymentMethodId","required":true,"dataType":"string"}, }; - app.post('/v1/prompt/version/:promptVersionId/subversion-from-ui', + app.delete('/v1/stripe/payment-methods/:paymentMethodId', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PromptController)), - ...(fetchMiddlewares(PromptController.prototype.createSubversionFromUi)), + ...(fetchMiddlewares(StripeController)), + ...(fetchMiddlewares(StripeController.prototype.removePaymentMethod)), - async function PromptController_createSubversionFromUi(request: ExRequest, response: ExResponse, next: any) { + async function StripeController_removePaymentMethod(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_createSubversionFromUi, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_removePaymentMethod, request, response }); - const controller = new PromptController(); + const controller = new StripeController(); await templateService.apiHandler({ - methodName: 'createSubversionFromUi', + methodName: 'removePaymentMethod', controller, response, next, @@ -19179,28 +15194,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPromptController_createSubversion: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"PromptCreateSubversionParams"}, + const argsStripeController_getUsageStats: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, - promptVersionId: {"in":"path","name":"promptVersionId","required":true,"dataType":"string"}, }; - app.post('/v1/prompt/version/:promptVersionId/subversion', + app.get('/v1/stripe/subscription/usage-stats', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PromptController)), - ...(fetchMiddlewares(PromptController.prototype.createSubversion)), + ...(fetchMiddlewares(StripeController)), + ...(fetchMiddlewares(StripeController.prototype.getUsageStats)), - async function PromptController_createSubversion(request: ExRequest, response: ExResponse, next: any) { + async function StripeController_getUsageStats(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_createSubversion, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_getUsageStats, request, response }); - const controller = new PromptController(); + const controller = new StripeController(); await templateService.apiHandler({ - methodName: 'createSubversion', + methodName: 'getUsageStats', controller, response, next, @@ -19212,28 +15225,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPromptController_promotePromptVersionToProduction: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - promptVersionId: {"in":"path","name":"promptVersionId","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"previousProductionVersionId":{"dataType":"string","required":true}}}, + const argsOrganizationController_getOrganizations: Record = { + req: {"in":"request","name":"req","required":true,"dataType":"object"}, }; - app.post('/v1/prompt/version/:promptVersionId/promote', + app.get('/v1/organization', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PromptController)), - ...(fetchMiddlewares(PromptController.prototype.promotePromptVersionToProduction)), + ...(fetchMiddlewares(OrganizationController)), + ...(fetchMiddlewares(OrganizationController.prototype.getOrganizations)), - async function PromptController_promotePromptVersionToProduction(request: ExRequest, response: ExResponse, next: any) { + async function OrganizationController_getOrganizations(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_promotePromptVersionToProduction, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsOrganizationController_getOrganizations, request, response }); - const controller = new PromptController(); + const controller = new OrganizationController(); await templateService.apiHandler({ - methodName: 'promotePromptVersionToProduction', + methodName: 'getOrganizations', controller, response, next, @@ -19245,28 +15256,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPromptController_getInputs: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"random":{"dataType":"boolean"},"limit":{"dataType":"double","required":true}}}, + const argsOrganizationController_getModels: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, - promptVersionId: {"in":"path","name":"promptVersionId","required":true,"dataType":"string"}, }; - app.post('/v1/prompt/version/:promptVersionId/inputs/query', + app.get('/v1/organization/models', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PromptController)), - ...(fetchMiddlewares(PromptController.prototype.getInputs)), + ...(fetchMiddlewares(OrganizationController)), + ...(fetchMiddlewares(OrganizationController.prototype.getModels)), - async function PromptController_getInputs(request: ExRequest, response: ExResponse, next: any) { + async function OrganizationController_getModels(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_getInputs, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsOrganizationController_getModels, request, response }); - const controller = new PromptController(); + const controller = new OrganizationController(); await templateService.apiHandler({ - methodName: 'getInputs', + methodName: 'getModels', controller, response, next, @@ -19278,27 +15287,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPromptController_getPromptExperiments: Record = { + const argsOrganizationController_getOrganization: Record = { + organizationId: {"in":"path","name":"organizationId","required":true,"dataType":"string"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, - promptId: {"in":"path","name":"promptId","required":true,"dataType":"string"}, }; - app.get('/v1/prompt/:promptId/experiments', + app.get('/v1/organization/:organizationId', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PromptController)), - ...(fetchMiddlewares(PromptController.prototype.getPromptExperiments)), + ...(fetchMiddlewares(OrganizationController)), + ...(fetchMiddlewares(OrganizationController.prototype.getOrganization)), - async function PromptController_getPromptExperiments(request: ExRequest, response: ExResponse, next: any) { + async function OrganizationController_getOrganization(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_getPromptExperiments, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsOrganizationController_getOrganization, request, response }); - const controller = new PromptController(); + const controller = new OrganizationController(); await templateService.apiHandler({ - methodName: 'getPromptExperiments', + methodName: 'getOrganization', controller, response, next, @@ -19310,28 +15319,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPromptController_getPromptVersions: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"PromptVersionsQueryParams"}, + const argsOrganizationController_getReseller: Record = { + resellerId: {"in":"path","name":"resellerId","required":true,"dataType":"string"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, - promptId: {"in":"path","name":"promptId","required":true,"dataType":"string"}, }; - app.post('/v1/prompt/:promptId/versions/query', + app.get('/v1/organization/reseller/:resellerId', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PromptController)), - ...(fetchMiddlewares(PromptController.prototype.getPromptVersions)), + ...(fetchMiddlewares(OrganizationController)), + ...(fetchMiddlewares(OrganizationController.prototype.getReseller)), - async function PromptController_getPromptVersions(request: ExRequest, response: ExResponse, next: any) { + async function OrganizationController_getReseller(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_getPromptVersions, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsOrganizationController_getReseller, request, response }); - const controller = new PromptController(); + const controller = new OrganizationController(); await templateService.apiHandler({ - methodName: 'getPromptVersions', + methodName: 'getReseller', controller, response, next, @@ -19343,27 +15351,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPromptController_getPromptVersion: Record = { + const argsOrganizationController_acceptTerms: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, - promptVersionId: {"in":"path","name":"promptVersionId","required":true,"dataType":"string"}, }; - app.get('/v1/prompt/version/:promptVersionId', + app.post('/v1/organization/user/accept_terms', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PromptController)), - ...(fetchMiddlewares(PromptController.prototype.getPromptVersion)), + ...(fetchMiddlewares(OrganizationController)), + ...(fetchMiddlewares(OrganizationController.prototype.acceptTerms)), - async function PromptController_getPromptVersion(request: ExRequest, response: ExResponse, next: any) { + async function OrganizationController_acceptTerms(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_getPromptVersion, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsOrganizationController_acceptTerms, request, response }); - const controller = new PromptController(); + const controller = new OrganizationController(); await templateService.apiHandler({ - methodName: 'getPromptVersion', + methodName: 'acceptTerms', controller, response, next, @@ -19375,27 +15382,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPromptController_deletePromptVersion: Record = { + const argsOrganizationController_createNewOrganization: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"NewOrganizationParams"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, - promptVersionId: {"in":"path","name":"promptVersionId","required":true,"dataType":"string"}, }; - app.delete('/v1/prompt/version/:promptVersionId', + app.post('/v1/organization/create', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PromptController)), - ...(fetchMiddlewares(PromptController.prototype.deletePromptVersion)), + ...(fetchMiddlewares(OrganizationController)), + ...(fetchMiddlewares(OrganizationController.prototype.createNewOrganization)), - async function PromptController_deletePromptVersion(request: ExRequest, response: ExResponse, next: any) { + async function OrganizationController_createNewOrganization(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_deletePromptVersion, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsOrganizationController_createNewOrganization, request, response }); - const controller = new PromptController(); + const controller = new OrganizationController(); await templateService.apiHandler({ - methodName: 'deletePromptVersion', + methodName: 'createNewOrganization', controller, response, next, @@ -19407,28 +15414,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPromptController_getPromptVersionsCompiled: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"PromptVersiosQueryParamsCompiled"}, + const argsOrganizationController_updateOrganization: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"UpdateOrganizationParams"}, + organizationId: {"in":"path","name":"organizationId","required":true,"dataType":"string"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, - user_defined_id: {"in":"path","name":"user_defined_id","required":true,"dataType":"string"}, }; - app.post('/v1/prompt/:user_defined_id/compile', + app.post('/v1/organization/:organizationId/update', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PromptController)), - ...(fetchMiddlewares(PromptController.prototype.getPromptVersionsCompiled)), + ...(fetchMiddlewares(OrganizationController)), + ...(fetchMiddlewares(OrganizationController.prototype.updateOrganization)), - async function PromptController_getPromptVersionsCompiled(request: ExRequest, response: ExResponse, next: any) { + async function OrganizationController_updateOrganization(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_getPromptVersionsCompiled, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsOrganizationController_updateOrganization, request, response }); - const controller = new PromptController(); + const controller = new OrganizationController(); await templateService.apiHandler({ - methodName: 'getPromptVersionsCompiled', + methodName: 'updateOrganization', controller, response, next, @@ -19440,28 +15447,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPromptController_getPromptVersionTemplates: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"PromptVersiosQueryParamsCompiled"}, + const argsOrganizationController_onboardOrganization: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{}}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, - user_defined_id: {"in":"path","name":"user_defined_id","required":true,"dataType":"string"}, }; - app.post('/v1/prompt/:user_defined_id/template', + app.post('/v1/organization/onboard', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PromptController)), - ...(fetchMiddlewares(PromptController.prototype.getPromptVersionTemplates)), + ...(fetchMiddlewares(OrganizationController)), + ...(fetchMiddlewares(OrganizationController.prototype.onboardOrganization)), - async function PromptController_getPromptVersionTemplates(request: ExRequest, response: ExResponse, next: any) { + async function OrganizationController_onboardOrganization(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_getPromptVersionTemplates, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsOrganizationController_onboardOrganization, request, response }); - const controller = new PromptController(); + const controller = new OrganizationController(); await templateService.apiHandler({ - methodName: 'getPromptVersionTemplates', + methodName: 'onboardOrganization', controller, response, next, @@ -19473,26 +15479,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_createEmptyExperiment: Record = { + const argsOrganizationController_addMemberToOrganization: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"email":{"dataType":"string","required":true}}}, + organizationId: {"in":"path","name":"organizationId","required":true,"dataType":"string"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v2/experiment/create/empty', + app.post('/v1/organization/:organizationId/add_member', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.createEmptyExperiment)), + ...(fetchMiddlewares(OrganizationController)), + ...(fetchMiddlewares(OrganizationController.prototype.addMemberToOrganization)), - async function ExperimentV2Controller_createEmptyExperiment(request: ExRequest, response: ExResponse, next: any) { + async function OrganizationController_addMemberToOrganization(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_createEmptyExperiment, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsOrganizationController_addMemberToOrganization, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new OrganizationController(); await templateService.apiHandler({ - methodName: 'createEmptyExperiment', + methodName: 'addMemberToOrganization', controller, response, next, @@ -19504,27 +15512,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_createExperimentFromRequest: Record = { - requestId: {"in":"path","name":"requestId","required":true,"dataType":"string"}, + const argsOrganizationController_createOrganizationFilter: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"filterType":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["dashboard"]},{"dataType":"enum","enums":["requests"]}],"required":true},"filters":{"dataType":"array","array":{"dataType":"refAlias","ref":"OrganizationFilter"},"required":true}}}, + organizationId: {"in":"path","name":"organizationId","required":true,"dataType":"string"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v2/experiment/create/from-request/:requestId', + app.post('/v1/organization/:organizationId/create_filter', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.createExperimentFromRequest)), + ...(fetchMiddlewares(OrganizationController)), + ...(fetchMiddlewares(OrganizationController.prototype.createOrganizationFilter)), - async function ExperimentV2Controller_createExperimentFromRequest(request: ExRequest, response: ExResponse, next: any) { + async function OrganizationController_createOrganizationFilter(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_createExperimentFromRequest, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsOrganizationController_createOrganizationFilter, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new OrganizationController(); await templateService.apiHandler({ - methodName: 'createExperimentFromRequest', + methodName: 'createOrganizationFilter', controller, response, next, @@ -19536,27 +15545,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_createNewExperiment: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"originalPromptVersion":{"dataType":"string","required":true},"name":{"dataType":"string","required":true}}}, + const argsOrganizationController_updateOrganizationFilter: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"filterType":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["dashboard"]},{"dataType":"enum","enums":["requests"]}],"required":true},"filters":{"dataType":"array","array":{"dataType":"refAlias","ref":"OrganizationFilter"},"required":true}}}, + organizationId: {"in":"path","name":"organizationId","required":true,"dataType":"string"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v2/experiment/new', + app.post('/v1/organization/:organizationId/update_filter', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.createNewExperiment)), + ...(fetchMiddlewares(OrganizationController)), + ...(fetchMiddlewares(OrganizationController.prototype.updateOrganizationFilter)), - async function ExperimentV2Controller_createNewExperiment(request: ExRequest, response: ExResponse, next: any) { + async function OrganizationController_updateOrganizationFilter(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_createNewExperiment, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsOrganizationController_updateOrganizationFilter, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new OrganizationController(); await templateService.apiHandler({ - methodName: 'createNewExperiment', + methodName: 'updateOrganizationFilter', controller, response, next, @@ -19568,26 +15578,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_getExperiments: Record = { + const argsOrganizationController_deleteOrganization: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.get('/v2/experiment', + app.delete('/v1/organization/delete', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.getExperiments)), + ...(fetchMiddlewares(OrganizationController)), + ...(fetchMiddlewares(OrganizationController.prototype.deleteOrganization)), - async function ExperimentV2Controller_getExperiments(request: ExRequest, response: ExResponse, next: any) { + async function OrganizationController_deleteOrganization(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_getExperiments, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsOrganizationController_deleteOrganization, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new OrganizationController(); await templateService.apiHandler({ - methodName: 'getExperiments', + methodName: 'deleteOrganization', controller, response, next, @@ -19599,27 +15609,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_deleteExperiment: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, + const argsOrganizationController_getOrganizationLayout: Record = { + organizationId: {"in":"path","name":"organizationId","required":true,"dataType":"string"}, + filterType: {"in":"query","name":"filterType","required":true,"dataType":"string"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.delete('/v2/experiment/:experimentId', + app.get('/v1/organization/:organizationId/layout', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.deleteExperiment)), + ...(fetchMiddlewares(OrganizationController)), + ...(fetchMiddlewares(OrganizationController.prototype.getOrganizationLayout)), - async function ExperimentV2Controller_deleteExperiment(request: ExRequest, response: ExResponse, next: any) { + async function OrganizationController_getOrganizationLayout(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_deleteExperiment, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsOrganizationController_getOrganizationLayout, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new OrganizationController(); await templateService.apiHandler({ - methodName: 'deleteExperiment', + methodName: 'getOrganizationLayout', controller, response, next, @@ -19631,27 +15642,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_getExperimentById: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, + const argsOrganizationController_getOrganizationMembers: Record = { + organizationId: {"in":"path","name":"organizationId","required":true,"dataType":"string"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.get('/v2/experiment/:experimentId', + app.get('/v1/organization/:organizationId/members', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.getExperimentById)), + ...(fetchMiddlewares(OrganizationController)), + ...(fetchMiddlewares(OrganizationController.prototype.getOrganizationMembers)), - async function ExperimentV2Controller_getExperimentById(request: ExRequest, response: ExResponse, next: any) { + async function OrganizationController_getOrganizationMembers(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_getExperimentById, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsOrganizationController_getOrganizationMembers, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new OrganizationController(); await templateService.apiHandler({ - methodName: 'getExperimentById', + methodName: 'getOrganizationMembers', controller, response, next, @@ -19663,28 +15674,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_createNewPromptVersionForExperiment: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"CreateNewPromptVersionForExperimentParams"}, + const argsOrganizationController_updateOrganizationMember: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"memberId":{"dataType":"string","required":true},"role":{"dataType":"string","required":true}}}, + organizationId: {"in":"path","name":"organizationId","required":true,"dataType":"string"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v2/experiment/:experimentId/prompt-version', + app.post('/v1/organization/:organizationId/update_member', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.createNewPromptVersionForExperiment)), + ...(fetchMiddlewares(OrganizationController)), + ...(fetchMiddlewares(OrganizationController.prototype.updateOrganizationMember)), - async function ExperimentV2Controller_createNewPromptVersionForExperiment(request: ExRequest, response: ExResponse, next: any) { + async function OrganizationController_updateOrganizationMember(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_createNewPromptVersionForExperiment, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsOrganizationController_updateOrganizationMember, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new OrganizationController(); await templateService.apiHandler({ - methodName: 'createNewPromptVersionForExperiment', + methodName: 'updateOrganizationMember', controller, response, next, @@ -19696,28 +15707,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_deletePromptVersion: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, - promptVersionId: {"in":"path","name":"promptVersionId","required":true,"dataType":"string"}, + const argsOrganizationController_updateOrganizationOwner: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"memberId":{"dataType":"string","required":true}}}, + organizationId: {"in":"path","name":"organizationId","required":true,"dataType":"string"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.delete('/v2/experiment/:experimentId/prompt-version/:promptVersionId', + app.post('/v1/organization/:organizationId/update_owner', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.deletePromptVersion)), + ...(fetchMiddlewares(OrganizationController)), + ...(fetchMiddlewares(OrganizationController.prototype.updateOrganizationOwner)), - async function ExperimentV2Controller_deletePromptVersion(request: ExRequest, response: ExResponse, next: any) { + async function OrganizationController_updateOrganizationOwner(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_deletePromptVersion, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsOrganizationController_updateOrganizationOwner, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new OrganizationController(); await templateService.apiHandler({ - methodName: 'deletePromptVersion', + methodName: 'updateOrganizationOwner', controller, response, next, @@ -19729,27 +15740,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_getPromptVersionsForExperiment: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, + const argsOrganizationController_getOrganizationOwner: Record = { + organizationId: {"in":"path","name":"organizationId","required":true,"dataType":"string"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.get('/v2/experiment/:experimentId/prompt-versions', + app.get('/v1/organization/:organizationId/owner', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.getPromptVersionsForExperiment)), + ...(fetchMiddlewares(OrganizationController)), + ...(fetchMiddlewares(OrganizationController.prototype.getOrganizationOwner)), - async function ExperimentV2Controller_getPromptVersionsForExperiment(request: ExRequest, response: ExResponse, next: any) { + async function OrganizationController_getOrganizationOwner(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_getPromptVersionsForExperiment, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsOrganizationController_getOrganizationOwner, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new OrganizationController(); await templateService.apiHandler({ - methodName: 'getPromptVersionsForExperiment', + methodName: 'getOrganizationOwner', controller, response, next, @@ -19761,27 +15772,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_getInputKeysForExperiment: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, + const argsOrganizationController_removeMemberFromOrganization: Record = { + organizationId: {"in":"path","name":"organizationId","required":true,"dataType":"string"}, + memberId: {"in":"query","name":"memberId","required":true,"dataType":"string"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.get('/v2/experiment/:experimentId/input-keys', + app.delete('/v1/organization/:organizationId/remove_member', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.getInputKeysForExperiment)), + ...(fetchMiddlewares(OrganizationController)), + ...(fetchMiddlewares(OrganizationController.prototype.removeMemberFromOrganization)), - async function ExperimentV2Controller_getInputKeysForExperiment(request: ExRequest, response: ExResponse, next: any) { + async function OrganizationController_removeMemberFromOrganization(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_getInputKeysForExperiment, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsOrganizationController_removeMemberFromOrganization, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new OrganizationController(); await templateService.apiHandler({ - methodName: 'getInputKeysForExperiment', + methodName: 'removeMemberFromOrganization', controller, response, next, @@ -19793,28 +15805,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_addManualRowToExperiment: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"inputs":{"ref":"Record_string.string_","required":true}}}, + const argsOrganizationController_setupDemo: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v2/experiment/:experimentId/add-manual-row', + app.post('/v1/organization/setup-demo', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.addManualRowToExperiment)), + ...(fetchMiddlewares(OrganizationController)), + ...(fetchMiddlewares(OrganizationController.prototype.setupDemo)), - async function ExperimentV2Controller_addManualRowToExperiment(request: ExRequest, response: ExResponse, next: any) { + async function OrganizationController_setupDemo(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_addManualRowToExperiment, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsOrganizationController_setupDemo, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new OrganizationController(); await templateService.apiHandler({ - methodName: 'addManualRowToExperiment', + methodName: 'setupDemo', controller, response, next, @@ -19826,28 +15836,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_addManualRowsToExperimentBatch: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"inputs":{"dataType":"array","array":{"dataType":"refAlias","ref":"Record_string.string_"},"required":true}}}, + const argsOrganizationController_updateOnboardingStatus: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"name":{"dataType":"string","required":true},"onboarding_status":{"ref":"OnboardingStatus","required":true}}}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v2/experiment/:experimentId/add-manual-rows-batch', + app.post('/v1/organization/update_onboarding', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.addManualRowsToExperimentBatch)), + ...(fetchMiddlewares(OrganizationController)), + ...(fetchMiddlewares(OrganizationController.prototype.updateOnboardingStatus)), - async function ExperimentV2Controller_addManualRowsToExperimentBatch(request: ExRequest, response: ExResponse, next: any) { + async function OrganizationController_updateOnboardingStatus(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_addManualRowsToExperimentBatch, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsOrganizationController_updateOnboardingStatus, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new OrganizationController(); await templateService.apiHandler({ - methodName: 'addManualRowsToExperimentBatch', + methodName: 'updateOnboardingStatus', controller, response, next, @@ -19859,28 +15868,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_deleteExperimentTableRows: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"inputRecordIds":{"dataType":"array","array":{"dataType":"string"},"required":true}}}, + const argsEvaluatorController_createEvaluator: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"CreateEvaluatorParams"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.delete('/v2/experiment/:experimentId/rows', + app.post('/v1/evaluator', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.deleteExperimentTableRows)), + ...(fetchMiddlewares(EvaluatorController)), + ...(fetchMiddlewares(EvaluatorController.prototype.createEvaluator)), - async function ExperimentV2Controller_deleteExperimentTableRows(request: ExRequest, response: ExResponse, next: any) { + async function EvaluatorController_createEvaluator(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_deleteExperimentTableRows, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_createEvaluator, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new EvaluatorController(); await templateService.apiHandler({ - methodName: 'deleteExperimentTableRows', + methodName: 'createEvaluator', controller, response, next, @@ -19892,28 +15900,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_createExperimentTableRowBatch: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"rows":{"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"autoInputs":{"dataType":"array","array":{"dataType":"any"},"required":true},"inputs":{"ref":"Record_string.string_","required":true},"inputRecordId":{"dataType":"string","required":true}}},"required":true}}}, + const argsEvaluatorController_getEvaluator: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + evaluatorId: {"in":"path","name":"evaluatorId","required":true,"dataType":"string"}, }; - app.post('/v2/experiment/:experimentId/row/insert/batch', + app.get('/v1/evaluator/:evaluatorId', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.createExperimentTableRowBatch)), + ...(fetchMiddlewares(EvaluatorController)), + ...(fetchMiddlewares(EvaluatorController.prototype.getEvaluator)), - async function ExperimentV2Controller_createExperimentTableRowBatch(request: ExRequest, response: ExResponse, next: any) { + async function EvaluatorController_getEvaluator(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_createExperimentTableRowBatch, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_getEvaluator, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new EvaluatorController(); await templateService.apiHandler({ - methodName: 'createExperimentTableRowBatch', + methodName: 'getEvaluator', controller, response, next, @@ -19925,28 +15932,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_createExperimentTableRowFromDataset: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, - datasetId: {"in":"path","name":"datasetId","required":true,"dataType":"string"}, + const argsEvaluatorController_queryEvaluators: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{}}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v2/experiment/:experimentId/row/insert/dataset/:datasetId', + app.post('/v1/evaluator/query', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.createExperimentTableRowFromDataset)), + ...(fetchMiddlewares(EvaluatorController)), + ...(fetchMiddlewares(EvaluatorController.prototype.queryEvaluators)), - async function ExperimentV2Controller_createExperimentTableRowFromDataset(request: ExRequest, response: ExResponse, next: any) { + async function EvaluatorController_queryEvaluators(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_createExperimentTableRowFromDataset, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_queryEvaluators, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new EvaluatorController(); await templateService.apiHandler({ - methodName: 'createExperimentTableRowFromDataset', + methodName: 'queryEvaluators', controller, response, next, @@ -19958,28 +15964,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_updateExperimentTableRow: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"inputs":{"ref":"Record_string.string_","required":true},"inputRecordId":{"dataType":"string","required":true}}}, + const argsEvaluatorController_updateEvaluator: Record = { + evaluatorId: {"in":"path","name":"evaluatorId","required":true,"dataType":"string"}, + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"UpdateEvaluatorParams"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v2/experiment/:experimentId/row/update', + app.put('/v1/evaluator/:evaluatorId', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.updateExperimentTableRow)), + ...(fetchMiddlewares(EvaluatorController)), + ...(fetchMiddlewares(EvaluatorController.prototype.updateEvaluator)), - async function ExperimentV2Controller_updateExperimentTableRow(request: ExRequest, response: ExResponse, next: any) { + async function EvaluatorController_updateEvaluator(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_updateExperimentTableRow, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_updateEvaluator, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new EvaluatorController(); await templateService.apiHandler({ - methodName: 'updateExperimentTableRow', + methodName: 'updateEvaluator', controller, response, next, @@ -19991,28 +15997,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_runHypothesis: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"inputRecordId":{"dataType":"string","required":true},"promptVersionId":{"dataType":"string","required":true}}}, + const argsEvaluatorController_deleteEvaluator: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + evaluatorId: {"in":"path","name":"evaluatorId","required":true,"dataType":"string"}, }; - app.post('/v2/experiment/:experimentId/run-hypothesis', + app.delete('/v1/evaluator/:evaluatorId', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.runHypothesis)), + ...(fetchMiddlewares(EvaluatorController)), + ...(fetchMiddlewares(EvaluatorController.prototype.deleteEvaluator)), - async function ExperimentV2Controller_runHypothesis(request: ExRequest, response: ExResponse, next: any) { + async function EvaluatorController_deleteEvaluator(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_runHypothesis, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_deleteEvaluator, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new EvaluatorController(); await templateService.apiHandler({ - methodName: 'runHypothesis', + methodName: 'deleteEvaluator', controller, response, next, @@ -20024,27 +16029,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_getExperimentEvaluators: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, + const argsEvaluatorController_getOnlineEvaluators: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + evaluatorId: {"in":"path","name":"evaluatorId","required":true,"dataType":"string"}, }; - app.get('/v2/experiment/:experimentId/evaluators', + app.get('/v1/evaluator/:evaluatorId/onlineEvaluators', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.getExperimentEvaluators)), + ...(fetchMiddlewares(EvaluatorController)), + ...(fetchMiddlewares(EvaluatorController.prototype.getOnlineEvaluators)), - async function ExperimentV2Controller_getExperimentEvaluators(request: ExRequest, response: ExResponse, next: any) { + async function EvaluatorController_getOnlineEvaluators(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_getExperimentEvaluators, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_getOnlineEvaluators, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new EvaluatorController(); await templateService.apiHandler({ - methodName: 'getExperimentEvaluators', + methodName: 'getOnlineEvaluators', controller, response, next, @@ -20056,28 +16061,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_createExperimentEvaluator: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"evaluatorId":{"dataType":"string","required":true}}}, + const argsEvaluatorController_createOnlineEvaluator: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + evaluatorId: {"in":"path","name":"evaluatorId","required":true,"dataType":"string"}, + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"CreateOnlineEvaluatorParams"}, }; - app.post('/v2/experiment/:experimentId/evaluators', + app.post('/v1/evaluator/:evaluatorId/onlineEvaluators', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.createExperimentEvaluator)), + ...(fetchMiddlewares(EvaluatorController)), + ...(fetchMiddlewares(EvaluatorController.prototype.createOnlineEvaluator)), - async function ExperimentV2Controller_createExperimentEvaluator(request: ExRequest, response: ExResponse, next: any) { + async function EvaluatorController_createOnlineEvaluator(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_createExperimentEvaluator, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_createOnlineEvaluator, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new EvaluatorController(); await templateService.apiHandler({ - methodName: 'createExperimentEvaluator', + methodName: 'createOnlineEvaluator', controller, response, next, @@ -20089,28 +16094,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_deleteExperimentEvaluator: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, - evaluatorId: {"in":"path","name":"evaluatorId","required":true,"dataType":"string"}, + const argsEvaluatorController_deleteOnlineEvaluator: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + evaluatorId: {"in":"path","name":"evaluatorId","required":true,"dataType":"string"}, + onlineEvaluatorId: {"in":"path","name":"onlineEvaluatorId","required":true,"dataType":"string"}, }; - app.delete('/v2/experiment/:experimentId/evaluators/:evaluatorId', + app.delete('/v1/evaluator/:evaluatorId/onlineEvaluators/:onlineEvaluatorId', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.deleteExperimentEvaluator)), + ...(fetchMiddlewares(EvaluatorController)), + ...(fetchMiddlewares(EvaluatorController.prototype.deleteOnlineEvaluator)), - async function ExperimentV2Controller_deleteExperimentEvaluator(request: ExRequest, response: ExResponse, next: any) { + async function EvaluatorController_deleteOnlineEvaluator(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_deleteExperimentEvaluator, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_deleteOnlineEvaluator, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new EvaluatorController(); await templateService.apiHandler({ - methodName: 'deleteExperimentEvaluator', + methodName: 'deleteOnlineEvaluator', controller, response, next, @@ -20122,27 +16127,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_runExperimentEvaluators: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, + const argsEvaluatorController_testPythonEvaluator: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"testInput":{"ref":"TestInput","required":true},"code":{"dataType":"string","required":true}}}, }; - app.post('/v2/experiment/:experimentId/evaluators/run', + app.post('/v1/evaluator/python/test', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.runExperimentEvaluators)), + ...(fetchMiddlewares(EvaluatorController)), + ...(fetchMiddlewares(EvaluatorController.prototype.testPythonEvaluator)), - async function ExperimentV2Controller_runExperimentEvaluators(request: ExRequest, response: ExResponse, next: any) { + async function EvaluatorController_testPythonEvaluator(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_runExperimentEvaluators, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_testPythonEvaluator, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new EvaluatorController(); await templateService.apiHandler({ - methodName: 'runExperimentEvaluators', + methodName: 'testPythonEvaluator', controller, response, next, @@ -20154,27 +16159,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_shouldRunEvaluators: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, + const argsEvaluatorController_testLLMEvaluator: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"evaluatorName":{"dataType":"string","required":true},"testInput":{"ref":"TestInput","required":true},"evaluatorConfig":{"ref":"EvaluatorConfig","required":true}}}, }; - app.get('/v2/experiment/:experimentId/should-run-evaluators', + app.post('/v1/evaluator/llm/test', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.shouldRunEvaluators)), + ...(fetchMiddlewares(EvaluatorController)), + ...(fetchMiddlewares(EvaluatorController.prototype.testLLMEvaluator)), - async function ExperimentV2Controller_shouldRunEvaluators(request: ExRequest, response: ExResponse, next: any) { + async function EvaluatorController_testLLMEvaluator(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_shouldRunEvaluators, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_testLLMEvaluator, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new EvaluatorController(); await templateService.apiHandler({ - methodName: 'shouldRunEvaluators', + methodName: 'testLLMEvaluator', controller, response, next, @@ -20186,28 +16191,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_getExperimentPromptVersionScores: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, - promptVersionId: {"in":"path","name":"promptVersionId","required":true,"dataType":"string"}, + const argsEvaluatorController_testLastMileEvaluator: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"testInput":{"ref":"TestInput","required":true},"config":{"ref":"LastMileConfigForm","required":true}}}, }; - app.get('/v2/experiment/:experimentId/:promptVersionId/scores', + app.post('/v1/evaluator/lastmile/test', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.getExperimentPromptVersionScores)), + ...(fetchMiddlewares(EvaluatorController)), + ...(fetchMiddlewares(EvaluatorController.prototype.testLastMileEvaluator)), - async function ExperimentV2Controller_getExperimentPromptVersionScores(request: ExRequest, response: ExResponse, next: any) { + async function EvaluatorController_testLastMileEvaluator(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_getExperimentPromptVersionScores, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_testLastMileEvaluator, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new EvaluatorController(); await templateService.apiHandler({ - methodName: 'getExperimentPromptVersionScores', + methodName: 'testLastMileEvaluator', controller, response, next, @@ -20219,29 +16223,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_getExperimentScore: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, - requestId: {"in":"path","name":"requestId","required":true,"dataType":"string"}, - scoreKey: {"in":"path","name":"scoreKey","required":true,"dataType":"string"}, + const argsEvaluatorController_getEvaluatorStats: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + evaluatorId: {"in":"path","name":"evaluatorId","required":true,"dataType":"string"}, }; - app.get('/v2/experiment/:experimentId/:requestId/:scoreKey', + app.get('/v1/evaluator/:evaluatorId/stats', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.getExperimentScore)), + ...(fetchMiddlewares(EvaluatorController)), + ...(fetchMiddlewares(EvaluatorController.prototype.getEvaluatorStats)), - async function ExperimentV2Controller_getExperimentScore(request: ExRequest, response: ExResponse, next: any) { + async function EvaluatorController_getEvaluatorStats(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_getExperimentScore, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_getEvaluatorStats, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new EvaluatorController(); await templateService.apiHandler({ - methodName: 'getExperimentScore', + methodName: 'getEvaluatorStats', controller, response, next, diff --git a/valhalla/jawn/src/tsoa-build/private/swagger.json b/valhalla/jawn/src/tsoa-build/private/swagger.json index 99aeaf1b9e..1e6f7056a2 100644 --- a/valhalla/jawn/src/tsoa-build/private/swagger.json +++ b/valhalla/jawn/src/tsoa-build/private/swagger.json @@ -626,53 +626,6 @@ "type": "object", "additionalProperties": false }, - "UpgradeToProRequest": { - "properties": { - "addons": { - "properties": { - "evals": { - "type": "boolean" - }, - "experiments": { - "type": "boolean" - }, - "prompts": { - "type": "boolean" - }, - "alerts": { - "type": "boolean" - } - }, - "type": "object" - }, - "seats": { - "type": "number", - "format": "double" - }, - "ui_mode": { - "type": "string", - "enum": [ - "embedded", - "hosted" - ] - } - }, - "type": "object", - "additionalProperties": false - }, - "UpgradeToTeamBundleRequest": { - "properties": { - "ui_mode": { - "type": "string", - "enum": [ - "embedded", - "hosted" - ] - } - }, - "type": "object", - "additionalProperties": false - }, "LLMUsage": { "properties": { "model": { @@ -2194,58 +2147,6 @@ "type": "object", "additionalProperties": false }, - "EvaluatorExperiment": { - "properties": { - "experiment_name": { - "type": "string" - }, - "experiment_created_at": { - "type": "string" - }, - "experiment_id": { - "type": "string" - } - }, - "required": [ - "experiment_name", - "experiment_created_at", - "experiment_id" - ], - "type": "object" - }, - "ResultSuccess_EvaluatorExperiment-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/EvaluatorExperiment" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_EvaluatorExperiment-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_EvaluatorExperiment-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, "OnlineEvaluatorByEvaluatorId": { "properties": { "config": {}, @@ -2749,520 +2650,6 @@ } ] }, - "Prompt2025": { - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "tags": { - "items": { - "type": "string" - }, - "type": "array" - }, - "created_at": { - "type": "string" - } - }, - "required": [ - "id", - "name", - "tags", - "created_at" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_Prompt2025_": { - "properties": { - "data": { - "$ref": "#/components/schemas/Prompt2025" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_Prompt2025.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_Prompt2025_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess_string-Array_": { - "properties": { - "data": { - "items": { - "type": "string" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_string-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_string-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "Prompt2025Input": { - "properties": { - "request_id": { - "type": "string" - }, - "version_id": { - "type": "string" - }, - "inputs": { - "$ref": "#/components/schemas/Record_string.any_" - } - }, - "required": [ - "request_id", - "version_id", - "inputs" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_Prompt2025Input_": { - "properties": { - "data": { - "$ref": "#/components/schemas/Prompt2025Input" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_Prompt2025Input.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_Prompt2025Input_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "PromptCreateResponse": { - "properties": { - "id": { - "type": "string" - }, - "versionId": { - "type": "string" - } - }, - "required": [ - "id", - "versionId" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_PromptCreateResponse_": { - "properties": { - "data": { - "$ref": "#/components/schemas/PromptCreateResponse" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_PromptCreateResponse.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_PromptCreateResponse_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "Record_string.number_": { - "properties": {}, - "additionalProperties": { - "type": "number", - "format": "double" - }, - "type": "object", - "description": "Construct a type with a set of properties K of type T" - }, - "OpenAIChatRequest": { - "description": "Simplified interface for the OpenAI Chat request format", - "properties": { - "model": { - "type": "string" - }, - "messages": { - "items": { - "properties": { - "tool_calls": { - "items": { - "properties": { - "type": { - "type": "string", - "enum": [ - "function" - ], - "nullable": false - }, - "function": { - "properties": { - "arguments": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "arguments", - "name" - ], - "type": "object" - }, - "id": { - "type": "string" - } - }, - "required": [ - "type", - "function", - "id" - ], - "type": "object" - }, - "type": "array" - }, - "tool_call_id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "content": { - "anyOf": [ - { - "type": "string" - }, - { - "items": { - "properties": { - "image_url": { - "properties": { - "url": { - "type": "string" - } - }, - "required": [ - "url" - ], - "type": "object" - }, - "text": { - "type": "string" - }, - "type": { - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "type": "array" - } - ], - "nullable": true - }, - "role": { - "type": "string" - } - }, - "required": [ - "content", - "role" - ], - "type": "object" - }, - "type": "array" - }, - "temperature": { - "type": "number", - "format": "double" - }, - "top_p": { - "type": "number", - "format": "double" - }, - "max_tokens": { - "type": "number", - "format": "double" - }, - "max_completion_tokens": { - "type": "number", - "format": "double" - }, - "stream": { - "type": "boolean" - }, - "stop": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "string" - } - ] - }, - "tools": { - "items": { - "properties": { - "function": { - "properties": { - "strict": { - "type": "boolean" - }, - "parameters": { - "$ref": "#/components/schemas/Record_string.any_" - }, - "description": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "type": { - "type": "string", - "enum": [ - "function" - ], - "nullable": false - } - }, - "required": [ - "function", - "type" - ], - "type": "object" - }, - "type": "array" - }, - "tool_choice": { - "anyOf": [ - { - "properties": { - "function": { - "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "function" - ], - "nullable": false - } - }, - "required": [ - "name", - "type" - ], - "type": "object" - }, - "type": { - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "type": "string", - "enum": [ - "none", - "auto", - "required" - ] - } - ] - }, - "parallel_tool_calls": { - "type": "boolean" - }, - "reasoning_effort": { - "type": "string", - "enum": [ - "minimal", - "low", - "medium", - "high" - ] - }, - "verbosity": { - "type": "string", - "enum": [ - "low", - "medium", - "high" - ] - }, - "frequency_penalty": { - "type": "number", - "format": "double" - }, - "presence_penalty": { - "type": "number", - "format": "double" - }, - "logit_bias": { - "$ref": "#/components/schemas/Record_string.number_" - }, - "logprobs": { - "type": "boolean" - }, - "top_logprobs": { - "type": "number", - "format": "double" - }, - "n": { - "type": "number", - "format": "double" - }, - "modalities": { - "items": { - "type": "string" - }, - "type": "array" - }, - "prediction": {}, - "audio": {}, - "response_format": { - "properties": { - "json_schema": {}, - "type": { - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "seed": { - "type": "number", - "format": "double" - }, - "service_tier": { - "type": "string" - }, - "store": { - "type": "boolean" - }, - "stream_options": {}, - "metadata": { - "$ref": "#/components/schemas/Record_string.string_" - }, - "user": { - "type": "string" - }, - "function_call": { - "anyOf": [ - { - "type": "string" - }, - { - "properties": { - "name": { - "type": "string" - } - }, - "required": [ - "name" - ], - "type": "object" - } - ] - }, - "functions": { - "items": {}, - "type": "array" - } - }, - "type": "object", - "additionalProperties": false - }, "ResultSuccess__id-string__": { "properties": { "data": { @@ -3301,42 +2688,50 @@ } ] }, - "ResultSuccess_number_": { + "IntegrationCreateParams": { "properties": { - "data": { - "type": "number", - "format": "double" + "integration_name": { + "type": "string" }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true + "settings": { + "$ref": "#/components/schemas/Json" + }, + "active": { + "type": "boolean" } }, "required": [ - "data", - "error" + "integration_name" ], "type": "object", "additionalProperties": false }, - "Result_number.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_number_" + "Integration": { + "properties": { + "integration_name": { + "type": "string" }, - { - "$ref": "#/components/schemas/ResultError_string_" + "settings": { + "$ref": "#/components/schemas/Json" + }, + "active": { + "type": "boolean" + }, + "id": { + "type": "string" } - ] + }, + "required": [ + "id" + ], + "type": "object", + "additionalProperties": false }, - "ResultSuccess_Prompt2025-Array_": { + "ResultSuccess_Array_Integration__": { "properties": { "data": { "items": { - "$ref": "#/components/schemas/Prompt2025" + "$ref": "#/components/schemas/Integration" }, "type": "array" }, @@ -3355,268 +2750,35 @@ "type": "object", "additionalProperties": false }, - "Result_Prompt2025-Array.string_": { + "Result_Array_Integration_.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_Prompt2025-Array_" + "$ref": "#/components/schemas/ResultSuccess_Array_Integration__" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "Record_string.unknown_": { - "properties": {}, - "additionalProperties": {}, - "type": "object", - "description": "Construct a type with a set of properties K of type T" - }, - "Prompt2025VersionPromptBody": { - "properties": { - "model": { - "type": "string" - }, - "messages": { - "items": { - "properties": { - "tool_calls": { - "items": { - "properties": { - "type": { - "type": "string", - "enum": [ - "function" - ], - "nullable": false - }, - "function": { - "properties": { - "arguments": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "arguments", - "name" - ], - "type": "object" - }, - "id": { - "type": "string" - } - }, - "required": [ - "type", - "function", - "id" - ], - "type": "object" - }, - "type": "array" - }, - "tool_call_id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "content": { - "anyOf": [ - { - "type": "string" - }, - { - "items": { - "properties": { - "image_url": { - "properties": { - "url": { - "type": "string" - } - }, - "required": [ - "url" - ], - "type": "object" - }, - "text": { - "type": "string" - }, - "type": { - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "type": "array" - } - ], - "nullable": true - }, - "role": { - "type": "string" - } - }, - "required": [ - "content", - "role" - ], - "type": "object" - }, - "type": "array" - }, - "temperature": { - "type": "number", - "format": "double" - }, - "top_p": { - "type": "number", - "format": "double" - }, - "max_tokens": { - "type": "number", - "format": "double" - }, - "tools": { - "items": { - "properties": { - "function": { - "properties": { - "parameters": { - "$ref": "#/components/schemas/Record_string.unknown_" - }, - "description": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "parameters", - "description", - "name" - ], - "type": "object" - }, - "type": { - "type": "string", - "enum": [ - "function" - ], - "nullable": false - } - }, - "required": [ - "function", - "type" - ], - "type": "object" - }, - "type": "array" - }, - "tool_choice": { - "anyOf": [ - { - "type": "string" - }, - { - "properties": { - "function": { - "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "function" - ], - "nullable": false - } - }, - "required": [ - "name", - "type" - ], - "type": "object" - }, - "type": { - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - } - ] - } - }, - "type": "object", - "additionalProperties": {} - }, - "Prompt2025Version": { + "IntegrationUpdateParams": { "properties": { - "id": { - "type": "string" - }, - "model": { - "type": "string" - }, - "prompt_id": { - "type": "string" - }, - "major_version": { - "type": "number", - "format": "double" - }, - "minor_version": { - "type": "number", - "format": "double" - }, - "commit_message": { - "type": "string" - }, - "environments": { - "items": { - "type": "string" - }, - "type": "array" - }, - "created_at": { + "integration_name": { "type": "string" }, - "s3_url": { - "type": "string" + "settings": { + "$ref": "#/components/schemas/Json" }, - "prompt_body": { - "$ref": "#/components/schemas/Prompt2025VersionPromptBody", - "description": "The full prompt body including messages. Only included when explicitly requested\nvia the `includePromptBody` parameter to avoid unnecessary data transfer." + "active": { + "type": "boolean" } }, - "required": [ - "id", - "model", - "prompt_id", - "major_version", - "minor_version", - "commit_message", - "created_at" - ], "type": "object", "additionalProperties": false }, - "ResultSuccess_Prompt2025Version_": { + "ResultSuccess_Integration_": { "properties": { "data": { - "$ref": "#/components/schemas/Prompt2025Version" + "$ref": "#/components/schemas/Integration" }, "error": { "type": "number", @@ -3633,21 +2795,33 @@ "type": "object", "additionalProperties": false }, - "Result_Prompt2025Version.string_": { + "Result_Integration.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_Prompt2025Version_" + "$ref": "#/components/schemas/ResultSuccess_Integration_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "ResultSuccess_Prompt2025Version-Array_": { + "ResultSuccess_Array__id-string--name-string___": { "properties": { "data": { "items": { - "$ref": "#/components/schemas/Prompt2025Version" + "properties": { + "name": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "name", + "id" + ], + "type": "object" }, "type": "array" }, @@ -3666,2368 +2840,2119 @@ "type": "object", "additionalProperties": false }, - "Result_Prompt2025Version-Array.string_": { + "Result_Array__id-string--name-string__.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_Prompt2025Version-Array_" + "$ref": "#/components/schemas/ResultSuccess_Array__id-string--name-string___" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "PromptVersionCounts": { + "TestStripeMeterEventRequest": { "properties": { - "totalVersions": { - "type": "number", - "format": "double" + "event_name": { + "type": "string" }, - "majorVersions": { - "type": "number", - "format": "double" + "customer_id": { + "type": "string" } }, "required": [ - "totalVersions", - "majorVersions" + "event_name", + "customer_id" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_PromptVersionCounts_": { - "properties": { - "data": { - "$ref": "#/components/schemas/PromptVersionCounts" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" + "ModelProviderName": { + "type": "string", + "enum": [ + "baseten", + "anthropic", + "azure", + "bedrock", + "canopywave", + "cerebras", + "chutes", + "deepinfra", + "deepseek", + "fireworks", + "google-ai-studio", + "groq", + "helicone", + "mistral", + "nebius", + "novita", + "openai", + "openrouter", + "perplexity", + "vertex", + "xai" ], - "type": "object", - "additionalProperties": false + "nullable": false }, - "Result_PromptVersionCounts.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_PromptVersionCounts_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } + "BodyMappingType": { + "type": "string", + "enum": [ + "OPENAI", + "NO_MAPPING", + "RESPONSES" ] }, - "ResultSuccess_Prompt2025Version_91_prompt_body_93__": { + "HeliconeMeta": { "properties": { - "data": { - "$ref": "#/components/schemas/Prompt2025VersionPromptBody" + "freeLimitExceeded": { + "type": "boolean" }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_Prompt2025Version_91_prompt_body_93_.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_Prompt2025Version_91_prompt_body_93__" + "aiGatewayBodyMapping": { + "$ref": "#/components/schemas/BodyMappingType" }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "Partial_TextOperators_": { - "properties": { - "not-equals": { + "providerModelId": { "type": "string" }, - "equals": { + "gatewayModel": { "type": "string" }, - "like": { - "type": "string" + "gatewayProvider": { + "$ref": "#/components/schemas/ModelProviderName" }, - "ilike": { - "type": "string" + "isPassthroughBilling": { + "type": "boolean" }, - "contains": { + "gatewayDeploymentTarget": { "type": "string" }, - "not-contains": { + "gatewayRouterId": { "type": "string" - } - }, - "type": "object", - "description": "Make all properties in T optional" - }, - "Partial_TimestampOperators_": { - "properties": { - "equals": { + }, + "stripeCustomerId": { "type": "string" }, - "gte": { + "heliconeManualAccessKey": { "type": "string" }, - "lte": { + "promptInputs": { + "$ref": "#/components/schemas/Record_string.any_" + }, + "promptVersionId": { "type": "string" }, - "lt": { + "promptEnvironment": { "type": "string" }, - "gt": { + "promptId": { "type": "string" - } - }, - "type": "object", - "description": "Make all properties in T optional" - }, - "Partial_RequestTableToOperators_": { - "properties": { - "prompt": { - "$ref": "#/components/schemas/Partial_TextOperators_" }, - "created_at": { - "$ref": "#/components/schemas/Partial_TimestampOperators_" + "lytixHost": { + "type": "string" }, - "user_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "lytixKey": { + "type": "string" }, - "auth_hash": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "posthogHost": { + "type": "string" }, - "org_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "posthogApiKey": { + "type": "string" }, - "id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "webhookEnabled": { + "type": "boolean" }, - "node_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "omitResponseLog": { + "type": "boolean" }, - "model": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "omitRequestLog": { + "type": "boolean" }, "modelOverride": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "path": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "country_code": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "prompt_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "type": "string" } }, - "type": "object", - "description": "Make all properties in T optional" + "required": [ + "webhookEnabled", + "omitResponseLog", + "omitRequestLog" + ], + "type": "object" }, - "Partial_NumberOperators_": { - "properties": { - "not-equals": { - "type": "number", - "format": "double" - }, - "equals": { - "type": "number", - "format": "double" - }, - "gte": { - "type": "number", - "format": "double" - }, - "lte": { - "type": "number", - "format": "double" + "ProviderName": { + "type": "string", + "enum": [ + "OPENAI", + "ANTHROPIC", + "AZURE", + "LOCAL", + "HELICONE", + "AMDBARTEK", + "ANYSCALE", + "CLOUDFLARE", + "2YFV", + "TOGETHER", + "LEMONFOX", + "FIREWORKS", + "PERPLEXITY", + "GOOGLE", + "OPENROUTER", + "WISDOMINANUTSHELL", + "GROQ", + "COHERE", + "MISTRAL", + "DEEPINFRA", + "QSTASH", + "FIRECRAWL", + "AWS", + "BEDROCK", + "DEEPSEEK", + "X", + "AVIAN", + "NEBIUS", + "NOVITA", + "OPENPIPE", + "CHUTES", + "LLAMA", + "NVIDIA", + "VERCEL", + "CEREBRAS", + "BASETEN", + "CANOPYWAVE" + ] + }, + "Provider": { + "anyOf": [ + { + "$ref": "#/components/schemas/ProviderName" }, - "lt": { - "type": "number", - "format": "double" + { + "$ref": "#/components/schemas/ModelProviderName" }, - "gt": { - "type": "number", - "format": "double" - } - }, - "type": "object", - "description": "Make all properties in T optional" - }, - "Partial_BooleanOperators_": { - "properties": { - "equals": { - "type": "boolean" + { + "type": "string", + "enum": [ + "CUSTOM" + ] } - }, - "type": "object", - "description": "Make all properties in T optional" + ] }, - "Partial_FeedbackTableToOperators_": { + "TemplateWithInputs": { + "description": "Parses a string containing custom JSX-like tags and extracts information to produce two outputs:\n1. A version of the string with all JSX tags removed, leaving only the text content.\n2. An object representing a template with self-closing JSX tags and a separate mapping of keys to their\n corresponding text content.\n\nThe function specifically targets `` tags, which include a `key` attribute and enclosed text content.\nThese tags are transformed or removed based on the desired output structure. The process involves regular expressions\nto match and manipulate the input string to produce the outputs.\n\nParameters:\n- input: A string containing the text and JSX-like tags to be parsed.\n\nReturns:\nAn object with two properties:\n1. stringWithoutJSXTags: A string where all `` tags are removed, and only their text content remains.\n2. templateWithInputs: An object containing:\n - template: A version of the input string where `` tags are replaced with self-closing versions,\n preserving the `key` attributes but removing the text content.\n - inputs: An object mapping the `key` attributes to their corresponding text content, effectively extracting\n the data from the original tags.\n\nExample Usage:\n```ts\nconst input = `\nThe scene is Harry Potter.\njustin test`;\n\nconst expectedOutput = parseJSXString(input);\nconsole.log(expectedOutput);\n```\nThe function is useful for preprocessing strings with embedded custom JSX-like tags, extracting useful data,\nand preparing templates for further processing or rendering. It demonstrates a practical application of regular\nexpressions for text manipulation in TypeScript, specifically tailored to a custom JSX-like syntax.", "properties": { - "id": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "created_at": { - "$ref": "#/components/schemas/Partial_TimestampOperators_" + "template": { + "additionalProperties": false, + "type": "object" }, - "rating": { - "$ref": "#/components/schemas/Partial_BooleanOperators_" + "inputs": { + "properties": {}, + "additionalProperties": { + "type": "string" + }, + "type": "object" }, - "response_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "autoInputs": { + "items": {}, + "type": "array" } }, + "required": [ + "template", + "inputs", + "autoInputs" + ], "type": "object", - "description": "Make all properties in T optional" + "additionalProperties": false }, - "Partial_ResponseTableToOperators_": { + "Log": { "properties": { - "body_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "body_model": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "body_completion": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "status": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "model": { - "$ref": "#/components/schemas/Partial_TextOperators_" - } - }, - "type": "object", - "description": "Make all properties in T optional" - }, - "Partial_TimestampOperatorsTyped_": { - "properties": { - "equals": { - "type": "string", - "format": "date-time" - }, - "gte": { - "type": "string", - "format": "date-time" - }, - "lte": { - "type": "string", - "format": "date-time" - }, - "lt": { - "type": "string", - "format": "date-time" - }, - "gt": { - "type": "string", - "format": "date-time" - } - }, - "type": "object", - "description": "Make all properties in T optional" - }, - "Partial_RequestResponseRMTToOperators_": { - "properties": { - "country_code": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "latency": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "cost": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "provider": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "time_to_first_token": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "status": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "request_created_at": { - "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" - }, - "response_created_at": { - "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" - }, - "model": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "user_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "organization_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "node_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "job_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "threat": { - "$ref": "#/components/schemas/Partial_BooleanOperators_" - }, - "request_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "prompt_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "completion_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "prompt_cache_read_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "prompt_cache_write_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "total_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "target_url": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "property_key": { + "response": { "properties": { - "equals": { + "model": { + "type": "string" + }, + "reasoningTokens": { + "type": "number", + "format": "double" + }, + "completionAudioTokens": { + "type": "number", + "format": "double" + }, + "promptAudioTokens": { + "type": "number", + "format": "double" + }, + "promptCacheWriteTokens": { + "type": "number", + "format": "double" + }, + "promptCacheReadTokens": { + "type": "number", + "format": "double" + }, + "completionTokens": { + "type": "number", + "format": "double" + }, + "promptTokens": { + "type": "number", + "format": "double" + }, + "cost": { + "type": "number", + "format": "double" + }, + "cachedLatency": { + "type": "number", + "format": "double" + }, + "delayMs": { + "type": "number", + "format": "double" + }, + "responseCreatedAt": { + "type": "string", + "format": "date-time" + }, + "timeToFirstToken": { + "type": "number", + "format": "double" + }, + "bodySize": { + "type": "number", + "format": "double" + }, + "status": { + "type": "number", + "format": "double" + }, + "id": { "type": "string" } }, "required": [ - "equals" + "delayMs", + "responseCreatedAt", + "bodySize", + "status", + "id" ], "type": "object" }, - "properties": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "type": "object" - }, - "search_properties": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "type": "object" - }, - "scores": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "request": { + "properties": { + "requestReferrer": { + "type": "string" + }, + "cacheReferenceId": { + "type": "string" + }, + "cacheControl": { + "type": "string" + }, + "cacheBucketMaxSize": { + "type": "number", + "format": "double" + }, + "cacheSeed": { + "type": "number", + "format": "double" + }, + "cacheEnabled": { + "type": "boolean" + }, + "experimentRowIndex": { + "type": "string" + }, + "experimentColumnId": { + "type": "string" + }, + "heliconeTemplate": { + "$ref": "#/components/schemas/TemplateWithInputs" + }, + "isStream": { + "type": "boolean" + }, + "requestCreatedAt": { + "type": "string", + "format": "date-time" + }, + "countryCode": { + "type": "string" + }, + "threat": { + "type": "boolean" + }, + "path": { + "type": "string" + }, + "bodySize": { + "type": "number", + "format": "double" + }, + "provider": { + "$ref": "#/components/schemas/Provider" + }, + "targetUrl": { + "type": "string" + }, + "heliconeProxyKeyId": { + "type": "string" + }, + "heliconeApiKeyId": { + "type": "number", + "format": "double" + }, + "properties": { + "$ref": "#/components/schemas/Record_string.string_" + }, + "promptVersion": { + "type": "string" + }, + "promptId": { + "type": "string" + }, + "userId": { + "type": "string" + }, + "id": { + "type": "string" + } }, + "required": [ + "isStream", + "requestCreatedAt", + "path", + "bodySize", + "provider", + "targetUrl", + "properties", + "userId", + "id" + ], "type": "object" + } + }, + "required": [ + "response", + "request" + ], + "type": "object" + }, + "KafkaMessageContents": { + "properties": { + "log": { + "$ref": "#/components/schemas/Log" }, - "scores_column": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "request_body": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "response_body": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "cache_enabled": { - "$ref": "#/components/schemas/Partial_BooleanOperators_" - }, - "cache_reference_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "cached": { - "$ref": "#/components/schemas/Partial_BooleanOperators_" - }, - "assets": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "helicone-score-feedback": { - "$ref": "#/components/schemas/Partial_BooleanOperators_" - }, - "prompt_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "prompt_version": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "request_referrer": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "heliconeMeta": { + "$ref": "#/components/schemas/HeliconeMeta" }, - "is_passthrough_billing": { - "$ref": "#/components/schemas/Partial_BooleanOperators_" + "authorization": { + "type": "string" + } + }, + "required": [ + "log", + "heliconeMeta", + "authorization" + ], + "type": "object" + }, + "ResultSuccess_any_": { + "properties": { + "data": {}, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, + "required": [ + "data", + "error" + ], "type": "object", - "description": "Make all properties in T optional" + "additionalProperties": false + }, + "KeyPermissions": { + "type": "string", + "enum": [ + "w", + "rw" + ] }, - "Partial_SessionsRequestResponseRMTToOperators_": { + "GenerateHashQueryParams": { "properties": { - "session_session_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "session_session_name": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "session_total_cost": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "session_total_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "session_prompt_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "session_completion_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "session_total_requests": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "apiKey": { + "type": "string" }, - "session_created_at": { - "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" + "governance": { + "type": "boolean" }, - "session_latest_request_created_at": { - "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" + "keyName": { + "type": "string" }, - "session_tag": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "permissions": { + "$ref": "#/components/schemas/KeyPermissions" } }, + "required": [ + "apiKey", + "governance", + "keyName", + "permissions" + ], "type": "object", - "description": "Make all properties in T optional" + "additionalProperties": false }, - "Pick_FilterLeaf.feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_": { + "StoreFilterType": { "properties": { - "request": { - "$ref": "#/components/schemas/Partial_RequestTableToOperators_" - }, - "values": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "type": "object" - }, - "feedback": { - "$ref": "#/components/schemas/Partial_FeedbackTableToOperators_" + "createdAt": { + "type": "string" }, - "response": { - "$ref": "#/components/schemas/Partial_ResponseTableToOperators_" + "filter": {}, + "name": { + "type": "string" }, - "properties": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "id": { + "type": "string" + } + }, + "required": [ + "filter", + "name" + ], + "type": "object" + }, + "ResultSuccess_StoreFilterType-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/StoreFilterType" }, - "type": "object" - }, - "request_response_rmt": { - "$ref": "#/components/schemas/Partial_RequestResponseRMTToOperators_" + "type": "array" }, - "sessions_request_response_rmt": { - "$ref": "#/components/schemas/Partial_SessionsRequestResponseRMTToOperators_" + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, + "required": [ + "data", + "error" + ], "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "FilterLeafSubset_feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_": { - "$ref": "#/components/schemas/Pick_FilterLeaf.feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_" + "additionalProperties": false }, - "RequestFilterNode": { + "Result_StoreFilterType-Array.string_": { "anyOf": [ { - "$ref": "#/components/schemas/FilterLeafSubset_feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_" - }, - { - "$ref": "#/components/schemas/RequestFilterBranch" + "$ref": "#/components/schemas/ResultSuccess_StoreFilterType-Array_" }, { - "type": "string", - "enum": [ - "all" - ] + "$ref": "#/components/schemas/ResultError_string_" } ] }, - "RequestFilterBranch": { + "ResultSuccess_StoreFilterType_": { "properties": { - "right": { - "$ref": "#/components/schemas/RequestFilterNode" + "data": { + "$ref": "#/components/schemas/StoreFilterType" }, - "operator": { - "type": "string", + "error": { + "type": "number", "enum": [ - "or", - "and" - ] - }, - "left": { - "$ref": "#/components/schemas/RequestFilterNode" + null + ], + "nullable": true } }, "required": [ - "right", - "operator", - "left" + "data", + "error" ], - "type": "object" + "type": "object", + "additionalProperties": false }, - "SortDirection": { - "type": "string", - "enum": [ - "asc", - "desc" + "Result_StoreFilterType.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_StoreFilterType_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" + } ] }, - "SortLeafRequest": { + "ChatCompletionTokenLogprob.TopLogprob": { "properties": { - "random": { - "type": "boolean", - "enum": [ - true - ], - "nullable": false - }, - "created_at": { - "$ref": "#/components/schemas/SortDirection" - }, - "cache_created_at": { - "$ref": "#/components/schemas/SortDirection" - }, - "latency": { - "$ref": "#/components/schemas/SortDirection" - }, - "last_active": { - "$ref": "#/components/schemas/SortDirection" - }, - "total_tokens": { - "$ref": "#/components/schemas/SortDirection" - }, - "completion_tokens": { - "$ref": "#/components/schemas/SortDirection" - }, - "prompt_tokens": { - "$ref": "#/components/schemas/SortDirection" - }, - "user_id": { - "$ref": "#/components/schemas/SortDirection" - }, - "body_model": { - "$ref": "#/components/schemas/SortDirection" - }, - "is_cached": { - "$ref": "#/components/schemas/SortDirection" - }, - "request_prompt": { - "$ref": "#/components/schemas/SortDirection" - }, - "response_text": { - "$ref": "#/components/schemas/SortDirection" - }, - "properties": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/SortDirection" - }, - "type": "object" + "token": { + "type": "string", + "description": "The token." }, - "values": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/SortDirection" + "bytes": { + "items": { + "type": "number", + "format": "double" }, - "type": "object" - }, - "cost": { - "$ref": "#/components/schemas/SortDirection" + "type": "array", + "nullable": true, + "description": "A list of integers representing the UTF-8 bytes representation of the token.\nUseful in instances where characters are represented by multiple tokens and\ntheir byte representations must be combined to generate the correct text\nrepresentation. Can be `null` if there is no bytes representation for the token." }, - "time_to_first_token": { - "$ref": "#/components/schemas/SortDirection" + "logprob": { + "type": "number", + "format": "double", + "description": "The log probability of this token, if it is within the top 20 most likely\ntokens. Otherwise, the value `-9999.0` is used to signify that the token is very\nunlikely." } }, + "required": [ + "token", + "bytes", + "logprob" + ], "type": "object", "additionalProperties": false }, - "RequestQueryParams": { + "ChatCompletionTokenLogprob": { "properties": { - "filter": { - "$ref": "#/components/schemas/RequestFilterNode" + "token": { + "type": "string", + "description": "The token." }, - "offset": { - "type": "number", - "format": "double" + "bytes": { + "items": { + "type": "number", + "format": "double" + }, + "type": "array", + "nullable": true, + "description": "A list of integers representing the UTF-8 bytes representation of the token.\nUseful in instances where characters are represented by multiple tokens and\ntheir byte representations must be combined to generate the correct text\nrepresentation. Can be `null` if there is no bytes representation for the token." }, - "limit": { + "logprob": { "type": "number", - "format": "double" - }, - "sort": { - "$ref": "#/components/schemas/SortLeafRequest" - }, - "isCached": { - "type": "boolean" - }, - "includeInputs": { - "type": "boolean" + "format": "double", + "description": "The log probability of this token, if it is within the top 20 most likely\ntokens. Otherwise, the value `-9999.0` is used to signify that the token is very\nunlikely." }, - "isPartOfExperiment": { - "type": "boolean" + "top_logprobs": { + "items": { + "$ref": "#/components/schemas/ChatCompletionTokenLogprob.TopLogprob" + }, + "type": "array", + "description": "List of the most likely tokens and their log probability, at this token\nposition. In rare cases, there may be fewer than the number of requested\n`top_logprobs` returned." + } + }, + "required": [ + "token", + "bytes", + "logprob", + "top_logprobs" + ], + "type": "object", + "additionalProperties": false + }, + "ChatCompletion.Choice.Logprobs": { + "description": "Log probability information for the choice.", + "properties": { + "content": { + "items": { + "$ref": "#/components/schemas/ChatCompletionTokenLogprob" + }, + "type": "array", + "nullable": true, + "description": "A list of message content tokens with log probability information." }, - "isScored": { - "type": "boolean" + "refusal": { + "items": { + "$ref": "#/components/schemas/ChatCompletionTokenLogprob" + }, + "type": "array", + "nullable": true, + "description": "A list of message refusal tokens with log probability information." } }, "required": [ - "filter" + "content", + "refusal" ], "type": "object", "additionalProperties": false }, - "ProviderName": { - "type": "string", - "enum": [ - "OPENAI", - "ANTHROPIC", - "AZURE", - "LOCAL", - "HELICONE", - "AMDBARTEK", - "ANYSCALE", - "CLOUDFLARE", - "2YFV", - "TOGETHER", - "LEMONFOX", - "FIREWORKS", - "PERPLEXITY", - "GOOGLE", - "OPENROUTER", - "WISDOMINANUTSHELL", - "GROQ", - "COHERE", - "MISTRAL", - "DEEPINFRA", - "QSTASH", - "FIRECRAWL", - "AWS", - "BEDROCK", - "DEEPSEEK", - "X", - "AVIAN", - "NEBIUS", - "NOVITA", - "OPENPIPE", - "CHUTES", - "LLAMA", - "NVIDIA", - "VERCEL", - "CEREBRAS", - "BASETEN", - "CANOPYWAVE" - ] - }, - "ModelProviderName": { - "type": "string", - "enum": [ - "baseten", - "anthropic", - "azure", - "bedrock", - "canopywave", - "cerebras", - "chutes", - "deepinfra", - "deepseek", - "fireworks", - "google-ai-studio", - "groq", - "helicone", - "mistral", - "nebius", - "novita", - "openai", - "openrouter", - "perplexity", - "vertex", - "xai" - ], - "nullable": false - }, - "Provider": { - "anyOf": [ - { - "$ref": "#/components/schemas/ProviderName" + "ChatCompletionMessage.Annotation.URLCitation": { + "description": "A URL citation when using web search.", + "properties": { + "end_index": { + "type": "number", + "format": "double", + "description": "The index of the last character of the URL citation in the message." }, - { - "$ref": "#/components/schemas/ModelProviderName" + "start_index": { + "type": "number", + "format": "double", + "description": "The index of the first character of the URL citation in the message." }, - { + "title": { "type": "string", - "enum": [ - "CUSTOM" - ] + "description": "The title of the web resource." + }, + "url": { + "type": "string", + "description": "The URL of the web resource." } - ] - }, - "LlmType": { - "type": "string", - "enum": [ - "chat", - "completion" - ] + }, + "required": [ + "end_index", + "start_index", + "title", + "url" + ], + "type": "object", + "additionalProperties": false }, - "FunctionCall": { + "ChatCompletionMessage.Annotation": { + "description": "A URL citation when using web search.", "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" + "type": { + "type": "string", + "enum": [ + "url_citation" + ], + "nullable": false, + "description": "The type of the URL citation. Always `url_citation`." }, - "arguments": { - "$ref": "#/components/schemas/Record_string.any_" + "url_citation": { + "$ref": "#/components/schemas/ChatCompletionMessage.Annotation.URLCitation", + "description": "A URL citation when using web search." } }, "required": [ - "name", - "arguments" + "type", + "url_citation" ], "type": "object", "additionalProperties": false }, - "Message": { + "ChatCompletionAudio": { + "description": "If the audio output modality is requested, this object contains data about the\naudio response from the model.\n[Learn more](https://platform.openai.com/docs/guides/audio).", "properties": { - "ending_event_id": { - "type": "string" - }, - "trigger_event_id": { - "type": "string" - }, - "start_timestamp": { - "type": "string" - }, - "annotations": { - "items": { - "properties": { - "content": { - "type": "string" - }, - "title": { - "type": "string" - }, - "url": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "url_citation" - ], - "nullable": false - } - }, - "required": [ - "title", - "url", - "type" - ], - "type": "object" - }, - "type": "array" - }, - "reasoning": { - "type": "string" - }, - "deleted": { - "type": "boolean" + "id": { + "type": "string", + "description": "Unique identifier for this audio response." }, - "contentArray": { - "items": { - "$ref": "#/components/schemas/Message" - }, - "type": "array" + "data": { + "type": "string", + "description": "Base64 encoded audio bytes generated by the model, in the format specified in\nthe request." }, - "idx": { + "expires_at": { "type": "number", - "format": "double" - }, - "detail": { - "type": "string" - }, - "filename": { - "type": "string" - }, - "file_id": { - "type": "string" - }, - "file_data": { - "type": "string" + "format": "double", + "description": "The Unix timestamp (in seconds) for when this audio response will no longer be\naccessible on the server for use in multi-turn conversations." }, - "type": { + "transcript": { "type": "string", - "enum": [ - "input_image", - "input_text", - "input_file" - ] - }, - "audio_data": { - "type": "string" - }, - "image_url": { - "type": "string" - }, - "timestamp": { - "type": "string" - }, - "tool_call_id": { - "type": "string" - }, - "tool_calls": { - "items": { - "$ref": "#/components/schemas/FunctionCall" - }, - "type": "array" - }, - "mime_type": { - "type": "string" - }, - "content": { - "type": "string" + "description": "Transcript of the audio generated by the model." + } + }, + "required": [ + "id", + "data", + "expires_at", + "transcript" + ], + "type": "object", + "additionalProperties": false + }, + "ChatCompletionMessage.FunctionCall": { + "properties": { + "arguments": { + "type": "string", + "description": "The arguments to call the function with, as generated by the model in JSON\nformat. Note that the model does not always generate valid JSON, and may\nhallucinate parameters not defined by your function schema. Validate the\narguments in your code before calling your function." }, "name": { - "type": "string" - }, - "instruction": { - "type": "string" - }, - "role": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "string", - "enum": [ - "user", - "assistant", - "system", - "developer" - ] - } - ] + "type": "string", + "description": "The name of the function to call." + } + }, + "required": [ + "arguments", + "name" + ], + "type": "object", + "additionalProperties": false, + "deprecated": true + }, + "ChatCompletionMessageFunctionToolCall.Function": { + "description": "The function that the model called.", + "properties": { + "arguments": { + "type": "string", + "description": "The arguments to call the function with, as generated by the model in JSON\nformat. Note that the model does not always generate valid JSON, and may\nhallucinate parameters not defined by your function schema. Validate the\narguments in your code before calling your function." }, + "name": { + "type": "string", + "description": "The name of the function to call." + } + }, + "required": [ + "arguments", + "name" + ], + "type": "object", + "additionalProperties": false + }, + "ChatCompletionMessageFunctionToolCall": { + "description": "A call to a function tool created by the model.", + "properties": { "id": { - "type": "string" + "type": "string", + "description": "The ID of the tool call." + }, + "function": { + "$ref": "#/components/schemas/ChatCompletionMessageFunctionToolCall.Function", + "description": "The function that the model called." }, - "_type": { + "type": { "type": "string", "enum": [ - "functionCall", - "function", - "image", - "file", - "message", - "autoInput", - "contentArray", - "audio" - ] + "function" + ], + "nullable": false, + "description": "The type of the tool. Currently, only `function` is supported." } }, "required": [ - "_type" + "id", + "function", + "type" ], - "type": "object" + "type": "object", + "additionalProperties": false }, - "Tool": { + "ChatCompletionMessageCustomToolCall.Custom": { + "description": "The custom tool that the model called.", "properties": { - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "parameters": { - "$ref": "#/components/schemas/Record_string.any_" + "input": { + "type": "string", + "description": "The input for the custom tool call generated by the model." }, - "strict": { - "type": "boolean" + "name": { + "type": "string", + "description": "The name of the custom tool to call." } }, "required": [ + "input", "name" ], "type": "object", "additionalProperties": false }, - "HeliconeEventTool": { + "ChatCompletionMessageCustomToolCall": { + "description": "A call to a custom tool created by the model.", "properties": { - "_type": { + "id": { "type": "string", - "enum": [ - "tool" - ], - "nullable": false + "description": "The ID of the tool call." }, - "toolName": { - "type": "string" + "custom": { + "$ref": "#/components/schemas/ChatCompletionMessageCustomToolCall.Custom", + "description": "The custom tool that the model called." }, - "input": {} + "type": { + "type": "string", + "enum": [ + "custom" + ], + "nullable": false, + "description": "The type of the tool. Always `custom`." + } }, "required": [ - "_type", - "toolName", - "input" + "id", + "custom", + "type" ], "type": "object", - "additionalProperties": {} + "additionalProperties": false + }, + "ChatCompletionMessageToolCall": { + "anyOf": [ + { + "$ref": "#/components/schemas/ChatCompletionMessageFunctionToolCall" + }, + { + "$ref": "#/components/schemas/ChatCompletionMessageCustomToolCall" + } + ], + "description": "A call to a function tool created by the model." }, - "HeliconeEventVectorDB": { + "ChatCompletionMessage": { + "description": "A chat completion message generated by the model.", "properties": { - "_type": { + "content": { "type": "string", - "enum": [ - "vector_db" - ], - "nullable": false + "nullable": true, + "description": "The contents of the message." }, - "operation": { + "refusal": { "type": "string", - "enum": [ - "search", - "insert", - "delete", - "update" - ] + "nullable": true, + "description": "The refusal message generated by the model." }, - "text": { - "type": "string" + "role": { + "type": "string", + "enum": [ + "assistant" + ], + "nullable": false, + "description": "The role of the author of this message." }, - "vector": { + "annotations": { "items": { - "type": "number", - "format": "double" + "$ref": "#/components/schemas/ChatCompletionMessage.Annotation" }, - "type": "array" + "type": "array", + "description": "Annotations for the message, when applicable, as when using the\n[web search tool](https://platform.openai.com/docs/guides/tools-web-search?api-mode=chat)." }, - "topK": { - "type": "number", - "format": "double" + "audio": { + "allOf": [ + { + "$ref": "#/components/schemas/ChatCompletionAudio" + } + ], + "nullable": true, + "description": "If the audio output modality is requested, this object contains data about the\naudio response from the model.\n[Learn more](https://platform.openai.com/docs/guides/audio)." }, - "filter": { - "additionalProperties": false, - "type": "object" + "function_call": { + "allOf": [ + { + "$ref": "#/components/schemas/ChatCompletionMessage.FunctionCall" + } + ], + "nullable": true, + "deprecated": true }, - "databaseName": { - "type": "string" + "tool_calls": { + "items": { + "$ref": "#/components/schemas/ChatCompletionMessageToolCall" + }, + "type": "array", + "description": "The tool calls generated by the model, such as function calls." } }, "required": [ - "_type", - "operation" + "content", + "refusal", + "role" ], "type": "object", - "additionalProperties": {} + "additionalProperties": false }, - "HeliconeEventData": { + "ChatCompletion.Choice": { "properties": { - "_type": { + "finish_reason": { "type": "string", "enum": [ - "data" + "stop", + "length", + "tool_calls", + "content_filter", + "function_call" ], - "nullable": false + "description": "The reason the model stopped generating tokens. This will be `stop` if the model\nhit a natural stop point or a provided stop sequence, `length` if the maximum\nnumber of tokens specified in the request was reached, `content_filter` if\ncontent was omitted due to a flag from our content filters, `tool_calls` if the\nmodel called a tool, or `function_call` (deprecated) if the model called a\nfunction." }, - "name": { - "type": "string" + "index": { + "type": "number", + "format": "double", + "description": "The index of the choice in the list of choices." }, - "meta": { - "$ref": "#/components/schemas/Record_string.any_" + "logprobs": { + "allOf": [ + { + "$ref": "#/components/schemas/ChatCompletion.Choice.Logprobs" + } + ], + "nullable": true, + "description": "Log probability information for the choice." + }, + "message": { + "$ref": "#/components/schemas/ChatCompletionMessage", + "description": "A chat completion message generated by the model." } }, "required": [ - "_type", - "name" + "finish_reason", + "index", + "logprobs", + "message" ], "type": "object", - "additionalProperties": {} + "additionalProperties": false }, - "LLMRequestBody": { + "CompletionUsage.CompletionTokensDetails": { + "description": "Breakdown of tokens used in a completion.", "properties": { - "llm_type": { - "$ref": "#/components/schemas/LlmType" - }, - "provider": { - "type": "string" - }, - "model": { - "type": "string" - }, - "messages": { - "items": { - "$ref": "#/components/schemas/Message" - }, - "type": "array", - "nullable": true - }, - "prompt": { - "type": "string", - "nullable": true - }, - "instructions": { - "type": "string", - "nullable": true - }, - "max_tokens": { + "accepted_prediction_tokens": { "type": "number", "format": "double", - "nullable": true + "description": "When using Predicted Outputs, the number of tokens in the prediction that\nappeared in the completion." }, - "temperature": { + "audio_tokens": { "type": "number", "format": "double", - "nullable": true + "description": "Audio input tokens generated by the model." }, - "top_p": { + "reasoning_tokens": { "type": "number", "format": "double", - "nullable": true + "description": "Tokens generated by the model for reasoning." }, - "seed": { + "rejected_prediction_tokens": { "type": "number", "format": "double", - "nullable": true - }, - "stream": { - "type": "boolean", - "nullable": true + "description": "When using Predicted Outputs, the number of tokens in the prediction that did\nnot appear in the completion. However, like reasoning tokens, these tokens are\nstill counted in the total completion tokens for purposes of billing, output,\nand context window limits." + } + }, + "type": "object", + "additionalProperties": false + }, + "CompletionUsage.PromptTokensDetails": { + "description": "Breakdown of tokens used in the prompt.", + "properties": { + "audio_tokens": { + "type": "number", + "format": "double", + "description": "Audio input tokens present in the prompt." }, - "presence_penalty": { + "cached_tokens": { "type": "number", "format": "double", - "nullable": true + "description": "Cached tokens present in the prompt." + } + }, + "type": "object", + "additionalProperties": false + }, + "CompletionUsage": { + "description": "Usage statistics for the completion request.", + "properties": { + "completion_tokens": { + "type": "number", + "format": "double", + "description": "Number of tokens in the generated completion." }, - "frequency_penalty": { + "prompt_tokens": { "type": "number", "format": "double", - "nullable": true + "description": "Number of tokens in the prompt." }, - "stop": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "string" - } - ], - "nullable": true + "total_tokens": { + "type": "number", + "format": "double", + "description": "Total number of tokens used in the request (prompt + completion)." }, - "reasoning_effort": { - "type": "string", - "enum": [ - "minimal", - "low", - "medium", - "high", - null - ], - "nullable": true + "completion_tokens_details": { + "$ref": "#/components/schemas/CompletionUsage.CompletionTokensDetails", + "description": "Breakdown of tokens used in a completion." }, - "verbosity": { + "prompt_tokens_details": { + "$ref": "#/components/schemas/CompletionUsage.PromptTokensDetails", + "description": "Breakdown of tokens used in the prompt." + } + }, + "required": [ + "completion_tokens", + "prompt_tokens", + "total_tokens" + ], + "type": "object", + "additionalProperties": false + }, + "ChatCompletion": { + "description": "Represents a chat completion response returned by model, based on the provided\ninput.", + "properties": { + "id": { "type": "string", - "enum": [ - "low", - "medium", - "high", - null - ], - "nullable": true + "description": "A unique identifier for the chat completion." }, - "tools": { + "choices": { "items": { - "$ref": "#/components/schemas/Tool" + "$ref": "#/components/schemas/ChatCompletion.Choice" }, - "type": "array" + "type": "array", + "description": "A list of chat completion choices. Can be more than one if `n` is greater\nthan 1." }, - "parallel_tool_calls": { - "type": "boolean", - "nullable": true + "created": { + "type": "number", + "format": "double", + "description": "The Unix timestamp (in seconds) of when the chat completion was created." }, - "tool_choice": { - "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "none", - "auto", - "any", - "tool" - ] - } - }, - "required": [ - "type" - ], - "type": "object" + "model": { + "type": "string", + "description": "The model used for the chat completion." }, - "response_format": { - "properties": { - "json_schema": {}, - "type": { - "type": "string" - } - }, - "required": [ - "type" + "object": { + "type": "string", + "enum": [ + "chat.completion" ], - "type": "object" - }, - "toolDetails": { - "$ref": "#/components/schemas/HeliconeEventTool" - }, - "vectorDBDetails": { - "$ref": "#/components/schemas/HeliconeEventVectorDB" - }, - "dataDetails": { - "$ref": "#/components/schemas/HeliconeEventData" - }, - "input": { - "anyOf": [ - { - "type": "string" - }, - { - "items": { - "type": "string" - }, - "type": "array" - } - ] + "nullable": false, + "description": "The object type, which is always `chat.completion`." }, - "n": { - "type": "number", - "format": "double", - "nullable": true + "service_tier": { + "type": "string", + "enum": [ + "auto", + "default", + "flex", + "scale", + "priority", + null + ], + "nullable": true, + "description": "Specifies the processing type used for serving the request.\n\n- If set to 'auto', then the request will be processed with the service tier\n configured in the Project settings. Unless otherwise configured, the Project\n will use 'default'.\n- If set to 'default', then the request will be processed with the standard\n pricing and performance for the selected model.\n- If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)' or\n 'priority', then the request will be processed with the corresponding service\n tier. [Contact sales](https://openai.com/contact-sales) to learn more about\n Priority processing.\n- When not set, the default behavior is 'auto'.\n\nWhen the `service_tier` parameter is set, the response body will include the\n`service_tier` value based on the processing mode actually used to serve the\nrequest. This response value may be different from the value set in the\nparameter." }, - "size": { - "type": "string" + "system_fingerprint": { + "type": "string", + "description": "This fingerprint represents the backend configuration that the model runs with.\n\nCan be used in conjunction with the `seed` request parameter to understand when\nbackend changes have been made that might impact determinism." }, - "quality": { - "type": "string" + "usage": { + "$ref": "#/components/schemas/CompletionUsage", + "description": "Usage statistics for the completion request." } }, + "required": [ + "id", + "choices", + "created", + "model", + "object" + ], "type": "object", "additionalProperties": false }, - "Response": { + "ResultSuccess_ChatCompletion_": { "properties": { - "contentArray": { - "items": { - "$ref": "#/components/schemas/Response" - }, - "type": "array" - }, - "detail": { - "type": "string" - }, - "filename": { - "type": "string" - }, - "file_id": { - "type": "string" - }, - "file_data": { - "type": "string" + "data": { + "$ref": "#/components/schemas/ChatCompletion" }, - "idx": { + "error": { "type": "number", - "format": "double" - }, - "audio_data": { - "type": "string" - }, - "image_url": { - "type": "string" - }, - "timestamp": { - "type": "string" - }, - "tool_call_id": { - "type": "string" - }, - "tool_calls": { - "items": { - "$ref": "#/components/schemas/FunctionCall" - }, - "type": "array" - }, - "text": { - "type": "string" - }, - "type": { - "type": "string", "enum": [ - "input_image", - "input_text", - "input_file" - ] - }, - "name": { - "type": "string" + null + ], + "nullable": true + } + }, + "required": [ + "data", + "error" + ], + "type": "object", + "additionalProperties": false + }, + "Result_ChatCompletion.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_ChatCompletion_" }, - "role": { + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "ChatCompletionContentPartText": { + "description": "Learn about\n[text inputs](https://platform.openai.com/docs/guides/text-generation).", + "properties": { + "text": { "type": "string", - "enum": [ - "user", - "assistant", - "system", - "developer" - ] - }, - "id": { - "type": "string" + "description": "The text content." }, - "_type": { + "type": { "type": "string", "enum": [ - "functionCall", - "function", - "image", - "text", - "file", - "contentArray" - ] + "text" + ], + "nullable": false, + "description": "The type of the content part." } }, "required": [ - "type", - "role", - "_type" + "text", + "type" ], - "type": "object" + "type": "object", + "additionalProperties": false }, - "LLMResponseBody": { + "ChatCompletionDeveloperMessageParam": { + "description": "Developer-provided instructions that the model should follow, regardless of\nmessages sent by the user. With o1 models and newer, `developer` messages\nreplace the previous `system` messages.", "properties": { - "dataDetailsResponse": { - "properties": { - "name": { + "content": { + "anyOf": [ + { "type": "string" }, - "_type": { - "type": "string", - "enum": [ - "data" - ], - "nullable": false - }, - "metadata": { - "properties": { - "timestamp": { - "type": "string" - } + { + "items": { + "$ref": "#/components/schemas/ChatCompletionContentPartText" }, - "additionalProperties": {}, - "required": [ - "timestamp" - ], - "type": "object" - }, - "message": { - "type": "string" - }, - "status": { - "type": "string" + "type": "array" } - }, - "additionalProperties": {}, - "required": [ - "name", - "_type", - "metadata", - "message", - "status" ], - "type": "object" + "description": "The contents of the developer message." }, - "vectorDBDetailsResponse": { - "properties": { - "_type": { - "type": "string", - "enum": [ - "vector_db" - ], - "nullable": false - }, - "metadata": { - "properties": { - "timestamp": { - "type": "string" - }, - "destination_parsed": { - "type": "boolean" - }, - "destination": { - "type": "string" - } - }, - "required": [ - "timestamp" - ], - "type": "object" - }, - "actualSimilarity": { - "type": "number", - "format": "double" - }, - "similarityThreshold": { - "type": "number", - "format": "double" - }, - "message": { - "type": "string" - }, - "status": { - "type": "string" - } - }, - "required": [ - "_type", - "metadata", - "message", - "status" + "role": { + "type": "string", + "enum": [ + "developer" ], - "type": "object" + "nullable": false, + "description": "The role of the messages author, in this case `developer`." }, - "toolDetailsResponse": { - "properties": { - "toolName": { + "name": { + "type": "string", + "description": "An optional name for the participant. Provides the model information to\ndifferentiate between participants of the same role." + } + }, + "required": [ + "content", + "role" + ], + "type": "object", + "additionalProperties": false + }, + "ChatCompletionSystemMessageParam": { + "description": "Developer-provided instructions that the model should follow, regardless of\nmessages sent by the user. With o1 models and newer, use `developer` messages\nfor this purpose instead.", + "properties": { + "content": { + "anyOf": [ + { "type": "string" }, - "_type": { - "type": "string", - "enum": [ - "tool" - ], - "nullable": false - }, - "metadata": { - "properties": { - "timestamp": { - "type": "string" - } - }, - "required": [ - "timestamp" - ], - "type": "object" - }, - "tips": { + { "items": { - "type": "string" + "$ref": "#/components/schemas/ChatCompletionContentPartText" }, "type": "array" - }, - "message": { - "type": "string" - }, - "status": { - "type": "string" } - }, - "required": [ - "toolName", - "_type", - "metadata", - "tips", - "message", - "status" ], - "type": "object" + "description": "The contents of the system message." }, - "error": { - "properties": { - "heliconeMessage": {} - }, - "required": [ - "heliconeMessage" + "role": { + "type": "string", + "enum": [ + "system" ], - "type": "object" + "nullable": false, + "description": "The role of the messages author, in this case `system`." }, - "model": { + "name": { "type": "string", - "nullable": true - }, - "instructions": { + "description": "An optional name for the participant. Provides the model information to\ndifferentiate between participants of the same role." + } + }, + "required": [ + "content", + "role" + ], + "type": "object", + "additionalProperties": false + }, + "ChatCompletionContentPartImage.ImageURL": { + "properties": { + "url": { "type": "string", - "nullable": true - }, - "responses": { - "items": { - "$ref": "#/components/schemas/Response" - }, - "type": "array", - "nullable": true + "description": "Either a URL of the image or the base64 encoded image data." }, - "messages": { - "items": { - "$ref": "#/components/schemas/Message" - }, - "type": "array", - "nullable": true + "detail": { + "type": "string", + "enum": [ + "auto", + "low", + "high" + ], + "description": "Specifies the detail level of the image. Learn more in the\n[Vision guide](https://platform.openai.com/docs/guides/vision#low-or-high-fidelity-image-understanding)." } }, - "type": "object" + "required": [ + "url" + ], + "type": "object", + "additionalProperties": false }, - "LlmSchema": { + "ChatCompletionContentPartImage": { + "description": "Learn about [image inputs](https://platform.openai.com/docs/guides/vision).", "properties": { - "request": { - "$ref": "#/components/schemas/LLMRequestBody" + "image_url": { + "$ref": "#/components/schemas/ChatCompletionContentPartImage.ImageURL" }, - "response": { - "allOf": [ - { - "$ref": "#/components/schemas/LLMResponseBody" - } + "type": { + "type": "string", + "enum": [ + "image_url" ], - "nullable": true + "nullable": false, + "description": "The type of the content part." } }, "required": [ - "request" + "image_url", + "type" ], "type": "object", "additionalProperties": false }, - "HeliconeRequest": { + "ChatCompletionContentPartInputAudio.InputAudio": { "properties": { - "response_id": { - "type": "string", - "nullable": true - }, - "response_created_at": { + "data": { "type": "string", - "nullable": true - }, - "response_body": {}, - "response_status": { - "type": "number", - "format": "double" + "description": "Base64 encoded audio data." }, - "response_model": { + "format": { "type": "string", - "nullable": true - }, - "request_id": { - "type": "string" - }, - "request_created_at": { - "type": "string" - }, - "request_body": {}, - "request_path": { - "type": "string" + "enum": [ + "wav", + "mp3" + ], + "description": "The format of the encoded audio data. Currently supports \"wav\" and \"mp3\"." + } + }, + "required": [ + "data", + "format" + ], + "type": "object", + "additionalProperties": false + }, + "ChatCompletionContentPartInputAudio": { + "description": "Learn about [audio inputs](https://platform.openai.com/docs/guides/audio).", + "properties": { + "input_audio": { + "$ref": "#/components/schemas/ChatCompletionContentPartInputAudio.InputAudio" }, - "request_user_id": { + "type": { "type": "string", - "nullable": true - }, - "request_properties": { - "allOf": [ - { - "$ref": "#/components/schemas/Record_string.string_" - } + "enum": [ + "input_audio" ], - "nullable": true - }, - "request_model": { + "nullable": false, + "description": "The type of the content part. Always `input_audio`." + } + }, + "required": [ + "input_audio", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "ChatCompletionContentPart.File.File": { + "properties": { + "file_data": { "type": "string", - "nullable": true + "description": "The base64 encoded file data, used when passing the file to the model as a\nstring." }, - "model_override": { + "file_id": { "type": "string", - "nullable": true + "description": "The ID of an uploaded file to use as input." }, - "helicone_user": { + "filename": { "type": "string", - "nullable": true - }, - "provider": { - "$ref": "#/components/schemas/Provider" - }, - "delay_ms": { - "type": "number", - "format": "double", - "nullable": true - }, - "time_to_first_token": { - "type": "number", - "format": "double", - "nullable": true + "description": "The name of the file, used when passing the file to the model as a string." + } + }, + "type": "object", + "additionalProperties": false + }, + "ChatCompletionContentPart.File": { + "description": "Learn about [file inputs](https://platform.openai.com/docs/guides/text) for text\ngeneration.", + "properties": { + "file": { + "$ref": "#/components/schemas/ChatCompletionContentPart.File.File" }, - "total_tokens": { - "type": "number", - "format": "double", - "nullable": true - }, - "prompt_tokens": { - "type": "number", - "format": "double", - "nullable": true - }, - "prompt_cache_write_tokens": { - "type": "number", - "format": "double", - "nullable": true - }, - "prompt_cache_read_tokens": { - "type": "number", - "format": "double", - "nullable": true - }, - "completion_tokens": { - "type": "number", - "format": "double", - "nullable": true - }, - "reasoning_tokens": { - "type": "number", - "format": "double", - "nullable": true - }, - "prompt_audio_tokens": { - "type": "number", - "format": "double", - "nullable": true - }, - "completion_audio_tokens": { - "type": "number", - "format": "double", - "nullable": true - }, - "cost": { - "type": "number", - "format": "double", - "nullable": true - }, - "prompt_id": { - "type": "string", - "nullable": true - }, - "prompt_version": { - "type": "string", - "nullable": true - }, - "feedback_created_at": { - "type": "string", - "nullable": true - }, - "feedback_id": { - "type": "string", - "nullable": true - }, - "feedback_rating": { - "type": "boolean", - "nullable": true - }, - "signed_body_url": { + "type": { "type": "string", - "nullable": true - }, - "llmSchema": { - "allOf": [ - { - "$ref": "#/components/schemas/LlmSchema" - } + "enum": [ + "file" ], - "nullable": true + "nullable": false, + "description": "The type of the content part. Always `file`." + } + }, + "required": [ + "file", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "ChatCompletionContentPart": { + "anyOf": [ + { + "$ref": "#/components/schemas/ChatCompletionContentPartText" }, - "country_code": { - "type": "string", - "nullable": true + { + "$ref": "#/components/schemas/ChatCompletionContentPartImage" }, - "asset_ids": { - "items": { - "type": "string" - }, - "type": "array", - "nullable": true + { + "$ref": "#/components/schemas/ChatCompletionContentPartInputAudio" }, - "asset_urls": { - "allOf": [ + { + "$ref": "#/components/schemas/ChatCompletionContentPart.File" + } + ], + "description": "Learn about\n[text inputs](https://platform.openai.com/docs/guides/text-generation)." + }, + "ChatCompletionUserMessageParam": { + "description": "Messages sent by an end user, containing prompts or additional context\ninformation.", + "properties": { + "content": { + "anyOf": [ { - "$ref": "#/components/schemas/Record_string.string_" - } - ], - "nullable": true - }, - "scores": { - "allOf": [ + "type": "string" + }, { - "$ref": "#/components/schemas/Record_string.number_" + "items": { + "$ref": "#/components/schemas/ChatCompletionContentPart" + }, + "type": "array" } ], - "nullable": true - }, - "costUSD": { - "type": "number", - "format": "double", - "nullable": true - }, - "properties": { - "$ref": "#/components/schemas/Record_string.string_" - }, - "assets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "target_url": { - "type": "string" - }, - "model": { - "type": "string" - }, - "cache_reference_id": { - "type": "string", - "nullable": true - }, - "cache_enabled": { - "type": "boolean" - }, - "updated_at": { - "type": "string" + "description": "The contents of the user message." }, - "request_referrer": { + "role": { "type": "string", - "nullable": true + "enum": [ + "user" + ], + "nullable": false, + "description": "The role of the messages author, in this case `user`." }, - "ai_gateway_body_mapping": { + "name": { "type": "string", - "nullable": true - }, - "storage_location": { - "type": "string" + "description": "An optional name for the participant. Provides the model information to\ndifferentiate between participants of the same role." } }, "required": [ - "response_id", - "response_created_at", - "response_status", - "response_model", - "request_id", - "request_created_at", - "request_body", - "request_path", - "request_user_id", - "request_properties", - "request_model", - "model_override", - "helicone_user", - "provider", - "delay_ms", - "time_to_first_token", - "total_tokens", - "prompt_tokens", - "prompt_cache_write_tokens", - "prompt_cache_read_tokens", - "completion_tokens", - "reasoning_tokens", - "prompt_audio_tokens", - "completion_audio_tokens", - "cost", - "prompt_id", - "prompt_version", - "llmSchema", - "country_code", - "asset_ids", - "asset_urls", - "scores", - "properties", - "assets", - "target_url", - "model", - "cache_reference_id", - "cache_enabled", - "ai_gateway_body_mapping" + "content", + "role" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_HeliconeRequest-Array_": { + "ChatCompletionAssistantMessageParam.Audio": { + "description": "Data about a previous audio response from the model.\n[Learn more](https://platform.openai.com/docs/guides/audio).", "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/HeliconeRequest" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true + "id": { + "type": "string", + "description": "Unique identifier for a previous audio response from the model." } }, "required": [ - "data", - "error" + "id" ], "type": "object", "additionalProperties": false }, - "Result_HeliconeRequest-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_HeliconeRequest-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess_HeliconeRequest_": { + "ChatCompletionContentPartRefusal": { "properties": { - "data": { - "$ref": "#/components/schemas/HeliconeRequest" + "refusal": { + "type": "string", + "description": "The refusal message generated by the model." }, - "error": { - "type": "number", + "type": { + "type": "string", "enum": [ - null + "refusal" ], - "nullable": true + "nullable": false, + "description": "The type of the content part." } }, "required": [ - "data", - "error" + "refusal", + "type" ], "type": "object", "additionalProperties": false }, - "Result_HeliconeRequest.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_HeliconeRequest_" + "ChatCompletionAssistantMessageParam.FunctionCall": { + "properties": { + "arguments": { + "type": "string", + "description": "The arguments to call the function with, as generated by the model in JSON\nformat. Note that the model does not always generate valid JSON, and may\nhallucinate parameters not defined by your function schema. Validate the\narguments in your code before calling your function." }, - { - "$ref": "#/components/schemas/ResultError_string_" + "name": { + "type": "string", + "description": "The name of the function to call." } - ] + }, + "required": [ + "arguments", + "name" + ], + "type": "object", + "additionalProperties": false, + "deprecated": true }, - "ResultSuccess__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null_": { + "ChatCompletionAssistantMessageParam": { + "description": "Messages sent by the model in response to user messages.", "properties": { - "data": { - "properties": { - "environment": { - "type": "string", - "nullable": true - }, - "version_id": { - "type": "string" - }, - "prompt_id": { + "role": { + "type": "string", + "enum": [ + "assistant" + ], + "nullable": false, + "description": "The role of the messages author, in this case `assistant`." + }, + "audio": { + "allOf": [ + { + "$ref": "#/components/schemas/ChatCompletionAssistantMessageParam.Audio" + } + ], + "nullable": true, + "description": "Data about a previous audio response from the model.\n[Learn more](https://platform.openai.com/docs/guides/audio)." + }, + "content": { + "anyOf": [ + { "type": "string" }, - "inputs": { - "$ref": "#/components/schemas/Record_string.any_" + { + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/ChatCompletionContentPartText" + }, + { + "$ref": "#/components/schemas/ChatCompletionContentPartRefusal" + } + ] + }, + "type": "array" } - }, - "required": [ - "environment", - "version_id", - "prompt_id", - "inputs" ], - "type": "object", - "nullable": true + "nullable": true, + "description": "The contents of the assistant message. Required unless `tool_calls` or\n`function_call` is specified." }, - "error": { - "type": "number", - "enum": [ - null + "function_call": { + "allOf": [ + { + "$ref": "#/components/schemas/ChatCompletionAssistantMessageParam.FunctionCall" + } ], - "nullable": true + "nullable": true, + "deprecated": true + }, + "name": { + "type": "string", + "description": "An optional name for the participant. Provides the model information to\ndifferentiate between participants of the same role." + }, + "refusal": { + "type": "string", + "nullable": true, + "description": "The refusal message by the assistant." + }, + "tool_calls": { + "items": { + "$ref": "#/components/schemas/ChatCompletionMessageToolCall" + }, + "type": "array", + "description": "The tool calls generated by the model, such as function calls." } }, "required": [ - "data", - "error" + "role" ], "type": "object", "additionalProperties": false }, - "Result__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "HeliconeRequestAsset": { + "ChatCompletionToolMessageParam": { "properties": { - "assetUrl": { - "type": "string" + "content": { + "anyOf": [ + { + "type": "string" + }, + { + "items": { + "$ref": "#/components/schemas/ChatCompletionContentPartText" + }, + "type": "array" + } + ], + "description": "The contents of the tool message." + }, + "role": { + "type": "string", + "enum": [ + "tool" + ], + "nullable": false, + "description": "The role of the messages author, in this case `tool`." + }, + "tool_call_id": { + "type": "string", + "description": "Tool call that this message is responding to." } }, "required": [ - "assetUrl" + "content", + "role", + "tool_call_id" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_HeliconeRequestAsset_": { + "ChatCompletionFunctionMessageParam": { "properties": { - "data": { - "$ref": "#/components/schemas/HeliconeRequestAsset" + "content": { + "type": "string", + "nullable": true, + "description": "The contents of the function message." }, - "error": { - "type": "number", + "name": { + "type": "string", + "description": "The name of the function to call." + }, + "role": { + "type": "string", "enum": [ - null + "function" ], - "nullable": true + "nullable": false, + "description": "The role of the messages author, in this case `function`." } }, "required": [ - "data", - "error" + "content", + "name", + "role" ], "type": "object", - "additionalProperties": false + "additionalProperties": false, + "deprecated": true }, - "Result_HeliconeRequestAsset.string_": { + "ChatCompletionMessageParam": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_HeliconeRequestAsset_" + "$ref": "#/components/schemas/ChatCompletionDeveloperMessageParam" }, { - "$ref": "#/components/schemas/ResultError_string_" + "$ref": "#/components/schemas/ChatCompletionSystemMessageParam" + }, + { + "$ref": "#/components/schemas/ChatCompletionUserMessageParam" + }, + { + "$ref": "#/components/schemas/ChatCompletionAssistantMessageParam" + }, + { + "$ref": "#/components/schemas/ChatCompletionToolMessageParam" + }, + { + "$ref": "#/components/schemas/ChatCompletionFunctionMessageParam" } - ] + ], + "description": "Developer-provided instructions that the model should follow, regardless of\nmessages sent by the user. With o1 models and newer, `developer` messages\nreplace the previous `system` messages." }, - "Record_string.number-or-boolean-or-undefined_": { + "FunctionParameters": { "properties": {}, - "additionalProperties": { - "anyOf": [ - { - "type": "number", - "format": "double" - }, - { - "type": "boolean" - } - ] - }, + "additionalProperties": {}, "type": "object", - "description": "Construct a type with a set of properties K of type T" - }, - "Scores": { - "$ref": "#/components/schemas/Record_string.number-or-boolean-or-undefined_" + "description": "The parameters the functions accepts, described as a JSON Schema object. See the\n[guide](https://platform.openai.com/docs/guides/function-calling) for examples,\nand the\n[JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\ndocumentation about the format.\n\nOmitting `parameters` defines a function with an empty parameter list." }, - "ScoreRequest": { + "FunctionDefinition": { "properties": { - "scores": { - "$ref": "#/components/schemas/Scores" + "name": { + "type": "string", + "description": "The name of the function to be called. Must be a-z, A-Z, 0-9, or contain\nunderscores and dashes, with a maximum length of 64." + }, + "description": { + "type": "string", + "description": "A description of what the function does, used by the model to choose when and\nhow to call the function." + }, + "parameters": { + "$ref": "#/components/schemas/FunctionParameters", + "description": "The parameters the functions accepts, described as a JSON Schema object. See the\n[guide](https://platform.openai.com/docs/guides/function-calling) for examples,\nand the\n[JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\ndocumentation about the format.\n\nOmitting `parameters` defines a function with an empty parameter list." + }, + "strict": { + "type": "boolean", + "nullable": true, + "description": "Whether to enable strict schema adherence when generating the function call. If\nset to true, the model will follow the exact schema defined in the `parameters`\nfield. Only a subset of JSON Schema is supported when `strict` is `true`. Learn\nmore about Structured Outputs in the\n[function calling guide](https://platform.openai.com/docs/guides/function-calling)." } }, "required": [ - "scores" + "name" ], "type": "object", "additionalProperties": false }, - "ResultSuccess__hasPrompts-boolean__": { + "ChatCompletionFunctionTool": { + "description": "A function tool that can be used to generate a response.", "properties": { - "data": { - "properties": { - "hasPrompts": { - "type": "boolean" - } - }, - "required": [ - "hasPrompts" - ], - "type": "object" + "function": { + "$ref": "#/components/schemas/FunctionDefinition" }, - "error": { - "type": "number", + "type": { + "type": "string", "enum": [ - null + "function" ], - "nullable": true + "nullable": false, + "description": "The type of the tool. Currently, only `function` is supported." } }, "required": [ - "data", - "error" + "function", + "type" ], "type": "object", "additionalProperties": false }, - "Result__hasPrompts-boolean_.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__hasPrompts-boolean__" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "PromptsResult": { + "ChatCompletionCustomTool.Custom.Text": { + "description": "Unconstrained free-form text.", "properties": { - "id": { - "type": "string" - }, - "user_defined_id": { - "type": "string" - }, - "description": { - "type": "string" - }, - "pretty_name": { - "type": "string" - }, - "created_at": { - "type": "string" - }, - "major_version": { - "type": "number", - "format": "double" - }, - "metadata": { - "$ref": "#/components/schemas/Record_string.any_" + "type": { + "type": "string", + "enum": [ + "text" + ], + "nullable": false, + "description": "Unconstrained text format. Always `text`." } }, "required": [ - "id", - "user_defined_id", - "description", - "pretty_name", - "created_at", - "major_version" + "type" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_PromptsResult-Array_": { + "ChatCompletionCustomTool.Custom.Grammar.Grammar": { + "description": "Your chosen grammar.", "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/PromptsResult" - }, - "type": "array" + "definition": { + "type": "string", + "description": "The grammar definition." }, - "error": { - "type": "number", + "syntax": { + "type": "string", "enum": [ - null + "lark", + "regex" ], - "nullable": true + "description": "The syntax of the grammar definition. One of `lark` or `regex`." } }, "required": [ - "data", - "error" + "definition", + "syntax" ], "type": "object", "additionalProperties": false }, - "Result_PromptsResult-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_PromptsResult-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "Partial_PromptToOperators_": { - "properties": { - "id": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "user_defined_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" - } - }, - "type": "object", - "description": "Make all properties in T optional" - }, - "Pick_FilterLeaf.prompt_v2_": { - "properties": { - "prompt_v2": { - "$ref": "#/components/schemas/Partial_PromptToOperators_" - } - }, - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "FilterLeafSubset_prompt_v2_": { - "$ref": "#/components/schemas/Pick_FilterLeaf.prompt_v2_" - }, - "PromptsFilterNode": { - "anyOf": [ - { - "$ref": "#/components/schemas/FilterLeafSubset_prompt_v2_" - }, - { - "$ref": "#/components/schemas/PromptsFilterBranch" - }, - { - "type": "string", - "enum": [ - "all" - ] - } - ] - }, - "PromptsFilterBranch": { + "ChatCompletionCustomTool.Custom.Grammar": { + "description": "A grammar defined by the user.", "properties": { - "right": { - "$ref": "#/components/schemas/PromptsFilterNode" + "grammar": { + "$ref": "#/components/schemas/ChatCompletionCustomTool.Custom.Grammar.Grammar", + "description": "Your chosen grammar." }, - "operator": { + "type": { "type": "string", "enum": [ - "or", - "and" - ] - }, - "left": { - "$ref": "#/components/schemas/PromptsFilterNode" - } - }, - "required": [ - "right", - "operator", - "left" - ], - "type": "object" - }, - "PromptsQueryParams": { - "properties": { - "filter": { - "$ref": "#/components/schemas/PromptsFilterNode" + "grammar" + ], + "nullable": false, + "description": "Grammar format. Always `grammar`." } }, "required": [ - "filter" + "grammar", + "type" ], "type": "object", "additionalProperties": false }, - "PromptResult": { + "ChatCompletionCustomTool.Custom": { + "description": "Properties of the custom tool.", "properties": { - "id": { - "type": "string" - }, - "user_defined_id": { - "type": "string" + "name": { + "type": "string", + "description": "The name of the custom tool, used to identify it in tool calls." }, "description": { - "type": "string" - }, - "pretty_name": { - "type": "string" - }, - "major_version": { - "type": "number", - "format": "double" - }, - "latest_version_id": { - "type": "string" - }, - "latest_model_used": { - "type": "string" - }, - "created_at": { - "type": "string" - }, - "last_used": { - "type": "string" - }, - "versions": { - "items": { - "type": "string" - }, - "type": "array" + "type": "string", + "description": "Optional description of the custom tool, used to provide more context." }, - "metadata": { - "$ref": "#/components/schemas/Record_string.any_" + "format": { + "anyOf": [ + { + "$ref": "#/components/schemas/ChatCompletionCustomTool.Custom.Text" + }, + { + "$ref": "#/components/schemas/ChatCompletionCustomTool.Custom.Grammar" + } + ], + "description": "The input format for the custom tool. Default is unconstrained text." } }, "required": [ - "id", - "user_defined_id", - "description", - "pretty_name", - "major_version", - "latest_version_id", - "latest_model_used", - "created_at", - "last_used", - "versions" + "name" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_PromptResult_": { + "ChatCompletionCustomTool": { + "description": "A custom tool that processes input using a specified format.", "properties": { - "data": { - "$ref": "#/components/schemas/PromptResult" + "custom": { + "$ref": "#/components/schemas/ChatCompletionCustomTool.Custom", + "description": "Properties of the custom tool." }, - "error": { - "type": "number", + "type": { + "type": "string", "enum": [ - null + "custom" ], - "nullable": true + "nullable": false, + "description": "The type of the custom tool. Always `custom`." } }, "required": [ - "data", - "error" + "custom", + "type" ], "type": "object", "additionalProperties": false }, - "Result_PromptResult.string_": { + "ChatCompletionTool": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_PromptResult_" + "$ref": "#/components/schemas/ChatCompletionFunctionTool" }, { - "$ref": "#/components/schemas/ResultError_string_" + "$ref": "#/components/schemas/ChatCompletionCustomTool" } - ] + ], + "description": "A function tool that can be used to generate a response." }, - "PromptQueryParams": { + "ChatCompletionAllowedTools": { + "description": "Constrains the tools available to the model to a pre-defined set.", "properties": { - "timeFilter": { - "properties": { - "end": { - "type": "string" - }, - "start": { - "type": "string" - } - }, - "required": [ - "end", - "start" + "mode": { + "type": "string", + "enum": [ + "auto", + "required" ], - "type": "object" + "description": "Constrains the tools available to the model to a pre-defined set.\n\n`auto` allows the model to pick from among the allowed tools and generate a\nmessage.\n\n`required` requires the model to call one or more of the allowed tools." + }, + "tools": { + "items": { + "properties": {}, + "additionalProperties": {}, + "type": "object" + }, + "type": "array", + "description": "A list of tool definitions that the model should be allowed to call.\n\nFor the Chat Completions API, the list of tool definitions might look like:\n\n```json\n[\n { \"type\": \"function\", \"function\": { \"name\": \"get_weather\" } },\n { \"type\": \"function\", \"function\": { \"name\": \"get_time\" } }\n]\n```" } }, "required": [ - "timeFilter" + "mode", + "tools" ], "type": "object", "additionalProperties": false }, - "CreatePromptResponse": { + "ChatCompletionAllowedToolChoice": { + "description": "Constrains the tools available to the model to a pre-defined set.", "properties": { - "id": { - "type": "string" + "allowed_tools": { + "$ref": "#/components/schemas/ChatCompletionAllowedTools", + "description": "Constrains the tools available to the model to a pre-defined set." }, - "prompt_version_id": { - "type": "string" + "type": { + "type": "string", + "enum": [ + "allowed_tools" + ], + "nullable": false, + "description": "Allowed tool configuration type. Always `allowed_tools`." } }, "required": [ - "id", - "prompt_version_id" + "allowed_tools", + "type" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_CreatePromptResponse_": { + "ChatCompletionNamedToolChoice.Function": { "properties": { - "data": { - "$ref": "#/components/schemas/CreatePromptResponse" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true + "name": { + "type": "string", + "description": "The name of the function to call." } }, "required": [ - "data", - "error" + "name" ], "type": "object", "additionalProperties": false }, - "Result_CreatePromptResponse.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_CreatePromptResponse_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess__metadata-Record_string.any___": { + "ChatCompletionNamedToolChoice": { + "description": "Specifies a tool the model should use. Use to force the model to call a specific\nfunction.", "properties": { - "data": { - "properties": { - "metadata": { - "$ref": "#/components/schemas/Record_string.any_" - } - }, - "required": [ - "metadata" - ], - "type": "object" + "function": { + "$ref": "#/components/schemas/ChatCompletionNamedToolChoice.Function" }, - "error": { - "type": "number", + "type": { + "type": "string", "enum": [ - null + "function" ], - "nullable": true + "nullable": false, + "description": "For function calling, the type is always `function`." } }, "required": [ - "data", - "error" + "function", + "type" ], "type": "object", "additionalProperties": false }, - "Result__metadata-Record_string.any__.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__metadata-Record_string.any___" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "PromptEditSubversionLabelParams": { + "ChatCompletionNamedToolChoiceCustom.Custom": { "properties": { - "label": { - "type": "string" + "name": { + "type": "string", + "description": "The name of the custom tool to call." } }, "required": [ - "label" + "name" ], "type": "object", "additionalProperties": false }, - "PromptEditSubversionTemplateParams": { + "ChatCompletionNamedToolChoiceCustom": { + "description": "Specifies a tool the model should use. Use to force the model to call a specific\ncustom tool.", "properties": { - "heliconeTemplate": {}, - "experimentId": { - "type": "string" + "custom": { + "$ref": "#/components/schemas/ChatCompletionNamedToolChoiceCustom.Custom" + }, + "type": { + "type": "string", + "enum": [ + "custom" + ], + "nullable": false, + "description": "For custom tool calling, the type is always `custom`." } }, "required": [ - "heliconeTemplate" + "custom", + "type" ], "type": "object", "additionalProperties": false }, - "PromptVersionResult": { - "properties": { - "id": { - "type": "string" - }, - "minor_version": { - "type": "number", - "format": "double" - }, - "major_version": { - "type": "number", - "format": "double" - }, - "prompt_v2": { - "type": "string" - }, - "model": { - "type": "string" - }, - "helicone_template": { - "type": "string" + "ChatCompletionToolChoiceOption": { + "anyOf": [ + { + "$ref": "#/components/schemas/ChatCompletionAllowedToolChoice" }, - "created_at": { - "type": "string" + { + "$ref": "#/components/schemas/ChatCompletionNamedToolChoice" }, - "metadata": { - "$ref": "#/components/schemas/Record_string.any_" + { + "$ref": "#/components/schemas/ChatCompletionNamedToolChoiceCustom" }, - "parent_prompt_version": { + { "type": "string", - "nullable": true + "enum": [ + "none", + "auto", + "required" + ] + } + ], + "description": "Controls which (if any) tool is called by the model. `none` means the model will\nnot call any tool and instead generates a message. `auto` means the model can\npick between generating a message or calling one or more tools. `required` means\nthe model must call one or more tools. Specifying a particular tool via\n`{\"type\": \"function\", \"function\": {\"name\": \"my_function\"}}` forces the model to\ncall that tool.\n\n`none` is the default when no tools are present. `auto` is the default if tools\nare present." + }, + "AlertResponse": { + "properties": { + "alerts": { + "items": { + "properties": { + "updated_at": { + "type": "string", + "nullable": true + }, + "time_window": { + "type": "number", + "format": "double" + }, + "time_block_duration": { + "type": "number", + "format": "double" + }, + "threshold": { + "type": "number", + "format": "double" + }, + "status": { + "type": "string" + }, + "soft_delete": { + "type": "boolean" + }, + "slack_channels": { + "items": { + "type": "string" + }, + "type": "array" + }, + "org_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "minimum_request_count": { + "type": "number", + "format": "double", + "nullable": true + }, + "metric": { + "type": "string" + }, + "id": { + "type": "string" + }, + "filter": { + "allOf": [ + { + "$ref": "#/components/schemas/Json" + } + ], + "nullable": true + }, + "emails": { + "items": { + "type": "string" + }, + "type": "array" + }, + "created_at": { + "type": "string", + "nullable": true + } + }, + "required": [ + "updated_at", + "time_window", + "time_block_duration", + "threshold", + "status", + "soft_delete", + "slack_channels", + "org_id", + "name", + "minimum_request_count", + "metric", + "id", + "filter", + "emails", + "created_at" + ], + "type": "object" + }, + "type": "array" }, - "experiment_id": { - "type": "string", - "nullable": true + "history": { + "items": { + "properties": { + "updated_at": { + "type": "string", + "nullable": true + }, + "triggered_value": { + "type": "string" + }, + "status": { + "type": "string" + }, + "soft_delete": { + "type": "boolean" + }, + "org_id": { + "type": "string" + }, + "id": { + "type": "string" + }, + "created_at": { + "type": "string", + "nullable": true + }, + "alert_start_time": { + "type": "string" + }, + "alert_name": { + "type": "string" + }, + "alert_metric": { + "type": "string" + }, + "alert_id": { + "type": "string" + }, + "alert_end_time": { + "type": "string", + "nullable": true + } + }, + "required": [ + "updated_at", + "triggered_value", + "status", + "soft_delete", + "org_id", + "id", + "created_at", + "alert_start_time", + "alert_name", + "alert_metric", + "alert_id", + "alert_end_time" + ], + "type": "object" + }, + "type": "array" }, - "updated_at": { - "type": "string" + "historyTotalCount": { + "type": "number", + "format": "double" } }, "required": [ - "id", - "minor_version", - "major_version", - "prompt_v2", - "model", - "helicone_template", - "created_at", - "metadata" + "alerts", + "history", + "historyTotalCount" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_PromptVersionResult_": { + "ResultSuccess_AlertResponse_": { "properties": { "data": { - "$ref": "#/components/schemas/PromptVersionResult" + "$ref": "#/components/schemas/AlertResponse" }, "error": { "type": "number", @@ -6044,141 +4969,507 @@ "type": "object", "additionalProperties": false }, - "Result_PromptVersionResult.string_": { + "Result_AlertResponse.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_PromptVersionResult_" + "$ref": "#/components/schemas/ResultSuccess_AlertResponse_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "PromptCreateSubversionParams": { - "properties": { - "newHeliconeTemplate": {}, - "isMajorVersion": { - "type": "boolean" - }, - "metadata": { - "$ref": "#/components/schemas/Record_string.any_" - }, - "experimentId": { - "type": "string" + "AlertMetric": { + "type": "string", + "enum": [ + "response.status", + "cost", + "latency", + "total_tokens", + "prompt_tokens", + "completion_tokens", + "prompt_cache_read_tokens", + "prompt_cache_write_tokens", + "count" + ] + }, + "AlertAggregation": { + "type": "string", + "enum": [ + "sum", + "avg", + "min", + "max", + "percentile" + ] + }, + "AlertStandardGrouping": { + "type": "string", + "enum": [ + "user", + "model", + "provider" + ] + }, + "AlertGrouping": { + "anyOf": [ + { + "$ref": "#/components/schemas/AlertStandardGrouping" }, - "bumpForMajorPromptVersionId": { + { "type": "string" } - }, - "required": [ - "newHeliconeTemplate" - ], - "type": "object", - "additionalProperties": false + ] }, - "PromptInputRecord": { + "AllExpression": { + "description": "Matches all records (no filtering)", "properties": { - "id": { - "type": "string" + "type": { + "type": "string", + "enum": [ + "all" + ], + "nullable": false + } + }, + "required": [ + "type" + ], + "type": "object", + "additionalProperties": false + }, + "FilterSubType": { + "type": "string", + "enum": [ + "property", + "score", + "sessions", + "user" + ] + }, + "BaseFieldSpec": { + "description": "Type for the field specification in a condition\nDescribes what field is being filtered and how", + "properties": { + "subtype": { + "$ref": "#/components/schemas/FilterSubType" }, - "inputs": { - "$ref": "#/components/schemas/Record_string.string_" + "valueMode": { + "type": "string", + "enum": [ + "value", + "key" + ] }, - "dataset_row_id": { + "key": { "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "FieldSpec": { + "anyOf": [ + { + "allOf": [ + { + "$ref": "#/components/schemas/BaseFieldSpec" + }, + { + "properties": { + "column": { + "type": "string", + "enum": [ + "latency", + "prompt_tokens", + "completion_tokens", + "prompt_cache_read_tokens", + "prompt_cache_write_tokens", + "model", + "provider", + "response_id", + "response_created_at", + "status", + "request_id", + "request_created_at", + "user_id", + "organization_id", + "proxy_key_id", + "threat", + "time_to_first_token", + "country_code", + "target_url", + "properties", + "scores", + "request_body", + "response_body", + "assets", + "updated_at" + ], + "nullable": false + }, + "table": { + "type": "string", + "enum": [ + "request_response_rmt" + ], + "nullable": false + } + }, + "required": [ + "column", + "table" + ], + "type": "object" + } + ] }, - "source_request": { - "type": "string" + { + "allOf": [ + { + "$ref": "#/components/schemas/BaseFieldSpec" + }, + { + "properties": { + "subtype": { + "type": "string", + "enum": [ + "property" + ], + "nullable": false + }, + "column": { + "type": "string" + }, + "table": { + "type": "string", + "enum": [ + "request_response_rmt" + ], + "nullable": false + } + }, + "required": [ + "subtype", + "column", + "table" + ], + "type": "object" + } + ] }, - "prompt_version": { - "type": "string" + { + "allOf": [ + { + "$ref": "#/components/schemas/BaseFieldSpec" + }, + { + "properties": { + "column": { + "type": "string", + "enum": [ + "cost", + "total_tokens", + "prompt_tokens", + "completion_tokens", + "total_requests", + "created_at", + "latest_request_created_at" + ], + "nullable": false + }, + "table": { + "type": "string", + "enum": [ + "sessions_request_response_rmt" + ], + "nullable": false + } + }, + "required": [ + "column", + "table" + ], + "type": "object" + } + ] }, - "created_at": { - "type": "string" + { + "allOf": [ + { + "$ref": "#/components/schemas/BaseFieldSpec" + }, + { + "properties": { + "column": { + "type": "string", + "enum": [ + "cost", + "user_id", + "total_requests", + "active_for", + "first_active", + "last_active", + "average_requests_per_day_active", + "average_tokens_per_request", + "total_completion_tokens", + "total_prompt_tokens" + ], + "nullable": false + }, + "table": { + "type": "string", + "enum": [ + "users_view" + ], + "nullable": false + } + }, + "required": [ + "column", + "table" + ], + "type": "object" + } + ] + } + ] + }, + "FilterOperator": { + "type": "string", + "enum": [ + "eq", + "neq", + "is", + "gt", + "gte", + "lt", + "lte", + "like", + "ilike", + "contains", + "not-contains", + "in" + ], + "description": "All supported filter operator types" + }, + "ConditionExpression": { + "description": "Single condition expression that compares a field against a value", + "properties": { + "type": { + "type": "string", + "enum": [ + "condition" + ], + "nullable": false }, - "response_body": { - "type": "string" + "field": { + "$ref": "#/components/schemas/FieldSpec" }, - "request_body": { - "type": "string" + "operator": { + "$ref": "#/components/schemas/FilterOperator" }, - "auto_prompt_inputs": { - "items": {}, - "type": "array" + "value": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number", + "format": "double" + }, + { + "type": "boolean" + } + ] } }, "required": [ - "id", - "inputs", - "source_request", - "prompt_version", - "created_at", - "auto_prompt_inputs" + "type", + "field", + "operator", + "value" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_PromptInputRecord-Array_": { + "FilterExpression": { + "anyOf": [ + { + "$ref": "#/components/schemas/AllExpression" + }, + { + "$ref": "#/components/schemas/ConditionExpression" + }, + { + "$ref": "#/components/schemas/AndExpression" + }, + { + "$ref": "#/components/schemas/OrExpression" + } + ], + "description": "Filter expression type union\nRepresents all possible filter expression types in the AST" + }, + "AndExpression": { + "description": "Logical AND of multiple expressions\nAll contained expressions must match for this to match", "properties": { - "data": { + "type": { + "type": "string", + "enum": [ + "and" + ], + "nullable": false + }, + "expressions": { "items": { - "$ref": "#/components/schemas/PromptInputRecord" + "$ref": "#/components/schemas/FilterExpression" }, "type": "array" - }, - "error": { - "type": "number", + } + }, + "required": [ + "type", + "expressions" + ], + "type": "object", + "additionalProperties": false + }, + "OrExpression": { + "description": "Logical OR of multiple expressions\nAt least one contained expression must match for this to match", + "properties": { + "type": { + "type": "string", "enum": [ - null + "or" ], - "nullable": true + "nullable": false + }, + "expressions": { + "items": { + "$ref": "#/components/schemas/FilterExpression" + }, + "type": "array" } }, "required": [ - "data", - "error" + "type", + "expressions" ], "type": "object", "additionalProperties": false }, - "Result_PromptInputRecord-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_PromptInputRecord-Array_" + "AlertRequest": { + "properties": { + "name": { + "type": "string" }, - { - "$ref": "#/components/schemas/ResultError_string_" + "metric": { + "$ref": "#/components/schemas/AlertMetric" + }, + "threshold": { + "type": "number", + "format": "double" + }, + "aggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/AlertAggregation" + } + ], + "nullable": true + }, + "percentile": { + "type": "number", + "format": "double", + "nullable": true + }, + "grouping": { + "allOf": [ + { + "$ref": "#/components/schemas/AlertGrouping" + } + ], + "nullable": true + }, + "grouping_is_property": { + "type": "boolean", + "nullable": true + }, + "time_window": { + "type": "string" + }, + "emails": { + "items": { + "type": "string" + }, + "type": "array" + }, + "slack_channels": { + "items": { + "type": "string" + }, + "type": "array" + }, + "minimum_request_count": { + "type": "number", + "format": "double" + }, + "filter": { + "allOf": [ + { + "$ref": "#/components/schemas/FilterExpression" + } + ], + "nullable": true } - ] + }, + "required": [ + "name", + "metric", + "threshold", + "aggregation", + "percentile", + "grouping", + "grouping_is_property", + "time_window", + "emails", + "slack_channels", + "filter" + ], + "type": "object", + "additionalProperties": false }, - "ResultSuccess__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array_": { + "ResultSuccess__active-boolean--created_at-string--id-number--message-string--title-string--updated_at-string_-Array_": { "properties": { "data": { "items": { "properties": { - "meta": { - "$ref": "#/components/schemas/Record_string.any_" + "updated_at": { + "type": "string" + }, + "title": { + "type": "string" }, - "dataset": { + "message": { "type": "string" }, - "num_hypotheses": { + "id": { "type": "number", "format": "double" }, "created_at": { "type": "string" }, - "id": { - "type": "string" + "active": { + "type": "boolean" } }, "required": [ - "meta", - "dataset", - "num_hypotheses", + "updated_at", + "title", + "message", + "id", "created_at", - "id" + "active" ], "type": "object" }, @@ -6199,21 +5490,71 @@ "type": "object", "additionalProperties": false }, - "Result__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array.string_": { + "Result__active-boolean--created_at-string--id-number--message-string--title-string--updated_at-string_-Array.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array_" + "$ref": "#/components/schemas/ResultSuccess__active-boolean--created_at-string--id-number--message-string--title-string--updated_at-string_-Array_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "ResultSuccess_PromptVersionResult-Array_": { + "ClickHouseTableColumn": { + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string" + }, + "default_type": { + "type": "string" + }, + "default_expression": { + "type": "string" + }, + "comment": { + "type": "string" + }, + "codec_expression": { + "type": "string" + }, + "ttl_expression": { + "type": "string" + } + }, + "required": [ + "name", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "ClickHouseTableSchema": { + "properties": { + "table_name": { + "type": "string" + }, + "columns": { + "items": { + "$ref": "#/components/schemas/ClickHouseTableColumn" + }, + "type": "array" + } + }, + "required": [ + "table_name", + "columns" + ], + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_ClickHouseTableSchema-Array_": { "properties": { "data": { "items": { - "$ref": "#/components/schemas/PromptVersionResult" + "$ref": "#/components/schemas/ClickHouseTableSchema" }, "type": "array" }, @@ -6232,133 +5573,49 @@ "type": "object", "additionalProperties": false }, - "Result_PromptVersionResult-Array.string_": { + "Result_ClickHouseTableSchema-Array.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_PromptVersionResult-Array_" + "$ref": "#/components/schemas/ResultSuccess_ClickHouseTableSchema-Array_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "Partial_PromptVersionsToOperators_": { + "ExecuteSqlResponse": { "properties": { - "minor_version": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "rowCount": { + "type": "number", + "format": "double" }, - "major_version": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "size": { + "type": "number", + "format": "double" }, - "id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "elapsedMilliseconds": { + "type": "number", + "format": "double" }, - "prompt_v2": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "rows": { + "items": { + "$ref": "#/components/schemas/Record_string.any_" + }, + "type": "array" } }, - "type": "object", - "description": "Make all properties in T optional" + "required": [ + "rowCount", + "size", + "elapsedMilliseconds", + "rows" + ], + "type": "object" }, - "Pick_FilterLeaf.prompts_versions_": { - "properties": { - "prompts_versions": { - "$ref": "#/components/schemas/Partial_PromptVersionsToOperators_" - } - }, - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "FilterLeafSubset_prompts_versions_": { - "$ref": "#/components/schemas/Pick_FilterLeaf.prompts_versions_" - }, - "PromptVersionsFilterNode": { - "anyOf": [ - { - "$ref": "#/components/schemas/FilterLeafSubset_prompts_versions_" - }, - { - "$ref": "#/components/schemas/PromptVersionsFilterBranch" - }, - { - "type": "string", - "enum": [ - "all" - ] - } - ] - }, - "PromptVersionsFilterBranch": { - "properties": { - "right": { - "$ref": "#/components/schemas/PromptVersionsFilterNode" - }, - "operator": { - "type": "string", - "enum": [ - "or", - "and" - ] - }, - "left": { - "$ref": "#/components/schemas/PromptVersionsFilterNode" - } - }, - "required": [ - "right", - "operator", - "left" - ], - "type": "object" - }, - "PromptVersionsQueryParams": { - "properties": { - "filter": { - "$ref": "#/components/schemas/PromptVersionsFilterNode" - }, - "includeExperimentVersions": { - "type": "boolean" - } - }, - "type": "object", - "additionalProperties": false - }, - "PromptVersionResultCompiled": { - "properties": { - "id": { - "type": "string" - }, - "minor_version": { - "type": "number", - "format": "double" - }, - "major_version": { - "type": "number", - "format": "double" - }, - "prompt_v2": { - "type": "string" - }, - "model": { - "type": "string" - }, - "prompt_compiled": {} - }, - "required": [ - "id", - "minor_version", - "major_version", - "prompt_v2", - "model", - "prompt_compiled" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_PromptVersionResultCompiled_": { + "ResultSuccess_ExecuteSqlResponse_": { "properties": { "data": { - "$ref": "#/components/schemas/PromptVersionResultCompiled" + "$ref": "#/components/schemas/ExecuteSqlResponse" }, "error": { "type": "number", @@ -6375,70 +5632,67 @@ "type": "object", "additionalProperties": false }, - "Result_PromptVersionResultCompiled.string_": { + "Result_ExecuteSqlResponse.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_PromptVersionResultCompiled_" + "$ref": "#/components/schemas/ResultSuccess_ExecuteSqlResponse_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "PromptVersiosQueryParamsCompiled": { + "ExecuteSqlRequest": { "properties": { - "filter": { - "$ref": "#/components/schemas/PromptVersionsFilterNode" - }, - "includeExperimentVersions": { - "type": "boolean" - }, - "inputs": { - "$ref": "#/components/schemas/Record_string.string_" + "sql": { + "type": "string" } }, "required": [ - "inputs" + "sql" ], "type": "object", "additionalProperties": false }, - "PromptVersionResultFilled": { + "HqlSavedQuery": { "properties": { "id": { "type": "string" }, - "minor_version": { - "type": "number", - "format": "double" + "organization_id": { + "type": "string" }, - "major_version": { - "type": "number", - "format": "double" + "name": { + "type": "string" }, - "prompt_v2": { + "sql": { "type": "string" }, - "model": { + "created_at": { "type": "string" }, - "filled_helicone_template": {} + "updated_at": { + "type": "string" + } }, "required": [ "id", - "minor_version", - "major_version", - "prompt_v2", - "model", - "filled_helicone_template" + "organization_id", + "name", + "sql", + "created_at", + "updated_at" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_PromptVersionResultFilled_": { + "ResultSuccess_Array_HqlSavedQuery__": { "properties": { "data": { - "$ref": "#/components/schemas/PromptVersionResultFilled" + "items": { + "$ref": "#/components/schemas/HqlSavedQuery" + }, + "type": "array" }, "error": { "type": "number", @@ -6455,28 +5709,25 @@ "type": "object", "additionalProperties": false }, - "Result_PromptVersionResultFilled.string_": { + "Result_Array_HqlSavedQuery_.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_PromptVersionResultFilled_" + "$ref": "#/components/schemas/ResultSuccess_Array_HqlSavedQuery__" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "ResultSuccess__experimentId-string__": { + "ResultSuccess_HqlSavedQuery-or-null_": { "properties": { "data": { - "properties": { - "experimentId": { - "type": "string" + "allOf": [ + { + "$ref": "#/components/schemas/HqlSavedQuery" } - }, - "required": [ - "experimentId" ], - "type": "object" + "nullable": true }, "error": { "type": "number", @@ -6493,61 +5744,19 @@ "type": "object", "additionalProperties": false }, - "Result__experimentId-string_.string_": { + "Result_HqlSavedQuery-or-null.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess__experimentId-string__" + "$ref": "#/components/schemas/ResultSuccess_HqlSavedQuery-or-null_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "ExperimentV2": { - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "original_prompt_version": { - "type": "string" - }, - "copied_original_prompt_version": { - "type": "string", - "nullable": true - }, - "input_keys": { - "items": { - "type": "string" - }, - "type": "array", - "nullable": true - }, - "created_at": { - "type": "string" - } - }, - "required": [ - "id", - "name", - "original_prompt_version", - "copied_original_prompt_version", - "input_keys", - "created_at" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_ExperimentV2-Array_": { + "ResultSuccess_void_": { "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/ExperimentV2" - }, - "type": "array" - }, + "data": {}, "error": { "type": "number", "enum": [ @@ -6563,128 +5772,38 @@ "type": "object", "additionalProperties": false }, - "Result_ExperimentV2-Array.string_": { + "Result_void.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_ExperimentV2-Array_" + "$ref": "#/components/schemas/ResultSuccess_void_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "ExperimentV2Output": { - "properties": { - "id": { - "type": "string" - }, - "request_id": { - "type": "string" - }, - "is_original": { - "type": "boolean" - }, - "prompt_version_id": { - "type": "string" - }, - "created_at": { - "type": "string" - }, - "input_record_id": { - "type": "string" - } - }, - "required": [ - "id", - "request_id", - "is_original", - "prompt_version_id", - "created_at", - "input_record_id" - ], - "type": "object", - "additionalProperties": false - }, - "ExperimentV2Row": { + "BulkDeleteSavedQueriesRequest": { "properties": { - "id": { - "type": "string" - }, - "inputs": { - "$ref": "#/components/schemas/Record_string.string_" - }, - "prompt_version": { - "type": "string" - }, - "requests": { + "ids": { "items": { - "$ref": "#/components/schemas/ExperimentV2Output" + "type": "string" }, "type": "array" - }, - "auto_prompt_inputs": { - "items": {}, - "type": "array" } }, "required": [ - "id", - "inputs", - "prompt_version", - "requests", - "auto_prompt_inputs" + "ids" ], "type": "object", "additionalProperties": false }, - "ExtendedExperimentData": { + "ResultSuccess_HqlSavedQuery-Array_": { "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "original_prompt_version": { - "type": "string" - }, - "copied_original_prompt_version": { - "type": "string", - "nullable": true - }, - "input_keys": { - "items": { - "type": "string" - }, - "type": "array", - "nullable": true - }, - "created_at": { - "type": "string" - }, - "rows": { + "data": { "items": { - "$ref": "#/components/schemas/ExperimentV2Row" + "$ref": "#/components/schemas/HqlSavedQuery" }, "type": "array" - } - }, - "required": [ - "id", - "name", - "original_prompt_version", - "copied_original_prompt_version", - "input_keys", - "created_at", - "rows" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_ExtendedExperimentData_": { - "properties": { - "data": { - "$ref": "#/components/schemas/ExtendedExperimentData" }, "error": { "type": "number", @@ -6701,117 +5820,36 @@ "type": "object", "additionalProperties": false }, - "Result_ExtendedExperimentData.string_": { + "Result_HqlSavedQuery-Array.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_ExtendedExperimentData_" + "$ref": "#/components/schemas/ResultSuccess_HqlSavedQuery-Array_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "CreateNewPromptVersionForExperimentParams": { - "properties": { - "newHeliconeTemplate": {}, - "isMajorVersion": { - "type": "boolean" - }, - "metadata": { - "$ref": "#/components/schemas/Record_string.any_" - }, - "experimentId": { - "type": "string" - }, - "bumpForMajorPromptVersionId": { - "type": "string" - }, - "parentPromptVersionId": { - "type": "string" - } - }, - "required": [ - "newHeliconeTemplate", - "parentPromptVersionId" - ], - "type": "object", - "additionalProperties": false - }, - "ExperimentV2PromptVersion": { + "CreateSavedQueryRequest": { "properties": { - "created_at": { - "type": "string", - "nullable": true - }, - "experiment_id": { - "type": "string", - "nullable": true - }, - "helicone_template": { - "allOf": [ - { - "$ref": "#/components/schemas/Json" - } - ], - "nullable": true - }, - "id": { - "type": "string" - }, - "major_version": { - "type": "number", - "format": "double" - }, - "metadata": { - "allOf": [ - { - "$ref": "#/components/schemas/Json" - } - ], - "nullable": true - }, - "minor_version": { - "type": "number", - "format": "double" - }, - "model": { - "type": "string", - "nullable": true - }, - "organization": { + "name": { "type": "string" }, - "prompt_v2": { + "sql": { "type": "string" - }, - "soft_delete": { - "type": "boolean", - "nullable": true } }, "required": [ - "created_at", - "experiment_id", - "helicone_template", - "id", - "major_version", - "metadata", - "minor_version", - "model", - "organization", - "prompt_v2", - "soft_delete" + "name", + "sql" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_ExperimentV2PromptVersion-Array_": { + "ResultSuccess_HqlSavedQuery_": { "properties": { "data": { - "items": { - "$ref": "#/components/schemas/ExperimentV2PromptVersion" - }, - "type": "array" + "$ref": "#/components/schemas/HqlSavedQuery" }, "error": { "type": "number", @@ -6828,10 +5866,10 @@ "type": "object", "additionalProperties": false }, - "Result_ExperimentV2PromptVersion-Array.string_": { + "Result_HqlSavedQuery.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_ExperimentV2PromptVersion-Array_" + "$ref": "#/components/schemas/ResultSuccess_HqlSavedQuery_" }, { "$ref": "#/components/schemas/ResultError_string_" @@ -6868,56 +5906,32 @@ } ] }, - "ScoreV2": { - "properties": { - "valueType": { - "type": "string" - }, - "value": { - "anyOf": [ - { - "type": "number", - "format": "double" - }, - { - "type": "string", - "format": "date-time" - }, - { - "type": "string" - } - ] - }, - "max": { - "type": "number", - "format": "double" - }, - "min": { - "type": "number", - "format": "double" - } - }, - "required": [ - "valueType", - "value", - "max", - "min" - ], - "type": "object", - "additionalProperties": false - }, - "Record_string.ScoreV2_": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/ScoreV2" - }, - "type": "object", - "description": "Construct a type with a set of properties K of type T" - }, - "ResultSuccess_Record_string.ScoreV2__": { + "ResultSuccess__organization_id-string--name-string--flags-string-Array_-Array_": { "properties": { "data": { - "$ref": "#/components/schemas/Record_string.ScoreV2_" + "items": { + "properties": { + "flags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "type": "string" + }, + "organization_id": { + "type": "string" + } + }, + "required": [ + "flags", + "name", + "organization_id" + ], + "type": "object" + }, + "type": "array" }, "error": { "type": "number", @@ -6934,1803 +5948,1679 @@ "type": "object", "additionalProperties": false }, - "Result_Record_string.ScoreV2_.string_": { + "Result__organization_id-string--name-string--flags-string-Array_-Array.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_Record_string.ScoreV2__" + "$ref": "#/components/schemas/ResultSuccess__organization_id-string--name-string--flags-string-Array_-Array_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "ResultSuccess_ScoreV2-or-null_": { + "KafkaSettings": { "properties": { - "data": { - "allOf": [ - { - "$ref": "#/components/schemas/ScoreV2" - } - ], - "nullable": true - }, - "error": { + "miniBatchSize": { "type": "number", - "enum": [ - null - ], - "nullable": true + "format": "double" } }, "required": [ - "data", - "error" + "miniBatchSize" ], "type": "object", "additionalProperties": false }, - "Result_ScoreV2-or-null.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_ScoreV2-or-null_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "IntegrationCreateParams": { + "AzureExperiment": { "properties": { - "integration_name": { + "azureBaseUri": { "type": "string" }, - "settings": { - "$ref": "#/components/schemas/Json" - }, - "active": { - "type": "boolean" - } - }, - "required": [ - "integration_name" - ], - "type": "object", - "additionalProperties": false - }, - "Integration": { - "properties": { - "integration_name": { + "azureApiVersion": { "type": "string" }, - "settings": { - "$ref": "#/components/schemas/Json" - }, - "active": { - "type": "boolean" + "azureDeploymentName": { + "type": "string" }, - "id": { + "azureApiKey": { "type": "string" } }, "required": [ - "id" + "azureBaseUri", + "azureApiVersion", + "azureDeploymentName", + "azureApiKey" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_Array_Integration__": { + "ApiKey": { "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/Integration" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true + "apiKey": { + "type": "string" } }, "required": [ - "data", - "error" + "apiKey" ], "type": "object", "additionalProperties": false }, - "Result_Array_Integration_.string_": { + "Setting": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_Array_Integration__" + "$ref": "#/components/schemas/KafkaSettings" }, { - "$ref": "#/components/schemas/ResultError_string_" + "$ref": "#/components/schemas/AzureExperiment" + }, + { + "$ref": "#/components/schemas/ApiKey" } ] }, - "IntegrationUpdateParams": { + "SettingName": { + "type": "string", + "enum": [ + "kafka:dlq", + "kafka:log", + "kafka:score", + "kafka:dlq:score", + "kafka:dlq:eu", + "kafka:log:eu", + "kafka:orgs-to-dlq", + "azure:experiment", + "openai:apiKey", + "anthropic:apiKey", + "openrouter:apiKey", + "togetherai:apiKey", + "sqs:request-response-logs", + "sqs:helicone-scores", + "sqs:request-response-logs-dlq", + "sqs:helicone-scores-dlq", + "stripe:products", + "secrets:provider-keys" + ], + "nullable": false + }, + "url.URL": { + "type": "string", + "description": "The **`URL`** interface is used to parse, construct, normalize, and encode URL.\n\n[MDN Reference](https://developer.mozilla.org/docs/Web/API/URL)\n`URL` class is a global reference for `import { URL } from 'node:url'`\nhttps://nodejs.org/api/url.html#the-whatwg-url-api" + }, + "stripe.Stripe.Application": { + "description": "The Application object.", "properties": { - "integration_name": { - "type": "string" + "id": { + "type": "string", + "description": "Unique identifier for the object." }, - "settings": { - "$ref": "#/components/schemas/Json" + "object": { + "type": "string", + "enum": [ + "application" + ], + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." }, - "active": { - "type": "boolean" - } + "deleted": { + "description": "Always true for a deleted object" + }, + "name": { + "type": "string", + "nullable": true, + "description": "The name of the application." + } }, + "required": [ + "id", + "object", + "name" + ], "type": "object", "additionalProperties": false }, - "ResultSuccess_Integration_": { + "stripe.Stripe.DeletedApplication": { + "description": "The DeletedApplication object.", "properties": { - "data": { - "$ref": "#/components/schemas/Integration" + "id": { + "type": "string", + "description": "Unique identifier for the object." }, - "error": { - "type": "number", + "object": { + "type": "string", "enum": [ - null + "application" ], - "nullable": true + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." + }, + "deleted": { + "type": "boolean", + "enum": [ + true + ], + "nullable": false, + "description": "Always true for a deleted object" + }, + "name": { + "type": "string", + "nullable": true, + "description": "The name of the application." } }, "required": [ - "data", - "error" + "id", + "object", + "deleted", + "name" ], "type": "object", "additionalProperties": false }, - "Result_Integration.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_Integration_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess_Array__id-string--name-string___": { + "stripe.Stripe.Account.BusinessProfile.AnnualRevenue": { "properties": { - "data": { - "items": { - "properties": { - "name": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "name", - "id" - ], - "type": "object" - }, - "type": "array" - }, - "error": { + "amount": { "type": "number", - "enum": [ - null - ], - "nullable": true + "format": "double", + "nullable": true, + "description": "A non-negative integer representing the amount in the [smallest currency unit](https://stripe.com/currencies#zero-decimal)." + }, + "currency": { + "type": "string", + "nullable": true, + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." + }, + "fiscal_year_end": { + "type": "string", + "nullable": true, + "description": "The close-out date of the preceding fiscal year in ISO 8601 format. E.g. 2023-12-31 for the 31st of December, 2023." } }, "required": [ - "data", - "error" + "amount", + "currency", + "fiscal_year_end" ], "type": "object", "additionalProperties": false }, - "Result_Array__id-string--name-string__.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_Array__id-string--name-string___" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "TestStripeMeterEventRequest": { + "stripe.Stripe.Account.BusinessProfile.MonthlyEstimatedRevenue": { "properties": { - "event_name": { - "type": "string" + "amount": { + "type": "number", + "format": "double", + "description": "A non-negative integer representing how much to charge in the [smallest currency unit](https://stripe.com/currencies#zero-decimal)." }, - "customer_id": { - "type": "string" + "currency": { + "type": "string", + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." } }, "required": [ - "event_name", - "customer_id" + "amount", + "currency" ], "type": "object", "additionalProperties": false }, - "BodyMappingType": { - "type": "string", - "enum": [ - "OPENAI", - "NO_MAPPING", - "RESPONSES" - ] - }, - "HeliconeMeta": { + "stripe.Stripe.Address": { + "description": "The Address object.", "properties": { - "freeLimitExceeded": { - "type": "boolean" - }, - "aiGatewayBodyMapping": { - "$ref": "#/components/schemas/BodyMappingType" - }, - "providerModelId": { - "type": "string" - }, - "gatewayModel": { - "type": "string" - }, - "gatewayProvider": { - "$ref": "#/components/schemas/ModelProviderName" - }, - "isPassthroughBilling": { - "type": "boolean" - }, - "gatewayDeploymentTarget": { - "type": "string" - }, - "gatewayRouterId": { - "type": "string" - }, - "stripeCustomerId": { - "type": "string" - }, - "heliconeManualAccessKey": { - "type": "string" - }, - "promptInputs": { - "$ref": "#/components/schemas/Record_string.any_" - }, - "promptVersionId": { - "type": "string" - }, - "promptEnvironment": { - "type": "string" - }, - "promptId": { - "type": "string" - }, - "lytixHost": { - "type": "string" - }, - "lytixKey": { - "type": "string" - }, - "posthogHost": { - "type": "string" - }, - "posthogApiKey": { - "type": "string" - }, - "webhookEnabled": { - "type": "boolean" + "city": { + "type": "string", + "nullable": true, + "description": "City/District/Suburb/Town/Village." }, - "omitResponseLog": { - "type": "boolean" + "country": { + "type": "string", + "nullable": true, + "description": "2-letter country code." }, - "omitRequestLog": { - "type": "boolean" + "line1": { + "type": "string", + "nullable": true, + "description": "Address line 1 (Street address/PO Box/Company name)." }, - "modelOverride": { - "type": "string" - } - }, - "required": [ - "webhookEnabled", - "omitResponseLog", - "omitRequestLog" - ], - "type": "object" - }, - "TemplateWithInputs": { - "description": "Parses a string containing custom JSX-like tags and extracts information to produce two outputs:\n1. A version of the string with all JSX tags removed, leaving only the text content.\n2. An object representing a template with self-closing JSX tags and a separate mapping of keys to their\n corresponding text content.\n\nThe function specifically targets `` tags, which include a `key` attribute and enclosed text content.\nThese tags are transformed or removed based on the desired output structure. The process involves regular expressions\nto match and manipulate the input string to produce the outputs.\n\nParameters:\n- input: A string containing the text and JSX-like tags to be parsed.\n\nReturns:\nAn object with two properties:\n1. stringWithoutJSXTags: A string where all `` tags are removed, and only their text content remains.\n2. templateWithInputs: An object containing:\n - template: A version of the input string where `` tags are replaced with self-closing versions,\n preserving the `key` attributes but removing the text content.\n - inputs: An object mapping the `key` attributes to their corresponding text content, effectively extracting\n the data from the original tags.\n\nExample Usage:\n```ts\nconst input = `\nThe scene is Harry Potter.\njustin test`;\n\nconst expectedOutput = parseJSXString(input);\nconsole.log(expectedOutput);\n```\nThe function is useful for preprocessing strings with embedded custom JSX-like tags, extracting useful data,\nand preparing templates for further processing or rendering. It demonstrates a practical application of regular\nexpressions for text manipulation in TypeScript, specifically tailored to a custom JSX-like syntax.", - "properties": { - "template": { - "additionalProperties": false, - "type": "object" + "line2": { + "type": "string", + "nullable": true, + "description": "Address line 2 (Apartment/Suite/Unit/Building)." }, - "inputs": { - "properties": {}, - "additionalProperties": { - "type": "string" - }, - "type": "object" + "postal_code": { + "type": "string", + "nullable": true, + "description": "ZIP or postal code." }, - "autoInputs": { - "items": {}, - "type": "array" + "state": { + "type": "string", + "nullable": true, + "description": "State/County/Province/Region." } }, "required": [ - "template", - "inputs", - "autoInputs" + "city", + "country", + "line1", + "line2", + "postal_code", + "state" ], "type": "object", "additionalProperties": false }, - "Log": { + "stripe.Stripe.Account.BusinessProfile": { "properties": { - "response": { - "properties": { - "model": { - "type": "string" - }, - "reasoningTokens": { - "type": "number", - "format": "double" - }, - "completionAudioTokens": { - "type": "number", - "format": "double" - }, - "promptAudioTokens": { - "type": "number", - "format": "double" - }, - "promptCacheWriteTokens": { - "type": "number", - "format": "double" - }, - "promptCacheReadTokens": { - "type": "number", - "format": "double" - }, - "completionTokens": { - "type": "number", - "format": "double" - }, - "promptTokens": { - "type": "number", - "format": "double" - }, - "cost": { - "type": "number", - "format": "double" - }, - "cachedLatency": { - "type": "number", - "format": "double" - }, - "delayMs": { - "type": "number", - "format": "double" - }, - "responseCreatedAt": { - "type": "string", - "format": "date-time" - }, - "timeToFirstToken": { - "type": "number", - "format": "double" - }, - "bodySize": { - "type": "number", - "format": "double" - }, - "status": { - "type": "number", - "format": "double" - }, - "id": { - "type": "string" + "annual_revenue": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Account.BusinessProfile.AnnualRevenue" } - }, - "required": [ - "delayMs", - "responseCreatedAt", - "bodySize", - "status", - "id" ], - "type": "object" + "nullable": true, + "description": "The applicant's gross annual revenue for its preceding fiscal year." }, - "request": { - "properties": { - "requestReferrer": { - "type": "string" - }, - "cacheReferenceId": { - "type": "string" - }, - "cacheControl": { - "type": "string" - }, - "cacheBucketMaxSize": { - "type": "number", - "format": "double" - }, - "cacheSeed": { - "type": "number", - "format": "double" - }, - "cacheEnabled": { - "type": "boolean" - }, - "experimentRowIndex": { - "type": "string" - }, - "experimentColumnId": { - "type": "string" - }, - "heliconeTemplate": { - "$ref": "#/components/schemas/TemplateWithInputs" - }, - "isStream": { - "type": "boolean" - }, - "requestCreatedAt": { - "type": "string", - "format": "date-time" - }, - "countryCode": { - "type": "string" - }, - "threat": { - "type": "boolean" - }, - "path": { - "type": "string" - }, - "bodySize": { - "type": "number", - "format": "double" - }, - "provider": { - "$ref": "#/components/schemas/Provider" - }, - "targetUrl": { - "type": "string" - }, - "heliconeProxyKeyId": { - "type": "string" - }, - "heliconeApiKeyId": { - "type": "number", - "format": "double" - }, - "properties": { - "$ref": "#/components/schemas/Record_string.string_" - }, - "promptVersion": { - "type": "string" - }, - "promptId": { - "type": "string" - }, - "userId": { - "type": "string" - }, - "id": { - "type": "string" + "estimated_worker_count": { + "type": "number", + "format": "double", + "nullable": true, + "description": "An estimated upper bound of employees, contractors, vendors, etc. currently working for the business." + }, + "mcc": { + "type": "string", + "nullable": true, + "description": "[The merchant category code for the account](https://stripe.com/connect/setting-mcc). MCCs are used to classify businesses based on the goods or services they provide." + }, + "monthly_estimated_revenue": { + "$ref": "#/components/schemas/stripe.Stripe.Account.BusinessProfile.MonthlyEstimatedRevenue" + }, + "name": { + "type": "string", + "nullable": true, + "description": "The customer-facing business name." + }, + "product_description": { + "type": "string", + "nullable": true, + "description": "Internal-only description of the product sold or service provided by the business. It's used by Stripe for risk and underwriting purposes." + }, + "support_address": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Address" } - }, - "required": [ - "isStream", - "requestCreatedAt", - "path", - "bodySize", - "provider", - "targetUrl", - "properties", - "userId", - "id" ], - "type": "object" - } - }, - "required": [ - "response", - "request" - ], - "type": "object" - }, - "KafkaMessageContents": { - "properties": { - "log": { - "$ref": "#/components/schemas/Log" + "nullable": true, + "description": "A publicly available mailing address for sending support issues to." }, - "heliconeMeta": { - "$ref": "#/components/schemas/HeliconeMeta" + "support_email": { + "type": "string", + "nullable": true, + "description": "A publicly available email address for sending support issues to." }, - "authorization": { - "type": "string" + "support_phone": { + "type": "string", + "nullable": true, + "description": "A publicly available phone number to call with support issues." + }, + "support_url": { + "type": "string", + "nullable": true, + "description": "A publicly available website for handling support issues." + }, + "url": { + "type": "string", + "nullable": true, + "description": "The business's publicly available website." } }, "required": [ - "log", - "heliconeMeta", - "authorization" + "mcc", + "name", + "support_address", + "support_email", + "support_phone", + "support_url", + "url" ], - "type": "object" + "type": "object", + "additionalProperties": false }, - "ResultSuccess_any_": { - "properties": { - "data": {}, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false + "stripe.Stripe.Account.BusinessType": { + "type": "string", + "enum": [ + "company", + "government_entity", + "individual", + "non_profit" + ] }, - "KeyPermissions": { + "stripe.Stripe.Account.Capabilities.AcssDebitPayments": { "type": "string", "enum": [ - "w", - "rw" + "active", + "inactive", + "pending" ] }, - "GenerateHashQueryParams": { - "properties": { - "apiKey": { - "type": "string" - }, - "governance": { - "type": "boolean" - }, - "keyName": { - "type": "string" - }, - "permissions": { - "$ref": "#/components/schemas/KeyPermissions" - } - }, - "required": [ - "apiKey", - "governance", - "keyName", - "permissions" - ], - "type": "object", - "additionalProperties": false + "stripe.Stripe.Account.Capabilities.AffirmPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] }, - "StoreFilterType": { - "properties": { - "createdAt": { - "type": "string" - }, - "filter": {}, - "name": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "filter", - "name" - ], - "type": "object" + "stripe.Stripe.Account.Capabilities.AfterpayClearpayPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] }, - "ResultSuccess_StoreFilterType-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/StoreFilterType" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false + "stripe.Stripe.Account.Capabilities.AlmaPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] }, - "Result_StoreFilterType-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_StoreFilterType-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } + "stripe.Stripe.Account.Capabilities.AmazonPayPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" ] }, - "ResultSuccess_StoreFilterType_": { - "properties": { - "data": { - "$ref": "#/components/schemas/StoreFilterType" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false + "stripe.Stripe.Account.Capabilities.AuBecsDebitPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] }, - "Result_StoreFilterType.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_StoreFilterType_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } + "stripe.Stripe.Account.Capabilities.BacsDebitPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" ] }, - "ChatCompletionTokenLogprob.TopLogprob": { - "properties": { - "token": { - "type": "string", - "description": "The token." - }, - "bytes": { - "items": { - "type": "number", - "format": "double" - }, - "type": "array", - "nullable": true, - "description": "A list of integers representing the UTF-8 bytes representation of the token.\nUseful in instances where characters are represented by multiple tokens and\ntheir byte representations must be combined to generate the correct text\nrepresentation. Can be `null` if there is no bytes representation for the token." - }, - "logprob": { - "type": "number", - "format": "double", - "description": "The log probability of this token, if it is within the top 20 most likely\ntokens. Otherwise, the value `-9999.0` is used to signify that the token is very\nunlikely." - } - }, - "required": [ - "token", - "bytes", - "logprob" - ], - "type": "object", - "additionalProperties": false + "stripe.Stripe.Account.Capabilities.BancontactPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] }, - "ChatCompletionTokenLogprob": { - "properties": { - "token": { - "type": "string", - "description": "The token." - }, - "bytes": { - "items": { - "type": "number", - "format": "double" - }, - "type": "array", - "nullable": true, - "description": "A list of integers representing the UTF-8 bytes representation of the token.\nUseful in instances where characters are represented by multiple tokens and\ntheir byte representations must be combined to generate the correct text\nrepresentation. Can be `null` if there is no bytes representation for the token." - }, - "logprob": { - "type": "number", - "format": "double", - "description": "The log probability of this token, if it is within the top 20 most likely\ntokens. Otherwise, the value `-9999.0` is used to signify that the token is very\nunlikely." - }, - "top_logprobs": { - "items": { - "$ref": "#/components/schemas/ChatCompletionTokenLogprob.TopLogprob" - }, - "type": "array", - "description": "List of the most likely tokens and their log probability, at this token\nposition. In rare cases, there may be fewer than the number of requested\n`top_logprobs` returned." - } - }, - "required": [ - "token", - "bytes", - "logprob", - "top_logprobs" - ], - "type": "object", - "additionalProperties": false + "stripe.Stripe.Account.Capabilities.BankTransferPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] }, - "ChatCompletion.Choice.Logprobs": { - "description": "Log probability information for the choice.", - "properties": { - "content": { - "items": { - "$ref": "#/components/schemas/ChatCompletionTokenLogprob" - }, - "type": "array", - "nullable": true, - "description": "A list of message content tokens with log probability information." - }, - "refusal": { - "items": { - "$ref": "#/components/schemas/ChatCompletionTokenLogprob" - }, - "type": "array", - "nullable": true, - "description": "A list of message refusal tokens with log probability information." - } - }, - "required": [ - "content", - "refusal" - ], - "type": "object", - "additionalProperties": false + "stripe.Stripe.Account.Capabilities.BlikPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] }, - "ChatCompletionMessage.Annotation.URLCitation": { - "description": "A URL citation when using web search.", - "properties": { - "end_index": { - "type": "number", - "format": "double", - "description": "The index of the last character of the URL citation in the message." - }, - "start_index": { - "type": "number", - "format": "double", - "description": "The index of the first character of the URL citation in the message." - }, - "title": { - "type": "string", - "description": "The title of the web resource." - }, - "url": { - "type": "string", - "description": "The URL of the web resource." - } - }, - "required": [ - "end_index", - "start_index", - "title", - "url" - ], - "type": "object", - "additionalProperties": false + "stripe.Stripe.Account.Capabilities.BoletoPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] }, - "ChatCompletionMessage.Annotation": { - "description": "A URL citation when using web search.", - "properties": { - "type": { - "type": "string", - "enum": [ - "url_citation" - ], - "nullable": false, - "description": "The type of the URL citation. Always `url_citation`." - }, - "url_citation": { - "$ref": "#/components/schemas/ChatCompletionMessage.Annotation.URLCitation", - "description": "A URL citation when using web search." - } - }, - "required": [ - "type", - "url_citation" - ], - "type": "object", - "additionalProperties": false + "stripe.Stripe.Account.Capabilities.CardIssuing": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] }, - "ChatCompletionAudio": { - "description": "If the audio output modality is requested, this object contains data about the\naudio response from the model.\n[Learn more](https://platform.openai.com/docs/guides/audio).", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for this audio response." - }, - "data": { - "type": "string", - "description": "Base64 encoded audio bytes generated by the model, in the format specified in\nthe request." - }, - "expires_at": { - "type": "number", - "format": "double", - "description": "The Unix timestamp (in seconds) for when this audio response will no longer be\naccessible on the server for use in multi-turn conversations." - }, - "transcript": { - "type": "string", - "description": "Transcript of the audio generated by the model." - } - }, - "required": [ - "id", - "data", - "expires_at", - "transcript" - ], - "type": "object", - "additionalProperties": false + "stripe.Stripe.Account.Capabilities.CardPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] }, - "ChatCompletionMessage.FunctionCall": { - "properties": { - "arguments": { - "type": "string", - "description": "The arguments to call the function with, as generated by the model in JSON\nformat. Note that the model does not always generate valid JSON, and may\nhallucinate parameters not defined by your function schema. Validate the\narguments in your code before calling your function." - }, - "name": { - "type": "string", - "description": "The name of the function to call." - } - }, - "required": [ - "arguments", - "name" - ], - "type": "object", - "additionalProperties": false, - "deprecated": true + "stripe.Stripe.Account.Capabilities.CartesBancairesPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] }, - "ChatCompletionMessageFunctionToolCall.Function": { - "description": "The function that the model called.", - "properties": { - "arguments": { - "type": "string", - "description": "The arguments to call the function with, as generated by the model in JSON\nformat. Note that the model does not always generate valid JSON, and may\nhallucinate parameters not defined by your function schema. Validate the\narguments in your code before calling your function." - }, - "name": { - "type": "string", - "description": "The name of the function to call." - } - }, - "required": [ - "arguments", - "name" - ], - "type": "object", - "additionalProperties": false + "stripe.Stripe.Account.Capabilities.CashappPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] }, - "ChatCompletionMessageFunctionToolCall": { - "description": "A call to a function tool created by the model.", - "properties": { - "id": { - "type": "string", - "description": "The ID of the tool call." - }, - "function": { - "$ref": "#/components/schemas/ChatCompletionMessageFunctionToolCall.Function", - "description": "The function that the model called." - }, - "type": { - "type": "string", - "enum": [ - "function" - ], - "nullable": false, - "description": "The type of the tool. Currently, only `function` is supported." - } - }, - "required": [ - "id", - "function", - "type" - ], - "type": "object", - "additionalProperties": false + "stripe.Stripe.Account.Capabilities.EpsPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] }, - "ChatCompletionMessageCustomToolCall.Custom": { - "description": "The custom tool that the model called.", - "properties": { - "input": { - "type": "string", - "description": "The input for the custom tool call generated by the model." - }, - "name": { - "type": "string", - "description": "The name of the custom tool to call." - } - }, - "required": [ - "input", - "name" - ], - "type": "object", - "additionalProperties": false + "stripe.Stripe.Account.Capabilities.FpxPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] }, - "ChatCompletionMessageCustomToolCall": { - "description": "A call to a custom tool created by the model.", - "properties": { - "id": { - "type": "string", - "description": "The ID of the tool call." - }, - "custom": { - "$ref": "#/components/schemas/ChatCompletionMessageCustomToolCall.Custom", - "description": "The custom tool that the model called." - }, - "type": { - "type": "string", - "enum": [ - "custom" - ], - "nullable": false, - "description": "The type of the tool. Always `custom`." - } - }, - "required": [ - "id", - "custom", - "type" - ], - "type": "object", - "additionalProperties": false + "stripe.Stripe.Account.Capabilities.GbBankTransferPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] }, - "ChatCompletionMessageToolCall": { - "anyOf": [ - { - "$ref": "#/components/schemas/ChatCompletionMessageFunctionToolCall" - }, - { - "$ref": "#/components/schemas/ChatCompletionMessageCustomToolCall" - } - ], - "description": "A call to a function tool created by the model." + "stripe.Stripe.Account.Capabilities.GiropayPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] }, - "ChatCompletionMessage": { - "description": "A chat completion message generated by the model.", + "stripe.Stripe.Account.Capabilities.GrabpayPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] + }, + "stripe.Stripe.Account.Capabilities.IdealPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] + }, + "stripe.Stripe.Account.Capabilities.IndiaInternationalPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] + }, + "stripe.Stripe.Account.Capabilities.JcbPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] + }, + "stripe.Stripe.Account.Capabilities.JpBankTransferPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] + }, + "stripe.Stripe.Account.Capabilities.KakaoPayPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] + }, + "stripe.Stripe.Account.Capabilities.KlarnaPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] + }, + "stripe.Stripe.Account.Capabilities.KonbiniPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] + }, + "stripe.Stripe.Account.Capabilities.KrCardPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] + }, + "stripe.Stripe.Account.Capabilities.LegacyPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] + }, + "stripe.Stripe.Account.Capabilities.LinkPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] + }, + "stripe.Stripe.Account.Capabilities.MobilepayPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] + }, + "stripe.Stripe.Account.Capabilities.MultibancoPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] + }, + "stripe.Stripe.Account.Capabilities.MxBankTransferPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] + }, + "stripe.Stripe.Account.Capabilities.NaverPayPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] + }, + "stripe.Stripe.Account.Capabilities.OxxoPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] + }, + "stripe.Stripe.Account.Capabilities.P24Payments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] + }, + "stripe.Stripe.Account.Capabilities.PayByBankPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] + }, + "stripe.Stripe.Account.Capabilities.PaycoPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] + }, + "stripe.Stripe.Account.Capabilities.PaynowPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] + }, + "stripe.Stripe.Account.Capabilities.PromptpayPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] + }, + "stripe.Stripe.Account.Capabilities.RevolutPayPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] + }, + "stripe.Stripe.Account.Capabilities.SamsungPayPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] + }, + "stripe.Stripe.Account.Capabilities.SepaBankTransferPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] + }, + "stripe.Stripe.Account.Capabilities.SepaDebitPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] + }, + "stripe.Stripe.Account.Capabilities.SofortPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] + }, + "stripe.Stripe.Account.Capabilities.SwishPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] + }, + "stripe.Stripe.Account.Capabilities.TaxReportingUs1099K": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] + }, + "stripe.Stripe.Account.Capabilities.TaxReportingUs1099Misc": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] + }, + "stripe.Stripe.Account.Capabilities.Transfers": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] + }, + "stripe.Stripe.Account.Capabilities.Treasury": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] + }, + "stripe.Stripe.Account.Capabilities.TwintPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] + }, + "stripe.Stripe.Account.Capabilities.UsBankAccountAchPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] + }, + "stripe.Stripe.Account.Capabilities.UsBankTransferPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] + }, + "stripe.Stripe.Account.Capabilities.ZipPayments": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] + }, + "stripe.Stripe.Account.Capabilities": { "properties": { - "content": { - "type": "string", - "nullable": true, - "description": "The contents of the message." + "acss_debit_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.AcssDebitPayments", + "description": "The status of the Canadian pre-authorized debits payments capability of the account, or whether the account can directly process Canadian pre-authorized debits charges." }, - "refusal": { - "type": "string", - "nullable": true, - "description": "The refusal message generated by the model." + "affirm_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.AffirmPayments", + "description": "The status of the Affirm capability of the account, or whether the account can directly process Affirm charges." }, - "role": { - "type": "string", - "enum": [ - "assistant" - ], - "nullable": false, - "description": "The role of the author of this message." + "afterpay_clearpay_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.AfterpayClearpayPayments", + "description": "The status of the Afterpay Clearpay capability of the account, or whether the account can directly process Afterpay Clearpay charges." }, - "annotations": { - "items": { - "$ref": "#/components/schemas/ChatCompletionMessage.Annotation" - }, - "type": "array", - "description": "Annotations for the message, when applicable, as when using the\n[web search tool](https://platform.openai.com/docs/guides/tools-web-search?api-mode=chat)." + "alma_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.AlmaPayments", + "description": "The status of the Alma capability of the account, or whether the account can directly process Alma payments." }, - "audio": { - "allOf": [ - { - "$ref": "#/components/schemas/ChatCompletionAudio" - } - ], - "nullable": true, - "description": "If the audio output modality is requested, this object contains data about the\naudio response from the model.\n[Learn more](https://platform.openai.com/docs/guides/audio)." + "amazon_pay_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.AmazonPayPayments", + "description": "The status of the AmazonPay capability of the account, or whether the account can directly process AmazonPay payments." }, - "function_call": { - "allOf": [ - { - "$ref": "#/components/schemas/ChatCompletionMessage.FunctionCall" - } - ], - "nullable": true, - "deprecated": true + "au_becs_debit_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.AuBecsDebitPayments", + "description": "The status of the BECS Direct Debit (AU) payments capability of the account, or whether the account can directly process BECS Direct Debit (AU) charges." }, - "tool_calls": { - "items": { - "$ref": "#/components/schemas/ChatCompletionMessageToolCall" - }, - "type": "array", - "description": "The tool calls generated by the model, such as function calls." - } - }, - "required": [ - "content", - "refusal", - "role" - ], - "type": "object", - "additionalProperties": false - }, - "ChatCompletion.Choice": { - "properties": { - "finish_reason": { - "type": "string", - "enum": [ - "stop", - "length", - "tool_calls", - "content_filter", - "function_call" - ], - "description": "The reason the model stopped generating tokens. This will be `stop` if the model\nhit a natural stop point or a provided stop sequence, `length` if the maximum\nnumber of tokens specified in the request was reached, `content_filter` if\ncontent was omitted due to a flag from our content filters, `tool_calls` if the\nmodel called a tool, or `function_call` (deprecated) if the model called a\nfunction." + "bacs_debit_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.BacsDebitPayments", + "description": "The status of the Bacs Direct Debits payments capability of the account, or whether the account can directly process Bacs Direct Debits charges." }, - "index": { - "type": "number", - "format": "double", - "description": "The index of the choice in the list of choices." + "bancontact_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.BancontactPayments", + "description": "The status of the Bancontact payments capability of the account, or whether the account can directly process Bancontact charges." }, - "logprobs": { - "allOf": [ - { - "$ref": "#/components/schemas/ChatCompletion.Choice.Logprobs" - } - ], - "nullable": true, - "description": "Log probability information for the choice." + "bank_transfer_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.BankTransferPayments", + "description": "The status of the customer_balance payments capability of the account, or whether the account can directly process customer_balance charges." }, - "message": { - "$ref": "#/components/schemas/ChatCompletionMessage", - "description": "A chat completion message generated by the model." - } - }, - "required": [ - "finish_reason", - "index", - "logprobs", - "message" - ], - "type": "object", - "additionalProperties": false - }, - "CompletionUsage.CompletionTokensDetails": { - "description": "Breakdown of tokens used in a completion.", - "properties": { - "accepted_prediction_tokens": { - "type": "number", - "format": "double", - "description": "When using Predicted Outputs, the number of tokens in the prediction that\nappeared in the completion." + "blik_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.BlikPayments", + "description": "The status of the blik payments capability of the account, or whether the account can directly process blik charges." }, - "audio_tokens": { - "type": "number", - "format": "double", - "description": "Audio input tokens generated by the model." + "boleto_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.BoletoPayments", + "description": "The status of the boleto payments capability of the account, or whether the account can directly process boleto charges." }, - "reasoning_tokens": { - "type": "number", - "format": "double", - "description": "Tokens generated by the model for reasoning." + "card_issuing": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.CardIssuing", + "description": "The status of the card issuing capability of the account, or whether you can use Issuing to distribute funds on cards" }, - "rejected_prediction_tokens": { - "type": "number", - "format": "double", - "description": "When using Predicted Outputs, the number of tokens in the prediction that did\nnot appear in the completion. However, like reasoning tokens, these tokens are\nstill counted in the total completion tokens for purposes of billing, output,\nand context window limits." - } - }, - "type": "object", - "additionalProperties": false - }, - "CompletionUsage.PromptTokensDetails": { - "description": "Breakdown of tokens used in the prompt.", - "properties": { - "audio_tokens": { - "type": "number", - "format": "double", - "description": "Audio input tokens present in the prompt." + "card_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.CardPayments", + "description": "The status of the card payments capability of the account, or whether the account can directly process credit and debit card charges." }, - "cached_tokens": { - "type": "number", - "format": "double", - "description": "Cached tokens present in the prompt." - } - }, - "type": "object", - "additionalProperties": false - }, - "CompletionUsage": { - "description": "Usage statistics for the completion request.", - "properties": { - "completion_tokens": { - "type": "number", - "format": "double", - "description": "Number of tokens in the generated completion." + "cartes_bancaires_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.CartesBancairesPayments", + "description": "The status of the Cartes Bancaires payments capability of the account, or whether the account can directly process Cartes Bancaires card charges in EUR currency." }, - "prompt_tokens": { - "type": "number", - "format": "double", - "description": "Number of tokens in the prompt." + "cashapp_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.CashappPayments", + "description": "The status of the Cash App Pay capability of the account, or whether the account can directly process Cash App Pay payments." }, - "total_tokens": { - "type": "number", - "format": "double", - "description": "Total number of tokens used in the request (prompt + completion)." + "eps_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.EpsPayments", + "description": "The status of the EPS payments capability of the account, or whether the account can directly process EPS charges." }, - "completion_tokens_details": { - "$ref": "#/components/schemas/CompletionUsage.CompletionTokensDetails", - "description": "Breakdown of tokens used in a completion." + "fpx_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.FpxPayments", + "description": "The status of the FPX payments capability of the account, or whether the account can directly process FPX charges." }, - "prompt_tokens_details": { - "$ref": "#/components/schemas/CompletionUsage.PromptTokensDetails", - "description": "Breakdown of tokens used in the prompt." - } + "gb_bank_transfer_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.GbBankTransferPayments", + "description": "The status of the GB customer_balance payments (GBP currency) capability of the account, or whether the account can directly process GB customer_balance charges." + }, + "giropay_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.GiropayPayments", + "description": "The status of the giropay payments capability of the account, or whether the account can directly process giropay charges." + }, + "grabpay_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.GrabpayPayments", + "description": "The status of the GrabPay payments capability of the account, or whether the account can directly process GrabPay charges." + }, + "ideal_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.IdealPayments", + "description": "The status of the iDEAL payments capability of the account, or whether the account can directly process iDEAL charges." + }, + "india_international_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.IndiaInternationalPayments", + "description": "The status of the india_international_payments capability of the account, or whether the account can process international charges (non INR) in India." + }, + "jcb_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.JcbPayments", + "description": "The status of the JCB payments capability of the account, or whether the account (Japan only) can directly process JCB credit card charges in JPY currency." + }, + "jp_bank_transfer_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.JpBankTransferPayments", + "description": "The status of the Japanese customer_balance payments (JPY currency) capability of the account, or whether the account can directly process Japanese customer_balance charges." + }, + "kakao_pay_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.KakaoPayPayments", + "description": "The status of the KakaoPay capability of the account, or whether the account can directly process KakaoPay payments." + }, + "klarna_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.KlarnaPayments", + "description": "The status of the Klarna payments capability of the account, or whether the account can directly process Klarna charges." + }, + "konbini_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.KonbiniPayments", + "description": "The status of the konbini payments capability of the account, or whether the account can directly process konbini charges." + }, + "kr_card_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.KrCardPayments", + "description": "The status of the KrCard capability of the account, or whether the account can directly process KrCard payments." + }, + "legacy_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.LegacyPayments", + "description": "The status of the legacy payments capability of the account." + }, + "link_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.LinkPayments", + "description": "The status of the link_payments capability of the account, or whether the account can directly process Link charges." + }, + "mobilepay_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.MobilepayPayments", + "description": "The status of the MobilePay capability of the account, or whether the account can directly process MobilePay charges." + }, + "multibanco_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.MultibancoPayments", + "description": "The status of the Multibanco payments capability of the account, or whether the account can directly process Multibanco charges." + }, + "mx_bank_transfer_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.MxBankTransferPayments", + "description": "The status of the Mexican customer_balance payments (MXN currency) capability of the account, or whether the account can directly process Mexican customer_balance charges." + }, + "naver_pay_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.NaverPayPayments", + "description": "The status of the NaverPay capability of the account, or whether the account can directly process NaverPay payments." + }, + "oxxo_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.OxxoPayments", + "description": "The status of the OXXO payments capability of the account, or whether the account can directly process OXXO charges." + }, + "p24_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.P24Payments", + "description": "The status of the P24 payments capability of the account, or whether the account can directly process P24 charges." + }, + "pay_by_bank_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.PayByBankPayments", + "description": "The status of the pay_by_bank payments capability of the account, or whether the account can directly process pay_by_bank charges." + }, + "payco_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.PaycoPayments", + "description": "The status of the Payco capability of the account, or whether the account can directly process Payco payments." + }, + "paynow_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.PaynowPayments", + "description": "The status of the paynow payments capability of the account, or whether the account can directly process paynow charges." + }, + "promptpay_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.PromptpayPayments", + "description": "The status of the promptpay payments capability of the account, or whether the account can directly process promptpay charges." + }, + "revolut_pay_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.RevolutPayPayments", + "description": "The status of the RevolutPay capability of the account, or whether the account can directly process RevolutPay payments." + }, + "samsung_pay_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.SamsungPayPayments", + "description": "The status of the SamsungPay capability of the account, or whether the account can directly process SamsungPay payments." + }, + "sepa_bank_transfer_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.SepaBankTransferPayments", + "description": "The status of the SEPA customer_balance payments (EUR currency) capability of the account, or whether the account can directly process SEPA customer_balance charges." + }, + "sepa_debit_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.SepaDebitPayments", + "description": "The status of the SEPA Direct Debits payments capability of the account, or whether the account can directly process SEPA Direct Debits charges." + }, + "sofort_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.SofortPayments", + "description": "The status of the Sofort payments capability of the account, or whether the account can directly process Sofort charges." + }, + "swish_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.SwishPayments", + "description": "The status of the Swish capability of the account, or whether the account can directly process Swish payments." + }, + "tax_reporting_us_1099_k": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.TaxReportingUs1099K", + "description": "The status of the tax reporting 1099-K (US) capability of the account." + }, + "tax_reporting_us_1099_misc": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.TaxReportingUs1099Misc", + "description": "The status of the tax reporting 1099-MISC (US) capability of the account." + }, + "transfers": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.Transfers", + "description": "The status of the transfers capability of the account, or whether your platform can transfer funds to the account." + }, + "treasury": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.Treasury", + "description": "The status of the banking capability, or whether the account can have bank accounts." + }, + "twint_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.TwintPayments", + "description": "The status of the TWINT capability of the account, or whether the account can directly process TWINT charges." + }, + "us_bank_account_ach_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.UsBankAccountAchPayments", + "description": "The status of the US bank account ACH payments capability of the account, or whether the account can directly process US bank account charges." + }, + "us_bank_transfer_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.UsBankTransferPayments", + "description": "The status of the US customer_balance payments (USD currency) capability of the account, or whether the account can directly process US customer_balance charges." + }, + "zip_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.ZipPayments", + "description": "The status of the Zip capability of the account, or whether the account can directly process Zip charges." + } }, - "required": [ - "completion_tokens", - "prompt_tokens", - "total_tokens" - ], "type": "object", "additionalProperties": false }, - "ChatCompletion": { - "description": "Represents a chat completion response returned by model, based on the provided\ninput.", + "stripe.Stripe.Account.Company.AddressKana": { "properties": { - "id": { + "city": { "type": "string", - "description": "A unique identifier for the chat completion." - }, - "choices": { - "items": { - "$ref": "#/components/schemas/ChatCompletion.Choice" - }, - "type": "array", - "description": "A list of chat completion choices. Can be more than one if `n` is greater\nthan 1." + "nullable": true, + "description": "City/Ward." }, - "created": { - "type": "number", - "format": "double", - "description": "The Unix timestamp (in seconds) of when the chat completion was created." + "country": { + "type": "string", + "nullable": true, + "description": "Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2))." }, - "model": { + "line1": { "type": "string", - "description": "The model used for the chat completion." + "nullable": true, + "description": "Block/Building number." }, - "object": { + "line2": { "type": "string", - "enum": [ - "chat.completion" - ], - "nullable": false, - "description": "The object type, which is always `chat.completion`." + "nullable": true, + "description": "Building details." }, - "service_tier": { + "postal_code": { "type": "string", - "enum": [ - "auto", - "default", - "flex", - "scale", - "priority", - null - ], "nullable": true, - "description": "Specifies the processing type used for serving the request.\n\n- If set to 'auto', then the request will be processed with the service tier\n configured in the Project settings. Unless otherwise configured, the Project\n will use 'default'.\n- If set to 'default', then the request will be processed with the standard\n pricing and performance for the selected model.\n- If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)' or\n 'priority', then the request will be processed with the corresponding service\n tier. [Contact sales](https://openai.com/contact-sales) to learn more about\n Priority processing.\n- When not set, the default behavior is 'auto'.\n\nWhen the `service_tier` parameter is set, the response body will include the\n`service_tier` value based on the processing mode actually used to serve the\nrequest. This response value may be different from the value set in the\nparameter." + "description": "ZIP or postal code." }, - "system_fingerprint": { + "state": { "type": "string", - "description": "This fingerprint represents the backend configuration that the model runs with.\n\nCan be used in conjunction with the `seed` request parameter to understand when\nbackend changes have been made that might impact determinism." + "nullable": true, + "description": "Prefecture." }, - "usage": { - "$ref": "#/components/schemas/CompletionUsage", - "description": "Usage statistics for the completion request." + "town": { + "type": "string", + "nullable": true, + "description": "Town/cho-me." } }, "required": [ - "id", - "choices", - "created", - "model", - "object" + "city", + "country", + "line1", + "line2", + "postal_code", + "state", + "town" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_ChatCompletion_": { + "stripe.Stripe.Account.Company.AddressKanji": { "properties": { - "data": { - "$ref": "#/components/schemas/ChatCompletion" + "city": { + "type": "string", + "nullable": true, + "description": "City/Ward." }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_ChatCompletion.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_ChatCompletion_" + "country": { + "type": "string", + "nullable": true, + "description": "Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2))." }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ChatCompletionContentPartText": { - "description": "Learn about\n[text inputs](https://platform.openai.com/docs/guides/text-generation).", - "properties": { - "text": { + "line1": { "type": "string", - "description": "The text content." + "nullable": true, + "description": "Block/Building number." }, - "type": { + "line2": { "type": "string", - "enum": [ - "text" - ], - "nullable": false, - "description": "The type of the content part." + "nullable": true, + "description": "Building details." + }, + "postal_code": { + "type": "string", + "nullable": true, + "description": "ZIP or postal code." + }, + "state": { + "type": "string", + "nullable": true, + "description": "Prefecture." + }, + "town": { + "type": "string", + "nullable": true, + "description": "Town/cho-me." } }, "required": [ - "text", - "type" + "city", + "country", + "line1", + "line2", + "postal_code", + "state", + "town" ], "type": "object", "additionalProperties": false }, - "ChatCompletionDeveloperMessageParam": { - "description": "Developer-provided instructions that the model should follow, regardless of\nmessages sent by the user. With o1 models and newer, `developer` messages\nreplace the previous `system` messages.", + "stripe.Stripe.Account.Company.DirectorshipDeclaration": { "properties": { - "content": { - "anyOf": [ - { - "type": "string" - }, - { - "items": { - "$ref": "#/components/schemas/ChatCompletionContentPartText" - }, - "type": "array" - } - ], - "description": "The contents of the developer message." + "date": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The Unix timestamp marking when the directorship declaration attestation was made." }, - "role": { + "ip": { "type": "string", - "enum": [ - "developer" - ], - "nullable": false, - "description": "The role of the messages author, in this case `developer`." + "nullable": true, + "description": "The IP address from which the directorship declaration attestation was made." }, - "name": { + "user_agent": { "type": "string", - "description": "An optional name for the participant. Provides the model information to\ndifferentiate between participants of the same role." + "nullable": true, + "description": "The user-agent string from the browser where the directorship declaration attestation was made." } }, "required": [ - "content", - "role" + "date", + "ip", + "user_agent" ], "type": "object", "additionalProperties": false }, - "ChatCompletionSystemMessageParam": { - "description": "Developer-provided instructions that the model should follow, regardless of\nmessages sent by the user. With o1 models and newer, use `developer` messages\nfor this purpose instead.", + "stripe.Stripe.Account.Company.OwnershipDeclaration": { "properties": { - "content": { - "anyOf": [ - { - "type": "string" - }, - { - "items": { - "$ref": "#/components/schemas/ChatCompletionContentPartText" - }, - "type": "array" - } - ], - "description": "The contents of the system message." + "date": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The Unix timestamp marking when the beneficial owner attestation was made." }, - "role": { + "ip": { "type": "string", - "enum": [ - "system" - ], - "nullable": false, - "description": "The role of the messages author, in this case `system`." + "nullable": true, + "description": "The IP address from which the beneficial owner attestation was made." }, - "name": { + "user_agent": { "type": "string", - "description": "An optional name for the participant. Provides the model information to\ndifferentiate between participants of the same role." + "nullable": true, + "description": "The user-agent string from the browser where the beneficial owner attestation was made." } }, "required": [ - "content", - "role" + "date", + "ip", + "user_agent" ], "type": "object", "additionalProperties": false }, - "ChatCompletionContentPartImage.ImageURL": { + "stripe.Stripe.Account.Company.OwnershipExemptionReason": { + "type": "string", + "enum": [ + "qualified_entity_exceeds_ownership_threshold", + "qualifies_as_financial_institution" + ] + }, + "stripe.Stripe.Account.Company.Structure": { + "type": "string", + "enum": [ + "free_zone_establishment", + "free_zone_llc", + "government_instrumentality", + "governmental_unit", + "incorporated_non_profit", + "incorporated_partnership", + "limited_liability_partnership", + "llc", + "multi_member_llc", + "private_company", + "private_corporation", + "private_partnership", + "public_company", + "public_corporation", + "public_partnership", + "registered_charity", + "single_member_llc", + "sole_establishment", + "sole_proprietorship", + "tax_exempt_government_instrumentality", + "unincorporated_association", + "unincorporated_non_profit", + "unincorporated_partnership" + ] + }, + "stripe.Stripe.File": { + "description": "This object represents files hosted on Stripe's servers. You can upload\nfiles with the [create file](https://stripe.com/docs/api#create_file) request\n(for example, when uploading dispute evidence). Stripe also\ncreates files independently (for example, the results of a [Sigma scheduled\nquery](https://stripe.com/docs/api#scheduled_queries)).\n\nRelated guide: [File upload guide](https://stripe.com/docs/file-upload)", "properties": { - "url": { + "id": { "type": "string", - "description": "Either a URL of the image or the base64 encoded image data." + "description": "Unique identifier for the object." }, - "detail": { + "object": { "type": "string", "enum": [ - "auto", - "low", - "high" + "file" ], - "description": "Specifies the detail level of the image. Learn more in the\n[Vision guide](https://platform.openai.com/docs/guides/vision#low-or-high-fidelity-image-understanding)." + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." + }, + "created": { + "type": "number", + "format": "double", + "description": "Time at which the object was created. Measured in seconds since the Unix epoch." + }, + "expires_at": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The file expires and isn't available at this time in epoch seconds." + }, + "filename": { + "type": "string", + "nullable": true, + "description": "The suitable name for saving the file to a filesystem." + }, + "links": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.ApiList_stripe.Stripe.FileLink_" + } + ], + "nullable": true, + "description": "A list of [file links](https://stripe.com/docs/api#file_links) that point at this file." + }, + "purpose": { + "$ref": "#/components/schemas/stripe.Stripe.File.Purpose", + "description": "The [purpose](https://stripe.com/docs/file-upload#uploading-a-file) of the uploaded file." + }, + "size": { + "type": "number", + "format": "double", + "description": "The size of the file object in bytes." + }, + "title": { + "type": "string", + "nullable": true, + "description": "A suitable title for the document." + }, + "type": { + "type": "string", + "nullable": true, + "description": "The returned file type (for example, `csv`, `pdf`, `jpg`, or `png`)." + }, + "url": { + "type": "string", + "nullable": true, + "description": "Use your live secret API key to download the file from this URL." } }, "required": [ + "id", + "object", + "created", + "expires_at", + "filename", + "purpose", + "size", + "title", + "type", "url" ], "type": "object", "additionalProperties": false }, - "ChatCompletionContentPartImage": { - "description": "Learn about [image inputs](https://platform.openai.com/docs/guides/vision).", + "stripe.Stripe.Metadata": { + "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", + "properties": {}, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "stripe.Stripe.FileLink": { + "description": "To share the contents of a `File` object with non-Stripe users, you can\ncreate a `FileLink`. `FileLink`s contain a URL that you can use to\nretrieve the contents of the file without authentication.", "properties": { - "image_url": { - "$ref": "#/components/schemas/ChatCompletionContentPartImage.ImageURL" + "id": { + "type": "string", + "description": "Unique identifier for the object." }, - "type": { + "object": { "type": "string", "enum": [ - "image_url" + "file_link" ], "nullable": false, - "description": "The type of the content part." - } - }, - "required": [ - "image_url", - "type" - ], - "type": "object", - "additionalProperties": false - }, - "ChatCompletionContentPartInputAudio.InputAudio": { - "properties": { - "data": { - "type": "string", - "description": "Base64 encoded audio data." + "description": "String representing the object's type. Objects of the same type share the same value." }, - "format": { - "type": "string", - "enum": [ - "wav", - "mp3" + "created": { + "type": "number", + "format": "double", + "description": "Time at which the object was created. Measured in seconds since the Unix epoch." + }, + "expired": { + "type": "boolean", + "description": "Returns if the link is already expired." + }, + "expires_at": { + "type": "number", + "format": "double", + "nullable": true, + "description": "Time that the link expires." + }, + "file": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.File" + } ], - "description": "The format of the encoded audio data. Currently supports \"wav\" and \"mp3\"." - } - }, - "required": [ - "data", - "format" - ], - "type": "object", - "additionalProperties": false - }, - "ChatCompletionContentPartInputAudio": { - "description": "Learn about [audio inputs](https://platform.openai.com/docs/guides/audio).", - "properties": { - "input_audio": { - "$ref": "#/components/schemas/ChatCompletionContentPartInputAudio.InputAudio" + "description": "The file object this link points to." }, - "type": { + "livemode": { + "type": "boolean", + "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." + }, + "metadata": { + "$ref": "#/components/schemas/stripe.Stripe.Metadata", + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." + }, + "url": { "type": "string", - "enum": [ - "input_audio" - ], - "nullable": false, - "description": "The type of the content part. Always `input_audio`." + "nullable": true, + "description": "The publicly accessible URL to download the file." } }, "required": [ - "input_audio", - "type" + "id", + "object", + "created", + "expired", + "expires_at", + "file", + "livemode", + "metadata", + "url" ], "type": "object", "additionalProperties": false }, - "ChatCompletionContentPart.File.File": { + "stripe.Stripe.ApiList_stripe.Stripe.FileLink_": { + "description": "A container for paginated lists of objects.\nThe array of objects is on the `.data` property,\nand `.has_more` indicates whether there are additional objects beyond the end of this list.\n\nLearn more in Stripe's [pagination docs](https://stripe.com/docs/api/pagination?lang=node)\nor, when iterating over many items, try [auto-pagination](https://github.com/stripe/stripe-node#auto-pagination) instead.", "properties": { - "file_data": { + "object": { "type": "string", - "description": "The base64 encoded file data, used when passing the file to the model as a\nstring." + "enum": [ + "list" + ], + "nullable": false }, - "file_id": { - "type": "string", - "description": "The ID of an uploaded file to use as input." + "data": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.FileLink" + }, + "type": "array" }, - "filename": { - "type": "string", - "description": "The name of the file, used when passing the file to the model as a string." - } - }, - "type": "object", - "additionalProperties": false - }, - "ChatCompletionContentPart.File": { - "description": "Learn about [file inputs](https://platform.openai.com/docs/guides/text) for text\ngeneration.", - "properties": { - "file": { - "$ref": "#/components/schemas/ChatCompletionContentPart.File.File" + "has_more": { + "type": "boolean", + "description": "True if this list has another page of items after this one that can be fetched." }, - "type": { + "url": { "type": "string", - "enum": [ - "file" - ], - "nullable": false, - "description": "The type of the content part. Always `file`." + "description": "The URL where this list can be accessed." } }, "required": [ - "file", - "type" + "object", + "data", + "has_more", + "url" ], "type": "object", "additionalProperties": false }, - "ChatCompletionContentPart": { - "anyOf": [ - { - "$ref": "#/components/schemas/ChatCompletionContentPartText" - }, - { - "$ref": "#/components/schemas/ChatCompletionContentPartImage" - }, - { - "$ref": "#/components/schemas/ChatCompletionContentPartInputAudio" - }, - { - "$ref": "#/components/schemas/ChatCompletionContentPart.File" - } - ], - "description": "Learn about\n[text inputs](https://platform.openai.com/docs/guides/text-generation)." + "stripe.Stripe.File.Purpose": { + "type": "string", + "enum": [ + "account_requirement", + "additional_verification", + "business_icon", + "business_logo", + "customer_signature", + "dispute_evidence", + "document_provider_identity_document", + "finance_report_run", + "financial_account_statement", + "identity_document", + "identity_document_downloadable", + "issuing_regulatory_reporting", + "pci_document", + "selfie", + "sigma_scheduled_query", + "tax_document_user_upload", + "terminal_reader_splashscreen" + ] }, - "ChatCompletionUserMessageParam": { - "description": "Messages sent by an end user, containing prompts or additional context\ninformation.", + "stripe.Stripe.Account.Company.Verification.Document": { "properties": { - "content": { + "back": { "anyOf": [ { "type": "string" }, { - "items": { - "$ref": "#/components/schemas/ChatCompletionContentPart" - }, - "type": "array" + "$ref": "#/components/schemas/stripe.Stripe.File" } ], - "description": "The contents of the user message." + "nullable": true, + "description": "The back of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `additional_verification`." }, - "role": { + "details": { "type": "string", - "enum": [ - "user" - ], - "nullable": false, - "description": "The role of the messages author, in this case `user`." + "nullable": true, + "description": "A user-displayable string describing the verification state of this document." }, - "name": { - "type": "string", - "description": "An optional name for the participant. Provides the model information to\ndifferentiate between participants of the same role." - } - }, - "required": [ - "content", - "role" - ], - "type": "object", - "additionalProperties": false - }, - "ChatCompletionAssistantMessageParam.Audio": { - "description": "Data about a previous audio response from the model.\n[Learn more](https://platform.openai.com/docs/guides/audio).", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for a previous audio response from the model." - } - }, - "required": [ - "id" - ], - "type": "object", - "additionalProperties": false - }, - "ChatCompletionContentPartRefusal": { - "properties": { - "refusal": { + "details_code": { "type": "string", - "description": "The refusal message generated by the model." + "nullable": true, + "description": "One of `document_corrupt`, `document_expired`, `document_failed_copy`, `document_failed_greyscale`, `document_failed_other`, `document_failed_test_mode`, `document_fraudulent`, `document_incomplete`, `document_invalid`, `document_manipulated`, `document_not_readable`, `document_not_uploaded`, `document_type_not_supported`, or `document_too_large`. A machine-readable code specifying the verification state for this document." }, - "type": { - "type": "string", - "enum": [ - "refusal" + "front": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.File" + } ], - "nullable": false, - "description": "The type of the content part." + "nullable": true, + "description": "The front of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `additional_verification`." } }, "required": [ - "refusal", - "type" + "back", + "details", + "details_code", + "front" ], "type": "object", "additionalProperties": false }, - "ChatCompletionAssistantMessageParam.FunctionCall": { + "stripe.Stripe.Account.Company.Verification": { "properties": { - "arguments": { - "type": "string", - "description": "The arguments to call the function with, as generated by the model in JSON\nformat. Note that the model does not always generate valid JSON, and may\nhallucinate parameters not defined by your function schema. Validate the\narguments in your code before calling your function." - }, - "name": { - "type": "string", - "description": "The name of the function to call." + "document": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Company.Verification.Document" } }, "required": [ - "arguments", - "name" + "document" ], "type": "object", - "additionalProperties": false, - "deprecated": true + "additionalProperties": false }, - "ChatCompletionAssistantMessageParam": { - "description": "Messages sent by the model in response to user messages.", + "stripe.Stripe.Account.Company": { "properties": { - "role": { - "type": "string", - "enum": [ - "assistant" - ], - "nullable": false, - "description": "The role of the messages author, in this case `assistant`." + "address": { + "$ref": "#/components/schemas/stripe.Stripe.Address" }, - "audio": { + "address_kana": { "allOf": [ { - "$ref": "#/components/schemas/ChatCompletionAssistantMessageParam.Audio" + "$ref": "#/components/schemas/stripe.Stripe.Account.Company.AddressKana" } ], "nullable": true, - "description": "Data about a previous audio response from the model.\n[Learn more](https://platform.openai.com/docs/guides/audio)." + "description": "The Kana variation of the company's primary address (Japan only)." }, - "content": { - "anyOf": [ - { - "type": "string" - }, + "address_kanji": { + "allOf": [ { - "items": { - "anyOf": [ - { - "$ref": "#/components/schemas/ChatCompletionContentPartText" - }, - { - "$ref": "#/components/schemas/ChatCompletionContentPartRefusal" - } - ] - }, - "type": "array" + "$ref": "#/components/schemas/stripe.Stripe.Account.Company.AddressKanji" } ], "nullable": true, - "description": "The contents of the assistant message. Required unless `tool_calls` or\n`function_call` is specified." + "description": "The Kanji variation of the company's primary address (Japan only)." }, - "function_call": { + "directors_provided": { + "type": "boolean", + "description": "Whether the company's directors have been provided. This Boolean will be `true` if you've manually indicated that all directors are provided via [the `directors_provided` parameter](https://stripe.com/docs/api/accounts/update#update_account-company-directors_provided)." + }, + "directorship_declaration": { "allOf": [ { - "$ref": "#/components/schemas/ChatCompletionAssistantMessageParam.FunctionCall" + "$ref": "#/components/schemas/stripe.Stripe.Account.Company.DirectorshipDeclaration" } ], "nullable": true, - "deprecated": true + "description": "This hash is used to attest that the director information provided to Stripe is both current and correct." + }, + "executives_provided": { + "type": "boolean", + "description": "Whether the company's executives have been provided. This Boolean will be `true` if you've manually indicated that all executives are provided via [the `executives_provided` parameter](https://stripe.com/docs/api/accounts/update#update_account-company-executives_provided), or if Stripe determined that sufficient executives were provided." + }, + "export_license_id": { + "type": "string", + "description": "The export license ID number of the company, also referred as Import Export Code (India only)." + }, + "export_purpose_code": { + "type": "string", + "description": "The purpose code to use for export transactions (India only)." }, "name": { "type": "string", - "description": "An optional name for the participant. Provides the model information to\ndifferentiate between participants of the same role." + "nullable": true, + "description": "The company's legal name." }, - "refusal": { + "name_kana": { "type": "string", "nullable": true, - "description": "The refusal message by the assistant." + "description": "The Kana variation of the company's legal name (Japan only)." }, - "tool_calls": { - "items": { - "$ref": "#/components/schemas/ChatCompletionMessageToolCall" - }, - "type": "array", - "description": "The tool calls generated by the model, such as function calls." - } - }, - "required": [ - "role" - ], - "type": "object", - "additionalProperties": false - }, - "ChatCompletionToolMessageParam": { - "properties": { - "content": { - "anyOf": [ - { - "type": "string" - }, + "name_kanji": { + "type": "string", + "nullable": true, + "description": "The Kanji variation of the company's legal name (Japan only)." + }, + "owners_provided": { + "type": "boolean", + "description": "Whether the company's owners have been provided. This Boolean will be `true` if you've manually indicated that all owners are provided via [the `owners_provided` parameter](https://stripe.com/docs/api/accounts/update#update_account-company-owners_provided), or if Stripe determined that sufficient owners were provided. Stripe determines ownership requirements using both the number of owners provided and their total percent ownership (calculated by adding the `percent_ownership` of each owner together)." + }, + "ownership_declaration": { + "allOf": [ { - "items": { - "$ref": "#/components/schemas/ChatCompletionContentPartText" - }, - "type": "array" + "$ref": "#/components/schemas/stripe.Stripe.Account.Company.OwnershipDeclaration" } ], - "description": "The contents of the tool message." + "nullable": true, + "description": "This hash is used to attest that the beneficial owner information provided to Stripe is both current and correct." }, - "role": { + "ownership_exemption_reason": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Company.OwnershipExemptionReason" + }, + "phone": { "type": "string", - "enum": [ - "tool" - ], - "nullable": false, - "description": "The role of the messages author, in this case `tool`." + "nullable": true, + "description": "The company's phone number (used for verification)." }, - "tool_call_id": { + "structure": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Company.Structure", + "description": "The category identifying the legal structure of the company or legal entity. See [Business structure](https://stripe.com/docs/connect/identity-verification#business-structure) for more details." + }, + "tax_id_provided": { + "type": "boolean", + "description": "Whether the company's business ID number was provided." + }, + "tax_id_registrar": { "type": "string", - "description": "Tool call that this message is responding to." + "description": "The jurisdiction in which the `tax_id` is registered (Germany-based companies only)." + }, + "vat_id_provided": { + "type": "boolean", + "description": "Whether the company's business VAT number was provided." + }, + "verification": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Account.Company.Verification" + } + ], + "nullable": true, + "description": "Information on the verification state of the company." } }, - "required": [ - "content", - "role", - "tool_call_id" - ], "type": "object", "additionalProperties": false }, - "ChatCompletionFunctionMessageParam": { + "stripe.Stripe.Account.Controller.Fees.Payer": { + "type": "string", + "enum": [ + "account", + "application", + "application_custom", + "application_express" + ] + }, + "stripe.Stripe.Account.Controller.Fees": { "properties": { - "content": { - "type": "string", - "nullable": true, - "description": "The contents of the function message." - }, - "name": { - "type": "string", - "description": "The name of the function to call." - }, - "role": { - "type": "string", - "enum": [ - "function" - ], - "nullable": false, - "description": "The role of the messages author, in this case `function`." + "payer": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Controller.Fees.Payer", + "description": "A value indicating the responsible payer of a bundle of Stripe fees for pricing-control eligible products on this account. Learn more about [fee behavior on connected accounts](https://docs.stripe.com/connect/direct-charges-fee-payer-behavior)." } }, "required": [ - "content", - "name", - "role" + "payer" ], "type": "object", - "additionalProperties": false, - "deprecated": true - }, - "ChatCompletionMessageParam": { - "anyOf": [ - { - "$ref": "#/components/schemas/ChatCompletionDeveloperMessageParam" - }, - { - "$ref": "#/components/schemas/ChatCompletionSystemMessageParam" - }, - { - "$ref": "#/components/schemas/ChatCompletionUserMessageParam" - }, - { - "$ref": "#/components/schemas/ChatCompletionAssistantMessageParam" - }, - { - "$ref": "#/components/schemas/ChatCompletionToolMessageParam" - }, - { - "$ref": "#/components/schemas/ChatCompletionFunctionMessageParam" - } - ], - "description": "Developer-provided instructions that the model should follow, regardless of\nmessages sent by the user. With o1 models and newer, `developer` messages\nreplace the previous `system` messages." + "additionalProperties": false }, - "FunctionParameters": { - "properties": {}, - "additionalProperties": {}, - "type": "object", - "description": "The parameters the functions accepts, described as a JSON Schema object. See the\n[guide](https://platform.openai.com/docs/guides/function-calling) for examples,\nand the\n[JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\ndocumentation about the format.\n\nOmitting `parameters` defines a function with an empty parameter list." + "stripe.Stripe.Account.Controller.Losses.Payments": { + "type": "string", + "enum": [ + "application", + "stripe" + ] }, - "FunctionDefinition": { + "stripe.Stripe.Account.Controller.Losses": { "properties": { - "name": { - "type": "string", - "description": "The name of the function to be called. Must be a-z, A-Z, 0-9, or contain\nunderscores and dashes, with a maximum length of 64." - }, - "description": { - "type": "string", - "description": "A description of what the function does, used by the model to choose when and\nhow to call the function." - }, - "parameters": { - "$ref": "#/components/schemas/FunctionParameters", - "description": "The parameters the functions accepts, described as a JSON Schema object. See the\n[guide](https://platform.openai.com/docs/guides/function-calling) for examples,\nand the\n[JSON Schema reference](https://json-schema.org/understanding-json-schema/) for\ndocumentation about the format.\n\nOmitting `parameters` defines a function with an empty parameter list." - }, - "strict": { - "type": "boolean", - "nullable": true, - "description": "Whether to enable strict schema adherence when generating the function call. If\nset to true, the model will follow the exact schema defined in the `parameters`\nfield. Only a subset of JSON Schema is supported when `strict` is `true`. Learn\nmore about Structured Outputs in the\n[function calling guide](https://platform.openai.com/docs/guides/function-calling)." + "payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Controller.Losses.Payments", + "description": "A value indicating who is liable when this account can't pay back negative balances from payments." } }, "required": [ - "name" + "payments" ], "type": "object", "additionalProperties": false }, - "ChatCompletionFunctionTool": { - "description": "A function tool that can be used to generate a response.", + "stripe.Stripe.Account.Controller.RequirementCollection": { + "type": "string", + "enum": [ + "application", + "stripe" + ] + }, + "stripe.Stripe.Account.Controller.StripeDashboard.Type": { + "type": "string", + "enum": [ + "express", + "full", + "none" + ] + }, + "stripe.Stripe.Account.Controller.StripeDashboard": { "properties": { - "function": { - "$ref": "#/components/schemas/FunctionDefinition" - }, "type": { - "type": "string", - "enum": [ - "function" - ], - "nullable": false, - "description": "The type of the tool. Currently, only `function` is supported." + "$ref": "#/components/schemas/stripe.Stripe.Account.Controller.StripeDashboard.Type", + "description": "A value indicating the Stripe dashboard this account has access to independent of the Connect application." } }, "required": [ - "function", "type" ], "type": "object", "additionalProperties": false }, - "ChatCompletionCustomTool.Custom.Text": { - "description": "Unconstrained free-form text.", + "stripe.Stripe.Account.Controller.Type": { + "type": "string", + "enum": [ + "account", + "application" + ] + }, + "stripe.Stripe.Account.Controller": { "properties": { + "fees": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Controller.Fees" + }, + "is_controller": { + "type": "boolean", + "description": "`true` if the Connect application retrieving the resource controls the account and can therefore exercise [platform controls](https://stripe.com/docs/connect/platform-controls-for-standard-accounts). Otherwise, this field is null." + }, + "losses": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Controller.Losses" + }, + "requirement_collection": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Controller.RequirementCollection", + "description": "A value indicating responsibility for collecting requirements on this account. Only returned when the Connect application retrieving the resource controls the account." + }, + "stripe_dashboard": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Controller.StripeDashboard" + }, "type": { - "type": "string", - "enum": [ - "text" - ], - "nullable": false, - "description": "Unconstrained text format. Always `text`." + "$ref": "#/components/schemas/stripe.Stripe.Account.Controller.Type", + "description": "The controller type. Can be `application`, if a Connect application controls the account, or `account`, if the account controls itself." } }, "required": [ @@ -8739,2583 +7629,2154 @@ "type": "object", "additionalProperties": false }, - "ChatCompletionCustomTool.Custom.Grammar.Grammar": { - "description": "Your chosen grammar.", + "stripe.Stripe.Account": { + "description": "This is an object representing a Stripe account. You can retrieve it to see\nproperties on the account like its current requirements or if the account is\nenabled to make live charges or receive payouts.\n\nFor accounts where [controller.requirement_collection](https://stripe.com/api/accounts/object#account_object-controller-requirement_collection)\nis `application`, which includes Custom accounts, the properties below are always\nreturned.\n\nFor accounts where [controller.requirement_collection](https://stripe.com/api/accounts/object#account_object-controller-requirement_collection)\nis `stripe`, which includes Standard and Express accounts, some properties are only returned\nuntil you create an [Account Link](https://stripe.com/api/account_links) or [Account Session](https://stripe.com/api/account_sessions)\nto start Connect Onboarding. Learn about the [differences between accounts](https://stripe.com/connect/accounts).", "properties": { - "definition": { + "id": { "type": "string", - "description": "The grammar definition." + "description": "Unique identifier for the object." }, - "syntax": { + "object": { "type": "string", "enum": [ - "lark", - "regex" + "account" ], - "description": "The syntax of the grammar definition. One of `lark` or `regex`." - } - }, - "required": [ - "definition", - "syntax" - ], - "type": "object", - "additionalProperties": false - }, - "ChatCompletionCustomTool.Custom.Grammar": { - "description": "A grammar defined by the user.", - "properties": { - "grammar": { - "$ref": "#/components/schemas/ChatCompletionCustomTool.Custom.Grammar.Grammar", - "description": "Your chosen grammar." + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." }, - "type": { - "type": "string", - "enum": [ - "grammar" + "business_profile": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Account.BusinessProfile" + } ], - "nullable": false, - "description": "Grammar format. Always `grammar`." - } - }, - "required": [ - "grammar", - "type" - ], - "type": "object", - "additionalProperties": false - }, - "ChatCompletionCustomTool.Custom": { - "description": "Properties of the custom tool.", - "properties": { - "name": { + "nullable": true, + "description": "Business information about the account." + }, + "business_type": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Account.BusinessType" + } + ], + "nullable": true, + "description": "The business type. After you create an [Account Link](https://stripe.com/api/account_links) or [Account Session](https://stripe.com/api/account_sessions), this property is only returned for accounts where [controller.requirement_collection](https://stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts." + }, + "capabilities": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities" + }, + "charges_enabled": { + "type": "boolean", + "description": "Whether the account can process charges." + }, + "company": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Company" + }, + "controller": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Controller" + }, + "country": { "type": "string", - "description": "The name of the custom tool, used to identify it in tool calls." + "description": "The account's country." }, - "description": { + "created": { + "type": "number", + "format": "double", + "description": "Time at which the account was connected. Measured in seconds since the Unix epoch." + }, + "default_currency": { "type": "string", - "description": "Optional description of the custom tool, used to provide more context." + "description": "Three-letter ISO currency code representing the default currency for the account. This must be a currency that [Stripe supports in the account's country](https://stripe.com/docs/payouts)." }, - "format": { - "anyOf": [ + "deleted": { + "description": "Always true for a deleted object" + }, + "details_submitted": { + "type": "boolean", + "description": "Whether account details have been submitted. Accounts with Stripe Dashboard access, which includes Standard accounts, cannot receive payouts before this is true. Accounts where this is false should be directed to [an onboarding flow](https://stripe.com/connect/onboarding) to finish submitting account details." + }, + "email": { + "type": "string", + "nullable": true, + "description": "An email address associated with the account. It's not used for authentication and Stripe doesn't market to this field without explicit approval from the platform." + }, + "external_accounts": { + "$ref": "#/components/schemas/stripe.Stripe.ApiList_stripe.Stripe.ExternalAccount_", + "description": "External accounts (bank accounts and debit cards) currently attached to this account. External accounts are only returned for requests where `controller[is_controller]` is true." + }, + "future_requirements": { + "$ref": "#/components/schemas/stripe.Stripe.Account.FutureRequirements" + }, + "groups": { + "allOf": [ { - "$ref": "#/components/schemas/ChatCompletionCustomTool.Custom.Text" - }, + "$ref": "#/components/schemas/stripe.Stripe.Account.Groups" + } + ], + "nullable": true, + "description": "The groups associated with the account." + }, + "individual": { + "$ref": "#/components/schemas/stripe.Stripe.Person", + "description": "This is an object representing a person associated with a Stripe account.\n\nA platform cannot access a person for an account where [account.controller.requirement_collection](https://stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `stripe`, which includes Standard and Express accounts, after creating an Account Link or Account Session to start Connect onboarding.\n\nSee the [Standard onboarding](https://stripe.com/connect/standard-accounts) or [Express onboarding](https://stripe.com/connect/express-accounts) documentation for information about prefilling information and account onboarding steps. Learn more about [handling identity verification with the API](https://stripe.com/connect/handling-api-verification#person-information)." + }, + "metadata": { + "$ref": "#/components/schemas/stripe.Stripe.Metadata", + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." + }, + "payouts_enabled": { + "type": "boolean", + "description": "Whether the funds in this account can be paid out." + }, + "requirements": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Requirements" + }, + "settings": { + "allOf": [ { - "$ref": "#/components/schemas/ChatCompletionCustomTool.Custom.Grammar" + "$ref": "#/components/schemas/stripe.Stripe.Account.Settings" } ], - "description": "The input format for the custom tool. Default is unconstrained text." + "nullable": true, + "description": "Options for customizing how the account functions within Stripe." + }, + "tos_acceptance": { + "$ref": "#/components/schemas/stripe.Stripe.Account.TosAcceptance" + }, + "type": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Type", + "description": "The Stripe account type. Can be `standard`, `express`, `custom`, or `none`." } }, "required": [ - "name" + "id", + "object", + "charges_enabled", + "details_submitted", + "email", + "payouts_enabled", + "type" ], "type": "object", "additionalProperties": false }, - "ChatCompletionCustomTool": { - "description": "A custom tool that processes input using a specified format.", + "stripe.Stripe.BankAccount.AvailablePayoutMethod": { + "type": "string", + "enum": [ + "instant", + "standard" + ] + }, + "stripe.Stripe.CashBalance.Settings.ReconciliationMode": { + "type": "string", + "enum": [ + "automatic", + "manual" + ] + }, + "stripe.Stripe.CashBalance.Settings": { "properties": { - "custom": { - "$ref": "#/components/schemas/ChatCompletionCustomTool.Custom", - "description": "Properties of the custom tool." + "reconciliation_mode": { + "$ref": "#/components/schemas/stripe.Stripe.CashBalance.Settings.ReconciliationMode", + "description": "The configuration for how funds that land in the customer cash balance are reconciled." }, - "type": { - "type": "string", - "enum": [ - "custom" - ], - "nullable": false, - "description": "The type of the custom tool. Always `custom`." + "using_merchant_default": { + "type": "boolean", + "description": "A flag to indicate if reconciliation mode returned is the user's default or is specific to this customer cash balance" } }, "required": [ - "custom", - "type" + "reconciliation_mode", + "using_merchant_default" ], "type": "object", "additionalProperties": false }, - "ChatCompletionTool": { - "anyOf": [ - { - "$ref": "#/components/schemas/ChatCompletionFunctionTool" - }, - { - "$ref": "#/components/schemas/ChatCompletionCustomTool" - } - ], - "description": "A function tool that can be used to generate a response." - }, - "ChatCompletionAllowedTools": { - "description": "Constrains the tools available to the model to a pre-defined set.", + "stripe.Stripe.CashBalance": { + "description": "A customer's `Cash balance` represents real funds. Customers can add funds to their cash balance by sending a bank transfer. These funds can be used for payment and can eventually be paid out to your bank account.", "properties": { - "mode": { + "object": { "type": "string", "enum": [ - "auto", - "required" + "cash_balance" ], - "description": "Constrains the tools available to the model to a pre-defined set.\n\n`auto` allows the model to pick from among the allowed tools and generate a\nmessage.\n\n`required` requires the model to call one or more of the allowed tools." + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." }, - "tools": { - "items": { - "properties": {}, - "additionalProperties": {}, - "type": "object" + "available": { + "properties": {}, + "additionalProperties": { + "type": "number", + "format": "double" }, - "type": "array", - "description": "A list of tool definitions that the model should be allowed to call.\n\nFor the Chat Completions API, the list of tool definitions might look like:\n\n```json\n[\n { \"type\": \"function\", \"function\": { \"name\": \"get_weather\" } },\n { \"type\": \"function\", \"function\": { \"name\": \"get_time\" } }\n]\n```" + "type": "object", + "nullable": true, + "description": "A hash of all cash balances available to this customer. You cannot delete a customer with any cash balances, even if the balance is 0. Amounts are represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal)." + }, + "customer": { + "type": "string", + "description": "The ID of the customer whose cash balance this object represents." + }, + "livemode": { + "type": "boolean", + "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." + }, + "settings": { + "$ref": "#/components/schemas/stripe.Stripe.CashBalance.Settings" } }, "required": [ - "mode", - "tools" + "object", + "available", + "customer", + "livemode", + "settings" ], "type": "object", "additionalProperties": false }, - "ChatCompletionAllowedToolChoice": { - "description": "Constrains the tools available to the model to a pre-defined set.", + "stripe.Stripe.BankAccount": { + "description": "These bank accounts are payment methods on `Customer` objects.\n\nOn the other hand [External Accounts](https://stripe.com/api#external_accounts) are transfer\ndestinations on `Account` objects for connected accounts.\nThey can be bank accounts or debit cards as well, and are documented in the links above.\n\nRelated guide: [Bank debits and transfers](https://stripe.com/payments/bank-debits-transfers)", "properties": { - "allowed_tools": { - "$ref": "#/components/schemas/ChatCompletionAllowedTools", - "description": "Constrains the tools available to the model to a pre-defined set." + "id": { + "type": "string", + "description": "Unique identifier for the object." }, - "type": { + "object": { "type": "string", "enum": [ - "allowed_tools" + "bank_account" ], "nullable": false, - "description": "Allowed tool configuration type. Always `allowed_tools`." - } - }, - "required": [ - "allowed_tools", - "type" - ], - "type": "object", - "additionalProperties": false - }, - "ChatCompletionNamedToolChoice.Function": { - "properties": { - "name": { + "description": "String representing the object's type. Objects of the same type share the same value." + }, + "account": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Account" + } + ], + "nullable": true, + "description": "The ID of the account that the bank account is associated with." + }, + "account_holder_name": { "type": "string", - "description": "The name of the function to call." + "nullable": true, + "description": "The name of the person or business that owns the bank account." + }, + "account_holder_type": { + "type": "string", + "nullable": true, + "description": "The type of entity that holds the account. This can be either `individual` or `company`." + }, + "account_type": { + "type": "string", + "nullable": true, + "description": "The bank account type. This can only be `checking` or `savings` in most countries. In Japan, this can only be `futsu` or `toza`." + }, + "available_payout_methods": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.BankAccount.AvailablePayoutMethod" + }, + "type": "array", + "nullable": true, + "description": "A set of available payout methods for this bank account. Only values from this set should be passed as the `method` when creating a payout." + }, + "bank_name": { + "type": "string", + "nullable": true, + "description": "Name of the bank associated with the routing number (e.g., `WELLS FARGO`)." + }, + "country": { + "type": "string", + "description": "Two-letter ISO code representing the country the bank account is located in." + }, + "currency": { + "type": "string", + "description": "Three-letter [ISO code for the currency](https://stripe.com/docs/payouts) paid out to the bank account." + }, + "customer": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Customer" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedCustomer" + } + ], + "nullable": true, + "description": "The ID of the customer that the bank account is associated with." + }, + "default_for_currency": { + "type": "boolean", + "nullable": true, + "description": "Whether this bank account is the default external account for its currency." + }, + "deleted": { + "description": "Always true for a deleted object" + }, + "fingerprint": { + "type": "string", + "nullable": true, + "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same." + }, + "future_requirements": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.BankAccount.FutureRequirements" + } + ], + "nullable": true, + "description": "Information about the [upcoming new requirements for the bank account](https://stripe.com/docs/connect/custom-accounts/future-requirements), including what information needs to be collected, and by when." + }, + "last4": { + "type": "string", + "description": "The last four digits of the bank account number." + }, + "metadata": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Metadata" + } + ], + "nullable": true, + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." + }, + "requirements": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.BankAccount.Requirements" + } + ], + "nullable": true, + "description": "Information about the requirements for the bank account, including what information needs to be collected." + }, + "routing_number": { + "type": "string", + "nullable": true, + "description": "The routing transit number for the bank account." + }, + "status": { + "type": "string", + "description": "For bank accounts, possible values are `new`, `validated`, `verified`, `verification_failed`, or `errored`. A bank account that hasn't had any activity or validation performed is `new`. If Stripe can determine that the bank account exists, its status will be `validated`. Note that there often isn't enough information to know (e.g., for smaller credit unions), and the validation is not always run. If customer bank account verification has succeeded, the bank account status will be `verified`. If the verification failed for any reason, such as microdeposit failure, the status will be `verification_failed`. If a payout sent to this bank account fails, we'll set the status to `errored` and will not continue to send [scheduled payouts](https://stripe.com/docs/payouts#payout-schedule) until the bank details are updated.\n\nFor external accounts, possible values are `new`, `errored` and `verification_failed`. If a payout fails, the status is set to `errored` and scheduled payouts are stopped until account details are updated. In the US and India, if we can't [verify the owner of the bank account](https://support.stripe.com/questions/bank-account-ownership-verification), we'll set the status to `verification_failed`. Other validations aren't run against external accounts because they're only used for payouts. This means the other statuses don't apply." } }, "required": [ - "name" + "id", + "object", + "account_holder_name", + "account_holder_type", + "account_type", + "bank_name", + "country", + "currency", + "fingerprint", + "last4", + "routing_number", + "status" ], "type": "object", "additionalProperties": false }, - "ChatCompletionNamedToolChoice": { - "description": "Specifies a tool the model should use. Use to force the model to call a specific\nfunction.", + "stripe.Stripe.Card.AllowRedisplay": { + "type": "string", + "enum": [ + "always", + "limited", + "unspecified" + ] + }, + "stripe.Stripe.Card.AvailablePayoutMethod": { + "type": "string", + "enum": [ + "instant", + "standard" + ] + }, + "stripe.Stripe.Customer": { + "description": "This object represents a customer of your business. Use it to [create recurring charges](https://stripe.com/docs/invoicing/customer), [save payment](https://stripe.com/docs/payments/save-during-payment) and contact information,\nand track payments that belong to the same customer.", "properties": { - "function": { - "$ref": "#/components/schemas/ChatCompletionNamedToolChoice.Function" + "id": { + "type": "string", + "description": "Unique identifier for the object." }, - "type": { + "object": { "type": "string", "enum": [ - "function" + "customer" ], "nullable": false, - "description": "For function calling, the type is always `function`." - } - }, - "required": [ - "function", - "type" - ], - "type": "object", - "additionalProperties": false - }, - "ChatCompletionNamedToolChoiceCustom.Custom": { - "properties": { - "name": { - "type": "string", - "description": "The name of the custom tool to call." - } - }, - "required": [ - "name" - ], - "type": "object", - "additionalProperties": false - }, - "ChatCompletionNamedToolChoiceCustom": { - "description": "Specifies a tool the model should use. Use to force the model to call a specific\ncustom tool.", - "properties": { - "custom": { - "$ref": "#/components/schemas/ChatCompletionNamedToolChoiceCustom.Custom" + "description": "String representing the object's type. Objects of the same type share the same value." }, - "type": { - "type": "string", - "enum": [ - "custom" + "address": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Address" + } ], - "nullable": false, - "description": "For custom tool calling, the type is always `custom`." - } - }, - "required": [ - "custom", - "type" - ], - "type": "object", - "additionalProperties": false - }, - "ChatCompletionToolChoiceOption": { - "anyOf": [ - { - "$ref": "#/components/schemas/ChatCompletionAllowedToolChoice" + "nullable": true, + "description": "The customer's address." }, - { - "$ref": "#/components/schemas/ChatCompletionNamedToolChoice" + "balance": { + "type": "number", + "format": "double", + "description": "The current balance, if any, that's stored on the customer. If negative, the customer has credit to apply to their next invoice. If positive, the customer has an amount owed that's added to their next invoice. The balance only considers amounts that Stripe hasn't successfully applied to any invoice. It doesn't reflect unpaid invoices. This balance is only taken into account after invoices finalize." }, - { - "$ref": "#/components/schemas/ChatCompletionNamedToolChoiceCustom" + "cash_balance": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.CashBalance" + } + ], + "nullable": true, + "description": "The current funds being held by Stripe on behalf of the customer. You can apply these funds towards payment intents when the source is \"cash_balance\". The `settings[reconciliation_mode]` field describes if these funds apply to these payment intents manually or automatically." }, - { + "created": { + "type": "number", + "format": "double", + "description": "Time at which the object was created. Measured in seconds since the Unix epoch." + }, + "currency": { "type": "string", - "enum": [ - "none", - "auto", - "required" - ] - } - ], - "description": "Controls which (if any) tool is called by the model. `none` means the model will\nnot call any tool and instead generates a message. `auto` means the model can\npick between generating a message or calling one or more tools. `required` means\nthe model must call one or more tools. Specifying a particular tool via\n`{\"type\": \"function\", \"function\": {\"name\": \"my_function\"}}` forces the model to\ncall that tool.\n\n`none` is the default when no tools are present. `auto` is the default if tools\nare present." - }, - "AlertResponse": { - "properties": { - "alerts": { - "items": { - "properties": { - "updated_at": { - "type": "string", - "nullable": true - }, - "time_window": { - "type": "number", - "format": "double" - }, - "time_block_duration": { - "type": "number", - "format": "double" - }, - "threshold": { - "type": "number", - "format": "double" - }, - "status": { - "type": "string" - }, - "soft_delete": { - "type": "boolean" - }, - "slack_channels": { - "items": { - "type": "string" - }, - "type": "array" - }, - "org_id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "minimum_request_count": { - "type": "number", - "format": "double", - "nullable": true - }, - "metric": { - "type": "string" - }, - "id": { - "type": "string" - }, - "filter": { - "allOf": [ - { - "$ref": "#/components/schemas/Json" - } - ], - "nullable": true - }, - "emails": { - "items": { - "type": "string" - }, - "type": "array" - }, - "created_at": { - "type": "string", - "nullable": true - } + "nullable": true, + "description": "Three-letter [ISO code for the currency](https://stripe.com/docs/currencies) the customer can be charged in for recurring billing purposes." + }, + "default_source": { + "anyOf": [ + { + "type": "string" }, - "required": [ - "updated_at", - "time_window", - "time_block_duration", - "threshold", - "status", - "soft_delete", - "slack_channels", - "org_id", - "name", - "minimum_request_count", - "metric", - "id", - "filter", - "emails", - "created_at" - ], - "type": "object" + { + "$ref": "#/components/schemas/stripe.Stripe.CustomerSource" + } + ], + "nullable": true, + "description": "ID of the default payment source for the customer.\n\nIf you use payment methods created through the PaymentMethods API, see the [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) field instead." + }, + "deleted": { + "description": "Always true for a deleted object" + }, + "delinquent": { + "type": "boolean", + "nullable": true, + "description": "Tracks the most recent state change on any invoice belonging to the customer. Paying an invoice or marking it uncollectible via the API will set this field to false. An automatic payment failure or passing the `invoice.due_date` will set this field to `true`.\n\nIf an invoice becomes uncollectible by [dunning](https://stripe.com/docs/billing/automatic-collection), `delinquent` doesn't reset to `false`.\n\nIf you care whether the customer has paid their most recent subscription invoice, use `subscription.status` instead. Paying or marking uncollectible any customer invoice regardless of whether it is the latest invoice for a subscription will always set this field to `false`." + }, + "description": { + "type": "string", + "nullable": true, + "description": "An arbitrary string attached to the object. Often useful for displaying to users." + }, + "discount": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Discount" + } + ], + "nullable": true, + "description": "Describes the current discount active on the customer, if there is one." + }, + "email": { + "type": "string", + "nullable": true, + "description": "The customer's email address." + }, + "invoice_credit_balance": { + "properties": {}, + "additionalProperties": { + "type": "number", + "format": "double" }, - "type": "array" + "type": "object", + "description": "The current multi-currency balances, if any, that's stored on the customer. If positive in a currency, the customer has a credit to apply to their next invoice denominated in that currency. If negative, the customer has an amount owed that's added to their next invoice denominated in that currency. These balances don't apply to unpaid invoices. They solely track amounts that Stripe hasn't successfully applied to any invoice. Stripe only applies a balance in a specific currency to an invoice after that invoice (which is in the same currency) finalizes." }, - "history": { + "invoice_prefix": { + "type": "string", + "nullable": true, + "description": "The prefix for the customer used to generate unique invoice numbers." + }, + "invoice_settings": { + "$ref": "#/components/schemas/stripe.Stripe.Customer.InvoiceSettings" + }, + "livemode": { + "type": "boolean", + "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." + }, + "metadata": { + "$ref": "#/components/schemas/stripe.Stripe.Metadata", + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." + }, + "name": { + "type": "string", + "nullable": true, + "description": "The customer's full name or business name." + }, + "next_invoice_sequence": { + "type": "number", + "format": "double", + "description": "The suffix of the customer's next invoice number (for example, 0001). When the account uses account level sequencing, this parameter is ignored in API requests and the field omitted in API responses." + }, + "phone": { + "type": "string", + "nullable": true, + "description": "The customer's phone number." + }, + "preferred_locales": { "items": { - "properties": { - "updated_at": { - "type": "string", - "nullable": true - }, - "triggered_value": { - "type": "string" - }, - "status": { - "type": "string" - }, - "soft_delete": { - "type": "boolean" - }, - "org_id": { - "type": "string" - }, - "id": { - "type": "string" - }, - "created_at": { - "type": "string", - "nullable": true - }, - "alert_start_time": { - "type": "string" - }, - "alert_name": { - "type": "string" - }, - "alert_metric": { - "type": "string" - }, - "alert_id": { - "type": "string" - }, - "alert_end_time": { - "type": "string", - "nullable": true - } - }, - "required": [ - "updated_at", - "triggered_value", - "status", - "soft_delete", - "org_id", - "id", - "created_at", - "alert_start_time", - "alert_name", - "alert_metric", - "alert_id", - "alert_end_time" - ], - "type": "object" + "type": "string" }, - "type": "array" + "type": "array", + "nullable": true, + "description": "The customer's preferred locales (languages), ordered by preference." }, - "historyTotalCount": { - "type": "number", - "format": "double" + "shipping": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Customer.Shipping" + } + ], + "nullable": true, + "description": "Mailing and shipping address for the customer. Appears on invoices emailed to this customer." + }, + "sources": { + "$ref": "#/components/schemas/stripe.Stripe.ApiList_stripe.Stripe.CustomerSource_", + "description": "The customer's payment sources, if any." + }, + "subscriptions": { + "$ref": "#/components/schemas/stripe.Stripe.ApiList_stripe.Stripe.Subscription_", + "description": "The customer's current subscriptions, if any." + }, + "tax": { + "$ref": "#/components/schemas/stripe.Stripe.Customer.Tax" + }, + "tax_exempt": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Customer.TaxExempt" + } + ], + "nullable": true, + "description": "Describes the customer's tax exemption status, which is `none`, `exempt`, or `reverse`. When set to `reverse`, invoice and receipt PDFs include the following text: **\"Reverse charge\"**." + }, + "tax_ids": { + "$ref": "#/components/schemas/stripe.Stripe.ApiList_stripe.Stripe.TaxId_", + "description": "The customer's tax IDs." + }, + "test_clock": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.TestHelpers.TestClock" + } + ], + "nullable": true, + "description": "ID of the test clock that this customer belongs to." } }, "required": [ - "alerts", - "history", - "historyTotalCount" + "id", + "object", + "balance", + "created", + "default_source", + "description", + "email", + "invoice_settings", + "livemode", + "metadata", + "shipping" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_AlertResponse_": { + "stripe.Stripe.DeletedCustomer": { + "description": "The DeletedCustomer object.", "properties": { - "data": { - "$ref": "#/components/schemas/AlertResponse" + "id": { + "type": "string", + "description": "Unique identifier for the object." }, - "error": { - "type": "number", + "object": { + "type": "string", "enum": [ - null + "customer" ], - "nullable": true + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." + }, + "deleted": { + "type": "boolean", + "enum": [ + true + ], + "nullable": false, + "description": "Always true for a deleted object" } }, "required": [ - "data", - "error" + "id", + "object", + "deleted" ], "type": "object", "additionalProperties": false }, - "Result_AlertResponse.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_AlertResponse_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "AlertMetric": { - "type": "string", - "enum": [ - "latency", - "cost", - "prompt_tokens", - "completion_tokens", - "prompt_cache_read_tokens", - "prompt_cache_write_tokens", - "total_tokens", - "response.status", - "count" - ] - }, - "AlertAggregation": { - "type": "string", - "enum": [ - "sum", - "avg", - "min", - "max", - "percentile" - ] - }, - "AlertStandardGrouping": { - "type": "string", - "enum": [ - "model", - "provider", - "user" - ] - }, - "AlertGrouping": { - "anyOf": [ - { - "$ref": "#/components/schemas/AlertStandardGrouping" - }, - { - "type": "string" - } - ] - }, - "AllExpression": { - "description": "Matches all records (no filtering)", + "stripe.Stripe.Card.Networks": { "properties": { - "type": { + "preferred": { "type": "string", - "enum": [ - "all" - ], - "nullable": false + "nullable": true, + "description": "The preferred network for co-branded cards. Can be `cartes_bancaires`, `mastercard`, `visa` or `invalid_preference` if requested network is not valid for the card." } }, "required": [ - "type" + "preferred" ], "type": "object", "additionalProperties": false }, - "FilterSubType": { + "stripe.Stripe.Card.RegulatedStatus": { "type": "string", "enum": [ - "property", - "score", - "sessions", - "user" + "regulated", + "unregulated" ] }, - "BaseFieldSpec": { - "description": "Type for the field specification in a condition\nDescribes what field is being filtered and how", + "stripe.Stripe.Card": { + "description": "You can store multiple cards on a customer in order to charge the customer\nlater. You can also store multiple debit cards on a recipient in order to\ntransfer to those cards later.\n\nRelated guide: [Card payments with Sources](https://stripe.com/docs/sources/cards)", "properties": { - "subtype": { - "$ref": "#/components/schemas/FilterSubType" + "id": { + "type": "string", + "description": "Unique identifier for the object." }, - "valueMode": { + "object": { "type": "string", "enum": [ - "value", - "key" - ] + "card" + ], + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." }, - "key": { - "type": "string" - } - }, - "type": "object", - "additionalProperties": false - }, - "FieldSpec": { - "anyOf": [ - { - "allOf": [ + "account": { + "anyOf": [ { - "$ref": "#/components/schemas/BaseFieldSpec" + "type": "string" }, { - "properties": { - "column": { - "type": "string", - "enum": [ - "properties", - "user_id", - "model", - "country_code", - "response_id", - "status", - "latency", - "provider", - "time_to_first_token", - "request_created_at", - "response_created_at", - "organization_id", - "threat", - "request_id", - "prompt_tokens", - "completion_tokens", - "prompt_cache_read_tokens", - "prompt_cache_write_tokens", - "target_url", - "scores", - "request_body", - "response_body", - "assets", - "proxy_key_id", - "updated_at" - ], - "nullable": false - }, - "table": { - "type": "string", - "enum": [ - "request_response_rmt" - ], - "nullable": false - } - }, - "required": [ - "column", - "table" - ], - "type": "object" + "$ref": "#/components/schemas/stripe.Stripe.Account" } - ] + ], + "nullable": true, + "description": "The account this card belongs to. This attribute will not be in the card object if the card belongs to a customer or recipient instead. This property is only available for accounts where [controller.requirement_collection](https://stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts." }, - { + "address_city": { + "type": "string", + "nullable": true, + "description": "City/District/Suburb/Town/Village." + }, + "address_country": { + "type": "string", + "nullable": true, + "description": "Billing address country, if provided when creating card." + }, + "address_line1": { + "type": "string", + "nullable": true, + "description": "Address line 1 (Street address/PO Box/Company name)." + }, + "address_line1_check": { + "type": "string", + "nullable": true, + "description": "If `address_line1` was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`." + }, + "address_line2": { + "type": "string", + "nullable": true, + "description": "Address line 2 (Apartment/Suite/Unit/Building)." + }, + "address_state": { + "type": "string", + "nullable": true, + "description": "State/County/Province/Region." + }, + "address_zip": { + "type": "string", + "nullable": true, + "description": "ZIP or postal code." + }, + "address_zip_check": { + "type": "string", + "nullable": true, + "description": "If `address_zip` was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`." + }, + "allow_redisplay": { "allOf": [ { - "$ref": "#/components/schemas/BaseFieldSpec" - }, - { - "properties": { - "subtype": { - "type": "string", - "enum": [ - "property" - ], - "nullable": false - }, - "column": { - "type": "string" - }, - "table": { - "type": "string", - "enum": [ - "request_response_rmt" - ], - "nullable": false - } - }, - "required": [ - "subtype", - "column", - "table" - ], - "type": "object" + "$ref": "#/components/schemas/stripe.Stripe.Card.AllowRedisplay" } - ] + ], + "nullable": true, + "description": "This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to “unspecified”." }, - { - "allOf": [ + "available_payout_methods": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Card.AvailablePayoutMethod" + }, + "type": "array", + "nullable": true, + "description": "A set of available payout methods for this card. Only values from this set should be passed as the `method` when creating a payout." + }, + "brand": { + "type": "string", + "description": "Card brand. Can be `American Express`, `Diners Club`, `Discover`, `Eftpos Australia`, `Girocard`, `JCB`, `MasterCard`, `UnionPay`, `Visa`, or `Unknown`." + }, + "country": { + "type": "string", + "nullable": true, + "description": "Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected." + }, + "currency": { + "type": "string", + "nullable": true, + "description": "Three-letter [ISO code for currency](https://www.iso.org/iso-4217-currency-codes.html) in lowercase. Must be a [supported currency](https://docs.stripe.com/currencies). Only applicable on accounts (not customers or recipients). The card can be used as a transfer destination for funds in this currency. This property is only available for accounts where [controller.requirement_collection](https://stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts." + }, + "customer": { + "anyOf": [ { - "$ref": "#/components/schemas/BaseFieldSpec" + "type": "string" }, { - "properties": { - "column": { - "type": "string", - "enum": [ - "created_at", - "cost", - "prompt_tokens", - "completion_tokens", - "total_tokens", - "total_requests", - "latest_request_created_at" - ], - "nullable": false - }, - "table": { - "type": "string", - "enum": [ - "sessions_request_response_rmt" - ], - "nullable": false - } - }, - "required": [ - "column", - "table" - ], - "type": "object" + "$ref": "#/components/schemas/stripe.Stripe.Customer" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedCustomer" } - ] + ], + "nullable": true, + "description": "The customer that this card belongs to. This attribute will not be in the card object if the card belongs to an account or recipient instead." }, - { + "cvc_check": { + "type": "string", + "nullable": true, + "description": "If a CVC was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`. A result of unchecked indicates that CVC was provided but hasn't been checked yet. Checks are typically performed when attaching a card to a Customer object, or when creating a charge. For more details, see [Check if a card is valid without a charge](https://support.stripe.com/questions/check-if-a-card-is-valid-without-a-charge)." + }, + "default_for_currency": { + "type": "boolean", + "nullable": true, + "description": "Whether this card is the default external account for its currency. This property is only available for accounts where [controller.requirement_collection](https://stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts." + }, + "deleted": { + "description": "Always true for a deleted object" + }, + "description": { + "type": "string", + "description": "A high-level description of the type of cards issued in this range. (For internal use only and not typically available in standard API requests.)" + }, + "dynamic_last4": { + "type": "string", + "nullable": true, + "description": "(For tokenized numbers only.) The last four digits of the device account number." + }, + "exp_month": { + "type": "number", + "format": "double", + "description": "Two-digit number representing the card's expiration month." + }, + "exp_year": { + "type": "number", + "format": "double", + "description": "Four-digit number representing the card's expiration year." + }, + "fingerprint": { + "type": "string", + "nullable": true, + "description": "Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.\n\n*As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.*" + }, + "funding": { + "type": "string", + "description": "Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`." + }, + "iin": { + "type": "string", + "description": "Issuer identification number of the card. (For internal use only and not typically available in standard API requests.)" + }, + "issuer": { + "type": "string", + "description": "The name of the card's issuing bank. (For internal use only and not typically available in standard API requests.)" + }, + "last4": { + "type": "string", + "description": "The last four digits of the card." + }, + "metadata": { "allOf": [ { - "$ref": "#/components/schemas/BaseFieldSpec" - }, - { - "properties": { - "column": { - "type": "string", - "enum": [ - "user_id", - "cost", - "total_requests", - "active_for", - "first_active", - "last_active", - "average_requests_per_day_active", - "average_tokens_per_request", - "total_completion_tokens", - "total_prompt_tokens" - ], - "nullable": false - }, - "table": { - "type": "string", - "enum": [ - "users_view" - ], - "nullable": false - } - }, - "required": [ - "column", - "table" - ], - "type": "object" + "$ref": "#/components/schemas/stripe.Stripe.Metadata" } - ] - } - ] - }, - "FilterOperator": { - "type": "string", - "enum": [ - "eq", - "neq", - "is", - "gt", - "gte", - "lt", - "lte", - "like", - "ilike", - "contains", - "not-contains", - "in" - ], - "description": "All supported filter operator types" - }, - "ConditionExpression": { - "description": "Single condition expression that compares a field against a value", - "properties": { - "type": { - "type": "string", - "enum": [ - "condition" ], - "nullable": false + "nullable": true, + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." }, - "field": { - "$ref": "#/components/schemas/FieldSpec" + "name": { + "type": "string", + "nullable": true, + "description": "Cardholder name." }, - "operator": { - "$ref": "#/components/schemas/FilterOperator" + "networks": { + "$ref": "#/components/schemas/stripe.Stripe.Card.Networks" }, - "value": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number", - "format": "double" - }, + "regulated_status": { + "allOf": [ { - "type": "boolean" + "$ref": "#/components/schemas/stripe.Stripe.Card.RegulatedStatus" } - ] + ], + "nullable": true, + "description": "Status of a card based on the card issuer." + }, + "status": { + "type": "string", + "nullable": true, + "description": "For external accounts that are cards, possible values are `new` and `errored`. If a payout fails, the status is set to `errored` and [scheduled payouts](https://stripe.com/docs/payouts#payout-schedule) are stopped until account details are updated." + }, + "tokenization_method": { + "type": "string", + "nullable": true, + "description": "If the card number is tokenized, this is the method that was used. Can be `android_pay` (includes Google Pay), `apple_pay`, `masterpass`, `visa_checkout`, or null." } }, "required": [ - "type", - "field", - "operator", - "value" + "id", + "object", + "address_city", + "address_country", + "address_line1", + "address_line1_check", + "address_line2", + "address_state", + "address_zip", + "address_zip_check", + "brand", + "country", + "cvc_check", + "dynamic_last4", + "exp_month", + "exp_year", + "funding", + "last4", + "metadata", + "name", + "regulated_status", + "tokenization_method" ], "type": "object", "additionalProperties": false }, - "FilterExpression": { - "anyOf": [ - { - "$ref": "#/components/schemas/AllExpression" + "stripe.Stripe.Source.AchCreditTransfer": { + "properties": { + "account_number": { + "type": "string", + "nullable": true }, - { - "$ref": "#/components/schemas/ConditionExpression" + "bank_name": { + "type": "string", + "nullable": true }, - { - "$ref": "#/components/schemas/AndExpression" + "fingerprint": { + "type": "string", + "nullable": true }, - { - "$ref": "#/components/schemas/OrExpression" - } - ], - "description": "Filter expression type union\nRepresents all possible filter expression types in the AST" - }, - "AndExpression": { - "description": "Logical AND of multiple expressions\nAll contained expressions must match for this to match", - "properties": { - "type": { + "refund_account_holder_name": { "type": "string", - "enum": [ - "and" - ], - "nullable": false + "nullable": true }, - "expressions": { - "items": { - "$ref": "#/components/schemas/FilterExpression" - }, - "type": "array" + "refund_account_holder_type": { + "type": "string", + "nullable": true + }, + "refund_routing_number": { + "type": "string", + "nullable": true + }, + "routing_number": { + "type": "string", + "nullable": true + }, + "swift_code": { + "type": "string", + "nullable": true } }, - "required": [ - "type", - "expressions" - ], "type": "object", "additionalProperties": false }, - "OrExpression": { - "description": "Logical OR of multiple expressions\nAt least one contained expression must match for this to match", + "stripe.Stripe.Source.AchDebit": { "properties": { - "type": { + "bank_name": { "type": "string", - "enum": [ - "or" - ], - "nullable": false + "nullable": true }, - "expressions": { - "items": { - "$ref": "#/components/schemas/FilterExpression" - }, - "type": "array" + "country": { + "type": "string", + "nullable": true + }, + "fingerprint": { + "type": "string", + "nullable": true + }, + "last4": { + "type": "string", + "nullable": true + }, + "routing_number": { + "type": "string", + "nullable": true + }, + "type": { + "type": "string", + "nullable": true } }, - "required": [ - "type", - "expressions" - ], "type": "object", "additionalProperties": false }, - "AlertRequest": { + "stripe.Stripe.Source.AcssDebit": { "properties": { - "name": { - "type": "string" + "bank_address_city": { + "type": "string", + "nullable": true }, - "metric": { - "$ref": "#/components/schemas/AlertMetric" + "bank_address_line_1": { + "type": "string", + "nullable": true }, - "threshold": { - "type": "number", - "format": "double" + "bank_address_line_2": { + "type": "string", + "nullable": true }, - "aggregation": { - "allOf": [ - { - "$ref": "#/components/schemas/AlertAggregation" - } - ], + "bank_address_postal_code": { + "type": "string", "nullable": true }, - "percentile": { - "type": "number", - "format": "double", + "bank_name": { + "type": "string", "nullable": true }, - "grouping": { - "allOf": [ - { - "$ref": "#/components/schemas/AlertGrouping" - } - ], + "category": { + "type": "string", "nullable": true }, - "grouping_is_property": { - "type": "boolean", + "country": { + "type": "string", "nullable": true }, - "time_window": { - "type": "string" + "fingerprint": { + "type": "string", + "nullable": true }, - "emails": { - "items": { - "type": "string" - }, - "type": "array" - }, - "slack_channels": { - "items": { - "type": "string" - }, - "type": "array" - }, - "minimum_request_count": { - "type": "number", - "format": "double" + "last4": { + "type": "string", + "nullable": true }, - "filter": { - "allOf": [ - { - "$ref": "#/components/schemas/FilterExpression" - } - ], + "routing_number": { + "type": "string", "nullable": true } }, - "required": [ - "name", - "metric", - "threshold", - "aggregation", - "percentile", - "grouping", - "grouping_is_property", - "time_window", - "emails", - "slack_channels", - "filter" - ], "type": "object", "additionalProperties": false }, - "ResultSuccess__active-boolean--created_at-string--id-number--message-string--title-string--updated_at-string_-Array_": { + "stripe.Stripe.Source.Alipay": { "properties": { - "data": { - "items": { - "properties": { - "updated_at": { - "type": "string" - }, - "title": { - "type": "string" - }, - "message": { - "type": "string" - }, - "id": { - "type": "number", - "format": "double" - }, - "created_at": { - "type": "string" - }, - "active": { - "type": "boolean" - } - }, - "required": [ - "updated_at", - "title", - "message", - "id", - "created_at", - "active" - ], - "type": "object" - }, - "type": "array" + "data_string": { + "type": "string", + "nullable": true }, - "error": { - "type": "number", - "enum": [ - null - ], + "native_url": { + "type": "string", + "nullable": true + }, + "statement_descriptor": { + "type": "string", "nullable": true } }, - "required": [ - "data", - "error" - ], "type": "object", "additionalProperties": false }, - "Result__active-boolean--created_at-string--id-number--message-string--title-string--updated_at-string_-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__active-boolean--created_at-string--id-number--message-string--title-string--updated_at-string_-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } + "stripe.Stripe.Source.AllowRedisplay": { + "type": "string", + "enum": [ + "always", + "limited", + "unspecified" ] }, - "ClickHouseTableColumn": { + "stripe.Stripe.Source.AuBecsDebit": { "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string" - }, - "default_type": { - "type": "string" - }, - "default_expression": { - "type": "string" - }, - "comment": { - "type": "string" + "bsb_number": { + "type": "string", + "nullable": true }, - "codec_expression": { - "type": "string" + "fingerprint": { + "type": "string", + "nullable": true }, - "ttl_expression": { - "type": "string" + "last4": { + "type": "string", + "nullable": true } }, - "required": [ - "name", - "type" - ], "type": "object", "additionalProperties": false }, - "ClickHouseTableSchema": { + "stripe.Stripe.Source.Bancontact": { "properties": { - "table_name": { - "type": "string" + "bank_code": { + "type": "string", + "nullable": true }, - "columns": { - "items": { - "$ref": "#/components/schemas/ClickHouseTableColumn" - }, - "type": "array" + "bank_name": { + "type": "string", + "nullable": true + }, + "bic": { + "type": "string", + "nullable": true + }, + "iban_last4": { + "type": "string", + "nullable": true + }, + "preferred_language": { + "type": "string", + "nullable": true + }, + "statement_descriptor": { + "type": "string", + "nullable": true } }, - "required": [ - "table_name", - "columns" - ], "type": "object", "additionalProperties": false }, - "ResultSuccess_ClickHouseTableSchema-Array_": { + "stripe.Stripe.Source.Card": { "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/ClickHouseTableSchema" - }, - "type": "array" + "address_line1_check": { + "type": "string", + "nullable": true }, - "error": { - "type": "number", - "enum": [ - null - ], + "address_zip_check": { + "type": "string", "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_ClickHouseTableSchema-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_ClickHouseTableSchema-Array_" }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ExecuteSqlResponse": { - "properties": { - "rowCount": { - "type": "number", - "format": "double" + "brand": { + "type": "string", + "nullable": true }, - "size": { + "country": { + "type": "string", + "nullable": true + }, + "cvc_check": { + "type": "string", + "nullable": true + }, + "description": { + "type": "string" + }, + "dynamic_last4": { + "type": "string", + "nullable": true + }, + "exp_month": { "type": "number", - "format": "double" + "format": "double", + "nullable": true }, - "elapsedMilliseconds": { + "exp_year": { "type": "number", - "format": "double" + "format": "double", + "nullable": true }, - "rows": { - "items": { - "$ref": "#/components/schemas/Record_string.any_" - }, - "type": "array" - } - }, - "required": [ - "rowCount", - "size", - "elapsedMilliseconds", - "rows" - ], - "type": "object" - }, - "ResultSuccess_ExecuteSqlResponse_": { - "properties": { - "data": { - "$ref": "#/components/schemas/ExecuteSqlResponse" + "fingerprint": { + "type": "string" }, - "error": { - "type": "number", - "enum": [ - null - ], + "funding": { + "type": "string", "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_ExecuteSqlResponse.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_ExecuteSqlResponse_" }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ExecuteSqlRequest": { - "properties": { - "sql": { + "iin": { + "type": "string" + }, + "issuer": { + "type": "string" + }, + "last4": { + "type": "string", + "nullable": true + }, + "name": { + "type": "string", + "nullable": true + }, + "three_d_secure": { "type": "string" + }, + "tokenization_method": { + "type": "string", + "nullable": true } }, - "required": [ - "sql" - ], "type": "object", "additionalProperties": false }, - "HqlSavedQuery": { + "stripe.Stripe.Source.CardPresent": { "properties": { - "id": { + "application_cryptogram": { "type": "string" }, - "organization_id": { + "application_preferred_name": { "type": "string" }, - "name": { + "authorization_code": { + "type": "string", + "nullable": true + }, + "authorization_response_code": { "type": "string" }, - "sql": { + "brand": { + "type": "string", + "nullable": true + }, + "country": { + "type": "string", + "nullable": true + }, + "cvm_type": { "type": "string" }, - "created_at": { + "data_type": { + "type": "string", + "nullable": true + }, + "dedicated_file_name": { "type": "string" }, - "updated_at": { + "description": { + "type": "string" + }, + "emv_auth_data": { + "type": "string" + }, + "evidence_customer_signature": { + "type": "string", + "nullable": true + }, + "evidence_transaction_certificate": { + "type": "string", + "nullable": true + }, + "exp_month": { + "type": "number", + "format": "double", + "nullable": true + }, + "exp_year": { + "type": "number", + "format": "double", + "nullable": true + }, + "fingerprint": { + "type": "string" + }, + "funding": { + "type": "string", + "nullable": true + }, + "iin": { + "type": "string" + }, + "issuer": { + "type": "string" + }, + "last4": { + "type": "string", + "nullable": true + }, + "pos_device_id": { + "type": "string", + "nullable": true + }, + "pos_entry_mode": { + "type": "string" + }, + "read_method": { + "type": "string", + "nullable": true + }, + "reader": { + "type": "string", + "nullable": true + }, + "terminal_verification_results": { + "type": "string" + }, + "transaction_status_information": { "type": "string" } }, - "required": [ - "id", - "organization_id", - "name", - "sql", - "created_at", - "updated_at" - ], "type": "object", "additionalProperties": false }, - "ResultSuccess_Array_HqlSavedQuery__": { + "stripe.Stripe.Source.CodeVerification": { "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/HqlSavedQuery" - }, - "type": "array" - }, - "error": { + "attempts_remaining": { "type": "number", - "enum": [ - null - ], - "nullable": true + "format": "double", + "description": "The number of attempts remaining to authenticate the source object with a verification code." + }, + "status": { + "type": "string", + "description": "The status of the code verification, either `pending` (awaiting verification, `attempts_remaining` should be greater than 0), `succeeded` (successful verification) or `failed` (failed verification, cannot be verified anymore as `attempts_remaining` should be 0)." } }, "required": [ - "data", - "error" + "attempts_remaining", + "status" ], "type": "object", "additionalProperties": false }, - "Result_Array_HqlSavedQuery_.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_Array_HqlSavedQuery__" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess_HqlSavedQuery-or-null_": { + "stripe.Stripe.Source.Eps": { "properties": { - "data": { - "allOf": [ - { - "$ref": "#/components/schemas/HqlSavedQuery" - } - ], + "reference": { + "type": "string", "nullable": true }, - "error": { - "type": "number", - "enum": [ - null - ], + "statement_descriptor": { + "type": "string", "nullable": true } }, - "required": [ - "data", - "error" - ], "type": "object", "additionalProperties": false }, - "Result_HqlSavedQuery-or-null.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_HqlSavedQuery-or-null_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess_void_": { + "stripe.Stripe.Source.Giropay": { "properties": { - "data": {}, - "error": { - "type": "number", - "enum": [ - null - ], + "bank_code": { + "type": "string", + "nullable": true + }, + "bank_name": { + "type": "string", + "nullable": true + }, + "bic": { + "type": "string", + "nullable": true + }, + "statement_descriptor": { + "type": "string", "nullable": true } }, - "required": [ - "data", - "error" - ], "type": "object", "additionalProperties": false }, - "Result_void.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_void_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "BulkDeleteSavedQueriesRequest": { + "stripe.Stripe.Source.Ideal": { "properties": { - "ids": { - "items": { - "type": "string" - }, - "type": "array" + "bank": { + "type": "string", + "nullable": true + }, + "bic": { + "type": "string", + "nullable": true + }, + "iban_last4": { + "type": "string", + "nullable": true + }, + "statement_descriptor": { + "type": "string", + "nullable": true } }, - "required": [ - "ids" - ], "type": "object", "additionalProperties": false }, - "ResultSuccess_HqlSavedQuery-Array_": { + "stripe.Stripe.Source.Klarna": { "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/HqlSavedQuery" - }, - "type": "array" + "background_image_url": { + "type": "string" }, - "error": { - "type": "number", - "enum": [ - null - ], + "client_token": { + "type": "string", "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_HqlSavedQuery-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_HqlSavedQuery-Array_" }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "CreateSavedQueryRequest": { - "properties": { - "name": { + "first_name": { "type": "string" }, - "sql": { + "last_name": { "type": "string" - } - }, - "required": [ - "name", - "sql" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_HqlSavedQuery_": { - "properties": { - "data": { - "$ref": "#/components/schemas/HqlSavedQuery" }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_HqlSavedQuery.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_HqlSavedQuery_" + "locale": { + "type": "string" }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess__organization_id-string--name-string--flags-string-Array_-Array_": { - "properties": { - "data": { - "items": { - "properties": { - "flags": { - "items": { - "type": "string" - }, - "type": "array" - }, - "name": { - "type": "string" - }, - "organization_id": { - "type": "string" - } - }, - "required": [ - "flags", - "name", - "organization_id" - ], - "type": "object" - }, - "type": "array" + "logo_url": { + "type": "string" }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result__organization_id-string--name-string--flags-string-Array_-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__organization_id-string--name-string--flags-string-Array_-Array_" + "page_title": { + "type": "string" }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "KafkaSettings": { - "properties": { - "miniBatchSize": { - "type": "number", - "format": "double" - } - }, - "required": [ - "miniBatchSize" - ], - "type": "object", - "additionalProperties": false - }, - "AzureExperiment": { - "properties": { - "azureBaseUri": { + "pay_later_asset_urls_descriptive": { "type": "string" }, - "azureApiVersion": { + "pay_later_asset_urls_standard": { "type": "string" }, - "azureDeploymentName": { + "pay_later_name": { "type": "string" }, - "azureApiKey": { + "pay_later_redirect_url": { "type": "string" - } - }, - "required": [ - "azureBaseUri", - "azureApiVersion", - "azureDeploymentName", - "azureApiKey" - ], - "type": "object", - "additionalProperties": false - }, - "ApiKey": { - "properties": { - "apiKey": { + }, + "pay_now_asset_urls_descriptive": { "type": "string" - } - }, - "required": [ - "apiKey" - ], - "type": "object", - "additionalProperties": false - }, - "Setting": { - "anyOf": [ - { - "$ref": "#/components/schemas/KafkaSettings" }, - { - "$ref": "#/components/schemas/AzureExperiment" + "pay_now_asset_urls_standard": { + "type": "string" }, - { - "$ref": "#/components/schemas/ApiKey" - } - ] - }, - "SettingName": { - "type": "string", - "enum": [ - "kafka:dlq", - "kafka:log", - "kafka:score", - "kafka:dlq:score", - "kafka:dlq:eu", - "kafka:log:eu", - "kafka:orgs-to-dlq", - "azure:experiment", - "openai:apiKey", - "anthropic:apiKey", - "openrouter:apiKey", - "togetherai:apiKey", - "sqs:request-response-logs", - "sqs:helicone-scores", - "sqs:request-response-logs-dlq", - "sqs:helicone-scores-dlq", - "stripe:products", - "secrets:provider-keys" - ], - "nullable": false - }, - "url.URL": { - "type": "string", - "description": "The **`URL`** interface is used to parse, construct, normalize, and encode URL.\n\n[MDN Reference](https://developer.mozilla.org/docs/Web/API/URL)\n`URL` class is a global reference for `import { URL } from 'node:url'`\nhttps://nodejs.org/api/url.html#the-whatwg-url-api" - }, - "stripe.Stripe.Application": { - "description": "The Application object.", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." + "pay_now_name": { + "type": "string" }, - "object": { - "type": "string", - "enum": [ - "application" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." + "pay_now_redirect_url": { + "type": "string" }, - "deleted": { - "description": "Always true for a deleted object" + "pay_over_time_asset_urls_descriptive": { + "type": "string" }, - "name": { - "type": "string", - "nullable": true, - "description": "The name of the application." - } - }, - "required": [ - "id", - "object", - "name" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.DeletedApplication": { - "description": "The DeletedApplication object.", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." + "pay_over_time_asset_urls_standard": { + "type": "string" }, - "object": { - "type": "string", - "enum": [ - "application" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." + "pay_over_time_name": { + "type": "string" }, - "deleted": { - "type": "boolean", - "enum": [ - true - ], - "nullable": false, - "description": "Always true for a deleted object" + "pay_over_time_redirect_url": { + "type": "string" }, - "name": { - "type": "string", - "nullable": true, - "description": "The name of the application." + "payment_method_categories": { + "type": "string" + }, + "purchase_country": { + "type": "string" + }, + "purchase_type": { + "type": "string" + }, + "redirect_url": { + "type": "string" + }, + "shipping_delay": { + "type": "number", + "format": "double" + }, + "shipping_first_name": { + "type": "string" + }, + "shipping_last_name": { + "type": "string" } }, - "required": [ - "id", - "object", - "deleted", - "name" - ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Account.BusinessProfile.AnnualRevenue": { + "stripe.Stripe.Source.Multibanco": { "properties": { - "amount": { - "type": "number", - "format": "double", - "nullable": true, - "description": "A non-negative integer representing the amount in the [smallest currency unit](https://stripe.com/currencies#zero-decimal)." + "entity": { + "type": "string", + "nullable": true }, - "currency": { + "reference": { "type": "string", - "nullable": true, - "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." + "nullable": true }, - "fiscal_year_end": { + "refund_account_holder_address_city": { "type": "string", - "nullable": true, - "description": "The close-out date of the preceding fiscal year in ISO 8601 format. E.g. 2023-12-31 for the 31st of December, 2023." - } - }, - "required": [ - "amount", - "currency", - "fiscal_year_end" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Account.BusinessProfile.MonthlyEstimatedRevenue": { - "properties": { - "amount": { - "type": "number", - "format": "double", - "description": "A non-negative integer representing how much to charge in the [smallest currency unit](https://stripe.com/currencies#zero-decimal)." + "nullable": true }, - "currency": { + "refund_account_holder_address_country": { "type": "string", - "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." - } - }, - "required": [ - "amount", - "currency" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Address": { - "description": "The Address object.", - "properties": { - "city": { + "nullable": true + }, + "refund_account_holder_address_line1": { "type": "string", - "nullable": true, - "description": "City/District/Suburb/Town/Village." + "nullable": true }, - "country": { + "refund_account_holder_address_line2": { "type": "string", - "nullable": true, - "description": "2-letter country code." + "nullable": true }, - "line1": { + "refund_account_holder_address_postal_code": { "type": "string", - "nullable": true, - "description": "Address line 1 (Street address/PO Box/Company name)." + "nullable": true }, - "line2": { + "refund_account_holder_address_state": { "type": "string", - "nullable": true, - "description": "Address line 2 (Apartment/Suite/Unit/Building)." + "nullable": true }, - "postal_code": { + "refund_account_holder_name": { "type": "string", - "nullable": true, - "description": "ZIP or postal code." + "nullable": true }, - "state": { + "refund_iban": { "type": "string", - "nullable": true, - "description": "State/County/Province/Region." + "nullable": true } }, - "required": [ - "city", - "country", - "line1", - "line2", - "postal_code", - "state" - ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Account.BusinessProfile": { + "stripe.Stripe.Source.Owner": { "properties": { - "annual_revenue": { + "address": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Account.BusinessProfile.AnnualRevenue" + "$ref": "#/components/schemas/stripe.Stripe.Address" } ], "nullable": true, - "description": "The applicant's gross annual revenue for its preceding fiscal year." - }, - "estimated_worker_count": { - "type": "number", - "format": "double", - "nullable": true, - "description": "An estimated upper bound of employees, contractors, vendors, etc. currently working for the business." + "description": "Owner's address." }, - "mcc": { + "email": { "type": "string", "nullable": true, - "description": "[The merchant category code for the account](https://stripe.com/connect/setting-mcc). MCCs are used to classify businesses based on the goods or services they provide." - }, - "monthly_estimated_revenue": { - "$ref": "#/components/schemas/stripe.Stripe.Account.BusinessProfile.MonthlyEstimatedRevenue" + "description": "Owner's email address." }, "name": { "type": "string", "nullable": true, - "description": "The customer-facing business name." + "description": "Owner's full name." }, - "product_description": { + "phone": { "type": "string", "nullable": true, - "description": "Internal-only description of the product sold or service provided by the business. It's used by Stripe for risk and underwriting purposes." + "description": "Owner's phone number (including extension)." }, - "support_address": { + "verified_address": { "allOf": [ { "$ref": "#/components/schemas/stripe.Stripe.Address" } ], "nullable": true, - "description": "A publicly available mailing address for sending support issues to." - }, - "support_email": { - "type": "string", - "nullable": true, - "description": "A publicly available email address for sending support issues to." + "description": "Verified owner's address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated." }, - "support_phone": { + "verified_email": { "type": "string", "nullable": true, - "description": "A publicly available phone number to call with support issues." + "description": "Verified owner's email address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated." }, - "support_url": { + "verified_name": { "type": "string", "nullable": true, - "description": "A publicly available website for handling support issues." + "description": "Verified owner's full name. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated." }, - "url": { + "verified_phone": { "type": "string", "nullable": true, - "description": "The business's publicly available website." + "description": "Verified owner's phone number (including extension). Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated." } }, "required": [ - "mcc", + "address", + "email", "name", - "support_address", - "support_email", - "support_phone", - "support_url", - "url" + "phone", + "verified_address", + "verified_email", + "verified_name", + "verified_phone" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Account.BusinessType": { - "type": "string", - "enum": [ - "company", - "government_entity", - "individual", - "non_profit" - ] - }, - "stripe.Stripe.Account.Capabilities.AcssDebitPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] + "stripe.Stripe.Source.P24": { + "properties": { + "reference": { + "type": "string", + "nullable": true + } + }, + "type": "object", + "additionalProperties": false }, - "stripe.Stripe.Account.Capabilities.AffirmPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.AfterpayClearpayPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.AlmaPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.AmazonPayPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.AuBecsDebitPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] + "stripe.Stripe.Source.Receiver": { + "properties": { + "address": { + "type": "string", + "nullable": true, + "description": "The address of the receiver source. This is the value that should be communicated to the customer to send their funds to." + }, + "amount_charged": { + "type": "number", + "format": "double", + "description": "The total amount that was moved to your balance. This is almost always equal to the amount charged. In rare cases when customers deposit excess funds and we are unable to refund those, those funds get moved to your balance and show up in amount_charged as well. The amount charged is expressed in the source's currency." + }, + "amount_received": { + "type": "number", + "format": "double", + "description": "The total amount received by the receiver source. `amount_received = amount_returned + amount_charged` should be true for consumed sources unless customers deposit excess funds. The amount received is expressed in the source's currency." + }, + "amount_returned": { + "type": "number", + "format": "double", + "description": "The total amount that was returned to the customer. The amount returned is expressed in the source's currency." + }, + "refund_attributes_method": { + "type": "string", + "description": "Type of refund attribute method, one of `email`, `manual`, or `none`." + }, + "refund_attributes_status": { + "type": "string", + "description": "Type of refund attribute status, one of `missing`, `requested`, or `available`." + } + }, + "required": [ + "address", + "amount_charged", + "amount_received", + "amount_returned", + "refund_attributes_method", + "refund_attributes_status" + ], + "type": "object", + "additionalProperties": false }, - "stripe.Stripe.Account.Capabilities.BacsDebitPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] + "stripe.Stripe.Source.Redirect": { + "properties": { + "failure_reason": { + "type": "string", + "nullable": true, + "description": "The failure reason for the redirect, either `user_abort` (the customer aborted or dropped out of the redirect flow), `declined` (the authentication failed or the transaction was declined), or `processing_error` (the redirect failed due to a technical error). Present only if the redirect status is `failed`." + }, + "return_url": { + "type": "string", + "description": "The URL you provide to redirect the customer to after they authenticated their payment." + }, + "status": { + "type": "string", + "description": "The status of the redirect, either `pending` (ready to be used by your customer to authenticate the transaction), `succeeded` (succesful authentication, cannot be reused) or `not_required` (redirect should not be used) or `failed` (failed authentication, cannot be reused)." + }, + "url": { + "type": "string", + "description": "The URL provided to you to redirect a customer to as part of a `redirect` authentication flow." + } + }, + "required": [ + "failure_reason", + "return_url", + "status", + "url" + ], + "type": "object", + "additionalProperties": false }, - "stripe.Stripe.Account.Capabilities.BancontactPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] + "stripe.Stripe.Source.SepaCreditTransfer": { + "properties": { + "bank_name": { + "type": "string", + "nullable": true + }, + "bic": { + "type": "string", + "nullable": true + }, + "iban": { + "type": "string", + "nullable": true + }, + "refund_account_holder_address_city": { + "type": "string", + "nullable": true + }, + "refund_account_holder_address_country": { + "type": "string", + "nullable": true + }, + "refund_account_holder_address_line1": { + "type": "string", + "nullable": true + }, + "refund_account_holder_address_line2": { + "type": "string", + "nullable": true + }, + "refund_account_holder_address_postal_code": { + "type": "string", + "nullable": true + }, + "refund_account_holder_address_state": { + "type": "string", + "nullable": true + }, + "refund_account_holder_name": { + "type": "string", + "nullable": true + }, + "refund_iban": { + "type": "string", + "nullable": true + } + }, + "type": "object", + "additionalProperties": false }, - "stripe.Stripe.Account.Capabilities.BankTransferPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] + "stripe.Stripe.Source.SepaDebit": { + "properties": { + "bank_code": { + "type": "string", + "nullable": true + }, + "branch_code": { + "type": "string", + "nullable": true + }, + "country": { + "type": "string", + "nullable": true + }, + "fingerprint": { + "type": "string", + "nullable": true + }, + "last4": { + "type": "string", + "nullable": true + }, + "mandate_reference": { + "type": "string", + "nullable": true + }, + "mandate_url": { + "type": "string", + "nullable": true + } + }, + "type": "object", + "additionalProperties": false }, - "stripe.Stripe.Account.Capabilities.BlikPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] + "stripe.Stripe.Source.Sofort": { + "properties": { + "bank_code": { + "type": "string", + "nullable": true + }, + "bank_name": { + "type": "string", + "nullable": true + }, + "bic": { + "type": "string", + "nullable": true + }, + "country": { + "type": "string", + "nullable": true + }, + "iban_last4": { + "type": "string", + "nullable": true + }, + "preferred_language": { + "type": "string", + "nullable": true + }, + "statement_descriptor": { + "type": "string", + "nullable": true + } + }, + "type": "object", + "additionalProperties": false }, - "stripe.Stripe.Account.Capabilities.BoletoPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] + "stripe.Stripe.Source.SourceOrder.Item": { + "properties": { + "amount": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The amount (price) for this order item." + }, + "currency": { + "type": "string", + "nullable": true, + "description": "This currency of this order item. Required when `amount` is present." + }, + "description": { + "type": "string", + "nullable": true, + "description": "Human-readable description for this order item." + }, + "parent": { + "type": "string", + "nullable": true, + "description": "The ID of the associated object for this line item. Expandable if not null (e.g., expandable to a SKU)." + }, + "quantity": { + "type": "number", + "format": "double", + "description": "The quantity of this order item. When type is `sku`, this is the number of instances of the SKU to be ordered." + }, + "type": { + "type": "string", + "nullable": true, + "description": "The type of this order item. Must be `sku`, `tax`, or `shipping`." + } + }, + "required": [ + "amount", + "currency", + "description", + "parent", + "type" + ], + "type": "object", + "additionalProperties": false }, - "stripe.Stripe.Account.Capabilities.CardIssuing": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] + "stripe.Stripe.Source.SourceOrder.Shipping": { + "properties": { + "address": { + "$ref": "#/components/schemas/stripe.Stripe.Address" + }, + "carrier": { + "type": "string", + "nullable": true, + "description": "The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc." + }, + "name": { + "type": "string", + "description": "Recipient name." + }, + "phone": { + "type": "string", + "nullable": true, + "description": "Recipient phone (including extension)." + }, + "tracking_number": { + "type": "string", + "nullable": true, + "description": "The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas." + } + }, + "type": "object", + "additionalProperties": false }, - "stripe.Stripe.Account.Capabilities.CardPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] + "stripe.Stripe.Source.SourceOrder": { + "properties": { + "amount": { + "type": "number", + "format": "double", + "description": "A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the total amount for the order." + }, + "currency": { + "type": "string", + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." + }, + "email": { + "type": "string", + "description": "The email address of the customer placing the order." + }, + "items": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Source.SourceOrder.Item" + }, + "type": "array", + "nullable": true, + "description": "List of items constituting the order." + }, + "shipping": { + "$ref": "#/components/schemas/stripe.Stripe.Source.SourceOrder.Shipping" + } + }, + "required": [ + "amount", + "currency", + "items" + ], + "type": "object", + "additionalProperties": false }, - "stripe.Stripe.Account.Capabilities.CartesBancairesPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] + "stripe.Stripe.Source.ThreeDSecure": { + "properties": { + "address_line1_check": { + "type": "string", + "nullable": true + }, + "address_zip_check": { + "type": "string", + "nullable": true + }, + "authenticated": { + "type": "boolean", + "nullable": true + }, + "brand": { + "type": "string", + "nullable": true + }, + "card": { + "type": "string", + "nullable": true + }, + "country": { + "type": "string", + "nullable": true + }, + "customer": { + "type": "string", + "nullable": true + }, + "cvc_check": { + "type": "string", + "nullable": true + }, + "description": { + "type": "string" + }, + "dynamic_last4": { + "type": "string", + "nullable": true + }, + "exp_month": { + "type": "number", + "format": "double", + "nullable": true + }, + "exp_year": { + "type": "number", + "format": "double", + "nullable": true + }, + "fingerprint": { + "type": "string" + }, + "funding": { + "type": "string", + "nullable": true + }, + "iin": { + "type": "string" + }, + "issuer": { + "type": "string" + }, + "last4": { + "type": "string", + "nullable": true + }, + "name": { + "type": "string", + "nullable": true + }, + "three_d_secure": { + "type": "string" + }, + "tokenization_method": { + "type": "string", + "nullable": true + } + }, + "type": "object", + "additionalProperties": false }, - "stripe.Stripe.Account.Capabilities.CashappPayments": { + "stripe.Stripe.Source.Type": { "type": "string", "enum": [ - "active", - "inactive", - "pending" + "ach_credit_transfer", + "ach_debit", + "acss_debit", + "alipay", + "au_becs_debit", + "bancontact", + "card", + "card_present", + "eps", + "giropay", + "ideal", + "klarna", + "multibanco", + "p24", + "sepa_credit_transfer", + "sepa_debit", + "sofort", + "three_d_secure", + "wechat" ] }, - "stripe.Stripe.Account.Capabilities.EpsPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] + "stripe.Stripe.Source.Wechat": { + "properties": { + "prepay_id": { + "type": "string" + }, + "qr_code_url": { + "type": "string", + "nullable": true + }, + "statement_descriptor": { + "type": "string" + } + }, + "type": "object", + "additionalProperties": false }, - "stripe.Stripe.Account.Capabilities.FpxPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.GbBankTransferPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.GiropayPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.GrabpayPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.IdealPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.IndiaInternationalPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.JcbPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.JpBankTransferPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.KakaoPayPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.KlarnaPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.KonbiniPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.KrCardPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.LegacyPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.LinkPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.MobilepayPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.MultibancoPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.MxBankTransferPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.NaverPayPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.OxxoPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.P24Payments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.PayByBankPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.PaycoPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.PaynowPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.PromptpayPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.RevolutPayPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.SamsungPayPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.SepaBankTransferPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.SepaDebitPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.SofortPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.SwishPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.TaxReportingUs1099K": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.TaxReportingUs1099Misc": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.Transfers": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.Treasury": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.TwintPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.UsBankAccountAchPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.UsBankTransferPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities.ZipPayments": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Account.Capabilities": { + "stripe.Stripe.Source": { + "description": "`Source` objects allow you to accept a variety of payment methods. They\nrepresent a customer's payment instrument, and can be used with the Stripe API\njust like a `Card` object: once chargeable, they can be charged, or can be\nattached to customers.\n\nStripe doesn't recommend using the deprecated [Sources API](https://stripe.com/docs/api/sources).\nWe recommend that you adopt the [PaymentMethods API](https://stripe.com/docs/api/payment_methods).\nThis newer API provides access to our latest features and payment method types.\n\nRelated guides: [Sources API](https://stripe.com/docs/sources) and [Sources & Customers](https://stripe.com/docs/sources/customers).", "properties": { - "acss_debit_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.AcssDebitPayments", - "description": "The status of the Canadian pre-authorized debits payments capability of the account, or whether the account can directly process Canadian pre-authorized debits charges." - }, - "affirm_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.AffirmPayments", - "description": "The status of the Affirm capability of the account, or whether the account can directly process Affirm charges." + "id": { + "type": "string", + "description": "Unique identifier for the object." }, - "afterpay_clearpay_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.AfterpayClearpayPayments", - "description": "The status of the Afterpay Clearpay capability of the account, or whether the account can directly process Afterpay Clearpay charges." + "object": { + "type": "string", + "enum": [ + "source" + ], + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." }, - "alma_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.AlmaPayments", - "description": "The status of the Alma capability of the account, or whether the account can directly process Alma payments." + "ach_credit_transfer": { + "$ref": "#/components/schemas/stripe.Stripe.Source.AchCreditTransfer" }, - "amazon_pay_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.AmazonPayPayments", - "description": "The status of the AmazonPay capability of the account, or whether the account can directly process AmazonPay payments." + "ach_debit": { + "$ref": "#/components/schemas/stripe.Stripe.Source.AchDebit" }, - "au_becs_debit_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.AuBecsDebitPayments", - "description": "The status of the BECS Direct Debit (AU) payments capability of the account, or whether the account can directly process BECS Direct Debit (AU) charges." + "acss_debit": { + "$ref": "#/components/schemas/stripe.Stripe.Source.AcssDebit" }, - "bacs_debit_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.BacsDebitPayments", - "description": "The status of the Bacs Direct Debits payments capability of the account, or whether the account can directly process Bacs Direct Debits charges." + "alipay": { + "$ref": "#/components/schemas/stripe.Stripe.Source.Alipay" }, - "bancontact_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.BancontactPayments", - "description": "The status of the Bancontact payments capability of the account, or whether the account can directly process Bancontact charges." + "allow_redisplay": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Source.AllowRedisplay" + } + ], + "nullable": true, + "description": "This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to “unspecified”." }, - "bank_transfer_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.BankTransferPayments", - "description": "The status of the customer_balance payments capability of the account, or whether the account can directly process customer_balance charges." + "amount": { + "type": "number", + "format": "double", + "nullable": true, + "description": "A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the total amount associated with the source. This is the amount for which the source will be chargeable once ready. Required for `single_use` sources." }, - "blik_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.BlikPayments", - "description": "The status of the blik payments capability of the account, or whether the account can directly process blik charges." + "au_becs_debit": { + "$ref": "#/components/schemas/stripe.Stripe.Source.AuBecsDebit" }, - "boleto_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.BoletoPayments", - "description": "The status of the boleto payments capability of the account, or whether the account can directly process boleto charges." + "bancontact": { + "$ref": "#/components/schemas/stripe.Stripe.Source.Bancontact" }, - "card_issuing": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.CardIssuing", - "description": "The status of the card issuing capability of the account, or whether you can use Issuing to distribute funds on cards" + "card": { + "$ref": "#/components/schemas/stripe.Stripe.Source.Card" }, - "card_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.CardPayments", - "description": "The status of the card payments capability of the account, or whether the account can directly process credit and debit card charges." + "card_present": { + "$ref": "#/components/schemas/stripe.Stripe.Source.CardPresent" }, - "cartes_bancaires_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.CartesBancairesPayments", - "description": "The status of the Cartes Bancaires payments capability of the account, or whether the account can directly process Cartes Bancaires card charges in EUR currency." + "client_secret": { + "type": "string", + "description": "The client secret of the source. Used for client-side retrieval using a publishable key." }, - "cashapp_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.CashappPayments", - "description": "The status of the Cash App Pay capability of the account, or whether the account can directly process Cash App Pay payments." + "code_verification": { + "$ref": "#/components/schemas/stripe.Stripe.Source.CodeVerification" }, - "eps_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.EpsPayments", - "description": "The status of the EPS payments capability of the account, or whether the account can directly process EPS charges." + "created": { + "type": "number", + "format": "double", + "description": "Time at which the object was created. Measured in seconds since the Unix epoch." }, - "fpx_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.FpxPayments", - "description": "The status of the FPX payments capability of the account, or whether the account can directly process FPX charges." + "currency": { + "type": "string", + "nullable": true, + "description": "Three-letter [ISO code for the currency](https://stripe.com/docs/currencies) associated with the source. This is the currency for which the source will be chargeable once ready. Required for `single_use` sources." }, - "gb_bank_transfer_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.GbBankTransferPayments", - "description": "The status of the GB customer_balance payments (GBP currency) capability of the account, or whether the account can directly process GB customer_balance charges." + "customer": { + "type": "string", + "description": "The ID of the customer to which this source is attached. This will not be present when the source has not been attached to a customer." }, - "giropay_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.GiropayPayments", - "description": "The status of the giropay payments capability of the account, or whether the account can directly process giropay charges." + "eps": { + "$ref": "#/components/schemas/stripe.Stripe.Source.Eps" }, - "grabpay_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.GrabpayPayments", - "description": "The status of the GrabPay payments capability of the account, or whether the account can directly process GrabPay charges." + "flow": { + "type": "string", + "description": "The authentication `flow` of the source. `flow` is one of `redirect`, `receiver`, `code_verification`, `none`." }, - "ideal_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.IdealPayments", - "description": "The status of the iDEAL payments capability of the account, or whether the account can directly process iDEAL charges." + "giropay": { + "$ref": "#/components/schemas/stripe.Stripe.Source.Giropay" }, - "india_international_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.IndiaInternationalPayments", - "description": "The status of the india_international_payments capability of the account, or whether the account can process international charges (non INR) in India." + "ideal": { + "$ref": "#/components/schemas/stripe.Stripe.Source.Ideal" }, - "jcb_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.JcbPayments", - "description": "The status of the JCB payments capability of the account, or whether the account (Japan only) can directly process JCB credit card charges in JPY currency." + "klarna": { + "$ref": "#/components/schemas/stripe.Stripe.Source.Klarna" }, - "jp_bank_transfer_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.JpBankTransferPayments", - "description": "The status of the Japanese customer_balance payments (JPY currency) capability of the account, or whether the account can directly process Japanese customer_balance charges." + "livemode": { + "type": "boolean", + "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." }, - "kakao_pay_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.KakaoPayPayments", - "description": "The status of the KakaoPay capability of the account, or whether the account can directly process KakaoPay payments." + "metadata": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Metadata" + } + ], + "nullable": true, + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." }, - "klarna_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.KlarnaPayments", - "description": "The status of the Klarna payments capability of the account, or whether the account can directly process Klarna charges." + "multibanco": { + "$ref": "#/components/schemas/stripe.Stripe.Source.Multibanco" }, - "konbini_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.KonbiniPayments", - "description": "The status of the konbini payments capability of the account, or whether the account can directly process konbini charges." + "owner": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Source.Owner" + } + ], + "nullable": true, + "description": "Information about the owner of the payment instrument that may be used or required by particular source types." }, - "kr_card_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.KrCardPayments", - "description": "The status of the KrCard capability of the account, or whether the account can directly process KrCard payments." + "p24": { + "$ref": "#/components/schemas/stripe.Stripe.Source.P24" }, - "legacy_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.LegacyPayments", - "description": "The status of the legacy payments capability of the account." + "receiver": { + "$ref": "#/components/schemas/stripe.Stripe.Source.Receiver" }, - "link_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.LinkPayments", - "description": "The status of the link_payments capability of the account, or whether the account can directly process Link charges." + "redirect": { + "$ref": "#/components/schemas/stripe.Stripe.Source.Redirect" }, - "mobilepay_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.MobilepayPayments", - "description": "The status of the MobilePay capability of the account, or whether the account can directly process MobilePay charges." + "sepa_credit_transfer": { + "$ref": "#/components/schemas/stripe.Stripe.Source.SepaCreditTransfer" }, - "multibanco_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.MultibancoPayments", - "description": "The status of the Multibanco payments capability of the account, or whether the account can directly process Multibanco charges." + "sepa_debit": { + "$ref": "#/components/schemas/stripe.Stripe.Source.SepaDebit" }, - "mx_bank_transfer_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.MxBankTransferPayments", - "description": "The status of the Mexican customer_balance payments (MXN currency) capability of the account, or whether the account can directly process Mexican customer_balance charges." + "sofort": { + "$ref": "#/components/schemas/stripe.Stripe.Source.Sofort" }, - "naver_pay_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.NaverPayPayments", - "description": "The status of the NaverPay capability of the account, or whether the account can directly process NaverPay payments." + "source_order": { + "$ref": "#/components/schemas/stripe.Stripe.Source.SourceOrder" }, - "oxxo_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.OxxoPayments", - "description": "The status of the OXXO payments capability of the account, or whether the account can directly process OXXO charges." - }, - "p24_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.P24Payments", - "description": "The status of the P24 payments capability of the account, or whether the account can directly process P24 charges." - }, - "pay_by_bank_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.PayByBankPayments", - "description": "The status of the pay_by_bank payments capability of the account, or whether the account can directly process pay_by_bank charges." - }, - "payco_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.PaycoPayments", - "description": "The status of the Payco capability of the account, or whether the account can directly process Payco payments." - }, - "paynow_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.PaynowPayments", - "description": "The status of the paynow payments capability of the account, or whether the account can directly process paynow charges." - }, - "promptpay_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.PromptpayPayments", - "description": "The status of the promptpay payments capability of the account, or whether the account can directly process promptpay charges." - }, - "revolut_pay_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.RevolutPayPayments", - "description": "The status of the RevolutPay capability of the account, or whether the account can directly process RevolutPay payments." - }, - "samsung_pay_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.SamsungPayPayments", - "description": "The status of the SamsungPay capability of the account, or whether the account can directly process SamsungPay payments." - }, - "sepa_bank_transfer_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.SepaBankTransferPayments", - "description": "The status of the SEPA customer_balance payments (EUR currency) capability of the account, or whether the account can directly process SEPA customer_balance charges." - }, - "sepa_debit_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.SepaDebitPayments", - "description": "The status of the SEPA Direct Debits payments capability of the account, or whether the account can directly process SEPA Direct Debits charges." - }, - "sofort_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.SofortPayments", - "description": "The status of the Sofort payments capability of the account, or whether the account can directly process Sofort charges." - }, - "swish_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.SwishPayments", - "description": "The status of the Swish capability of the account, or whether the account can directly process Swish payments." - }, - "tax_reporting_us_1099_k": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.TaxReportingUs1099K", - "description": "The status of the tax reporting 1099-K (US) capability of the account." - }, - "tax_reporting_us_1099_misc": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.TaxReportingUs1099Misc", - "description": "The status of the tax reporting 1099-MISC (US) capability of the account." - }, - "transfers": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.Transfers", - "description": "The status of the transfers capability of the account, or whether your platform can transfer funds to the account." - }, - "treasury": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.Treasury", - "description": "The status of the banking capability, or whether the account can have bank accounts." - }, - "twint_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.TwintPayments", - "description": "The status of the TWINT capability of the account, or whether the account can directly process TWINT charges." - }, - "us_bank_account_ach_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.UsBankAccountAchPayments", - "description": "The status of the US bank account ACH payments capability of the account, or whether the account can directly process US bank account charges." - }, - "us_bank_transfer_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.UsBankTransferPayments", - "description": "The status of the US customer_balance payments (USD currency) capability of the account, or whether the account can directly process US customer_balance charges." - }, - "zip_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities.ZipPayments", - "description": "The status of the Zip capability of the account, or whether the account can directly process Zip charges." - } - }, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Account.Company.AddressKana": { - "properties": { - "city": { - "type": "string", - "nullable": true, - "description": "City/Ward." - }, - "country": { + "statement_descriptor": { "type": "string", "nullable": true, - "description": "Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2))." + "description": "Extra information about a source. This will appear on your customer's statement every time you charge the source." }, - "line1": { + "status": { "type": "string", - "nullable": true, - "description": "Block/Building number." + "description": "The status of the source, one of `canceled`, `chargeable`, `consumed`, `failed`, or `pending`. Only `chargeable` sources can be used to create a charge." }, - "line2": { - "type": "string", - "nullable": true, - "description": "Building details." + "three_d_secure": { + "$ref": "#/components/schemas/stripe.Stripe.Source.ThreeDSecure" }, - "postal_code": { - "type": "string", - "nullable": true, - "description": "ZIP or postal code." + "type": { + "$ref": "#/components/schemas/stripe.Stripe.Source.Type", + "description": "The `type` of the source. The `type` is a payment method, one of `ach_credit_transfer`, `ach_debit`, `alipay`, `bancontact`, `card`, `card_present`, `eps`, `giropay`, `ideal`, `multibanco`, `klarna`, `p24`, `sepa_debit`, `sofort`, `three_d_secure`, or `wechat`. An additional hash is included on the source with a name matching this value. It contains additional information specific to the [payment method](https://stripe.com/docs/sources) used." }, - "state": { + "usage": { "type": "string", "nullable": true, - "description": "Prefecture." + "description": "Either `reusable` or `single_use`. Whether this source should be reusable or not. Some source types may or may not be reusable by construction, while others may leave the option at creation. If an incompatible value is passed, an error will be returned." }, - "town": { - "type": "string", - "nullable": true, - "description": "Town/cho-me." + "wechat": { + "$ref": "#/components/schemas/stripe.Stripe.Source.Wechat" } }, "required": [ - "city", - "country", - "line1", - "line2", - "postal_code", - "state", - "town" + "id", + "object", + "allow_redisplay", + "amount", + "client_secret", + "created", + "currency", + "flow", + "livemode", + "metadata", + "owner", + "statement_descriptor", + "status", + "type", + "usage" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Account.Company.AddressKanji": { - "properties": { - "city": { - "type": "string", - "nullable": true, - "description": "City/Ward." - }, - "country": { - "type": "string", - "nullable": true, - "description": "Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2))." - }, - "line1": { - "type": "string", - "nullable": true, - "description": "Block/Building number." - }, - "line2": { - "type": "string", - "nullable": true, - "description": "Building details." + "stripe.Stripe.CustomerSource": { + "anyOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Account" }, - "postal_code": { - "type": "string", - "nullable": true, - "description": "ZIP or postal code." + { + "$ref": "#/components/schemas/stripe.Stripe.BankAccount" }, - "state": { - "type": "string", - "nullable": true, - "description": "Prefecture." + { + "$ref": "#/components/schemas/stripe.Stripe.Card" }, - "town": { - "type": "string", - "nullable": true, - "description": "Town/cho-me." + { + "$ref": "#/components/schemas/stripe.Stripe.Source" } - }, - "required": [ - "city", - "country", - "line1", - "line2", - "postal_code", - "state", - "town" - ], - "type": "object", - "additionalProperties": false + ] }, - "stripe.Stripe.Account.Company.DirectorshipDeclaration": { + "stripe.Stripe.Coupon.AppliesTo": { "properties": { - "date": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The Unix timestamp marking when the directorship declaration attestation was made." - }, - "ip": { - "type": "string", - "nullable": true, - "description": "The IP address from which the directorship declaration attestation was made." - }, - "user_agent": { - "type": "string", - "nullable": true, - "description": "The user-agent string from the browser where the directorship declaration attestation was made." + "products": { + "items": { + "type": "string" + }, + "type": "array", + "description": "A list of product IDs this coupon applies to" } }, "required": [ - "date", - "ip", - "user_agent" + "products" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Account.Company.OwnershipDeclaration": { + "stripe.Stripe.Coupon.CurrencyOptions": { "properties": { - "date": { + "amount_off": { "type": "number", "format": "double", - "nullable": true, - "description": "The Unix timestamp marking when the beneficial owner attestation was made." - }, - "ip": { - "type": "string", - "nullable": true, - "description": "The IP address from which the beneficial owner attestation was made." - }, - "user_agent": { - "type": "string", - "nullable": true, - "description": "The user-agent string from the browser where the beneficial owner attestation was made." + "description": "Amount (in the `currency` specified) that will be taken off the subtotal of any invoices for this customer." } }, "required": [ - "date", - "ip", - "user_agent" + "amount_off" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Account.Company.OwnershipExemptionReason": { - "type": "string", - "enum": [ - "qualified_entity_exceeds_ownership_threshold", - "qualifies_as_financial_institution" - ] - }, - "stripe.Stripe.Account.Company.Structure": { + "stripe.Stripe.Coupon.Duration": { "type": "string", "enum": [ - "free_zone_establishment", - "free_zone_llc", - "government_instrumentality", - "governmental_unit", - "incorporated_non_profit", - "incorporated_partnership", - "limited_liability_partnership", - "llc", - "multi_member_llc", - "private_company", - "private_corporation", - "private_partnership", - "public_company", - "public_corporation", - "public_partnership", - "registered_charity", - "single_member_llc", - "sole_establishment", - "sole_proprietorship", - "tax_exempt_government_instrumentality", - "unincorporated_association", - "unincorporated_non_profit", - "unincorporated_partnership" + "forever", + "once", + "repeating" ] }, - "stripe.Stripe.File": { - "description": "This object represents files hosted on Stripe's servers. You can upload\nfiles with the [create file](https://stripe.com/docs/api#create_file) request\n(for example, when uploading dispute evidence). Stripe also\ncreates files independently (for example, the results of a [Sigma scheduled\nquery](https://stripe.com/docs/api#scheduled_queries)).\n\nRelated guide: [File upload guide](https://stripe.com/docs/file-upload)", + "stripe.Stripe.Coupon": { + "description": "A coupon contains information about a percent-off or amount-off discount you\nmight want to apply to a customer. Coupons may be applied to [subscriptions](https://stripe.com/docs/api#subscriptions), [invoices](https://stripe.com/docs/api#invoices),\n[checkout sessions](https://stripe.com/docs/api/checkout/sessions), [quotes](https://stripe.com/docs/api#quotes), and more. Coupons do not work with conventional one-off [charges](https://stripe.com/docs/api#create_charge) or [payment intents](https://stripe.com/docs/api/payment_intents).", "properties": { "id": { "type": "string", @@ -11324,86 +9785,167 @@ "object": { "type": "string", "enum": [ - "file" + "coupon" ], "nullable": false, "description": "String representing the object's type. Objects of the same type share the same value." }, + "amount_off": { + "type": "number", + "format": "double", + "nullable": true, + "description": "Amount (in the `currency` specified) that will be taken off the subtotal of any invoices for this customer." + }, + "applies_to": { + "$ref": "#/components/schemas/stripe.Stripe.Coupon.AppliesTo" + }, "created": { "type": "number", "format": "double", "description": "Time at which the object was created. Measured in seconds since the Unix epoch." }, - "expires_at": { + "currency": { + "type": "string", + "nullable": true, + "description": "If `amount_off` has been set, the three-letter [ISO code for the currency](https://stripe.com/docs/currencies) of the amount to take off." + }, + "currency_options": { + "properties": {}, + "additionalProperties": { + "$ref": "#/components/schemas/stripe.Stripe.Coupon.CurrencyOptions" + }, + "type": "object", + "description": "Coupons defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies)." + }, + "deleted": { + "description": "Always true for a deleted object" + }, + "duration": { + "$ref": "#/components/schemas/stripe.Stripe.Coupon.Duration", + "description": "One of `forever`, `once`, and `repeating`. Describes how long a customer who applies this coupon will get the discount." + }, + "duration_in_months": { "type": "number", "format": "double", "nullable": true, - "description": "The file expires and isn't available at this time in epoch seconds." + "description": "If `duration` is `repeating`, the number of months the coupon applies. Null if coupon `duration` is `forever` or `once`." }, - "filename": { - "type": "string", + "livemode": { + "type": "boolean", + "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." + }, + "max_redemptions": { + "type": "number", + "format": "double", "nullable": true, - "description": "The suitable name for saving the file to a filesystem." + "description": "Maximum number of times this coupon can be redeemed, in total, across all customers, before it is no longer valid." }, - "links": { + "metadata": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.ApiList_stripe.Stripe.FileLink_" + "$ref": "#/components/schemas/stripe.Stripe.Metadata" } ], "nullable": true, - "description": "A list of [file links](https://stripe.com/docs/api#file_links) that point at this file." + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." }, - "purpose": { - "$ref": "#/components/schemas/stripe.Stripe.File.Purpose", - "description": "The [purpose](https://stripe.com/docs/file-upload#uploading-a-file) of the uploaded file." + "name": { + "type": "string", + "nullable": true, + "description": "Name of the coupon displayed to customers on for instance invoices or receipts." }, - "size": { + "percent_off": { "type": "number", "format": "double", - "description": "The size of the file object in bytes." - }, - "title": { - "type": "string", "nullable": true, - "description": "A suitable title for the document." + "description": "Percent that will be taken off the subtotal of any invoices for this customer for the duration of the coupon. For example, a coupon with percent_off of 50 will make a $ (or local equivalent)100 invoice $ (or local equivalent)50 instead." }, - "type": { - "type": "string", + "redeem_by": { + "type": "number", + "format": "double", "nullable": true, - "description": "The returned file type (for example, `csv`, `pdf`, `jpg`, or `png`)." + "description": "Date after which the coupon can no longer be redeemed." }, - "url": { - "type": "string", - "nullable": true, - "description": "Use your live secret API key to download the file from this URL." + "times_redeemed": { + "type": "number", + "format": "double", + "description": "Number of times this coupon has been applied to a customer." + }, + "valid": { + "type": "boolean", + "description": "Taking account of the above properties, whether this coupon can still be applied to a customer." } }, "required": [ "id", "object", + "amount_off", "created", - "expires_at", - "filename", - "purpose", - "size", - "title", - "type", - "url" + "currency", + "duration", + "duration_in_months", + "livemode", + "max_redemptions", + "metadata", + "name", + "percent_off", + "redeem_by", + "times_redeemed", + "valid" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Metadata": { - "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", - "properties": {}, + "stripe.Stripe.PromotionCode.Restrictions.CurrencyOptions": { + "properties": { + "minimum_amount": { + "type": "number", + "format": "double", + "description": "Minimum amount required to redeem this Promotion Code into a Coupon (e.g., a purchase must be $100 or more to work)." + } + }, + "required": [ + "minimum_amount" + ], "type": "object", - "additionalProperties": { - "type": "string" - } + "additionalProperties": false }, - "stripe.Stripe.FileLink": { - "description": "To share the contents of a `File` object with non-Stripe users, you can\ncreate a `FileLink`. `FileLink`s contain a URL that you can use to\nretrieve the contents of the file without authentication.", + "stripe.Stripe.PromotionCode.Restrictions": { + "properties": { + "currency_options": { + "properties": {}, + "additionalProperties": { + "$ref": "#/components/schemas/stripe.Stripe.PromotionCode.Restrictions.CurrencyOptions" + }, + "type": "object", + "description": "Promotion code restrictions defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies)." + }, + "first_time_transaction": { + "type": "boolean", + "description": "A Boolean indicating if the Promotion Code should only be redeemed for Customers without any successful payments or invoices" + }, + "minimum_amount": { + "type": "number", + "format": "double", + "nullable": true, + "description": "Minimum amount required to redeem this Promotion Code into a Coupon (e.g., a purchase must be $100 or more to work)." + }, + "minimum_amount_currency": { + "type": "string", + "nullable": true, + "description": "Three-letter [ISO code](https://stripe.com/docs/currencies) for minimum_amount" + } + }, + "required": [ + "first_time_transaction", + "minimum_amount", + "minimum_amount_currency" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PromotionCode": { + "description": "A Promotion Code represents a customer-redeemable code for a [coupon](https://stripe.com/docs/api#coupons). It can be used to\ncreate multiple codes for a single coupon.", "properties": { "id": { "type": "string", @@ -11412,771 +9954,740 @@ "object": { "type": "string", "enum": [ - "file_link" + "promotion_code" ], "nullable": false, "description": "String representing the object's type. Objects of the same type share the same value." }, - "created": { - "type": "number", - "format": "double", - "description": "Time at which the object was created. Measured in seconds since the Unix epoch." - }, - "expired": { + "active": { "type": "boolean", - "description": "Returns if the link is already expired." + "description": "Whether the promotion code is currently active. A promotion code is only active if the coupon is also valid." }, - "expires_at": { + "code": { + "type": "string", + "description": "The customer-facing code. Regardless of case, this code must be unique across all active promotion codes for each customer. Valid characters are lower case letters (a-z), upper case letters (A-Z), and digits (0-9)." + }, + "coupon": { + "$ref": "#/components/schemas/stripe.Stripe.Coupon", + "description": "A coupon contains information about a percent-off or amount-off discount you\nmight want to apply to a customer. Coupons may be applied to [subscriptions](https://stripe.com/docs/api#subscriptions), [invoices](https://stripe.com/docs/api#invoices),\n[checkout sessions](https://stripe.com/docs/api/checkout/sessions), [quotes](https://stripe.com/docs/api#quotes), and more. Coupons do not work with conventional one-off [charges](https://stripe.com/docs/api#create_charge) or [payment intents](https://stripe.com/docs/api/payment_intents)." + }, + "created": { "type": "number", "format": "double", - "nullable": true, - "description": "Time that the link expires." + "description": "Time at which the object was created. Measured in seconds since the Unix epoch." }, - "file": { + "customer": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.File" + "$ref": "#/components/schemas/stripe.Stripe.Customer" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedCustomer" } ], - "description": "The file object this link points to." + "nullable": true, + "description": "The customer that this promotion code can be used by." + }, + "expires_at": { + "type": "number", + "format": "double", + "nullable": true, + "description": "Date at which the promotion code can no longer be redeemed." }, "livemode": { "type": "boolean", "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." }, + "max_redemptions": { + "type": "number", + "format": "double", + "nullable": true, + "description": "Maximum number of times this promotion code can be redeemed." + }, "metadata": { - "$ref": "#/components/schemas/stripe.Stripe.Metadata", + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Metadata" + } + ], + "nullable": true, "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." }, - "url": { - "type": "string", - "nullable": true, - "description": "The publicly accessible URL to download the file." + "restrictions": { + "$ref": "#/components/schemas/stripe.Stripe.PromotionCode.Restrictions" + }, + "times_redeemed": { + "type": "number", + "format": "double", + "description": "Number of times this promotion code has been used." } }, "required": [ "id", "object", - "created", - "expired", + "active", + "code", + "coupon", + "created", + "customer", "expires_at", - "file", "livemode", + "max_redemptions", "metadata", - "url" + "restrictions", + "times_redeemed" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.ApiList_stripe.Stripe.FileLink_": { - "description": "A container for paginated lists of objects.\nThe array of objects is on the `.data` property,\nand `.has_more` indicates whether there are additional objects beyond the end of this list.\n\nLearn more in Stripe's [pagination docs](https://stripe.com/docs/api/pagination?lang=node)\nor, when iterating over many items, try [auto-pagination](https://github.com/stripe/stripe-node#auto-pagination) instead.", + "stripe.Stripe.Discount": { + "description": "A discount represents the actual application of a [coupon](https://stripe.com/docs/api#coupons) or [promotion code](https://stripe.com/docs/api#promotion_codes).\nIt contains information about when the discount began, when it will end, and what it is applied to.\n\nRelated guide: [Applying discounts to subscriptions](https://stripe.com/docs/billing/subscriptions/discounts)", "properties": { + "id": { + "type": "string", + "description": "The ID of the discount object. Discounts cannot be fetched by ID. Use `expand[]=discounts` in API calls to expand discount IDs in an array." + }, "object": { "type": "string", "enum": [ - "list" + "discount" ], - "nullable": false + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." }, - "data": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.FileLink" - }, - "type": "array" + "checkout_session": { + "type": "string", + "nullable": true, + "description": "The Checkout session that this coupon is applied to, if it is applied to a particular session in payment mode. Will not be present for subscription mode." }, - "has_more": { - "type": "boolean", - "description": "True if this list has another page of items after this one that can be fetched." + "coupon": { + "$ref": "#/components/schemas/stripe.Stripe.Coupon", + "description": "A coupon contains information about a percent-off or amount-off discount you\nmight want to apply to a customer. Coupons may be applied to [subscriptions](https://stripe.com/docs/api#subscriptions), [invoices](https://stripe.com/docs/api#invoices),\n[checkout sessions](https://stripe.com/docs/api/checkout/sessions), [quotes](https://stripe.com/docs/api#quotes), and more. Coupons do not work with conventional one-off [charges](https://stripe.com/docs/api#create_charge) or [payment intents](https://stripe.com/docs/api/payment_intents)." }, - "url": { - "type": "string", - "description": "The URL where this list can be accessed." - } - }, - "required": [ - "object", - "data", - "has_more", - "url" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.File.Purpose": { - "type": "string", - "enum": [ - "account_requirement", - "additional_verification", - "business_icon", - "business_logo", - "customer_signature", - "dispute_evidence", - "document_provider_identity_document", - "finance_report_run", - "financial_account_statement", - "identity_document", - "identity_document_downloadable", - "issuing_regulatory_reporting", - "pci_document", - "selfie", - "sigma_scheduled_query", - "tax_document_user_upload", - "terminal_reader_splashscreen" - ] - }, - "stripe.Stripe.Account.Company.Verification.Document": { - "properties": { - "back": { + "customer": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.File" + "$ref": "#/components/schemas/stripe.Stripe.Customer" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedCustomer" } ], "nullable": true, - "description": "The back of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `additional_verification`." + "description": "The ID of the customer associated with this discount." }, - "details": { + "deleted": { + "description": "Always true for a deleted object" + }, + "end": { + "type": "number", + "format": "double", + "nullable": true, + "description": "If the coupon has a duration of `repeating`, the date that this discount will end. If the coupon has a duration of `once` or `forever`, this attribute will be null." + }, + "invoice": { "type": "string", "nullable": true, - "description": "A user-displayable string describing the verification state of this document." + "description": "The invoice that the discount's coupon was applied to, if it was applied directly to a particular invoice." }, - "details_code": { + "invoice_item": { "type": "string", "nullable": true, - "description": "One of `document_corrupt`, `document_expired`, `document_failed_copy`, `document_failed_greyscale`, `document_failed_other`, `document_failed_test_mode`, `document_fraudulent`, `document_incomplete`, `document_invalid`, `document_manipulated`, `document_not_readable`, `document_not_uploaded`, `document_type_not_supported`, or `document_too_large`. A machine-readable code specifying the verification state for this document." + "description": "The invoice item `id` (or invoice line item `id` for invoice line items of type='subscription') that the discount's coupon was applied to, if it was applied directly to a particular invoice item or invoice line item." }, - "front": { + "promotion_code": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.File" + "$ref": "#/components/schemas/stripe.Stripe.PromotionCode" } ], "nullable": true, - "description": "The front of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `additional_verification`." + "description": "The promotion code applied to create this discount." + }, + "start": { + "type": "number", + "format": "double", + "description": "Date that the coupon was applied." + }, + "subscription": { + "type": "string", + "nullable": true, + "description": "The subscription that this coupon is applied to, if it is applied to a particular subscription." + }, + "subscription_item": { + "type": "string", + "nullable": true, + "description": "The subscription item that this coupon is applied to, if it is applied to a particular subscription item." } }, "required": [ - "back", - "details", - "details_code", - "front" + "id", + "object", + "checkout_session", + "coupon", + "customer", + "end", + "invoice", + "invoice_item", + "promotion_code", + "start", + "subscription", + "subscription_item" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Account.Company.Verification": { + "stripe.Stripe.Customer.InvoiceSettings.CustomField": { "properties": { - "document": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Company.Verification.Document" + "name": { + "type": "string", + "description": "The name of the custom field." + }, + "value": { + "type": "string", + "description": "The value of the custom field." } }, "required": [ - "document" + "name", + "value" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Account.Company": { + "stripe.Stripe.PaymentMethod.AcssDebit": { "properties": { - "address": { - "$ref": "#/components/schemas/stripe.Stripe.Address" - }, - "address_kana": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Account.Company.AddressKana" - } - ], + "bank_name": { + "type": "string", "nullable": true, - "description": "The Kana variation of the company's primary address (Japan only)." + "description": "Name of the bank associated with the bank account." }, - "address_kanji": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Account.Company.AddressKanji" - } - ], + "fingerprint": { + "type": "string", "nullable": true, - "description": "The Kanji variation of the company's primary address (Japan only)." - }, - "directors_provided": { - "type": "boolean", - "description": "Whether the company's directors have been provided. This Boolean will be `true` if you've manually indicated that all directors are provided via [the `directors_provided` parameter](https://stripe.com/docs/api/accounts/update#update_account-company-directors_provided)." + "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same." }, - "directorship_declaration": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Account.Company.DirectorshipDeclaration" - } - ], + "institution_number": { + "type": "string", "nullable": true, - "description": "This hash is used to attest that the director information provided to Stripe is both current and correct." - }, - "executives_provided": { - "type": "boolean", - "description": "Whether the company's executives have been provided. This Boolean will be `true` if you've manually indicated that all executives are provided via [the `executives_provided` parameter](https://stripe.com/docs/api/accounts/update#update_account-company-executives_provided), or if Stripe determined that sufficient executives were provided." + "description": "Institution number of the bank account." }, - "export_license_id": { + "last4": { "type": "string", - "description": "The export license ID number of the company, also referred as Import Export Code (India only)." + "nullable": true, + "description": "Last four digits of the bank account number." }, - "export_purpose_code": { + "transit_number": { "type": "string", - "description": "The purpose code to use for export transactions (India only)." - }, - "name": { + "nullable": true, + "description": "Transit number of the bank account." + } + }, + "required": [ + "bank_name", + "fingerprint", + "institution_number", + "last4", + "transit_number" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentMethod.Affirm": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentMethod.AfterpayClearpay": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentMethod.Alipay": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentMethod.AllowRedisplay": { + "type": "string", + "enum": [ + "always", + "limited", + "unspecified" + ] + }, + "stripe.Stripe.PaymentMethod.Alma": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentMethod.AmazonPay": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentMethod.AuBecsDebit": { + "properties": { + "bsb_number": { "type": "string", "nullable": true, - "description": "The company's legal name." + "description": "Six-digit number identifying bank and branch associated with this bank account." }, - "name_kana": { + "fingerprint": { "type": "string", "nullable": true, - "description": "The Kana variation of the company's legal name (Japan only)." + "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same." }, - "name_kanji": { + "last4": { "type": "string", "nullable": true, - "description": "The Kanji variation of the company's legal name (Japan only)." + "description": "Last four digits of the bank account number." + } + }, + "required": [ + "bsb_number", + "fingerprint", + "last4" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentMethod.BacsDebit": { + "properties": { + "fingerprint": { + "type": "string", + "nullable": true, + "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same." }, - "owners_provided": { - "type": "boolean", - "description": "Whether the company's owners have been provided. This Boolean will be `true` if you've manually indicated that all owners are provided via [the `owners_provided` parameter](https://stripe.com/docs/api/accounts/update#update_account-company-owners_provided), or if Stripe determined that sufficient owners were provided. Stripe determines ownership requirements using both the number of owners provided and their total percent ownership (calculated by adding the `percent_ownership` of each owner together)." + "last4": { + "type": "string", + "nullable": true, + "description": "Last four digits of the bank account number." }, - "ownership_declaration": { + "sort_code": { + "type": "string", + "nullable": true, + "description": "Sort code of the bank account. (e.g., `10-20-30`)" + } + }, + "required": [ + "fingerprint", + "last4", + "sort_code" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentMethod.Bancontact": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentMethod.BillingDetails": { + "properties": { + "address": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Account.Company.OwnershipDeclaration" + "$ref": "#/components/schemas/stripe.Stripe.Address" } ], "nullable": true, - "description": "This hash is used to attest that the beneficial owner information provided to Stripe is both current and correct." - }, - "ownership_exemption_reason": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Company.OwnershipExemptionReason" + "description": "Billing address." }, - "phone": { + "email": { "type": "string", "nullable": true, - "description": "The company's phone number (used for verification)." - }, - "structure": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Company.Structure", - "description": "The category identifying the legal structure of the company or legal entity. See [Business structure](https://stripe.com/docs/connect/identity-verification#business-structure) for more details." - }, - "tax_id_provided": { - "type": "boolean", - "description": "Whether the company's business ID number was provided." + "description": "Email address." }, - "tax_id_registrar": { + "name": { "type": "string", - "description": "The jurisdiction in which the `tax_id` is registered (Germany-based companies only)." - }, - "vat_id_provided": { - "type": "boolean", - "description": "Whether the company's business VAT number was provided." + "nullable": true, + "description": "Full name." }, - "verification": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Account.Company.Verification" - } - ], + "phone": { + "type": "string", "nullable": true, - "description": "Information on the verification state of the company." + "description": "Billing phone number (including extension)." } }, + "required": [ + "address", + "email", + "name", + "phone" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Account.Controller.Fees.Payer": { - "type": "string", - "enum": [ - "account", - "application", - "application_custom", - "application_express" - ] + "stripe.Stripe.PaymentMethod.Blik": { + "properties": {}, + "type": "object", + "additionalProperties": false }, - "stripe.Stripe.Account.Controller.Fees": { + "stripe.Stripe.PaymentMethod.Boleto": { "properties": { - "payer": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Controller.Fees.Payer", - "description": "A value indicating the responsible payer of a bundle of Stripe fees for pricing-control eligible products on this account. Learn more about [fee behavior on connected accounts](https://docs.stripe.com/connect/direct-charges-fee-payer-behavior)." + "tax_id": { + "type": "string", + "description": "Uniquely identifies the customer tax id (CNPJ or CPF)" } }, "required": [ - "payer" + "tax_id" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Account.Controller.Losses.Payments": { - "type": "string", - "enum": [ - "application", - "stripe" - ] - }, - "stripe.Stripe.Account.Controller.Losses": { + "stripe.Stripe.PaymentMethod.Card.Checks": { "properties": { - "payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Controller.Losses.Payments", - "description": "A value indicating who is liable when this account can't pay back negative balances from payments." + "address_line1_check": { + "type": "string", + "nullable": true, + "description": "If a address line1 was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`." + }, + "address_postal_code_check": { + "type": "string", + "nullable": true, + "description": "If a address postal code was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`." + }, + "cvc_check": { + "type": "string", + "nullable": true, + "description": "If a CVC was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`." } }, "required": [ - "payments" + "address_line1_check", + "address_postal_code_check", + "cvc_check" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Account.Controller.RequirementCollection": { - "type": "string", - "enum": [ - "application", - "stripe" - ] - }, - "stripe.Stripe.Account.Controller.StripeDashboard.Type": { - "type": "string", - "enum": [ - "express", - "full", - "none" - ] - }, - "stripe.Stripe.Account.Controller.StripeDashboard": { + "stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Offline": { "properties": { + "stored_at": { + "type": "number", + "format": "double", + "nullable": true, + "description": "Time at which the payment was collected while offline" + }, "type": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Controller.StripeDashboard.Type", - "description": "A value indicating the Stripe dashboard this account has access to independent of the Connect application." + "type": "string", + "enum": [ + "deferred", + null + ], + "nullable": true, + "description": "The method used to process this payment method offline. Only deferred is allowed." } }, "required": [ + "stored_at", "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Account.Controller.Type": { + "stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.ReadMethod": { "type": "string", "enum": [ - "account", - "application" + "contact_emv", + "contactless_emv", + "contactless_magstripe_mode", + "magnetic_stripe_fallback", + "magnetic_stripe_track2" ] }, - "stripe.Stripe.Account.Controller": { + "stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Receipt.AccountType": { + "type": "string", + "enum": [ + "checking", + "credit", + "prepaid", + "unknown" + ] + }, + "stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Receipt": { "properties": { - "fees": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Controller.Fees" - }, - "is_controller": { - "type": "boolean", - "description": "`true` if the Connect application retrieving the resource controls the account and can therefore exercise [platform controls](https://stripe.com/docs/connect/platform-controls-for-standard-accounts). Otherwise, this field is null." + "account_type": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Receipt.AccountType", + "description": "The type of account being debited or credited" }, - "losses": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Controller.Losses" + "application_cryptogram": { + "type": "string", + "nullable": true, + "description": "EMV tag 9F26, cryptogram generated by the integrated circuit chip." }, - "requirement_collection": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Controller.RequirementCollection", - "description": "A value indicating responsibility for collecting requirements on this account. Only returned when the Connect application retrieving the resource controls the account." + "application_preferred_name": { + "type": "string", + "nullable": true, + "description": "Mnenomic of the Application Identifier." }, - "stripe_dashboard": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Controller.StripeDashboard" + "authorization_code": { + "type": "string", + "nullable": true, + "description": "Identifier for this transaction." }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Controller.Type", - "description": "The controller type. Can be `application`, if a Connect application controls the account, or `account`, if the account controls itself." - } - }, - "required": [ - "type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Account": { - "description": "This is an object representing a Stripe account. You can retrieve it to see\nproperties on the account like its current requirements or if the account is\nenabled to make live charges or receive payouts.\n\nFor accounts where [controller.requirement_collection](https://stripe.com/api/accounts/object#account_object-controller-requirement_collection)\nis `application`, which includes Custom accounts, the properties below are always\nreturned.\n\nFor accounts where [controller.requirement_collection](https://stripe.com/api/accounts/object#account_object-controller-requirement_collection)\nis `stripe`, which includes Standard and Express accounts, some properties are only returned\nuntil you create an [Account Link](https://stripe.com/api/account_links) or [Account Session](https://stripe.com/api/account_sessions)\nto start Connect Onboarding. Learn about the [differences between accounts](https://stripe.com/connect/accounts).", - "properties": { - "id": { + "authorization_response_code": { "type": "string", - "description": "Unique identifier for the object." + "nullable": true, + "description": "EMV tag 8A. A code returned by the card issuer." }, - "object": { + "cardholder_verification_method": { "type": "string", - "enum": [ - "account" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." - }, - "business_profile": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Account.BusinessProfile" - } - ], - "nullable": true, - "description": "Business information about the account." - }, - "business_type": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Account.BusinessType" - } - ], "nullable": true, - "description": "The business type. After you create an [Account Link](https://stripe.com/api/account_links) or [Account Session](https://stripe.com/api/account_sessions), this property is only returned for accounts where [controller.requirement_collection](https://stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts." - }, - "capabilities": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Capabilities" - }, - "charges_enabled": { - "type": "boolean", - "description": "Whether the account can process charges." - }, - "company": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Company" - }, - "controller": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Controller" - }, - "country": { - "type": "string", - "description": "The account's country." - }, - "created": { - "type": "number", - "format": "double", - "description": "Time at which the account was connected. Measured in seconds since the Unix epoch." - }, - "default_currency": { - "type": "string", - "description": "Three-letter ISO currency code representing the default currency for the account. This must be a currency that [Stripe supports in the account's country](https://stripe.com/docs/payouts)." - }, - "deleted": { - "description": "Always true for a deleted object" - }, - "details_submitted": { - "type": "boolean", - "description": "Whether account details have been submitted. Accounts with Stripe Dashboard access, which includes Standard accounts, cannot receive payouts before this is true. Accounts where this is false should be directed to [an onboarding flow](https://stripe.com/connect/onboarding) to finish submitting account details." + "description": "Describes the method used by the cardholder to verify ownership of the card. One of the following: `approval`, `failure`, `none`, `offline_pin`, `offline_pin_and_signature`, `online_pin`, or `signature`." }, - "email": { + "dedicated_file_name": { "type": "string", "nullable": true, - "description": "An email address associated with the account. It's not used for authentication and Stripe doesn't market to this field without explicit approval from the platform." - }, - "external_accounts": { - "$ref": "#/components/schemas/stripe.Stripe.ApiList_stripe.Stripe.ExternalAccount_", - "description": "External accounts (bank accounts and debit cards) currently attached to this account. External accounts are only returned for requests where `controller[is_controller]` is true." - }, - "future_requirements": { - "$ref": "#/components/schemas/stripe.Stripe.Account.FutureRequirements" + "description": "EMV tag 84. Similar to the application identifier stored on the integrated circuit chip." }, - "groups": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Account.Groups" - } - ], + "terminal_verification_results": { + "type": "string", "nullable": true, - "description": "The groups associated with the account." - }, - "individual": { - "$ref": "#/components/schemas/stripe.Stripe.Person", - "description": "This is an object representing a person associated with a Stripe account.\n\nA platform cannot access a person for an account where [account.controller.requirement_collection](https://stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `stripe`, which includes Standard and Express accounts, after creating an Account Link or Account Session to start Connect onboarding.\n\nSee the [Standard onboarding](https://stripe.com/connect/standard-accounts) or [Express onboarding](https://stripe.com/connect/express-accounts) documentation for information about prefilling information and account onboarding steps. Learn more about [handling identity verification with the API](https://stripe.com/connect/handling-api-verification#person-information)." - }, - "metadata": { - "$ref": "#/components/schemas/stripe.Stripe.Metadata", - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." - }, - "payouts_enabled": { - "type": "boolean", - "description": "Whether the funds in this account can be paid out." - }, - "requirements": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Requirements" + "description": "The outcome of a series of EMV functions performed by the card reader." }, - "settings": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Account.Settings" - } - ], + "transaction_status_information": { + "type": "string", "nullable": true, - "description": "Options for customizing how the account functions within Stripe." - }, - "tos_acceptance": { - "$ref": "#/components/schemas/stripe.Stripe.Account.TosAcceptance" - }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Type", - "description": "The Stripe account type. Can be `standard`, `express`, `custom`, or `none`." + "description": "An indication of various EMV functions performed during the transaction." } }, "required": [ - "id", - "object", - "charges_enabled", - "details_submitted", - "email", - "payouts_enabled", - "type" + "application_cryptogram", + "application_preferred_name", + "authorization_code", + "authorization_response_code", + "cardholder_verification_method", + "dedicated_file_name", + "terminal_verification_results", + "transaction_status_information" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.BankAccount.AvailablePayoutMethod": { - "type": "string", - "enum": [ - "instant", - "standard" - ] - }, - "stripe.Stripe.CashBalance.Settings.ReconciliationMode": { + "stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Wallet.Type": { "type": "string", "enum": [ - "automatic", - "manual" + "apple_pay", + "google_pay", + "samsung_pay", + "unknown" ] }, - "stripe.Stripe.CashBalance.Settings": { + "stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Wallet": { "properties": { - "reconciliation_mode": { - "$ref": "#/components/schemas/stripe.Stripe.CashBalance.Settings.ReconciliationMode", - "description": "The configuration for how funds that land in the customer cash balance are reconciled." - }, - "using_merchant_default": { - "type": "boolean", - "description": "A flag to indicate if reconciliation mode returned is the user's default or is specific to this customer cash balance" + "type": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Wallet.Type", + "description": "The type of mobile wallet, one of `apple_pay`, `google_pay`, `samsung_pay`, or `unknown`." } }, "required": [ - "reconciliation_mode", - "using_merchant_default" + "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.CashBalance": { - "description": "A customer's `Cash balance` represents real funds. Customers can add funds to their cash balance by sending a bank transfer. These funds can be used for payment and can eventually be paid out to your bank account.", + "stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent": { "properties": { - "object": { - "type": "string", - "enum": [ - "cash_balance" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." + "amount_authorized": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The authorized amount" }, - "available": { - "properties": {}, - "additionalProperties": { - "type": "number", - "format": "double" - }, - "type": "object", + "brand": { + "type": "string", "nullable": true, - "description": "A hash of all cash balances available to this customer. You cannot delete a customer with any cash balances, even if the balance is 0. Amounts are represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal)." + "description": "Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`." }, - "customer": { + "brand_product": { "type": "string", - "description": "The ID of the customer whose cash balance this object represents." + "nullable": true, + "description": "The [product code](https://stripe.com/docs/card-product-codes) that identifies the specific program or product associated with a card." }, - "livemode": { - "type": "boolean", - "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." + "capture_before": { + "type": "number", + "format": "double", + "description": "When using manual capture, a future timestamp after which the charge will be automatically refunded if uncaptured." }, - "settings": { - "$ref": "#/components/schemas/stripe.Stripe.CashBalance.Settings" - } - }, - "required": [ - "object", - "available", - "customer", - "livemode", - "settings" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.BankAccount": { - "description": "These bank accounts are payment methods on `Customer` objects.\n\nOn the other hand [External Accounts](https://stripe.com/api#external_accounts) are transfer\ndestinations on `Account` objects for connected accounts.\nThey can be bank accounts or debit cards as well, and are documented in the links above.\n\nRelated guide: [Bank debits and transfers](https://stripe.com/payments/bank-debits-transfers)", - "properties": { - "id": { + "cardholder_name": { "type": "string", - "description": "Unique identifier for the object." + "nullable": true, + "description": "The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay." }, - "object": { + "country": { "type": "string", - "enum": [ - "bank_account" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." - }, - "account": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Account" - } - ], "nullable": true, - "description": "The ID of the account that the bank account is associated with." + "description": "Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected." }, - "account_holder_name": { + "description": { "type": "string", "nullable": true, - "description": "The name of the person or business that owns the bank account." + "description": "A high-level description of the type of cards issued in this range. (For internal use only and not typically available in standard API requests.)" }, - "account_holder_type": { + "emv_auth_data": { "type": "string", "nullable": true, - "description": "The type of entity that holds the account. This can be either `individual` or `company`." + "description": "Authorization response cryptogram." }, - "account_type": { + "exp_month": { + "type": "number", + "format": "double", + "description": "Two-digit number representing the card's expiration month." + }, + "exp_year": { + "type": "number", + "format": "double", + "description": "Four-digit number representing the card's expiration year." + }, + "fingerprint": { "type": "string", "nullable": true, - "description": "The bank account type. This can only be `checking` or `savings` in most countries. In Japan, this can only be `futsu` or `toza`." + "description": "Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.\n\n*As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.*" }, - "available_payout_methods": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.BankAccount.AvailablePayoutMethod" - }, - "type": "array", + "funding": { + "type": "string", "nullable": true, - "description": "A set of available payout methods for this bank account. Only values from this set should be passed as the `method` when creating a payout." + "description": "Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`." }, - "bank_name": { + "generated_card": { "type": "string", "nullable": true, - "description": "Name of the bank associated with the routing number (e.g., `WELLS FARGO`)." + "description": "ID of a card PaymentMethod generated from the card_present PaymentMethod that may be attached to a Customer for future transactions. Only present if it was possible to generate a card PaymentMethod." }, - "country": { + "iin": { "type": "string", - "description": "Two-letter ISO code representing the country the bank account is located in." + "nullable": true, + "description": "Issuer identification number of the card. (For internal use only and not typically available in standard API requests.)" }, - "currency": { - "type": "string", - "description": "Three-letter [ISO code for the currency](https://stripe.com/docs/payouts) paid out to the bank account." + "incremental_authorization_supported": { + "type": "boolean", + "description": "Whether this [PaymentIntent](https://stripe.com/docs/api/payment_intents) is eligible for incremental authorizations. Request support using [request_incremental_authorization_support](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-payment_method_options-card_present-request_incremental_authorization_support)." }, - "customer": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Customer" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.DeletedCustomer" - } - ], + "issuer": { + "type": "string", "nullable": true, - "description": "The ID of the customer that the bank account is associated with." + "description": "The name of the card's issuing bank. (For internal use only and not typically available in standard API requests.)" }, - "default_for_currency": { - "type": "boolean", + "last4": { + "type": "string", "nullable": true, - "description": "Whether this bank account is the default external account for its currency." + "description": "The last four digits of the card." }, - "deleted": { - "description": "Always true for a deleted object" + "network": { + "type": "string", + "nullable": true, + "description": "Identifies which network this charge was processed on. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `interac`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`." }, - "fingerprint": { + "network_transaction_id": { "type": "string", "nullable": true, - "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same." + "description": "This is used by the financial networks to identify a transaction. Visa calls this the Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the Acquirer Reference Data. This value will be present if it is returned by the financial network in the authorization response, and null otherwise." }, - "future_requirements": { + "offline": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.BankAccount.FutureRequirements" + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Offline" } ], "nullable": true, - "description": "Information about the [upcoming new requirements for the bank account](https://stripe.com/docs/connect/custom-accounts/future-requirements), including what information needs to be collected, and by when." + "description": "Details about payments collected offline." }, - "last4": { - "type": "string", - "description": "The last four digits of the bank account number." + "overcapture_supported": { + "type": "boolean", + "description": "Defines whether the authorized amount can be over-captured or not" }, - "metadata": { + "preferred_locales": { + "items": { + "type": "string" + }, + "type": "array", + "nullable": true, + "description": "EMV tag 5F2D. Preferred languages specified by the integrated circuit chip." + }, + "read_method": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Metadata" + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.ReadMethod" } ], "nullable": true, - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." + "description": "How card details were read in this transaction." }, - "requirements": { + "receipt": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.BankAccount.Requirements" + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Receipt" } ], "nullable": true, - "description": "Information about the requirements for the bank account, including what information needs to be collected." - }, - "routing_number": { - "type": "string", - "nullable": true, - "description": "The routing transit number for the bank account." + "description": "A collection of fields required to be displayed on receipts. Only required for EMV transactions." }, - "status": { - "type": "string", - "description": "For bank accounts, possible values are `new`, `validated`, `verified`, `verification_failed`, or `errored`. A bank account that hasn't had any activity or validation performed is `new`. If Stripe can determine that the bank account exists, its status will be `validated`. Note that there often isn't enough information to know (e.g., for smaller credit unions), and the validation is not always run. If customer bank account verification has succeeded, the bank account status will be `verified`. If the verification failed for any reason, such as microdeposit failure, the status will be `verification_failed`. If a payout sent to this bank account fails, we'll set the status to `errored` and will not continue to send [scheduled payouts](https://stripe.com/docs/payouts#payout-schedule) until the bank details are updated.\n\nFor external accounts, possible values are `new`, `errored` and `verification_failed`. If a payout fails, the status is set to `errored` and scheduled payouts are stopped until account details are updated. In the US and India, if we can't [verify the owner of the bank account](https://support.stripe.com/questions/bank-account-ownership-verification), we'll set the status to `verification_failed`. Other validations aren't run against external accounts because they're only used for payouts. This means the other statuses don't apply." + "wallet": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Wallet" } }, "required": [ - "id", - "object", - "account_holder_name", - "account_holder_type", - "account_type", - "bank_name", + "amount_authorized", + "brand", + "brand_product", + "cardholder_name", "country", - "currency", + "emv_auth_data", + "exp_month", + "exp_year", "fingerprint", + "funding", + "generated_card", + "incremental_authorization_supported", "last4", - "routing_number", - "status" + "network", + "network_transaction_id", + "offline", + "overcapture_supported", + "preferred_locales", + "read_method", + "receipt" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Card.AllowRedisplay": { - "type": "string", - "enum": [ - "always", - "limited", - "unspecified" - ] + "stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails": { + "properties": { + "card_present": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent" + }, + "type": { + "type": "string", + "description": "The type of payment method transaction-specific details from the transaction that generated this `card` payment method. Always `card_present`." + } + }, + "required": [ + "type" + ], + "type": "object", + "additionalProperties": false }, - "stripe.Stripe.Card.AvailablePayoutMethod": { + "stripe.Stripe.SetupAttempt.FlowDirection": { "type": "string", "enum": [ - "instant", - "standard" + "inbound", + "outbound" ] }, - "stripe.Stripe.Customer": { - "description": "This object represents a customer of your business. Use it to [create recurring charges](https://stripe.com/docs/invoicing/customer), [save payment](https://stripe.com/docs/payments/save-during-payment) and contact information,\nand track payments that belong to the same customer.", + "stripe.Stripe.PaymentMethod": { + "description": "PaymentMethod objects represent your customer's payment instruments.\nYou can use them with [PaymentIntents](https://stripe.com/docs/payments/payment-intents) to collect payments or save them to\nCustomer objects to store instrument details for future payments.\n\nRelated guides: [Payment Methods](https://stripe.com/docs/payments/payment-methods) and [More Payment Scenarios](https://stripe.com/docs/payments/more-payment-scenarios).", "properties": { "id": { "type": "string", @@ -12185,1538 +10696,2213 @@ "object": { "type": "string", "enum": [ - "customer" + "payment_method" ], "nullable": false, "description": "String representing the object's type. Objects of the same type share the same value." }, - "address": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Address" - } - ], - "nullable": true, - "description": "The customer's address." + "acss_debit": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.AcssDebit" }, - "balance": { - "type": "number", - "format": "double", - "description": "The current balance, if any, that's stored on the customer. If negative, the customer has credit to apply to their next invoice. If positive, the customer has an amount owed that's added to their next invoice. The balance only considers amounts that Stripe hasn't successfully applied to any invoice. It doesn't reflect unpaid invoices. This balance is only taken into account after invoices finalize." + "affirm": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Affirm" }, - "cash_balance": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.CashBalance" - } - ], - "nullable": true, - "description": "The current funds being held by Stripe on behalf of the customer. You can apply these funds towards payment intents when the source is \"cash_balance\". The `settings[reconciliation_mode]` field describes if these funds apply to these payment intents manually or automatically." + "afterpay_clearpay": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.AfterpayClearpay" + }, + "alipay": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Alipay" + }, + "allow_redisplay": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.AllowRedisplay", + "description": "This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to “unspecified”." + }, + "alma": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Alma" + }, + "amazon_pay": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.AmazonPay" + }, + "au_becs_debit": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.AuBecsDebit" + }, + "bacs_debit": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.BacsDebit" + }, + "bancontact": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Bancontact" + }, + "billing_details": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.BillingDetails" + }, + "blik": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Blik" + }, + "boleto": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Boleto" + }, + "card": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card" + }, + "card_present": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.CardPresent" + }, + "cashapp": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Cashapp" }, "created": { "type": "number", "format": "double", "description": "Time at which the object was created. Measured in seconds since the Unix epoch." }, - "currency": { - "type": "string", - "nullable": true, - "description": "Three-letter [ISO code for the currency](https://stripe.com/docs/currencies) the customer can be charged in for recurring billing purposes." - }, - "default_source": { + "customer": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.CustomerSource" + "$ref": "#/components/schemas/stripe.Stripe.Customer" } ], "nullable": true, - "description": "ID of the default payment source for the customer.\n\nIf you use payment methods created through the PaymentMethods API, see the [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) field instead." + "description": "The ID of the Customer to which this PaymentMethod is saved. This will not be set when the PaymentMethod has not been saved to a Customer." }, - "deleted": { - "description": "Always true for a deleted object" + "customer_balance": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.CustomerBalance" }, - "delinquent": { - "type": "boolean", - "nullable": true, - "description": "Tracks the most recent state change on any invoice belonging to the customer. Paying an invoice or marking it uncollectible via the API will set this field to false. An automatic payment failure or passing the `invoice.due_date` will set this field to `true`.\n\nIf an invoice becomes uncollectible by [dunning](https://stripe.com/docs/billing/automatic-collection), `delinquent` doesn't reset to `false`.\n\nIf you care whether the customer has paid their most recent subscription invoice, use `subscription.status` instead. Paying or marking uncollectible any customer invoice regardless of whether it is the latest invoice for a subscription will always set this field to `false`." + "eps": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Eps" }, - "description": { - "type": "string", - "nullable": true, - "description": "An arbitrary string attached to the object. Often useful for displaying to users." + "fpx": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Fpx" }, - "discount": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Discount" - } - ], - "nullable": true, - "description": "Describes the current discount active on the customer, if there is one." + "giropay": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Giropay" }, - "email": { - "type": "string", - "nullable": true, - "description": "The customer's email address." + "grabpay": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Grabpay" }, - "invoice_credit_balance": { - "properties": {}, - "additionalProperties": { - "type": "number", - "format": "double" - }, - "type": "object", - "description": "The current multi-currency balances, if any, that's stored on the customer. If positive in a currency, the customer has a credit to apply to their next invoice denominated in that currency. If negative, the customer has an amount owed that's added to their next invoice denominated in that currency. These balances don't apply to unpaid invoices. They solely track amounts that Stripe hasn't successfully applied to any invoice. Stripe only applies a balance in a specific currency to an invoice after that invoice (which is in the same currency) finalizes." + "ideal": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Ideal" }, - "invoice_prefix": { - "type": "string", - "nullable": true, - "description": "The prefix for the customer used to generate unique invoice numbers." + "interac_present": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.InteracPresent" }, - "invoice_settings": { - "$ref": "#/components/schemas/stripe.Stripe.Customer.InvoiceSettings" + "kakao_pay": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.KakaoPay" + }, + "klarna": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Klarna" + }, + "konbini": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Konbini" + }, + "kr_card": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.KrCard" + }, + "link": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Link" }, "livemode": { "type": "boolean", "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." }, "metadata": { - "$ref": "#/components/schemas/stripe.Stripe.Metadata", + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Metadata" + } + ], + "nullable": true, "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." }, - "name": { - "type": "string", - "nullable": true, - "description": "The customer's full name or business name." + "mobilepay": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Mobilepay" }, - "next_invoice_sequence": { - "type": "number", - "format": "double", - "description": "The suffix of the customer's next invoice number (for example, 0001). When the account uses account level sequencing, this parameter is ignored in API requests and the field omitted in API responses." + "multibanco": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Multibanco" }, - "phone": { - "type": "string", - "nullable": true, - "description": "The customer's phone number." + "naver_pay": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.NaverPay" }, - "preferred_locales": { - "items": { - "type": "string" - }, - "type": "array", - "nullable": true, - "description": "The customer's preferred locales (languages), ordered by preference." + "oxxo": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Oxxo" }, - "shipping": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Customer.Shipping" - } - ], - "nullable": true, - "description": "Mailing and shipping address for the customer. Appears on invoices emailed to this customer." + "p24": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.P24" }, - "sources": { - "$ref": "#/components/schemas/stripe.Stripe.ApiList_stripe.Stripe.CustomerSource_", - "description": "The customer's payment sources, if any." + "pay_by_bank": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.PayByBank" }, - "subscriptions": { - "$ref": "#/components/schemas/stripe.Stripe.ApiList_stripe.Stripe.Subscription_", - "description": "The customer's current subscriptions, if any." + "payco": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Payco" }, - "tax": { - "$ref": "#/components/schemas/stripe.Stripe.Customer.Tax" + "paynow": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Paynow" }, - "tax_exempt": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Customer.TaxExempt" - } - ], - "nullable": true, - "description": "Describes the customer's tax exemption status, which is `none`, `exempt`, or `reverse`. When set to `reverse`, invoice and receipt PDFs include the following text: **\"Reverse charge\"**." + "paypal": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Paypal" }, - "tax_ids": { - "$ref": "#/components/schemas/stripe.Stripe.ApiList_stripe.Stripe.TaxId_", - "description": "The customer's tax IDs." + "pix": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Pix" }, - "test_clock": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.TestHelpers.TestClock" - } - ], - "nullable": true, - "description": "ID of the test clock that this customer belongs to." + "promptpay": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Promptpay" + }, + "radar_options": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.RadarOptions", + "description": "Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information." + }, + "revolut_pay": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.RevolutPay" + }, + "samsung_pay": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.SamsungPay" + }, + "sepa_debit": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.SepaDebit" + }, + "sofort": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Sofort" + }, + "swish": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Swish" + }, + "twint": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Twint" + }, + "type": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Type", + "description": "The type of the PaymentMethod. An additional hash is included on the PaymentMethod with a name matching this value. It contains additional information specific to the PaymentMethod type." + }, + "us_bank_account": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.UsBankAccount" + }, + "wechat_pay": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.WechatPay" + }, + "zip": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Zip" } }, "required": [ "id", "object", - "balance", + "billing_details", "created", - "default_source", - "description", - "email", - "invoice_settings", + "customer", "livemode", "metadata", - "shipping" + "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.DeletedCustomer": { - "description": "The DeletedCustomer object.", + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.AcssDebit": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.AmazonPay": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.AuBecsDebit": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.BacsDebit": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Mandate.CustomerAcceptance.Offline": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Mandate.CustomerAcceptance.Online": { "properties": { - "id": { + "ip_address": { "type": "string", - "description": "Unique identifier for the object." + "nullable": true, + "description": "The customer accepts the mandate from this IP address." }, - "object": { + "user_agent": { "type": "string", - "enum": [ - "customer" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." + "nullable": true, + "description": "The customer accepts the mandate using the user agent of the browser." + } + }, + "required": [ + "ip_address", + "user_agent" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Mandate.CustomerAcceptance.Type": { + "type": "string", + "enum": [ + "offline", + "online" + ] + }, + "stripe.Stripe.Mandate.CustomerAcceptance": { + "properties": { + "accepted_at": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The time that the customer accepts the mandate." }, - "deleted": { - "type": "boolean", - "enum": [ - true - ], - "nullable": false, - "description": "Always true for a deleted object" + "offline": { + "$ref": "#/components/schemas/stripe.Stripe.Mandate.CustomerAcceptance.Offline" + }, + "online": { + "$ref": "#/components/schemas/stripe.Stripe.Mandate.CustomerAcceptance.Online" + }, + "type": { + "$ref": "#/components/schemas/stripe.Stripe.Mandate.CustomerAcceptance.Type", + "description": "The mandate includes the type of customer acceptance information, such as: `online` or `offline`." } }, "required": [ - "id", - "object", - "deleted" + "accepted_at", + "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Card.Networks": { + "stripe.Stripe.Mandate.MultiUse": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Mandate.PaymentMethodDetails.AcssDebit.DefaultFor": { + "type": "string", + "enum": [ + "invoice", + "subscription" + ] + }, + "stripe.Stripe.Mandate.PaymentMethodDetails.AcssDebit.PaymentSchedule": { + "type": "string", + "enum": [ + "combined", + "interval", + "sporadic" + ] + }, + "stripe.Stripe.Mandate.PaymentMethodDetails.AcssDebit.TransactionType": { + "type": "string", + "enum": [ + "business", + "personal" + ] + }, + "stripe.Stripe.Mandate.PaymentMethodDetails.AcssDebit": { "properties": { - "preferred": { + "default_for": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Mandate.PaymentMethodDetails.AcssDebit.DefaultFor" + }, + "type": "array", + "description": "List of Stripe products where this mandate can be selected automatically." + }, + "interval_description": { "type": "string", "nullable": true, - "description": "The preferred network for co-branded cards. Can be `cartes_bancaires`, `mastercard`, `visa` or `invalid_preference` if requested network is not valid for the card." + "description": "Description of the interval. Only required if the 'payment_schedule' parameter is 'interval' or 'combined'." + }, + "payment_schedule": { + "$ref": "#/components/schemas/stripe.Stripe.Mandate.PaymentMethodDetails.AcssDebit.PaymentSchedule", + "description": "Payment schedule for the mandate." + }, + "transaction_type": { + "$ref": "#/components/schemas/stripe.Stripe.Mandate.PaymentMethodDetails.AcssDebit.TransactionType", + "description": "Transaction type of the mandate." } }, "required": [ - "preferred" + "interval_description", + "payment_schedule", + "transaction_type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Card.RegulatedStatus": { + "stripe.Stripe.Mandate.PaymentMethodDetails.AmazonPay": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Mandate.PaymentMethodDetails.AuBecsDebit": { + "properties": { + "url": { + "type": "string", + "description": "The URL of the mandate. This URL generally contains sensitive information about the customer and should be shared with them exclusively." + } + }, + "required": [ + "url" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Mandate.PaymentMethodDetails.BacsDebit.NetworkStatus": { "type": "string", "enum": [ - "regulated", - "unregulated" + "accepted", + "pending", + "refused", + "revoked" ] }, - "stripe.Stripe.Card": { - "description": "You can store multiple cards on a customer in order to charge the customer\nlater. You can also store multiple debit cards on a recipient in order to\ntransfer to those cards later.\n\nRelated guide: [Card payments with Sources](https://stripe.com/docs/sources/cards)", + "stripe.Stripe.Mandate.PaymentMethodDetails.BacsDebit.RevocationReason": { + "type": "string", + "enum": [ + "account_closed", + "bank_account_restricted", + "bank_ownership_changed", + "could_not_process", + "debit_not_authorized" + ] + }, + "stripe.Stripe.Mandate.PaymentMethodDetails.BacsDebit": { "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." + "network_status": { + "$ref": "#/components/schemas/stripe.Stripe.Mandate.PaymentMethodDetails.BacsDebit.NetworkStatus", + "description": "The status of the mandate on the Bacs network. Can be one of `pending`, `revoked`, `refused`, or `accepted`." }, - "object": { + "reference": { "type": "string", - "enum": [ - "card" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." + "description": "The unique reference identifying the mandate on the Bacs network." }, - "account": { - "anyOf": [ - { - "type": "string" - }, + "revocation_reason": { + "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Account" + "$ref": "#/components/schemas/stripe.Stripe.Mandate.PaymentMethodDetails.BacsDebit.RevocationReason" } ], "nullable": true, - "description": "The account this card belongs to. This attribute will not be in the card object if the card belongs to a customer or recipient instead. This property is only available for accounts where [controller.requirement_collection](https://stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts." - }, - "address_city": { - "type": "string", - "nullable": true, - "description": "City/District/Suburb/Town/Village." + "description": "When the mandate is revoked on the Bacs network this field displays the reason for the revocation." }, - "address_country": { + "url": { "type": "string", - "nullable": true, - "description": "Billing address country, if provided when creating card." - }, - "address_line1": { + "description": "The URL that will contain the mandate that the customer has signed." + } + }, + "required": [ + "network_status", + "reference", + "revocation_reason", + "url" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Mandate.PaymentMethodDetails.Card": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Mandate.PaymentMethodDetails.Cashapp": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Mandate.PaymentMethodDetails.KakaoPay": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Mandate.PaymentMethodDetails.KrCard": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Mandate.PaymentMethodDetails.Link": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Mandate.PaymentMethodDetails.Paypal": { + "properties": { + "billing_agreement_id": { "type": "string", "nullable": true, - "description": "Address line 1 (Street address/PO Box/Company name)." + "description": "The PayPal Billing Agreement ID (BAID). This is an ID generated by PayPal which represents the mandate between the merchant and the customer." }, - "address_line1_check": { + "payer_id": { "type": "string", "nullable": true, - "description": "If `address_line1` was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`." - }, - "address_line2": { + "description": "PayPal account PayerID. This identifier uniquely identifies the PayPal customer." + } + }, + "required": [ + "billing_agreement_id", + "payer_id" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Mandate.PaymentMethodDetails.RevolutPay": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Mandate.PaymentMethodDetails.SepaDebit": { + "properties": { + "reference": { "type": "string", - "nullable": true, - "description": "Address line 2 (Apartment/Suite/Unit/Building)." + "description": "The unique reference of the mandate." }, - "address_state": { + "url": { "type": "string", - "nullable": true, - "description": "State/County/Province/Region." - }, - "address_zip": { + "description": "The URL of the mandate. This URL generally contains sensitive information about the customer and should be shared with them exclusively." + } + }, + "required": [ + "reference", + "url" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Mandate.PaymentMethodDetails.UsBankAccount": { + "properties": { + "collection_method": { "type": "string", - "nullable": true, - "description": "ZIP or postal code." + "enum": [ + "paper" + ], + "nullable": false, + "description": "Mandate collection method" + } + }, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Mandate.PaymentMethodDetails": { + "properties": { + "acss_debit": { + "$ref": "#/components/schemas/stripe.Stripe.Mandate.PaymentMethodDetails.AcssDebit" }, - "address_zip_check": { - "type": "string", - "nullable": true, - "description": "If `address_zip` was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`." + "amazon_pay": { + "$ref": "#/components/schemas/stripe.Stripe.Mandate.PaymentMethodDetails.AmazonPay" }, - "allow_redisplay": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Card.AllowRedisplay" - } - ], - "nullable": true, - "description": "This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to “unspecified”." + "au_becs_debit": { + "$ref": "#/components/schemas/stripe.Stripe.Mandate.PaymentMethodDetails.AuBecsDebit" }, - "available_payout_methods": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Card.AvailablePayoutMethod" - }, - "type": "array", - "nullable": true, - "description": "A set of available payout methods for this card. Only values from this set should be passed as the `method` when creating a payout." + "bacs_debit": { + "$ref": "#/components/schemas/stripe.Stripe.Mandate.PaymentMethodDetails.BacsDebit" }, - "brand": { - "type": "string", - "description": "Card brand. Can be `American Express`, `Diners Club`, `Discover`, `Eftpos Australia`, `Girocard`, `JCB`, `MasterCard`, `UnionPay`, `Visa`, or `Unknown`." + "card": { + "$ref": "#/components/schemas/stripe.Stripe.Mandate.PaymentMethodDetails.Card" }, - "country": { - "type": "string", - "nullable": true, - "description": "Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected." + "cashapp": { + "$ref": "#/components/schemas/stripe.Stripe.Mandate.PaymentMethodDetails.Cashapp" }, - "currency": { - "type": "string", - "nullable": true, - "description": "Three-letter [ISO code for currency](https://www.iso.org/iso-4217-currency-codes.html) in lowercase. Must be a [supported currency](https://docs.stripe.com/currencies). Only applicable on accounts (not customers or recipients). The card can be used as a transfer destination for funds in this currency. This property is only available for accounts where [controller.requirement_collection](https://stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts." + "kakao_pay": { + "$ref": "#/components/schemas/stripe.Stripe.Mandate.PaymentMethodDetails.KakaoPay" }, - "customer": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Customer" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.DeletedCustomer" - } - ], - "nullable": true, - "description": "The customer that this card belongs to. This attribute will not be in the card object if the card belongs to an account or recipient instead." + "kr_card": { + "$ref": "#/components/schemas/stripe.Stripe.Mandate.PaymentMethodDetails.KrCard" }, - "cvc_check": { - "type": "string", - "nullable": true, - "description": "If a CVC was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`. A result of unchecked indicates that CVC was provided but hasn't been checked yet. Checks are typically performed when attaching a card to a Customer object, or when creating a charge. For more details, see [Check if a card is valid without a charge](https://support.stripe.com/questions/check-if-a-card-is-valid-without-a-charge)." + "link": { + "$ref": "#/components/schemas/stripe.Stripe.Mandate.PaymentMethodDetails.Link" }, - "default_for_currency": { - "type": "boolean", - "nullable": true, - "description": "Whether this card is the default external account for its currency. This property is only available for accounts where [controller.requirement_collection](https://stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts." + "paypal": { + "$ref": "#/components/schemas/stripe.Stripe.Mandate.PaymentMethodDetails.Paypal" }, - "deleted": { - "description": "Always true for a deleted object" + "revolut_pay": { + "$ref": "#/components/schemas/stripe.Stripe.Mandate.PaymentMethodDetails.RevolutPay" }, - "description": { - "type": "string", - "description": "A high-level description of the type of cards issued in this range. (For internal use only and not typically available in standard API requests.)" + "sepa_debit": { + "$ref": "#/components/schemas/stripe.Stripe.Mandate.PaymentMethodDetails.SepaDebit" }, - "dynamic_last4": { + "type": { "type": "string", - "nullable": true, - "description": "(For tokenized numbers only.) The last four digits of the device account number." - }, - "exp_month": { - "type": "number", - "format": "double", - "description": "Two-digit number representing the card's expiration month." + "description": "This mandate corresponds with a specific payment method type. The `payment_method_details` includes an additional hash with the same name and contains mandate information that's specific to that payment method." }, - "exp_year": { + "us_bank_account": { + "$ref": "#/components/schemas/stripe.Stripe.Mandate.PaymentMethodDetails.UsBankAccount" + } + }, + "required": [ + "type" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Mandate.SingleUse": { + "properties": { + "amount": { "type": "number", "format": "double", - "description": "Four-digit number representing the card's expiration year." + "description": "The amount of the payment on a single use mandate." }, - "fingerprint": { + "currency": { "type": "string", - "nullable": true, - "description": "Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.\n\n*As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.*" - }, - "funding": { + "description": "The currency of the payment on a single use mandate." + } + }, + "required": [ + "amount", + "currency" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Mandate.Status": { + "type": "string", + "enum": [ + "active", + "inactive", + "pending" + ] + }, + "stripe.Stripe.Mandate.Type": { + "type": "string", + "enum": [ + "multi_use", + "single_use" + ] + }, + "stripe.Stripe.Mandate": { + "description": "A Mandate is a record of the permission that your customer gives you to debit their payment method.", + "properties": { + "id": { "type": "string", - "description": "Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`." + "description": "Unique identifier for the object." }, - "iin": { + "object": { "type": "string", - "description": "Issuer identification number of the card. (For internal use only and not typically available in standard API requests.)" + "enum": [ + "mandate" + ], + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." }, - "issuer": { - "type": "string", - "description": "The name of the card's issuing bank. (For internal use only and not typically available in standard API requests.)" + "customer_acceptance": { + "$ref": "#/components/schemas/stripe.Stripe.Mandate.CustomerAcceptance" }, - "last4": { - "type": "string", - "description": "The last four digits of the card." + "livemode": { + "type": "boolean", + "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." }, - "metadata": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Metadata" - } - ], - "nullable": true, - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." + "multi_use": { + "$ref": "#/components/schemas/stripe.Stripe.Mandate.MultiUse" }, - "name": { + "on_behalf_of": { "type": "string", - "nullable": true, - "description": "Cardholder name." - }, - "networks": { - "$ref": "#/components/schemas/stripe.Stripe.Card.Networks" + "description": "The account (if any) that the mandate is intended for." }, - "regulated_status": { - "allOf": [ + "payment_method": { + "anyOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Card.RegulatedStatus" + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod" } ], - "nullable": true, - "description": "Status of a card based on the card issuer." + "description": "ID of the payment method associated with this mandate." + }, + "payment_method_details": { + "$ref": "#/components/schemas/stripe.Stripe.Mandate.PaymentMethodDetails" + }, + "single_use": { + "$ref": "#/components/schemas/stripe.Stripe.Mandate.SingleUse" }, "status": { - "type": "string", - "nullable": true, - "description": "For external accounts that are cards, possible values are `new` and `errored`. If a payout fails, the status is set to `errored` and [scheduled payouts](https://stripe.com/docs/payouts#payout-schedule) are stopped until account details are updated." + "$ref": "#/components/schemas/stripe.Stripe.Mandate.Status", + "description": "The mandate status indicates whether or not you can use it to initiate a payment." }, - "tokenization_method": { - "type": "string", - "nullable": true, - "description": "If the card number is tokenized, this is the method that was used. Can be `android_pay` (includes Google Pay), `apple_pay`, `masterpass`, `visa_checkout`, or null." + "type": { + "$ref": "#/components/schemas/stripe.Stripe.Mandate.Type", + "description": "The type of the mandate." } }, "required": [ "id", "object", - "address_city", - "address_country", - "address_line1", - "address_line1_check", - "address_line2", - "address_state", - "address_zip", - "address_zip_check", - "brand", - "country", - "cvc_check", - "dynamic_last4", - "exp_month", - "exp_year", - "funding", - "last4", - "metadata", - "name", - "regulated_status", - "tokenization_method" + "customer_acceptance", + "livemode", + "payment_method", + "payment_method_details", + "status", + "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Source.AchCreditTransfer": { + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Bancontact.PreferredLanguage": { + "type": "string", + "enum": [ + "de", + "en", + "fr", + "nl" + ] + }, + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Bancontact": { "properties": { - "account_number": { + "bank_code": { "type": "string", - "nullable": true + "nullable": true, + "description": "Bank code of bank associated with the bank account." }, "bank_name": { "type": "string", - "nullable": true + "nullable": true, + "description": "Name of the bank associated with the bank account." }, - "fingerprint": { + "bic": { "type": "string", - "nullable": true + "nullable": true, + "description": "Bank Identifier Code of the bank associated with the bank account." }, - "refund_account_holder_name": { - "type": "string", - "nullable": true + "generated_sepa_debit": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod" + } + ], + "nullable": true, + "description": "The ID of the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt." }, - "refund_account_holder_type": { - "type": "string", - "nullable": true + "generated_sepa_debit_mandate": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Mandate" + } + ], + "nullable": true, + "description": "The mandate for the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt." }, - "refund_routing_number": { + "iban_last4": { "type": "string", - "nullable": true + "nullable": true, + "description": "Last four characters of the IBAN." }, - "routing_number": { - "type": "string", - "nullable": true + "preferred_language": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Bancontact.PreferredLanguage" + } + ], + "nullable": true, + "description": "Preferred language of the Bancontact authorization page that the customer is redirected to.\nCan be one of `en`, `de`, `fr`, or `nl`" }, - "swift_code": { + "verified_name": { "type": "string", - "nullable": true + "nullable": true, + "description": "Owner's verified full name. Values are verified or provided by Bancontact directly\n(if supported) at the time of authorization or settlement. They cannot be set or mutated." } }, + "required": [ + "bank_code", + "bank_name", + "bic", + "generated_sepa_debit", + "generated_sepa_debit_mandate", + "iban_last4", + "preferred_language", + "verified_name" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Source.AchDebit": { + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Boleto": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.Checks": { "properties": { - "bank_name": { - "type": "string", - "nullable": true - }, - "country": { - "type": "string", - "nullable": true - }, - "fingerprint": { - "type": "string", - "nullable": true - }, - "last4": { + "address_line1_check": { "type": "string", - "nullable": true + "nullable": true, + "description": "If a address line1 was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`." }, - "routing_number": { + "address_postal_code_check": { "type": "string", - "nullable": true + "nullable": true, + "description": "If a address postal code was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`." }, - "type": { + "cvc_check": { "type": "string", - "nullable": true + "nullable": true, + "description": "If a CVC was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`." } }, + "required": [ + "address_line1_check", + "address_postal_code_check", + "cvc_check" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Source.AcssDebit": { + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure.AuthenticationFlow": { + "type": "string", + "enum": [ + "challenge", + "frictionless" + ] + }, + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure.ElectronicCommerceIndicator": { + "type": "string", + "enum": [ + "01", + "02", + "05", + "06", + "07" + ] + }, + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure.Result": { + "type": "string", + "enum": [ + "attempt_acknowledged", + "authenticated", + "exempted", + "failed", + "not_supported", + "processing_error" + ] + }, + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure.ResultReason": { + "type": "string", + "enum": [ + "abandoned", + "bypassed", + "canceled", + "card_not_enrolled", + "network_not_supported", + "protocol_error", + "rejected" + ] + }, + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure.Version": { + "type": "string", + "enum": [ + "1.0.2", + "2.1.0", + "2.2.0" + ] + }, + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure": { "properties": { - "bank_address_city": { - "type": "string", - "nullable": true - }, - "bank_address_line_1": { - "type": "string", - "nullable": true - }, - "bank_address_line_2": { - "type": "string", - "nullable": true - }, - "bank_address_postal_code": { - "type": "string", - "nullable": true - }, - "bank_name": { - "type": "string", - "nullable": true + "authentication_flow": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure.AuthenticationFlow" + } + ], + "nullable": true, + "description": "For authenticated transactions: how the customer was authenticated by\nthe issuing bank." }, - "category": { - "type": "string", - "nullable": true + "electronic_commerce_indicator": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure.ElectronicCommerceIndicator" + } + ], + "nullable": true, + "description": "The Electronic Commerce Indicator (ECI). A protocol-level field\nindicating what degree of authentication was performed." }, - "country": { - "type": "string", - "nullable": true + "result": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure.Result" + } + ], + "nullable": true, + "description": "Indicates the outcome of 3D Secure authentication." }, - "fingerprint": { - "type": "string", - "nullable": true + "result_reason": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure.ResultReason" + } + ], + "nullable": true, + "description": "Additional information about why 3D Secure succeeded or failed based\non the `result`." }, - "last4": { + "transaction_id": { "type": "string", - "nullable": true + "nullable": true, + "description": "The 3D Secure 1 XID or 3D Secure 2 Directory Server Transaction ID\n(dsTransId) for this payment." }, - "routing_number": { - "type": "string", - "nullable": true + "version": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure.Version" + } + ], + "nullable": true, + "description": "The version of 3D Secure that was used." } }, + "required": [ + "authentication_flow", + "electronic_commerce_indicator", + "result", + "result_reason", + "transaction_id", + "version" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Source.Alipay": { - "properties": { - "data_string": { - "type": "string", - "nullable": true - }, - "native_url": { - "type": "string", - "nullable": true - }, - "statement_descriptor": { - "type": "string", - "nullable": true - } - }, + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.Wallet.ApplePay": { + "properties": {}, "type": "object", "additionalProperties": false }, - "stripe.Stripe.Source.AllowRedisplay": { + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.Wallet.GooglePay": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.Wallet.Type": { "type": "string", "enum": [ - "always", - "limited", - "unspecified" + "apple_pay", + "google_pay", + "link" ] }, - "stripe.Stripe.Source.AuBecsDebit": { + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.Wallet": { "properties": { - "bsb_number": { - "type": "string", - "nullable": true + "apple_pay": { + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.Wallet.ApplePay" }, - "fingerprint": { - "type": "string", - "nullable": true + "google_pay": { + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.Wallet.GooglePay" }, - "last4": { - "type": "string", - "nullable": true - } - }, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Source.Bancontact": { - "properties": { - "bank_code": { - "type": "string", - "nullable": true - }, - "bank_name": { - "type": "string", - "nullable": true - }, - "bic": { - "type": "string", - "nullable": true - }, - "iban_last4": { - "type": "string", - "nullable": true - }, - "preferred_language": { - "type": "string", - "nullable": true - }, - "statement_descriptor": { - "type": "string", - "nullable": true + "type": { + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.Wallet.Type", + "description": "The type of the card wallet, one of `apple_pay`, `google_pay`, or `link`. An additional hash is included on the Wallet subhash with a name matching this value. It contains additional information specific to the card wallet type." } }, + "required": [ + "type" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Source.Card": { + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card": { "properties": { - "address_line1_check": { - "type": "string", - "nullable": true - }, - "address_zip_check": { - "type": "string", - "nullable": true - }, "brand": { "type": "string", - "nullable": true + "nullable": true, + "description": "Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`." }, - "country": { - "type": "string", - "nullable": true + "checks": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.Checks" + } + ], + "nullable": true, + "description": "Check results by Card networks on Card address and CVC at the time of authorization" }, - "cvc_check": { + "country": { "type": "string", - "nullable": true + "nullable": true, + "description": "Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected." }, "description": { - "type": "string" - }, - "dynamic_last4": { "type": "string", - "nullable": true + "nullable": true, + "description": "A high-level description of the type of cards issued in this range. (For internal use only and not typically available in standard API requests.)" }, "exp_month": { "type": "number", "format": "double", - "nullable": true + "nullable": true, + "description": "Two-digit number representing the card's expiration month." }, "exp_year": { "type": "number", "format": "double", - "nullable": true + "nullable": true, + "description": "Four-digit number representing the card's expiration year." }, "fingerprint": { - "type": "string" + "type": "string", + "nullable": true, + "description": "Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.\n\n*As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.*" }, "funding": { "type": "string", - "nullable": true + "nullable": true, + "description": "Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`." }, "iin": { - "type": "string" + "type": "string", + "nullable": true, + "description": "Issuer identification number of the card. (For internal use only and not typically available in standard API requests.)" }, "issuer": { - "type": "string" + "type": "string", + "nullable": true, + "description": "The name of the card's issuing bank. (For internal use only and not typically available in standard API requests.)" }, "last4": { "type": "string", - "nullable": true + "nullable": true, + "description": "The last four digits of the card." }, - "name": { + "network": { "type": "string", - "nullable": true + "nullable": true, + "description": "Identifies which network this charge was processed on. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `interac`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`." }, "three_d_secure": { - "type": "string" + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure" + } + ], + "nullable": true, + "description": "Populated if this authorization used 3D Secure authentication." }, - "tokenization_method": { - "type": "string", - "nullable": true + "wallet": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.Wallet" + } + ], + "nullable": true, + "description": "If this Card is part of a card wallet, this contains the details of the card wallet." } }, + "required": [ + "brand", + "checks", + "country", + "exp_month", + "exp_year", + "funding", + "last4", + "network", + "three_d_secure", + "wallet" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Source.CardPresent": { + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.CardPresent.Offline": { "properties": { - "application_cryptogram": { - "type": "string" - }, - "application_preferred_name": { - "type": "string" - }, - "authorization_code": { - "type": "string", - "nullable": true - }, - "authorization_response_code": { - "type": "string" - }, - "brand": { - "type": "string", - "nullable": true - }, - "country": { - "type": "string", - "nullable": true - }, - "cvm_type": { - "type": "string" - }, - "data_type": { - "type": "string", - "nullable": true - }, - "dedicated_file_name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "emv_auth_data": { - "type": "string" - }, - "evidence_customer_signature": { - "type": "string", - "nullable": true - }, - "evidence_transaction_certificate": { - "type": "string", - "nullable": true - }, - "exp_month": { - "type": "number", - "format": "double", - "nullable": true - }, - "exp_year": { + "stored_at": { "type": "number", "format": "double", - "nullable": true - }, - "fingerprint": { - "type": "string" - }, - "funding": { - "type": "string", - "nullable": true - }, - "iin": { - "type": "string" - }, - "issuer": { - "type": "string" - }, - "last4": { - "type": "string", - "nullable": true - }, - "pos_device_id": { - "type": "string", - "nullable": true - }, - "pos_entry_mode": { - "type": "string" - }, - "read_method": { - "type": "string", - "nullable": true + "nullable": true, + "description": "Time at which the payment was collected while offline" }, - "reader": { + "type": { "type": "string", - "nullable": true - }, - "terminal_verification_results": { - "type": "string" - }, - "transaction_status_information": { - "type": "string" + "enum": [ + "deferred", + null + ], + "nullable": true, + "description": "The method used to process this payment method offline. Only deferred is allowed." } }, + "required": [ + "stored_at", + "type" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Source.CodeVerification": { + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.CardPresent": { "properties": { - "attempts_remaining": { - "type": "number", - "format": "double", - "description": "The number of attempts remaining to authenticate the source object with a verification code." + "generated_card": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod" + } + ], + "nullable": true, + "description": "The ID of the Card PaymentMethod which was generated by this SetupAttempt." }, - "status": { - "type": "string", - "description": "The status of the code verification, either `pending` (awaiting verification, `attempts_remaining` should be greater than 0), `succeeded` (successful verification) or `failed` (failed verification, cannot be verified anymore as `attempts_remaining` should be 0)." + "offline": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.CardPresent.Offline" + } + ], + "nullable": true, + "description": "Details about payments collected offline." } }, "required": [ - "attempts_remaining", - "status" + "generated_card", + "offline" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Source.Eps": { + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Cashapp": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Ideal.Bank": { + "type": "string", + "enum": [ + "abn_amro", + "asn_bank", + "bunq", + "handelsbanken", + "ing", + "knab", + "moneyou", + "n26", + "nn", + "rabobank", + "regiobank", + "revolut", + "sns_bank", + "triodos_bank", + "van_lanschot", + "yoursafe" + ] + }, + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Ideal.Bic": { + "type": "string", + "enum": [ + "ABNANL2A", + "ASNBNL21", + "BITSNL2A", + "BUNQNL2A", + "FVLBNL22", + "HANDNL2A", + "INGBNL2A", + "KNABNL2H", + "MOYONL21", + "NNBANL2G", + "NTSBDEB1", + "RABONL2U", + "RBRBNL21", + "REVOIE23", + "REVOLT21", + "SNSBNL2A", + "TRIONL2U" + ] + }, + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Ideal": { "properties": { - "reference": { + "bank": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Ideal.Bank" + } + ], + "nullable": true, + "description": "The customer's bank. Can be one of `abn_amro`, `asn_bank`, `bunq`, `handelsbanken`, `ing`, `knab`, `moneyou`, `n26`, `nn`, `rabobank`, `regiobank`, `revolut`, `sns_bank`, `triodos_bank`, `van_lanschot`, or `yoursafe`." + }, + "bic": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Ideal.Bic" + } + ], + "nullable": true, + "description": "The Bank Identifier Code of the customer's bank." + }, + "generated_sepa_debit": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod" + } + ], + "nullable": true, + "description": "The ID of the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt." + }, + "generated_sepa_debit_mandate": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Mandate" + } + ], + "nullable": true, + "description": "The mandate for the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt." + }, + "iban_last4": { "type": "string", - "nullable": true + "nullable": true, + "description": "Last four characters of the IBAN." }, - "statement_descriptor": { + "verified_name": { "type": "string", - "nullable": true + "nullable": true, + "description": "Owner's verified full name. Values are verified or provided by iDEAL directly\n(if supported) at the time of authorization or settlement. They cannot be set or mutated." } }, + "required": [ + "bank", + "bic", + "generated_sepa_debit", + "generated_sepa_debit_mandate", + "iban_last4", + "verified_name" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Source.Giropay": { + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.KakaoPay": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Klarna": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.KrCard": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Link": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Paypal": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.RevolutPay": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.SepaDebit": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Sofort.PreferredLanguage": { + "type": "string", + "enum": [ + "de", + "en", + "fr", + "nl" + ] + }, + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Sofort": { "properties": { "bank_code": { "type": "string", - "nullable": true + "nullable": true, + "description": "Bank code of bank associated with the bank account." }, "bank_name": { "type": "string", - "nullable": true + "nullable": true, + "description": "Name of the bank associated with the bank account." }, "bic": { "type": "string", - "nullable": true + "nullable": true, + "description": "Bank Identifier Code of the bank associated with the bank account." }, - "statement_descriptor": { - "type": "string", - "nullable": true - } - }, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Source.Ideal": { - "properties": { - "bank": { - "type": "string", - "nullable": true + "generated_sepa_debit": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod" + } + ], + "nullable": true, + "description": "The ID of the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt." }, - "bic": { - "type": "string", - "nullable": true + "generated_sepa_debit_mandate": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Mandate" + } + ], + "nullable": true, + "description": "The mandate for the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt." }, "iban_last4": { "type": "string", - "nullable": true + "nullable": true, + "description": "Last four characters of the IBAN." }, - "statement_descriptor": { + "preferred_language": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Sofort.PreferredLanguage" + } + ], + "nullable": true, + "description": "Preferred language of the Sofort authorization page that the customer is redirected to.\nCan be one of `en`, `de`, `fr`, or `nl`" + }, + "verified_name": { "type": "string", - "nullable": true + "nullable": true, + "description": "Owner's verified full name. Values are verified or provided by Sofort directly\n(if supported) at the time of authorization or settlement. They cannot be set or mutated." } }, + "required": [ + "bank_code", + "bank_name", + "bic", + "generated_sepa_debit", + "generated_sepa_debit_mandate", + "iban_last4", + "preferred_language", + "verified_name" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Source.Klarna": { + "stripe.Stripe.SetupAttempt.PaymentMethodDetails.UsBankAccount": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.SetupAttempt.PaymentMethodDetails": { "properties": { - "background_image_url": { - "type": "string" + "acss_debit": { + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.AcssDebit" }, - "client_token": { - "type": "string", - "nullable": true + "amazon_pay": { + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.AmazonPay" }, - "first_name": { - "type": "string" - }, - "last_name": { - "type": "string" - }, - "locale": { - "type": "string" - }, - "logo_url": { - "type": "string" - }, - "page_title": { - "type": "string" - }, - "pay_later_asset_urls_descriptive": { - "type": "string" - }, - "pay_later_asset_urls_standard": { - "type": "string" + "au_becs_debit": { + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.AuBecsDebit" }, - "pay_later_name": { - "type": "string" + "bacs_debit": { + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.BacsDebit" }, - "pay_later_redirect_url": { - "type": "string" + "bancontact": { + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Bancontact" }, - "pay_now_asset_urls_descriptive": { - "type": "string" + "boleto": { + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Boleto" }, - "pay_now_asset_urls_standard": { - "type": "string" + "card": { + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card" }, - "pay_now_name": { - "type": "string" + "card_present": { + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.CardPresent" }, - "pay_now_redirect_url": { - "type": "string" + "cashapp": { + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Cashapp" }, - "pay_over_time_asset_urls_descriptive": { - "type": "string" + "ideal": { + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Ideal" }, - "pay_over_time_asset_urls_standard": { - "type": "string" + "kakao_pay": { + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.KakaoPay" }, - "pay_over_time_name": { - "type": "string" + "klarna": { + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Klarna" }, - "pay_over_time_redirect_url": { - "type": "string" + "kr_card": { + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.KrCard" }, - "payment_method_categories": { - "type": "string" + "link": { + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Link" }, - "purchase_country": { - "type": "string" + "paypal": { + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Paypal" }, - "purchase_type": { - "type": "string" + "revolut_pay": { + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.RevolutPay" }, - "redirect_url": { - "type": "string" + "sepa_debit": { + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.SepaDebit" }, - "shipping_delay": { - "type": "number", - "format": "double" + "sofort": { + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Sofort" }, - "shipping_first_name": { - "type": "string" + "type": { + "type": "string", + "description": "The type of the payment method used in the SetupIntent (e.g., `card`). An additional hash is included on `payment_method_details` with a name matching this value. It contains confirmation-specific information for the payment method." }, - "shipping_last_name": { - "type": "string" + "us_bank_account": { + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.UsBankAccount" } }, + "required": [ + "type" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Source.Multibanco": { + "stripe.Stripe.SetupAttempt.SetupError.Code": { + "type": "string", + "enum": [ + "account_closed", + "account_country_invalid_address", + "account_error_country_change_requires_additional_steps", + "account_information_mismatch", + "account_invalid", + "account_number_invalid", + "acss_debit_session_incomplete", + "alipay_upgrade_required", + "amount_too_large", + "amount_too_small", + "api_key_expired", + "application_fees_not_allowed", + "authentication_required", + "balance_insufficient", + "balance_invalid_parameter", + "bank_account_bad_routing_numbers", + "bank_account_declined", + "bank_account_exists", + "bank_account_restricted", + "bank_account_unusable", + "bank_account_unverified", + "bank_account_verification_failed", + "billing_invalid_mandate", + "bitcoin_upgrade_required", + "capture_charge_authorization_expired", + "capture_unauthorized_payment", + "card_decline_rate_limit_exceeded", + "card_declined", + "cardholder_phone_number_required", + "charge_already_captured", + "charge_already_refunded", + "charge_disputed", + "charge_exceeds_source_limit", + "charge_exceeds_transaction_limit", + "charge_expired_for_capture", + "charge_invalid_parameter", + "charge_not_refundable", + "clearing_code_unsupported", + "country_code_invalid", + "country_unsupported", + "coupon_expired", + "customer_max_payment_methods", + "customer_max_subscriptions", + "customer_tax_location_invalid", + "debit_not_authorized", + "email_invalid", + "expired_card", + "financial_connections_account_inactive", + "financial_connections_no_successful_transaction_refresh", + "forwarding_api_inactive", + "forwarding_api_invalid_parameter", + "forwarding_api_upstream_connection_error", + "forwarding_api_upstream_connection_timeout", + "idempotency_key_in_use", + "incorrect_address", + "incorrect_cvc", + "incorrect_number", + "incorrect_zip", + "instant_payouts_config_disabled", + "instant_payouts_currency_disabled", + "instant_payouts_limit_exceeded", + "instant_payouts_unsupported", + "insufficient_funds", + "intent_invalid_state", + "intent_verification_method_missing", + "invalid_card_type", + "invalid_characters", + "invalid_charge_amount", + "invalid_cvc", + "invalid_expiry_month", + "invalid_expiry_year", + "invalid_mandate_reference_prefix_format", + "invalid_number", + "invalid_source_usage", + "invalid_tax_location", + "invoice_no_customer_line_items", + "invoice_no_payment_method_types", + "invoice_no_subscription_line_items", + "invoice_not_editable", + "invoice_on_behalf_of_not_editable", + "invoice_payment_intent_requires_action", + "invoice_upcoming_none", + "livemode_mismatch", + "lock_timeout", + "missing", + "no_account", + "not_allowed_on_standard_account", + "out_of_inventory", + "ownership_declaration_not_allowed", + "parameter_invalid_empty", + "parameter_invalid_integer", + "parameter_invalid_string_blank", + "parameter_invalid_string_empty", + "parameter_missing", + "parameter_unknown", + "parameters_exclusive", + "payment_intent_action_required", + "payment_intent_authentication_failure", + "payment_intent_incompatible_payment_method", + "payment_intent_invalid_parameter", + "payment_intent_konbini_rejected_confirmation_number", + "payment_intent_mandate_invalid", + "payment_intent_payment_attempt_expired", + "payment_intent_payment_attempt_failed", + "payment_intent_unexpected_state", + "payment_method_bank_account_already_verified", + "payment_method_bank_account_blocked", + "payment_method_billing_details_address_missing", + "payment_method_configuration_failures", + "payment_method_currency_mismatch", + "payment_method_customer_decline", + "payment_method_invalid_parameter", + "payment_method_invalid_parameter_testmode", + "payment_method_microdeposit_failed", + "payment_method_microdeposit_verification_amounts_invalid", + "payment_method_microdeposit_verification_amounts_mismatch", + "payment_method_microdeposit_verification_attempts_exceeded", + "payment_method_microdeposit_verification_descriptor_code_mismatch", + "payment_method_microdeposit_verification_timeout", + "payment_method_not_available", + "payment_method_provider_decline", + "payment_method_provider_timeout", + "payment_method_unactivated", + "payment_method_unexpected_state", + "payment_method_unsupported_type", + "payout_reconciliation_not_ready", + "payouts_limit_exceeded", + "payouts_not_allowed", + "platform_account_required", + "platform_api_key_expired", + "postal_code_invalid", + "processing_error", + "product_inactive", + "progressive_onboarding_limit_exceeded", + "rate_limit", + "refer_to_customer", + "refund_disputed_payment", + "resource_already_exists", + "resource_missing", + "return_intent_already_processed", + "routing_number_invalid", + "secret_key_required", + "sepa_unsupported_account", + "setup_attempt_failed", + "setup_intent_authentication_failure", + "setup_intent_invalid_parameter", + "setup_intent_mandate_invalid", + "setup_intent_setup_attempt_expired", + "setup_intent_unexpected_state", + "shipping_address_invalid", + "shipping_calculation_failed", + "sku_inactive", + "state_unsupported", + "status_transition_invalid", + "stripe_tax_inactive", + "tax_id_invalid", + "taxes_calculation_failed", + "terminal_location_country_unsupported", + "terminal_reader_busy", + "terminal_reader_hardware_fault", + "terminal_reader_invalid_location_for_activation", + "terminal_reader_invalid_location_for_payment", + "terminal_reader_offline", + "terminal_reader_timeout", + "testmode_charges_only", + "tls_version_unsupported", + "token_already_used", + "token_card_network_invalid", + "token_in_use", + "transfer_source_balance_parameters_mismatch", + "transfers_not_allowed", + "url_invalid" + ] + }, + "stripe.Stripe.PaymentIntent.AmountDetails.Tip": { "properties": { - "entity": { - "type": "string", - "nullable": true - }, - "reference": { - "type": "string", - "nullable": true - }, - "refund_account_holder_address_city": { - "type": "string", - "nullable": true - }, - "refund_account_holder_address_country": { - "type": "string", - "nullable": true - }, - "refund_account_holder_address_line1": { - "type": "string", - "nullable": true - }, - "refund_account_holder_address_line2": { - "type": "string", - "nullable": true - }, - "refund_account_holder_address_postal_code": { - "type": "string", - "nullable": true - }, - "refund_account_holder_address_state": { - "type": "string", - "nullable": true - }, - "refund_account_holder_name": { - "type": "string", - "nullable": true - }, - "refund_iban": { - "type": "string", - "nullable": true + "amount": { + "type": "number", + "format": "double", + "description": "Portion of the amount that corresponds to a tip." } }, "type": "object", "additionalProperties": false }, - "stripe.Stripe.Source.Owner": { + "stripe.Stripe.PaymentIntent.AmountDetails": { "properties": { - "address": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Address" - } - ], - "nullable": true, - "description": "Owner's address." - }, - "email": { - "type": "string", - "nullable": true, - "description": "Owner's email address." - }, - "name": { - "type": "string", - "nullable": true, - "description": "Owner's full name." - }, - "phone": { - "type": "string", - "nullable": true, - "description": "Owner's phone number (including extension)." - }, - "verified_address": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Address" - } - ], - "nullable": true, - "description": "Verified owner's address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated." - }, - "verified_email": { - "type": "string", - "nullable": true, - "description": "Verified owner's email address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated." - }, - "verified_name": { - "type": "string", - "nullable": true, - "description": "Verified owner's full name. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated." - }, - "verified_phone": { - "type": "string", - "nullable": true, - "description": "Verified owner's phone number (including extension). Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated." + "tip": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.AmountDetails.Tip" } }, - "required": [ - "address", - "email", - "name", - "phone", - "verified_address", - "verified_email", - "verified_name", - "verified_phone" - ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Source.P24": { + "stripe.Stripe.PaymentIntent.AutomaticPaymentMethods.AllowRedirects": { + "type": "string", + "enum": [ + "always", + "never" + ] + }, + "stripe.Stripe.PaymentIntent.AutomaticPaymentMethods": { "properties": { - "reference": { - "type": "string", - "nullable": true + "allow_redirects": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.AutomaticPaymentMethods.AllowRedirects", + "description": "Controls whether this PaymentIntent will accept redirect-based payment methods.\n\nRedirect-based payment methods may require your customer to be redirected to a payment method's app or site for authentication or additional steps. To [confirm](https://stripe.com/docs/api/payment_intents/confirm) this PaymentIntent, you may be required to provide a `return_url` to redirect customers back to your site after they authenticate or complete the payment." + }, + "enabled": { + "type": "boolean", + "description": "Automatically calculates compatible payment methods" } }, + "required": [ + "enabled" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Source.Receiver": { + "stripe.Stripe.PaymentIntent.CancellationReason": { + "type": "string", + "enum": [ + "abandoned", + "automatic", + "duplicate", + "failed_invoice", + "fraudulent", + "requested_by_customer", + "void_invoice" + ] + }, + "stripe.Stripe.PaymentIntent.CaptureMethod": { + "type": "string", + "enum": [ + "automatic", + "automatic_async", + "manual" + ] + }, + "stripe.Stripe.PaymentIntent.ConfirmationMethod": { + "type": "string", + "enum": [ + "automatic", + "manual" + ] + }, + "stripe.Stripe.TaxId.Owner.Type": { + "type": "string", + "enum": [ + "account", + "application", + "customer", + "self" + ] + }, + "stripe.Stripe.TaxId.Owner": { "properties": { - "address": { - "type": "string", - "nullable": true, - "description": "The address of the receiver source. This is the value that should be communicated to the customer to send their funds to." - }, - "amount_charged": { - "type": "number", - "format": "double", - "description": "The total amount that was moved to your balance. This is almost always equal to the amount charged. In rare cases when customers deposit excess funds and we are unable to refund those, those funds get moved to your balance and show up in amount_charged as well. The amount charged is expressed in the source's currency." - }, - "amount_received": { - "type": "number", - "format": "double", - "description": "The total amount received by the receiver source. `amount_received = amount_returned + amount_charged` should be true for consumed sources unless customers deposit excess funds. The amount received is expressed in the source's currency." + "account": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Account" + } + ], + "description": "The account being referenced when `type` is `account`." }, - "amount_returned": { - "type": "number", - "format": "double", - "description": "The total amount that was returned to the customer. The amount returned is expressed in the source's currency." + "application": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Application" + } + ], + "description": "The Connect Application being referenced when `type` is `application`." }, - "refund_attributes_method": { - "type": "string", - "description": "Type of refund attribute method, one of `email`, `manual`, or `none`." + "customer": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Customer" + } + ], + "description": "The customer being referenced when `type` is `customer`." }, - "refund_attributes_status": { - "type": "string", - "description": "Type of refund attribute status, one of `missing`, `requested`, or `available`." + "type": { + "$ref": "#/components/schemas/stripe.Stripe.TaxId.Owner.Type", + "description": "Type of owner referenced." } }, "required": [ - "address", - "amount_charged", - "amount_received", - "amount_returned", - "refund_attributes_method", - "refund_attributes_status" + "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Source.Redirect": { - "properties": { - "failure_reason": { - "type": "string", - "nullable": true, - "description": "The failure reason for the redirect, either `user_abort` (the customer aborted or dropped out of the redirect flow), `declined` (the authentication failed or the transaction was declined), or `processing_error` (the redirect failed due to a technical error). Present only if the redirect status is `failed`." - }, - "return_url": { - "type": "string", - "description": "The URL you provide to redirect the customer to after they authenticated their payment." - }, + "stripe.Stripe.TaxId.Type": { + "type": "string", + "enum": [ + "ad_nrt", + "ae_trn", + "al_tin", + "am_tin", + "ao_tin", + "ar_cuit", + "au_abn", + "au_arn", + "ba_tin", + "bb_tin", + "bg_uic", + "bh_vat", + "bo_tin", + "br_cnpj", + "br_cpf", + "bs_tin", + "by_tin", + "ca_bn", + "ca_gst_hst", + "ca_pst_bc", + "ca_pst_mb", + "ca_pst_sk", + "ca_qst", + "cd_nif", + "ch_uid", + "ch_vat", + "cl_tin", + "cn_tin", + "co_nit", + "cr_tin", + "de_stn", + "do_rcn", + "ec_ruc", + "eg_tin", + "es_cif", + "eu_oss_vat", + "eu_vat", + "gb_vat", + "ge_vat", + "gn_nif", + "hk_br", + "hr_oib", + "hu_tin", + "id_npwp", + "il_vat", + "in_gst", + "is_vat", + "jp_cn", + "jp_rn", + "jp_trn", + "ke_pin", + "kh_tin", + "kr_brn", + "kz_bin", + "li_uid", + "li_vat", + "ma_vat", + "md_vat", + "me_pib", + "mk_vat", + "mr_nif", + "mx_rfc", + "my_frp", + "my_itn", + "my_sst", + "ng_tin", + "no_vat", + "no_voec", + "np_pan", + "nz_gst", + "om_vat", + "pe_ruc", + "ph_tin", + "ro_tin", + "rs_pib", + "ru_inn", + "ru_kpp", + "sa_vat", + "sg_gst", + "sg_uen", + "si_tin", + "sn_ninea", + "sr_fin", + "sv_nit", + "th_vat", + "tj_tin", + "tr_tin", + "tw_vat", + "tz_vat", + "ua_vat", + "ug_tin", + "unknown", + "us_ein", + "uy_ruc", + "uz_tin", + "uz_vat", + "ve_rif", + "vn_tin", + "za_vat", + "zm_tin", + "zw_tin" + ] + }, + "stripe.Stripe.TaxId.Verification.Status": { + "type": "string", + "enum": [ + "pending", + "unavailable", + "unverified", + "verified" + ] + }, + "stripe.Stripe.TaxId.Verification": { + "properties": { "status": { + "$ref": "#/components/schemas/stripe.Stripe.TaxId.Verification.Status", + "description": "Verification status, one of `pending`, `verified`, `unverified`, or `unavailable`." + }, + "verified_address": { "type": "string", - "description": "The status of the redirect, either `pending` (ready to be used by your customer to authenticate the transaction), `succeeded` (succesful authentication, cannot be reused) or `not_required` (redirect should not be used) or `failed` (failed authentication, cannot be reused)." + "nullable": true, + "description": "Verified address." }, - "url": { + "verified_name": { "type": "string", - "description": "The URL provided to you to redirect a customer to as part of a `redirect` authentication flow." + "nullable": true, + "description": "Verified name." } }, "required": [ - "failure_reason", - "return_url", "status", - "url" + "verified_address", + "verified_name" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Source.SepaCreditTransfer": { + "stripe.Stripe.TaxId": { + "description": "You can add one or multiple tax IDs to a [customer](https://stripe.com/docs/api/customers) or account.\nCustomer and account tax IDs get displayed on related invoices and credit notes.\n\nRelated guides: [Customer tax identification numbers](https://stripe.com/docs/billing/taxes/tax-ids), [Account tax IDs](https://stripe.com/docs/invoicing/connect#account-tax-ids)", "properties": { - "bank_name": { + "id": { "type": "string", - "nullable": true + "description": "Unique identifier for the object." }, - "bic": { + "object": { "type": "string", - "nullable": true + "enum": [ + "tax_id" + ], + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." }, - "iban": { + "country": { "type": "string", - "nullable": true + "nullable": true, + "description": "Two-letter ISO code representing the country of the tax ID." }, - "refund_account_holder_address_city": { - "type": "string", - "nullable": true + "created": { + "type": "number", + "format": "double", + "description": "Time at which the object was created. Measured in seconds since the Unix epoch." }, - "refund_account_holder_address_country": { - "type": "string", - "nullable": true + "customer": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Customer" + } + ], + "nullable": true, + "description": "ID of the customer." }, - "refund_account_holder_address_line1": { - "type": "string", - "nullable": true + "deleted": { + "description": "Always true for a deleted object" }, - "refund_account_holder_address_line2": { - "type": "string", - "nullable": true + "livemode": { + "type": "boolean", + "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." }, - "refund_account_holder_address_postal_code": { - "type": "string", - "nullable": true + "owner": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.TaxId.Owner" + } + ], + "nullable": true, + "description": "The account or customer the tax ID belongs to." }, - "refund_account_holder_address_state": { - "type": "string", - "nullable": true + "type": { + "$ref": "#/components/schemas/stripe.Stripe.TaxId.Type", + "description": "Type of the tax ID, one of `ad_nrt`, `ae_trn`, `al_tin`, `am_tin`, `ao_tin`, `ar_cuit`, `au_abn`, `au_arn`, `ba_tin`, `bb_tin`, `bg_uic`, `bh_vat`, `bo_tin`, `br_cnpj`, `br_cpf`, `bs_tin`, `by_tin`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `cd_nif`, `ch_uid`, `ch_vat`, `cl_tin`, `cn_tin`, `co_nit`, `cr_tin`, `de_stn`, `do_rcn`, `ec_ruc`, `eg_tin`, `es_cif`, `eu_oss_vat`, `eu_vat`, `gb_vat`, `ge_vat`, `gn_nif`, `hk_br`, `hr_oib`, `hu_tin`, `id_npwp`, `il_vat`, `in_gst`, `is_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kh_tin`, `kr_brn`, `kz_bin`, `li_uid`, `li_vat`, `ma_vat`, `md_vat`, `me_pib`, `mk_vat`, `mr_nif`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `ng_tin`, `no_vat`, `no_voec`, `np_pan`, `nz_gst`, `om_vat`, `pe_ruc`, `ph_tin`, `ro_tin`, `rs_pib`, `ru_inn`, `ru_kpp`, `sa_vat`, `sg_gst`, `sg_uen`, `si_tin`, `sn_ninea`, `sr_fin`, `sv_nit`, `th_vat`, `tj_tin`, `tr_tin`, `tw_vat`, `tz_vat`, `ua_vat`, `ug_tin`, `us_ein`, `uy_ruc`, `uz_tin`, `uz_vat`, `ve_rif`, `vn_tin`, `za_vat`, `zm_tin`, or `zw_tin`. Note that some legacy tax IDs have type `unknown`" }, - "refund_account_holder_name": { + "value": { "type": "string", - "nullable": true + "description": "Value of the tax ID." }, - "refund_iban": { - "type": "string", - "nullable": true + "verification": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.TaxId.Verification" + } + ], + "nullable": true, + "description": "Tax ID verification information." } }, + "required": [ + "id", + "object", + "country", + "created", + "customer", + "livemode", + "owner", + "type", + "value", + "verification" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Source.SepaDebit": { + "stripe.Stripe.DeletedTaxId": { + "description": "The DeletedTaxId object.", "properties": { - "bank_code": { - "type": "string", - "nullable": true - }, - "branch_code": { - "type": "string", - "nullable": true - }, - "country": { - "type": "string", - "nullable": true - }, - "fingerprint": { - "type": "string", - "nullable": true - }, - "last4": { + "id": { "type": "string", - "nullable": true + "description": "Unique identifier for the object." }, - "mandate_reference": { + "object": { "type": "string", - "nullable": true + "enum": [ + "tax_id" + ], + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." }, - "mandate_url": { - "type": "string", - "nullable": true + "deleted": { + "type": "boolean", + "enum": [ + true + ], + "nullable": false, + "description": "Always true for a deleted object" } }, + "required": [ + "id", + "object", + "deleted" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Source.Sofort": { - "properties": { - "bank_code": { - "type": "string", - "nullable": true - }, - "bank_name": { - "type": "string", - "nullable": true - }, - "bic": { - "type": "string", - "nullable": true - }, - "country": { - "type": "string", - "nullable": true - }, - "iban_last4": { - "type": "string", - "nullable": true - }, - "preferred_language": { - "type": "string", - "nullable": true - }, - "statement_descriptor": { - "type": "string", - "nullable": true - } - }, - "type": "object", - "additionalProperties": false + "stripe.Stripe.Invoice.AutomaticTax.DisabledReason": { + "type": "string", + "enum": [ + "finalization_requires_location_inputs", + "finalization_system_error" + ] }, - "stripe.Stripe.Source.SourceOrder.Item": { + "stripe.Stripe.Invoice.AutomaticTax.Liability.Type": { + "type": "string", + "enum": [ + "account", + "self" + ] + }, + "stripe.Stripe.Invoice.AutomaticTax.Liability": { "properties": { - "amount": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The amount (price) for this order item." - }, - "currency": { - "type": "string", - "nullable": true, - "description": "This currency of this order item. Required when `amount` is present." - }, - "description": { - "type": "string", - "nullable": true, - "description": "Human-readable description for this order item." - }, - "parent": { - "type": "string", - "nullable": true, - "description": "The ID of the associated object for this line item. Expandable if not null (e.g., expandable to a SKU)." - }, - "quantity": { - "type": "number", - "format": "double", - "description": "The quantity of this order item. When type is `sku`, this is the number of instances of the SKU to be ordered." + "account": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Account" + } + ], + "description": "The connected account being referenced when `type` is `account`." }, "type": { - "type": "string", - "nullable": true, - "description": "The type of this order item. Must be `sku`, `tax`, or `shipping`." + "$ref": "#/components/schemas/stripe.Stripe.Invoice.AutomaticTax.Liability.Type", + "description": "Type of the account referenced." } }, "required": [ - "amount", - "currency", - "description", - "parent", "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Source.SourceOrder.Shipping": { + "stripe.Stripe.Invoice.AutomaticTax.Status": { + "type": "string", + "enum": [ + "complete", + "failed", + "requires_location_inputs" + ] + }, + "stripe.Stripe.Invoice.AutomaticTax": { "properties": { - "address": { - "$ref": "#/components/schemas/stripe.Stripe.Address" - }, - "carrier": { - "type": "string", + "disabled_reason": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.AutomaticTax.DisabledReason" + } + ], "nullable": true, - "description": "The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc." + "description": "If Stripe disabled automatic tax, this enum describes why." }, - "name": { - "type": "string", - "description": "Recipient name." + "enabled": { + "type": "boolean", + "description": "Whether Stripe automatically computes tax on this invoice. Note that incompatible invoice items (invoice items with manually specified [tax rates](https://stripe.com/docs/api/tax_rates), negative amounts, or `tax_behavior=unspecified`) cannot be added to automatic tax invoices." }, - "phone": { - "type": "string", + "liability": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.AutomaticTax.Liability" + } + ], "nullable": true, - "description": "Recipient phone (including extension)." + "description": "The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account." }, - "tracking_number": { - "type": "string", + "status": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.AutomaticTax.Status" + } + ], "nullable": true, - "description": "The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas." + "description": "The status of the most recent automated tax calculation for this invoice." } }, + "required": [ + "disabled_reason", + "enabled", + "liability", + "status" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Source.SourceOrder": { + "stripe.Stripe.Invoice.BillingReason": { + "type": "string", + "enum": [ + "automatic_pending_invoice_item_invoice", + "manual", + "quote_accept", + "subscription", + "subscription_create", + "subscription_cycle", + "subscription_threshold", + "subscription_update", + "upcoming" + ] + }, + "stripe.Stripe.BalanceTransaction.FeeDetail": { "properties": { "amount": { "type": "number", "format": "double", - "description": "A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the total amount for the order." + "description": "Amount of the fee, in cents." + }, + "application": { + "type": "string", + "nullable": true, + "description": "ID of the Connect application that earned the fee." }, "currency": { "type": "string", "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." }, - "email": { + "description": { "type": "string", - "description": "The email address of the customer placing the order." - }, - "items": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Source.SourceOrder.Item" - }, - "type": "array", "nullable": true, - "description": "List of items constituting the order." + "description": "An arbitrary string attached to the object. Often useful for displaying to users." }, - "shipping": { - "$ref": "#/components/schemas/stripe.Stripe.Source.SourceOrder.Shipping" + "type": { + "type": "string", + "description": "Type of the fee, one of: `application_fee`, `payment_method_passthrough_fee`, `stripe_fee` or `tax`." } }, "required": [ "amount", + "application", "currency", - "items" + "description", + "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Source.ThreeDSecure": { + "stripe.Stripe.ApplicationFee": { + "description": "The ApplicationFee object.", "properties": { - "address_line1_check": { + "id": { "type": "string", - "nullable": true + "description": "Unique identifier for the object." }, - "address_zip_check": { + "object": { "type": "string", - "nullable": true + "enum": [ + "application_fee" + ], + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." }, - "authenticated": { - "type": "boolean", - "nullable": true + "account": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Account" + } + ], + "description": "ID of the Stripe account this fee was taken from." }, - "brand": { - "type": "string", - "nullable": true + "amount": { + "type": "number", + "format": "double", + "description": "Amount earned, in cents (or local equivalent)." }, - "card": { - "type": "string", - "nullable": true + "amount_refunded": { + "type": "number", + "format": "double", + "description": "Amount in cents (or local equivalent) refunded (can be less than the amount attribute on the fee if a partial refund was issued)" }, - "country": { - "type": "string", - "nullable": true - }, - "customer": { - "type": "string", - "nullable": true - }, - "cvc_check": { - "type": "string", - "nullable": true - }, - "description": { - "type": "string" + "application": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Application" + } + ], + "description": "ID of the Connect application that earned the fee." }, - "dynamic_last4": { - "type": "string", - "nullable": true + "balance_transaction": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.BalanceTransaction" + } + ], + "nullable": true, + "description": "Balance transaction that describes the impact of this collected application fee on your account balance (not including refunds)." }, - "exp_month": { - "type": "number", - "format": "double", - "nullable": true + "charge": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Charge" + } + ], + "description": "ID of the charge that the application fee was taken from." }, - "exp_year": { + "created": { "type": "number", "format": "double", - "nullable": true - }, - "fingerprint": { - "type": "string" - }, - "funding": { - "type": "string", - "nullable": true - }, - "iin": { - "type": "string" - }, - "issuer": { - "type": "string" + "description": "Time at which the object was created. Measured in seconds since the Unix epoch." }, - "last4": { + "currency": { "type": "string", - "nullable": true + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." }, - "name": { - "type": "string", - "nullable": true + "fee_source": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.ApplicationFee.FeeSource" + } + ], + "nullable": true, + "description": "Polymorphic source of the application fee. Includes the ID of the object the application fee was created from." }, - "three_d_secure": { - "type": "string" + "livemode": { + "type": "boolean", + "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." }, - "tokenization_method": { - "type": "string", - "nullable": true - } - }, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Source.Type": { - "type": "string", - "enum": [ - "ach_credit_transfer", - "ach_debit", - "acss_debit", - "alipay", - "au_becs_debit", - "bancontact", - "card", - "card_present", - "eps", - "giropay", - "ideal", - "klarna", - "multibanco", - "p24", - "sepa_credit_transfer", - "sepa_debit", - "sofort", - "three_d_secure", - "wechat" - ] - }, - "stripe.Stripe.Source.Wechat": { - "properties": { - "prepay_id": { - "type": "string" + "originating_transaction": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Charge" + } + ], + "nullable": true, + "description": "ID of the corresponding charge on the platform account, if this fee was the result of a charge using the `destination` parameter." }, - "qr_code_url": { - "type": "string", - "nullable": true + "refunded": { + "type": "boolean", + "description": "Whether the fee has been fully refunded. If the fee is only partially refunded, this attribute will still be false." }, - "statement_descriptor": { - "type": "string" + "refunds": { + "$ref": "#/components/schemas/stripe.Stripe.ApiList_stripe.Stripe.FeeRefund_", + "description": "A list of refunds that have been applied to the fee." } }, + "required": [ + "id", + "object", + "account", + "amount", + "amount_refunded", + "application", + "balance_transaction", + "charge", + "created", + "currency", + "fee_source", + "livemode", + "originating_transaction", + "refunded", + "refunds" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Source": { - "description": "`Source` objects allow you to accept a variety of payment methods. They\nrepresent a customer's payment instrument, and can be used with the Stripe API\njust like a `Card` object: once chargeable, they can be charged, or can be\nattached to customers.\n\nStripe doesn't recommend using the deprecated [Sources API](https://stripe.com/docs/api/sources).\nWe recommend that you adopt the [PaymentMethods API](https://stripe.com/docs/api/payment_methods).\nThis newer API provides access to our latest features and payment method types.\n\nRelated guides: [Sources API](https://stripe.com/docs/sources) and [Sources & Customers](https://stripe.com/docs/sources/customers).", + "stripe.Stripe.Charge": { + "description": "The `Charge` object represents a single attempt to move money into your Stripe account.\nPaymentIntent confirmation is the most common way to create Charges, but transferring\nmoney to a different Stripe account through Connect also creates Charges.\nSome legacy payment flows create Charges directly, which is not recommended for new integrations.", "properties": { "id": { "type": "string", @@ -13725,56 +12911,83 @@ "object": { "type": "string", "enum": [ - "source" + "charge" ], "nullable": false, "description": "String representing the object's type. Objects of the same type share the same value." }, - "ach_credit_transfer": { - "$ref": "#/components/schemas/stripe.Stripe.Source.AchCreditTransfer" + "amount": { + "type": "number", + "format": "double", + "description": "Amount intended to be collected by this payment. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99)." }, - "ach_debit": { - "$ref": "#/components/schemas/stripe.Stripe.Source.AchDebit" + "amount_captured": { + "type": "number", + "format": "double", + "description": "Amount in cents (or local equivalent) captured (can be less than the amount attribute on the charge if a partial capture was made)." }, - "acss_debit": { - "$ref": "#/components/schemas/stripe.Stripe.Source.AcssDebit" + "amount_refunded": { + "type": "number", + "format": "double", + "description": "Amount in cents (or local equivalent) refunded (can be less than the amount attribute on the charge if a partial refund was issued)." }, - "alipay": { - "$ref": "#/components/schemas/stripe.Stripe.Source.Alipay" + "application": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Application" + } + ], + "nullable": true, + "description": "ID of the Connect application that created the charge." }, - "allow_redisplay": { - "allOf": [ + "application_fee": { + "anyOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Source.AllowRedisplay" + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.ApplicationFee" } ], "nullable": true, - "description": "This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to “unspecified”." + "description": "The application fee (if any) for the charge. [See the Connect documentation](https://stripe.com/docs/connect/direct-charges#collect-fees) for details." }, - "amount": { + "application_fee_amount": { "type": "number", "format": "double", "nullable": true, - "description": "A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the total amount associated with the source. This is the amount for which the source will be chargeable once ready. Required for `single_use` sources." - }, - "au_becs_debit": { - "$ref": "#/components/schemas/stripe.Stripe.Source.AuBecsDebit" + "description": "The amount of the application fee (if any) requested for the charge. [See the Connect documentation](https://stripe.com/docs/connect/direct-charges#collect-fees) for details." }, - "bancontact": { - "$ref": "#/components/schemas/stripe.Stripe.Source.Bancontact" + "authorization_code": { + "type": "string", + "description": "Authorization code on the charge." }, - "card": { - "$ref": "#/components/schemas/stripe.Stripe.Source.Card" + "balance_transaction": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.BalanceTransaction" + } + ], + "nullable": true, + "description": "ID of the balance transaction that describes the impact of this charge on your account balance (not including refunds or disputes)." }, - "card_present": { - "$ref": "#/components/schemas/stripe.Stripe.Source.CardPresent" + "billing_details": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.BillingDetails" }, - "client_secret": { + "calculated_statement_descriptor": { "type": "string", - "description": "The client secret of the source. Used for client-side retrieval using a publishable key." + "nullable": true, + "description": "The full statement descriptor that is passed to card networks, and that is displayed on your customers' credit card and bank statements. Allows you to see what the statement descriptor looks like after the static and dynamic portions are combined. This value only exists for card payments." }, - "code_verification": { - "$ref": "#/components/schemas/stripe.Stripe.Source.CodeVerification" + "captured": { + "type": "boolean", + "description": "If the charge was created without capturing, this Boolean represents whether it is still uncaptured or has since been captured." }, "created": { "type": "number", @@ -13783,176 +12996,352 @@ }, "currency": { "type": "string", - "nullable": true, - "description": "Three-letter [ISO code for the currency](https://stripe.com/docs/currencies) associated with the source. This is the currency for which the source will be chargeable once ready. Required for `single_use` sources." + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." }, "customer": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Customer" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedCustomer" + } + ], + "nullable": true, + "description": "ID of the customer this charge is for if one exists." + }, + "description": { "type": "string", - "description": "The ID of the customer to which this source is attached. This will not be present when the source has not been attached to a customer." + "nullable": true, + "description": "An arbitrary string attached to the object. Often useful for displaying to users." }, - "eps": { - "$ref": "#/components/schemas/stripe.Stripe.Source.Eps" + "disputed": { + "type": "boolean", + "description": "Whether the charge has been disputed." }, - "flow": { + "failure_balance_transaction": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.BalanceTransaction" + } + ], + "nullable": true, + "description": "ID of the balance transaction that describes the reversal of the balance on your account due to payment failure." + }, + "failure_code": { "type": "string", - "description": "The authentication `flow` of the source. `flow` is one of `redirect`, `receiver`, `code_verification`, `none`." + "nullable": true, + "description": "Error code explaining reason for charge failure if available (see [the errors section](https://stripe.com/docs/error-codes) for a list of codes)." }, - "giropay": { - "$ref": "#/components/schemas/stripe.Stripe.Source.Giropay" + "failure_message": { + "type": "string", + "nullable": true, + "description": "Message to user further explaining reason for charge failure if available." }, - "ideal": { - "$ref": "#/components/schemas/stripe.Stripe.Source.Ideal" + "fraud_details": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Charge.FraudDetails" + } + ], + "nullable": true, + "description": "Information on fraud assessments for the charge." }, - "klarna": { - "$ref": "#/components/schemas/stripe.Stripe.Source.Klarna" + "invoice": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Invoice" + } + ], + "nullable": true, + "description": "ID of the invoice this charge is for if one exists." + }, + "level3": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.Level3" }, "livemode": { "type": "boolean", "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." }, "metadata": { + "$ref": "#/components/schemas/stripe.Stripe.Metadata", + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." + }, + "on_behalf_of": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Account" + } + ], + "nullable": true, + "description": "The account (if any) the charge was made on behalf of without triggering an automatic transfer. See the [Connect documentation](https://stripe.com/docs/connect/separate-charges-and-transfers) for details." + }, + "outcome": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Metadata" + "$ref": "#/components/schemas/stripe.Stripe.Charge.Outcome" } ], "nullable": true, - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." + "description": "Details about whether the payment was accepted, and why. See [understanding declines](https://stripe.com/docs/declines) for details." }, - "multibanco": { - "$ref": "#/components/schemas/stripe.Stripe.Source.Multibanco" + "paid": { + "type": "boolean", + "description": "`true` if the charge succeeded, or was successfully authorized for later capture." }, - "owner": { + "payment_intent": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent" + } + ], + "nullable": true, + "description": "ID of the PaymentIntent associated with this charge, if one exists." + }, + "payment_method": { + "type": "string", + "nullable": true, + "description": "ID of the payment method used in this charge." + }, + "payment_method_details": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Source.Owner" + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails" } ], "nullable": true, - "description": "Information about the owner of the payment instrument that may be used or required by particular source types." + "description": "Details about the payment method at the time of the transaction." }, - "p24": { - "$ref": "#/components/schemas/stripe.Stripe.Source.P24" + "radar_options": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.RadarOptions", + "description": "Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information." }, - "receiver": { - "$ref": "#/components/schemas/stripe.Stripe.Source.Receiver" + "receipt_email": { + "type": "string", + "nullable": true, + "description": "This is the email address that the receipt for this charge was sent to." }, - "redirect": { - "$ref": "#/components/schemas/stripe.Stripe.Source.Redirect" + "receipt_number": { + "type": "string", + "nullable": true, + "description": "This is the transaction number that appears on email receipts sent for this charge. This attribute will be `null` until a receipt has been sent." }, - "sepa_credit_transfer": { - "$ref": "#/components/schemas/stripe.Stripe.Source.SepaCreditTransfer" + "receipt_url": { + "type": "string", + "nullable": true, + "description": "This is the URL to view the receipt for this charge. The receipt is kept up-to-date to the latest state of the charge, including any refunds. If the charge is for an Invoice, the receipt will be stylized as an Invoice receipt." }, - "sepa_debit": { - "$ref": "#/components/schemas/stripe.Stripe.Source.SepaDebit" + "refunded": { + "type": "boolean", + "description": "Whether the charge has been fully refunded. If the charge is only partially refunded, this attribute will still be false." }, - "sofort": { - "$ref": "#/components/schemas/stripe.Stripe.Source.Sofort" + "refunds": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.ApiList_stripe.Stripe.Refund_" + } + ], + "nullable": true, + "description": "A list of refunds that have been applied to the charge." }, - "source_order": { - "$ref": "#/components/schemas/stripe.Stripe.Source.SourceOrder" + "review": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Review" + } + ], + "nullable": true, + "description": "ID of the review associated with this charge if one exists." + }, + "shipping": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Charge.Shipping" + } + ], + "nullable": true, + "description": "Shipping information for the charge." + }, + "source": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.CustomerSource" + } + ], + "nullable": true, + "description": "This is a legacy field that will be removed in the future. It contains the Source, Card, or BankAccount object used for the charge. For details about the payment method used for this charge, refer to `payment_method` or `payment_method_details` instead." + }, + "source_transfer": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Transfer" + } + ], + "nullable": true, + "description": "The transfer ID which created this charge. Only present if the charge came from another Stripe account. [See the Connect documentation](https://docs.stripe.com/connect/destination-charges) for details." }, "statement_descriptor": { "type": "string", "nullable": true, - "description": "Extra information about a source. This will appear on your customer's statement every time you charge the source." + "description": "For a non-card charge, text that appears on the customer's statement as the statement descriptor. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors).\n\nFor a card charge, this value is ignored unless you don't specify a `statement_descriptor_suffix`, in which case this value is used as the suffix." }, - "status": { + "statement_descriptor_suffix": { "type": "string", - "description": "The status of the source, one of `canceled`, `chargeable`, `consumed`, `failed`, or `pending`. Only `chargeable` sources can be used to create a charge." + "nullable": true, + "description": "Provides information about a card charge. Concatenated to the account's [statement descriptor prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) to form the complete statement descriptor that appears on the customer's statement. If the account has no prefix value, the suffix is concatenated to the account's statement descriptor." }, - "three_d_secure": { - "$ref": "#/components/schemas/stripe.Stripe.Source.ThreeDSecure" + "status": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.Status", + "description": "The status of the payment is either `succeeded`, `pending`, or `failed`." }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.Source.Type", - "description": "The `type` of the source. The `type` is a payment method, one of `ach_credit_transfer`, `ach_debit`, `alipay`, `bancontact`, `card`, `card_present`, `eps`, `giropay`, `ideal`, `multibanco`, `klarna`, `p24`, `sepa_debit`, `sofort`, `three_d_secure`, or `wechat`. An additional hash is included on the source with a name matching this value. It contains additional information specific to the [payment method](https://stripe.com/docs/sources) used." + "transfer": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Transfer" + } + ], + "description": "ID of the transfer to the `destination` account (only applicable if the charge was created using the `destination` parameter)." }, - "usage": { - "type": "string", + "transfer_data": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Charge.TransferData" + } + ], "nullable": true, - "description": "Either `reusable` or `single_use`. Whether this source should be reusable or not. Some source types may or may not be reusable by construction, while others may leave the option at creation. If an incompatible value is passed, an error will be returned." + "description": "An optional dictionary including the account to automatically transfer to as part of a destination charge. [See the Connect documentation](https://stripe.com/docs/connect/destination-charges) for details." }, - "wechat": { - "$ref": "#/components/schemas/stripe.Stripe.Source.Wechat" + "transfer_group": { + "type": "string", + "nullable": true, + "description": "A string that identifies this transaction as part of a group. See the [Connect documentation](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-options) for details." } }, "required": [ "id", "object", - "allow_redisplay", "amount", - "client_secret", + "amount_captured", + "amount_refunded", + "application", + "application_fee", + "application_fee_amount", + "balance_transaction", + "billing_details", + "calculated_statement_descriptor", + "captured", "created", "currency", - "flow", - "livemode", - "metadata", - "owner", - "statement_descriptor", - "status", - "type", - "usage" + "customer", + "description", + "disputed", + "failure_balance_transaction", + "failure_code", + "failure_message", + "fraud_details", + "invoice", + "livemode", + "metadata", + "on_behalf_of", + "outcome", + "paid", + "payment_intent", + "payment_method", + "payment_method_details", + "receipt_email", + "receipt_number", + "receipt_url", + "refunded", + "review", + "shipping", + "source", + "source_transfer", + "statement_descriptor", + "statement_descriptor_suffix", + "status", + "transfer_data", + "transfer_group" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.CustomerSource": { - "anyOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Account" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.BankAccount" + "stripe.Stripe.ConnectCollectionTransfer": { + "description": "The ConnectCollectionTransfer object.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the object." }, - { - "$ref": "#/components/schemas/stripe.Stripe.Card" + "object": { + "type": "string", + "enum": [ + "connect_collection_transfer" + ], + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." }, - { - "$ref": "#/components/schemas/stripe.Stripe.Source" - } - ] - }, - "stripe.Stripe.Coupon.AppliesTo": { - "properties": { - "products": { - "items": { - "type": "string" - }, - "type": "array", - "description": "A list of product IDs this coupon applies to" - } - }, - "required": [ - "products" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Coupon.CurrencyOptions": { - "properties": { - "amount_off": { + "amount": { "type": "number", "format": "double", - "description": "Amount (in the `currency` specified) that will be taken off the subtotal of any invoices for this customer." + "description": "Amount transferred, in cents (or local equivalent)." + }, + "currency": { + "type": "string", + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." + }, + "destination": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Account" + } + ], + "description": "ID of the account that funds are being collected for." + }, + "livemode": { + "type": "boolean", + "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." } }, "required": [ - "amount_off" + "id", + "object", + "amount", + "currency", + "destination", + "livemode" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Coupon.Duration": { - "type": "string", - "enum": [ - "forever", - "once", - "repeating" - ] - }, - "stripe.Stripe.Coupon": { - "description": "A coupon contains information about a percent-off or amount-off discount you\nmight want to apply to a customer. Coupons may be applied to [subscriptions](https://stripe.com/docs/api#subscriptions), [invoices](https://stripe.com/docs/api#invoices),\n[checkout sessions](https://stripe.com/docs/api/checkout/sessions), [quotes](https://stripe.com/docs/api#quotes), and more. Coupons do not work with conventional one-off [charges](https://stripe.com/docs/api#create_charge) or [payment intents](https://stripe.com/docs/api/payment_intents).", + "stripe.Stripe.BalanceTransaction": { + "description": "Balance transactions represent funds moving through your Stripe account.\nStripe creates them for every type of transaction that enters or leaves your Stripe account balance.\n\nRelated guide: [Balance transaction types](https://stripe.com/docs/reports/balance-transaction-types)", "properties": { "id": { "type": "string", @@ -13961,19 +13350,20 @@ "object": { "type": "string", "enum": [ - "coupon" + "balance_transaction" ], "nullable": false, "description": "String representing the object's type. Objects of the same type share the same value." }, - "amount_off": { + "amount": { "type": "number", "format": "double", - "nullable": true, - "description": "Amount (in the `currency` specified) that will be taken off the subtotal of any invoices for this customer." + "description": "Gross amount of this transaction (in cents (or local equivalent)). A positive value represents funds charged to another party, and a negative value represents funds sent to another party." }, - "applies_to": { - "$ref": "#/components/schemas/stripe.Stripe.Coupon.AppliesTo" + "available_on": { + "type": "number", + "format": "double", + "description": "The date that the transaction's net funds become available in the Stripe balance." }, "created": { "type": "number", @@ -13982,146 +13372,83 @@ }, "currency": { "type": "string", - "nullable": true, - "description": "If `amount_off` has been set, the three-letter [ISO code for the currency](https://stripe.com/docs/currencies) of the amount to take off." - }, - "currency_options": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/stripe.Stripe.Coupon.CurrencyOptions" - }, - "type": "object", - "description": "Coupons defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies)." - }, - "deleted": { - "description": "Always true for a deleted object" + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." }, - "duration": { - "$ref": "#/components/schemas/stripe.Stripe.Coupon.Duration", - "description": "One of `forever`, `once`, and `repeating`. Describes how long a customer who applies this coupon will get the discount." + "description": { + "type": "string", + "nullable": true, + "description": "An arbitrary string attached to the object. Often useful for displaying to users." }, - "duration_in_months": { + "exchange_rate": { "type": "number", "format": "double", "nullable": true, - "description": "If `duration` is `repeating`, the number of months the coupon applies. Null if coupon `duration` is `forever` or `once`." + "description": "If applicable, this transaction uses an exchange rate. If money converts from currency A to currency B, then the `amount` in currency A, multipled by the `exchange_rate`, equals the `amount` in currency B. For example, if you charge a customer 10.00 EUR, the PaymentIntent's `amount` is `1000` and `currency` is `eur`. If this converts to 12.34 USD in your Stripe account, the BalanceTransaction's `amount` is `1234`, its `currency` is `usd`, and the `exchange_rate` is `1.234`." }, - "livemode": { - "type": "boolean", - "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." + "fee": { + "type": "number", + "format": "double", + "description": "Fees (in cents (or local equivalent)) paid for this transaction. Represented as a positive integer when assessed." }, - "max_redemptions": { + "fee_details": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.BalanceTransaction.FeeDetail" + }, + "type": "array", + "description": "Detailed breakdown of fees (in cents (or local equivalent)) paid for this transaction." + }, + "net": { "type": "number", "format": "double", - "nullable": true, - "description": "Maximum number of times this coupon can be redeemed, in total, across all customers, before it is no longer valid." + "description": "Net impact to a Stripe balance (in cents (or local equivalent)). A positive value represents incrementing a Stripe balance, and a negative value decrementing a Stripe balance. You can calculate the net impact of a transaction on a balance by `amount` - `fee`" }, - "metadata": { - "allOf": [ + "reporting_category": { + "type": "string", + "description": "Learn more about how [reporting categories](https://stripe.com/docs/reports/reporting-categories) can help you understand balance transactions from an accounting perspective." + }, + "source": { + "anyOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Metadata" + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.BalanceTransactionSource" } ], "nullable": true, - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." + "description": "This transaction relates to the Stripe object." }, - "name": { + "status": { "type": "string", - "nullable": true, - "description": "Name of the coupon displayed to customers on for instance invoices or receipts." - }, - "percent_off": { - "type": "number", - "format": "double", - "nullable": true, - "description": "Percent that will be taken off the subtotal of any invoices for this customer for the duration of the coupon. For example, a coupon with percent_off of 50 will make a $ (or local equivalent)100 invoice $ (or local equivalent)50 instead." - }, - "redeem_by": { - "type": "number", - "format": "double", - "nullable": true, - "description": "Date after which the coupon can no longer be redeemed." - }, - "times_redeemed": { - "type": "number", - "format": "double", - "description": "Number of times this coupon has been applied to a customer." + "description": "The transaction's net funds status in the Stripe balance, which are either `available` or `pending`." }, - "valid": { - "type": "boolean", - "description": "Taking account of the above properties, whether this coupon can still be applied to a customer." + "type": { + "$ref": "#/components/schemas/stripe.Stripe.BalanceTransaction.Type", + "description": "Transaction type: `adjustment`, `advance`, `advance_funding`, `anticipation_repayment`, `application_fee`, `application_fee_refund`, `charge`, `climate_order_purchase`, `climate_order_refund`, `connect_collection_transfer`, `contribution`, `issuing_authorization_hold`, `issuing_authorization_release`, `issuing_dispute`, `issuing_transaction`, `obligation_outbound`, `obligation_reversal_inbound`, `payment`, `payment_failure_refund`, `payment_network_reserve_hold`, `payment_network_reserve_release`, `payment_refund`, `payment_reversal`, `payment_unreconciled`, `payout`, `payout_cancel`, `payout_failure`, `payout_minimum_balance_hold`, `payout_minimum_balance_release`, `refund`, `refund_failure`, `reserve_transaction`, `reserved_funds`, `stripe_fee`, `stripe_fx_fee`, `tax_fee`, `topup`, `topup_reversal`, `transfer`, `transfer_cancel`, `transfer_failure`, or `transfer_refund`. Learn more about [balance transaction types and what they represent](https://stripe.com/docs/reports/balance-transaction-types). To classify transactions for accounting purposes, consider `reporting_category` instead." } }, "required": [ "id", "object", - "amount_off", + "amount", + "available_on", "created", "currency", - "duration", - "duration_in_months", - "livemode", - "max_redemptions", - "metadata", - "name", - "percent_off", - "redeem_by", - "times_redeemed", - "valid" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PromotionCode.Restrictions.CurrencyOptions": { - "properties": { - "minimum_amount": { - "type": "number", - "format": "double", - "description": "Minimum amount required to redeem this Promotion Code into a Coupon (e.g., a purchase must be $100 or more to work)." - } - }, - "required": [ - "minimum_amount" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PromotionCode.Restrictions": { - "properties": { - "currency_options": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/stripe.Stripe.PromotionCode.Restrictions.CurrencyOptions" - }, - "type": "object", - "description": "Promotion code restrictions defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies)." - }, - "first_time_transaction": { - "type": "boolean", - "description": "A Boolean indicating if the Promotion Code should only be redeemed for Customers without any successful payments or invoices" - }, - "minimum_amount": { - "type": "number", - "format": "double", - "nullable": true, - "description": "Minimum amount required to redeem this Promotion Code into a Coupon (e.g., a purchase must be $100 or more to work)." - }, - "minimum_amount_currency": { - "type": "string", - "nullable": true, - "description": "Three-letter [ISO code](https://stripe.com/docs/currencies) for minimum_amount" - } - }, - "required": [ - "first_time_transaction", - "minimum_amount", - "minimum_amount_currency" + "description", + "exchange_rate", + "fee", + "fee_details", + "net", + "reporting_category", + "source", + "status", + "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PromotionCode": { - "description": "A Promotion Code represents a customer-redeemable code for a [coupon](https://stripe.com/docs/api#coupons). It can be used to\ncreate multiple codes for a single coupon.", + "stripe.Stripe.CustomerCashBalanceTransaction": { + "description": "Customers with certain payments enabled have a cash balance, representing funds that were paid\nby the customer to a merchant, but have not yet been allocated to a payment. Cash Balance Transactions\nrepresent when funds are moved into or out of this balance. This includes funding by the customer, allocation\nto payments, and refunds to the customer.", "properties": { "id": { "type": "string", @@ -14130,28 +13457,26 @@ "object": { "type": "string", "enum": [ - "promotion_code" + "customer_cash_balance_transaction" ], "nullable": false, "description": "String representing the object's type. Objects of the same type share the same value." }, - "active": { - "type": "boolean", - "description": "Whether the promotion code is currently active. A promotion code is only active if the coupon is also valid." - }, - "code": { - "type": "string", - "description": "The customer-facing code. Regardless of case, this code must be unique across all active promotion codes for each customer. Valid characters are lower case letters (a-z), upper case letters (A-Z), and digits (0-9)." + "adjusted_for_overdraft": { + "$ref": "#/components/schemas/stripe.Stripe.CustomerCashBalanceTransaction.AdjustedForOverdraft" }, - "coupon": { - "$ref": "#/components/schemas/stripe.Stripe.Coupon", - "description": "A coupon contains information about a percent-off or amount-off discount you\nmight want to apply to a customer. Coupons may be applied to [subscriptions](https://stripe.com/docs/api#subscriptions), [invoices](https://stripe.com/docs/api#invoices),\n[checkout sessions](https://stripe.com/docs/api/checkout/sessions), [quotes](https://stripe.com/docs/api#quotes), and more. Coupons do not work with conventional one-off [charges](https://stripe.com/docs/api#create_charge) or [payment intents](https://stripe.com/docs/api/payment_intents)." + "applied_to_payment": { + "$ref": "#/components/schemas/stripe.Stripe.CustomerCashBalanceTransaction.AppliedToPayment" }, "created": { "type": "number", "format": "double", "description": "Time at which the object was created. Measured in seconds since the Unix epoch." }, + "currency": { + "type": "string", + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." + }, "customer": { "anyOf": [ { @@ -14159,1297 +13484,1443 @@ }, { "$ref": "#/components/schemas/stripe.Stripe.Customer" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.DeletedCustomer" } ], - "nullable": true, - "description": "The customer that this promotion code can be used by." + "description": "The customer whose available cash balance changed as a result of this transaction." }, - "expires_at": { + "ending_balance": { "type": "number", "format": "double", - "nullable": true, - "description": "Date at which the promotion code can no longer be redeemed." + "description": "The total available cash balance for the specified currency after this transaction was applied. Represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal)." + }, + "funded": { + "$ref": "#/components/schemas/stripe.Stripe.CustomerCashBalanceTransaction.Funded" }, "livemode": { "type": "boolean", "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." }, - "max_redemptions": { + "net_amount": { "type": "number", "format": "double", - "nullable": true, - "description": "Maximum number of times this promotion code can be redeemed." + "description": "The amount by which the cash balance changed, represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). A positive value represents funds being added to the cash balance, a negative value represents funds being removed from the cash balance." }, - "metadata": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Metadata" - } - ], - "nullable": true, - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." + "refunded_from_payment": { + "$ref": "#/components/schemas/stripe.Stripe.CustomerCashBalanceTransaction.RefundedFromPayment" }, - "restrictions": { - "$ref": "#/components/schemas/stripe.Stripe.PromotionCode.Restrictions" + "transferred_to_balance": { + "$ref": "#/components/schemas/stripe.Stripe.CustomerCashBalanceTransaction.TransferredToBalance" }, - "times_redeemed": { - "type": "number", - "format": "double", - "description": "Number of times this promotion code has been used." + "type": { + "$ref": "#/components/schemas/stripe.Stripe.CustomerCashBalanceTransaction.Type", + "description": "The type of the cash balance transaction. New types may be added in future. See [Customer Balance](https://stripe.com/docs/payments/customer-balance#types) to learn more about these types." + }, + "unapplied_from_payment": { + "$ref": "#/components/schemas/stripe.Stripe.CustomerCashBalanceTransaction.UnappliedFromPayment" } }, "required": [ "id", "object", - "active", - "code", - "coupon", "created", + "currency", "customer", - "expires_at", + "ending_balance", "livemode", - "max_redemptions", - "metadata", - "restrictions", - "times_redeemed" + "net_amount", + "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Discount": { - "description": "A discount represents the actual application of a [coupon](https://stripe.com/docs/api#coupons) or [promotion code](https://stripe.com/docs/api#promotion_codes).\nIt contains information about when the discount began, when it will end, and what it is applied to.\n\nRelated guide: [Applying discounts to subscriptions](https://stripe.com/docs/billing/subscriptions/discounts)", + "stripe.Stripe.CustomerCashBalanceTransaction.AdjustedForOverdraft": { + "properties": { + "balance_transaction": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.BalanceTransaction" + } + ], + "description": "The [Balance Transaction](https://stripe.com/docs/api/balance_transactions/object) that corresponds to funds taken out of your Stripe balance." + }, + "linked_transaction": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.CustomerCashBalanceTransaction" + } + ], + "description": "The [Cash Balance Transaction](https://stripe.com/docs/api/cash_balance_transactions/object) that brought the customer balance negative, triggering the clawback of funds." + } + }, + "required": [ + "balance_transaction", + "linked_transaction" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentIntent": { + "description": "A PaymentIntent guides you through the process of collecting a payment from your customer.\nWe recommend that you create exactly one PaymentIntent for each order or\ncustomer session in your system. You can reference the PaymentIntent later to\nsee the history of payment attempts for a particular session.\n\nA PaymentIntent transitions through\n[multiple statuses](https://stripe.com/docs/payments/intents#intent-statuses)\nthroughout its lifetime as it interfaces with Stripe.js to perform\nauthentication flows and ultimately creates at most one successful charge.\n\nRelated guide: [Payment Intents API](https://stripe.com/docs/payments/payment-intents)", "properties": { "id": { "type": "string", - "description": "The ID of the discount object. Discounts cannot be fetched by ID. Use `expand[]=discounts` in API calls to expand discount IDs in an array." + "description": "Unique identifier for the object." }, "object": { "type": "string", "enum": [ - "discount" + "payment_intent" ], "nullable": false, "description": "String representing the object's type. Objects of the same type share the same value." }, - "checkout_session": { - "type": "string", - "nullable": true, - "description": "The Checkout session that this coupon is applied to, if it is applied to a particular session in payment mode. Will not be present for subscription mode." + "amount": { + "type": "number", + "format": "double", + "description": "Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99)." }, - "coupon": { - "$ref": "#/components/schemas/stripe.Stripe.Coupon", - "description": "A coupon contains information about a percent-off or amount-off discount you\nmight want to apply to a customer. Coupons may be applied to [subscriptions](https://stripe.com/docs/api#subscriptions), [invoices](https://stripe.com/docs/api#invoices),\n[checkout sessions](https://stripe.com/docs/api/checkout/sessions), [quotes](https://stripe.com/docs/api#quotes), and more. Coupons do not work with conventional one-off [charges](https://stripe.com/docs/api#create_charge) or [payment intents](https://stripe.com/docs/api/payment_intents)." + "amount_capturable": { + "type": "number", + "format": "double", + "description": "Amount that can be captured from this PaymentIntent." }, - "customer": { + "amount_details": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.AmountDetails" + }, + "amount_received": { + "type": "number", + "format": "double", + "description": "Amount that this PaymentIntent collects." + }, + "application": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.Customer" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.DeletedCustomer" + "$ref": "#/components/schemas/stripe.Stripe.Application" } ], "nullable": true, - "description": "The ID of the customer associated with this discount." + "description": "ID of the Connect application that created the PaymentIntent." }, - "deleted": { - "description": "Always true for a deleted object" + "application_fee_amount": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total payment amount. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts)." }, - "end": { + "automatic_payment_methods": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.AutomaticPaymentMethods" + } + ], + "nullable": true, + "description": "Settings to configure compatible payment methods from the [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods)" + }, + "canceled_at": { "type": "number", "format": "double", "nullable": true, - "description": "If the coupon has a duration of `repeating`, the date that this discount will end. If the coupon has a duration of `once` or `forever`, this attribute will be null." + "description": "Populated when `status` is `canceled`, this is the time at which the PaymentIntent was canceled. Measured in seconds since the Unix epoch." }, - "invoice": { - "type": "string", + "cancellation_reason": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.CancellationReason" + } + ], "nullable": true, - "description": "The invoice that the discount's coupon was applied to, if it was applied directly to a particular invoice." + "description": "Reason for cancellation of this PaymentIntent, either user-provided (`duplicate`, `fraudulent`, `requested_by_customer`, or `abandoned`) or generated by Stripe internally (`failed_invoice`, `void_invoice`, or `automatic`)." }, - "invoice_item": { + "capture_method": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.CaptureMethod", + "description": "Controls when the funds will be captured from the customer's account." + }, + "client_secret": { "type": "string", "nullable": true, - "description": "The invoice item `id` (or invoice line item `id` for invoice line items of type='subscription') that the discount's coupon was applied to, if it was applied directly to a particular invoice item or invoice line item." + "description": "The client secret of this PaymentIntent. Used for client-side retrieval using a publishable key.\n\nThe client secret can be used to complete a payment from your frontend. It should not be stored, logged, or exposed to anyone other than the customer. Make sure that you have TLS enabled on any page that includes the client secret.\n\nRefer to our docs to [accept a payment](https://stripe.com/docs/payments/accept-a-payment?ui=elements) and learn about how `client_secret` should be handled." }, - "promotion_code": { + "confirmation_method": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.ConfirmationMethod", + "description": "Describes whether we can confirm this PaymentIntent automatically, or if it requires customer action to confirm the payment." + }, + "created": { + "type": "number", + "format": "double", + "description": "Time at which the object was created. Measured in seconds since the Unix epoch." + }, + "currency": { + "type": "string", + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." + }, + "customer": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.PromotionCode" + "$ref": "#/components/schemas/stripe.Stripe.Customer" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedCustomer" } ], "nullable": true, - "description": "The promotion code applied to create this discount." - }, - "start": { - "type": "number", - "format": "double", - "description": "Date that the coupon was applied." + "description": "ID of the Customer this PaymentIntent belongs to, if one exists.\n\nPayment methods attached to other Customers cannot be used with this PaymentIntent.\n\nIf [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) is set and this PaymentIntent's payment method is not `card_present`, then the payment method attaches to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete. If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead." }, - "subscription": { + "description": { "type": "string", "nullable": true, - "description": "The subscription that this coupon is applied to, if it is applied to a particular subscription." + "description": "An arbitrary string attached to the object. Often useful for displaying to users." }, - "subscription_item": { - "type": "string", - "nullable": true, - "description": "The subscription item that this coupon is applied to, if it is applied to a particular subscription item." - } - }, + "invoice": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Invoice" + } + ], + "nullable": true, + "description": "ID of the invoice that created this PaymentIntent, if it exists." + }, + "last_payment_error": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.LastPaymentError" + } + ], + "nullable": true, + "description": "The payment error encountered in the previous PaymentIntent confirmation. It will be cleared if the PaymentIntent is later updated for any reason." + }, + "latest_charge": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Charge" + } + ], + "nullable": true, + "description": "ID of the latest [Charge object](https://stripe.com/docs/api/charges) created by this PaymentIntent. This property is `null` until PaymentIntent confirmation is attempted." + }, + "livemode": { + "type": "boolean", + "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." + }, + "metadata": { + "$ref": "#/components/schemas/stripe.Stripe.Metadata", + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Learn more about [storing information in metadata](https://stripe.com/docs/payments/payment-intents/creating-payment-intents#storing-information-in-metadata)." + }, + "next_action": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction" + } + ], + "nullable": true, + "description": "If present, this property tells you what actions you need to take in order for your customer to fulfill a payment using the provided source." + }, + "on_behalf_of": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Account" + } + ], + "nullable": true, + "description": "The account (if any) for which the funds of the PaymentIntent are intended. See the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts) for details." + }, + "payment_method": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod" + } + ], + "nullable": true, + "description": "ID of the payment method used in this PaymentIntent." + }, + "payment_method_configuration_details": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodConfigurationDetails" + } + ], + "nullable": true, + "description": "Information about the [payment method configuration](https://stripe.com/docs/api/payment_method_configurations) used for this PaymentIntent." + }, + "payment_method_options": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions" + } + ], + "nullable": true, + "description": "Payment-method-specific configuration for this PaymentIntent." + }, + "payment_method_types": { + "items": { + "type": "string" + }, + "type": "array", + "description": "The list of payment method types (e.g. card) that this PaymentIntent is allowed to use." + }, + "processing": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.Processing" + } + ], + "nullable": true, + "description": "If present, this property tells you about the processing state of the payment." + }, + "receipt_email": { + "type": "string", + "nullable": true, + "description": "Email address that the receipt for the resulting payment will be sent to. If `receipt_email` is specified for a payment in live mode, a receipt will be sent regardless of your [email settings](https://dashboard.stripe.com/account/emails)." + }, + "review": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Review" + } + ], + "nullable": true, + "description": "ID of the review associated with this PaymentIntent, if any." + }, + "setup_future_usage": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.SetupFutureUsage" + } + ], + "nullable": true, + "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + }, + "shipping": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.Shipping" + } + ], + "nullable": true, + "description": "Shipping information for this PaymentIntent." + }, + "source": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.CustomerSource" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedCustomerSource" + } + ], + "nullable": true, + "description": "This is a legacy field that will be removed in the future. It is the ID of the Source object that is associated with this PaymentIntent, if one was supplied." + }, + "statement_descriptor": { + "type": "string", + "nullable": true, + "description": "Text that appears on the customer's statement as the statement descriptor for a non-card charge. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors).\n\nSetting this value for a card charge returns an error. For card charges, set the [statement_descriptor_suffix](https://docs.stripe.com/get-started/account/statement-descriptors#dynamic) instead." + }, + "statement_descriptor_suffix": { + "type": "string", + "nullable": true, + "description": "Provides information about a card charge. Concatenated to the account's [statement descriptor prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) to form the complete statement descriptor that appears on the customer's statement." + }, + "status": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.Status", + "description": "Status of this PaymentIntent, one of `requires_payment_method`, `requires_confirmation`, `requires_action`, `processing`, `requires_capture`, `canceled`, or `succeeded`. Read more about each PaymentIntent [status](https://stripe.com/docs/payments/intents#intent-statuses)." + }, + "transfer_data": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.TransferData" + } + ], + "nullable": true, + "description": "The data that automatically creates a Transfer after the payment finalizes. Learn more about the [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts)." + }, + "transfer_group": { + "type": "string", + "nullable": true, + "description": "A string that identifies the resulting payment as part of a group. Learn more about the [use case for connected accounts](https://stripe.com/docs/connect/separate-charges-and-transfers)." + } + }, "required": [ "id", "object", - "checkout_session", - "coupon", + "amount", + "amount_capturable", + "amount_received", + "application", + "application_fee_amount", + "automatic_payment_methods", + "canceled_at", + "cancellation_reason", + "capture_method", + "client_secret", + "confirmation_method", + "created", + "currency", "customer", - "end", + "description", "invoice", - "invoice_item", - "promotion_code", - "start", - "subscription", - "subscription_item" + "last_payment_error", + "latest_charge", + "livemode", + "metadata", + "next_action", + "on_behalf_of", + "payment_method", + "payment_method_configuration_details", + "payment_method_options", + "payment_method_types", + "processing", + "receipt_email", + "review", + "setup_future_usage", + "shipping", + "source", + "statement_descriptor", + "statement_descriptor_suffix", + "status", + "transfer_data", + "transfer_group" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Customer.InvoiceSettings.CustomField": { + "stripe.Stripe.CustomerCashBalanceTransaction.AppliedToPayment": { "properties": { - "name": { - "type": "string", - "description": "The name of the custom field." - }, - "value": { - "type": "string", - "description": "The value of the custom field." + "payment_intent": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent" + } + ], + "description": "The [Payment Intent](https://stripe.com/docs/api/payment_intents/object) that funds were applied to." } }, "required": [ - "name", - "value" + "payment_intent" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentMethod.AcssDebit": { + "stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.EuBankTransfer": { "properties": { - "bank_name": { - "type": "string", - "nullable": true, - "description": "Name of the bank associated with the bank account." - }, - "fingerprint": { - "type": "string", - "nullable": true, - "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same." - }, - "institution_number": { + "bic": { "type": "string", "nullable": true, - "description": "Institution number of the bank account." + "description": "The BIC of the bank of the sender of the funding." }, - "last4": { + "iban_last4": { "type": "string", "nullable": true, - "description": "Last four digits of the bank account number." + "description": "The last 4 digits of the IBAN of the sender of the funding." }, - "transit_number": { + "sender_name": { "type": "string", "nullable": true, - "description": "Transit number of the bank account." + "description": "The full name of the sender, as supplied by the sending bank." } }, "required": [ - "bank_name", - "fingerprint", - "institution_number", - "last4", - "transit_number" + "bic", + "iban_last4", + "sender_name" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentMethod.Affirm": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentMethod.AfterpayClearpay": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentMethod.Alipay": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentMethod.AllowRedisplay": { - "type": "string", - "enum": [ - "always", - "limited", - "unspecified" - ] - }, - "stripe.Stripe.PaymentMethod.Alma": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentMethod.AmazonPay": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentMethod.AuBecsDebit": { + "stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.GbBankTransfer": { "properties": { - "bsb_number": { + "account_number_last4": { "type": "string", "nullable": true, - "description": "Six-digit number identifying bank and branch associated with this bank account." + "description": "The last 4 digits of the account number of the sender of the funding." }, - "fingerprint": { + "sender_name": { "type": "string", "nullable": true, - "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same." + "description": "The full name of the sender, as supplied by the sending bank." }, - "last4": { + "sort_code": { "type": "string", "nullable": true, - "description": "Last four digits of the bank account number." + "description": "The sort code of the bank of the sender of the funding" } }, "required": [ - "bsb_number", - "fingerprint", - "last4" + "account_number_last4", + "sender_name", + "sort_code" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentMethod.BacsDebit": { + "stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.JpBankTransfer": { "properties": { - "fingerprint": { + "sender_bank": { "type": "string", "nullable": true, - "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same." + "description": "The name of the bank of the sender of the funding." }, - "last4": { + "sender_branch": { "type": "string", "nullable": true, - "description": "Last four digits of the bank account number." + "description": "The name of the bank branch of the sender of the funding." }, - "sort_code": { + "sender_name": { "type": "string", "nullable": true, - "description": "Sort code of the bank account. (e.g., `10-20-30`)" + "description": "The full name of the sender, as supplied by the sending bank." } }, "required": [ - "fingerprint", - "last4", - "sort_code" + "sender_bank", + "sender_branch", + "sender_name" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentMethod.Bancontact": { - "properties": {}, - "type": "object", - "additionalProperties": false + "stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.Type": { + "type": "string", + "enum": [ + "eu_bank_transfer", + "gb_bank_transfer", + "jp_bank_transfer", + "mx_bank_transfer", + "us_bank_transfer" + ] }, - "stripe.Stripe.PaymentMethod.BillingDetails": { + "stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.UsBankTransfer.Network": { + "type": "string", + "enum": [ + "ach", + "domestic_wire_us", + "swift" + ] + }, + "stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.UsBankTransfer": { "properties": { - "address": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Address" - } - ], - "nullable": true, - "description": "Billing address." + "network": { + "$ref": "#/components/schemas/stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.UsBankTransfer.Network", + "description": "The banking network used for this funding." }, - "email": { + "sender_name": { "type": "string", "nullable": true, - "description": "Email address." + "description": "The full name of the sender, as supplied by the sending bank." + } + }, + "required": [ + "sender_name" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer": { + "properties": { + "eu_bank_transfer": { + "$ref": "#/components/schemas/stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.EuBankTransfer" }, - "name": { - "type": "string", - "nullable": true, - "description": "Full name." + "gb_bank_transfer": { + "$ref": "#/components/schemas/stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.GbBankTransfer" }, - "phone": { + "jp_bank_transfer": { + "$ref": "#/components/schemas/stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.JpBankTransfer" + }, + "reference": { "type": "string", "nullable": true, - "description": "Billing phone number (including extension)." + "description": "The user-supplied reference field on the bank transfer." + }, + "type": { + "$ref": "#/components/schemas/stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.Type", + "description": "The funding method type used to fund the customer balance. Permitted values include: `eu_bank_transfer`, `gb_bank_transfer`, `jp_bank_transfer`, `mx_bank_transfer`, or `us_bank_transfer`." + }, + "us_bank_transfer": { + "$ref": "#/components/schemas/stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.UsBankTransfer" } }, "required": [ - "address", - "email", - "name", - "phone" + "reference", + "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentMethod.Blik": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentMethod.Boleto": { + "stripe.Stripe.CustomerCashBalanceTransaction.Funded": { "properties": { - "tax_id": { - "type": "string", - "description": "Uniquely identifies the customer tax id (CNPJ or CPF)" + "bank_transfer": { + "$ref": "#/components/schemas/stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer" } }, "required": [ - "tax_id" + "bank_transfer" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentMethod.Card.Checks": { + "stripe.Stripe.Refund.DestinationDetails.Affirm": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Refund.DestinationDetails.AfterpayClearpay": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Refund.DestinationDetails.Alipay": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Refund.DestinationDetails.Alma": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Refund.DestinationDetails.AmazonPay": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Refund.DestinationDetails.AuBankTransfer": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Refund.DestinationDetails.Blik": { "properties": { - "address_line1_check": { + "network_decline_code": { "type": "string", "nullable": true, - "description": "If a address line1 was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`." + "description": "For refunds declined by the network, a decline code provided by the network which indicates the reason the refund failed." }, - "address_postal_code_check": { + "reference": { "type": "string", "nullable": true, - "description": "If a address postal code was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`." + "description": "The reference assigned to the refund." }, - "cvc_check": { + "reference_status": { "type": "string", "nullable": true, - "description": "If a CVC was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`." + "description": "Status of the reference on the refund. This can be `pending`, `available` or `unavailable`." } }, "required": [ - "address_line1_check", - "address_postal_code_check", - "cvc_check" + "network_decline_code", + "reference", + "reference_status" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Offline": { + "stripe.Stripe.Refund.DestinationDetails.BrBankTransfer": { "properties": { - "stored_at": { - "type": "number", - "format": "double", + "reference": { + "type": "string", "nullable": true, - "description": "Time at which the payment was collected while offline" + "description": "The reference assigned to the refund." }, - "type": { + "reference_status": { "type": "string", - "enum": [ - "deferred", - null - ], "nullable": true, - "description": "The method used to process this payment method offline. Only deferred is allowed." + "description": "Status of the reference on the refund. This can be `pending`, `available` or `unavailable`." } }, "required": [ - "stored_at", - "type" + "reference", + "reference_status" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.ReadMethod": { - "type": "string", - "enum": [ - "contact_emv", - "contactless_emv", - "contactless_magstripe_mode", - "magnetic_stripe_fallback", - "magnetic_stripe_track2" - ] - }, - "stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Receipt.AccountType": { + "stripe.Stripe.Refund.DestinationDetails.Card.Type": { "type": "string", "enum": [ - "checking", - "credit", - "prepaid", - "unknown" + "pending", + "refund", + "reversal" ] }, - "stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Receipt": { + "stripe.Stripe.Refund.DestinationDetails.Card": { "properties": { - "account_type": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Receipt.AccountType", - "description": "The type of account being debited or credited" - }, - "application_cryptogram": { - "type": "string", - "nullable": true, - "description": "EMV tag 9F26, cryptogram generated by the integrated circuit chip." - }, - "application_preferred_name": { + "reference": { "type": "string", - "nullable": true, - "description": "Mnenomic of the Application Identifier." + "description": "Value of the reference number assigned to the refund." }, - "authorization_code": { + "reference_status": { "type": "string", - "nullable": true, - "description": "Identifier for this transaction." + "description": "Status of the reference number on the refund. This can be `pending`, `available` or `unavailable`." }, - "authorization_response_code": { + "reference_type": { "type": "string", - "nullable": true, - "description": "EMV tag 8A. A code returned by the card issuer." + "description": "Type of the reference number assigned to the refund." }, - "cardholder_verification_method": { + "type": { + "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.Card.Type", + "description": "The type of refund. This can be `refund`, `reversal`, or `pending`." + } + }, + "required": [ + "type" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Refund.DestinationDetails.Cashapp": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Refund.DestinationDetails.CustomerCashBalance": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Refund.DestinationDetails.Eps": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Refund.DestinationDetails.EuBankTransfer": { + "properties": { + "reference": { "type": "string", "nullable": true, - "description": "Describes the method used by the cardholder to verify ownership of the card. One of the following: `approval`, `failure`, `none`, `offline_pin`, `offline_pin_and_signature`, `online_pin`, or `signature`." + "description": "The reference assigned to the refund." }, - "dedicated_file_name": { + "reference_status": { "type": "string", "nullable": true, - "description": "EMV tag 84. Similar to the application identifier stored on the integrated circuit chip." - }, - "terminal_verification_results": { + "description": "Status of the reference on the refund. This can be `pending`, `available` or `unavailable`." + } + }, + "required": [ + "reference", + "reference_status" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Refund.DestinationDetails.GbBankTransfer": { + "properties": { + "reference": { "type": "string", "nullable": true, - "description": "The outcome of a series of EMV functions performed by the card reader." + "description": "The reference assigned to the refund." }, - "transaction_status_information": { + "reference_status": { "type": "string", "nullable": true, - "description": "An indication of various EMV functions performed during the transaction." + "description": "Status of the reference on the refund. This can be `pending`, `available` or `unavailable`." } }, "required": [ - "application_cryptogram", - "application_preferred_name", - "authorization_code", - "authorization_response_code", - "cardholder_verification_method", - "dedicated_file_name", - "terminal_verification_results", - "transaction_status_information" + "reference", + "reference_status" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Wallet.Type": { - "type": "string", - "enum": [ - "apple_pay", - "google_pay", - "samsung_pay", - "unknown" - ] + "stripe.Stripe.Refund.DestinationDetails.Giropay": { + "properties": {}, + "type": "object", + "additionalProperties": false }, - "stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Wallet": { - "properties": { - "type": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Wallet.Type", - "description": "The type of mobile wallet, one of `apple_pay`, `google_pay`, `samsung_pay`, or `unknown`." - } - }, - "required": [ - "type" - ], + "stripe.Stripe.Refund.DestinationDetails.Grabpay": { + "properties": {}, "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent": { + "stripe.Stripe.Refund.DestinationDetails.JpBankTransfer": { "properties": { - "amount_authorized": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The authorized amount" - }, - "brand": { - "type": "string", - "nullable": true, - "description": "Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`." - }, - "brand_product": { + "reference": { "type": "string", "nullable": true, - "description": "The [product code](https://stripe.com/docs/card-product-codes) that identifies the specific program or product associated with a card." - }, - "capture_before": { - "type": "number", - "format": "double", - "description": "When using manual capture, a future timestamp after which the charge will be automatically refunded if uncaptured." + "description": "The reference assigned to the refund." }, - "cardholder_name": { + "reference_status": { "type": "string", "nullable": true, - "description": "The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay." - }, - "country": { + "description": "Status of the reference on the refund. This can be `pending`, `available` or `unavailable`." + } + }, + "required": [ + "reference", + "reference_status" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Refund.DestinationDetails.Klarna": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Refund.DestinationDetails.Multibanco": { + "properties": { + "reference": { "type": "string", "nullable": true, - "description": "Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected." + "description": "The reference assigned to the refund." }, - "description": { + "reference_status": { "type": "string", "nullable": true, - "description": "A high-level description of the type of cards issued in this range. (For internal use only and not typically available in standard API requests.)" - }, - "emv_auth_data": { + "description": "Status of the reference on the refund. This can be `pending`, `available` or `unavailable`." + } + }, + "required": [ + "reference", + "reference_status" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Refund.DestinationDetails.MxBankTransfer": { + "properties": { + "reference": { "type": "string", "nullable": true, - "description": "Authorization response cryptogram." - }, - "exp_month": { - "type": "number", - "format": "double", - "description": "Two-digit number representing the card's expiration month." - }, - "exp_year": { - "type": "number", - "format": "double", - "description": "Four-digit number representing the card's expiration year." + "description": "The reference assigned to the refund." }, - "fingerprint": { + "reference_status": { "type": "string", "nullable": true, - "description": "Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.\n\n*As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.*" - }, - "funding": { + "description": "Status of the reference on the refund. This can be `pending`, `available` or `unavailable`." + } + }, + "required": [ + "reference", + "reference_status" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Refund.DestinationDetails.P24": { + "properties": { + "reference": { "type": "string", "nullable": true, - "description": "Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`." + "description": "The reference assigned to the refund." }, - "generated_card": { + "reference_status": { "type": "string", "nullable": true, - "description": "ID of a card PaymentMethod generated from the card_present PaymentMethod that may be attached to a Customer for future transactions. Only present if it was possible to generate a card PaymentMethod." - }, - "iin": { + "description": "Status of the reference on the refund. This can be `pending`, `available` or `unavailable`." + } + }, + "required": [ + "reference", + "reference_status" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Refund.DestinationDetails.Paynow": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Refund.DestinationDetails.Paypal": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Refund.DestinationDetails.Pix": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Refund.DestinationDetails.Revolut": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Refund.DestinationDetails.Sofort": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Refund.DestinationDetails.Swish": { + "properties": { + "network_decline_code": { "type": "string", "nullable": true, - "description": "Issuer identification number of the card. (For internal use only and not typically available in standard API requests.)" - }, - "incremental_authorization_supported": { - "type": "boolean", - "description": "Whether this [PaymentIntent](https://stripe.com/docs/api/payment_intents) is eligible for incremental authorizations. Request support using [request_incremental_authorization_support](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-payment_method_options-card_present-request_incremental_authorization_support)." + "description": "For refunds declined by the network, a decline code provided by the network which indicates the reason the refund failed." }, - "issuer": { + "reference": { "type": "string", "nullable": true, - "description": "The name of the card's issuing bank. (For internal use only and not typically available in standard API requests.)" + "description": "The reference assigned to the refund." }, - "last4": { + "reference_status": { "type": "string", "nullable": true, - "description": "The last four digits of the card." - }, - "network": { + "description": "Status of the reference on the refund. This can be `pending`, `available` or `unavailable`." + } + }, + "required": [ + "network_decline_code", + "reference", + "reference_status" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Refund.DestinationDetails.ThBankTransfer": { + "properties": { + "reference": { "type": "string", "nullable": true, - "description": "Identifies which network this charge was processed on. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `interac`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`." + "description": "The reference assigned to the refund." }, - "network_transaction_id": { + "reference_status": { "type": "string", "nullable": true, - "description": "This is used by the financial networks to identify a transaction. Visa calls this the Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the Acquirer Reference Data. This value will be present if it is returned by the financial network in the authorization response, and null otherwise." - }, - "offline": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Offline" - } - ], - "nullable": true, - "description": "Details about payments collected offline." - }, - "overcapture_supported": { - "type": "boolean", - "description": "Defines whether the authorized amount can be over-captured or not" - }, - "preferred_locales": { - "items": { - "type": "string" - }, - "type": "array", - "nullable": true, - "description": "EMV tag 5F2D. Preferred languages specified by the integrated circuit chip." - }, - "read_method": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.ReadMethod" - } - ], - "nullable": true, - "description": "How card details were read in this transaction." - }, - "receipt": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Receipt" - } - ], - "nullable": true, - "description": "A collection of fields required to be displayed on receipts. Only required for EMV transactions." - }, - "wallet": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Wallet" + "description": "Status of the reference on the refund. This can be `pending`, `available` or `unavailable`." } }, "required": [ - "amount_authorized", - "brand", - "brand_product", - "cardholder_name", - "country", - "emv_auth_data", - "exp_month", - "exp_year", - "fingerprint", - "funding", - "generated_card", - "incremental_authorization_supported", - "last4", - "network", - "network_transaction_id", - "offline", - "overcapture_supported", - "preferred_locales", - "read_method", - "receipt" + "reference", + "reference_status" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails": { + "stripe.Stripe.Refund.DestinationDetails.UsBankTransfer": { "properties": { - "card_present": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent" + "reference": { + "type": "string", + "nullable": true, + "description": "The reference assigned to the refund." }, - "type": { + "reference_status": { "type": "string", - "description": "The type of payment method transaction-specific details from the transaction that generated this `card` payment method. Always `card_present`." + "nullable": true, + "description": "Status of the reference on the refund. This can be `pending`, `available` or `unavailable`." } }, "required": [ - "type" + "reference", + "reference_status" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.SetupAttempt.FlowDirection": { - "type": "string", - "enum": [ - "inbound", - "outbound" - ] + "stripe.Stripe.Refund.DestinationDetails.WechatPay": { + "properties": {}, + "type": "object", + "additionalProperties": false }, - "stripe.Stripe.PaymentMethod": { - "description": "PaymentMethod objects represent your customer's payment instruments.\nYou can use them with [PaymentIntents](https://stripe.com/docs/payments/payment-intents) to collect payments or save them to\nCustomer objects to store instrument details for future payments.\n\nRelated guides: [Payment Methods](https://stripe.com/docs/payments/payment-methods) and [More Payment Scenarios](https://stripe.com/docs/payments/more-payment-scenarios).", + "stripe.Stripe.Refund.DestinationDetails.Zip": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Refund.DestinationDetails": { "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." - }, - "object": { - "type": "string", - "enum": [ - "payment_method" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." - }, - "acss_debit": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.AcssDebit" - }, "affirm": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Affirm" + "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.Affirm" }, "afterpay_clearpay": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.AfterpayClearpay" + "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.AfterpayClearpay" }, "alipay": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Alipay" - }, - "allow_redisplay": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.AllowRedisplay", - "description": "This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to “unspecified”." + "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.Alipay" }, "alma": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Alma" + "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.Alma" }, "amazon_pay": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.AmazonPay" - }, - "au_becs_debit": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.AuBecsDebit" - }, - "bacs_debit": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.BacsDebit" - }, - "bancontact": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Bancontact" + "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.AmazonPay" }, - "billing_details": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.BillingDetails" + "au_bank_transfer": { + "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.AuBankTransfer" }, "blik": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Blik" + "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.Blik" }, - "boleto": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Boleto" + "br_bank_transfer": { + "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.BrBankTransfer" }, "card": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card" - }, - "card_present": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.CardPresent" + "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.Card" }, "cashapp": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Cashapp" - }, - "created": { - "type": "number", - "format": "double", - "description": "Time at which the object was created. Measured in seconds since the Unix epoch." - }, - "customer": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Customer" - } - ], - "nullable": true, - "description": "The ID of the Customer to which this PaymentMethod is saved. This will not be set when the PaymentMethod has not been saved to a Customer." + "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.Cashapp" }, - "customer_balance": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.CustomerBalance" + "customer_cash_balance": { + "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.CustomerCashBalance" }, "eps": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Eps" + "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.Eps" }, - "fpx": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Fpx" + "eu_bank_transfer": { + "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.EuBankTransfer" + }, + "gb_bank_transfer": { + "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.GbBankTransfer" }, "giropay": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Giropay" + "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.Giropay" }, "grabpay": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Grabpay" + "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.Grabpay" }, - "ideal": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Ideal" + "jp_bank_transfer": { + "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.JpBankTransfer" }, - "interac_present": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.InteracPresent" - }, - "kakao_pay": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.KakaoPay" - }, - "klarna": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Klarna" - }, - "konbini": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Konbini" - }, - "kr_card": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.KrCard" - }, - "link": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Link" - }, - "livemode": { - "type": "boolean", - "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." - }, - "metadata": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Metadata" - } - ], - "nullable": true, - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." - }, - "mobilepay": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Mobilepay" + "klarna": { + "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.Klarna" }, "multibanco": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Multibanco" - }, - "naver_pay": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.NaverPay" + "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.Multibanco" }, - "oxxo": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Oxxo" + "mx_bank_transfer": { + "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.MxBankTransfer" }, "p24": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.P24" - }, - "pay_by_bank": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.PayByBank" - }, - "payco": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Payco" + "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.P24" }, "paynow": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Paynow" + "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.Paynow" }, "paypal": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Paypal" + "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.Paypal" }, "pix": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Pix" - }, - "promptpay": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Promptpay" - }, - "radar_options": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.RadarOptions", - "description": "Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information." - }, - "revolut_pay": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.RevolutPay" - }, - "samsung_pay": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.SamsungPay" + "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.Pix" }, - "sepa_debit": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.SepaDebit" + "revolut": { + "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.Revolut" }, "sofort": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Sofort" + "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.Sofort" }, "swish": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Swish" + "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.Swish" }, - "twint": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Twint" + "th_bank_transfer": { + "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.ThBankTransfer" }, "type": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Type", - "description": "The type of the PaymentMethod. An additional hash is included on the PaymentMethod with a name matching this value. It contains additional information specific to the PaymentMethod type." + "type": "string", + "description": "The type of transaction-specific details of the payment method used in the refund (e.g., `card`). An additional hash is included on `destination_details` with a name matching this value. It contains information specific to the refund transaction." }, - "us_bank_account": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.UsBankAccount" + "us_bank_transfer": { + "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.UsBankTransfer" }, "wechat_pay": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.WechatPay" + "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.WechatPay" }, "zip": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Zip" + "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.Zip" } }, "required": [ - "id", - "object", - "billing_details", - "created", - "customer", - "livemode", - "metadata", "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.AcssDebit": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.AmazonPay": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.AuBecsDebit": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.BacsDebit": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Mandate.CustomerAcceptance.Offline": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Mandate.CustomerAcceptance.Online": { + "stripe.Stripe.Refund.NextAction.DisplayDetails.EmailSent": { "properties": { - "ip_address": { - "type": "string", - "nullable": true, - "description": "The customer accepts the mandate from this IP address." + "email_sent_at": { + "type": "number", + "format": "double", + "description": "The timestamp when the email was sent." }, - "user_agent": { + "email_sent_to": { "type": "string", - "nullable": true, - "description": "The customer accepts the mandate using the user agent of the browser." + "description": "The recipient's email address." } }, "required": [ - "ip_address", - "user_agent" + "email_sent_at", + "email_sent_to" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Mandate.CustomerAcceptance.Type": { - "type": "string", - "enum": [ - "offline", - "online" - ] - }, - "stripe.Stripe.Mandate.CustomerAcceptance": { + "stripe.Stripe.Refund.NextAction.DisplayDetails": { "properties": { - "accepted_at": { + "email_sent": { + "$ref": "#/components/schemas/stripe.Stripe.Refund.NextAction.DisplayDetails.EmailSent" + }, + "expires_at": { "type": "number", "format": "double", - "nullable": true, - "description": "The time that the customer accepts the mandate." - }, - "offline": { - "$ref": "#/components/schemas/stripe.Stripe.Mandate.CustomerAcceptance.Offline" - }, - "online": { - "$ref": "#/components/schemas/stripe.Stripe.Mandate.CustomerAcceptance.Online" - }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.Mandate.CustomerAcceptance.Type", - "description": "The mandate includes the type of customer acceptance information, such as: `online` or `offline`." + "description": "The expiry timestamp." } }, "required": [ - "accepted_at", - "type" + "email_sent", + "expires_at" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Mandate.MultiUse": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Mandate.PaymentMethodDetails.AcssDebit.DefaultFor": { - "type": "string", - "enum": [ - "invoice", - "subscription" - ] - }, - "stripe.Stripe.Mandate.PaymentMethodDetails.AcssDebit.PaymentSchedule": { - "type": "string", - "enum": [ - "combined", - "interval", - "sporadic" - ] - }, - "stripe.Stripe.Mandate.PaymentMethodDetails.AcssDebit.TransactionType": { - "type": "string", - "enum": [ - "business", - "personal" - ] - }, - "stripe.Stripe.Mandate.PaymentMethodDetails.AcssDebit": { + "stripe.Stripe.Refund.NextAction": { "properties": { - "default_for": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Mandate.PaymentMethodDetails.AcssDebit.DefaultFor" - }, - "type": "array", - "description": "List of Stripe products where this mandate can be selected automatically." - }, - "interval_description": { - "type": "string", - "nullable": true, - "description": "Description of the interval. Only required if the 'payment_schedule' parameter is 'interval' or 'combined'." - }, - "payment_schedule": { - "$ref": "#/components/schemas/stripe.Stripe.Mandate.PaymentMethodDetails.AcssDebit.PaymentSchedule", - "description": "Payment schedule for the mandate." + "display_details": { + "$ref": "#/components/schemas/stripe.Stripe.Refund.NextAction.DisplayDetails" }, - "transaction_type": { - "$ref": "#/components/schemas/stripe.Stripe.Mandate.PaymentMethodDetails.AcssDebit.TransactionType", - "description": "Transaction type of the mandate." - } - }, - "required": [ - "interval_description", - "payment_schedule", - "transaction_type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Mandate.PaymentMethodDetails.AmazonPay": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Mandate.PaymentMethodDetails.AuBecsDebit": { - "properties": { - "url": { + "type": { "type": "string", - "description": "The URL of the mandate. This URL generally contains sensitive information about the customer and should be shared with them exclusively." + "description": "Type of the next action to perform." } }, "required": [ - "url" + "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Mandate.PaymentMethodDetails.BacsDebit.NetworkStatus": { - "type": "string", - "enum": [ - "accepted", - "pending", - "refused", - "revoked" - ] - }, - "stripe.Stripe.Mandate.PaymentMethodDetails.BacsDebit.RevocationReason": { + "stripe.Stripe.Refund.Reason": { "type": "string", "enum": [ - "account_closed", - "bank_account_restricted", - "bank_ownership_changed", - "could_not_process", - "debit_not_authorized" + "duplicate", + "expired_uncaptured_charge", + "fraudulent", + "requested_by_customer" ] }, - "stripe.Stripe.Mandate.PaymentMethodDetails.BacsDebit": { + "stripe.Stripe.Refund": { + "description": "Refund objects allow you to refund a previously created charge that isn't\nrefunded yet. Funds are refunded to the credit or debit card that's\ninitially charged.\n\nRelated guide: [Refunds](https://stripe.com/docs/refunds)", "properties": { - "network_status": { - "$ref": "#/components/schemas/stripe.Stripe.Mandate.PaymentMethodDetails.BacsDebit.NetworkStatus", - "description": "The status of the mandate on the Bacs network. Can be one of `pending`, `revoked`, `refused`, or `accepted`." + "id": { + "type": "string", + "description": "Unique identifier for the object." }, - "reference": { + "object": { "type": "string", - "description": "The unique reference identifying the mandate on the Bacs network." + "enum": [ + "refund" + ], + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." }, - "revocation_reason": { - "allOf": [ + "amount": { + "type": "number", + "format": "double", + "description": "Amount, in cents (or local equivalent)." + }, + "balance_transaction": { + "anyOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Mandate.PaymentMethodDetails.BacsDebit.RevocationReason" + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.BalanceTransaction" } ], "nullable": true, - "description": "When the mandate is revoked on the Bacs network this field displays the reason for the revocation." + "description": "Balance transaction that describes the impact on your account balance." }, - "url": { + "charge": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Charge" + } + ], + "nullable": true, + "description": "ID of the charge that's refunded." + }, + "created": { + "type": "number", + "format": "double", + "description": "Time at which the object was created. Measured in seconds since the Unix epoch." + }, + "currency": { "type": "string", - "description": "The URL that will contain the mandate that the customer has signed." - } - }, - "required": [ - "network_status", - "reference", - "revocation_reason", - "url" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Mandate.PaymentMethodDetails.Card": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Mandate.PaymentMethodDetails.Cashapp": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Mandate.PaymentMethodDetails.KakaoPay": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Mandate.PaymentMethodDetails.KrCard": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Mandate.PaymentMethodDetails.Link": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Mandate.PaymentMethodDetails.Paypal": { - "properties": { - "billing_agreement_id": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." + }, + "description": { "type": "string", - "nullable": true, - "description": "The PayPal Billing Agreement ID (BAID). This is an ID generated by PayPal which represents the mandate between the merchant and the customer." + "description": "An arbitrary string attached to the object. You can use this for displaying to users (available on non-card refunds only)." }, - "payer_id": { + "destination_details": { + "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails" + }, + "failure_balance_transaction": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.BalanceTransaction" + } + ], + "description": "After the refund fails, this balance transaction describes the adjustment made on your account balance that reverses the initial balance transaction." + }, + "failure_reason": { + "type": "string", + "description": "Provides the reason for the refund failure. Possible values are: `lost_or_stolen_card`, `expired_or_canceled_card`, `charge_for_pending_refund_disputed`, `insufficient_funds`, `declined`, `merchant_request`, or `unknown`." + }, + "instructions_email": { "type": "string", + "description": "For payment methods without native refund support (for example, Konbini, PromptPay), provide an email address for the customer to receive refund instructions." + }, + "metadata": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Metadata" + } + ], "nullable": true, - "description": "PayPal account PayerID. This identifier uniquely identifies the PayPal customer." - } - }, - "required": [ - "billing_agreement_id", - "payer_id" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Mandate.PaymentMethodDetails.RevolutPay": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Mandate.PaymentMethodDetails.SepaDebit": { - "properties": { - "reference": { + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." + }, + "next_action": { + "$ref": "#/components/schemas/stripe.Stripe.Refund.NextAction" + }, + "payment_intent": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent" + } + ], + "nullable": true, + "description": "ID of the PaymentIntent that's refunded." + }, + "reason": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Refund.Reason" + } + ], + "nullable": true, + "description": "Reason for the refund, which is either user-provided (`duplicate`, `fraudulent`, or `requested_by_customer`) or generated by Stripe internally (`expired_uncaptured_charge`)." + }, + "receipt_number": { "type": "string", - "description": "The unique reference of the mandate." + "nullable": true, + "description": "This is the transaction number that appears on email receipts sent for this refund." }, - "url": { + "source_transfer_reversal": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.TransferReversal" + } + ], + "nullable": true, + "description": "The transfer reversal that's associated with the refund. Only present if the charge came from another Stripe account." + }, + "status": { "type": "string", - "description": "The URL of the mandate. This URL generally contains sensitive information about the customer and should be shared with them exclusively." + "nullable": true, + "description": "Status of the refund. This can be `pending`, `requires_action`, `succeeded`, `failed`, or `canceled`. Learn more about [failed refunds](https://stripe.com/docs/refunds#failed-refunds)." + }, + "transfer_reversal": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.TransferReversal" + } + ], + "nullable": true, + "description": "This refers to the transfer reversal object if the accompanying transfer reverses. This is only applicable if the charge was created using the destination parameter." } }, "required": [ - "reference", - "url" + "id", + "object", + "amount", + "balance_transaction", + "charge", + "created", + "currency", + "metadata", + "payment_intent", + "reason", + "receipt_number", + "source_transfer_reversal", + "status", + "transfer_reversal" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Mandate.PaymentMethodDetails.UsBankAccount": { + "stripe.Stripe.TransferReversal": { + "description": "[Stripe Connect](https://stripe.com/docs/connect) platforms can reverse transfers made to a\nconnected account, either entirely or partially, and can also specify whether\nto refund any related application fees. Transfer reversals add to the\nplatform's balance and subtract from the destination account's balance.\n\nReversing a transfer that was made for a [destination\ncharge](https://stripe.com/docs/connect/destination-charges) is allowed only up to the amount of\nthe charge. It is possible to reverse a\n[transfer_group](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-options)\ntransfer only if the destination account has enough balance to cover the\nreversal.\n\nRelated guide: [Reverse transfers](https://stripe.com/docs/connect/separate-charges-and-transfers#reverse-transfers)", "properties": { - "collection_method": { + "id": { + "type": "string", + "description": "Unique identifier for the object." + }, + "object": { "type": "string", "enum": [ - "paper" + "transfer_reversal" ], "nullable": false, - "description": "Mandate collection method" - } - }, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Mandate.PaymentMethodDetails": { - "properties": { - "acss_debit": { - "$ref": "#/components/schemas/stripe.Stripe.Mandate.PaymentMethodDetails.AcssDebit" + "description": "String representing the object's type. Objects of the same type share the same value." }, - "amazon_pay": { - "$ref": "#/components/schemas/stripe.Stripe.Mandate.PaymentMethodDetails.AmazonPay" + "amount": { + "type": "number", + "format": "double", + "description": "Amount, in cents (or local equivalent)." }, - "au_becs_debit": { - "$ref": "#/components/schemas/stripe.Stripe.Mandate.PaymentMethodDetails.AuBecsDebit" - }, - "bacs_debit": { - "$ref": "#/components/schemas/stripe.Stripe.Mandate.PaymentMethodDetails.BacsDebit" - }, - "card": { - "$ref": "#/components/schemas/stripe.Stripe.Mandate.PaymentMethodDetails.Card" - }, - "cashapp": { - "$ref": "#/components/schemas/stripe.Stripe.Mandate.PaymentMethodDetails.Cashapp" - }, - "kakao_pay": { - "$ref": "#/components/schemas/stripe.Stripe.Mandate.PaymentMethodDetails.KakaoPay" - }, - "kr_card": { - "$ref": "#/components/schemas/stripe.Stripe.Mandate.PaymentMethodDetails.KrCard" + "balance_transaction": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.BalanceTransaction" + } + ], + "nullable": true, + "description": "Balance transaction that describes the impact on your account balance." }, - "link": { - "$ref": "#/components/schemas/stripe.Stripe.Mandate.PaymentMethodDetails.Link" + "created": { + "type": "number", + "format": "double", + "description": "Time at which the object was created. Measured in seconds since the Unix epoch." }, - "paypal": { - "$ref": "#/components/schemas/stripe.Stripe.Mandate.PaymentMethodDetails.Paypal" + "currency": { + "type": "string", + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." }, - "revolut_pay": { - "$ref": "#/components/schemas/stripe.Stripe.Mandate.PaymentMethodDetails.RevolutPay" + "destination_payment_refund": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Refund" + } + ], + "nullable": true, + "description": "Linked payment refund for the transfer reversal." }, - "sepa_debit": { - "$ref": "#/components/schemas/stripe.Stripe.Mandate.PaymentMethodDetails.SepaDebit" + "metadata": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Metadata" + } + ], + "nullable": true, + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." }, - "type": { - "type": "string", - "description": "This mandate corresponds with a specific payment method type. The `payment_method_details` includes an additional hash with the same name and contains mandate information that's specific to that payment method." + "source_refund": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Refund" + } + ], + "nullable": true, + "description": "ID of the refund responsible for the transfer reversal." }, - "us_bank_account": { - "$ref": "#/components/schemas/stripe.Stripe.Mandate.PaymentMethodDetails.UsBankAccount" + "transfer": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Transfer" + } + ], + "description": "ID of the transfer that was reversed." } }, "required": [ - "type" + "id", + "object", + "amount", + "balance_transaction", + "created", + "currency", + "destination_payment_refund", + "metadata", + "source_refund", + "transfer" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Mandate.SingleUse": { + "stripe.Stripe.ApiList_stripe.Stripe.TransferReversal_": { + "description": "A container for paginated lists of objects.\nThe array of objects is on the `.data` property,\nand `.has_more` indicates whether there are additional objects beyond the end of this list.\n\nLearn more in Stripe's [pagination docs](https://stripe.com/docs/api/pagination?lang=node)\nor, when iterating over many items, try [auto-pagination](https://github.com/stripe/stripe-node#auto-pagination) instead.", "properties": { - "amount": { - "type": "number", - "format": "double", - "description": "The amount of the payment on a single use mandate." + "object": { + "type": "string", + "enum": [ + "list" + ], + "nullable": false }, - "currency": { + "data": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.TransferReversal" + }, + "type": "array" + }, + "has_more": { + "type": "boolean", + "description": "True if this list has another page of items after this one that can be fetched." + }, + "url": { "type": "string", - "description": "The currency of the payment on a single use mandate." + "description": "The URL where this list can be accessed." } }, "required": [ - "amount", - "currency" + "object", + "data", + "has_more", + "url" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Mandate.Status": { - "type": "string", - "enum": [ - "active", - "inactive", - "pending" - ] - }, - "stripe.Stripe.Mandate.Type": { - "type": "string", - "enum": [ - "multi_use", - "single_use" - ] - }, - "stripe.Stripe.Mandate": { - "description": "A Mandate is a record of the permission that your customer gives you to debit their payment method.", + "stripe.Stripe.Transfer": { + "description": "A `Transfer` object is created when you move funds between Stripe accounts as\npart of Connect.\n\nBefore April 6, 2017, transfers also represented movement of funds from a\nStripe account to a card or bank account. This behavior has since been split\nout into a [Payout](https://stripe.com/docs/api#payout_object) object, with corresponding payout endpoints. For more\ninformation, read about the\n[transfer/payout split](https://stripe.com/docs/transfer-payout-split).\n\nRelated guide: [Creating separate charges and transfers](https://stripe.com/docs/connect/separate-charges-and-transfers)", "properties": { "id": { "type": "string", @@ -15458,1087 +14929,842 @@ "object": { "type": "string", "enum": [ - "mandate" + "transfer" ], "nullable": false, "description": "String representing the object's type. Objects of the same type share the same value." }, - "customer_acceptance": { - "$ref": "#/components/schemas/stripe.Stripe.Mandate.CustomerAcceptance" - }, - "livemode": { - "type": "boolean", - "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." - }, - "multi_use": { - "$ref": "#/components/schemas/stripe.Stripe.Mandate.MultiUse" + "amount": { + "type": "number", + "format": "double", + "description": "Amount in cents (or local equivalent) to be transferred." }, - "on_behalf_of": { - "type": "string", - "description": "The account (if any) that the mandate is intended for." + "amount_reversed": { + "type": "number", + "format": "double", + "description": "Amount in cents (or local equivalent) reversed (can be less than the amount attribute on the transfer if a partial reversal was issued)." }, - "payment_method": { + "balance_transaction": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod" + "$ref": "#/components/schemas/stripe.Stripe.BalanceTransaction" } ], - "description": "ID of the payment method associated with this mandate." - }, - "payment_method_details": { - "$ref": "#/components/schemas/stripe.Stripe.Mandate.PaymentMethodDetails" - }, - "single_use": { - "$ref": "#/components/schemas/stripe.Stripe.Mandate.SingleUse" - }, - "status": { - "$ref": "#/components/schemas/stripe.Stripe.Mandate.Status", - "description": "The mandate status indicates whether or not you can use it to initiate a payment." - }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.Mandate.Type", - "description": "The type of the mandate." - } - }, - "required": [ - "id", - "object", - "customer_acceptance", - "livemode", - "payment_method", - "payment_method_details", - "status", - "type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Bancontact.PreferredLanguage": { - "type": "string", - "enum": [ - "de", - "en", - "fr", - "nl" - ] - }, - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Bancontact": { - "properties": { - "bank_code": { - "type": "string", "nullable": true, - "description": "Bank code of bank associated with the bank account." + "description": "Balance transaction that describes the impact of this transfer on your account balance." }, - "bank_name": { + "created": { + "type": "number", + "format": "double", + "description": "Time that this record of the transfer was first created." + }, + "currency": { "type": "string", - "nullable": true, - "description": "Name of the bank associated with the bank account." + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." }, - "bic": { + "description": { "type": "string", "nullable": true, - "description": "Bank Identifier Code of the bank associated with the bank account." + "description": "An arbitrary string attached to the object. Often useful for displaying to users." }, - "generated_sepa_debit": { + "destination": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod" + "$ref": "#/components/schemas/stripe.Stripe.Account" } ], "nullable": true, - "description": "The ID of the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt." + "description": "ID of the Stripe account the transfer was sent to." }, - "generated_sepa_debit_mandate": { + "destination_payment": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.Mandate" + "$ref": "#/components/schemas/stripe.Stripe.Charge" } ], - "nullable": true, - "description": "The mandate for the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt." + "description": "If the destination is a Stripe account, this will be the ID of the payment that the destination account received for the transfer." }, - "iban_last4": { - "type": "string", - "nullable": true, - "description": "Last four characters of the IBAN." + "livemode": { + "type": "boolean", + "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." }, - "preferred_language": { - "allOf": [ + "metadata": { + "$ref": "#/components/schemas/stripe.Stripe.Metadata", + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." + }, + "reversals": { + "$ref": "#/components/schemas/stripe.Stripe.ApiList_stripe.Stripe.TransferReversal_", + "description": "A list of reversals that have been applied to the transfer." + }, + "reversed": { + "type": "boolean", + "description": "Whether the transfer has been fully reversed. If the transfer is only partially reversed, this attribute will still be false." + }, + "source_transaction": { + "anyOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Bancontact.PreferredLanguage" + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Charge" } ], "nullable": true, - "description": "Preferred language of the Bancontact authorization page that the customer is redirected to.\nCan be one of `en`, `de`, `fr`, or `nl`" + "description": "ID of the charge that was used to fund the transfer. If null, the transfer was funded from the available balance." }, - "verified_name": { + "source_type": { + "type": "string", + "description": "The source balance this transfer came from. One of `card`, `fpx`, or `bank_account`." + }, + "transfer_group": { "type": "string", "nullable": true, - "description": "Owner's verified full name. Values are verified or provided by Bancontact directly\n(if supported) at the time of authorization or settlement. They cannot be set or mutated." + "description": "A string that identifies this transaction as part of a group. See the [Connect documentation](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-options) for details." } }, "required": [ - "bank_code", - "bank_name", - "bic", - "generated_sepa_debit", - "generated_sepa_debit_mandate", - "iban_last4", - "preferred_language", - "verified_name" + "id", + "object", + "amount", + "amount_reversed", + "balance_transaction", + "created", + "currency", + "description", + "destination", + "livemode", + "metadata", + "reversals", + "reversed", + "source_transaction", + "transfer_group" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Boleto": { - "properties": {}, + "stripe.Stripe.CustomerCashBalanceTransaction.RefundedFromPayment": { + "properties": { + "refund": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Refund" + } + ], + "description": "The [Refund](https://stripe.com/docs/api/refunds/object) that moved these funds into the customer's cash balance." + } + }, + "required": [ + "refund" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.Checks": { + "stripe.Stripe.CustomerCashBalanceTransaction.TransferredToBalance": { "properties": { - "address_line1_check": { - "type": "string", - "nullable": true, - "description": "If a address line1 was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`." - }, - "address_postal_code_check": { - "type": "string", - "nullable": true, - "description": "If a address postal code was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`." - }, - "cvc_check": { - "type": "string", - "nullable": true, - "description": "If a CVC was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`." + "balance_transaction": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.BalanceTransaction" + } + ], + "description": "The [Balance Transaction](https://stripe.com/docs/api/balance_transactions/object) that corresponds to funds transferred to your Stripe balance." } }, "required": [ - "address_line1_check", - "address_postal_code_check", - "cvc_check" + "balance_transaction" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure.AuthenticationFlow": { - "type": "string", - "enum": [ - "challenge", - "frictionless" - ] - }, - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure.ElectronicCommerceIndicator": { - "type": "string", - "enum": [ - "01", - "02", - "05", - "06", - "07" - ] - }, - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure.Result": { + "stripe.Stripe.CustomerCashBalanceTransaction.Type": { "type": "string", "enum": [ - "attempt_acknowledged", - "authenticated", - "exempted", - "failed", - "not_supported", - "processing_error" + "adjusted_for_overdraft", + "applied_to_payment", + "funded", + "funding_reversed", + "refunded_from_payment", + "return_canceled", + "return_initiated", + "transferred_to_balance", + "unapplied_from_payment" ] }, - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure.ResultReason": { - "type": "string", - "enum": [ - "abandoned", - "bypassed", - "canceled", - "card_not_enrolled", - "network_not_supported", - "protocol_error", - "rejected" - ] + "stripe.Stripe.CustomerCashBalanceTransaction.UnappliedFromPayment": { + "properties": { + "payment_intent": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent" + } + ], + "description": "The [Payment Intent](https://stripe.com/docs/api/payment_intents/object) that funds were unapplied from." + } + }, + "required": [ + "payment_intent" + ], + "type": "object", + "additionalProperties": false }, - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure.Version": { + "stripe.Stripe.Dispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3.DisputedTransaction.MerchandiseOrServices": { "type": "string", "enum": [ - "1.0.2", - "2.1.0", - "2.2.0" + "merchandise", + "services" ] }, - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure": { + "stripe.Stripe.Dispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3.DisputedTransaction": { "properties": { - "authentication_flow": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure.AuthenticationFlow" - } - ], + "customer_account_id": { + "type": "string", "nullable": true, - "description": "For authenticated transactions: how the customer was authenticated by\nthe issuing bank." + "description": "User Account ID used to log into business platform. Must be recognizable by the user." }, - "electronic_commerce_indicator": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure.ElectronicCommerceIndicator" - } - ], + "customer_device_fingerprint": { + "type": "string", "nullable": true, - "description": "The Electronic Commerce Indicator (ECI). A protocol-level field\nindicating what degree of authentication was performed." + "description": "Unique identifier of the cardholder's device derived from a combination of at least two hardware and software attributes. Must be at least 20 characters." }, - "result": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure.Result" - } - ], + "customer_device_id": { + "type": "string", "nullable": true, - "description": "Indicates the outcome of 3D Secure authentication." + "description": "Unique identifier of the cardholder's device such as a device serial number (e.g., International Mobile Equipment Identity [IMEI]). Must be at least 15 characters." }, - "result_reason": { + "customer_email_address": { + "type": "string", + "nullable": true, + "description": "The email address of the customer." + }, + "customer_purchase_ip": { + "type": "string", + "nullable": true, + "description": "The IP address that the customer used when making the purchase." + }, + "merchandise_or_services": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure.ResultReason" + "$ref": "#/components/schemas/stripe.Stripe.Dispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3.DisputedTransaction.MerchandiseOrServices" } ], "nullable": true, - "description": "Additional information about why 3D Secure succeeded or failed based\non the `result`." + "description": "Categorization of disputed payment." }, - "transaction_id": { + "product_description": { "type": "string", "nullable": true, - "description": "The 3D Secure 1 XID or 3D Secure 2 Directory Server Transaction ID\n(dsTransId) for this payment." + "description": "A description of the product or service that was sold." }, - "version": { + "shipping_address": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure.Version" + "$ref": "#/components/schemas/stripe.Stripe.Address" } ], "nullable": true, - "description": "The version of 3D Secure that was used." + "description": "The address to which a physical product was shipped. All fields are required for Visa Compelling Evidence 3.0 evidence submission." } }, "required": [ - "authentication_flow", - "electronic_commerce_indicator", - "result", - "result_reason", - "transaction_id", - "version" + "customer_account_id", + "customer_device_fingerprint", + "customer_device_id", + "customer_email_address", + "customer_purchase_ip", + "merchandise_or_services", + "product_description", + "shipping_address" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.Wallet.ApplePay": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.Wallet.GooglePay": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.Wallet.Type": { - "type": "string", - "enum": [ - "apple_pay", - "google_pay", - "link" - ] - }, - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.Wallet": { - "properties": { - "apple_pay": { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.Wallet.ApplePay" - }, - "google_pay": { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.Wallet.GooglePay" - }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.Wallet.Type", - "description": "The type of the card wallet, one of `apple_pay`, `google_pay`, or `link`. An additional hash is included on the Wallet subhash with a name matching this value. It contains additional information specific to the card wallet type." - } - }, - "required": [ - "type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card": { + "stripe.Stripe.Dispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3.PriorUndisputedTransaction": { "properties": { - "brand": { - "type": "string", - "nullable": true, - "description": "Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`." - }, - "checks": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.Checks" - } - ], - "nullable": true, - "description": "Check results by Card networks on Card address and CVC at the time of authorization" - }, - "country": { - "type": "string", - "nullable": true, - "description": "Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected." - }, - "description": { + "charge": { "type": "string", - "nullable": true, - "description": "A high-level description of the type of cards issued in this range. (For internal use only and not typically available in standard API requests.)" - }, - "exp_month": { - "type": "number", - "format": "double", - "nullable": true, - "description": "Two-digit number representing the card's expiration month." - }, - "exp_year": { - "type": "number", - "format": "double", - "nullable": true, - "description": "Four-digit number representing the card's expiration year." + "description": "Stripe charge ID for the Visa Compelling Evidence 3.0 eligible prior charge." }, - "fingerprint": { + "customer_account_id": { "type": "string", "nullable": true, - "description": "Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.\n\n*As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.*" + "description": "User Account ID used to log into business platform. Must be recognizable by the user." }, - "funding": { + "customer_device_fingerprint": { "type": "string", "nullable": true, - "description": "Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`." + "description": "Unique identifier of the cardholder's device derived from a combination of at least two hardware and software attributes. Must be at least 20 characters." }, - "iin": { + "customer_device_id": { "type": "string", "nullable": true, - "description": "Issuer identification number of the card. (For internal use only and not typically available in standard API requests.)" + "description": "Unique identifier of the cardholder's device such as a device serial number (e.g., International Mobile Equipment Identity [IMEI]). Must be at least 15 characters." }, - "issuer": { + "customer_email_address": { "type": "string", "nullable": true, - "description": "The name of the card's issuing bank. (For internal use only and not typically available in standard API requests.)" + "description": "The email address of the customer." }, - "last4": { + "customer_purchase_ip": { "type": "string", "nullable": true, - "description": "The last four digits of the card." + "description": "The IP address that the customer used when making the purchase." }, - "network": { + "product_description": { "type": "string", "nullable": true, - "description": "Identifies which network this charge was processed on. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `interac`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`." - }, - "three_d_secure": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.ThreeDSecure" - } - ], - "nullable": true, - "description": "Populated if this authorization used 3D Secure authentication." + "description": "A description of the product or service that was sold." }, - "wallet": { + "shipping_address": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card.Wallet" + "$ref": "#/components/schemas/stripe.Stripe.Address" } ], "nullable": true, - "description": "If this Card is part of a card wallet, this contains the details of the card wallet." + "description": "The address to which a physical product was shipped. All fields are required for Visa Compelling Evidence 3.0 evidence submission." } }, "required": [ - "brand", - "checks", - "country", - "exp_month", - "exp_year", - "funding", - "last4", - "network", - "three_d_secure", - "wallet" + "charge", + "customer_account_id", + "customer_device_fingerprint", + "customer_device_id", + "customer_email_address", + "customer_purchase_ip", + "product_description", + "shipping_address" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.CardPresent.Offline": { + "stripe.Stripe.Dispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3": { "properties": { - "stored_at": { - "type": "number", - "format": "double", - "nullable": true, - "description": "Time at which the payment was collected while offline" - }, - "type": { - "type": "string", - "enum": [ - "deferred", - null + "disputed_transaction": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Dispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3.DisputedTransaction" + } ], "nullable": true, - "description": "The method used to process this payment method offline. Only deferred is allowed." + "description": "Disputed transaction details for Visa Compelling Evidence 3.0 evidence submission." + }, + "prior_undisputed_transactions": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Dispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3.PriorUndisputedTransaction" + }, + "type": "array", + "description": "List of exactly two prior undisputed transaction objects for Visa Compelling Evidence 3.0 evidence submission." } }, "required": [ - "stored_at", - "type" + "disputed_transaction", + "prior_undisputed_transactions" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.CardPresent": { + "stripe.Stripe.Dispute.Evidence.EnhancedEvidence.VisaCompliance": { "properties": { - "generated_card": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod" - } - ], - "nullable": true, - "description": "The ID of the Card PaymentMethod which was generated by this SetupAttempt." - }, - "offline": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.CardPresent.Offline" - } - ], - "nullable": true, - "description": "Details about payments collected offline." + "fee_acknowledged": { + "type": "boolean", + "description": "A field acknowledging the fee incurred when countering a Visa compliance dispute. If this field is set to true, evidence can be submitted for the compliance dispute. Stripe collects a 500 USD (or local equivalent) amount to cover the network costs associated with resolving compliance disputes. Stripe refunds the 500 USD network fee if you win the dispute." } }, "required": [ - "generated_card", - "offline" + "fee_acknowledged" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Cashapp": { - "properties": {}, + "stripe.Stripe.Dispute.Evidence.EnhancedEvidence": { + "properties": { + "visa_compelling_evidence_3": { + "$ref": "#/components/schemas/stripe.Stripe.Dispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3" + }, + "visa_compliance": { + "$ref": "#/components/schemas/stripe.Stripe.Dispute.Evidence.EnhancedEvidence.VisaCompliance" + } + }, "type": "object", "additionalProperties": false }, - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Ideal.Bank": { - "type": "string", - "enum": [ - "abn_amro", - "asn_bank", - "bunq", - "handelsbanken", - "ing", - "knab", - "moneyou", - "n26", - "nn", - "rabobank", - "regiobank", - "revolut", - "sns_bank", - "triodos_bank", - "van_lanschot", - "yoursafe" - ] - }, - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Ideal.Bic": { - "type": "string", - "enum": [ - "ABNANL2A", - "ASNBNL21", - "BITSNL2A", - "BUNQNL2A", - "FVLBNL22", - "HANDNL2A", - "INGBNL2A", - "KNABNL2H", - "MOYONL21", - "NNBANL2G", - "NTSBDEB1", - "RABONL2U", - "RBRBNL21", - "REVOIE23", - "REVOLT21", - "SNSBNL2A", - "TRIONL2U" - ] - }, - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Ideal": { + "stripe.Stripe.Dispute.Evidence": { "properties": { - "bank": { - "allOf": [ + "access_activity_log": { + "type": "string", + "nullable": true, + "description": "Any server or activity logs showing proof that the customer accessed or downloaded the purchased digital product. This information should include IP addresses, corresponding timestamps, and any detailed recorded activity." + }, + "billing_address": { + "type": "string", + "nullable": true, + "description": "The billing address provided by the customer." + }, + "cancellation_policy": { + "anyOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Ideal.Bank" + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.File" } ], "nullable": true, - "description": "The customer's bank. Can be one of `abn_amro`, `asn_bank`, `bunq`, `handelsbanken`, `ing`, `knab`, `moneyou`, `n26`, `nn`, `rabobank`, `regiobank`, `revolut`, `sns_bank`, `triodos_bank`, `van_lanschot`, or `yoursafe`." + "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Your subscription cancellation policy, as shown to the customer." }, - "bic": { - "allOf": [ + "cancellation_policy_disclosure": { + "type": "string", + "nullable": true, + "description": "An explanation of how and when the customer was shown your refund policy prior to purchase." + }, + "cancellation_rebuttal": { + "type": "string", + "nullable": true, + "description": "A justification for why the customer's subscription was not canceled." + }, + "customer_communication": { + "anyOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Ideal.Bic" + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.File" } ], "nullable": true, - "description": "The Bank Identifier Code of the customer's bank." + "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Any communication with the customer that you feel is relevant to your case. Examples include emails proving that the customer received the product or service, or demonstrating their use of or satisfaction with the product or service." }, - "generated_sepa_debit": { + "customer_email_address": { + "type": "string", + "nullable": true, + "description": "The email address of the customer." + }, + "customer_name": { + "type": "string", + "nullable": true, + "description": "The name of the customer." + }, + "customer_purchase_ip": { + "type": "string", + "nullable": true, + "description": "The IP address that the customer used when making the purchase." + }, + "customer_signature": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod" + "$ref": "#/components/schemas/stripe.Stripe.File" } ], "nullable": true, - "description": "The ID of the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt." + "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) A relevant document or contract showing the customer's signature." }, - "generated_sepa_debit_mandate": { + "duplicate_charge_documentation": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.Mandate" + "$ref": "#/components/schemas/stripe.Stripe.File" } ], "nullable": true, - "description": "The mandate for the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt." + "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Documentation for the prior charge that can uniquely identify the charge, such as a receipt, shipping label, work order, etc. This document should be paired with a similar document from the disputed payment that proves the two payments are separate." }, - "iban_last4": { + "duplicate_charge_explanation": { "type": "string", "nullable": true, - "description": "Last four characters of the IBAN." + "description": "An explanation of the difference between the disputed charge versus the prior charge that appears to be a duplicate." }, - "verified_name": { + "duplicate_charge_id": { "type": "string", "nullable": true, - "description": "Owner's verified full name. Values are verified or provided by iDEAL directly\n(if supported) at the time of authorization or settlement. They cannot be set or mutated." - } - }, - "required": [ - "bank", - "bic", - "generated_sepa_debit", - "generated_sepa_debit_mandate", - "iban_last4", - "verified_name" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.KakaoPay": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Klarna": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.KrCard": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Link": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Paypal": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.RevolutPay": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.SepaDebit": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Sofort.PreferredLanguage": { - "type": "string", - "enum": [ - "de", - "en", - "fr", - "nl" - ] - }, - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.Sofort": { - "properties": { - "bank_code": { + "description": "The Stripe ID for the prior charge which appears to be a duplicate of the disputed charge." + }, + "enhanced_evidence": { + "$ref": "#/components/schemas/stripe.Stripe.Dispute.Evidence.EnhancedEvidence" + }, + "product_description": { "type": "string", "nullable": true, - "description": "Bank code of bank associated with the bank account." + "description": "A description of the product or service that was sold." }, - "bank_name": { + "receipt": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.File" + } + ], + "nullable": true, + "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Any receipt or message sent to the customer notifying them of the charge." + }, + "refund_policy": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.File" + } + ], + "nullable": true, + "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Your refund policy, as shown to the customer." + }, + "refund_policy_disclosure": { "type": "string", "nullable": true, - "description": "Name of the bank associated with the bank account." + "description": "Documentation demonstrating that the customer was shown your refund policy prior to purchase." }, - "bic": { + "refund_refusal_explanation": { "type": "string", "nullable": true, - "description": "Bank Identifier Code of the bank associated with the bank account." + "description": "A justification for why the customer is not entitled to a refund." }, - "generated_sepa_debit": { + "service_date": { + "type": "string", + "nullable": true, + "description": "The date on which the customer received or began receiving the purchased service, in a clear human-readable format." + }, + "service_documentation": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod" + "$ref": "#/components/schemas/stripe.Stripe.File" } ], "nullable": true, - "description": "The ID of the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt." + "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Documentation showing proof that a service was provided to the customer. This could include a copy of a signed contract, work order, or other form of written agreement." }, - "generated_sepa_debit_mandate": { + "shipping_address": { + "type": "string", + "nullable": true, + "description": "The address to which a physical product was shipped. You should try to include as complete address information as possible." + }, + "shipping_carrier": { + "type": "string", + "nullable": true, + "description": "The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. If multiple carriers were used for this purchase, please separate them with commas." + }, + "shipping_date": { + "type": "string", + "nullable": true, + "description": "The date on which a physical product began its route to the shipping address, in a clear human-readable format." + }, + "shipping_documentation": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.Mandate" + "$ref": "#/components/schemas/stripe.Stripe.File" } ], "nullable": true, - "description": "The mandate for the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt." + "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Documentation showing proof that a product was shipped to the customer at the same address the customer provided to you. This could include a copy of the shipment receipt, shipping label, etc. It should show the customer's full shipping address, if possible." }, - "iban_last4": { + "shipping_tracking_number": { "type": "string", "nullable": true, - "description": "Last four characters of the IBAN." + "description": "The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas." }, - "preferred_language": { - "allOf": [ + "uncategorized_file": { + "anyOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Sofort.PreferredLanguage" + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.File" } ], "nullable": true, - "description": "Preferred language of the Sofort authorization page that the customer is redirected to.\nCan be one of `en`, `de`, `fr`, or `nl`" + "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Any additional evidence or statements." }, - "verified_name": { + "uncategorized_text": { "type": "string", "nullable": true, - "description": "Owner's verified full name. Values are verified or provided by Sofort directly\n(if supported) at the time of authorization or settlement. They cannot be set or mutated." + "description": "Any additional evidence or statements." } }, "required": [ - "bank_code", - "bank_name", - "bic", - "generated_sepa_debit", - "generated_sepa_debit_mandate", - "iban_last4", - "preferred_language", - "verified_name" + "access_activity_log", + "billing_address", + "cancellation_policy", + "cancellation_policy_disclosure", + "cancellation_rebuttal", + "customer_communication", + "customer_email_address", + "customer_name", + "customer_purchase_ip", + "customer_signature", + "duplicate_charge_documentation", + "duplicate_charge_explanation", + "duplicate_charge_id", + "enhanced_evidence", + "product_description", + "receipt", + "refund_policy", + "refund_policy_disclosure", + "refund_refusal_explanation", + "service_date", + "service_documentation", + "shipping_address", + "shipping_carrier", + "shipping_date", + "shipping_documentation", + "shipping_tracking_number", + "uncategorized_file", + "uncategorized_text" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.SetupAttempt.PaymentMethodDetails.UsBankAccount": { - "properties": {}, - "type": "object", - "additionalProperties": false + "stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility.VisaCompellingEvidence3.RequiredAction": { + "type": "string", + "enum": [ + "missing_customer_identifiers", + "missing_disputed_transaction_description", + "missing_merchandise_or_services", + "missing_prior_undisputed_transaction_description", + "missing_prior_undisputed_transactions" + ] }, - "stripe.Stripe.SetupAttempt.PaymentMethodDetails": { + "stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility.VisaCompellingEvidence3.Status": { + "type": "string", + "enum": [ + "not_qualified", + "qualified", + "requires_action" + ] + }, + "stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility.VisaCompellingEvidence3": { "properties": { - "acss_debit": { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.AcssDebit" - }, - "amazon_pay": { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.AmazonPay" - }, - "au_becs_debit": { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.AuBecsDebit" - }, - "bacs_debit": { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.BacsDebit" - }, - "bancontact": { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Bancontact" - }, - "boleto": { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Boleto" - }, - "card": { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Card" - }, - "card_present": { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.CardPresent" - }, - "cashapp": { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Cashapp" - }, - "ideal": { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Ideal" - }, - "kakao_pay": { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.KakaoPay" - }, - "klarna": { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Klarna" - }, - "kr_card": { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.KrCard" - }, - "link": { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Link" - }, - "paypal": { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Paypal" - }, - "revolut_pay": { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.RevolutPay" - }, - "sepa_debit": { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.SepaDebit" - }, - "sofort": { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.Sofort" - }, - "type": { - "type": "string", - "description": "The type of the payment method used in the SetupIntent (e.g., `card`). An additional hash is included on `payment_method_details` with a name matching this value. It contains confirmation-specific information for the payment method." + "required_actions": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility.VisaCompellingEvidence3.RequiredAction" + }, + "type": "array", + "description": "List of actions required to qualify dispute for Visa Compelling Evidence 3.0 evidence submission." }, - "us_bank_account": { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails.UsBankAccount" + "status": { + "$ref": "#/components/schemas/stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility.VisaCompellingEvidence3.Status", + "description": "Visa Compelling Evidence 3.0 eligibility status." } }, "required": [ - "type" + "required_actions", + "status" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.SetupAttempt.SetupError.Code": { + "stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility.VisaCompliance.Status": { "type": "string", "enum": [ - "account_closed", - "account_country_invalid_address", - "account_error_country_change_requires_additional_steps", - "account_information_mismatch", - "account_invalid", - "account_number_invalid", - "acss_debit_session_incomplete", - "alipay_upgrade_required", - "amount_too_large", - "amount_too_small", - "api_key_expired", - "application_fees_not_allowed", - "authentication_required", - "balance_insufficient", - "balance_invalid_parameter", - "bank_account_bad_routing_numbers", - "bank_account_declined", - "bank_account_exists", - "bank_account_restricted", - "bank_account_unusable", - "bank_account_unverified", - "bank_account_verification_failed", - "billing_invalid_mandate", - "bitcoin_upgrade_required", - "capture_charge_authorization_expired", - "capture_unauthorized_payment", - "card_decline_rate_limit_exceeded", - "card_declined", - "cardholder_phone_number_required", - "charge_already_captured", - "charge_already_refunded", - "charge_disputed", - "charge_exceeds_source_limit", - "charge_exceeds_transaction_limit", - "charge_expired_for_capture", - "charge_invalid_parameter", - "charge_not_refundable", - "clearing_code_unsupported", - "country_code_invalid", - "country_unsupported", - "coupon_expired", - "customer_max_payment_methods", - "customer_max_subscriptions", - "customer_tax_location_invalid", - "debit_not_authorized", - "email_invalid", - "expired_card", - "financial_connections_account_inactive", - "financial_connections_no_successful_transaction_refresh", - "forwarding_api_inactive", - "forwarding_api_invalid_parameter", - "forwarding_api_upstream_connection_error", - "forwarding_api_upstream_connection_timeout", - "idempotency_key_in_use", - "incorrect_address", - "incorrect_cvc", - "incorrect_number", - "incorrect_zip", - "instant_payouts_config_disabled", - "instant_payouts_currency_disabled", - "instant_payouts_limit_exceeded", - "instant_payouts_unsupported", - "insufficient_funds", - "intent_invalid_state", - "intent_verification_method_missing", - "invalid_card_type", - "invalid_characters", - "invalid_charge_amount", - "invalid_cvc", - "invalid_expiry_month", - "invalid_expiry_year", - "invalid_mandate_reference_prefix_format", - "invalid_number", - "invalid_source_usage", - "invalid_tax_location", - "invoice_no_customer_line_items", - "invoice_no_payment_method_types", - "invoice_no_subscription_line_items", - "invoice_not_editable", - "invoice_on_behalf_of_not_editable", - "invoice_payment_intent_requires_action", - "invoice_upcoming_none", - "livemode_mismatch", - "lock_timeout", - "missing", - "no_account", - "not_allowed_on_standard_account", - "out_of_inventory", - "ownership_declaration_not_allowed", - "parameter_invalid_empty", - "parameter_invalid_integer", - "parameter_invalid_string_blank", - "parameter_invalid_string_empty", - "parameter_missing", - "parameter_unknown", - "parameters_exclusive", - "payment_intent_action_required", - "payment_intent_authentication_failure", - "payment_intent_incompatible_payment_method", - "payment_intent_invalid_parameter", - "payment_intent_konbini_rejected_confirmation_number", - "payment_intent_mandate_invalid", - "payment_intent_payment_attempt_expired", - "payment_intent_payment_attempt_failed", - "payment_intent_unexpected_state", - "payment_method_bank_account_already_verified", - "payment_method_bank_account_blocked", - "payment_method_billing_details_address_missing", - "payment_method_configuration_failures", - "payment_method_currency_mismatch", - "payment_method_customer_decline", - "payment_method_invalid_parameter", - "payment_method_invalid_parameter_testmode", - "payment_method_microdeposit_failed", - "payment_method_microdeposit_verification_amounts_invalid", - "payment_method_microdeposit_verification_amounts_mismatch", - "payment_method_microdeposit_verification_attempts_exceeded", - "payment_method_microdeposit_verification_descriptor_code_mismatch", - "payment_method_microdeposit_verification_timeout", - "payment_method_not_available", - "payment_method_provider_decline", - "payment_method_provider_timeout", - "payment_method_unactivated", - "payment_method_unexpected_state", - "payment_method_unsupported_type", - "payout_reconciliation_not_ready", - "payouts_limit_exceeded", - "payouts_not_allowed", - "platform_account_required", - "platform_api_key_expired", - "postal_code_invalid", - "processing_error", - "product_inactive", - "progressive_onboarding_limit_exceeded", - "rate_limit", - "refer_to_customer", - "refund_disputed_payment", - "resource_already_exists", - "resource_missing", - "return_intent_already_processed", - "routing_number_invalid", - "secret_key_required", - "sepa_unsupported_account", - "setup_attempt_failed", - "setup_intent_authentication_failure", - "setup_intent_invalid_parameter", - "setup_intent_mandate_invalid", - "setup_intent_setup_attempt_expired", - "setup_intent_unexpected_state", - "shipping_address_invalid", - "shipping_calculation_failed", - "sku_inactive", - "state_unsupported", - "status_transition_invalid", - "stripe_tax_inactive", - "tax_id_invalid", - "taxes_calculation_failed", - "terminal_location_country_unsupported", - "terminal_reader_busy", - "terminal_reader_hardware_fault", - "terminal_reader_invalid_location_for_activation", - "terminal_reader_invalid_location_for_payment", - "terminal_reader_offline", - "terminal_reader_timeout", - "testmode_charges_only", - "tls_version_unsupported", - "token_already_used", - "token_card_network_invalid", - "token_in_use", - "transfer_source_balance_parameters_mismatch", - "transfers_not_allowed", - "url_invalid" + "fee_acknowledged", + "requires_fee_acknowledgement" ] }, - "stripe.Stripe.PaymentIntent.AmountDetails.Tip": { + "stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility.VisaCompliance": { "properties": { - "amount": { - "type": "number", - "format": "double", - "description": "Portion of the amount that corresponds to a tip." + "status": { + "$ref": "#/components/schemas/stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility.VisaCompliance.Status", + "description": "Visa compliance eligibility status." } }, + "required": [ + "status" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.AmountDetails": { + "stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility": { "properties": { - "tip": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.AmountDetails.Tip" + "visa_compelling_evidence_3": { + "$ref": "#/components/schemas/stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility.VisaCompellingEvidence3" + }, + "visa_compliance": { + "$ref": "#/components/schemas/stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility.VisaCompliance" } }, "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.AutomaticPaymentMethods.AllowRedirects": { - "type": "string", - "enum": [ - "always", - "never" - ] - }, - "stripe.Stripe.PaymentIntent.AutomaticPaymentMethods": { + "stripe.Stripe.Dispute.EvidenceDetails": { "properties": { - "allow_redirects": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.AutomaticPaymentMethods.AllowRedirects", - "description": "Controls whether this PaymentIntent will accept redirect-based payment methods.\n\nRedirect-based payment methods may require your customer to be redirected to a payment method's app or site for authentication or additional steps. To [confirm](https://stripe.com/docs/api/payment_intents/confirm) this PaymentIntent, you may be required to provide a `return_url` to redirect customers back to your site after they authenticate or complete the payment." + "due_by": { + "type": "number", + "format": "double", + "nullable": true, + "description": "Date by which evidence must be submitted in order to successfully challenge dispute. Will be 0 if the customer's bank or credit card company doesn't allow a response for this particular dispute." }, - "enabled": { + "enhanced_eligibility": { + "$ref": "#/components/schemas/stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility" + }, + "has_evidence": { "type": "boolean", - "description": "Automatically calculates compatible payment methods" + "description": "Whether evidence has been staged for this dispute." + }, + "past_due": { + "type": "boolean", + "description": "Whether the last evidence submission was submitted past the due date. Defaults to `false` if no evidence submissions have occurred. If `true`, then delivery of the latest evidence is *not* guaranteed." + }, + "submission_count": { + "type": "number", + "format": "double", + "description": "The number of times evidence has been submitted. Typically, you may only submit evidence once." } }, "required": [ - "enabled" + "due_by", + "enhanced_eligibility", + "has_evidence", + "past_due", + "submission_count" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.CancellationReason": { + "stripe.Stripe.Dispute.PaymentMethodDetails.AmazonPay.DisputeType": { "type": "string", "enum": [ - "abandoned", - "automatic", - "duplicate", - "failed_invoice", - "fraudulent", - "requested_by_customer", - "void_invoice" + "chargeback", + "claim" ] }, - "stripe.Stripe.PaymentIntent.CaptureMethod": { - "type": "string", - "enum": [ - "automatic", - "automatic_async", - "manual" - ] + "stripe.Stripe.Dispute.PaymentMethodDetails.AmazonPay": { + "properties": { + "dispute_type": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Dispute.PaymentMethodDetails.AmazonPay.DisputeType" + } + ], + "nullable": true, + "description": "The AmazonPay dispute type, chargeback or claim" + } + }, + "required": [ + "dispute_type" + ], + "type": "object", + "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.ConfirmationMethod": { + "stripe.Stripe.Dispute.PaymentMethodDetails.Card.CaseType": { "type": "string", "enum": [ - "automatic", - "manual" + "chargeback", + "inquiry" ] }, - "stripe.Stripe.TaxId.Owner.Type": { + "stripe.Stripe.Dispute.PaymentMethodDetails.Card": { + "properties": { + "brand": { + "type": "string", + "description": "Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`." + }, + "case_type": { + "$ref": "#/components/schemas/stripe.Stripe.Dispute.PaymentMethodDetails.Card.CaseType", + "description": "The type of dispute opened. Different case types may have varying fees and financial impact." + }, + "network_reason_code": { + "type": "string", + "nullable": true, + "description": "The card network's specific dispute reason code, which maps to one of Stripe's primary dispute categories to simplify response guidance. The [Network code map](https://stripe.com/docs/disputes/categories#network-code-map) lists all available dispute reason codes by network." + } + }, + "required": [ + "brand", + "case_type", + "network_reason_code" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Dispute.PaymentMethodDetails.Klarna": { + "properties": { + "reason_code": { + "type": "string", + "nullable": true, + "description": "The reason for the dispute as defined by Klarna" + } + }, + "required": [ + "reason_code" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Dispute.PaymentMethodDetails.Paypal": { + "properties": { + "case_id": { + "type": "string", + "nullable": true, + "description": "The ID of the dispute in PayPal." + }, + "reason_code": { + "type": "string", + "nullable": true, + "description": "The reason for the dispute as defined by PayPal" + } + }, + "required": [ + "case_id", + "reason_code" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Dispute.PaymentMethodDetails.Type": { "type": "string", "enum": [ - "account", - "application", - "customer", - "self" + "amazon_pay", + "card", + "klarna", + "paypal" ] }, - "stripe.Stripe.TaxId.Owner": { + "stripe.Stripe.Dispute.PaymentMethodDetails": { "properties": { - "account": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Account" - } - ], - "description": "The account being referenced when `type` is `account`." + "amazon_pay": { + "$ref": "#/components/schemas/stripe.Stripe.Dispute.PaymentMethodDetails.AmazonPay" }, - "application": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Application" - } - ], - "description": "The Connect Application being referenced when `type` is `application`." + "card": { + "$ref": "#/components/schemas/stripe.Stripe.Dispute.PaymentMethodDetails.Card" }, - "customer": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Customer" - } - ], - "description": "The customer being referenced when `type` is `customer`." + "klarna": { + "$ref": "#/components/schemas/stripe.Stripe.Dispute.PaymentMethodDetails.Klarna" + }, + "paypal": { + "$ref": "#/components/schemas/stripe.Stripe.Dispute.PaymentMethodDetails.Paypal" }, "type": { - "$ref": "#/components/schemas/stripe.Stripe.TaxId.Owner.Type", - "description": "Type of owner referenced." + "$ref": "#/components/schemas/stripe.Stripe.Dispute.PaymentMethodDetails.Type", + "description": "Payment method type." } }, "required": [ @@ -16547,148 +15773,20 @@ "type": "object", "additionalProperties": false }, - "stripe.Stripe.TaxId.Type": { + "stripe.Stripe.Dispute.Status": { "type": "string", "enum": [ - "ad_nrt", - "ae_trn", - "al_tin", - "am_tin", - "ao_tin", - "ar_cuit", - "au_abn", - "au_arn", - "ba_tin", - "bb_tin", - "bg_uic", - "bh_vat", - "bo_tin", - "br_cnpj", - "br_cpf", - "bs_tin", - "by_tin", - "ca_bn", - "ca_gst_hst", - "ca_pst_bc", - "ca_pst_mb", - "ca_pst_sk", - "ca_qst", - "cd_nif", - "ch_uid", - "ch_vat", - "cl_tin", - "cn_tin", - "co_nit", - "cr_tin", - "de_stn", - "do_rcn", - "ec_ruc", - "eg_tin", - "es_cif", - "eu_oss_vat", - "eu_vat", - "gb_vat", - "ge_vat", - "gn_nif", - "hk_br", - "hr_oib", - "hu_tin", - "id_npwp", - "il_vat", - "in_gst", - "is_vat", - "jp_cn", - "jp_rn", - "jp_trn", - "ke_pin", - "kh_tin", - "kr_brn", - "kz_bin", - "li_uid", - "li_vat", - "ma_vat", - "md_vat", - "me_pib", - "mk_vat", - "mr_nif", - "mx_rfc", - "my_frp", - "my_itn", - "my_sst", - "ng_tin", - "no_vat", - "no_voec", - "np_pan", - "nz_gst", - "om_vat", - "pe_ruc", - "ph_tin", - "ro_tin", - "rs_pib", - "ru_inn", - "ru_kpp", - "sa_vat", - "sg_gst", - "sg_uen", - "si_tin", - "sn_ninea", - "sr_fin", - "sv_nit", - "th_vat", - "tj_tin", - "tr_tin", - "tw_vat", - "tz_vat", - "ua_vat", - "ug_tin", - "unknown", - "us_ein", - "uy_ruc", - "uz_tin", - "uz_vat", - "ve_rif", - "vn_tin", - "za_vat", - "zm_tin", - "zw_tin" - ] - }, - "stripe.Stripe.TaxId.Verification.Status": { - "type": "string", - "enum": [ - "pending", - "unavailable", - "unverified", - "verified" + "lost", + "needs_response", + "under_review", + "warning_closed", + "warning_needs_response", + "warning_under_review", + "won" ] }, - "stripe.Stripe.TaxId.Verification": { - "properties": { - "status": { - "$ref": "#/components/schemas/stripe.Stripe.TaxId.Verification.Status", - "description": "Verification status, one of `pending`, `verified`, `unverified`, or `unavailable`." - }, - "verified_address": { - "type": "string", - "nullable": true, - "description": "Verified address." - }, - "verified_name": { - "type": "string", - "nullable": true, - "description": "Verified name." - } - }, - "required": [ - "status", - "verified_address", - "verified_name" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.TaxId": { - "description": "You can add one or multiple tax IDs to a [customer](https://stripe.com/docs/api/customers) or account.\nCustomer and account tax IDs get displayed on related invoices and credit notes.\n\nRelated guides: [Customer tax identification numbers](https://stripe.com/docs/billing/taxes/tax-ids), [Account tax IDs](https://stripe.com/docs/invoicing/connect#account-tax-ids)", + "stripe.Stripe.Dispute": { + "description": "A dispute occurs when a customer questions your charge with their card issuer.\nWhen this happens, you have the opportunity to respond to the dispute with\nevidence that shows that the charge is legitimate.\n\nRelated guide: [Disputes and fraud](https://stripe.com/docs/disputes)", "properties": { "id": { "type": "string", @@ -16697,84 +15795,124 @@ "object": { "type": "string", "enum": [ - "tax_id" + "dispute" ], "nullable": false, "description": "String representing the object's type. Objects of the same type share the same value." }, - "country": { - "type": "string", - "nullable": true, - "description": "Two-letter ISO code representing the country of the tax ID." - }, - "created": { + "amount": { "type": "number", "format": "double", - "description": "Time at which the object was created. Measured in seconds since the Unix epoch." + "description": "Disputed amount. Usually the amount of the charge, but it can differ (usually because of currency fluctuation or because only part of the order is disputed)." }, - "customer": { + "balance_transactions": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.BalanceTransaction" + }, + "type": "array", + "description": "List of zero, one, or two balance transactions that show funds withdrawn and reinstated to your Stripe account as a result of this dispute." + }, + "charge": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.Customer" + "$ref": "#/components/schemas/stripe.Stripe.Charge" } ], - "nullable": true, - "description": "ID of the customer." + "description": "ID of the charge that's disputed." }, - "deleted": { - "description": "Always true for a deleted object" + "created": { + "type": "number", + "format": "double", + "description": "Time at which the object was created. Measured in seconds since the Unix epoch." + }, + "currency": { + "type": "string", + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." + }, + "enhanced_eligibility_types": { + "items": { + "type": "string", + "enum": [ + "visa_compelling_evidence_3" + ], + "nullable": false + }, + "type": "array", + "description": "List of eligibility types that are included in `enhanced_evidence`." + }, + "evidence": { + "$ref": "#/components/schemas/stripe.Stripe.Dispute.Evidence" + }, + "evidence_details": { + "$ref": "#/components/schemas/stripe.Stripe.Dispute.EvidenceDetails" + }, + "is_charge_refundable": { + "type": "boolean", + "description": "If true, it's still possible to refund the disputed payment. After the payment has been fully refunded, no further funds are withdrawn from your Stripe account as a result of this dispute." }, "livemode": { "type": "boolean", "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." }, - "owner": { - "allOf": [ + "metadata": { + "$ref": "#/components/schemas/stripe.Stripe.Metadata", + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." + }, + "network_reason_code": { + "type": "string", + "nullable": true, + "description": "Network-dependent reason code for the dispute." + }, + "payment_intent": { + "anyOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.TaxId.Owner" + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent" } ], "nullable": true, - "description": "The account or customer the tax ID belongs to." + "description": "ID of the PaymentIntent that's disputed." }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.TaxId.Type", - "description": "Type of the tax ID, one of `ad_nrt`, `ae_trn`, `al_tin`, `am_tin`, `ao_tin`, `ar_cuit`, `au_abn`, `au_arn`, `ba_tin`, `bb_tin`, `bg_uic`, `bh_vat`, `bo_tin`, `br_cnpj`, `br_cpf`, `bs_tin`, `by_tin`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `cd_nif`, `ch_uid`, `ch_vat`, `cl_tin`, `cn_tin`, `co_nit`, `cr_tin`, `de_stn`, `do_rcn`, `ec_ruc`, `eg_tin`, `es_cif`, `eu_oss_vat`, `eu_vat`, `gb_vat`, `ge_vat`, `gn_nif`, `hk_br`, `hr_oib`, `hu_tin`, `id_npwp`, `il_vat`, `in_gst`, `is_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kh_tin`, `kr_brn`, `kz_bin`, `li_uid`, `li_vat`, `ma_vat`, `md_vat`, `me_pib`, `mk_vat`, `mr_nif`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `ng_tin`, `no_vat`, `no_voec`, `np_pan`, `nz_gst`, `om_vat`, `pe_ruc`, `ph_tin`, `ro_tin`, `rs_pib`, `ru_inn`, `ru_kpp`, `sa_vat`, `sg_gst`, `sg_uen`, `si_tin`, `sn_ninea`, `sr_fin`, `sv_nit`, `th_vat`, `tj_tin`, `tr_tin`, `tw_vat`, `tz_vat`, `ua_vat`, `ug_tin`, `us_ein`, `uy_ruc`, `uz_tin`, `uz_vat`, `ve_rif`, `vn_tin`, `za_vat`, `zm_tin`, or `zw_tin`. Note that some legacy tax IDs have type `unknown`" + "payment_method_details": { + "$ref": "#/components/schemas/stripe.Stripe.Dispute.PaymentMethodDetails" }, - "value": { + "reason": { "type": "string", - "description": "Value of the tax ID." + "description": "Reason given by cardholder for dispute. Possible values are `bank_cannot_process`, `check_returned`, `credit_not_processed`, `customer_initiated`, `debit_not_authorized`, `duplicate`, `fraudulent`, `general`, `incorrect_account_details`, `insufficient_funds`, `product_not_received`, `product_unacceptable`, `subscription_canceled`, or `unrecognized`. Learn more about [dispute reasons](https://stripe.com/docs/disputes/categories)." }, - "verification": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.TaxId.Verification" - } - ], - "nullable": true, - "description": "Tax ID verification information." + "status": { + "$ref": "#/components/schemas/stripe.Stripe.Dispute.Status", + "description": "Current status of dispute. Possible values are `warning_needs_response`, `warning_under_review`, `warning_closed`, `needs_response`, `under_review`, `won`, or `lost`." } }, "required": [ "id", "object", - "country", + "amount", + "balance_transactions", + "charge", "created", - "customer", + "currency", + "enhanced_eligibility_types", + "evidence", + "evidence_details", + "is_charge_refundable", "livemode", - "owner", - "type", - "value", - "verification" + "metadata", + "payment_intent", + "reason", + "status" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.DeletedTaxId": { - "description": "The DeletedTaxId object.", + "stripe.Stripe.FeeRefund": { + "description": "`Application Fee Refund` objects allow you to refund an application fee that\nhas previously been created but not yet refunded. Funds will be refunded to\nthe Stripe account from which the fee was originally collected.\n\nRelated guide: [Refunding application fees](https://stripe.com/docs/connect/destination-charges#refunding-app-fee)", "properties": { "id": { "type": "string", @@ -16783,14060 +15921,4285 @@ "object": { "type": "string", "enum": [ - "tax_id" + "fee_refund" ], "nullable": false, "description": "String representing the object's type. Objects of the same type share the same value." }, - "deleted": { - "type": "boolean", - "enum": [ - true + "amount": { + "type": "number", + "format": "double", + "description": "Amount, in cents (or local equivalent)." + }, + "balance_transaction": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.BalanceTransaction" + } ], - "nullable": false, - "description": "Always true for a deleted object" + "nullable": true, + "description": "Balance transaction that describes the impact on your account balance." + }, + "created": { + "type": "number", + "format": "double", + "description": "Time at which the object was created. Measured in seconds since the Unix epoch." + }, + "currency": { + "type": "string", + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." + }, + "fee": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.ApplicationFee" + } + ], + "description": "ID of the application fee that was refunded." + }, + "metadata": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Metadata" + } + ], + "nullable": true, + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." } }, "required": [ "id", "object", - "deleted" + "amount", + "balance_transaction", + "created", + "currency", + "fee", + "metadata" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Invoice.AutomaticTax.DisabledReason": { + "stripe.Stripe.Issuing.Authorization.AmountDetails": { + "properties": { + "atm_fee": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The fee charged by the ATM for the cash withdrawal." + }, + "cashback_amount": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The amount of cash requested by the cardholder." + } + }, + "required": [ + "atm_fee", + "cashback_amount" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Issuing.Authorization.AuthorizationMethod": { "type": "string", "enum": [ - "finalization_requires_location_inputs", - "finalization_system_error" + "chip", + "contactless", + "keyed_in", + "online", + "swipe" ] }, - "stripe.Stripe.Invoice.AutomaticTax.Liability.Type": { + "stripe.Stripe.Issuing.Card.CancellationReason": { "type": "string", "enum": [ - "account", - "self" + "design_rejected", + "lost", + "stolen" ] }, - "stripe.Stripe.Invoice.AutomaticTax.Liability": { + "stripe.Stripe.Issuing.Cardholder.Billing": { "properties": { - "account": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Account" - } - ], - "description": "The connected account being referenced when `type` is `account`." - }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.AutomaticTax.Liability.Type", - "description": "Type of the account referenced." + "address": { + "$ref": "#/components/schemas/stripe.Stripe.Address" } }, "required": [ - "type" + "address" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Invoice.AutomaticTax.Status": { - "type": "string", - "enum": [ - "complete", - "failed", - "requires_location_inputs" - ] - }, - "stripe.Stripe.Invoice.AutomaticTax": { + "stripe.Stripe.Issuing.Cardholder.Company": { "properties": { - "disabled_reason": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.AutomaticTax.DisabledReason" - } - ], - "nullable": true, - "description": "If Stripe disabled automatic tax, this enum describes why." - }, - "enabled": { + "tax_id_provided": { "type": "boolean", - "description": "Whether Stripe automatically computes tax on this invoice. Note that incompatible invoice items (invoice items with manually specified [tax rates](https://stripe.com/docs/api/tax_rates), negative amounts, or `tax_behavior=unspecified`) cannot be added to automatic tax invoices." - }, - "liability": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.AutomaticTax.Liability" - } - ], - "nullable": true, - "description": "The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account." - }, - "status": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.AutomaticTax.Status" - } - ], - "nullable": true, - "description": "The status of the most recent automated tax calculation for this invoice." + "description": "Whether the company's business ID number was provided." } }, "required": [ - "disabled_reason", - "enabled", - "liability", - "status" + "tax_id_provided" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Invoice.BillingReason": { - "type": "string", - "enum": [ - "automatic_pending_invoice_item_invoice", - "manual", - "quote_accept", - "subscription", - "subscription_create", - "subscription_cycle", - "subscription_threshold", - "subscription_update", - "upcoming" - ] - }, - "stripe.Stripe.BalanceTransaction.FeeDetail": { + "stripe.Stripe.Issuing.Cardholder.Individual.CardIssuing.UserTermsAcceptance": { "properties": { - "amount": { + "date": { "type": "number", "format": "double", - "description": "Amount of the fee, in cents." - }, - "application": { - "type": "string", "nullable": true, - "description": "ID of the Connect application that earned the fee." - }, - "currency": { - "type": "string", - "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." + "description": "The Unix timestamp marking when the cardholder accepted the Authorized User Terms." }, - "description": { + "ip": { "type": "string", "nullable": true, - "description": "An arbitrary string attached to the object. Often useful for displaying to users." + "description": "The IP address from which the cardholder accepted the Authorized User Terms." }, - "type": { + "user_agent": { "type": "string", - "description": "Type of the fee, one of: `application_fee`, `payment_method_passthrough_fee`, `stripe_fee` or `tax`." + "nullable": true, + "description": "The user agent of the browser from which the cardholder accepted the Authorized User Terms." } }, "required": [ - "amount", - "application", - "currency", - "description", - "type" + "date", + "ip", + "user_agent" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.ApplicationFee": { - "description": "The ApplicationFee object.", + "stripe.Stripe.Issuing.Cardholder.Individual.CardIssuing": { "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." - }, - "object": { - "type": "string", - "enum": [ - "application_fee" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." - }, - "account": { - "anyOf": [ - { - "type": "string" - }, + "user_terms_acceptance": { + "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Account" + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder.Individual.CardIssuing.UserTermsAcceptance" } ], - "description": "ID of the Stripe account this fee was taken from." - }, - "amount": { + "nullable": true, + "description": "Information about cardholder acceptance of Celtic [Authorized User Terms](https://stripe.com/docs/issuing/cards#accept-authorized-user-terms). Required for cards backed by a Celtic program." + } + }, + "required": [ + "user_terms_acceptance" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Issuing.Cardholder.Individual.Dob": { + "properties": { + "day": { "type": "number", "format": "double", - "description": "Amount earned, in cents (or local equivalent)." + "nullable": true, + "description": "The day of birth, between 1 and 31." }, - "amount_refunded": { + "month": { "type": "number", "format": "double", - "description": "Amount in cents (or local equivalent) refunded (can be less than the amount attribute on the fee if a partial refund was issued)" + "nullable": true, + "description": "The month of birth, between 1 and 12." }, - "application": { + "year": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The four-digit year of birth." + } + }, + "required": [ + "day", + "month", + "year" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Issuing.Cardholder.Individual.Verification.Document": { + "properties": { + "back": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.Application" + "$ref": "#/components/schemas/stripe.Stripe.File" } ], - "description": "ID of the Connect application that earned the fee." + "nullable": true, + "description": "The back of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`." }, - "balance_transaction": { + "front": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.BalanceTransaction" + "$ref": "#/components/schemas/stripe.Stripe.File" } ], "nullable": true, - "description": "Balance transaction that describes the impact of this collected application fee on your account balance (not including refunds)." - }, - "charge": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Charge" - } - ], - "description": "ID of the charge that the application fee was taken from." - }, - "created": { - "type": "number", - "format": "double", - "description": "Time at which the object was created. Measured in seconds since the Unix epoch." - }, - "currency": { - "type": "string", - "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." - }, - "fee_source": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.ApplicationFee.FeeSource" - } - ], - "nullable": true, - "description": "Polymorphic source of the application fee. Includes the ID of the object the application fee was created from." - }, - "livemode": { - "type": "boolean", - "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." - }, - "originating_transaction": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Charge" - } - ], - "nullable": true, - "description": "ID of the corresponding charge on the platform account, if this fee was the result of a charge using the `destination` parameter." - }, - "refunded": { - "type": "boolean", - "description": "Whether the fee has been fully refunded. If the fee is only partially refunded, this attribute will still be false." - }, - "refunds": { - "$ref": "#/components/schemas/stripe.Stripe.ApiList_stripe.Stripe.FeeRefund_", - "description": "A list of refunds that have been applied to the fee." + "description": "The front of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`." } }, "required": [ - "id", - "object", - "account", - "amount", - "amount_refunded", - "application", - "balance_transaction", - "charge", - "created", - "currency", - "fee_source", - "livemode", - "originating_transaction", - "refunded", - "refunds" + "back", + "front" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Charge": { - "description": "The `Charge` object represents a single attempt to move money into your Stripe account.\nPaymentIntent confirmation is the most common way to create Charges, but transferring\nmoney to a different Stripe account through Connect also creates Charges.\nSome legacy payment flows create Charges directly, which is not recommended for new integrations.", + "stripe.Stripe.Issuing.Cardholder.Individual.Verification": { "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." - }, - "object": { - "type": "string", - "enum": [ - "charge" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." - }, - "amount": { - "type": "number", - "format": "double", - "description": "Amount intended to be collected by this payment. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99)." - }, - "amount_captured": { - "type": "number", - "format": "double", - "description": "Amount in cents (or local equivalent) captured (can be less than the amount attribute on the charge if a partial capture was made)." - }, - "amount_refunded": { - "type": "number", - "format": "double", - "description": "Amount in cents (or local equivalent) refunded (can be less than the amount attribute on the charge if a partial refund was issued)." - }, - "application": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Application" - } - ], - "nullable": true, - "description": "ID of the Connect application that created the charge." - }, - "application_fee": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.ApplicationFee" - } - ], - "nullable": true, - "description": "The application fee (if any) for the charge. [See the Connect documentation](https://stripe.com/docs/connect/direct-charges#collect-fees) for details." - }, - "application_fee_amount": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The amount of the application fee (if any) requested for the charge. [See the Connect documentation](https://stripe.com/docs/connect/direct-charges#collect-fees) for details." - }, - "authorization_code": { - "type": "string", - "description": "Authorization code on the charge." - }, - "balance_transaction": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.BalanceTransaction" - } - ], - "nullable": true, - "description": "ID of the balance transaction that describes the impact of this charge on your account balance (not including refunds or disputes)." - }, - "billing_details": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.BillingDetails" - }, - "calculated_statement_descriptor": { - "type": "string", - "nullable": true, - "description": "The full statement descriptor that is passed to card networks, and that is displayed on your customers' credit card and bank statements. Allows you to see what the statement descriptor looks like after the static and dynamic portions are combined. This value only exists for card payments." - }, - "captured": { - "type": "boolean", - "description": "If the charge was created without capturing, this Boolean represents whether it is still uncaptured or has since been captured." - }, - "created": { - "type": "number", - "format": "double", - "description": "Time at which the object was created. Measured in seconds since the Unix epoch." - }, - "currency": { - "type": "string", - "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." - }, - "customer": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Customer" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.DeletedCustomer" - } - ], - "nullable": true, - "description": "ID of the customer this charge is for if one exists." - }, - "description": { - "type": "string", - "nullable": true, - "description": "An arbitrary string attached to the object. Often useful for displaying to users." - }, - "disputed": { - "type": "boolean", - "description": "Whether the charge has been disputed." - }, - "failure_balance_transaction": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.BalanceTransaction" - } - ], - "nullable": true, - "description": "ID of the balance transaction that describes the reversal of the balance on your account due to payment failure." - }, - "failure_code": { - "type": "string", - "nullable": true, - "description": "Error code explaining reason for charge failure if available (see [the errors section](https://stripe.com/docs/error-codes) for a list of codes)." - }, - "failure_message": { - "type": "string", - "nullable": true, - "description": "Message to user further explaining reason for charge failure if available." - }, - "fraud_details": { + "document": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Charge.FraudDetails" - } - ], - "nullable": true, - "description": "Information on fraud assessments for the charge." - }, - "invoice": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Invoice" - } - ], - "nullable": true, - "description": "ID of the invoice this charge is for if one exists." - }, - "level3": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.Level3" - }, - "livemode": { - "type": "boolean", - "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." - }, - "metadata": { - "$ref": "#/components/schemas/stripe.Stripe.Metadata", - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." - }, - "on_behalf_of": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Account" + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder.Individual.Verification.Document" } ], "nullable": true, - "description": "The account (if any) the charge was made on behalf of without triggering an automatic transfer. See the [Connect documentation](https://stripe.com/docs/connect/separate-charges-and-transfers) for details." - }, - "outcome": { + "description": "An identifying document, either a passport or local ID card." + } + }, + "required": [ + "document" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Issuing.Cardholder.Individual": { + "properties": { + "card_issuing": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Charge.Outcome" - } - ], - "nullable": true, - "description": "Details about whether the payment was accepted, and why. See [understanding declines](https://stripe.com/docs/declines) for details." - }, - "paid": { - "type": "boolean", - "description": "`true` if the charge succeeded, or was successfully authorized for later capture." - }, - "payment_intent": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent" + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder.Individual.CardIssuing" } ], "nullable": true, - "description": "ID of the PaymentIntent associated with this charge, if one exists." - }, - "payment_method": { - "type": "string", - "nullable": true, - "description": "ID of the payment method used in this charge." + "description": "Information related to the card_issuing program for this cardholder." }, - "payment_method_details": { + "dob": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails" + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder.Individual.Dob" } ], "nullable": true, - "description": "Details about the payment method at the time of the transaction." - }, - "radar_options": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.RadarOptions", - "description": "Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information." - }, - "receipt_email": { - "type": "string", - "nullable": true, - "description": "This is the email address that the receipt for this charge was sent to." + "description": "The date of birth of this cardholder." }, - "receipt_number": { + "first_name": { "type": "string", "nullable": true, - "description": "This is the transaction number that appears on email receipts sent for this charge. This attribute will be `null` until a receipt has been sent." + "description": "The first name of this cardholder. Required before activating Cards. This field cannot contain any numbers, special characters (except periods, commas, hyphens, spaces and apostrophes) or non-latin letters." }, - "receipt_url": { + "last_name": { "type": "string", "nullable": true, - "description": "This is the URL to view the receipt for this charge. The receipt is kept up-to-date to the latest state of the charge, including any refunds. If the charge is for an Invoice, the receipt will be stylized as an Invoice receipt." - }, - "refunded": { - "type": "boolean", - "description": "Whether the charge has been fully refunded. If the charge is only partially refunded, this attribute will still be false." - }, - "refunds": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.ApiList_stripe.Stripe.Refund_" - } - ], - "nullable": true, - "description": "A list of refunds that have been applied to the charge." - }, - "review": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Review" - } - ], - "nullable": true, - "description": "ID of the review associated with this charge if one exists." - }, - "shipping": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Charge.Shipping" - } - ], - "nullable": true, - "description": "Shipping information for the charge." + "description": "The last name of this cardholder. Required before activating Cards. This field cannot contain any numbers, special characters (except periods, commas, hyphens, spaces and apostrophes) or non-latin letters." }, - "source": { + "verification": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.CustomerSource" - } - ], - "nullable": true, - "description": "This is a legacy field that will be removed in the future. It contains the Source, Card, or BankAccount object used for the charge. For details about the payment method used for this charge, refer to `payment_method` or `payment_method_details` instead." - }, - "source_transfer": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Transfer" + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder.Individual.Verification" } ], "nullable": true, - "description": "The transfer ID which created this charge. Only present if the charge came from another Stripe account. [See the Connect documentation](https://docs.stripe.com/connect/destination-charges) for details." - }, - "statement_descriptor": { - "type": "string", - "nullable": true, - "description": "For a non-card charge, text that appears on the customer's statement as the statement descriptor. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors).\n\nFor a card charge, this value is ignored unless you don't specify a `statement_descriptor_suffix`, in which case this value is used as the suffix." - }, - "statement_descriptor_suffix": { - "type": "string", - "nullable": true, - "description": "Provides information about a card charge. Concatenated to the account's [statement descriptor prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) to form the complete statement descriptor that appears on the customer's statement. If the account has no prefix value, the suffix is concatenated to the account's statement descriptor." - }, - "status": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.Status", - "description": "The status of the payment is either `succeeded`, `pending`, or `failed`." - }, - "transfer": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Transfer" - } - ], - "description": "ID of the transfer to the `destination` account (only applicable if the charge was created using the `destination` parameter)." - }, - "transfer_data": { + "description": "Government-issued ID document for this cardholder." + } + }, + "required": [ + "dob", + "first_name", + "last_name", + "verification" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Issuing.Cardholder.PreferredLocale": { + "type": "string", + "enum": [ + "de", + "en", + "es", + "fr", + "it" + ] + }, + "stripe.Stripe.Issuing.Cardholder.Requirements.DisabledReason": { + "type": "string", + "enum": [ + "listed", + "rejected.listed", + "requirements.past_due", + "under_review" + ] + }, + "stripe.Stripe.Issuing.Cardholder.Requirements.PastDue": { + "type": "string", + "enum": [ + "company.tax_id", + "individual.card_issuing.user_terms_acceptance.date", + "individual.card_issuing.user_terms_acceptance.ip", + "individual.dob.day", + "individual.dob.month", + "individual.dob.year", + "individual.first_name", + "individual.last_name", + "individual.verification.document" + ] + }, + "stripe.Stripe.Issuing.Cardholder.Requirements": { + "properties": { + "disabled_reason": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Charge.TransferData" + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder.Requirements.DisabledReason" } ], "nullable": true, - "description": "An optional dictionary including the account to automatically transfer to as part of a destination charge. [See the Connect documentation](https://stripe.com/docs/connect/destination-charges) for details." + "description": "If `disabled_reason` is present, all cards will decline authorizations with `cardholder_verification_required` reason." }, - "transfer_group": { - "type": "string", + "past_due": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder.Requirements.PastDue" + }, + "type": "array", "nullable": true, - "description": "A string that identifies this transaction as part of a group. See the [Connect documentation](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-options) for details." + "description": "Array of fields that need to be collected in order to verify and re-enable the cardholder." } }, "required": [ - "id", - "object", - "amount", - "amount_captured", - "amount_refunded", - "application", - "application_fee", - "application_fee_amount", - "balance_transaction", - "billing_details", - "calculated_statement_descriptor", - "captured", - "created", - "currency", - "customer", - "description", - "disputed", - "failure_balance_transaction", - "failure_code", - "failure_message", - "fraud_details", - "invoice", - "livemode", - "metadata", - "on_behalf_of", - "outcome", - "paid", - "payment_intent", - "payment_method", - "payment_method_details", - "receipt_email", - "receipt_number", - "receipt_url", - "refunded", - "review", - "shipping", - "source", - "source_transfer", - "statement_descriptor", - "statement_descriptor_suffix", - "status", - "transfer_data", - "transfer_group" + "disabled_reason", + "past_due" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.ConnectCollectionTransfer": { - "description": "The ConnectCollectionTransfer object.", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." - }, - "object": { - "type": "string", - "enum": [ - "connect_collection_transfer" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." - }, - "amount": { - "type": "number", - "format": "double", - "description": "Amount transferred, in cents (or local equivalent)." - }, - "currency": { - "type": "string", - "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." - }, - "destination": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Account" - } - ], - "description": "ID of the account that funds are being collected for." - }, - "livemode": { - "type": "boolean", - "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." - } - }, - "required": [ - "id", - "object", - "amount", - "currency", - "destination", - "livemode" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.BalanceTransaction": { - "description": "Balance transactions represent funds moving through your Stripe account.\nStripe creates them for every type of transaction that enters or leaves your Stripe account balance.\n\nRelated guide: [Balance transaction types](https://stripe.com/docs/reports/balance-transaction-types)", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." - }, - "object": { - "type": "string", - "enum": [ - "balance_transaction" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." - }, - "amount": { - "type": "number", - "format": "double", - "description": "Gross amount of this transaction (in cents (or local equivalent)). A positive value represents funds charged to another party, and a negative value represents funds sent to another party." - }, - "available_on": { - "type": "number", - "format": "double", - "description": "The date that the transaction's net funds become available in the Stripe balance." - }, - "created": { - "type": "number", - "format": "double", - "description": "Time at which the object was created. Measured in seconds since the Unix epoch." - }, - "currency": { - "type": "string", - "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." - }, - "description": { - "type": "string", - "nullable": true, - "description": "An arbitrary string attached to the object. Often useful for displaying to users." - }, - "exchange_rate": { - "type": "number", - "format": "double", - "nullable": true, - "description": "If applicable, this transaction uses an exchange rate. If money converts from currency A to currency B, then the `amount` in currency A, multipled by the `exchange_rate`, equals the `amount` in currency B. For example, if you charge a customer 10.00 EUR, the PaymentIntent's `amount` is `1000` and `currency` is `eur`. If this converts to 12.34 USD in your Stripe account, the BalanceTransaction's `amount` is `1234`, its `currency` is `usd`, and the `exchange_rate` is `1.234`." - }, - "fee": { - "type": "number", - "format": "double", - "description": "Fees (in cents (or local equivalent)) paid for this transaction. Represented as a positive integer when assessed." - }, - "fee_details": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.BalanceTransaction.FeeDetail" - }, - "type": "array", - "description": "Detailed breakdown of fees (in cents (or local equivalent)) paid for this transaction." - }, - "net": { - "type": "number", - "format": "double", - "description": "Net impact to a Stripe balance (in cents (or local equivalent)). A positive value represents incrementing a Stripe balance, and a negative value decrementing a Stripe balance. You can calculate the net impact of a transaction on a balance by `amount` - `fee`" - }, - "reporting_category": { - "type": "string", - "description": "Learn more about how [reporting categories](https://stripe.com/docs/reports/reporting-categories) can help you understand balance transactions from an accounting perspective." - }, - "source": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.BalanceTransactionSource" - } - ], - "nullable": true, - "description": "This transaction relates to the Stripe object." - }, - "status": { - "type": "string", - "description": "The transaction's net funds status in the Stripe balance, which are either `available` or `pending`." - }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.BalanceTransaction.Type", - "description": "Transaction type: `adjustment`, `advance`, `advance_funding`, `anticipation_repayment`, `application_fee`, `application_fee_refund`, `charge`, `climate_order_purchase`, `climate_order_refund`, `connect_collection_transfer`, `contribution`, `issuing_authorization_hold`, `issuing_authorization_release`, `issuing_dispute`, `issuing_transaction`, `obligation_outbound`, `obligation_reversal_inbound`, `payment`, `payment_failure_refund`, `payment_network_reserve_hold`, `payment_network_reserve_release`, `payment_refund`, `payment_reversal`, `payment_unreconciled`, `payout`, `payout_cancel`, `payout_failure`, `payout_minimum_balance_hold`, `payout_minimum_balance_release`, `refund`, `refund_failure`, `reserve_transaction`, `reserved_funds`, `stripe_fee`, `stripe_fx_fee`, `tax_fee`, `topup`, `topup_reversal`, `transfer`, `transfer_cancel`, `transfer_failure`, or `transfer_refund`. Learn more about [balance transaction types and what they represent](https://stripe.com/docs/reports/balance-transaction-types). To classify transactions for accounting purposes, consider `reporting_category` instead." - } - }, - "required": [ - "id", - "object", - "amount", - "available_on", - "created", - "currency", - "description", - "exchange_rate", - "fee", - "fee_details", - "net", - "reporting_category", - "source", - "status", - "type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.CustomerCashBalanceTransaction": { - "description": "Customers with certain payments enabled have a cash balance, representing funds that were paid\nby the customer to a merchant, but have not yet been allocated to a payment. Cash Balance Transactions\nrepresent when funds are moved into or out of this balance. This includes funding by the customer, allocation\nto payments, and refunds to the customer.", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." - }, - "object": { - "type": "string", - "enum": [ - "customer_cash_balance_transaction" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." - }, - "adjusted_for_overdraft": { - "$ref": "#/components/schemas/stripe.Stripe.CustomerCashBalanceTransaction.AdjustedForOverdraft" - }, - "applied_to_payment": { - "$ref": "#/components/schemas/stripe.Stripe.CustomerCashBalanceTransaction.AppliedToPayment" - }, - "created": { - "type": "number", - "format": "double", - "description": "Time at which the object was created. Measured in seconds since the Unix epoch." - }, - "currency": { - "type": "string", - "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." - }, - "customer": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Customer" - } - ], - "description": "The customer whose available cash balance changed as a result of this transaction." - }, - "ending_balance": { - "type": "number", - "format": "double", - "description": "The total available cash balance for the specified currency after this transaction was applied. Represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal)." - }, - "funded": { - "$ref": "#/components/schemas/stripe.Stripe.CustomerCashBalanceTransaction.Funded" - }, - "livemode": { - "type": "boolean", - "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." - }, - "net_amount": { - "type": "number", - "format": "double", - "description": "The amount by which the cash balance changed, represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). A positive value represents funds being added to the cash balance, a negative value represents funds being removed from the cash balance." - }, - "refunded_from_payment": { - "$ref": "#/components/schemas/stripe.Stripe.CustomerCashBalanceTransaction.RefundedFromPayment" - }, - "transferred_to_balance": { - "$ref": "#/components/schemas/stripe.Stripe.CustomerCashBalanceTransaction.TransferredToBalance" - }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.CustomerCashBalanceTransaction.Type", - "description": "The type of the cash balance transaction. New types may be added in future. See [Customer Balance](https://stripe.com/docs/payments/customer-balance#types) to learn more about these types." - }, - "unapplied_from_payment": { - "$ref": "#/components/schemas/stripe.Stripe.CustomerCashBalanceTransaction.UnappliedFromPayment" - } - }, - "required": [ - "id", - "object", - "created", - "currency", - "customer", - "ending_balance", - "livemode", - "net_amount", - "type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.CustomerCashBalanceTransaction.AdjustedForOverdraft": { - "properties": { - "balance_transaction": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.BalanceTransaction" - } - ], - "description": "The [Balance Transaction](https://stripe.com/docs/api/balance_transactions/object) that corresponds to funds taken out of your Stripe balance." - }, - "linked_transaction": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.CustomerCashBalanceTransaction" - } - ], - "description": "The [Cash Balance Transaction](https://stripe.com/docs/api/cash_balance_transactions/object) that brought the customer balance negative, triggering the clawback of funds." - } - }, - "required": [ - "balance_transaction", - "linked_transaction" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentIntent": { - "description": "A PaymentIntent guides you through the process of collecting a payment from your customer.\nWe recommend that you create exactly one PaymentIntent for each order or\ncustomer session in your system. You can reference the PaymentIntent later to\nsee the history of payment attempts for a particular session.\n\nA PaymentIntent transitions through\n[multiple statuses](https://stripe.com/docs/payments/intents#intent-statuses)\nthroughout its lifetime as it interfaces with Stripe.js to perform\nauthentication flows and ultimately creates at most one successful charge.\n\nRelated guide: [Payment Intents API](https://stripe.com/docs/payments/payment-intents)", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." - }, - "object": { - "type": "string", - "enum": [ - "payment_intent" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." - }, - "amount": { - "type": "number", - "format": "double", - "description": "Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99)." - }, - "amount_capturable": { - "type": "number", - "format": "double", - "description": "Amount that can be captured from this PaymentIntent." - }, - "amount_details": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.AmountDetails" - }, - "amount_received": { - "type": "number", - "format": "double", - "description": "Amount that this PaymentIntent collects." - }, - "application": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Application" - } - ], - "nullable": true, - "description": "ID of the Connect application that created the PaymentIntent." - }, - "application_fee_amount": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total payment amount. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts)." - }, - "automatic_payment_methods": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.AutomaticPaymentMethods" - } - ], - "nullable": true, - "description": "Settings to configure compatible payment methods from the [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods)" - }, - "canceled_at": { - "type": "number", - "format": "double", - "nullable": true, - "description": "Populated when `status` is `canceled`, this is the time at which the PaymentIntent was canceled. Measured in seconds since the Unix epoch." - }, - "cancellation_reason": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.CancellationReason" - } - ], - "nullable": true, - "description": "Reason for cancellation of this PaymentIntent, either user-provided (`duplicate`, `fraudulent`, `requested_by_customer`, or `abandoned`) or generated by Stripe internally (`failed_invoice`, `void_invoice`, or `automatic`)." - }, - "capture_method": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.CaptureMethod", - "description": "Controls when the funds will be captured from the customer's account." - }, - "client_secret": { - "type": "string", - "nullable": true, - "description": "The client secret of this PaymentIntent. Used for client-side retrieval using a publishable key.\n\nThe client secret can be used to complete a payment from your frontend. It should not be stored, logged, or exposed to anyone other than the customer. Make sure that you have TLS enabled on any page that includes the client secret.\n\nRefer to our docs to [accept a payment](https://stripe.com/docs/payments/accept-a-payment?ui=elements) and learn about how `client_secret` should be handled." - }, - "confirmation_method": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.ConfirmationMethod", - "description": "Describes whether we can confirm this PaymentIntent automatically, or if it requires customer action to confirm the payment." - }, - "created": { - "type": "number", - "format": "double", - "description": "Time at which the object was created. Measured in seconds since the Unix epoch." - }, - "currency": { - "type": "string", - "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." - }, - "customer": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Customer" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.DeletedCustomer" - } - ], - "nullable": true, - "description": "ID of the Customer this PaymentIntent belongs to, if one exists.\n\nPayment methods attached to other Customers cannot be used with this PaymentIntent.\n\nIf [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) is set and this PaymentIntent's payment method is not `card_present`, then the payment method attaches to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete. If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead." - }, - "description": { - "type": "string", - "nullable": true, - "description": "An arbitrary string attached to the object. Often useful for displaying to users." - }, - "invoice": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Invoice" - } - ], - "nullable": true, - "description": "ID of the invoice that created this PaymentIntent, if it exists." - }, - "last_payment_error": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.LastPaymentError" - } - ], - "nullable": true, - "description": "The payment error encountered in the previous PaymentIntent confirmation. It will be cleared if the PaymentIntent is later updated for any reason." - }, - "latest_charge": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Charge" - } - ], - "nullable": true, - "description": "ID of the latest [Charge object](https://stripe.com/docs/api/charges) created by this PaymentIntent. This property is `null` until PaymentIntent confirmation is attempted." - }, - "livemode": { - "type": "boolean", - "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." - }, - "metadata": { - "$ref": "#/components/schemas/stripe.Stripe.Metadata", - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Learn more about [storing information in metadata](https://stripe.com/docs/payments/payment-intents/creating-payment-intents#storing-information-in-metadata)." - }, - "next_action": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction" - } - ], - "nullable": true, - "description": "If present, this property tells you what actions you need to take in order for your customer to fulfill a payment using the provided source." - }, - "on_behalf_of": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Account" - } - ], - "nullable": true, - "description": "The account (if any) for which the funds of the PaymentIntent are intended. See the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts) for details." - }, - "payment_method": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod" - } - ], - "nullable": true, - "description": "ID of the payment method used in this PaymentIntent." - }, - "payment_method_configuration_details": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodConfigurationDetails" - } - ], - "nullable": true, - "description": "Information about the [payment method configuration](https://stripe.com/docs/api/payment_method_configurations) used for this PaymentIntent." - }, - "payment_method_options": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions" - } - ], - "nullable": true, - "description": "Payment-method-specific configuration for this PaymentIntent." - }, - "payment_method_types": { - "items": { - "type": "string" - }, - "type": "array", - "description": "The list of payment method types (e.g. card) that this PaymentIntent is allowed to use." - }, - "processing": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.Processing" - } - ], - "nullable": true, - "description": "If present, this property tells you about the processing state of the payment." - }, - "receipt_email": { - "type": "string", - "nullable": true, - "description": "Email address that the receipt for the resulting payment will be sent to. If `receipt_email` is specified for a payment in live mode, a receipt will be sent regardless of your [email settings](https://dashboard.stripe.com/account/emails)." - }, - "review": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Review" - } - ], - "nullable": true, - "description": "ID of the review associated with this PaymentIntent, if any." - }, - "setup_future_usage": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.SetupFutureUsage" - } - ], - "nullable": true, - "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." - }, - "shipping": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.Shipping" - } - ], - "nullable": true, - "description": "Shipping information for this PaymentIntent." - }, - "source": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.CustomerSource" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.DeletedCustomerSource" - } - ], - "nullable": true, - "description": "This is a legacy field that will be removed in the future. It is the ID of the Source object that is associated with this PaymentIntent, if one was supplied." - }, - "statement_descriptor": { - "type": "string", - "nullable": true, - "description": "Text that appears on the customer's statement as the statement descriptor for a non-card charge. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors).\n\nSetting this value for a card charge returns an error. For card charges, set the [statement_descriptor_suffix](https://docs.stripe.com/get-started/account/statement-descriptors#dynamic) instead." - }, - "statement_descriptor_suffix": { - "type": "string", - "nullable": true, - "description": "Provides information about a card charge. Concatenated to the account's [statement descriptor prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) to form the complete statement descriptor that appears on the customer's statement." - }, - "status": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.Status", - "description": "Status of this PaymentIntent, one of `requires_payment_method`, `requires_confirmation`, `requires_action`, `processing`, `requires_capture`, `canceled`, or `succeeded`. Read more about each PaymentIntent [status](https://stripe.com/docs/payments/intents#intent-statuses)." - }, - "transfer_data": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.TransferData" - } - ], - "nullable": true, - "description": "The data that automatically creates a Transfer after the payment finalizes. Learn more about the [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts)." - }, - "transfer_group": { - "type": "string", - "nullable": true, - "description": "A string that identifies the resulting payment as part of a group. Learn more about the [use case for connected accounts](https://stripe.com/docs/connect/separate-charges-and-transfers)." - } - }, - "required": [ - "id", - "object", - "amount", - "amount_capturable", - "amount_received", - "application", - "application_fee_amount", - "automatic_payment_methods", - "canceled_at", - "cancellation_reason", - "capture_method", - "client_secret", - "confirmation_method", - "created", - "currency", - "customer", - "description", - "invoice", - "last_payment_error", - "latest_charge", - "livemode", - "metadata", - "next_action", - "on_behalf_of", - "payment_method", - "payment_method_configuration_details", - "payment_method_options", - "payment_method_types", - "processing", - "receipt_email", - "review", - "setup_future_usage", - "shipping", - "source", - "statement_descriptor", - "statement_descriptor_suffix", - "status", - "transfer_data", - "transfer_group" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.CustomerCashBalanceTransaction.AppliedToPayment": { - "properties": { - "payment_intent": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent" - } - ], - "description": "The [Payment Intent](https://stripe.com/docs/api/payment_intents/object) that funds were applied to." - } - }, - "required": [ - "payment_intent" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.EuBankTransfer": { - "properties": { - "bic": { - "type": "string", - "nullable": true, - "description": "The BIC of the bank of the sender of the funding." - }, - "iban_last4": { - "type": "string", - "nullable": true, - "description": "The last 4 digits of the IBAN of the sender of the funding." - }, - "sender_name": { - "type": "string", - "nullable": true, - "description": "The full name of the sender, as supplied by the sending bank." - } - }, - "required": [ - "bic", - "iban_last4", - "sender_name" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.GbBankTransfer": { - "properties": { - "account_number_last4": { - "type": "string", - "nullable": true, - "description": "The last 4 digits of the account number of the sender of the funding." - }, - "sender_name": { - "type": "string", - "nullable": true, - "description": "The full name of the sender, as supplied by the sending bank." - }, - "sort_code": { - "type": "string", - "nullable": true, - "description": "The sort code of the bank of the sender of the funding" - } - }, - "required": [ - "account_number_last4", - "sender_name", - "sort_code" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.JpBankTransfer": { - "properties": { - "sender_bank": { - "type": "string", - "nullable": true, - "description": "The name of the bank of the sender of the funding." - }, - "sender_branch": { - "type": "string", - "nullable": true, - "description": "The name of the bank branch of the sender of the funding." - }, - "sender_name": { - "type": "string", - "nullable": true, - "description": "The full name of the sender, as supplied by the sending bank." - } - }, - "required": [ - "sender_bank", - "sender_branch", - "sender_name" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.Type": { - "type": "string", - "enum": [ - "eu_bank_transfer", - "gb_bank_transfer", - "jp_bank_transfer", - "mx_bank_transfer", - "us_bank_transfer" - ] - }, - "stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.UsBankTransfer.Network": { - "type": "string", - "enum": [ - "ach", - "domestic_wire_us", - "swift" - ] - }, - "stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.UsBankTransfer": { - "properties": { - "network": { - "$ref": "#/components/schemas/stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.UsBankTransfer.Network", - "description": "The banking network used for this funding." - }, - "sender_name": { - "type": "string", - "nullable": true, - "description": "The full name of the sender, as supplied by the sending bank." - } - }, - "required": [ - "sender_name" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer": { - "properties": { - "eu_bank_transfer": { - "$ref": "#/components/schemas/stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.EuBankTransfer" - }, - "gb_bank_transfer": { - "$ref": "#/components/schemas/stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.GbBankTransfer" - }, - "jp_bank_transfer": { - "$ref": "#/components/schemas/stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.JpBankTransfer" - }, - "reference": { - "type": "string", - "nullable": true, - "description": "The user-supplied reference field on the bank transfer." - }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.Type", - "description": "The funding method type used to fund the customer balance. Permitted values include: `eu_bank_transfer`, `gb_bank_transfer`, `jp_bank_transfer`, `mx_bank_transfer`, or `us_bank_transfer`." - }, - "us_bank_transfer": { - "$ref": "#/components/schemas/stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer.UsBankTransfer" - } - }, - "required": [ - "reference", - "type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.CustomerCashBalanceTransaction.Funded": { - "properties": { - "bank_transfer": { - "$ref": "#/components/schemas/stripe.Stripe.CustomerCashBalanceTransaction.Funded.BankTransfer" - } - }, - "required": [ - "bank_transfer" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Refund.DestinationDetails.Affirm": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Refund.DestinationDetails.AfterpayClearpay": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Refund.DestinationDetails.Alipay": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Refund.DestinationDetails.Alma": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Refund.DestinationDetails.AmazonPay": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Refund.DestinationDetails.AuBankTransfer": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Refund.DestinationDetails.Blik": { - "properties": { - "network_decline_code": { - "type": "string", - "nullable": true, - "description": "For refunds declined by the network, a decline code provided by the network which indicates the reason the refund failed." - }, - "reference": { - "type": "string", - "nullable": true, - "description": "The reference assigned to the refund." - }, - "reference_status": { - "type": "string", - "nullable": true, - "description": "Status of the reference on the refund. This can be `pending`, `available` or `unavailable`." - } - }, - "required": [ - "network_decline_code", - "reference", - "reference_status" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Refund.DestinationDetails.BrBankTransfer": { - "properties": { - "reference": { - "type": "string", - "nullable": true, - "description": "The reference assigned to the refund." - }, - "reference_status": { - "type": "string", - "nullable": true, - "description": "Status of the reference on the refund. This can be `pending`, `available` or `unavailable`." - } - }, - "required": [ - "reference", - "reference_status" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Refund.DestinationDetails.Card.Type": { - "type": "string", - "enum": [ - "pending", - "refund", - "reversal" - ] - }, - "stripe.Stripe.Refund.DestinationDetails.Card": { - "properties": { - "reference": { - "type": "string", - "description": "Value of the reference number assigned to the refund." - }, - "reference_status": { - "type": "string", - "description": "Status of the reference number on the refund. This can be `pending`, `available` or `unavailable`." - }, - "reference_type": { - "type": "string", - "description": "Type of the reference number assigned to the refund." - }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.Card.Type", - "description": "The type of refund. This can be `refund`, `reversal`, or `pending`." - } - }, - "required": [ - "type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Refund.DestinationDetails.Cashapp": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Refund.DestinationDetails.CustomerCashBalance": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Refund.DestinationDetails.Eps": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Refund.DestinationDetails.EuBankTransfer": { - "properties": { - "reference": { - "type": "string", - "nullable": true, - "description": "The reference assigned to the refund." - }, - "reference_status": { - "type": "string", - "nullable": true, - "description": "Status of the reference on the refund. This can be `pending`, `available` or `unavailable`." - } - }, - "required": [ - "reference", - "reference_status" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Refund.DestinationDetails.GbBankTransfer": { - "properties": { - "reference": { - "type": "string", - "nullable": true, - "description": "The reference assigned to the refund." - }, - "reference_status": { - "type": "string", - "nullable": true, - "description": "Status of the reference on the refund. This can be `pending`, `available` or `unavailable`." - } - }, - "required": [ - "reference", - "reference_status" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Refund.DestinationDetails.Giropay": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Refund.DestinationDetails.Grabpay": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Refund.DestinationDetails.JpBankTransfer": { - "properties": { - "reference": { - "type": "string", - "nullable": true, - "description": "The reference assigned to the refund." - }, - "reference_status": { - "type": "string", - "nullable": true, - "description": "Status of the reference on the refund. This can be `pending`, `available` or `unavailable`." - } - }, - "required": [ - "reference", - "reference_status" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Refund.DestinationDetails.Klarna": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Refund.DestinationDetails.Multibanco": { - "properties": { - "reference": { - "type": "string", - "nullable": true, - "description": "The reference assigned to the refund." - }, - "reference_status": { - "type": "string", - "nullable": true, - "description": "Status of the reference on the refund. This can be `pending`, `available` or `unavailable`." - } - }, - "required": [ - "reference", - "reference_status" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Refund.DestinationDetails.MxBankTransfer": { - "properties": { - "reference": { - "type": "string", - "nullable": true, - "description": "The reference assigned to the refund." - }, - "reference_status": { - "type": "string", - "nullable": true, - "description": "Status of the reference on the refund. This can be `pending`, `available` or `unavailable`." - } - }, - "required": [ - "reference", - "reference_status" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Refund.DestinationDetails.P24": { - "properties": { - "reference": { - "type": "string", - "nullable": true, - "description": "The reference assigned to the refund." - }, - "reference_status": { - "type": "string", - "nullable": true, - "description": "Status of the reference on the refund. This can be `pending`, `available` or `unavailable`." - } - }, - "required": [ - "reference", - "reference_status" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Refund.DestinationDetails.Paynow": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Refund.DestinationDetails.Paypal": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Refund.DestinationDetails.Pix": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Refund.DestinationDetails.Revolut": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Refund.DestinationDetails.Sofort": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Refund.DestinationDetails.Swish": { - "properties": { - "network_decline_code": { - "type": "string", - "nullable": true, - "description": "For refunds declined by the network, a decline code provided by the network which indicates the reason the refund failed." - }, - "reference": { - "type": "string", - "nullable": true, - "description": "The reference assigned to the refund." - }, - "reference_status": { - "type": "string", - "nullable": true, - "description": "Status of the reference on the refund. This can be `pending`, `available` or `unavailable`." - } - }, - "required": [ - "network_decline_code", - "reference", - "reference_status" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Refund.DestinationDetails.ThBankTransfer": { - "properties": { - "reference": { - "type": "string", - "nullable": true, - "description": "The reference assigned to the refund." - }, - "reference_status": { - "type": "string", - "nullable": true, - "description": "Status of the reference on the refund. This can be `pending`, `available` or `unavailable`." - } - }, - "required": [ - "reference", - "reference_status" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Refund.DestinationDetails.UsBankTransfer": { - "properties": { - "reference": { - "type": "string", - "nullable": true, - "description": "The reference assigned to the refund." - }, - "reference_status": { - "type": "string", - "nullable": true, - "description": "Status of the reference on the refund. This can be `pending`, `available` or `unavailable`." - } - }, - "required": [ - "reference", - "reference_status" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Refund.DestinationDetails.WechatPay": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Refund.DestinationDetails.Zip": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Refund.DestinationDetails": { - "properties": { - "affirm": { - "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.Affirm" - }, - "afterpay_clearpay": { - "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.AfterpayClearpay" - }, - "alipay": { - "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.Alipay" - }, - "alma": { - "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.Alma" - }, - "amazon_pay": { - "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.AmazonPay" - }, - "au_bank_transfer": { - "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.AuBankTransfer" - }, - "blik": { - "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.Blik" - }, - "br_bank_transfer": { - "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.BrBankTransfer" - }, - "card": { - "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.Card" - }, - "cashapp": { - "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.Cashapp" - }, - "customer_cash_balance": { - "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.CustomerCashBalance" - }, - "eps": { - "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.Eps" - }, - "eu_bank_transfer": { - "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.EuBankTransfer" - }, - "gb_bank_transfer": { - "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.GbBankTransfer" - }, - "giropay": { - "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.Giropay" - }, - "grabpay": { - "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.Grabpay" - }, - "jp_bank_transfer": { - "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.JpBankTransfer" - }, - "klarna": { - "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.Klarna" - }, - "multibanco": { - "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.Multibanco" - }, - "mx_bank_transfer": { - "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.MxBankTransfer" - }, - "p24": { - "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.P24" - }, - "paynow": { - "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.Paynow" - }, - "paypal": { - "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.Paypal" - }, - "pix": { - "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.Pix" - }, - "revolut": { - "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.Revolut" - }, - "sofort": { - "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.Sofort" - }, - "swish": { - "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.Swish" - }, - "th_bank_transfer": { - "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.ThBankTransfer" - }, - "type": { - "type": "string", - "description": "The type of transaction-specific details of the payment method used in the refund (e.g., `card`). An additional hash is included on `destination_details` with a name matching this value. It contains information specific to the refund transaction." - }, - "us_bank_transfer": { - "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.UsBankTransfer" - }, - "wechat_pay": { - "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.WechatPay" - }, - "zip": { - "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails.Zip" - } - }, - "required": [ - "type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Refund.NextAction.DisplayDetails.EmailSent": { - "properties": { - "email_sent_at": { - "type": "number", - "format": "double", - "description": "The timestamp when the email was sent." - }, - "email_sent_to": { - "type": "string", - "description": "The recipient's email address." - } - }, - "required": [ - "email_sent_at", - "email_sent_to" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Refund.NextAction.DisplayDetails": { - "properties": { - "email_sent": { - "$ref": "#/components/schemas/stripe.Stripe.Refund.NextAction.DisplayDetails.EmailSent" - }, - "expires_at": { - "type": "number", - "format": "double", - "description": "The expiry timestamp." - } - }, - "required": [ - "email_sent", - "expires_at" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Refund.NextAction": { - "properties": { - "display_details": { - "$ref": "#/components/schemas/stripe.Stripe.Refund.NextAction.DisplayDetails" - }, - "type": { - "type": "string", - "description": "Type of the next action to perform." - } - }, - "required": [ - "type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Refund.Reason": { - "type": "string", - "enum": [ - "duplicate", - "expired_uncaptured_charge", - "fraudulent", - "requested_by_customer" - ] - }, - "stripe.Stripe.Refund": { - "description": "Refund objects allow you to refund a previously created charge that isn't\nrefunded yet. Funds are refunded to the credit or debit card that's\ninitially charged.\n\nRelated guide: [Refunds](https://stripe.com/docs/refunds)", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." - }, - "object": { - "type": "string", - "enum": [ - "refund" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." - }, - "amount": { - "type": "number", - "format": "double", - "description": "Amount, in cents (or local equivalent)." - }, - "balance_transaction": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.BalanceTransaction" - } - ], - "nullable": true, - "description": "Balance transaction that describes the impact on your account balance." - }, - "charge": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Charge" - } - ], - "nullable": true, - "description": "ID of the charge that's refunded." - }, - "created": { - "type": "number", - "format": "double", - "description": "Time at which the object was created. Measured in seconds since the Unix epoch." - }, - "currency": { - "type": "string", - "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." - }, - "description": { - "type": "string", - "description": "An arbitrary string attached to the object. You can use this for displaying to users (available on non-card refunds only)." - }, - "destination_details": { - "$ref": "#/components/schemas/stripe.Stripe.Refund.DestinationDetails" - }, - "failure_balance_transaction": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.BalanceTransaction" - } - ], - "description": "After the refund fails, this balance transaction describes the adjustment made on your account balance that reverses the initial balance transaction." - }, - "failure_reason": { - "type": "string", - "description": "Provides the reason for the refund failure. Possible values are: `lost_or_stolen_card`, `expired_or_canceled_card`, `charge_for_pending_refund_disputed`, `insufficient_funds`, `declined`, `merchant_request`, or `unknown`." - }, - "instructions_email": { - "type": "string", - "description": "For payment methods without native refund support (for example, Konbini, PromptPay), provide an email address for the customer to receive refund instructions." - }, - "metadata": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Metadata" - } - ], - "nullable": true, - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." - }, - "next_action": { - "$ref": "#/components/schemas/stripe.Stripe.Refund.NextAction" - }, - "payment_intent": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent" - } - ], - "nullable": true, - "description": "ID of the PaymentIntent that's refunded." - }, - "reason": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Refund.Reason" - } - ], - "nullable": true, - "description": "Reason for the refund, which is either user-provided (`duplicate`, `fraudulent`, or `requested_by_customer`) or generated by Stripe internally (`expired_uncaptured_charge`)." - }, - "receipt_number": { - "type": "string", - "nullable": true, - "description": "This is the transaction number that appears on email receipts sent for this refund." - }, - "source_transfer_reversal": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.TransferReversal" - } - ], - "nullable": true, - "description": "The transfer reversal that's associated with the refund. Only present if the charge came from another Stripe account." - }, - "status": { - "type": "string", - "nullable": true, - "description": "Status of the refund. This can be `pending`, `requires_action`, `succeeded`, `failed`, or `canceled`. Learn more about [failed refunds](https://stripe.com/docs/refunds#failed-refunds)." - }, - "transfer_reversal": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.TransferReversal" - } - ], - "nullable": true, - "description": "This refers to the transfer reversal object if the accompanying transfer reverses. This is only applicable if the charge was created using the destination parameter." - } - }, - "required": [ - "id", - "object", - "amount", - "balance_transaction", - "charge", - "created", - "currency", - "metadata", - "payment_intent", - "reason", - "receipt_number", - "source_transfer_reversal", - "status", - "transfer_reversal" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.TransferReversal": { - "description": "[Stripe Connect](https://stripe.com/docs/connect) platforms can reverse transfers made to a\nconnected account, either entirely or partially, and can also specify whether\nto refund any related application fees. Transfer reversals add to the\nplatform's balance and subtract from the destination account's balance.\n\nReversing a transfer that was made for a [destination\ncharge](https://stripe.com/docs/connect/destination-charges) is allowed only up to the amount of\nthe charge. It is possible to reverse a\n[transfer_group](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-options)\ntransfer only if the destination account has enough balance to cover the\nreversal.\n\nRelated guide: [Reverse transfers](https://stripe.com/docs/connect/separate-charges-and-transfers#reverse-transfers)", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." - }, - "object": { - "type": "string", - "enum": [ - "transfer_reversal" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." - }, - "amount": { - "type": "number", - "format": "double", - "description": "Amount, in cents (or local equivalent)." - }, - "balance_transaction": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.BalanceTransaction" - } - ], - "nullable": true, - "description": "Balance transaction that describes the impact on your account balance." - }, - "created": { - "type": "number", - "format": "double", - "description": "Time at which the object was created. Measured in seconds since the Unix epoch." - }, - "currency": { - "type": "string", - "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." - }, - "destination_payment_refund": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Refund" - } - ], - "nullable": true, - "description": "Linked payment refund for the transfer reversal." - }, - "metadata": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Metadata" - } - ], - "nullable": true, - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." - }, - "source_refund": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Refund" - } - ], - "nullable": true, - "description": "ID of the refund responsible for the transfer reversal." - }, - "transfer": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Transfer" - } - ], - "description": "ID of the transfer that was reversed." - } - }, - "required": [ - "id", - "object", - "amount", - "balance_transaction", - "created", - "currency", - "destination_payment_refund", - "metadata", - "source_refund", - "transfer" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.ApiList_stripe.Stripe.TransferReversal_": { - "description": "A container for paginated lists of objects.\nThe array of objects is on the `.data` property,\nand `.has_more` indicates whether there are additional objects beyond the end of this list.\n\nLearn more in Stripe's [pagination docs](https://stripe.com/docs/api/pagination?lang=node)\nor, when iterating over many items, try [auto-pagination](https://github.com/stripe/stripe-node#auto-pagination) instead.", - "properties": { - "object": { - "type": "string", - "enum": [ - "list" - ], - "nullable": false - }, - "data": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.TransferReversal" - }, - "type": "array" - }, - "has_more": { - "type": "boolean", - "description": "True if this list has another page of items after this one that can be fetched." - }, - "url": { - "type": "string", - "description": "The URL where this list can be accessed." - } - }, - "required": [ - "object", - "data", - "has_more", - "url" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Transfer": { - "description": "A `Transfer` object is created when you move funds between Stripe accounts as\npart of Connect.\n\nBefore April 6, 2017, transfers also represented movement of funds from a\nStripe account to a card or bank account. This behavior has since been split\nout into a [Payout](https://stripe.com/docs/api#payout_object) object, with corresponding payout endpoints. For more\ninformation, read about the\n[transfer/payout split](https://stripe.com/docs/transfer-payout-split).\n\nRelated guide: [Creating separate charges and transfers](https://stripe.com/docs/connect/separate-charges-and-transfers)", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." - }, - "object": { - "type": "string", - "enum": [ - "transfer" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." - }, - "amount": { - "type": "number", - "format": "double", - "description": "Amount in cents (or local equivalent) to be transferred." - }, - "amount_reversed": { - "type": "number", - "format": "double", - "description": "Amount in cents (or local equivalent) reversed (can be less than the amount attribute on the transfer if a partial reversal was issued)." - }, - "balance_transaction": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.BalanceTransaction" - } - ], - "nullable": true, - "description": "Balance transaction that describes the impact of this transfer on your account balance." - }, - "created": { - "type": "number", - "format": "double", - "description": "Time that this record of the transfer was first created." - }, - "currency": { - "type": "string", - "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." - }, - "description": { - "type": "string", - "nullable": true, - "description": "An arbitrary string attached to the object. Often useful for displaying to users." - }, - "destination": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Account" - } - ], - "nullable": true, - "description": "ID of the Stripe account the transfer was sent to." - }, - "destination_payment": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Charge" - } - ], - "description": "If the destination is a Stripe account, this will be the ID of the payment that the destination account received for the transfer." - }, - "livemode": { - "type": "boolean", - "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." - }, - "metadata": { - "$ref": "#/components/schemas/stripe.Stripe.Metadata", - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." - }, - "reversals": { - "$ref": "#/components/schemas/stripe.Stripe.ApiList_stripe.Stripe.TransferReversal_", - "description": "A list of reversals that have been applied to the transfer." - }, - "reversed": { - "type": "boolean", - "description": "Whether the transfer has been fully reversed. If the transfer is only partially reversed, this attribute will still be false." - }, - "source_transaction": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Charge" - } - ], - "nullable": true, - "description": "ID of the charge that was used to fund the transfer. If null, the transfer was funded from the available balance." - }, - "source_type": { - "type": "string", - "description": "The source balance this transfer came from. One of `card`, `fpx`, or `bank_account`." - }, - "transfer_group": { - "type": "string", - "nullable": true, - "description": "A string that identifies this transaction as part of a group. See the [Connect documentation](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-options) for details." - } - }, - "required": [ - "id", - "object", - "amount", - "amount_reversed", - "balance_transaction", - "created", - "currency", - "description", - "destination", - "livemode", - "metadata", - "reversals", - "reversed", - "source_transaction", - "transfer_group" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.CustomerCashBalanceTransaction.RefundedFromPayment": { - "properties": { - "refund": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Refund" - } - ], - "description": "The [Refund](https://stripe.com/docs/api/refunds/object) that moved these funds into the customer's cash balance." - } - }, - "required": [ - "refund" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.CustomerCashBalanceTransaction.TransferredToBalance": { - "properties": { - "balance_transaction": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.BalanceTransaction" - } - ], - "description": "The [Balance Transaction](https://stripe.com/docs/api/balance_transactions/object) that corresponds to funds transferred to your Stripe balance." - } - }, - "required": [ - "balance_transaction" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.CustomerCashBalanceTransaction.Type": { - "type": "string", - "enum": [ - "adjusted_for_overdraft", - "applied_to_payment", - "funded", - "funding_reversed", - "refunded_from_payment", - "return_canceled", - "return_initiated", - "transferred_to_balance", - "unapplied_from_payment" - ] - }, - "stripe.Stripe.CustomerCashBalanceTransaction.UnappliedFromPayment": { - "properties": { - "payment_intent": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent" - } - ], - "description": "The [Payment Intent](https://stripe.com/docs/api/payment_intents/object) that funds were unapplied from." - } - }, - "required": [ - "payment_intent" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Dispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3.DisputedTransaction.MerchandiseOrServices": { - "type": "string", - "enum": [ - "merchandise", - "services" - ] - }, - "stripe.Stripe.Dispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3.DisputedTransaction": { - "properties": { - "customer_account_id": { - "type": "string", - "nullable": true, - "description": "User Account ID used to log into business platform. Must be recognizable by the user." - }, - "customer_device_fingerprint": { - "type": "string", - "nullable": true, - "description": "Unique identifier of the cardholder's device derived from a combination of at least two hardware and software attributes. Must be at least 20 characters." - }, - "customer_device_id": { - "type": "string", - "nullable": true, - "description": "Unique identifier of the cardholder's device such as a device serial number (e.g., International Mobile Equipment Identity [IMEI]). Must be at least 15 characters." - }, - "customer_email_address": { - "type": "string", - "nullable": true, - "description": "The email address of the customer." - }, - "customer_purchase_ip": { - "type": "string", - "nullable": true, - "description": "The IP address that the customer used when making the purchase." - }, - "merchandise_or_services": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Dispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3.DisputedTransaction.MerchandiseOrServices" - } - ], - "nullable": true, - "description": "Categorization of disputed payment." - }, - "product_description": { - "type": "string", - "nullable": true, - "description": "A description of the product or service that was sold." - }, - "shipping_address": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Address" - } - ], - "nullable": true, - "description": "The address to which a physical product was shipped. All fields are required for Visa Compelling Evidence 3.0 evidence submission." - } - }, - "required": [ - "customer_account_id", - "customer_device_fingerprint", - "customer_device_id", - "customer_email_address", - "customer_purchase_ip", - "merchandise_or_services", - "product_description", - "shipping_address" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Dispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3.PriorUndisputedTransaction": { - "properties": { - "charge": { - "type": "string", - "description": "Stripe charge ID for the Visa Compelling Evidence 3.0 eligible prior charge." - }, - "customer_account_id": { - "type": "string", - "nullable": true, - "description": "User Account ID used to log into business platform. Must be recognizable by the user." - }, - "customer_device_fingerprint": { - "type": "string", - "nullable": true, - "description": "Unique identifier of the cardholder's device derived from a combination of at least two hardware and software attributes. Must be at least 20 characters." - }, - "customer_device_id": { - "type": "string", - "nullable": true, - "description": "Unique identifier of the cardholder's device such as a device serial number (e.g., International Mobile Equipment Identity [IMEI]). Must be at least 15 characters." - }, - "customer_email_address": { - "type": "string", - "nullable": true, - "description": "The email address of the customer." - }, - "customer_purchase_ip": { - "type": "string", - "nullable": true, - "description": "The IP address that the customer used when making the purchase." - }, - "product_description": { - "type": "string", - "nullable": true, - "description": "A description of the product or service that was sold." - }, - "shipping_address": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Address" - } - ], - "nullable": true, - "description": "The address to which a physical product was shipped. All fields are required for Visa Compelling Evidence 3.0 evidence submission." - } - }, - "required": [ - "charge", - "customer_account_id", - "customer_device_fingerprint", - "customer_device_id", - "customer_email_address", - "customer_purchase_ip", - "product_description", - "shipping_address" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Dispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3": { - "properties": { - "disputed_transaction": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Dispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3.DisputedTransaction" - } - ], - "nullable": true, - "description": "Disputed transaction details for Visa Compelling Evidence 3.0 evidence submission." - }, - "prior_undisputed_transactions": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Dispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3.PriorUndisputedTransaction" - }, - "type": "array", - "description": "List of exactly two prior undisputed transaction objects for Visa Compelling Evidence 3.0 evidence submission." - } - }, - "required": [ - "disputed_transaction", - "prior_undisputed_transactions" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Dispute.Evidence.EnhancedEvidence.VisaCompliance": { - "properties": { - "fee_acknowledged": { - "type": "boolean", - "description": "A field acknowledging the fee incurred when countering a Visa compliance dispute. If this field is set to true, evidence can be submitted for the compliance dispute. Stripe collects a 500 USD (or local equivalent) amount to cover the network costs associated with resolving compliance disputes. Stripe refunds the 500 USD network fee if you win the dispute." - } - }, - "required": [ - "fee_acknowledged" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Dispute.Evidence.EnhancedEvidence": { - "properties": { - "visa_compelling_evidence_3": { - "$ref": "#/components/schemas/stripe.Stripe.Dispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3" - }, - "visa_compliance": { - "$ref": "#/components/schemas/stripe.Stripe.Dispute.Evidence.EnhancedEvidence.VisaCompliance" - } - }, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Dispute.Evidence": { - "properties": { - "access_activity_log": { - "type": "string", - "nullable": true, - "description": "Any server or activity logs showing proof that the customer accessed or downloaded the purchased digital product. This information should include IP addresses, corresponding timestamps, and any detailed recorded activity." - }, - "billing_address": { - "type": "string", - "nullable": true, - "description": "The billing address provided by the customer." - }, - "cancellation_policy": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.File" - } - ], - "nullable": true, - "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Your subscription cancellation policy, as shown to the customer." - }, - "cancellation_policy_disclosure": { - "type": "string", - "nullable": true, - "description": "An explanation of how and when the customer was shown your refund policy prior to purchase." - }, - "cancellation_rebuttal": { - "type": "string", - "nullable": true, - "description": "A justification for why the customer's subscription was not canceled." - }, - "customer_communication": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.File" - } - ], - "nullable": true, - "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Any communication with the customer that you feel is relevant to your case. Examples include emails proving that the customer received the product or service, or demonstrating their use of or satisfaction with the product or service." - }, - "customer_email_address": { - "type": "string", - "nullable": true, - "description": "The email address of the customer." - }, - "customer_name": { - "type": "string", - "nullable": true, - "description": "The name of the customer." - }, - "customer_purchase_ip": { - "type": "string", - "nullable": true, - "description": "The IP address that the customer used when making the purchase." - }, - "customer_signature": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.File" - } - ], - "nullable": true, - "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) A relevant document or contract showing the customer's signature." - }, - "duplicate_charge_documentation": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.File" - } - ], - "nullable": true, - "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Documentation for the prior charge that can uniquely identify the charge, such as a receipt, shipping label, work order, etc. This document should be paired with a similar document from the disputed payment that proves the two payments are separate." - }, - "duplicate_charge_explanation": { - "type": "string", - "nullable": true, - "description": "An explanation of the difference between the disputed charge versus the prior charge that appears to be a duplicate." - }, - "duplicate_charge_id": { - "type": "string", - "nullable": true, - "description": "The Stripe ID for the prior charge which appears to be a duplicate of the disputed charge." - }, - "enhanced_evidence": { - "$ref": "#/components/schemas/stripe.Stripe.Dispute.Evidence.EnhancedEvidence" - }, - "product_description": { - "type": "string", - "nullable": true, - "description": "A description of the product or service that was sold." - }, - "receipt": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.File" - } - ], - "nullable": true, - "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Any receipt or message sent to the customer notifying them of the charge." - }, - "refund_policy": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.File" - } - ], - "nullable": true, - "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Your refund policy, as shown to the customer." - }, - "refund_policy_disclosure": { - "type": "string", - "nullable": true, - "description": "Documentation demonstrating that the customer was shown your refund policy prior to purchase." - }, - "refund_refusal_explanation": { - "type": "string", - "nullable": true, - "description": "A justification for why the customer is not entitled to a refund." - }, - "service_date": { - "type": "string", - "nullable": true, - "description": "The date on which the customer received or began receiving the purchased service, in a clear human-readable format." - }, - "service_documentation": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.File" - } - ], - "nullable": true, - "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Documentation showing proof that a service was provided to the customer. This could include a copy of a signed contract, work order, or other form of written agreement." - }, - "shipping_address": { - "type": "string", - "nullable": true, - "description": "The address to which a physical product was shipped. You should try to include as complete address information as possible." - }, - "shipping_carrier": { - "type": "string", - "nullable": true, - "description": "The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. If multiple carriers were used for this purchase, please separate them with commas." - }, - "shipping_date": { - "type": "string", - "nullable": true, - "description": "The date on which a physical product began its route to the shipping address, in a clear human-readable format." - }, - "shipping_documentation": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.File" - } - ], - "nullable": true, - "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Documentation showing proof that a product was shipped to the customer at the same address the customer provided to you. This could include a copy of the shipment receipt, shipping label, etc. It should show the customer's full shipping address, if possible." - }, - "shipping_tracking_number": { - "type": "string", - "nullable": true, - "description": "The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas." - }, - "uncategorized_file": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.File" - } - ], - "nullable": true, - "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Any additional evidence or statements." - }, - "uncategorized_text": { - "type": "string", - "nullable": true, - "description": "Any additional evidence or statements." - } - }, - "required": [ - "access_activity_log", - "billing_address", - "cancellation_policy", - "cancellation_policy_disclosure", - "cancellation_rebuttal", - "customer_communication", - "customer_email_address", - "customer_name", - "customer_purchase_ip", - "customer_signature", - "duplicate_charge_documentation", - "duplicate_charge_explanation", - "duplicate_charge_id", - "enhanced_evidence", - "product_description", - "receipt", - "refund_policy", - "refund_policy_disclosure", - "refund_refusal_explanation", - "service_date", - "service_documentation", - "shipping_address", - "shipping_carrier", - "shipping_date", - "shipping_documentation", - "shipping_tracking_number", - "uncategorized_file", - "uncategorized_text" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility.VisaCompellingEvidence3.RequiredAction": { - "type": "string", - "enum": [ - "missing_customer_identifiers", - "missing_disputed_transaction_description", - "missing_merchandise_or_services", - "missing_prior_undisputed_transaction_description", - "missing_prior_undisputed_transactions" - ] - }, - "stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility.VisaCompellingEvidence3.Status": { - "type": "string", - "enum": [ - "not_qualified", - "qualified", - "requires_action" - ] - }, - "stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility.VisaCompellingEvidence3": { - "properties": { - "required_actions": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility.VisaCompellingEvidence3.RequiredAction" - }, - "type": "array", - "description": "List of actions required to qualify dispute for Visa Compelling Evidence 3.0 evidence submission." - }, - "status": { - "$ref": "#/components/schemas/stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility.VisaCompellingEvidence3.Status", - "description": "Visa Compelling Evidence 3.0 eligibility status." - } - }, - "required": [ - "required_actions", - "status" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility.VisaCompliance.Status": { - "type": "string", - "enum": [ - "fee_acknowledged", - "requires_fee_acknowledgement" - ] - }, - "stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility.VisaCompliance": { - "properties": { - "status": { - "$ref": "#/components/schemas/stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility.VisaCompliance.Status", - "description": "Visa compliance eligibility status." - } - }, - "required": [ - "status" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility": { - "properties": { - "visa_compelling_evidence_3": { - "$ref": "#/components/schemas/stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility.VisaCompellingEvidence3" - }, - "visa_compliance": { - "$ref": "#/components/schemas/stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility.VisaCompliance" - } - }, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Dispute.EvidenceDetails": { - "properties": { - "due_by": { - "type": "number", - "format": "double", - "nullable": true, - "description": "Date by which evidence must be submitted in order to successfully challenge dispute. Will be 0 if the customer's bank or credit card company doesn't allow a response for this particular dispute." - }, - "enhanced_eligibility": { - "$ref": "#/components/schemas/stripe.Stripe.Dispute.EvidenceDetails.EnhancedEligibility" - }, - "has_evidence": { - "type": "boolean", - "description": "Whether evidence has been staged for this dispute." - }, - "past_due": { - "type": "boolean", - "description": "Whether the last evidence submission was submitted past the due date. Defaults to `false` if no evidence submissions have occurred. If `true`, then delivery of the latest evidence is *not* guaranteed." - }, - "submission_count": { - "type": "number", - "format": "double", - "description": "The number of times evidence has been submitted. Typically, you may only submit evidence once." - } - }, - "required": [ - "due_by", - "enhanced_eligibility", - "has_evidence", - "past_due", - "submission_count" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Dispute.PaymentMethodDetails.AmazonPay.DisputeType": { - "type": "string", - "enum": [ - "chargeback", - "claim" - ] - }, - "stripe.Stripe.Dispute.PaymentMethodDetails.AmazonPay": { - "properties": { - "dispute_type": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Dispute.PaymentMethodDetails.AmazonPay.DisputeType" - } - ], - "nullable": true, - "description": "The AmazonPay dispute type, chargeback or claim" - } - }, - "required": [ - "dispute_type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Dispute.PaymentMethodDetails.Card.CaseType": { - "type": "string", - "enum": [ - "chargeback", - "inquiry" - ] - }, - "stripe.Stripe.Dispute.PaymentMethodDetails.Card": { - "properties": { - "brand": { - "type": "string", - "description": "Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`." - }, - "case_type": { - "$ref": "#/components/schemas/stripe.Stripe.Dispute.PaymentMethodDetails.Card.CaseType", - "description": "The type of dispute opened. Different case types may have varying fees and financial impact." - }, - "network_reason_code": { - "type": "string", - "nullable": true, - "description": "The card network's specific dispute reason code, which maps to one of Stripe's primary dispute categories to simplify response guidance. The [Network code map](https://stripe.com/docs/disputes/categories#network-code-map) lists all available dispute reason codes by network." - } - }, - "required": [ - "brand", - "case_type", - "network_reason_code" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Dispute.PaymentMethodDetails.Klarna": { - "properties": { - "reason_code": { - "type": "string", - "nullable": true, - "description": "The reason for the dispute as defined by Klarna" - } - }, - "required": [ - "reason_code" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Dispute.PaymentMethodDetails.Paypal": { - "properties": { - "case_id": { - "type": "string", - "nullable": true, - "description": "The ID of the dispute in PayPal." - }, - "reason_code": { - "type": "string", - "nullable": true, - "description": "The reason for the dispute as defined by PayPal" - } - }, - "required": [ - "case_id", - "reason_code" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Dispute.PaymentMethodDetails.Type": { - "type": "string", - "enum": [ - "amazon_pay", - "card", - "klarna", - "paypal" - ] - }, - "stripe.Stripe.Dispute.PaymentMethodDetails": { - "properties": { - "amazon_pay": { - "$ref": "#/components/schemas/stripe.Stripe.Dispute.PaymentMethodDetails.AmazonPay" - }, - "card": { - "$ref": "#/components/schemas/stripe.Stripe.Dispute.PaymentMethodDetails.Card" - }, - "klarna": { - "$ref": "#/components/schemas/stripe.Stripe.Dispute.PaymentMethodDetails.Klarna" - }, - "paypal": { - "$ref": "#/components/schemas/stripe.Stripe.Dispute.PaymentMethodDetails.Paypal" - }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.Dispute.PaymentMethodDetails.Type", - "description": "Payment method type." - } - }, - "required": [ - "type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Dispute.Status": { - "type": "string", - "enum": [ - "lost", - "needs_response", - "under_review", - "warning_closed", - "warning_needs_response", - "warning_under_review", - "won" - ] - }, - "stripe.Stripe.Dispute": { - "description": "A dispute occurs when a customer questions your charge with their card issuer.\nWhen this happens, you have the opportunity to respond to the dispute with\nevidence that shows that the charge is legitimate.\n\nRelated guide: [Disputes and fraud](https://stripe.com/docs/disputes)", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." - }, - "object": { - "type": "string", - "enum": [ - "dispute" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." - }, - "amount": { - "type": "number", - "format": "double", - "description": "Disputed amount. Usually the amount of the charge, but it can differ (usually because of currency fluctuation or because only part of the order is disputed)." - }, - "balance_transactions": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.BalanceTransaction" - }, - "type": "array", - "description": "List of zero, one, or two balance transactions that show funds withdrawn and reinstated to your Stripe account as a result of this dispute." - }, - "charge": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Charge" - } - ], - "description": "ID of the charge that's disputed." - }, - "created": { - "type": "number", - "format": "double", - "description": "Time at which the object was created. Measured in seconds since the Unix epoch." - }, - "currency": { - "type": "string", - "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." - }, - "enhanced_eligibility_types": { - "items": { - "type": "string", - "enum": [ - "visa_compelling_evidence_3" - ], - "nullable": false - }, - "type": "array", - "description": "List of eligibility types that are included in `enhanced_evidence`." - }, - "evidence": { - "$ref": "#/components/schemas/stripe.Stripe.Dispute.Evidence" - }, - "evidence_details": { - "$ref": "#/components/schemas/stripe.Stripe.Dispute.EvidenceDetails" - }, - "is_charge_refundable": { - "type": "boolean", - "description": "If true, it's still possible to refund the disputed payment. After the payment has been fully refunded, no further funds are withdrawn from your Stripe account as a result of this dispute." - }, - "livemode": { - "type": "boolean", - "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." - }, - "metadata": { - "$ref": "#/components/schemas/stripe.Stripe.Metadata", - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." - }, - "network_reason_code": { - "type": "string", - "nullable": true, - "description": "Network-dependent reason code for the dispute." - }, - "payment_intent": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent" - } - ], - "nullable": true, - "description": "ID of the PaymentIntent that's disputed." - }, - "payment_method_details": { - "$ref": "#/components/schemas/stripe.Stripe.Dispute.PaymentMethodDetails" - }, - "reason": { - "type": "string", - "description": "Reason given by cardholder for dispute. Possible values are `bank_cannot_process`, `check_returned`, `credit_not_processed`, `customer_initiated`, `debit_not_authorized`, `duplicate`, `fraudulent`, `general`, `incorrect_account_details`, `insufficient_funds`, `product_not_received`, `product_unacceptable`, `subscription_canceled`, or `unrecognized`. Learn more about [dispute reasons](https://stripe.com/docs/disputes/categories)." - }, - "status": { - "$ref": "#/components/schemas/stripe.Stripe.Dispute.Status", - "description": "Current status of dispute. Possible values are `warning_needs_response`, `warning_under_review`, `warning_closed`, `needs_response`, `under_review`, `won`, or `lost`." - } - }, - "required": [ - "id", - "object", - "amount", - "balance_transactions", - "charge", - "created", - "currency", - "enhanced_eligibility_types", - "evidence", - "evidence_details", - "is_charge_refundable", - "livemode", - "metadata", - "payment_intent", - "reason", - "status" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.FeeRefund": { - "description": "`Application Fee Refund` objects allow you to refund an application fee that\nhas previously been created but not yet refunded. Funds will be refunded to\nthe Stripe account from which the fee was originally collected.\n\nRelated guide: [Refunding application fees](https://stripe.com/docs/connect/destination-charges#refunding-app-fee)", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." - }, - "object": { - "type": "string", - "enum": [ - "fee_refund" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." - }, - "amount": { - "type": "number", - "format": "double", - "description": "Amount, in cents (or local equivalent)." - }, - "balance_transaction": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.BalanceTransaction" - } - ], - "nullable": true, - "description": "Balance transaction that describes the impact on your account balance." - }, - "created": { - "type": "number", - "format": "double", - "description": "Time at which the object was created. Measured in seconds since the Unix epoch." - }, - "currency": { - "type": "string", - "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." - }, - "fee": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.ApplicationFee" - } - ], - "description": "ID of the application fee that was refunded." - }, - "metadata": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Metadata" - } - ], - "nullable": true, - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." - } - }, - "required": [ - "id", - "object", - "amount", - "balance_transaction", - "created", - "currency", - "fee", - "metadata" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Authorization.AmountDetails": { - "properties": { - "atm_fee": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The fee charged by the ATM for the cash withdrawal." - }, - "cashback_amount": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The amount of cash requested by the cardholder." - } - }, - "required": [ - "atm_fee", - "cashback_amount" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Authorization.AuthorizationMethod": { - "type": "string", - "enum": [ - "chip", - "contactless", - "keyed_in", - "online", - "swipe" - ] - }, - "stripe.Stripe.Issuing.Card.CancellationReason": { - "type": "string", - "enum": [ - "design_rejected", - "lost", - "stolen" - ] - }, - "stripe.Stripe.Issuing.Cardholder.Billing": { - "properties": { - "address": { - "$ref": "#/components/schemas/stripe.Stripe.Address" - } - }, - "required": [ - "address" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Cardholder.Company": { - "properties": { - "tax_id_provided": { - "type": "boolean", - "description": "Whether the company's business ID number was provided." - } - }, - "required": [ - "tax_id_provided" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Cardholder.Individual.CardIssuing.UserTermsAcceptance": { - "properties": { - "date": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The Unix timestamp marking when the cardholder accepted the Authorized User Terms." - }, - "ip": { - "type": "string", - "nullable": true, - "description": "The IP address from which the cardholder accepted the Authorized User Terms." - }, - "user_agent": { - "type": "string", - "nullable": true, - "description": "The user agent of the browser from which the cardholder accepted the Authorized User Terms." - } - }, - "required": [ - "date", - "ip", - "user_agent" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Cardholder.Individual.CardIssuing": { - "properties": { - "user_terms_acceptance": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder.Individual.CardIssuing.UserTermsAcceptance" - } - ], - "nullable": true, - "description": "Information about cardholder acceptance of Celtic [Authorized User Terms](https://stripe.com/docs/issuing/cards#accept-authorized-user-terms). Required for cards backed by a Celtic program." - } - }, - "required": [ - "user_terms_acceptance" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Cardholder.Individual.Dob": { - "properties": { - "day": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The day of birth, between 1 and 31." - }, - "month": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The month of birth, between 1 and 12." - }, - "year": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The four-digit year of birth." - } - }, - "required": [ - "day", - "month", - "year" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Cardholder.Individual.Verification.Document": { - "properties": { - "back": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.File" - } - ], - "nullable": true, - "description": "The back of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`." - }, - "front": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.File" - } - ], - "nullable": true, - "description": "The front of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`." - } - }, - "required": [ - "back", - "front" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Cardholder.Individual.Verification": { - "properties": { - "document": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder.Individual.Verification.Document" - } - ], - "nullable": true, - "description": "An identifying document, either a passport or local ID card." - } - }, - "required": [ - "document" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Cardholder.Individual": { - "properties": { - "card_issuing": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder.Individual.CardIssuing" - } - ], - "nullable": true, - "description": "Information related to the card_issuing program for this cardholder." - }, - "dob": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder.Individual.Dob" - } - ], - "nullable": true, - "description": "The date of birth of this cardholder." - }, - "first_name": { - "type": "string", - "nullable": true, - "description": "The first name of this cardholder. Required before activating Cards. This field cannot contain any numbers, special characters (except periods, commas, hyphens, spaces and apostrophes) or non-latin letters." - }, - "last_name": { - "type": "string", - "nullable": true, - "description": "The last name of this cardholder. Required before activating Cards. This field cannot contain any numbers, special characters (except periods, commas, hyphens, spaces and apostrophes) or non-latin letters." - }, - "verification": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder.Individual.Verification" - } - ], - "nullable": true, - "description": "Government-issued ID document for this cardholder." - } - }, - "required": [ - "dob", - "first_name", - "last_name", - "verification" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Cardholder.PreferredLocale": { - "type": "string", - "enum": [ - "de", - "en", - "es", - "fr", - "it" - ] - }, - "stripe.Stripe.Issuing.Cardholder.Requirements.DisabledReason": { - "type": "string", - "enum": [ - "listed", - "rejected.listed", - "requirements.past_due", - "under_review" - ] - }, - "stripe.Stripe.Issuing.Cardholder.Requirements.PastDue": { - "type": "string", - "enum": [ - "company.tax_id", - "individual.card_issuing.user_terms_acceptance.date", - "individual.card_issuing.user_terms_acceptance.ip", - "individual.dob.day", - "individual.dob.month", - "individual.dob.year", - "individual.first_name", - "individual.last_name", - "individual.verification.document" - ] - }, - "stripe.Stripe.Issuing.Cardholder.Requirements": { - "properties": { - "disabled_reason": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder.Requirements.DisabledReason" - } - ], - "nullable": true, - "description": "If `disabled_reason` is present, all cards will decline authorizations with `cardholder_verification_required` reason." - }, - "past_due": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder.Requirements.PastDue" - }, - "type": "array", - "nullable": true, - "description": "Array of fields that need to be collected in order to verify and re-enable the cardholder." - } - }, - "required": [ - "disabled_reason", - "past_due" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Cardholder.SpendingControls.AllowedCategory": { - "type": "string", - "enum": [ - "ac_refrigeration_repair", - "accounting_bookkeeping_services", - "advertising_services", - "agricultural_cooperative", - "airlines_air_carriers", - "airports_flying_fields", - "ambulance_services", - "amusement_parks_carnivals", - "antique_reproductions", - "antique_shops", - "aquariums", - "architectural_surveying_services", - "art_dealers_and_galleries", - "artists_supply_and_craft_shops", - "auto_and_home_supply_stores", - "auto_body_repair_shops", - "auto_paint_shops", - "auto_service_shops", - "automated_cash_disburse", - "automated_fuel_dispensers", - "automobile_associations", - "automotive_parts_and_accessories_stores", - "automotive_tire_stores", - "bail_and_bond_payments", - "bakeries", - "bands_orchestras", - "barber_and_beauty_shops", - "betting_casino_gambling", - "bicycle_shops", - "billiard_pool_establishments", - "boat_dealers", - "boat_rentals_and_leases", - "book_stores", - "books_periodicals_and_newspapers", - "bowling_alleys", - "bus_lines", - "business_secretarial_schools", - "buying_shopping_services", - "cable_satellite_and_other_pay_television_and_radio", - "camera_and_photographic_supply_stores", - "candy_nut_and_confectionery_stores", - "car_and_truck_dealers_new_used", - "car_and_truck_dealers_used_only", - "car_rental_agencies", - "car_washes", - "carpentry_services", - "carpet_upholstery_cleaning", - "caterers", - "charitable_and_social_service_organizations_fundraising", - "chemicals_and_allied_products", - "child_care_services", - "childrens_and_infants_wear_stores", - "chiropodists_podiatrists", - "chiropractors", - "cigar_stores_and_stands", - "civic_social_fraternal_associations", - "cleaning_and_maintenance", - "clothing_rental", - "colleges_universities", - "commercial_equipment", - "commercial_footwear", - "commercial_photography_art_and_graphics", - "commuter_transport_and_ferries", - "computer_network_services", - "computer_programming", - "computer_repair", - "computer_software_stores", - "computers_peripherals_and_software", - "concrete_work_services", - "construction_materials", - "consulting_public_relations", - "correspondence_schools", - "cosmetic_stores", - "counseling_services", - "country_clubs", - "courier_services", - "court_costs", - "credit_reporting_agencies", - "cruise_lines", - "dairy_products_stores", - "dance_hall_studios_schools", - "dating_escort_services", - "dentists_orthodontists", - "department_stores", - "detective_agencies", - "digital_goods_applications", - "digital_goods_games", - "digital_goods_large_volume", - "digital_goods_media", - "direct_marketing_catalog_merchant", - "direct_marketing_combination_catalog_and_retail_merchant", - "direct_marketing_inbound_telemarketing", - "direct_marketing_insurance_services", - "direct_marketing_other", - "direct_marketing_outbound_telemarketing", - "direct_marketing_subscription", - "direct_marketing_travel", - "discount_stores", - "doctors", - "door_to_door_sales", - "drapery_window_covering_and_upholstery_stores", - "drinking_places", - "drug_stores_and_pharmacies", - "drugs_drug_proprietaries_and_druggist_sundries", - "dry_cleaners", - "durable_goods", - "duty_free_stores", - "eating_places_restaurants", - "educational_services", - "electric_razor_stores", - "electric_vehicle_charging", - "electrical_parts_and_equipment", - "electrical_services", - "electronics_repair_shops", - "electronics_stores", - "elementary_secondary_schools", - "emergency_services_gcas_visa_use_only", - "employment_temp_agencies", - "equipment_rental", - "exterminating_services", - "family_clothing_stores", - "fast_food_restaurants", - "financial_institutions", - "fines_government_administrative_entities", - "fireplace_fireplace_screens_and_accessories_stores", - "floor_covering_stores", - "florists", - "florists_supplies_nursery_stock_and_flowers", - "freezer_and_locker_meat_provisioners", - "fuel_dealers_non_automotive", - "funeral_services_crematories", - "furniture_home_furnishings_and_equipment_stores_except_appliances", - "furniture_repair_refinishing", - "furriers_and_fur_shops", - "general_services", - "gift_card_novelty_and_souvenir_shops", - "glass_paint_and_wallpaper_stores", - "glassware_crystal_stores", - "golf_courses_public", - "government_licensed_horse_dog_racing_us_region_only", - "government_licensed_online_casions_online_gambling_us_region_only", - "government_owned_lotteries_non_us_region", - "government_owned_lotteries_us_region_only", - "government_services", - "grocery_stores_supermarkets", - "hardware_equipment_and_supplies", - "hardware_stores", - "health_and_beauty_spas", - "hearing_aids_sales_and_supplies", - "heating_plumbing_a_c", - "hobby_toy_and_game_shops", - "home_supply_warehouse_stores", - "hospitals", - "hotels_motels_and_resorts", - "household_appliance_stores", - "industrial_supplies", - "information_retrieval_services", - "insurance_default", - "insurance_underwriting_premiums", - "intra_company_purchases", - "jewelry_stores_watches_clocks_and_silverware_stores", - "landscaping_services", - "laundries", - "laundry_cleaning_services", - "legal_services_attorneys", - "luggage_and_leather_goods_stores", - "lumber_building_materials_stores", - "manual_cash_disburse", - "marinas_service_and_supplies", - "marketplaces", - "masonry_stonework_and_plaster", - "massage_parlors", - "medical_and_dental_labs", - "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", - "medical_services", - "membership_organizations", - "mens_and_boys_clothing_and_accessories_stores", - "mens_womens_clothing_stores", - "metal_service_centers", - "miscellaneous", - "miscellaneous_apparel_and_accessory_shops", - "miscellaneous_auto_dealers", - "miscellaneous_business_services", - "miscellaneous_food_stores", - "miscellaneous_general_merchandise", - "miscellaneous_general_services", - "miscellaneous_home_furnishing_specialty_stores", - "miscellaneous_publishing_and_printing", - "miscellaneous_recreation_services", - "miscellaneous_repair_shops", - "miscellaneous_specialty_retail", - "mobile_home_dealers", - "motion_picture_theaters", - "motor_freight_carriers_and_trucking", - "motor_homes_dealers", - "motor_vehicle_supplies_and_new_parts", - "motorcycle_shops_and_dealers", - "motorcycle_shops_dealers", - "music_stores_musical_instruments_pianos_and_sheet_music", - "news_dealers_and_newsstands", - "non_fi_money_orders", - "non_fi_stored_value_card_purchase_load", - "nondurable_goods", - "nurseries_lawn_and_garden_supply_stores", - "nursing_personal_care", - "office_and_commercial_furniture", - "opticians_eyeglasses", - "optometrists_ophthalmologist", - "orthopedic_goods_prosthetic_devices", - "osteopaths", - "package_stores_beer_wine_and_liquor", - "paints_varnishes_and_supplies", - "parking_lots_garages", - "passenger_railways", - "pawn_shops", - "pet_shops_pet_food_and_supplies", - "petroleum_and_petroleum_products", - "photo_developing", - "photographic_photocopy_microfilm_equipment_and_supplies", - "photographic_studios", - "picture_video_production", - "piece_goods_notions_and_other_dry_goods", - "plumbing_heating_equipment_and_supplies", - "political_organizations", - "postal_services_government_only", - "precious_stones_and_metals_watches_and_jewelry", - "professional_services", - "public_warehousing_and_storage", - "quick_copy_repro_and_blueprint", - "railroads", - "real_estate_agents_and_managers_rentals", - "record_stores", - "recreational_vehicle_rentals", - "religious_goods_stores", - "religious_organizations", - "roofing_siding_sheet_metal", - "secretarial_support_services", - "security_brokers_dealers", - "service_stations", - "sewing_needlework_fabric_and_piece_goods_stores", - "shoe_repair_hat_cleaning", - "shoe_stores", - "small_appliance_repair", - "snowmobile_dealers", - "special_trade_services", - "specialty_cleaning", - "sporting_goods_stores", - "sporting_recreation_camps", - "sports_and_riding_apparel_stores", - "sports_clubs_fields", - "stamp_and_coin_stores", - "stationary_office_supplies_printing_and_writing_paper", - "stationery_stores_office_and_school_supply_stores", - "swimming_pools_sales", - "t_ui_travel_germany", - "tailors_alterations", - "tax_payments_government_agencies", - "tax_preparation_services", - "taxicabs_limousines", - "telecommunication_equipment_and_telephone_sales", - "telecommunication_services", - "telegraph_services", - "tent_and_awning_shops", - "testing_laboratories", - "theatrical_ticket_agencies", - "timeshares", - "tire_retreading_and_repair", - "tolls_bridge_fees", - "tourist_attractions_and_exhibits", - "towing_services", - "trailer_parks_campgrounds", - "transportation_services", - "travel_agencies_tour_operators", - "truck_stop_iteration", - "truck_utility_trailer_rentals", - "typesetting_plate_making_and_related_services", - "typewriter_stores", - "u_s_federal_government_agencies_or_departments", - "uniforms_commercial_clothing", - "used_merchandise_and_secondhand_stores", - "utilities", - "variety_stores", - "veterinary_services", - "video_amusement_game_supplies", - "video_game_arcades", - "video_tape_rental_stores", - "vocational_trade_schools", - "watch_jewelry_repair", - "welding_repair", - "wholesale_clubs", - "wig_and_toupee_stores", - "wires_money_orders", - "womens_accessory_and_specialty_shops", - "womens_ready_to_wear_stores", - "wrecking_and_salvage_yards" - ] - }, - "stripe.Stripe.Issuing.Cardholder.SpendingControls.BlockedCategory": { - "type": "string", - "enum": [ - "ac_refrigeration_repair", - "accounting_bookkeeping_services", - "advertising_services", - "agricultural_cooperative", - "airlines_air_carriers", - "airports_flying_fields", - "ambulance_services", - "amusement_parks_carnivals", - "antique_reproductions", - "antique_shops", - "aquariums", - "architectural_surveying_services", - "art_dealers_and_galleries", - "artists_supply_and_craft_shops", - "auto_and_home_supply_stores", - "auto_body_repair_shops", - "auto_paint_shops", - "auto_service_shops", - "automated_cash_disburse", - "automated_fuel_dispensers", - "automobile_associations", - "automotive_parts_and_accessories_stores", - "automotive_tire_stores", - "bail_and_bond_payments", - "bakeries", - "bands_orchestras", - "barber_and_beauty_shops", - "betting_casino_gambling", - "bicycle_shops", - "billiard_pool_establishments", - "boat_dealers", - "boat_rentals_and_leases", - "book_stores", - "books_periodicals_and_newspapers", - "bowling_alleys", - "bus_lines", - "business_secretarial_schools", - "buying_shopping_services", - "cable_satellite_and_other_pay_television_and_radio", - "camera_and_photographic_supply_stores", - "candy_nut_and_confectionery_stores", - "car_and_truck_dealers_new_used", - "car_and_truck_dealers_used_only", - "car_rental_agencies", - "car_washes", - "carpentry_services", - "carpet_upholstery_cleaning", - "caterers", - "charitable_and_social_service_organizations_fundraising", - "chemicals_and_allied_products", - "child_care_services", - "childrens_and_infants_wear_stores", - "chiropodists_podiatrists", - "chiropractors", - "cigar_stores_and_stands", - "civic_social_fraternal_associations", - "cleaning_and_maintenance", - "clothing_rental", - "colleges_universities", - "commercial_equipment", - "commercial_footwear", - "commercial_photography_art_and_graphics", - "commuter_transport_and_ferries", - "computer_network_services", - "computer_programming", - "computer_repair", - "computer_software_stores", - "computers_peripherals_and_software", - "concrete_work_services", - "construction_materials", - "consulting_public_relations", - "correspondence_schools", - "cosmetic_stores", - "counseling_services", - "country_clubs", - "courier_services", - "court_costs", - "credit_reporting_agencies", - "cruise_lines", - "dairy_products_stores", - "dance_hall_studios_schools", - "dating_escort_services", - "dentists_orthodontists", - "department_stores", - "detective_agencies", - "digital_goods_applications", - "digital_goods_games", - "digital_goods_large_volume", - "digital_goods_media", - "direct_marketing_catalog_merchant", - "direct_marketing_combination_catalog_and_retail_merchant", - "direct_marketing_inbound_telemarketing", - "direct_marketing_insurance_services", - "direct_marketing_other", - "direct_marketing_outbound_telemarketing", - "direct_marketing_subscription", - "direct_marketing_travel", - "discount_stores", - "doctors", - "door_to_door_sales", - "drapery_window_covering_and_upholstery_stores", - "drinking_places", - "drug_stores_and_pharmacies", - "drugs_drug_proprietaries_and_druggist_sundries", - "dry_cleaners", - "durable_goods", - "duty_free_stores", - "eating_places_restaurants", - "educational_services", - "electric_razor_stores", - "electric_vehicle_charging", - "electrical_parts_and_equipment", - "electrical_services", - "electronics_repair_shops", - "electronics_stores", - "elementary_secondary_schools", - "emergency_services_gcas_visa_use_only", - "employment_temp_agencies", - "equipment_rental", - "exterminating_services", - "family_clothing_stores", - "fast_food_restaurants", - "financial_institutions", - "fines_government_administrative_entities", - "fireplace_fireplace_screens_and_accessories_stores", - "floor_covering_stores", - "florists", - "florists_supplies_nursery_stock_and_flowers", - "freezer_and_locker_meat_provisioners", - "fuel_dealers_non_automotive", - "funeral_services_crematories", - "furniture_home_furnishings_and_equipment_stores_except_appliances", - "furniture_repair_refinishing", - "furriers_and_fur_shops", - "general_services", - "gift_card_novelty_and_souvenir_shops", - "glass_paint_and_wallpaper_stores", - "glassware_crystal_stores", - "golf_courses_public", - "government_licensed_horse_dog_racing_us_region_only", - "government_licensed_online_casions_online_gambling_us_region_only", - "government_owned_lotteries_non_us_region", - "government_owned_lotteries_us_region_only", - "government_services", - "grocery_stores_supermarkets", - "hardware_equipment_and_supplies", - "hardware_stores", - "health_and_beauty_spas", - "hearing_aids_sales_and_supplies", - "heating_plumbing_a_c", - "hobby_toy_and_game_shops", - "home_supply_warehouse_stores", - "hospitals", - "hotels_motels_and_resorts", - "household_appliance_stores", - "industrial_supplies", - "information_retrieval_services", - "insurance_default", - "insurance_underwriting_premiums", - "intra_company_purchases", - "jewelry_stores_watches_clocks_and_silverware_stores", - "landscaping_services", - "laundries", - "laundry_cleaning_services", - "legal_services_attorneys", - "luggage_and_leather_goods_stores", - "lumber_building_materials_stores", - "manual_cash_disburse", - "marinas_service_and_supplies", - "marketplaces", - "masonry_stonework_and_plaster", - "massage_parlors", - "medical_and_dental_labs", - "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", - "medical_services", - "membership_organizations", - "mens_and_boys_clothing_and_accessories_stores", - "mens_womens_clothing_stores", - "metal_service_centers", - "miscellaneous", - "miscellaneous_apparel_and_accessory_shops", - "miscellaneous_auto_dealers", - "miscellaneous_business_services", - "miscellaneous_food_stores", - "miscellaneous_general_merchandise", - "miscellaneous_general_services", - "miscellaneous_home_furnishing_specialty_stores", - "miscellaneous_publishing_and_printing", - "miscellaneous_recreation_services", - "miscellaneous_repair_shops", - "miscellaneous_specialty_retail", - "mobile_home_dealers", - "motion_picture_theaters", - "motor_freight_carriers_and_trucking", - "motor_homes_dealers", - "motor_vehicle_supplies_and_new_parts", - "motorcycle_shops_and_dealers", - "motorcycle_shops_dealers", - "music_stores_musical_instruments_pianos_and_sheet_music", - "news_dealers_and_newsstands", - "non_fi_money_orders", - "non_fi_stored_value_card_purchase_load", - "nondurable_goods", - "nurseries_lawn_and_garden_supply_stores", - "nursing_personal_care", - "office_and_commercial_furniture", - "opticians_eyeglasses", - "optometrists_ophthalmologist", - "orthopedic_goods_prosthetic_devices", - "osteopaths", - "package_stores_beer_wine_and_liquor", - "paints_varnishes_and_supplies", - "parking_lots_garages", - "passenger_railways", - "pawn_shops", - "pet_shops_pet_food_and_supplies", - "petroleum_and_petroleum_products", - "photo_developing", - "photographic_photocopy_microfilm_equipment_and_supplies", - "photographic_studios", - "picture_video_production", - "piece_goods_notions_and_other_dry_goods", - "plumbing_heating_equipment_and_supplies", - "political_organizations", - "postal_services_government_only", - "precious_stones_and_metals_watches_and_jewelry", - "professional_services", - "public_warehousing_and_storage", - "quick_copy_repro_and_blueprint", - "railroads", - "real_estate_agents_and_managers_rentals", - "record_stores", - "recreational_vehicle_rentals", - "religious_goods_stores", - "religious_organizations", - "roofing_siding_sheet_metal", - "secretarial_support_services", - "security_brokers_dealers", - "service_stations", - "sewing_needlework_fabric_and_piece_goods_stores", - "shoe_repair_hat_cleaning", - "shoe_stores", - "small_appliance_repair", - "snowmobile_dealers", - "special_trade_services", - "specialty_cleaning", - "sporting_goods_stores", - "sporting_recreation_camps", - "sports_and_riding_apparel_stores", - "sports_clubs_fields", - "stamp_and_coin_stores", - "stationary_office_supplies_printing_and_writing_paper", - "stationery_stores_office_and_school_supply_stores", - "swimming_pools_sales", - "t_ui_travel_germany", - "tailors_alterations", - "tax_payments_government_agencies", - "tax_preparation_services", - "taxicabs_limousines", - "telecommunication_equipment_and_telephone_sales", - "telecommunication_services", - "telegraph_services", - "tent_and_awning_shops", - "testing_laboratories", - "theatrical_ticket_agencies", - "timeshares", - "tire_retreading_and_repair", - "tolls_bridge_fees", - "tourist_attractions_and_exhibits", - "towing_services", - "trailer_parks_campgrounds", - "transportation_services", - "travel_agencies_tour_operators", - "truck_stop_iteration", - "truck_utility_trailer_rentals", - "typesetting_plate_making_and_related_services", - "typewriter_stores", - "u_s_federal_government_agencies_or_departments", - "uniforms_commercial_clothing", - "used_merchandise_and_secondhand_stores", - "utilities", - "variety_stores", - "veterinary_services", - "video_amusement_game_supplies", - "video_game_arcades", - "video_tape_rental_stores", - "vocational_trade_schools", - "watch_jewelry_repair", - "welding_repair", - "wholesale_clubs", - "wig_and_toupee_stores", - "wires_money_orders", - "womens_accessory_and_specialty_shops", - "womens_ready_to_wear_stores", - "wrecking_and_salvage_yards" - ] - }, - "stripe.Stripe.Issuing.Cardholder.SpendingControls.SpendingLimit.Category": { - "type": "string", - "enum": [ - "ac_refrigeration_repair", - "accounting_bookkeeping_services", - "advertising_services", - "agricultural_cooperative", - "airlines_air_carriers", - "airports_flying_fields", - "ambulance_services", - "amusement_parks_carnivals", - "antique_reproductions", - "antique_shops", - "aquariums", - "architectural_surveying_services", - "art_dealers_and_galleries", - "artists_supply_and_craft_shops", - "auto_and_home_supply_stores", - "auto_body_repair_shops", - "auto_paint_shops", - "auto_service_shops", - "automated_cash_disburse", - "automated_fuel_dispensers", - "automobile_associations", - "automotive_parts_and_accessories_stores", - "automotive_tire_stores", - "bail_and_bond_payments", - "bakeries", - "bands_orchestras", - "barber_and_beauty_shops", - "betting_casino_gambling", - "bicycle_shops", - "billiard_pool_establishments", - "boat_dealers", - "boat_rentals_and_leases", - "book_stores", - "books_periodicals_and_newspapers", - "bowling_alleys", - "bus_lines", - "business_secretarial_schools", - "buying_shopping_services", - "cable_satellite_and_other_pay_television_and_radio", - "camera_and_photographic_supply_stores", - "candy_nut_and_confectionery_stores", - "car_and_truck_dealers_new_used", - "car_and_truck_dealers_used_only", - "car_rental_agencies", - "car_washes", - "carpentry_services", - "carpet_upholstery_cleaning", - "caterers", - "charitable_and_social_service_organizations_fundraising", - "chemicals_and_allied_products", - "child_care_services", - "childrens_and_infants_wear_stores", - "chiropodists_podiatrists", - "chiropractors", - "cigar_stores_and_stands", - "civic_social_fraternal_associations", - "cleaning_and_maintenance", - "clothing_rental", - "colleges_universities", - "commercial_equipment", - "commercial_footwear", - "commercial_photography_art_and_graphics", - "commuter_transport_and_ferries", - "computer_network_services", - "computer_programming", - "computer_repair", - "computer_software_stores", - "computers_peripherals_and_software", - "concrete_work_services", - "construction_materials", - "consulting_public_relations", - "correspondence_schools", - "cosmetic_stores", - "counseling_services", - "country_clubs", - "courier_services", - "court_costs", - "credit_reporting_agencies", - "cruise_lines", - "dairy_products_stores", - "dance_hall_studios_schools", - "dating_escort_services", - "dentists_orthodontists", - "department_stores", - "detective_agencies", - "digital_goods_applications", - "digital_goods_games", - "digital_goods_large_volume", - "digital_goods_media", - "direct_marketing_catalog_merchant", - "direct_marketing_combination_catalog_and_retail_merchant", - "direct_marketing_inbound_telemarketing", - "direct_marketing_insurance_services", - "direct_marketing_other", - "direct_marketing_outbound_telemarketing", - "direct_marketing_subscription", - "direct_marketing_travel", - "discount_stores", - "doctors", - "door_to_door_sales", - "drapery_window_covering_and_upholstery_stores", - "drinking_places", - "drug_stores_and_pharmacies", - "drugs_drug_proprietaries_and_druggist_sundries", - "dry_cleaners", - "durable_goods", - "duty_free_stores", - "eating_places_restaurants", - "educational_services", - "electric_razor_stores", - "electric_vehicle_charging", - "electrical_parts_and_equipment", - "electrical_services", - "electronics_repair_shops", - "electronics_stores", - "elementary_secondary_schools", - "emergency_services_gcas_visa_use_only", - "employment_temp_agencies", - "equipment_rental", - "exterminating_services", - "family_clothing_stores", - "fast_food_restaurants", - "financial_institutions", - "fines_government_administrative_entities", - "fireplace_fireplace_screens_and_accessories_stores", - "floor_covering_stores", - "florists", - "florists_supplies_nursery_stock_and_flowers", - "freezer_and_locker_meat_provisioners", - "fuel_dealers_non_automotive", - "funeral_services_crematories", - "furniture_home_furnishings_and_equipment_stores_except_appliances", - "furniture_repair_refinishing", - "furriers_and_fur_shops", - "general_services", - "gift_card_novelty_and_souvenir_shops", - "glass_paint_and_wallpaper_stores", - "glassware_crystal_stores", - "golf_courses_public", - "government_licensed_horse_dog_racing_us_region_only", - "government_licensed_online_casions_online_gambling_us_region_only", - "government_owned_lotteries_non_us_region", - "government_owned_lotteries_us_region_only", - "government_services", - "grocery_stores_supermarkets", - "hardware_equipment_and_supplies", - "hardware_stores", - "health_and_beauty_spas", - "hearing_aids_sales_and_supplies", - "heating_plumbing_a_c", - "hobby_toy_and_game_shops", - "home_supply_warehouse_stores", - "hospitals", - "hotels_motels_and_resorts", - "household_appliance_stores", - "industrial_supplies", - "information_retrieval_services", - "insurance_default", - "insurance_underwriting_premiums", - "intra_company_purchases", - "jewelry_stores_watches_clocks_and_silverware_stores", - "landscaping_services", - "laundries", - "laundry_cleaning_services", - "legal_services_attorneys", - "luggage_and_leather_goods_stores", - "lumber_building_materials_stores", - "manual_cash_disburse", - "marinas_service_and_supplies", - "marketplaces", - "masonry_stonework_and_plaster", - "massage_parlors", - "medical_and_dental_labs", - "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", - "medical_services", - "membership_organizations", - "mens_and_boys_clothing_and_accessories_stores", - "mens_womens_clothing_stores", - "metal_service_centers", - "miscellaneous", - "miscellaneous_apparel_and_accessory_shops", - "miscellaneous_auto_dealers", - "miscellaneous_business_services", - "miscellaneous_food_stores", - "miscellaneous_general_merchandise", - "miscellaneous_general_services", - "miscellaneous_home_furnishing_specialty_stores", - "miscellaneous_publishing_and_printing", - "miscellaneous_recreation_services", - "miscellaneous_repair_shops", - "miscellaneous_specialty_retail", - "mobile_home_dealers", - "motion_picture_theaters", - "motor_freight_carriers_and_trucking", - "motor_homes_dealers", - "motor_vehicle_supplies_and_new_parts", - "motorcycle_shops_and_dealers", - "motorcycle_shops_dealers", - "music_stores_musical_instruments_pianos_and_sheet_music", - "news_dealers_and_newsstands", - "non_fi_money_orders", - "non_fi_stored_value_card_purchase_load", - "nondurable_goods", - "nurseries_lawn_and_garden_supply_stores", - "nursing_personal_care", - "office_and_commercial_furniture", - "opticians_eyeglasses", - "optometrists_ophthalmologist", - "orthopedic_goods_prosthetic_devices", - "osteopaths", - "package_stores_beer_wine_and_liquor", - "paints_varnishes_and_supplies", - "parking_lots_garages", - "passenger_railways", - "pawn_shops", - "pet_shops_pet_food_and_supplies", - "petroleum_and_petroleum_products", - "photo_developing", - "photographic_photocopy_microfilm_equipment_and_supplies", - "photographic_studios", - "picture_video_production", - "piece_goods_notions_and_other_dry_goods", - "plumbing_heating_equipment_and_supplies", - "political_organizations", - "postal_services_government_only", - "precious_stones_and_metals_watches_and_jewelry", - "professional_services", - "public_warehousing_and_storage", - "quick_copy_repro_and_blueprint", - "railroads", - "real_estate_agents_and_managers_rentals", - "record_stores", - "recreational_vehicle_rentals", - "religious_goods_stores", - "religious_organizations", - "roofing_siding_sheet_metal", - "secretarial_support_services", - "security_brokers_dealers", - "service_stations", - "sewing_needlework_fabric_and_piece_goods_stores", - "shoe_repair_hat_cleaning", - "shoe_stores", - "small_appliance_repair", - "snowmobile_dealers", - "special_trade_services", - "specialty_cleaning", - "sporting_goods_stores", - "sporting_recreation_camps", - "sports_and_riding_apparel_stores", - "sports_clubs_fields", - "stamp_and_coin_stores", - "stationary_office_supplies_printing_and_writing_paper", - "stationery_stores_office_and_school_supply_stores", - "swimming_pools_sales", - "t_ui_travel_germany", - "tailors_alterations", - "tax_payments_government_agencies", - "tax_preparation_services", - "taxicabs_limousines", - "telecommunication_equipment_and_telephone_sales", - "telecommunication_services", - "telegraph_services", - "tent_and_awning_shops", - "testing_laboratories", - "theatrical_ticket_agencies", - "timeshares", - "tire_retreading_and_repair", - "tolls_bridge_fees", - "tourist_attractions_and_exhibits", - "towing_services", - "trailer_parks_campgrounds", - "transportation_services", - "travel_agencies_tour_operators", - "truck_stop_iteration", - "truck_utility_trailer_rentals", - "typesetting_plate_making_and_related_services", - "typewriter_stores", - "u_s_federal_government_agencies_or_departments", - "uniforms_commercial_clothing", - "used_merchandise_and_secondhand_stores", - "utilities", - "variety_stores", - "veterinary_services", - "video_amusement_game_supplies", - "video_game_arcades", - "video_tape_rental_stores", - "vocational_trade_schools", - "watch_jewelry_repair", - "welding_repair", - "wholesale_clubs", - "wig_and_toupee_stores", - "wires_money_orders", - "womens_accessory_and_specialty_shops", - "womens_ready_to_wear_stores", - "wrecking_and_salvage_yards" - ] - }, - "stripe.Stripe.Issuing.Cardholder.SpendingControls.SpendingLimit.Interval": { - "type": "string", - "enum": [ - "all_time", - "daily", - "monthly", - "per_authorization", - "weekly", - "yearly" - ] - }, - "stripe.Stripe.Issuing.Cardholder.SpendingControls.SpendingLimit": { - "properties": { - "amount": { - "type": "number", - "format": "double", - "description": "Maximum amount allowed to spend per interval. This amount is in the card's currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal)." - }, - "categories": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder.SpendingControls.SpendingLimit.Category" - }, - "type": "array", - "nullable": true, - "description": "Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) this limit applies to. Omitting this field will apply the limit to all categories." - }, - "interval": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder.SpendingControls.SpendingLimit.Interval", - "description": "Interval (or event) to which the amount applies." - } - }, - "required": [ - "amount", - "categories", - "interval" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Cardholder.SpendingControls": { - "properties": { - "allowed_categories": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder.SpendingControls.AllowedCategory" - }, - "type": "array", - "nullable": true, - "description": "Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to allow. All other categories will be blocked. Cannot be set with `blocked_categories`." - }, - "allowed_merchant_countries": { - "items": { - "type": "string" - }, - "type": "array", - "nullable": true, - "description": "Array of strings containing representing countries from which authorizations will be allowed. Authorizations from merchants in all other countries will be declined. Country codes should be ISO 3166 alpha-2 country codes (e.g. `US`). Cannot be set with `blocked_merchant_countries`. Provide an empty value to unset this control." - }, - "blocked_categories": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder.SpendingControls.BlockedCategory" - }, - "type": "array", - "nullable": true, - "description": "Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to decline. All other categories will be allowed. Cannot be set with `allowed_categories`." - }, - "blocked_merchant_countries": { - "items": { - "type": "string" - }, - "type": "array", - "nullable": true, - "description": "Array of strings containing representing countries from which authorizations will be declined. Country codes should be ISO 3166 alpha-2 country codes (e.g. `US`). Cannot be set with `allowed_merchant_countries`. Provide an empty value to unset this control." - }, - "spending_limits": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder.SpendingControls.SpendingLimit" - }, - "type": "array", - "nullable": true, - "description": "Limit spending with amount-based rules that apply across this cardholder's cards." - }, - "spending_limits_currency": { - "type": "string", - "nullable": true, - "description": "Currency of the amounts within `spending_limits`." - } - }, - "required": [ - "allowed_categories", - "allowed_merchant_countries", - "blocked_categories", - "blocked_merchant_countries", - "spending_limits", - "spending_limits_currency" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Cardholder.Status": { - "type": "string", - "enum": [ - "active", - "blocked", - "inactive" - ] - }, - "stripe.Stripe.Issuing.Cardholder.Type": { - "type": "string", - "enum": [ - "company", - "individual" - ] - }, - "stripe.Stripe.Issuing.Cardholder": { - "description": "An Issuing `Cardholder` object represents an individual or business entity who is [issued](https://stripe.com/docs/issuing) cards.\n\nRelated guide: [How to create a cardholder](https://stripe.com/docs/issuing/cards/virtual/issue-cards#create-cardholder)", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." - }, - "object": { - "type": "string", - "enum": [ - "issuing.cardholder" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." - }, - "billing": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder.Billing" - }, - "company": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder.Company" - } - ], - "nullable": true, - "description": "Additional information about a `company` cardholder." - }, - "created": { - "type": "number", - "format": "double", - "description": "Time at which the object was created. Measured in seconds since the Unix epoch." - }, - "email": { - "type": "string", - "nullable": true, - "description": "The cardholder's email address." - }, - "individual": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder.Individual" - } - ], - "nullable": true, - "description": "Additional information about an `individual` cardholder." - }, - "livemode": { - "type": "boolean", - "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." - }, - "metadata": { - "$ref": "#/components/schemas/stripe.Stripe.Metadata", - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." - }, - "name": { - "type": "string", - "description": "The cardholder's name. This will be printed on cards issued to them." - }, - "phone_number": { - "type": "string", - "nullable": true, - "description": "The cardholder's phone number. This is required for all cardholders who will be creating EU cards. See the [3D Secure documentation](https://stripe.com/docs/issuing/3d-secure#when-is-3d-secure-applied) for more details." - }, - "preferred_locales": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder.PreferredLocale" - }, - "type": "array", - "nullable": true, - "description": "The cardholder's preferred locales (languages), ordered by preference. Locales can be `de`, `en`, `es`, `fr`, or `it`.\n This changes the language of the [3D Secure flow](https://stripe.com/docs/issuing/3d-secure) and one-time password messages sent to the cardholder." - }, - "requirements": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder.Requirements" - }, - "spending_controls": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder.SpendingControls" - } - ], - "nullable": true, - "description": "Rules that control spending across this cardholder's cards. Refer to our [documentation](https://stripe.com/docs/issuing/controls/spending-controls) for more details." - }, - "status": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder.Status", - "description": "Specifies whether to permit authorizations on this cardholder's cards." - }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder.Type", - "description": "One of `individual` or `company`. See [Choose a cardholder type](https://stripe.com/docs/issuing/other/choose-cardholder) for more details." - } - }, - "required": [ - "id", - "object", - "billing", - "company", - "created", - "email", - "individual", - "livemode", - "metadata", - "name", - "phone_number", - "preferred_locales", - "requirements", - "spending_controls", - "status", - "type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.PersonalizationDesign.CarrierText": { - "properties": { - "footer_body": { - "type": "string", - "nullable": true, - "description": "The footer body text of the carrier letter." - }, - "footer_title": { - "type": "string", - "nullable": true, - "description": "The footer title text of the carrier letter." - }, - "header_body": { - "type": "string", - "nullable": true, - "description": "The header body text of the carrier letter." - }, - "header_title": { - "type": "string", - "nullable": true, - "description": "The header title text of the carrier letter." - } - }, - "required": [ - "footer_body", - "footer_title", - "header_body", - "header_title" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.PhysicalBundle.Features.CardLogo": { - "type": "string", - "enum": [ - "optional", - "required", - "unsupported" - ] - }, - "stripe.Stripe.Issuing.PhysicalBundle.Features.CarrierText": { - "type": "string", - "enum": [ - "optional", - "required", - "unsupported" - ] - }, - "stripe.Stripe.Issuing.PhysicalBundle.Features.SecondLine": { - "type": "string", - "enum": [ - "optional", - "required", - "unsupported" - ] - }, - "stripe.Stripe.Issuing.PhysicalBundle.Features": { - "properties": { - "card_logo": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.PhysicalBundle.Features.CardLogo", - "description": "The policy for how to use card logo images in a card design with this physical bundle." - }, - "carrier_text": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.PhysicalBundle.Features.CarrierText", - "description": "The policy for how to use carrier letter text in a card design with this physical bundle." - }, - "second_line": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.PhysicalBundle.Features.SecondLine", - "description": "The policy for how to use a second line on a card with this physical bundle." - } - }, - "required": [ - "card_logo", - "carrier_text", - "second_line" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.PhysicalBundle.Status": { - "type": "string", - "enum": [ - "active", - "inactive", - "review" - ] - }, - "stripe.Stripe.Issuing.PhysicalBundle.Type": { - "type": "string", - "enum": [ - "custom", - "standard" - ] - }, - "stripe.Stripe.Issuing.PhysicalBundle": { - "description": "A Physical Bundle represents the bundle of physical items - card stock, carrier letter, and envelope - that is shipped to a cardholder when you create a physical card.", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." - }, - "object": { - "type": "string", - "enum": [ - "issuing.physical_bundle" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." - }, - "features": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.PhysicalBundle.Features" - }, - "livemode": { - "type": "boolean", - "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." - }, - "name": { - "type": "string", - "description": "Friendly display name." - }, - "status": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.PhysicalBundle.Status", - "description": "Whether this physical bundle can be used to create cards." - }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.PhysicalBundle.Type", - "description": "Whether this physical bundle is a standard Stripe offering or custom-made for you." - } - }, - "required": [ - "id", - "object", - "features", - "livemode", - "name", - "status", - "type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.PersonalizationDesign.Preferences": { - "properties": { - "is_default": { - "type": "boolean", - "description": "Whether we use this personalization design to create cards when one isn't specified. A connected account uses the Connect platform's default design if no personalization design is set as the default design." - }, - "is_platform_default": { - "type": "boolean", - "nullable": true, - "description": "Whether this personalization design is used to create cards when one is not specified and a default for this connected account does not exist." - } - }, - "required": [ - "is_default", - "is_platform_default" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.PersonalizationDesign.RejectionReasons.CardLogo": { - "type": "string", - "enum": [ - "geographic_location", - "inappropriate", - "network_name", - "non_binary_image", - "non_fiat_currency", - "other", - "other_entity", - "promotional_material" - ] - }, - "stripe.Stripe.Issuing.PersonalizationDesign.RejectionReasons.CarrierText": { - "type": "string", - "enum": [ - "geographic_location", - "inappropriate", - "network_name", - "non_fiat_currency", - "other", - "other_entity", - "promotional_material" - ] - }, - "stripe.Stripe.Issuing.PersonalizationDesign.RejectionReasons": { - "properties": { - "card_logo": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.PersonalizationDesign.RejectionReasons.CardLogo" - }, - "type": "array", - "nullable": true, - "description": "The reason(s) the card logo was rejected." - }, - "carrier_text": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.PersonalizationDesign.RejectionReasons.CarrierText" - }, - "type": "array", - "nullable": true, - "description": "The reason(s) the carrier text was rejected." - } - }, - "required": [ - "card_logo", - "carrier_text" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.PersonalizationDesign.Status": { - "type": "string", - "enum": [ - "active", - "inactive", - "rejected", - "review" - ] - }, - "stripe.Stripe.Issuing.PersonalizationDesign": { - "description": "A Personalization Design is a logical grouping of a Physical Bundle, card logo, and carrier text that represents a product line.", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." - }, - "object": { - "type": "string", - "enum": [ - "issuing.personalization_design" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." - }, - "card_logo": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.File" - } - ], - "nullable": true, - "description": "The file for the card logo to use with physical bundles that support card logos. Must have a `purpose` value of `issuing_logo`." - }, - "carrier_text": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.PersonalizationDesign.CarrierText" - } - ], - "nullable": true, - "description": "Hash containing carrier text, for use with physical bundles that support carrier text." - }, - "created": { - "type": "number", - "format": "double", - "description": "Time at which the object was created. Measured in seconds since the Unix epoch." - }, - "livemode": { - "type": "boolean", - "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." - }, - "lookup_key": { - "type": "string", - "nullable": true, - "description": "A lookup key used to retrieve personalization designs dynamically from a static string. This may be up to 200 characters." - }, - "metadata": { - "$ref": "#/components/schemas/stripe.Stripe.Metadata", - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." - }, - "name": { - "type": "string", - "nullable": true, - "description": "Friendly display name." - }, - "physical_bundle": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.PhysicalBundle" - } - ], - "description": "The physical bundle object belonging to this personalization design." - }, - "preferences": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.PersonalizationDesign.Preferences" - }, - "rejection_reasons": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.PersonalizationDesign.RejectionReasons" - }, - "status": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.PersonalizationDesign.Status", - "description": "Whether this personalization design can be used to create cards." - } - }, - "required": [ - "id", - "object", - "card_logo", - "carrier_text", - "created", - "livemode", - "lookup_key", - "metadata", - "name", - "physical_bundle", - "preferences", - "rejection_reasons", - "status" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Card": { - "description": "You can [create physical or virtual cards](https://stripe.com/docs/issuing) that are issued to cardholders.", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." - }, - "object": { - "type": "string", - "enum": [ - "issuing.card" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." - }, - "brand": { - "type": "string", - "description": "The brand of the card." - }, - "cancellation_reason": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.CancellationReason" - } - ], - "nullable": true, - "description": "The reason why the card was canceled." - }, - "cardholder": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder", - "description": "An Issuing `Cardholder` object represents an individual or business entity who is [issued](https://stripe.com/docs/issuing) cards.\n\nRelated guide: [How to create a cardholder](https://stripe.com/docs/issuing/cards/virtual/issue-cards#create-cardholder)" - }, - "created": { - "type": "number", - "format": "double", - "description": "Time at which the object was created. Measured in seconds since the Unix epoch." - }, - "currency": { - "type": "string", - "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Supported currencies are `usd` in the US, `eur` in the EU, and `gbp` in the UK." - }, - "cvc": { - "type": "string", - "description": "The card's CVC. For security reasons, this is only available for virtual cards, and will be omitted unless you explicitly request it with [the `expand` parameter](https://stripe.com/docs/api/expanding_objects). Additionally, it's only available via the [\"Retrieve a card\" endpoint](https://stripe.com/docs/api/issuing/cards/retrieve), not via \"List all cards\" or any other endpoint." - }, - "exp_month": { - "type": "number", - "format": "double", - "description": "The expiration month of the card." - }, - "exp_year": { - "type": "number", - "format": "double", - "description": "The expiration year of the card." - }, - "financial_account": { - "type": "string", - "nullable": true, - "description": "The financial account this card is attached to." - }, - "last4": { - "type": "string", - "description": "The last 4 digits of the card number." - }, - "livemode": { - "type": "boolean", - "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." - }, - "metadata": { - "$ref": "#/components/schemas/stripe.Stripe.Metadata", - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." - }, - "number": { - "type": "string", - "description": "The full unredacted card number. For security reasons, this is only available for virtual cards, and will be omitted unless you explicitly request it with [the `expand` parameter](https://stripe.com/docs/api/expanding_objects). Additionally, it's only available via the [\"Retrieve a card\" endpoint](https://stripe.com/docs/api/issuing/cards/retrieve), not via \"List all cards\" or any other endpoint." - }, - "personalization_design": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.PersonalizationDesign" - } - ], - "nullable": true, - "description": "The personalization design object belonging to this card." - }, - "replaced_by": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card" - } - ], - "nullable": true, - "description": "The latest card that replaces this card, if any." - }, - "replacement_for": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card" - } - ], - "nullable": true, - "description": "The card this card replaces, if any." - }, - "replacement_reason": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.ReplacementReason" - } - ], - "nullable": true, - "description": "The reason why the previous card needed to be replaced." - }, - "shipping": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.Shipping" - } - ], - "nullable": true, - "description": "Where and how the card will be shipped." - }, - "spending_controls": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.SpendingControls" - }, - "status": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.Status", - "description": "Whether authorizations can be approved on this card. May be blocked from activating cards depending on past-due Cardholder requirements. Defaults to `inactive`." - }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.Type", - "description": "The type of the card." - }, - "wallets": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.Wallets" - } - ], - "nullable": true, - "description": "Information relating to digital wallets (like Apple Pay and Google Pay)." - } - }, - "required": [ - "id", - "object", - "brand", - "cancellation_reason", - "cardholder", - "created", - "currency", - "exp_month", - "exp_year", - "last4", - "livemode", - "metadata", - "personalization_design", - "replaced_by", - "replacement_for", - "replacement_reason", - "shipping", - "spending_controls", - "status", - "type", - "wallets" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Card.ReplacementReason": { - "type": "string", - "enum": [ - "damaged", - "expired", - "lost", - "stolen" - ] - }, - "stripe.Stripe.Issuing.Card.Shipping.AddressValidation.Mode": { - "type": "string", - "enum": [ - "disabled", - "normalization_only", - "validation_and_normalization" - ] - }, - "stripe.Stripe.Issuing.Card.Shipping.AddressValidation.Result": { - "type": "string", - "enum": [ - "indeterminate", - "likely_deliverable", - "likely_undeliverable" - ] - }, - "stripe.Stripe.Issuing.Card.Shipping.AddressValidation": { - "properties": { - "mode": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.Shipping.AddressValidation.Mode", - "description": "The address validation capabilities to use." - }, - "normalized_address": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Address" - } - ], - "nullable": true, - "description": "The normalized shipping address." - }, - "result": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.Shipping.AddressValidation.Result" - } - ], - "nullable": true, - "description": "The validation result for the shipping address." - } - }, - "required": [ - "mode", - "normalized_address", - "result" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Card.Shipping.Carrier": { - "type": "string", - "enum": [ - "dhl", - "fedex", - "royal_mail", - "usps" - ] - }, - "stripe.Stripe.Issuing.Card.Shipping.Customs": { - "properties": { - "eori_number": { - "type": "string", - "nullable": true, - "description": "A registration number used for customs in Europe. See [https://www.gov.uk/eori](https://www.gov.uk/eori) for the UK and [https://ec.europa.eu/taxation_customs/business/customs-procedures-import-and-export/customs-procedures/economic-operators-registration-and-identification-number-eori_en](https://ec.europa.eu/taxation_customs/business/customs-procedures-import-and-export/customs-procedures/economic-operators-registration-and-identification-number-eori_en) for the EU." - } - }, - "required": [ - "eori_number" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Card.Shipping.Service": { - "type": "string", - "enum": [ - "express", - "priority", - "standard" - ] - }, - "stripe.Stripe.Issuing.Card.Shipping.Status": { - "type": "string", - "enum": [ - "canceled", - "delivered", - "failure", - "pending", - "returned", - "shipped", - "submitted" - ] - }, - "stripe.Stripe.Issuing.Card.Shipping.Type": { - "type": "string", - "enum": [ - "bulk", - "individual" - ] - }, - "stripe.Stripe.Issuing.Card.Shipping": { - "properties": { - "address": { - "$ref": "#/components/schemas/stripe.Stripe.Address" - }, - "address_validation": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.Shipping.AddressValidation" - } - ], - "nullable": true, - "description": "Address validation details for the shipment." - }, - "carrier": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.Shipping.Carrier" - } - ], - "nullable": true, - "description": "The delivery company that shipped a card." - }, - "customs": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.Shipping.Customs" - } - ], - "nullable": true, - "description": "Additional information that may be required for clearing customs." - }, - "eta": { - "type": "number", - "format": "double", - "nullable": true, - "description": "A unix timestamp representing a best estimate of when the card will be delivered." - }, - "name": { - "type": "string", - "description": "Recipient name." - }, - "phone_number": { - "type": "string", - "nullable": true, - "description": "The phone number of the receiver of the shipment. Our courier partners will use this number to contact you in the event of card delivery issues. For individual shipments to the EU/UK, if this field is empty, we will provide them with the phone number provided when the cardholder was initially created." - }, - "require_signature": { - "type": "boolean", - "nullable": true, - "description": "Whether a signature is required for card delivery. This feature is only supported for US users. Standard shipping service does not support signature on delivery. The default value for standard shipping service is false and for express and priority services is true." - }, - "service": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.Shipping.Service", - "description": "Shipment service, such as `standard` or `express`." - }, - "status": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.Shipping.Status" - } - ], - "nullable": true, - "description": "The delivery status of the card." - }, - "tracking_number": { - "type": "string", - "nullable": true, - "description": "A tracking number for a card shipment." - }, - "tracking_url": { - "type": "string", - "nullable": true, - "description": "A link to the shipping carrier's site where you can view detailed information about a card shipment." - }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.Shipping.Type", - "description": "Packaging options." - } - }, - "required": [ - "address", - "address_validation", - "carrier", - "customs", - "eta", - "name", - "phone_number", - "require_signature", - "service", - "status", - "tracking_number", - "tracking_url", - "type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Card.SpendingControls.AllowedCategory": { - "type": "string", - "enum": [ - "ac_refrigeration_repair", - "accounting_bookkeeping_services", - "advertising_services", - "agricultural_cooperative", - "airlines_air_carriers", - "airports_flying_fields", - "ambulance_services", - "amusement_parks_carnivals", - "antique_reproductions", - "antique_shops", - "aquariums", - "architectural_surveying_services", - "art_dealers_and_galleries", - "artists_supply_and_craft_shops", - "auto_and_home_supply_stores", - "auto_body_repair_shops", - "auto_paint_shops", - "auto_service_shops", - "automated_cash_disburse", - "automated_fuel_dispensers", - "automobile_associations", - "automotive_parts_and_accessories_stores", - "automotive_tire_stores", - "bail_and_bond_payments", - "bakeries", - "bands_orchestras", - "barber_and_beauty_shops", - "betting_casino_gambling", - "bicycle_shops", - "billiard_pool_establishments", - "boat_dealers", - "boat_rentals_and_leases", - "book_stores", - "books_periodicals_and_newspapers", - "bowling_alleys", - "bus_lines", - "business_secretarial_schools", - "buying_shopping_services", - "cable_satellite_and_other_pay_television_and_radio", - "camera_and_photographic_supply_stores", - "candy_nut_and_confectionery_stores", - "car_and_truck_dealers_new_used", - "car_and_truck_dealers_used_only", - "car_rental_agencies", - "car_washes", - "carpentry_services", - "carpet_upholstery_cleaning", - "caterers", - "charitable_and_social_service_organizations_fundraising", - "chemicals_and_allied_products", - "child_care_services", - "childrens_and_infants_wear_stores", - "chiropodists_podiatrists", - "chiropractors", - "cigar_stores_and_stands", - "civic_social_fraternal_associations", - "cleaning_and_maintenance", - "clothing_rental", - "colleges_universities", - "commercial_equipment", - "commercial_footwear", - "commercial_photography_art_and_graphics", - "commuter_transport_and_ferries", - "computer_network_services", - "computer_programming", - "computer_repair", - "computer_software_stores", - "computers_peripherals_and_software", - "concrete_work_services", - "construction_materials", - "consulting_public_relations", - "correspondence_schools", - "cosmetic_stores", - "counseling_services", - "country_clubs", - "courier_services", - "court_costs", - "credit_reporting_agencies", - "cruise_lines", - "dairy_products_stores", - "dance_hall_studios_schools", - "dating_escort_services", - "dentists_orthodontists", - "department_stores", - "detective_agencies", - "digital_goods_applications", - "digital_goods_games", - "digital_goods_large_volume", - "digital_goods_media", - "direct_marketing_catalog_merchant", - "direct_marketing_combination_catalog_and_retail_merchant", - "direct_marketing_inbound_telemarketing", - "direct_marketing_insurance_services", - "direct_marketing_other", - "direct_marketing_outbound_telemarketing", - "direct_marketing_subscription", - "direct_marketing_travel", - "discount_stores", - "doctors", - "door_to_door_sales", - "drapery_window_covering_and_upholstery_stores", - "drinking_places", - "drug_stores_and_pharmacies", - "drugs_drug_proprietaries_and_druggist_sundries", - "dry_cleaners", - "durable_goods", - "duty_free_stores", - "eating_places_restaurants", - "educational_services", - "electric_razor_stores", - "electric_vehicle_charging", - "electrical_parts_and_equipment", - "electrical_services", - "electronics_repair_shops", - "electronics_stores", - "elementary_secondary_schools", - "emergency_services_gcas_visa_use_only", - "employment_temp_agencies", - "equipment_rental", - "exterminating_services", - "family_clothing_stores", - "fast_food_restaurants", - "financial_institutions", - "fines_government_administrative_entities", - "fireplace_fireplace_screens_and_accessories_stores", - "floor_covering_stores", - "florists", - "florists_supplies_nursery_stock_and_flowers", - "freezer_and_locker_meat_provisioners", - "fuel_dealers_non_automotive", - "funeral_services_crematories", - "furniture_home_furnishings_and_equipment_stores_except_appliances", - "furniture_repair_refinishing", - "furriers_and_fur_shops", - "general_services", - "gift_card_novelty_and_souvenir_shops", - "glass_paint_and_wallpaper_stores", - "glassware_crystal_stores", - "golf_courses_public", - "government_licensed_horse_dog_racing_us_region_only", - "government_licensed_online_casions_online_gambling_us_region_only", - "government_owned_lotteries_non_us_region", - "government_owned_lotteries_us_region_only", - "government_services", - "grocery_stores_supermarkets", - "hardware_equipment_and_supplies", - "hardware_stores", - "health_and_beauty_spas", - "hearing_aids_sales_and_supplies", - "heating_plumbing_a_c", - "hobby_toy_and_game_shops", - "home_supply_warehouse_stores", - "hospitals", - "hotels_motels_and_resorts", - "household_appliance_stores", - "industrial_supplies", - "information_retrieval_services", - "insurance_default", - "insurance_underwriting_premiums", - "intra_company_purchases", - "jewelry_stores_watches_clocks_and_silverware_stores", - "landscaping_services", - "laundries", - "laundry_cleaning_services", - "legal_services_attorneys", - "luggage_and_leather_goods_stores", - "lumber_building_materials_stores", - "manual_cash_disburse", - "marinas_service_and_supplies", - "marketplaces", - "masonry_stonework_and_plaster", - "massage_parlors", - "medical_and_dental_labs", - "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", - "medical_services", - "membership_organizations", - "mens_and_boys_clothing_and_accessories_stores", - "mens_womens_clothing_stores", - "metal_service_centers", - "miscellaneous", - "miscellaneous_apparel_and_accessory_shops", - "miscellaneous_auto_dealers", - "miscellaneous_business_services", - "miscellaneous_food_stores", - "miscellaneous_general_merchandise", - "miscellaneous_general_services", - "miscellaneous_home_furnishing_specialty_stores", - "miscellaneous_publishing_and_printing", - "miscellaneous_recreation_services", - "miscellaneous_repair_shops", - "miscellaneous_specialty_retail", - "mobile_home_dealers", - "motion_picture_theaters", - "motor_freight_carriers_and_trucking", - "motor_homes_dealers", - "motor_vehicle_supplies_and_new_parts", - "motorcycle_shops_and_dealers", - "motorcycle_shops_dealers", - "music_stores_musical_instruments_pianos_and_sheet_music", - "news_dealers_and_newsstands", - "non_fi_money_orders", - "non_fi_stored_value_card_purchase_load", - "nondurable_goods", - "nurseries_lawn_and_garden_supply_stores", - "nursing_personal_care", - "office_and_commercial_furniture", - "opticians_eyeglasses", - "optometrists_ophthalmologist", - "orthopedic_goods_prosthetic_devices", - "osteopaths", - "package_stores_beer_wine_and_liquor", - "paints_varnishes_and_supplies", - "parking_lots_garages", - "passenger_railways", - "pawn_shops", - "pet_shops_pet_food_and_supplies", - "petroleum_and_petroleum_products", - "photo_developing", - "photographic_photocopy_microfilm_equipment_and_supplies", - "photographic_studios", - "picture_video_production", - "piece_goods_notions_and_other_dry_goods", - "plumbing_heating_equipment_and_supplies", - "political_organizations", - "postal_services_government_only", - "precious_stones_and_metals_watches_and_jewelry", - "professional_services", - "public_warehousing_and_storage", - "quick_copy_repro_and_blueprint", - "railroads", - "real_estate_agents_and_managers_rentals", - "record_stores", - "recreational_vehicle_rentals", - "religious_goods_stores", - "religious_organizations", - "roofing_siding_sheet_metal", - "secretarial_support_services", - "security_brokers_dealers", - "service_stations", - "sewing_needlework_fabric_and_piece_goods_stores", - "shoe_repair_hat_cleaning", - "shoe_stores", - "small_appliance_repair", - "snowmobile_dealers", - "special_trade_services", - "specialty_cleaning", - "sporting_goods_stores", - "sporting_recreation_camps", - "sports_and_riding_apparel_stores", - "sports_clubs_fields", - "stamp_and_coin_stores", - "stationary_office_supplies_printing_and_writing_paper", - "stationery_stores_office_and_school_supply_stores", - "swimming_pools_sales", - "t_ui_travel_germany", - "tailors_alterations", - "tax_payments_government_agencies", - "tax_preparation_services", - "taxicabs_limousines", - "telecommunication_equipment_and_telephone_sales", - "telecommunication_services", - "telegraph_services", - "tent_and_awning_shops", - "testing_laboratories", - "theatrical_ticket_agencies", - "timeshares", - "tire_retreading_and_repair", - "tolls_bridge_fees", - "tourist_attractions_and_exhibits", - "towing_services", - "trailer_parks_campgrounds", - "transportation_services", - "travel_agencies_tour_operators", - "truck_stop_iteration", - "truck_utility_trailer_rentals", - "typesetting_plate_making_and_related_services", - "typewriter_stores", - "u_s_federal_government_agencies_or_departments", - "uniforms_commercial_clothing", - "used_merchandise_and_secondhand_stores", - "utilities", - "variety_stores", - "veterinary_services", - "video_amusement_game_supplies", - "video_game_arcades", - "video_tape_rental_stores", - "vocational_trade_schools", - "watch_jewelry_repair", - "welding_repair", - "wholesale_clubs", - "wig_and_toupee_stores", - "wires_money_orders", - "womens_accessory_and_specialty_shops", - "womens_ready_to_wear_stores", - "wrecking_and_salvage_yards" - ] - }, - "stripe.Stripe.Issuing.Card.SpendingControls.BlockedCategory": { - "type": "string", - "enum": [ - "ac_refrigeration_repair", - "accounting_bookkeeping_services", - "advertising_services", - "agricultural_cooperative", - "airlines_air_carriers", - "airports_flying_fields", - "ambulance_services", - "amusement_parks_carnivals", - "antique_reproductions", - "antique_shops", - "aquariums", - "architectural_surveying_services", - "art_dealers_and_galleries", - "artists_supply_and_craft_shops", - "auto_and_home_supply_stores", - "auto_body_repair_shops", - "auto_paint_shops", - "auto_service_shops", - "automated_cash_disburse", - "automated_fuel_dispensers", - "automobile_associations", - "automotive_parts_and_accessories_stores", - "automotive_tire_stores", - "bail_and_bond_payments", - "bakeries", - "bands_orchestras", - "barber_and_beauty_shops", - "betting_casino_gambling", - "bicycle_shops", - "billiard_pool_establishments", - "boat_dealers", - "boat_rentals_and_leases", - "book_stores", - "books_periodicals_and_newspapers", - "bowling_alleys", - "bus_lines", - "business_secretarial_schools", - "buying_shopping_services", - "cable_satellite_and_other_pay_television_and_radio", - "camera_and_photographic_supply_stores", - "candy_nut_and_confectionery_stores", - "car_and_truck_dealers_new_used", - "car_and_truck_dealers_used_only", - "car_rental_agencies", - "car_washes", - "carpentry_services", - "carpet_upholstery_cleaning", - "caterers", - "charitable_and_social_service_organizations_fundraising", - "chemicals_and_allied_products", - "child_care_services", - "childrens_and_infants_wear_stores", - "chiropodists_podiatrists", - "chiropractors", - "cigar_stores_and_stands", - "civic_social_fraternal_associations", - "cleaning_and_maintenance", - "clothing_rental", - "colleges_universities", - "commercial_equipment", - "commercial_footwear", - "commercial_photography_art_and_graphics", - "commuter_transport_and_ferries", - "computer_network_services", - "computer_programming", - "computer_repair", - "computer_software_stores", - "computers_peripherals_and_software", - "concrete_work_services", - "construction_materials", - "consulting_public_relations", - "correspondence_schools", - "cosmetic_stores", - "counseling_services", - "country_clubs", - "courier_services", - "court_costs", - "credit_reporting_agencies", - "cruise_lines", - "dairy_products_stores", - "dance_hall_studios_schools", - "dating_escort_services", - "dentists_orthodontists", - "department_stores", - "detective_agencies", - "digital_goods_applications", - "digital_goods_games", - "digital_goods_large_volume", - "digital_goods_media", - "direct_marketing_catalog_merchant", - "direct_marketing_combination_catalog_and_retail_merchant", - "direct_marketing_inbound_telemarketing", - "direct_marketing_insurance_services", - "direct_marketing_other", - "direct_marketing_outbound_telemarketing", - "direct_marketing_subscription", - "direct_marketing_travel", - "discount_stores", - "doctors", - "door_to_door_sales", - "drapery_window_covering_and_upholstery_stores", - "drinking_places", - "drug_stores_and_pharmacies", - "drugs_drug_proprietaries_and_druggist_sundries", - "dry_cleaners", - "durable_goods", - "duty_free_stores", - "eating_places_restaurants", - "educational_services", - "electric_razor_stores", - "electric_vehicle_charging", - "electrical_parts_and_equipment", - "electrical_services", - "electronics_repair_shops", - "electronics_stores", - "elementary_secondary_schools", - "emergency_services_gcas_visa_use_only", - "employment_temp_agencies", - "equipment_rental", - "exterminating_services", - "family_clothing_stores", - "fast_food_restaurants", - "financial_institutions", - "fines_government_administrative_entities", - "fireplace_fireplace_screens_and_accessories_stores", - "floor_covering_stores", - "florists", - "florists_supplies_nursery_stock_and_flowers", - "freezer_and_locker_meat_provisioners", - "fuel_dealers_non_automotive", - "funeral_services_crematories", - "furniture_home_furnishings_and_equipment_stores_except_appliances", - "furniture_repair_refinishing", - "furriers_and_fur_shops", - "general_services", - "gift_card_novelty_and_souvenir_shops", - "glass_paint_and_wallpaper_stores", - "glassware_crystal_stores", - "golf_courses_public", - "government_licensed_horse_dog_racing_us_region_only", - "government_licensed_online_casions_online_gambling_us_region_only", - "government_owned_lotteries_non_us_region", - "government_owned_lotteries_us_region_only", - "government_services", - "grocery_stores_supermarkets", - "hardware_equipment_and_supplies", - "hardware_stores", - "health_and_beauty_spas", - "hearing_aids_sales_and_supplies", - "heating_plumbing_a_c", - "hobby_toy_and_game_shops", - "home_supply_warehouse_stores", - "hospitals", - "hotels_motels_and_resorts", - "household_appliance_stores", - "industrial_supplies", - "information_retrieval_services", - "insurance_default", - "insurance_underwriting_premiums", - "intra_company_purchases", - "jewelry_stores_watches_clocks_and_silverware_stores", - "landscaping_services", - "laundries", - "laundry_cleaning_services", - "legal_services_attorneys", - "luggage_and_leather_goods_stores", - "lumber_building_materials_stores", - "manual_cash_disburse", - "marinas_service_and_supplies", - "marketplaces", - "masonry_stonework_and_plaster", - "massage_parlors", - "medical_and_dental_labs", - "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", - "medical_services", - "membership_organizations", - "mens_and_boys_clothing_and_accessories_stores", - "mens_womens_clothing_stores", - "metal_service_centers", - "miscellaneous", - "miscellaneous_apparel_and_accessory_shops", - "miscellaneous_auto_dealers", - "miscellaneous_business_services", - "miscellaneous_food_stores", - "miscellaneous_general_merchandise", - "miscellaneous_general_services", - "miscellaneous_home_furnishing_specialty_stores", - "miscellaneous_publishing_and_printing", - "miscellaneous_recreation_services", - "miscellaneous_repair_shops", - "miscellaneous_specialty_retail", - "mobile_home_dealers", - "motion_picture_theaters", - "motor_freight_carriers_and_trucking", - "motor_homes_dealers", - "motor_vehicle_supplies_and_new_parts", - "motorcycle_shops_and_dealers", - "motorcycle_shops_dealers", - "music_stores_musical_instruments_pianos_and_sheet_music", - "news_dealers_and_newsstands", - "non_fi_money_orders", - "non_fi_stored_value_card_purchase_load", - "nondurable_goods", - "nurseries_lawn_and_garden_supply_stores", - "nursing_personal_care", - "office_and_commercial_furniture", - "opticians_eyeglasses", - "optometrists_ophthalmologist", - "orthopedic_goods_prosthetic_devices", - "osteopaths", - "package_stores_beer_wine_and_liquor", - "paints_varnishes_and_supplies", - "parking_lots_garages", - "passenger_railways", - "pawn_shops", - "pet_shops_pet_food_and_supplies", - "petroleum_and_petroleum_products", - "photo_developing", - "photographic_photocopy_microfilm_equipment_and_supplies", - "photographic_studios", - "picture_video_production", - "piece_goods_notions_and_other_dry_goods", - "plumbing_heating_equipment_and_supplies", - "political_organizations", - "postal_services_government_only", - "precious_stones_and_metals_watches_and_jewelry", - "professional_services", - "public_warehousing_and_storage", - "quick_copy_repro_and_blueprint", - "railroads", - "real_estate_agents_and_managers_rentals", - "record_stores", - "recreational_vehicle_rentals", - "religious_goods_stores", - "religious_organizations", - "roofing_siding_sheet_metal", - "secretarial_support_services", - "security_brokers_dealers", - "service_stations", - "sewing_needlework_fabric_and_piece_goods_stores", - "shoe_repair_hat_cleaning", - "shoe_stores", - "small_appliance_repair", - "snowmobile_dealers", - "special_trade_services", - "specialty_cleaning", - "sporting_goods_stores", - "sporting_recreation_camps", - "sports_and_riding_apparel_stores", - "sports_clubs_fields", - "stamp_and_coin_stores", - "stationary_office_supplies_printing_and_writing_paper", - "stationery_stores_office_and_school_supply_stores", - "swimming_pools_sales", - "t_ui_travel_germany", - "tailors_alterations", - "tax_payments_government_agencies", - "tax_preparation_services", - "taxicabs_limousines", - "telecommunication_equipment_and_telephone_sales", - "telecommunication_services", - "telegraph_services", - "tent_and_awning_shops", - "testing_laboratories", - "theatrical_ticket_agencies", - "timeshares", - "tire_retreading_and_repair", - "tolls_bridge_fees", - "tourist_attractions_and_exhibits", - "towing_services", - "trailer_parks_campgrounds", - "transportation_services", - "travel_agencies_tour_operators", - "truck_stop_iteration", - "truck_utility_trailer_rentals", - "typesetting_plate_making_and_related_services", - "typewriter_stores", - "u_s_federal_government_agencies_or_departments", - "uniforms_commercial_clothing", - "used_merchandise_and_secondhand_stores", - "utilities", - "variety_stores", - "veterinary_services", - "video_amusement_game_supplies", - "video_game_arcades", - "video_tape_rental_stores", - "vocational_trade_schools", - "watch_jewelry_repair", - "welding_repair", - "wholesale_clubs", - "wig_and_toupee_stores", - "wires_money_orders", - "womens_accessory_and_specialty_shops", - "womens_ready_to_wear_stores", - "wrecking_and_salvage_yards" - ] - }, - "stripe.Stripe.Issuing.Card.SpendingControls.SpendingLimit.Category": { - "type": "string", - "enum": [ - "ac_refrigeration_repair", - "accounting_bookkeeping_services", - "advertising_services", - "agricultural_cooperative", - "airlines_air_carriers", - "airports_flying_fields", - "ambulance_services", - "amusement_parks_carnivals", - "antique_reproductions", - "antique_shops", - "aquariums", - "architectural_surveying_services", - "art_dealers_and_galleries", - "artists_supply_and_craft_shops", - "auto_and_home_supply_stores", - "auto_body_repair_shops", - "auto_paint_shops", - "auto_service_shops", - "automated_cash_disburse", - "automated_fuel_dispensers", - "automobile_associations", - "automotive_parts_and_accessories_stores", - "automotive_tire_stores", - "bail_and_bond_payments", - "bakeries", - "bands_orchestras", - "barber_and_beauty_shops", - "betting_casino_gambling", - "bicycle_shops", - "billiard_pool_establishments", - "boat_dealers", - "boat_rentals_and_leases", - "book_stores", - "books_periodicals_and_newspapers", - "bowling_alleys", - "bus_lines", - "business_secretarial_schools", - "buying_shopping_services", - "cable_satellite_and_other_pay_television_and_radio", - "camera_and_photographic_supply_stores", - "candy_nut_and_confectionery_stores", - "car_and_truck_dealers_new_used", - "car_and_truck_dealers_used_only", - "car_rental_agencies", - "car_washes", - "carpentry_services", - "carpet_upholstery_cleaning", - "caterers", - "charitable_and_social_service_organizations_fundraising", - "chemicals_and_allied_products", - "child_care_services", - "childrens_and_infants_wear_stores", - "chiropodists_podiatrists", - "chiropractors", - "cigar_stores_and_stands", - "civic_social_fraternal_associations", - "cleaning_and_maintenance", - "clothing_rental", - "colleges_universities", - "commercial_equipment", - "commercial_footwear", - "commercial_photography_art_and_graphics", - "commuter_transport_and_ferries", - "computer_network_services", - "computer_programming", - "computer_repair", - "computer_software_stores", - "computers_peripherals_and_software", - "concrete_work_services", - "construction_materials", - "consulting_public_relations", - "correspondence_schools", - "cosmetic_stores", - "counseling_services", - "country_clubs", - "courier_services", - "court_costs", - "credit_reporting_agencies", - "cruise_lines", - "dairy_products_stores", - "dance_hall_studios_schools", - "dating_escort_services", - "dentists_orthodontists", - "department_stores", - "detective_agencies", - "digital_goods_applications", - "digital_goods_games", - "digital_goods_large_volume", - "digital_goods_media", - "direct_marketing_catalog_merchant", - "direct_marketing_combination_catalog_and_retail_merchant", - "direct_marketing_inbound_telemarketing", - "direct_marketing_insurance_services", - "direct_marketing_other", - "direct_marketing_outbound_telemarketing", - "direct_marketing_subscription", - "direct_marketing_travel", - "discount_stores", - "doctors", - "door_to_door_sales", - "drapery_window_covering_and_upholstery_stores", - "drinking_places", - "drug_stores_and_pharmacies", - "drugs_drug_proprietaries_and_druggist_sundries", - "dry_cleaners", - "durable_goods", - "duty_free_stores", - "eating_places_restaurants", - "educational_services", - "electric_razor_stores", - "electric_vehicle_charging", - "electrical_parts_and_equipment", - "electrical_services", - "electronics_repair_shops", - "electronics_stores", - "elementary_secondary_schools", - "emergency_services_gcas_visa_use_only", - "employment_temp_agencies", - "equipment_rental", - "exterminating_services", - "family_clothing_stores", - "fast_food_restaurants", - "financial_institutions", - "fines_government_administrative_entities", - "fireplace_fireplace_screens_and_accessories_stores", - "floor_covering_stores", - "florists", - "florists_supplies_nursery_stock_and_flowers", - "freezer_and_locker_meat_provisioners", - "fuel_dealers_non_automotive", - "funeral_services_crematories", - "furniture_home_furnishings_and_equipment_stores_except_appliances", - "furniture_repair_refinishing", - "furriers_and_fur_shops", - "general_services", - "gift_card_novelty_and_souvenir_shops", - "glass_paint_and_wallpaper_stores", - "glassware_crystal_stores", - "golf_courses_public", - "government_licensed_horse_dog_racing_us_region_only", - "government_licensed_online_casions_online_gambling_us_region_only", - "government_owned_lotteries_non_us_region", - "government_owned_lotteries_us_region_only", - "government_services", - "grocery_stores_supermarkets", - "hardware_equipment_and_supplies", - "hardware_stores", - "health_and_beauty_spas", - "hearing_aids_sales_and_supplies", - "heating_plumbing_a_c", - "hobby_toy_and_game_shops", - "home_supply_warehouse_stores", - "hospitals", - "hotels_motels_and_resorts", - "household_appliance_stores", - "industrial_supplies", - "information_retrieval_services", - "insurance_default", - "insurance_underwriting_premiums", - "intra_company_purchases", - "jewelry_stores_watches_clocks_and_silverware_stores", - "landscaping_services", - "laundries", - "laundry_cleaning_services", - "legal_services_attorneys", - "luggage_and_leather_goods_stores", - "lumber_building_materials_stores", - "manual_cash_disburse", - "marinas_service_and_supplies", - "marketplaces", - "masonry_stonework_and_plaster", - "massage_parlors", - "medical_and_dental_labs", - "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", - "medical_services", - "membership_organizations", - "mens_and_boys_clothing_and_accessories_stores", - "mens_womens_clothing_stores", - "metal_service_centers", - "miscellaneous", - "miscellaneous_apparel_and_accessory_shops", - "miscellaneous_auto_dealers", - "miscellaneous_business_services", - "miscellaneous_food_stores", - "miscellaneous_general_merchandise", - "miscellaneous_general_services", - "miscellaneous_home_furnishing_specialty_stores", - "miscellaneous_publishing_and_printing", - "miscellaneous_recreation_services", - "miscellaneous_repair_shops", - "miscellaneous_specialty_retail", - "mobile_home_dealers", - "motion_picture_theaters", - "motor_freight_carriers_and_trucking", - "motor_homes_dealers", - "motor_vehicle_supplies_and_new_parts", - "motorcycle_shops_and_dealers", - "motorcycle_shops_dealers", - "music_stores_musical_instruments_pianos_and_sheet_music", - "news_dealers_and_newsstands", - "non_fi_money_orders", - "non_fi_stored_value_card_purchase_load", - "nondurable_goods", - "nurseries_lawn_and_garden_supply_stores", - "nursing_personal_care", - "office_and_commercial_furniture", - "opticians_eyeglasses", - "optometrists_ophthalmologist", - "orthopedic_goods_prosthetic_devices", - "osteopaths", - "package_stores_beer_wine_and_liquor", - "paints_varnishes_and_supplies", - "parking_lots_garages", - "passenger_railways", - "pawn_shops", - "pet_shops_pet_food_and_supplies", - "petroleum_and_petroleum_products", - "photo_developing", - "photographic_photocopy_microfilm_equipment_and_supplies", - "photographic_studios", - "picture_video_production", - "piece_goods_notions_and_other_dry_goods", - "plumbing_heating_equipment_and_supplies", - "political_organizations", - "postal_services_government_only", - "precious_stones_and_metals_watches_and_jewelry", - "professional_services", - "public_warehousing_and_storage", - "quick_copy_repro_and_blueprint", - "railroads", - "real_estate_agents_and_managers_rentals", - "record_stores", - "recreational_vehicle_rentals", - "religious_goods_stores", - "religious_organizations", - "roofing_siding_sheet_metal", - "secretarial_support_services", - "security_brokers_dealers", - "service_stations", - "sewing_needlework_fabric_and_piece_goods_stores", - "shoe_repair_hat_cleaning", - "shoe_stores", - "small_appliance_repair", - "snowmobile_dealers", - "special_trade_services", - "specialty_cleaning", - "sporting_goods_stores", - "sporting_recreation_camps", - "sports_and_riding_apparel_stores", - "sports_clubs_fields", - "stamp_and_coin_stores", - "stationary_office_supplies_printing_and_writing_paper", - "stationery_stores_office_and_school_supply_stores", - "swimming_pools_sales", - "t_ui_travel_germany", - "tailors_alterations", - "tax_payments_government_agencies", - "tax_preparation_services", - "taxicabs_limousines", - "telecommunication_equipment_and_telephone_sales", - "telecommunication_services", - "telegraph_services", - "tent_and_awning_shops", - "testing_laboratories", - "theatrical_ticket_agencies", - "timeshares", - "tire_retreading_and_repair", - "tolls_bridge_fees", - "tourist_attractions_and_exhibits", - "towing_services", - "trailer_parks_campgrounds", - "transportation_services", - "travel_agencies_tour_operators", - "truck_stop_iteration", - "truck_utility_trailer_rentals", - "typesetting_plate_making_and_related_services", - "typewriter_stores", - "u_s_federal_government_agencies_or_departments", - "uniforms_commercial_clothing", - "used_merchandise_and_secondhand_stores", - "utilities", - "variety_stores", - "veterinary_services", - "video_amusement_game_supplies", - "video_game_arcades", - "video_tape_rental_stores", - "vocational_trade_schools", - "watch_jewelry_repair", - "welding_repair", - "wholesale_clubs", - "wig_and_toupee_stores", - "wires_money_orders", - "womens_accessory_and_specialty_shops", - "womens_ready_to_wear_stores", - "wrecking_and_salvage_yards" - ] - }, - "stripe.Stripe.Issuing.Card.SpendingControls.SpendingLimit.Interval": { - "type": "string", - "enum": [ - "all_time", - "daily", - "monthly", - "per_authorization", - "weekly", - "yearly" - ] - }, - "stripe.Stripe.Issuing.Card.SpendingControls.SpendingLimit": { - "properties": { - "amount": { - "type": "number", - "format": "double", - "description": "Maximum amount allowed to spend per interval. This amount is in the card's currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal)." - }, - "categories": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.SpendingControls.SpendingLimit.Category" - }, - "type": "array", - "nullable": true, - "description": "Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) this limit applies to. Omitting this field will apply the limit to all categories." - }, - "interval": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.SpendingControls.SpendingLimit.Interval", - "description": "Interval (or event) to which the amount applies." - } - }, - "required": [ - "amount", - "categories", - "interval" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Card.SpendingControls": { - "properties": { - "allowed_categories": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.SpendingControls.AllowedCategory" - }, - "type": "array", - "nullable": true, - "description": "Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to allow. All other categories will be blocked. Cannot be set with `blocked_categories`." - }, - "allowed_merchant_countries": { - "items": { - "type": "string" - }, - "type": "array", - "nullable": true, - "description": "Array of strings containing representing countries from which authorizations will be allowed. Authorizations from merchants in all other countries will be declined. Country codes should be ISO 3166 alpha-2 country codes (e.g. `US`). Cannot be set with `blocked_merchant_countries`. Provide an empty value to unset this control." - }, - "blocked_categories": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.SpendingControls.BlockedCategory" - }, - "type": "array", - "nullable": true, - "description": "Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to decline. All other categories will be allowed. Cannot be set with `allowed_categories`." - }, - "blocked_merchant_countries": { - "items": { - "type": "string" - }, - "type": "array", - "nullable": true, - "description": "Array of strings containing representing countries from which authorizations will be declined. Country codes should be ISO 3166 alpha-2 country codes (e.g. `US`). Cannot be set with `allowed_merchant_countries`. Provide an empty value to unset this control." - }, - "spending_limits": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.SpendingControls.SpendingLimit" - }, - "type": "array", - "nullable": true, - "description": "Limit spending with amount-based rules that apply across any cards this card replaced (i.e., its `replacement_for` card and _that_ card's `replacement_for` card, up the chain)." - }, - "spending_limits_currency": { - "type": "string", - "nullable": true, - "description": "Currency of the amounts within `spending_limits`. Always the same as the currency of the card." - } - }, - "required": [ - "allowed_categories", - "allowed_merchant_countries", - "blocked_categories", - "blocked_merchant_countries", - "spending_limits", - "spending_limits_currency" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Card.Status": { - "type": "string", - "enum": [ - "active", - "canceled", - "inactive" - ] - }, - "stripe.Stripe.Issuing.Card.Type": { - "type": "string", - "enum": [ - "physical", - "virtual" - ] - }, - "stripe.Stripe.Issuing.Card.Wallets.ApplePay.IneligibleReason": { - "type": "string", - "enum": [ - "missing_agreement", - "missing_cardholder_contact", - "unsupported_region" - ] - }, - "stripe.Stripe.Issuing.Card.Wallets.ApplePay": { - "properties": { - "eligible": { - "type": "boolean", - "description": "Apple Pay Eligibility" - }, - "ineligible_reason": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.Wallets.ApplePay.IneligibleReason" - } - ], - "nullable": true, - "description": "Reason the card is ineligible for Apple Pay" - } - }, - "required": [ - "eligible", - "ineligible_reason" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Card.Wallets.GooglePay.IneligibleReason": { - "type": "string", - "enum": [ - "missing_agreement", - "missing_cardholder_contact", - "unsupported_region" - ] - }, - "stripe.Stripe.Issuing.Card.Wallets.GooglePay": { - "properties": { - "eligible": { - "type": "boolean", - "description": "Google Pay Eligibility" - }, - "ineligible_reason": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.Wallets.GooglePay.IneligibleReason" - } - ], - "nullable": true, - "description": "Reason the card is ineligible for Google Pay" - } - }, - "required": [ - "eligible", - "ineligible_reason" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Card.Wallets": { - "properties": { - "apple_pay": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.Wallets.ApplePay" - }, - "google_pay": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.Wallets.GooglePay" - }, - "primary_account_identifier": { - "type": "string", - "nullable": true, - "description": "Unique identifier for a card used with digital wallets" - } - }, - "required": [ - "apple_pay", - "google_pay", - "primary_account_identifier" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Authorization.Fleet.CardholderPromptData": { - "properties": { - "alphanumeric_id": { - "type": "string", - "nullable": true, - "description": "[Deprecated] An alphanumeric ID, though typical point of sales only support numeric entry. The card program can be configured to prompt for a vehicle ID, driver ID, or generic ID.", - "deprecated": true - }, - "driver_id": { - "type": "string", - "nullable": true, - "description": "Driver ID." - }, - "odometer": { - "type": "number", - "format": "double", - "nullable": true, - "description": "Odometer reading." - }, - "unspecified_id": { - "type": "string", - "nullable": true, - "description": "An alphanumeric ID. This field is used when a vehicle ID, driver ID, or generic ID is entered by the cardholder, but the merchant or card network did not specify the prompt type." - }, - "user_id": { - "type": "string", - "nullable": true, - "description": "User ID." - }, - "vehicle_number": { - "type": "string", - "nullable": true, - "description": "Vehicle number." - } - }, - "required": [ - "alphanumeric_id", - "driver_id", - "odometer", - "unspecified_id", - "user_id", - "vehicle_number" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Authorization.Fleet.PurchaseType": { - "type": "string", - "enum": [ - "fuel_and_non_fuel_purchase", - "fuel_purchase", - "non_fuel_purchase" - ] - }, - "stripe.Stripe.Issuing.Authorization.Fleet.ReportedBreakdown.Fuel": { - "properties": { - "gross_amount_decimal": { - "type": "string", - "nullable": true, - "description": "Gross fuel amount that should equal Fuel Quantity multiplied by Fuel Unit Cost, inclusive of taxes." - } - }, - "required": [ - "gross_amount_decimal" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Authorization.Fleet.ReportedBreakdown.NonFuel": { - "properties": { - "gross_amount_decimal": { - "type": "string", - "nullable": true, - "description": "Gross non-fuel amount that should equal the sum of the line items, inclusive of taxes." - } - }, - "required": [ - "gross_amount_decimal" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Authorization.Fleet.ReportedBreakdown.Tax": { - "properties": { - "local_amount_decimal": { - "type": "string", - "nullable": true, - "description": "Amount of state or provincial Sales Tax included in the transaction amount. `null` if not reported by merchant or not subject to tax." - }, - "national_amount_decimal": { - "type": "string", - "nullable": true, - "description": "Amount of national Sales Tax or VAT included in the transaction amount. `null` if not reported by merchant or not subject to tax." - } - }, - "required": [ - "local_amount_decimal", - "national_amount_decimal" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Authorization.Fleet.ReportedBreakdown": { - "properties": { - "fuel": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.Fleet.ReportedBreakdown.Fuel" - } - ], - "nullable": true, - "description": "Breakdown of fuel portion of the purchase." - }, - "non_fuel": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.Fleet.ReportedBreakdown.NonFuel" - } - ], - "nullable": true, - "description": "Breakdown of non-fuel portion of the purchase." - }, - "tax": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.Fleet.ReportedBreakdown.Tax" - } - ], - "nullable": true, - "description": "Information about tax included in this transaction." - } - }, - "required": [ - "fuel", - "non_fuel", - "tax" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Authorization.Fleet.ServiceType": { - "type": "string", - "enum": [ - "full_service", - "non_fuel_transaction", - "self_service" - ] - }, - "stripe.Stripe.Issuing.Authorization.Fleet": { - "properties": { - "cardholder_prompt_data": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.Fleet.CardholderPromptData" - } - ], - "nullable": true, - "description": "Answers to prompts presented to the cardholder at the point of sale. Prompted fields vary depending on the configuration of your physical fleet cards. Typical points of sale support only numeric entry." - }, - "purchase_type": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.Fleet.PurchaseType" - } - ], - "nullable": true, - "description": "The type of purchase." - }, - "reported_breakdown": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.Fleet.ReportedBreakdown" - } - ], - "nullable": true, - "description": "More information about the total amount. Typically this information is received from the merchant after the authorization has been approved and the fuel dispensed. This information is not guaranteed to be accurate as some merchants may provide unreliable data." - }, - "service_type": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.Fleet.ServiceType" - } - ], - "nullable": true, - "description": "The type of fuel service." - } - }, - "required": [ - "cardholder_prompt_data", - "purchase_type", - "reported_breakdown", - "service_type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Authorization.FraudChallenge.Status": { - "type": "string", - "enum": [ - "expired", - "pending", - "rejected", - "undeliverable", - "verified" - ] - }, - "stripe.Stripe.Issuing.Authorization.FraudChallenge.UndeliverableReason": { - "type": "string", - "enum": [ - "no_phone_number", - "unsupported_phone_number" - ] - }, - "stripe.Stripe.Issuing.Authorization.FraudChallenge": { - "properties": { - "channel": { - "type": "string", - "enum": [ - "sms" - ], - "nullable": false, - "description": "The method by which the fraud challenge was delivered to the cardholder." - }, - "status": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.FraudChallenge.Status", - "description": "The status of the fraud challenge." - }, - "undeliverable_reason": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.FraudChallenge.UndeliverableReason" - } - ], - "nullable": true, - "description": "If the challenge is not deliverable, the reason why." - } - }, - "required": [ - "channel", - "status", - "undeliverable_reason" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Authorization.Fuel.Type": { - "type": "string", - "enum": [ - "diesel", - "other", - "unleaded_plus", - "unleaded_regular", - "unleaded_super" - ] - }, - "stripe.Stripe.Issuing.Authorization.Fuel.Unit": { - "type": "string", - "enum": [ - "charging_minute", - "imperial_gallon", - "kilogram", - "kilowatt_hour", - "liter", - "other", - "pound", - "us_gallon" - ] - }, - "stripe.Stripe.Issuing.Authorization.Fuel": { - "properties": { - "industry_product_code": { - "type": "string", - "nullable": true, - "description": "[Conexxus Payment System Product Code](https://www.conexxus.org/conexxus-payment-system-product-codes) identifying the primary fuel product purchased." - }, - "quantity_decimal": { - "type": "string", - "nullable": true, - "description": "The quantity of `unit`s of fuel that was dispensed, represented as a decimal string with at most 12 decimal places." - }, - "type": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.Fuel.Type" - } - ], - "nullable": true, - "description": "The type of fuel that was purchased." - }, - "unit": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.Fuel.Unit" - } - ], - "nullable": true, - "description": "The units for `quantity_decimal`." - }, - "unit_cost_decimal": { - "type": "string", - "nullable": true, - "description": "The cost in cents per each unit of fuel, represented as a decimal string with at most 12 decimal places." - } - }, - "required": [ - "industry_product_code", - "quantity_decimal", - "type", - "unit", - "unit_cost_decimal" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Authorization.MerchantData": { - "properties": { - "category": { - "type": "string", - "description": "A categorization of the seller's type of business. See our [merchant categories guide](https://stripe.com/docs/issuing/merchant-categories) for a list of possible values." - }, - "category_code": { - "type": "string", - "description": "The merchant category code for the seller's business" - }, - "city": { - "type": "string", - "nullable": true, - "description": "City where the seller is located" - }, - "country": { - "type": "string", - "nullable": true, - "description": "Country where the seller is located" - }, - "name": { - "type": "string", - "nullable": true, - "description": "Name of the seller" - }, - "network_id": { - "type": "string", - "description": "Identifier assigned to the seller by the card network. Different card networks may assign different network_id fields to the same merchant." - }, - "postal_code": { - "type": "string", - "nullable": true, - "description": "Postal code where the seller is located" - }, - "state": { - "type": "string", - "nullable": true, - "description": "State where the seller is located" - }, - "tax_id": { - "type": "string", - "nullable": true, - "description": "The seller's tax identification number. Currently populated for French merchants only." - }, - "terminal_id": { - "type": "string", - "nullable": true, - "description": "An ID assigned by the seller to the location of the sale." - }, - "url": { - "type": "string", - "nullable": true, - "description": "URL provided by the merchant on a 3DS request" - } - }, - "required": [ - "category", - "category_code", - "city", - "country", - "name", - "network_id", - "postal_code", - "state", - "tax_id", - "terminal_id", - "url" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Authorization.NetworkData": { - "properties": { - "acquiring_institution_id": { - "type": "string", - "nullable": true, - "description": "Identifier assigned to the acquirer by the card network. Sometimes this value is not provided by the network; in this case, the value will be `null`." - }, - "system_trace_audit_number": { - "type": "string", - "nullable": true, - "description": "The System Trace Audit Number (STAN) is a 6-digit identifier assigned by the acquirer. Prefer `network_data.transaction_id` if present, unless you have special requirements." - }, - "transaction_id": { - "type": "string", - "nullable": true, - "description": "Unique identifier for the authorization assigned by the card network used to match subsequent messages, disputes, and transactions." - } - }, - "required": [ - "acquiring_institution_id", - "system_trace_audit_number", - "transaction_id" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Authorization.PendingRequest.AmountDetails": { - "properties": { - "atm_fee": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The fee charged by the ATM for the cash withdrawal." - }, - "cashback_amount": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The amount of cash requested by the cardholder." - } - }, - "required": [ - "atm_fee", - "cashback_amount" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Authorization.PendingRequest": { - "properties": { - "amount": { - "type": "number", - "format": "double", - "description": "The additional amount Stripe will hold if the authorization is approved, in the card's [currency](https://stripe.com/docs/api#issuing_authorization_object-pending-request-currency) and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal)." - }, - "amount_details": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.PendingRequest.AmountDetails" - } - ], - "nullable": true, - "description": "Detailed breakdown of amount components. These amounts are denominated in `currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal)." - }, - "currency": { - "type": "string", - "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." - }, - "is_amount_controllable": { - "type": "boolean", - "description": "If set `true`, you may provide [amount](https://stripe.com/docs/api/issuing/authorizations/approve#approve_issuing_authorization-amount) to control how much to hold for the authorization." - }, - "merchant_amount": { - "type": "number", - "format": "double", - "description": "The amount the merchant is requesting to be authorized in the `merchant_currency`. The amount is in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal)." - }, - "merchant_currency": { - "type": "string", - "description": "The local currency the merchant is requesting to authorize." - }, - "network_risk_score": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The card network's estimate of the likelihood that an authorization is fraudulent. Takes on values between 1 and 99." - } - }, - "required": [ - "amount", - "amount_details", - "currency", - "is_amount_controllable", - "merchant_amount", - "merchant_currency", - "network_risk_score" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Authorization.RequestHistory.AmountDetails": { - "properties": { - "atm_fee": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The fee charged by the ATM for the cash withdrawal." - }, - "cashback_amount": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The amount of cash requested by the cardholder." - } - }, - "required": [ - "atm_fee", - "cashback_amount" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Authorization.RequestHistory.Reason": { - "type": "string", - "enum": [ - "account_disabled", - "card_active", - "card_canceled", - "card_expired", - "card_inactive", - "cardholder_blocked", - "cardholder_inactive", - "cardholder_verification_required", - "insecure_authorization_method", - "insufficient_funds", - "not_allowed", - "pin_blocked", - "spending_controls", - "suspected_fraud", - "verification_failed", - "webhook_approved", - "webhook_declined", - "webhook_error", - "webhook_timeout" - ] - }, - "stripe.Stripe.Issuing.Authorization.RequestHistory": { - "properties": { - "amount": { - "type": "number", - "format": "double", - "description": "The `pending_request.amount` at the time of the request, presented in your card's currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). Stripe held this amount from your account to fund the authorization if the request was approved." - }, - "amount_details": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.RequestHistory.AmountDetails" - } - ], - "nullable": true, - "description": "Detailed breakdown of amount components. These amounts are denominated in `currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal)." - }, - "approved": { - "type": "boolean", - "description": "Whether this request was approved." - }, - "authorization_code": { - "type": "string", - "nullable": true, - "description": "A code created by Stripe which is shared with the merchant to validate the authorization. This field will be populated if the authorization message was approved. The code typically starts with the letter \"S\", followed by a six-digit number. For example, \"S498162\". Please note that the code is not guaranteed to be unique across authorizations." - }, - "created": { - "type": "number", - "format": "double", - "description": "Time at which the object was created. Measured in seconds since the Unix epoch." - }, - "currency": { - "type": "string", - "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." - }, - "merchant_amount": { - "type": "number", - "format": "double", - "description": "The `pending_request.merchant_amount` at the time of the request, presented in the `merchant_currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal)." - }, - "merchant_currency": { - "type": "string", - "description": "The currency that was collected by the merchant and presented to the cardholder for the authorization. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." - }, - "network_risk_score": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The card network's estimate of the likelihood that an authorization is fraudulent. Takes on values between 1 and 99." - }, - "reason": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.RequestHistory.Reason", - "description": "When an authorization is approved or declined by you or by Stripe, this field provides additional detail on the reason for the outcome." - }, - "reason_message": { - "type": "string", - "nullable": true, - "description": "If the `request_history.reason` is `webhook_error` because the direct webhook response is invalid (for example, parsing errors or missing parameters), we surface a more detailed error message via this field." - }, - "requested_at": { - "type": "number", - "format": "double", - "nullable": true, - "description": "Time when the card network received an authorization request from the acquirer in UTC. Referred to by networks as transmission time." - } - }, - "required": [ - "amount", - "amount_details", - "approved", - "authorization_code", - "created", - "currency", - "merchant_amount", - "merchant_currency", - "network_risk_score", - "reason", - "reason_message", - "requested_at" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Authorization.Status": { - "type": "string", - "enum": [ - "closed", - "pending", - "reversed" - ] - }, - "stripe.Stripe.Issuing.Token.Network": { - "type": "string", - "enum": [ - "mastercard", - "visa" - ] - }, - "stripe.Stripe.Issuing.Token.NetworkData.Device.Type": { - "type": "string", - "enum": [ - "other", - "phone", - "watch" - ] - }, - "stripe.Stripe.Issuing.Token.NetworkData.Device": { - "properties": { - "device_fingerprint": { - "type": "string", - "description": "An obfuscated ID derived from the device ID." - }, - "ip_address": { - "type": "string", - "description": "The IP address of the device at provisioning time." - }, - "location": { - "type": "string", - "description": "The geographic latitude/longitude coordinates of the device at provisioning time. The format is [+-]decimal/[+-]decimal." - }, - "name": { - "type": "string", - "description": "The name of the device used for tokenization." - }, - "phone_number": { - "type": "string", - "description": "The phone number of the device used for tokenization." - }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Token.NetworkData.Device.Type", - "description": "The type of device used for tokenization." - } - }, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Token.NetworkData.Mastercard": { - "properties": { - "card_reference_id": { - "type": "string", - "description": "A unique reference ID from MasterCard to represent the card account number." - }, - "token_reference_id": { - "type": "string", - "description": "The network-unique identifier for the token." - }, - "token_requestor_id": { - "type": "string", - "description": "The ID of the entity requesting tokenization, specific to MasterCard." - }, - "token_requestor_name": { - "type": "string", - "description": "The name of the entity requesting tokenization, if known. This is directly provided from MasterCard." - } - }, - "required": [ - "token_reference_id", - "token_requestor_id" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Token.NetworkData.Type": { - "type": "string", - "enum": [ - "mastercard", - "visa" - ] - }, - "stripe.Stripe.Issuing.Token.NetworkData.Visa": { - "properties": { - "card_reference_id": { - "type": "string", - "description": "A unique reference ID from Visa to represent the card account number." - }, - "token_reference_id": { - "type": "string", - "description": "The network-unique identifier for the token." - }, - "token_requestor_id": { - "type": "string", - "description": "The ID of the entity requesting tokenization, specific to Visa." - }, - "token_risk_score": { - "type": "string", - "description": "Degree of risk associated with the token between `01` and `99`, with higher number indicating higher risk. A `00` value indicates the token was not scored by Visa." - } - }, - "required": [ - "card_reference_id", - "token_reference_id", - "token_requestor_id" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Token.NetworkData.WalletProvider.CardNumberSource": { - "type": "string", - "enum": [ - "app", - "manual", - "on_file", - "other" - ] - }, - "stripe.Stripe.Issuing.Token.NetworkData.WalletProvider.CardholderAddress": { - "properties": { - "line1": { - "type": "string", - "description": "The street address of the cardholder tokenizing the card." - }, - "postal_code": { - "type": "string", - "description": "The postal code of the cardholder tokenizing the card." - } - }, - "required": [ - "line1", - "postal_code" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Token.NetworkData.WalletProvider.ReasonCode": { - "type": "string", - "enum": [ - "account_card_too_new", - "account_recently_changed", - "account_too_new", - "account_too_new_since_launch", - "additional_device", - "data_expired", - "defer_id_v_decision", - "device_recently_lost", - "good_activity_history", - "has_suspended_tokens", - "high_risk", - "inactive_account", - "long_account_tenure", - "low_account_score", - "low_device_score", - "low_phone_number_score", - "network_service_error", - "outside_home_territory", - "provisioning_cardholder_mismatch", - "provisioning_device_and_cardholder_mismatch", - "provisioning_device_mismatch", - "same_device_no_prior_authentication", - "same_device_successful_prior_authentication", - "software_update", - "suspicious_activity", - "too_many_different_cardholders", - "too_many_recent_attempts", - "too_many_recent_tokens" - ] - }, - "stripe.Stripe.Issuing.Token.NetworkData.WalletProvider.SuggestedDecision": { - "type": "string", - "enum": [ - "approve", - "decline", - "require_auth" - ] - }, - "stripe.Stripe.Issuing.Token.NetworkData.WalletProvider": { - "properties": { - "account_id": { - "type": "string", - "description": "The wallet provider-given account ID of the digital wallet the token belongs to." - }, - "account_trust_score": { - "type": "number", - "format": "double", - "description": "An evaluation on the trustworthiness of the wallet account between 1 and 5. A higher score indicates more trustworthy." - }, - "card_number_source": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Token.NetworkData.WalletProvider.CardNumberSource", - "description": "The method used for tokenizing a card." - }, - "cardholder_address": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Token.NetworkData.WalletProvider.CardholderAddress" - }, - "cardholder_name": { - "type": "string", - "description": "The name of the cardholder tokenizing the card." - }, - "device_trust_score": { - "type": "number", - "format": "double", - "description": "An evaluation on the trustworthiness of the device. A higher score indicates more trustworthy." - }, - "hashed_account_email_address": { - "type": "string", - "description": "The hashed email address of the cardholder's account with the wallet provider." - }, - "reason_codes": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Token.NetworkData.WalletProvider.ReasonCode" - }, - "type": "array", - "description": "The reasons for suggested tokenization given by the card network." - }, - "suggested_decision": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Token.NetworkData.WalletProvider.SuggestedDecision", - "description": "The recommendation on responding to the tokenization request." - }, - "suggested_decision_version": { - "type": "string", - "description": "The version of the standard for mapping reason codes followed by the wallet provider." - } - }, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Token.NetworkData": { - "properties": { - "device": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Token.NetworkData.Device" - }, - "mastercard": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Token.NetworkData.Mastercard" - }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Token.NetworkData.Type", - "description": "The network that the token is associated with. An additional hash is included with a name matching this value, containing tokenization data specific to the card network." - }, - "visa": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Token.NetworkData.Visa" - }, - "wallet_provider": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Token.NetworkData.WalletProvider" - } - }, - "required": [ - "type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Token.Status": { - "type": "string", - "enum": [ - "active", - "deleted", - "requested", - "suspended" - ] - }, - "stripe.Stripe.Issuing.Token.WalletProvider": { - "type": "string", - "enum": [ - "apple_pay", - "google_pay", - "samsung_pay" - ] - }, - "stripe.Stripe.Issuing.Token": { - "description": "An issuing token object is created when an issued card is added to a digital wallet. As a [card issuer](https://stripe.com/docs/issuing), you can [view and manage these tokens](https://stripe.com/docs/issuing/controls/token-management) through Stripe.", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." - }, - "object": { - "type": "string", - "enum": [ - "issuing.token" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." - }, - "card": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card" - } - ], - "description": "Card associated with this token." - }, - "created": { - "type": "number", - "format": "double", - "description": "Time at which the object was created. Measured in seconds since the Unix epoch." - }, - "device_fingerprint": { - "type": "string", - "nullable": true, - "description": "The hashed ID derived from the device ID from the card network associated with the token." - }, - "last4": { - "type": "string", - "description": "The last four digits of the token." - }, - "livemode": { - "type": "boolean", - "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." - }, - "network": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Token.Network", - "description": "The token service provider / card network associated with the token." - }, - "network_data": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Token.NetworkData" - }, - "network_updated_at": { - "type": "number", - "format": "double", - "description": "Time at which the token was last updated by the card network. Measured in seconds since the Unix epoch." - }, - "status": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Token.Status", - "description": "The usage state of the token." - }, - "wallet_provider": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Token.WalletProvider", - "description": "The digital wallet for this token, if one was used." - } - }, - "required": [ - "id", - "object", - "card", - "created", - "device_fingerprint", - "livemode", - "network", - "network_updated_at", - "status" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Transaction.AmountDetails": { - "properties": { - "atm_fee": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The fee charged by the ATM for the cash withdrawal." - }, - "cashback_amount": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The amount of cash requested by the cardholder." - } - }, - "required": [ - "atm_fee", - "cashback_amount" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Authorization": { - "description": "When an [issued card](https://stripe.com/docs/issuing) is used to make a purchase, an Issuing `Authorization`\nobject is created. [Authorizations](https://stripe.com/docs/issuing/purchases/authorizations) must be approved for the\npurchase to be completed successfully.\n\nRelated guide: [Issued card authorizations](https://stripe.com/docs/issuing/purchases/authorizations)", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." - }, - "object": { - "type": "string", - "enum": [ - "issuing.authorization" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." - }, - "amount": { - "type": "number", - "format": "double", - "description": "The total amount that was authorized or rejected. This amount is in `currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). `amount` should be the same as `merchant_amount`, unless `currency` and `merchant_currency` are different." - }, - "amount_details": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.AmountDetails" - } - ], - "nullable": true, - "description": "Detailed breakdown of amount components. These amounts are denominated in `currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal)." - }, - "approved": { - "type": "boolean", - "description": "Whether the authorization has been approved." - }, - "authorization_method": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.AuthorizationMethod", - "description": "How the card details were provided." - }, - "balance_transactions": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.BalanceTransaction" - }, - "type": "array", - "description": "List of balance transactions associated with this authorization." - }, - "card": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card", - "description": "You can [create physical or virtual cards](https://stripe.com/docs/issuing) that are issued to cardholders." - }, - "cardholder": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder" - } - ], - "nullable": true, - "description": "The cardholder to whom this authorization belongs." - }, - "created": { - "type": "number", - "format": "double", - "description": "Time at which the object was created. Measured in seconds since the Unix epoch." - }, - "currency": { - "type": "string", - "description": "The currency of the cardholder. This currency can be different from the currency presented at authorization and the `merchant_currency` field on this authorization. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." - }, - "fleet": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.Fleet" - } - ], - "nullable": true, - "description": "Fleet-specific information for authorizations using Fleet cards." - }, - "fraud_challenges": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.FraudChallenge" - }, - "type": "array", - "nullable": true, - "description": "Fraud challenges sent to the cardholder, if this authorization was declined for fraud risk reasons." - }, - "fuel": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.Fuel" - } - ], - "nullable": true, - "description": "Information about fuel that was purchased with this transaction. Typically this information is received from the merchant after the authorization has been approved and the fuel dispensed." - }, - "livemode": { - "type": "boolean", - "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." - }, - "merchant_amount": { - "type": "number", - "format": "double", - "description": "The total amount that was authorized or rejected. This amount is in the `merchant_currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). `merchant_amount` should be the same as `amount`, unless `merchant_currency` and `currency` are different." - }, - "merchant_currency": { - "type": "string", - "description": "The local currency that was presented to the cardholder for the authorization. This currency can be different from the cardholder currency and the `currency` field on this authorization. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." - }, - "merchant_data": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.MerchantData" - }, - "metadata": { - "$ref": "#/components/schemas/stripe.Stripe.Metadata", - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." - }, - "network_data": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.NetworkData" - } - ], - "nullable": true, - "description": "Details about the authorization, such as identifiers, set by the card network." - }, - "pending_request": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.PendingRequest" - } - ], - "nullable": true, - "description": "The pending authorization request. This field will only be non-null during an `issuing_authorization.request` webhook." - }, - "request_history": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.RequestHistory" - }, - "type": "array", - "description": "History of every time a `pending_request` authorization was approved/declined, either by you directly or by Stripe (e.g. based on your spending_controls). If the merchant changes the authorization by performing an incremental authorization, you can look at this field to see the previous requests for the authorization. This field can be helpful in determining why a given authorization was approved/declined." - }, - "status": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.Status", - "description": "The current status of the authorization in its lifecycle." - }, - "token": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Token" - } - ], - "nullable": true, - "description": "[Token](https://stripe.com/docs/api/issuing/tokens/object) object used for this authorization. If a network token was not used for this authorization, this field will be null." - }, - "transactions": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction" - }, - "type": "array", - "description": "List of [transactions](https://stripe.com/docs/api/issuing/transactions) associated with this authorization." - }, - "treasury": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.Treasury" - } - ], - "nullable": true, - "description": "[Treasury](https://stripe.com/docs/api/treasury) details related to this authorization if it was created on a [FinancialAccount](https://stripe.com/docs/api/treasury/financial_accounts)." - }, - "verification_data": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.VerificationData" - }, - "verified_by_fraud_challenge": { - "type": "boolean", - "nullable": true, - "description": "Whether the authorization bypassed fraud risk checks because the cardholder has previously completed a fraud challenge on a similar high-risk authorization from the same merchant." - }, - "wallet": { - "type": "string", - "nullable": true, - "description": "The digital wallet used for this transaction. One of `apple_pay`, `google_pay`, or `samsung_pay`. Will populate as `null` when no digital wallet was utilized." - } - }, - "required": [ - "id", - "object", - "amount", - "amount_details", - "approved", - "authorization_method", - "balance_transactions", - "card", - "cardholder", - "created", - "currency", - "fleet", - "fuel", - "livemode", - "merchant_amount", - "merchant_currency", - "merchant_data", - "metadata", - "network_data", - "pending_request", - "request_history", - "status", - "transactions", - "verification_data", - "verified_by_fraud_challenge", - "wallet" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Dispute.Evidence.Canceled.ProductType": { - "type": "string", - "enum": [ - "merchandise", - "service" - ] - }, - "stripe.Stripe.Issuing.Dispute.Evidence.Canceled.ReturnStatus": { - "type": "string", - "enum": [ - "merchant_rejected", - "successful" - ] - }, - "stripe.Stripe.Issuing.Dispute.Evidence.Canceled": { - "properties": { - "additional_documentation": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.File" - } - ], - "nullable": true, - "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute." - }, - "canceled_at": { - "type": "number", - "format": "double", - "nullable": true, - "description": "Date when order was canceled." - }, - "cancellation_policy_provided": { - "type": "boolean", - "nullable": true, - "description": "Whether the cardholder was provided with a cancellation policy." - }, - "cancellation_reason": { - "type": "string", - "nullable": true, - "description": "Reason for canceling the order." - }, - "expected_at": { - "type": "number", - "format": "double", - "nullable": true, - "description": "Date when the cardholder expected to receive the product." - }, - "explanation": { - "type": "string", - "nullable": true, - "description": "Explanation of why the cardholder is disputing this transaction." - }, - "product_description": { - "type": "string", - "nullable": true, - "description": "Description of the merchandise or service that was purchased." - }, - "product_type": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Dispute.Evidence.Canceled.ProductType" - } - ], - "nullable": true, - "description": "Whether the product was a merchandise or service." - }, - "return_status": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Dispute.Evidence.Canceled.ReturnStatus" - } - ], - "nullable": true, - "description": "Result of cardholder's attempt to return the product." - }, - "returned_at": { - "type": "number", - "format": "double", - "nullable": true, - "description": "Date when the product was returned or attempted to be returned." - } - }, - "required": [ - "additional_documentation", - "canceled_at", - "cancellation_policy_provided", - "cancellation_reason", - "expected_at", - "explanation", - "product_description", - "product_type", - "return_status", - "returned_at" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Dispute.Evidence.Duplicate": { - "properties": { - "additional_documentation": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.File" - } - ], - "nullable": true, - "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute." - }, - "card_statement": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.File" - } - ], - "nullable": true, - "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Copy of the card statement showing that the product had already been paid for." - }, - "cash_receipt": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.File" - } - ], - "nullable": true, - "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Copy of the receipt showing that the product had been paid for in cash." - }, - "check_image": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.File" - } - ], - "nullable": true, - "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Image of the front and back of the check that was used to pay for the product." - }, - "explanation": { - "type": "string", - "nullable": true, - "description": "Explanation of why the cardholder is disputing this transaction." - }, - "original_transaction": { - "type": "string", - "nullable": true, - "description": "Transaction (e.g., ipi_...) that the disputed transaction is a duplicate of. Of the two or more transactions that are copies of each other, this is original undisputed one." - } - }, - "required": [ - "additional_documentation", - "card_statement", - "cash_receipt", - "check_image", - "explanation", - "original_transaction" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Dispute.Evidence.Fraudulent": { - "properties": { - "additional_documentation": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.File" - } - ], - "nullable": true, - "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute." - }, - "explanation": { - "type": "string", - "nullable": true, - "description": "Explanation of why the cardholder is disputing this transaction." - } - }, - "required": [ - "additional_documentation", - "explanation" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Dispute.Evidence.MerchandiseNotAsDescribed.ReturnStatus": { - "type": "string", - "enum": [ - "merchant_rejected", - "successful" - ] - }, - "stripe.Stripe.Issuing.Dispute.Evidence.MerchandiseNotAsDescribed": { - "properties": { - "additional_documentation": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.File" - } - ], - "nullable": true, - "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute." - }, - "explanation": { - "type": "string", - "nullable": true, - "description": "Explanation of why the cardholder is disputing this transaction." - }, - "received_at": { - "type": "number", - "format": "double", - "nullable": true, - "description": "Date when the product was received." - }, - "return_description": { - "type": "string", - "nullable": true, - "description": "Description of the cardholder's attempt to return the product." - }, - "return_status": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Dispute.Evidence.MerchandiseNotAsDescribed.ReturnStatus" - } - ], - "nullable": true, - "description": "Result of cardholder's attempt to return the product." - }, - "returned_at": { - "type": "number", - "format": "double", - "nullable": true, - "description": "Date when the product was returned or attempted to be returned." - } - }, - "required": [ - "additional_documentation", - "explanation", - "received_at", - "return_description", - "return_status", - "returned_at" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Dispute.Evidence.NoValidAuthorization": { - "properties": { - "additional_documentation": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.File" - } - ], - "nullable": true, - "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute." - }, - "explanation": { - "type": "string", - "nullable": true, - "description": "Explanation of why the cardholder is disputing this transaction." - } - }, - "required": [ - "additional_documentation", - "explanation" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Dispute.Evidence.NotReceived.ProductType": { - "type": "string", - "enum": [ - "merchandise", - "service" - ] - }, - "stripe.Stripe.Issuing.Dispute.Evidence.NotReceived": { - "properties": { - "additional_documentation": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.File" - } - ], - "nullable": true, - "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute." - }, - "expected_at": { - "type": "number", - "format": "double", - "nullable": true, - "description": "Date when the cardholder expected to receive the product." - }, - "explanation": { - "type": "string", - "nullable": true, - "description": "Explanation of why the cardholder is disputing this transaction." - }, - "product_description": { - "type": "string", - "nullable": true, - "description": "Description of the merchandise or service that was purchased." - }, - "product_type": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Dispute.Evidence.NotReceived.ProductType" - } - ], - "nullable": true, - "description": "Whether the product was a merchandise or service." - } - }, - "required": [ - "additional_documentation", - "expected_at", - "explanation", - "product_description", - "product_type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Dispute.Evidence.Other.ProductType": { - "type": "string", - "enum": [ - "merchandise", - "service" - ] - }, - "stripe.Stripe.Issuing.Dispute.Evidence.Other": { - "properties": { - "additional_documentation": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.File" - } - ], - "nullable": true, - "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute." - }, - "explanation": { - "type": "string", - "nullable": true, - "description": "Explanation of why the cardholder is disputing this transaction." - }, - "product_description": { - "type": "string", - "nullable": true, - "description": "Description of the merchandise or service that was purchased." - }, - "product_type": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Dispute.Evidence.Other.ProductType" - } - ], - "nullable": true, - "description": "Whether the product was a merchandise or service." - } - }, - "required": [ - "additional_documentation", - "explanation", - "product_description", - "product_type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Dispute.Evidence.Reason": { - "type": "string", - "enum": [ - "canceled", - "duplicate", - "fraudulent", - "merchandise_not_as_described", - "no_valid_authorization", - "not_received", - "other", - "service_not_as_described" - ] - }, - "stripe.Stripe.Issuing.Dispute.Evidence.ServiceNotAsDescribed": { - "properties": { - "additional_documentation": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.File" - } - ], - "nullable": true, - "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute." - }, - "canceled_at": { - "type": "number", - "format": "double", - "nullable": true, - "description": "Date when order was canceled." - }, - "cancellation_reason": { - "type": "string", - "nullable": true, - "description": "Reason for canceling the order." - }, - "explanation": { - "type": "string", - "nullable": true, - "description": "Explanation of why the cardholder is disputing this transaction." - }, - "received_at": { - "type": "number", - "format": "double", - "nullable": true, - "description": "Date when the product was received." - } - }, - "required": [ - "additional_documentation", - "canceled_at", - "cancellation_reason", - "explanation", - "received_at" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Dispute.Evidence": { - "properties": { - "canceled": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Dispute.Evidence.Canceled" - }, - "duplicate": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Dispute.Evidence.Duplicate" - }, - "fraudulent": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Dispute.Evidence.Fraudulent" - }, - "merchandise_not_as_described": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Dispute.Evidence.MerchandiseNotAsDescribed" - }, - "no_valid_authorization": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Dispute.Evidence.NoValidAuthorization" - }, - "not_received": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Dispute.Evidence.NotReceived" - }, - "other": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Dispute.Evidence.Other" - }, - "reason": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Dispute.Evidence.Reason", - "description": "The reason for filing the dispute. Its value will match the field containing the evidence." - }, - "service_not_as_described": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Dispute.Evidence.ServiceNotAsDescribed" - } - }, - "required": [ - "reason" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Dispute.LossReason": { - "type": "string", - "enum": [ - "cardholder_authentication_issuer_liability", - "eci5_token_transaction_with_tavv", - "excess_disputes_in_timeframe", - "has_not_met_the_minimum_dispute_amount_requirements", - "invalid_duplicate_dispute", - "invalid_incorrect_amount_dispute", - "invalid_no_authorization", - "invalid_use_of_disputes", - "merchandise_delivered_or_shipped", - "merchandise_or_service_as_described", - "not_cancelled", - "other", - "refund_issued", - "submitted_beyond_allowable_time_limit", - "transaction_3ds_required", - "transaction_approved_after_prior_fraud_dispute", - "transaction_authorized", - "transaction_electronically_read", - "transaction_qualifies_for_visa_easy_payment_service", - "transaction_unattended" - ] - }, - "stripe.Stripe.Issuing.Dispute.Status": { - "type": "string", - "enum": [ - "expired", - "lost", - "submitted", - "unsubmitted", - "won" - ] - }, - "stripe.Stripe.Issuing.Transaction": { - "description": "Any use of an [issued card](https://stripe.com/docs/issuing) that results in funds entering or leaving\nyour Stripe account, such as a completed purchase or refund, is represented by an Issuing\n`Transaction` object.\n\nRelated guide: [Issued card transactions](https://stripe.com/docs/issuing/purchases/transactions)", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." - }, - "object": { - "type": "string", - "enum": [ - "issuing.transaction" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." - }, - "amount": { - "type": "number", - "format": "double", - "description": "The transaction amount, which will be reflected in your balance. This amount is in your currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal)." - }, - "amount_details": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction.AmountDetails" - } - ], - "nullable": true, - "description": "Detailed breakdown of amount components. These amounts are denominated in `currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal)." - }, - "authorization": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization" - } - ], - "nullable": true, - "description": "The `Authorization` object that led to this transaction." - }, - "balance_transaction": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.BalanceTransaction" - } - ], - "nullable": true, - "description": "ID of the [balance transaction](https://stripe.com/docs/api/balance_transactions) associated with this transaction." - }, - "card": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card" - } - ], - "description": "The card used to make this transaction." - }, - "cardholder": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder" - } - ], - "nullable": true, - "description": "The cardholder to whom this transaction belongs." - }, - "created": { - "type": "number", - "format": "double", - "description": "Time at which the object was created. Measured in seconds since the Unix epoch." - }, - "currency": { - "type": "string", - "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." - }, - "dispute": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Dispute" - } - ], - "nullable": true, - "description": "If you've disputed the transaction, the ID of the dispute." - }, - "livemode": { - "type": "boolean", - "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." - }, - "merchant_amount": { - "type": "number", - "format": "double", - "description": "The amount that the merchant will receive, denominated in `merchant_currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). It will be different from `amount` if the merchant is taking payment in a different currency." - }, - "merchant_currency": { - "type": "string", - "description": "The currency with which the merchant is taking payment." - }, - "merchant_data": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction.MerchantData" - }, - "metadata": { - "$ref": "#/components/schemas/stripe.Stripe.Metadata", - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." - }, - "network_data": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction.NetworkData" - } - ], - "nullable": true, - "description": "Details about the transaction, such as processing dates, set by the card network." - }, - "purchase_details": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction.PurchaseDetails" - } - ], - "nullable": true, - "description": "Additional purchase information that is optionally provided by the merchant." - }, - "token": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Token" - } - ], - "nullable": true, - "description": "[Token](https://stripe.com/docs/api/issuing/tokens/object) object used for this transaction. If a network token was not used for this transaction, this field will be null." - }, - "treasury": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction.Treasury" - } - ], - "nullable": true, - "description": "[Treasury](https://stripe.com/docs/api/treasury) details related to this transaction if it was created on a [FinancialAccount](/docs/api/treasury/financial_accounts" - }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction.Type", - "description": "The nature of the transaction." - }, - "wallet": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction.Wallet" - } - ], - "nullable": true, - "description": "The digital wallet used for this transaction. One of `apple_pay`, `google_pay`, or `samsung_pay`." - } - }, - "required": [ - "id", - "object", - "amount", - "amount_details", - "authorization", - "balance_transaction", - "card", - "cardholder", - "created", - "currency", - "dispute", - "livemode", - "merchant_amount", - "merchant_currency", - "merchant_data", - "metadata", - "network_data", - "type", - "wallet" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Dispute.Treasury": { - "properties": { - "debit_reversal": { - "type": "string", - "nullable": true, - "description": "The Treasury [DebitReversal](https://stripe.com/docs/api/treasury/debit_reversals) representing this Issuing dispute" - }, - "received_debit": { - "type": "string", - "description": "The Treasury [ReceivedDebit](https://stripe.com/docs/api/treasury/received_debits) that is being disputed." - } - }, - "required": [ - "debit_reversal", - "received_debit" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Dispute": { - "description": "As a [card issuer](https://stripe.com/docs/issuing), you can dispute transactions that the cardholder does not recognize, suspects to be fraudulent, or has other issues with.\n\nRelated guide: [Issuing disputes](https://stripe.com/docs/issuing/purchases/disputes)", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." - }, - "object": { - "type": "string", - "enum": [ - "issuing.dispute" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." - }, - "amount": { - "type": "number", - "format": "double", - "description": "Disputed amount in the card's currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). Usually the amount of the `transaction`, but can differ (usually because of currency fluctuation)." - }, - "balance_transactions": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.BalanceTransaction" - }, - "type": "array", - "nullable": true, - "description": "List of balance transactions associated with the dispute." - }, - "created": { - "type": "number", - "format": "double", - "description": "Time at which the object was created. Measured in seconds since the Unix epoch." - }, - "currency": { - "type": "string", - "description": "The currency the `transaction` was made in." - }, - "evidence": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Dispute.Evidence" - }, - "livemode": { - "type": "boolean", - "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." - }, - "loss_reason": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Dispute.LossReason", - "description": "The enum that describes the dispute loss outcome. If the dispute is not lost, this field will be absent. New enum values may be added in the future, so be sure to handle unknown values." - }, - "metadata": { - "$ref": "#/components/schemas/stripe.Stripe.Metadata", - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." - }, - "status": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Dispute.Status", - "description": "Current status of the dispute." - }, - "transaction": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction" - } - ], - "description": "The transaction being disputed." - }, - "treasury": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Dispute.Treasury" - } - ], - "nullable": true, - "description": "[Treasury](https://stripe.com/docs/api/treasury) details related to this dispute if it was created on a [FinancialAccount](/docs/api/treasury/financial_accounts" - } - }, - "required": [ - "id", - "object", - "amount", - "created", - "currency", - "evidence", - "livemode", - "metadata", - "status", - "transaction" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Transaction.MerchantData": { - "properties": { - "category": { - "type": "string", - "description": "A categorization of the seller's type of business. See our [merchant categories guide](https://stripe.com/docs/issuing/merchant-categories) for a list of possible values." - }, - "category_code": { - "type": "string", - "description": "The merchant category code for the seller's business" - }, - "city": { - "type": "string", - "nullable": true, - "description": "City where the seller is located" - }, - "country": { - "type": "string", - "nullable": true, - "description": "Country where the seller is located" - }, - "name": { - "type": "string", - "nullable": true, - "description": "Name of the seller" - }, - "network_id": { - "type": "string", - "description": "Identifier assigned to the seller by the card network. Different card networks may assign different network_id fields to the same merchant." - }, - "postal_code": { - "type": "string", - "nullable": true, - "description": "Postal code where the seller is located" - }, - "state": { - "type": "string", - "nullable": true, - "description": "State where the seller is located" - }, - "tax_id": { - "type": "string", - "nullable": true, - "description": "The seller's tax identification number. Currently populated for French merchants only." - }, - "terminal_id": { - "type": "string", - "nullable": true, - "description": "An ID assigned by the seller to the location of the sale." - }, - "url": { - "type": "string", - "nullable": true, - "description": "URL provided by the merchant on a 3DS request" - } - }, - "required": [ - "category", - "category_code", - "city", - "country", - "name", - "network_id", - "postal_code", - "state", - "tax_id", - "terminal_id", - "url" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Transaction.NetworkData": { - "properties": { - "authorization_code": { - "type": "string", - "nullable": true, - "description": "A code created by Stripe which is shared with the merchant to validate the authorization. This field will be populated if the authorization message was approved. The code typically starts with the letter \"S\", followed by a six-digit number. For example, \"S498162\". Please note that the code is not guaranteed to be unique across authorizations." - }, - "processing_date": { - "type": "string", - "nullable": true, - "description": "The date the transaction was processed by the card network. This can be different from the date the seller recorded the transaction depending on when the acquirer submits the transaction to the network." - }, - "transaction_id": { - "type": "string", - "nullable": true, - "description": "Unique identifier for the authorization assigned by the card network used to match subsequent messages, disputes, and transactions." - } - }, - "required": [ - "authorization_code", - "processing_date", - "transaction_id" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet.CardholderPromptData": { - "properties": { - "driver_id": { - "type": "string", - "nullable": true, - "description": "Driver ID." - }, - "odometer": { - "type": "number", - "format": "double", - "nullable": true, - "description": "Odometer reading." - }, - "unspecified_id": { - "type": "string", - "nullable": true, - "description": "An alphanumeric ID. This field is used when a vehicle ID, driver ID, or generic ID is entered by the cardholder, but the merchant or card network did not specify the prompt type." - }, - "user_id": { - "type": "string", - "nullable": true, - "description": "User ID." - }, - "vehicle_number": { - "type": "string", - "nullable": true, - "description": "Vehicle number." - } - }, - "required": [ - "driver_id", - "odometer", - "unspecified_id", - "user_id", - "vehicle_number" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet.ReportedBreakdown.Fuel": { - "properties": { - "gross_amount_decimal": { - "type": "string", - "nullable": true, - "description": "Gross fuel amount that should equal Fuel Volume multipled by Fuel Unit Cost, inclusive of taxes." - } - }, - "required": [ - "gross_amount_decimal" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet.ReportedBreakdown.NonFuel": { - "properties": { - "gross_amount_decimal": { - "type": "string", - "nullable": true, - "description": "Gross non-fuel amount that should equal the sum of the line items, inclusive of taxes." - } - }, - "required": [ - "gross_amount_decimal" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet.ReportedBreakdown.Tax": { - "properties": { - "local_amount_decimal": { - "type": "string", - "nullable": true, - "description": "Amount of state or provincial Sales Tax included in the transaction amount. Null if not reported by merchant or not subject to tax." - }, - "national_amount_decimal": { - "type": "string", - "nullable": true, - "description": "Amount of national Sales Tax or VAT included in the transaction amount. Null if not reported by merchant or not subject to tax." - } - }, - "required": [ - "local_amount_decimal", - "national_amount_decimal" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet.ReportedBreakdown": { - "properties": { - "fuel": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet.ReportedBreakdown.Fuel" - } - ], - "nullable": true, - "description": "Breakdown of fuel portion of the purchase." - }, - "non_fuel": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet.ReportedBreakdown.NonFuel" - } - ], - "nullable": true, - "description": "Breakdown of non-fuel portion of the purchase." - }, - "tax": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet.ReportedBreakdown.Tax" - } - ], - "nullable": true, - "description": "Information about tax included in this transaction." - } - }, - "required": [ - "fuel", - "non_fuel", - "tax" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet": { - "properties": { - "cardholder_prompt_data": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet.CardholderPromptData" - } - ], - "nullable": true, - "description": "Answers to prompts presented to cardholder at point of sale." - }, - "purchase_type": { - "type": "string", - "nullable": true, - "description": "The type of purchase. One of `fuel_purchase`, `non_fuel_purchase`, or `fuel_and_non_fuel_purchase`." - }, - "reported_breakdown": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet.ReportedBreakdown" - } - ], - "nullable": true, - "description": "More information about the total amount. This information is not guaranteed to be accurate as some merchants may provide unreliable data." - }, - "service_type": { - "type": "string", - "nullable": true, - "description": "The type of fuel service. One of `non_fuel_transaction`, `full_service`, or `self_service`." - } - }, - "required": [ - "cardholder_prompt_data", - "purchase_type", - "reported_breakdown", - "service_type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Flight.Segment": { - "properties": { - "arrival_airport_code": { - "type": "string", - "nullable": true, - "description": "The three-letter IATA airport code of the flight's destination." - }, - "carrier": { - "type": "string", - "nullable": true, - "description": "The airline carrier code." - }, - "departure_airport_code": { - "type": "string", - "nullable": true, - "description": "The three-letter IATA airport code that the flight departed from." - }, - "flight_number": { - "type": "string", - "nullable": true, - "description": "The flight number." - }, - "service_class": { - "type": "string", - "nullable": true, - "description": "The flight's service class." - }, - "stopover_allowed": { - "type": "boolean", - "nullable": true, - "description": "Whether a stopover is allowed on this flight." - } - }, - "required": [ - "arrival_airport_code", - "carrier", - "departure_airport_code", - "flight_number", - "service_class", - "stopover_allowed" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Flight": { - "properties": { - "departure_at": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The time that the flight departed." - }, - "passenger_name": { - "type": "string", - "nullable": true, - "description": "The name of the passenger." - }, - "refundable": { - "type": "boolean", - "nullable": true, - "description": "Whether the ticket is refundable." - }, - "segments": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction.PurchaseDetails.Flight.Segment" - }, - "type": "array", - "nullable": true, - "description": "The legs of the trip." - }, - "travel_agency": { - "type": "string", - "nullable": true, - "description": "The travel agency that issued the ticket." - } - }, - "required": [ - "departure_at", - "passenger_name", - "refundable", - "segments", - "travel_agency" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fuel": { - "properties": { - "industry_product_code": { - "type": "string", - "nullable": true, - "description": "[Conexxus Payment System Product Code](https://www.conexxus.org/conexxus-payment-system-product-codes) identifying the primary fuel product purchased." - }, - "quantity_decimal": { - "type": "string", - "nullable": true, - "description": "The quantity of `unit`s of fuel that was dispensed, represented as a decimal string with at most 12 decimal places." - }, - "type": { - "type": "string", - "description": "The type of fuel that was purchased. One of `diesel`, `unleaded_plus`, `unleaded_regular`, `unleaded_super`, or `other`." - }, - "unit": { - "type": "string", - "description": "The units for `quantity_decimal`. One of `charging_minute`, `imperial_gallon`, `kilogram`, `kilowatt_hour`, `liter`, `pound`, `us_gallon`, or `other`." - }, - "unit_cost_decimal": { - "type": "string", - "description": "The cost in cents per each unit of fuel, represented as a decimal string with at most 12 decimal places." - } - }, - "required": [ - "industry_product_code", - "quantity_decimal", - "type", - "unit", - "unit_cost_decimal" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Lodging": { - "properties": { - "check_in_at": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The time of checking into the lodging." - }, - "nights": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The number of nights stayed at the lodging." - } - }, - "required": [ - "check_in_at", - "nights" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Receipt": { - "properties": { - "description": { - "type": "string", - "nullable": true, - "description": "The description of the item. The maximum length of this field is 26 characters." - }, - "quantity": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The quantity of the item." - }, - "total": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The total for this line item in cents." - }, - "unit_cost": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The unit cost of the item in cents." - } - }, - "required": [ - "description", - "quantity", - "total", - "unit_cost" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Transaction.PurchaseDetails": { - "properties": { - "fleet": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet" - } - ], - "nullable": true, - "description": "Fleet-specific information for transactions using Fleet cards." - }, - "flight": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction.PurchaseDetails.Flight" - } - ], - "nullable": true, - "description": "Information about the flight that was purchased with this transaction." - }, - "fuel": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fuel" - } - ], - "nullable": true, - "description": "Information about fuel that was purchased with this transaction." - }, - "lodging": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction.PurchaseDetails.Lodging" - } - ], - "nullable": true, - "description": "Information about lodging that was purchased with this transaction." - }, - "receipt": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction.PurchaseDetails.Receipt" - }, - "type": "array", - "nullable": true, - "description": "The line items in the purchase." - }, - "reference": { - "type": "string", - "nullable": true, - "description": "A merchant-specific order number." - } - }, - "required": [ - "fleet", - "flight", - "fuel", - "lodging", - "receipt", - "reference" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Transaction.Treasury": { - "properties": { - "received_credit": { - "type": "string", - "nullable": true, - "description": "The Treasury [ReceivedCredit](https://stripe.com/docs/api/treasury/received_credits) representing this Issuing transaction if it is a refund" - }, - "received_debit": { - "type": "string", - "nullable": true, - "description": "The Treasury [ReceivedDebit](https://stripe.com/docs/api/treasury/received_debits) representing this Issuing transaction if it is a capture" - } - }, - "required": [ - "received_credit", - "received_debit" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Transaction.Type": { - "type": "string", - "enum": [ - "capture", - "refund" - ] - }, - "stripe.Stripe.Issuing.Transaction.Wallet": { - "type": "string", - "enum": [ - "apple_pay", - "google_pay", - "samsung_pay" - ] - }, - "stripe.Stripe.Issuing.Authorization.Treasury": { - "properties": { - "received_credits": { - "items": { - "type": "string" - }, - "type": "array", - "description": "The array of [ReceivedCredits](https://stripe.com/docs/api/treasury/received_credits) associated with this authorization" - }, - "received_debits": { - "items": { - "type": "string" - }, - "type": "array", - "description": "The array of [ReceivedDebits](https://stripe.com/docs/api/treasury/received_debits) associated with this authorization" - }, - "transaction": { - "type": "string", - "nullable": true, - "description": "The Treasury [Transaction](https://stripe.com/docs/api/treasury/transactions) associated with this authorization" - } - }, - "required": [ - "received_credits", - "received_debits", - "transaction" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Authorization.VerificationData.AddressLine1Check": { - "type": "string", - "enum": [ - "match", - "mismatch", - "not_provided" - ] - }, - "stripe.Stripe.Issuing.Authorization.VerificationData.AddressPostalCodeCheck": { - "type": "string", - "enum": [ - "match", - "mismatch", - "not_provided" - ] - }, - "stripe.Stripe.Issuing.Authorization.VerificationData.AuthenticationExemption.ClaimedBy": { - "type": "string", - "enum": [ - "acquirer", - "issuer" - ] - }, - "stripe.Stripe.Issuing.Authorization.VerificationData.AuthenticationExemption.Type": { - "type": "string", - "enum": [ - "low_value_transaction", - "transaction_risk_analysis", - "unknown" - ] - }, - "stripe.Stripe.Issuing.Authorization.VerificationData.AuthenticationExemption": { - "properties": { - "claimed_by": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.VerificationData.AuthenticationExemption.ClaimedBy", - "description": "The entity that requested the exemption, either the acquiring merchant or the Issuing user." - }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.VerificationData.AuthenticationExemption.Type", - "description": "The specific exemption claimed for this authorization." - } - }, - "required": [ - "claimed_by", - "type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Authorization.VerificationData.CvcCheck": { - "type": "string", - "enum": [ - "match", - "mismatch", - "not_provided" - ] - }, - "stripe.Stripe.Issuing.Authorization.VerificationData.ExpiryCheck": { - "type": "string", - "enum": [ - "match", - "mismatch", - "not_provided" - ] - }, - "stripe.Stripe.Issuing.Authorization.VerificationData.ThreeDSecure.Result": { - "type": "string", - "enum": [ - "attempt_acknowledged", - "authenticated", - "failed", - "required" - ] - }, - "stripe.Stripe.Issuing.Authorization.VerificationData.ThreeDSecure": { - "properties": { - "result": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.VerificationData.ThreeDSecure.Result", - "description": "The outcome of the 3D Secure authentication request." - } - }, - "required": [ - "result" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Issuing.Authorization.VerificationData": { - "properties": { - "address_line1_check": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.VerificationData.AddressLine1Check", - "description": "Whether the cardholder provided an address first line and if it matched the cardholder's `billing.address.line1`." - }, - "address_postal_code_check": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.VerificationData.AddressPostalCodeCheck", - "description": "Whether the cardholder provided a postal code and if it matched the cardholder's `billing.address.postal_code`." - }, - "authentication_exemption": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.VerificationData.AuthenticationExemption" - } - ], - "nullable": true, - "description": "The exemption applied to this authorization." - }, - "cvc_check": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.VerificationData.CvcCheck", - "description": "Whether the cardholder provided a CVC and if it matched Stripe's record." - }, - "expiry_check": { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.VerificationData.ExpiryCheck", - "description": "Whether the cardholder provided an expiry date and if it matched Stripe's record." - }, - "postal_code": { - "type": "string", - "nullable": true, - "description": "The postal code submitted as part of the authorization used for postal code verification." - }, - "three_d_secure": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.VerificationData.ThreeDSecure" - } - ], - "nullable": true, - "description": "3D Secure details." - } - }, - "required": [ - "address_line1_check", - "address_postal_code_check", - "authentication_exemption", - "cvc_check", - "expiry_check", - "postal_code", - "three_d_secure" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.ExternalAccount": { - "anyOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.BankAccount" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Card" - } - ] - }, - "stripe.Stripe.DeletedBankAccount": { - "description": "The DeletedBankAccount object.", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." - }, - "object": { - "type": "string", - "enum": [ - "bank_account" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." - }, - "currency": { - "type": "string", - "nullable": true, - "description": "Three-letter [ISO code for the currency](https://stripe.com/docs/payouts) paid out to the bank account." - }, - "deleted": { - "type": "boolean", - "enum": [ - true - ], - "nullable": false, - "description": "Always true for a deleted object" - } - }, - "required": [ - "id", - "object", - "deleted" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.DeletedCard": { - "description": "The DeletedCard object.", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." - }, - "object": { - "type": "string", - "enum": [ - "card" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." - }, - "currency": { - "type": "string", - "nullable": true, - "description": "Three-letter [ISO code for the currency](https://stripe.com/docs/payouts) paid out to the bank account." - }, - "deleted": { - "type": "boolean", - "enum": [ - true - ], - "nullable": false, - "description": "Always true for a deleted object" - } - }, - "required": [ - "id", - "object", - "deleted" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.DeletedExternalAccount": { - "anyOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.DeletedBankAccount" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.DeletedCard" - } - ] - }, - "stripe.Stripe.Payout": { - "description": "A `Payout` object is created when you receive funds from Stripe, or when you\ninitiate a payout to either a bank account or debit card of a [connected\nStripe account](https://stripe.com/docs/connect/bank-debit-card-payouts). You can retrieve individual payouts,\nand list all payouts. Payouts are made on [varying\nschedules](https://stripe.com/docs/connect/manage-payout-schedule), depending on your country and\nindustry.\n\nRelated guide: [Receiving payouts](https://stripe.com/docs/payouts)", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." - }, - "object": { - "type": "string", - "enum": [ - "payout" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." - }, - "amount": { - "type": "number", - "format": "double", - "description": "The amount (in cents (or local equivalent)) that transfers to your bank account or debit card." - }, - "application_fee": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.ApplicationFee" - } - ], - "nullable": true, - "description": "The application fee (if any) for the payout. [See the Connect documentation](https://stripe.com/docs/connect/instant-payouts#monetization-and-fees) for details." - }, - "application_fee_amount": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The amount of the application fee (if any) requested for the payout. [See the Connect documentation](https://stripe.com/docs/connect/instant-payouts#monetization-and-fees) for details." - }, - "arrival_date": { - "type": "number", - "format": "double", - "description": "Date that you can expect the payout to arrive in the bank. This factors in delays to account for weekends or bank holidays." - }, - "automatic": { - "type": "boolean", - "description": "Returns `true` if the payout is created by an [automated payout schedule](https://stripe.com/docs/payouts#payout-schedule) and `false` if it's [requested manually](https://stripe.com/docs/payouts#manual-payouts)." - }, - "balance_transaction": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.BalanceTransaction" - } - ], - "nullable": true, - "description": "ID of the balance transaction that describes the impact of this payout on your account balance." - }, - "created": { - "type": "number", - "format": "double", - "description": "Time at which the object was created. Measured in seconds since the Unix epoch." - }, - "currency": { - "type": "string", - "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." - }, - "description": { - "type": "string", - "nullable": true, - "description": "An arbitrary string attached to the object. Often useful for displaying to users." - }, - "destination": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.ExternalAccount" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.DeletedExternalAccount" - } - ], - "nullable": true, - "description": "ID of the bank account or card the payout is sent to." - }, - "failure_balance_transaction": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.BalanceTransaction" - } - ], - "nullable": true, - "description": "If the payout fails or cancels, this is the ID of the balance transaction that reverses the initial balance transaction and returns the funds from the failed payout back in your balance." - }, - "failure_code": { - "type": "string", - "nullable": true, - "description": "Error code that provides a reason for a payout failure, if available. View our [list of failure codes](https://stripe.com/docs/api#payout_failures)." - }, - "failure_message": { - "type": "string", - "nullable": true, - "description": "Message that provides the reason for a payout failure, if available." - }, - "livemode": { - "type": "boolean", - "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." - }, - "metadata": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Metadata" - } - ], - "nullable": true, - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." - }, - "method": { - "type": "string", - "description": "The method used to send this payout, which can be `standard` or `instant`. `instant` is supported for payouts to debit cards and bank accounts in certain countries. Learn more about [bank support for Instant Payouts](https://stripe.com/docs/payouts/instant-payouts-banks)." - }, - "original_payout": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Payout" - } - ], - "nullable": true, - "description": "If the payout reverses another, this is the ID of the original payout." - }, - "reconciliation_status": { - "$ref": "#/components/schemas/stripe.Stripe.Payout.ReconciliationStatus", - "description": "If `completed`, you can use the [Balance Transactions API](https://stripe.com/docs/api/balance_transactions/list#balance_transaction_list-payout) to list all balance transactions that are paid out in this payout." - }, - "reversed_by": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Payout" - } - ], - "nullable": true, - "description": "If the payout reverses, this is the ID of the payout that reverses this payout." - }, - "source_type": { - "type": "string", - "description": "The source balance this payout came from, which can be one of the following: `card`, `fpx`, or `bank_account`." - }, - "statement_descriptor": { - "type": "string", - "nullable": true, - "description": "Extra information about a payout that displays on the user's bank statement." - }, - "status": { - "type": "string", - "description": "Current status of the payout: `paid`, `pending`, `in_transit`, `canceled` or `failed`. A payout is `pending` until it's submitted to the bank, when it becomes `in_transit`. The status changes to `paid` if the transaction succeeds, or to `failed` or `canceled` (within 5 business days). Some payouts that fail might initially show as `paid`, then change to `failed`." - }, - "trace_id": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Payout.TraceId" - } - ], - "nullable": true, - "description": "A value that generates from the beneficiary's bank that allows users to track payouts with their bank. Banks might call this a \"reference number\" or something similar." - }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.Payout.Type", - "description": "Can be `bank_account` or `card`." - } - }, - "required": [ - "id", - "object", - "amount", - "application_fee", - "application_fee_amount", - "arrival_date", - "automatic", - "balance_transaction", - "created", - "currency", - "description", - "destination", - "failure_balance_transaction", - "failure_code", - "failure_message", - "livemode", - "metadata", - "method", - "original_payout", - "reconciliation_status", - "reversed_by", - "source_type", - "statement_descriptor", - "status", - "trace_id", - "type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Payout.ReconciliationStatus": { - "type": "string", - "enum": [ - "completed", - "in_progress", - "not_applicable" - ] - }, - "stripe.Stripe.Payout.TraceId": { - "properties": { - "status": { - "type": "string", - "description": "Possible values are `pending`, `supported`, and `unsupported`. When `payout.status` is `pending` or `in_transit`, this will be `pending`. When the payout transitions to `paid`, `failed`, or `canceled`, this status will become `supported` or `unsupported` shortly after in most cases. In some cases, this may appear as `pending` for up to 10 days after `arrival_date` until transitioning to `supported` or `unsupported`." - }, - "value": { - "type": "string", - "nullable": true, - "description": "The trace ID value if `trace_id.status` is `supported`, otherwise `nil`." - } - }, - "required": [ - "status", - "value" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Payout.Type": { - "type": "string", - "enum": [ - "bank_account", - "card" - ] - }, - "stripe.Stripe.ReserveTransaction": { - "description": "The ReserveTransaction object.", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." - }, - "object": { - "type": "string", - "enum": [ - "reserve_transaction" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." - }, - "amount": { - "type": "number", - "format": "double" - }, - "currency": { - "type": "string", - "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." - }, - "description": { - "type": "string", - "nullable": true, - "description": "An arbitrary string attached to the object. Often useful for displaying to users." - } - }, - "required": [ - "id", - "object", - "amount", - "currency", - "description" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.TaxDeductedAtSource": { - "description": "The TaxDeductedAtSource object.", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." - }, - "object": { - "type": "string", - "enum": [ - "tax_deducted_at_source" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." - }, - "period_end": { - "type": "number", - "format": "double", - "description": "The end of the invoicing period. This TDS applies to Stripe fees collected during this invoicing period." - }, - "period_start": { - "type": "number", - "format": "double", - "description": "The start of the invoicing period. This TDS applies to Stripe fees collected during this invoicing period." - }, - "tax_deduction_account_number": { - "type": "string", - "description": "The TAN that was supplied to Stripe when TDS was assessed" - } - }, - "required": [ - "id", - "object", - "period_end", - "period_start", - "tax_deduction_account_number" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Topup.Status": { - "type": "string", - "enum": [ - "canceled", - "failed", - "pending", - "reversed", - "succeeded" - ] - }, - "stripe.Stripe.Topup": { - "description": "To top up your Stripe balance, you create a top-up object. You can retrieve\nindividual top-ups, as well as list all top-ups. Top-ups are identified by a\nunique, random ID.\n\nRelated guide: [Topping up your platform account](https://stripe.com/docs/connect/top-ups)", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." - }, - "object": { - "type": "string", - "enum": [ - "topup" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." - }, - "amount": { - "type": "number", - "format": "double", - "description": "Amount transferred." - }, - "balance_transaction": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.BalanceTransaction" - } - ], - "nullable": true, - "description": "ID of the balance transaction that describes the impact of this top-up on your account balance. May not be specified depending on status of top-up." - }, - "created": { - "type": "number", - "format": "double", - "description": "Time at which the object was created. Measured in seconds since the Unix epoch." - }, - "currency": { - "type": "string", - "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." - }, - "description": { - "type": "string", - "nullable": true, - "description": "An arbitrary string attached to the object. Often useful for displaying to users." - }, - "expected_availability_date": { - "type": "number", - "format": "double", - "nullable": true, - "description": "Date the funds are expected to arrive in your Stripe account for payouts. This factors in delays like weekends or bank holidays. May not be specified depending on status of top-up." - }, - "failure_code": { - "type": "string", - "nullable": true, - "description": "Error code explaining reason for top-up failure if available (see [the errors section](https://stripe.com/docs/api#errors) for a list of codes)." - }, - "failure_message": { - "type": "string", - "nullable": true, - "description": "Message to user further explaining reason for top-up failure if available." - }, - "livemode": { - "type": "boolean", - "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." - }, - "metadata": { - "$ref": "#/components/schemas/stripe.Stripe.Metadata", - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." - }, - "source": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Source" - } - ], - "nullable": true, - "description": "The source field is deprecated. It might not always be present in the API response." - }, - "statement_descriptor": { - "type": "string", - "nullable": true, - "description": "Extra information about a top-up. This will appear on your source's bank statement. It must contain at least one letter." - }, - "status": { - "$ref": "#/components/schemas/stripe.Stripe.Topup.Status", - "description": "The status of the top-up is either `canceled`, `failed`, `pending`, `reversed`, or `succeeded`." - }, - "transfer_group": { - "type": "string", - "nullable": true, - "description": "A string that identifies this top-up as part of a group." - } - }, - "required": [ - "id", - "object", - "amount", - "balance_transaction", - "created", - "currency", - "description", - "expected_availability_date", - "failure_code", - "failure_message", - "livemode", - "metadata", - "source", - "statement_descriptor", - "status", - "transfer_group" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.BalanceTransactionSource": { - "anyOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.ApplicationFee" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Charge" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.ConnectCollectionTransfer" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.CustomerCashBalanceTransaction" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Dispute" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.FeeRefund" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Dispute" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Payout" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Refund" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.ReserveTransaction" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.TaxDeductedAtSource" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Topup" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Transfer" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.TransferReversal" - } - ] - }, - "stripe.Stripe.BalanceTransaction.Type": { - "type": "string", - "enum": [ - "adjustment", - "advance", - "advance_funding", - "anticipation_repayment", - "application_fee", - "application_fee_refund", - "charge", - "climate_order_purchase", - "climate_order_refund", - "connect_collection_transfer", - "contribution", - "issuing_authorization_hold", - "issuing_authorization_release", - "issuing_dispute", - "issuing_transaction", - "obligation_outbound", - "obligation_reversal_inbound", - "payment", - "payment_failure_refund", - "payment_network_reserve_hold", - "payment_network_reserve_release", - "payment_refund", - "payment_reversal", - "payment_unreconciled", - "payout", - "payout_cancel", - "payout_failure", - "payout_minimum_balance_hold", - "payout_minimum_balance_release", - "refund", - "refund_failure", - "reserve_transaction", - "reserved_funds", - "stripe_fee", - "stripe_fx_fee", - "tax_fee", - "topup", - "topup_reversal", - "transfer", - "transfer_cancel", - "transfer_failure", - "transfer_refund" - ] - }, - "stripe.Stripe.ApplicationFee.FeeSource.Type": { - "type": "string", - "enum": [ - "charge", - "payout" - ] - }, - "stripe.Stripe.ApplicationFee.FeeSource": { - "properties": { - "charge": { - "type": "string", - "description": "Charge ID that created this application fee." - }, - "payout": { - "type": "string", - "description": "Payout ID that created this application fee." - }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.ApplicationFee.FeeSource.Type", - "description": "Type of object that created the application fee, either `charge` or `payout`." - } - }, - "required": [ - "type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.ApiList_stripe.Stripe.FeeRefund_": { - "description": "A container for paginated lists of objects.\nThe array of objects is on the `.data` property,\nand `.has_more` indicates whether there are additional objects beyond the end of this list.\n\nLearn more in Stripe's [pagination docs](https://stripe.com/docs/api/pagination?lang=node)\nor, when iterating over many items, try [auto-pagination](https://github.com/stripe/stripe-node#auto-pagination) instead.", - "properties": { - "object": { - "type": "string", - "enum": [ - "list" - ], - "nullable": false - }, - "data": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.FeeRefund" - }, - "type": "array" - }, - "has_more": { - "type": "boolean", - "description": "True if this list has another page of items after this one that can be fetched." - }, - "url": { - "type": "string", - "description": "The URL where this list can be accessed." - } - }, - "required": [ - "object", - "data", - "has_more", - "url" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.BillingDetails": { - "properties": { - "address": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Address" - } - ], - "nullable": true, - "description": "Billing address." - }, - "email": { - "type": "string", - "nullable": true, - "description": "Email address." - }, - "name": { - "type": "string", - "nullable": true, - "description": "Full name." - }, - "phone": { - "type": "string", - "nullable": true, - "description": "Billing phone number (including extension)." - } - }, - "required": [ - "address", - "email", - "name", - "phone" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.FraudDetails": { - "properties": { - "stripe_report": { - "type": "string", - "description": "Assessments from Stripe. If set, the value is `fraudulent`." - }, - "user_report": { - "type": "string", - "description": "Assessments reported by you. If set, possible values of are `safe` and `fraudulent`." - } - }, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Invoice": { - "description": "Invoices are statements of amounts owed by a customer, and are either\ngenerated one-off, or generated periodically from a subscription.\n\nThey contain [invoice items](https://stripe.com/docs/api#invoiceitems), and proration adjustments\nthat may be caused by subscription upgrades/downgrades (if necessary).\n\nIf your invoice is configured to be billed through automatic charges,\nStripe automatically finalizes your invoice and attempts payment. Note\nthat finalizing the invoice,\n[when automatic](https://stripe.com/docs/invoicing/integration/automatic-advancement-collection), does\nnot happen immediately as the invoice is created. Stripe waits\nuntil one hour after the last webhook was successfully sent (or the last\nwebhook timed out after failing). If you (and the platforms you may have\nconnected to) have no webhooks configured, Stripe waits one hour after\ncreation to finalize the invoice.\n\nIf your invoice is configured to be billed by sending an email, then based on your\n[email settings](https://dashboard.stripe.com/account/billing/automatic),\nStripe will email the invoice to your customer and await payment. These\nemails can contain a link to a hosted page to pay the invoice.\n\nStripe applies any customer credit on the account before determining the\namount due for the invoice (i.e., the amount that will be actually\ncharged). If the amount due for the invoice is less than Stripe's [minimum allowed charge\nper currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts), the\ninvoice is automatically marked paid, and we add the amount due to the\ncustomer's credit balance which is applied to the next invoice.\n\nMore details on the customer's credit balance are\n[here](https://stripe.com/docs/billing/customer/balance).\n\nRelated guide: [Send invoices to customers](https://stripe.com/docs/billing/invoices/sending)", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object. This property is always present unless the invoice is an upcoming invoice. See [Retrieve an upcoming invoice](https://stripe.com/docs/api/invoices/upcoming) for more details." - }, - "object": { - "type": "string", - "enum": [ - "invoice" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." - }, - "account_country": { - "type": "string", - "nullable": true, - "description": "The country of the business associated with this invoice, most often the business creating the invoice." - }, - "account_name": { - "type": "string", - "nullable": true, - "description": "The public name of the business associated with this invoice, most often the business creating the invoice." - }, - "account_tax_ids": { - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.TaxId" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.DeletedTaxId" - } - ] - }, - "type": "array", - "nullable": true, - "description": "The account tax IDs associated with the invoice. Only editable when the invoice is a draft." - }, - "amount_due": { - "type": "number", - "format": "double", - "description": "Final amount due at this time for this invoice. If the invoice's total is smaller than the minimum charge amount, for example, or if there is account credit that can be applied to the invoice, the `amount_due` may be 0. If there is a positive `starting_balance` for the invoice (the customer owes money), the `amount_due` will also take that into account. The charge that gets generated for the invoice will be for the amount specified in `amount_due`." - }, - "amount_paid": { - "type": "number", - "format": "double", - "description": "The amount, in cents (or local equivalent), that was paid." - }, - "amount_remaining": { - "type": "number", - "format": "double", - "description": "The difference between amount_due and amount_paid, in cents (or local equivalent)." - }, - "amount_shipping": { - "type": "number", - "format": "double", - "description": "This is the sum of all the shipping amounts." - }, - "application": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Application" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.DeletedApplication" - } - ], - "nullable": true, - "description": "ID of the Connect Application that created the invoice." - }, - "application_fee_amount": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The fee in cents (or local equivalent) that will be applied to the invoice and transferred to the application owner's Stripe account when the invoice is paid." - }, - "attempt_count": { - "type": "number", - "format": "double", - "description": "Number of payment attempts made for this invoice, from the perspective of the payment retry schedule. Any payment attempt counts as the first attempt, and subsequently only automatic retries increment the attempt count. In other words, manual payment attempts after the first attempt do not affect the retry schedule. If a failure is returned with a non-retryable return code, the invoice can no longer be retried unless a new payment method is obtained. Retries will continue to be scheduled, and attempt_count will continue to increment, but retries will only be executed if a new payment method is obtained." - }, - "attempted": { - "type": "boolean", - "description": "Whether an attempt has been made to pay the invoice. An invoice is not attempted until 1 hour after the `invoice.created` webhook, for example, so you might not want to display that invoice as unpaid to your users." - }, - "auto_advance": { - "type": "boolean", - "description": "Controls whether Stripe performs [automatic collection](https://stripe.com/docs/invoicing/integration/automatic-advancement-collection) of the invoice. If `false`, the invoice's state doesn't automatically advance without an explicit action." - }, - "automatic_tax": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.AutomaticTax" - }, - "automatically_finalizes_at": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The time when this invoice is currently scheduled to be automatically finalized. The field will be `null` if the invoice is not scheduled to finalize in the future. If the invoice is not in the draft state, this field will always be `null` - see `finalized_at` for the time when an already-finalized invoice was finalized." - }, - "billing_reason": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.BillingReason" - } - ], - "nullable": true, - "description": "Indicates the reason why the invoice was created.\n\n* `manual`: Unrelated to a subscription, for example, created via the invoice editor.\n* `subscription`: No longer in use. Applies to subscriptions from before May 2018 where no distinction was made between updates, cycles, and thresholds.\n* `subscription_create`: A new subscription was created.\n* `subscription_cycle`: A subscription advanced into a new period.\n* `subscription_threshold`: A subscription reached a billing threshold.\n* `subscription_update`: A subscription was updated.\n* `upcoming`: Reserved for simulated invoices, per the upcoming invoice endpoint." - }, - "charge": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Charge" - } - ], - "nullable": true, - "description": "ID of the latest charge generated for this invoice, if any." - }, - "collection_method": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.CollectionMethod", - "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this invoice using the default source attached to the customer. When sending an invoice, Stripe will email this invoice to the customer with payment instructions." - }, - "created": { - "type": "number", - "format": "double", - "description": "Time at which the object was created. Measured in seconds since the Unix epoch." - }, - "currency": { - "type": "string", - "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." - }, - "custom_fields": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.CustomField" - }, - "type": "array", - "nullable": true, - "description": "Custom fields displayed on the invoice." - }, - "customer": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Customer" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.DeletedCustomer" - } - ], - "nullable": true, - "description": "The ID of the customer who will be billed." - }, - "customer_address": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Address" - } - ], - "nullable": true, - "description": "The customer's address. Until the invoice is finalized, this field will equal `customer.address`. Once the invoice is finalized, this field will no longer be updated." - }, - "customer_email": { - "type": "string", - "nullable": true, - "description": "The customer's email. Until the invoice is finalized, this field will equal `customer.email`. Once the invoice is finalized, this field will no longer be updated." - }, - "customer_name": { - "type": "string", - "nullable": true, - "description": "The customer's name. Until the invoice is finalized, this field will equal `customer.name`. Once the invoice is finalized, this field will no longer be updated." - }, - "customer_phone": { - "type": "string", - "nullable": true, - "description": "The customer's phone number. Until the invoice is finalized, this field will equal `customer.phone`. Once the invoice is finalized, this field will no longer be updated." - }, - "customer_shipping": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.CustomerShipping" - } - ], - "nullable": true, - "description": "The customer's shipping information. Until the invoice is finalized, this field will equal `customer.shipping`. Once the invoice is finalized, this field will no longer be updated." - }, - "customer_tax_exempt": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.CustomerTaxExempt" - } - ], - "nullable": true, - "description": "The customer's tax exempt status. Until the invoice is finalized, this field will equal `customer.tax_exempt`. Once the invoice is finalized, this field will no longer be updated." - }, - "customer_tax_ids": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.CustomerTaxId" - }, - "type": "array", - "nullable": true, - "description": "The customer's tax IDs. Until the invoice is finalized, this field will contain the same tax IDs as `customer.tax_ids`. Once the invoice is finalized, this field will no longer be updated." - }, - "default_payment_method": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod" - } - ], - "nullable": true, - "description": "ID of the default payment method for the invoice. It must belong to the customer associated with the invoice. If not set, defaults to the subscription's default payment method, if any, or to the default payment method in the customer's invoice settings." - }, - "default_source": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.CustomerSource" - } - ], - "nullable": true, - "description": "ID of the default payment source for the invoice. It must belong to the customer associated with the invoice and be in a chargeable state. If not set, defaults to the subscription's default source, if any, or to the customer's default source." - }, - "default_tax_rates": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.TaxRate" - }, - "type": "array", - "description": "The tax rates applied to this invoice, if any." - }, - "deleted": { - "description": "Always true for a deleted object" - }, - "description": { - "type": "string", - "nullable": true, - "description": "An arbitrary string attached to the object. Often useful for displaying to users. Referenced as 'memo' in the Dashboard." - }, - "discount": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Discount" - } - ], - "nullable": true, - "description": "Describes the current discount applied to this invoice, if there is one. Not populated if there are multiple discounts." - }, - "discounts": { - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Discount" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.DeletedDiscount" - } - ] - }, - "type": "array", - "description": "The discounts applied to the invoice. Line item discounts are applied before invoice discounts. Use `expand[]=discounts` to expand each discount." - }, - "due_date": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The date on which payment for this invoice is due. This value will be `null` for invoices where `collection_method=charge_automatically`." - }, - "effective_at": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The date when this invoice is in effect. Same as `finalized_at` unless overwritten. When defined, this value replaces the system-generated 'Date of issue' printed on the invoice PDF and receipt." - }, - "ending_balance": { - "type": "number", - "format": "double", - "nullable": true, - "description": "Ending customer balance after the invoice is finalized. Invoices are finalized approximately an hour after successful webhook delivery or when payment collection is attempted for the invoice. If the invoice has not been finalized yet, this will be null." - }, - "footer": { - "type": "string", - "nullable": true, - "description": "Footer displayed on the invoice." - }, - "from_invoice": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.FromInvoice" - } - ], - "nullable": true, - "description": "Details of the invoice that was cloned. See the [revision documentation](https://stripe.com/docs/invoicing/invoice-revisions) for more details." - }, - "hosted_invoice_url": { - "type": "string", - "nullable": true, - "description": "The URL for the hosted invoice page, which allows customers to view and pay an invoice. If the invoice has not been finalized yet, this will be null." - }, - "invoice_pdf": { - "type": "string", - "nullable": true, - "description": "The link to download the PDF for the invoice. If the invoice has not been finalized yet, this will be null." - }, - "issuer": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.Issuer" - }, - "last_finalization_error": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.LastFinalizationError" - } - ], - "nullable": true, - "description": "The error encountered during the previous attempt to finalize the invoice. This field is cleared when the invoice is successfully finalized." - }, - "latest_revision": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Invoice" - } - ], - "nullable": true, - "description": "The ID of the most recent non-draft revision of this invoice" - }, - "lines": { - "$ref": "#/components/schemas/stripe.Stripe.ApiList_stripe.Stripe.InvoiceLineItem_", - "description": "The individual line items that make up the invoice. `lines` is sorted as follows: (1) pending invoice items (including prorations) in reverse chronological order, (2) subscription items in reverse chronological order, and (3) invoice items added after invoice creation in chronological order." - }, - "livemode": { - "type": "boolean", - "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." - }, - "metadata": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Metadata" - } - ], - "nullable": true, - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." - }, - "next_payment_attempt": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The time at which payment will next be attempted. This value will be `null` for invoices where `collection_method=send_invoice`." - }, - "number": { - "type": "string", - "nullable": true, - "description": "A unique, identifying string that appears on emails sent to the customer for this invoice. This starts with the customer's unique invoice_prefix if it is specified." - }, - "on_behalf_of": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Account" - } - ], - "nullable": true, - "description": "The account (if any) for which the funds of the invoice payment are intended. If set, the invoice will be presented with the branding and support information of the specified account. See the [Invoices with Connect](https://stripe.com/docs/billing/invoices/connect) documentation for details." - }, - "paid": { - "type": "boolean", - "description": "Whether payment was successfully collected for this invoice. An invoice can be paid (most commonly) with a charge or with credit from the customer's account balance." - }, - "paid_out_of_band": { - "type": "boolean", - "description": "Returns true if the invoice was manually marked paid, returns false if the invoice hasn't been paid yet or was paid on Stripe." - }, - "payment_intent": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent" - } - ], - "nullable": true, - "description": "The PaymentIntent associated with this invoice. The PaymentIntent is generated when the invoice is finalized, and can then be used to pay the invoice. Note that voiding an invoice will cancel the PaymentIntent." - }, - "payment_settings": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings" - }, - "period_end": { - "type": "number", - "format": "double", - "description": "End of the usage period during which invoice items were added to this invoice. This looks back one period for a subscription invoice. Use the [line item period](https://stripe.com/api/invoices/line_item#invoice_line_item_object-period) to get the service period for each price." - }, - "period_start": { - "type": "number", - "format": "double", - "description": "Start of the usage period during which invoice items were added to this invoice. This looks back one period for a subscription invoice. Use the [line item period](https://stripe.com/api/invoices/line_item#invoice_line_item_object-period) to get the service period for each price." - }, - "post_payment_credit_notes_amount": { - "type": "number", - "format": "double", - "description": "Total amount of all post-payment credit notes issued for this invoice." - }, - "pre_payment_credit_notes_amount": { - "type": "number", - "format": "double", - "description": "Total amount of all pre-payment credit notes issued for this invoice." - }, - "quote": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Quote" - } - ], - "nullable": true, - "description": "The quote this invoice was generated from." - }, - "receipt_number": { - "type": "string", - "nullable": true, - "description": "This is the transaction number that appears on email receipts sent for this invoice." - }, - "rendering": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.Rendering" - } - ], - "nullable": true, - "description": "The rendering-related settings that control how the invoice is displayed on customer-facing surfaces such as PDF and Hosted Invoice Page." - }, - "shipping_cost": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.ShippingCost" - } - ], - "nullable": true, - "description": "The details of the cost of shipping, including the ShippingRate applied on the invoice." - }, - "shipping_details": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.ShippingDetails" - } - ], - "nullable": true, - "description": "Shipping details for the invoice. The Invoice PDF will use the `shipping_details` value if it is set, otherwise the PDF will render the shipping address from the customer." - }, - "starting_balance": { - "type": "number", - "format": "double", - "description": "Starting customer balance before the invoice is finalized. If the invoice has not been finalized yet, this will be the current customer balance. For revision invoices, this also includes any customer balance that was applied to the original invoice." - }, - "statement_descriptor": { - "type": "string", - "nullable": true, - "description": "Extra information about an invoice for the customer's credit card statement." - }, - "status": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.Status" - } - ], - "nullable": true, - "description": "The status of the invoice, one of `draft`, `open`, `paid`, `uncollectible`, or `void`. [Learn more](https://stripe.com/docs/billing/invoices/workflow#workflow-overview)" - }, - "status_transitions": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.StatusTransitions" - }, - "subscription": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Subscription" - } - ], - "nullable": true, - "description": "The subscription that this invoice was prepared for, if any." - }, - "subscription_details": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.SubscriptionDetails" - } - ], - "nullable": true, - "description": "Details about the subscription that created this invoice." - }, - "subscription_proration_date": { - "type": "number", - "format": "double", - "description": "Only set for upcoming invoices that preview prorations. The time used to calculate prorations." - }, - "subtotal": { - "type": "number", - "format": "double", - "description": "Total of all subscriptions, invoice items, and prorations on the invoice before any invoice level discount or exclusive tax is applied. Item discounts are already incorporated" - }, - "subtotal_excluding_tax": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The integer amount in cents (or local equivalent) representing the subtotal of the invoice before any invoice level discount or tax is applied. Item discounts are already incorporated" - }, - "tax": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The amount of tax on this invoice. This is the sum of all the tax amounts on this invoice." - }, - "test_clock": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.TestHelpers.TestClock" - } - ], - "nullable": true, - "description": "ID of the test clock this invoice belongs to." - }, - "threshold_reason": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.ThresholdReason" - }, - "total": { - "type": "number", - "format": "double", - "description": "Total after discounts and taxes." - }, - "total_discount_amounts": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.TotalDiscountAmount" - }, - "type": "array", - "nullable": true, - "description": "The aggregate amounts calculated per discount across all line items." - }, - "total_excluding_tax": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The integer amount in cents (or local equivalent) representing the total amount of the invoice including all discounts but excluding all tax." - }, - "total_pretax_credit_amounts": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.TotalPretaxCreditAmount" - }, - "type": "array", - "nullable": true, - "description": "Contains pretax credit amounts (ex: discount, credit grants, etc) that apply to this invoice. This is a combined list of total_pretax_credit_amounts across all invoice line items." - }, - "total_tax_amounts": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.TotalTaxAmount" - }, - "type": "array", - "description": "The aggregate amounts calculated per tax rate for all line items." - }, - "transfer_data": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.TransferData" - } - ], - "nullable": true, - "description": "The account (if any) the payment will be attributed to for tax reporting, and where funds from the payment will be transferred to for the invoice." - }, - "webhooks_delivered_at": { - "type": "number", - "format": "double", - "nullable": true, - "description": "Invoices are automatically paid or sent 1 hour after webhooks are delivered, or until all webhook delivery attempts have [been exhausted](https://stripe.com/docs/billing/webhooks#understand). This field tracks the time when webhooks for this invoice were successfully delivered. If the invoice had no webhooks to deliver, this will be set while the invoice is being created." - } - }, - "required": [ - "id", - "object", - "account_country", - "account_name", - "account_tax_ids", - "amount_due", - "amount_paid", - "amount_remaining", - "amount_shipping", - "application", - "application_fee_amount", - "attempt_count", - "attempted", - "automatic_tax", - "automatically_finalizes_at", - "billing_reason", - "charge", - "collection_method", - "created", - "currency", - "custom_fields", - "customer", - "customer_address", - "customer_email", - "customer_name", - "customer_phone", - "customer_shipping", - "customer_tax_exempt", - "default_payment_method", - "default_source", - "default_tax_rates", - "description", - "discount", - "discounts", - "due_date", - "effective_at", - "ending_balance", - "footer", - "from_invoice", - "issuer", - "last_finalization_error", - "latest_revision", - "lines", - "livemode", - "metadata", - "next_payment_attempt", - "number", - "on_behalf_of", - "paid", - "paid_out_of_band", - "payment_intent", - "payment_settings", - "period_end", - "period_start", - "post_payment_credit_notes_amount", - "pre_payment_credit_notes_amount", - "quote", - "receipt_number", - "rendering", - "shipping_cost", - "shipping_details", - "starting_balance", - "statement_descriptor", - "status", - "status_transitions", - "subscription", - "subscription_details", - "subtotal", - "subtotal_excluding_tax", - "tax", - "test_clock", - "total", - "total_discount_amounts", - "total_excluding_tax", - "total_pretax_credit_amounts", - "total_tax_amounts", - "transfer_data", - "webhooks_delivered_at" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.Level3.LineItem": { - "properties": { - "discount_amount": { - "type": "number", - "format": "double", - "nullable": true - }, - "product_code": { - "type": "string" - }, - "product_description": { - "type": "string" - }, - "quantity": { - "type": "number", - "format": "double", - "nullable": true - }, - "tax_amount": { - "type": "number", - "format": "double", - "nullable": true - }, - "unit_cost": { - "type": "number", - "format": "double", - "nullable": true - } - }, - "required": [ - "discount_amount", - "product_code", - "product_description", - "quantity", - "tax_amount", - "unit_cost" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.Level3": { - "properties": { - "customer_reference": { - "type": "string" - }, - "line_items": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.Level3.LineItem" - }, - "type": "array" - }, - "merchant_reference": { - "type": "string" - }, - "shipping_address_zip": { - "type": "string" - }, - "shipping_amount": { - "type": "number", - "format": "double" - }, - "shipping_from_zip": { - "type": "string" - } - }, - "required": [ - "line_items", - "merchant_reference" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.Outcome.AdviceCode": { - "type": "string", - "enum": [ - "confirm_card_data", - "do_not_try_again", - "try_again_later" - ] - }, - "stripe.Stripe.Charge.Outcome.Rule": { - "properties": { - "action": { - "type": "string", - "description": "The action taken on the payment." - }, - "id": { - "type": "string", - "description": "Unique identifier for the object." - }, - "predicate": { - "type": "string", - "description": "The predicate to evaluate the payment against." - } - }, - "required": [ - "action", - "id", - "predicate" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.Outcome": { - "properties": { - "advice_code": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Charge.Outcome.AdviceCode" - } - ], - "nullable": true, - "description": "An enumerated value providing a more detailed explanation on [how to proceed with an error](https://stripe.com/docs/declines#retrying-issuer-declines)." - }, - "network_advice_code": { - "type": "string", - "nullable": true, - "description": "For charges declined by the network, a 2 digit code which indicates the advice returned by the network on how to proceed with an error." - }, - "network_decline_code": { - "type": "string", - "nullable": true, - "description": "For charges declined by the network, a brand specific 2, 3, or 4 digit code which indicates the reason the authorization failed." - }, - "network_status": { - "type": "string", - "nullable": true, - "description": "Possible values are `approved_by_network`, `declined_by_network`, `not_sent_to_network`, and `reversed_after_approval`. The value `reversed_after_approval` indicates the payment was [blocked by Stripe](https://stripe.com/docs/declines#blocked-payments) after bank authorization, and may temporarily appear as \"pending\" on a cardholder's statement." - }, - "reason": { - "type": "string", - "nullable": true, - "description": "An enumerated value providing a more detailed explanation of the outcome's `type`. Charges blocked by Radar's default block rule have the value `highest_risk_level`. Charges placed in review by Radar's default review rule have the value `elevated_risk_level`. Charges authorized, blocked, or placed in review by custom rules have the value `rule`. See [understanding declines](https://stripe.com/docs/declines) for more details." - }, - "risk_level": { - "type": "string", - "description": "Stripe Radar's evaluation of the riskiness of the payment. Possible values for evaluated payments are `normal`, `elevated`, `highest`. For non-card payments, and card-based payments predating the public assignment of risk levels, this field will have the value `not_assessed`. In the event of an error in the evaluation, this field will have the value `unknown`. This field is only available with Radar." - }, - "risk_score": { - "type": "number", - "format": "double", - "description": "Stripe Radar's evaluation of the riskiness of the payment. Possible values for evaluated payments are between 0 and 100. For non-card payments, card-based payments predating the public assignment of risk scores, or in the event of an error during evaluation, this field will not be present. This field is only available with Radar for Fraud Teams." - }, - "rule": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Charge.Outcome.Rule" - } - ], - "description": "The ID of the Radar rule that matched the payment, if applicable." - }, - "seller_message": { - "type": "string", - "nullable": true, - "description": "A human-readable description of the outcome type and reason, designed for you (the recipient of the payment), not your customer." - }, - "type": { - "type": "string", - "description": "Possible values are `authorized`, `manual_review`, `issuer_declined`, `blocked`, and `invalid`. See [understanding declines](https://stripe.com/docs/declines) and [Radar reviews](https://stripe.com/docs/radar/reviews) for details." - } - }, - "required": [ - "advice_code", - "network_advice_code", - "network_decline_code", - "network_status", - "reason", - "seller_message", - "type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.AchCreditTransfer": { - "properties": { - "account_number": { - "type": "string", - "nullable": true, - "description": "Account number to transfer funds to." - }, - "bank_name": { - "type": "string", - "nullable": true, - "description": "Name of the bank associated with the routing number." - }, - "routing_number": { - "type": "string", - "nullable": true, - "description": "Routing transit number for the bank account to transfer funds to." - }, - "swift_code": { - "type": "string", - "nullable": true, - "description": "SWIFT code of the bank associated with the routing number." - } - }, - "required": [ - "account_number", - "bank_name", - "routing_number", - "swift_code" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.AchDebit.AccountHolderType": { + "stripe.Stripe.Issuing.Cardholder.SpendingControls.AllowedCategory": { "type": "string", "enum": [ - "company", - "individual" + "ac_refrigeration_repair", + "accounting_bookkeeping_services", + "advertising_services", + "agricultural_cooperative", + "airlines_air_carriers", + "airports_flying_fields", + "ambulance_services", + "amusement_parks_carnivals", + "antique_reproductions", + "antique_shops", + "aquariums", + "architectural_surveying_services", + "art_dealers_and_galleries", + "artists_supply_and_craft_shops", + "auto_and_home_supply_stores", + "auto_body_repair_shops", + "auto_paint_shops", + "auto_service_shops", + "automated_cash_disburse", + "automated_fuel_dispensers", + "automobile_associations", + "automotive_parts_and_accessories_stores", + "automotive_tire_stores", + "bail_and_bond_payments", + "bakeries", + "bands_orchestras", + "barber_and_beauty_shops", + "betting_casino_gambling", + "bicycle_shops", + "billiard_pool_establishments", + "boat_dealers", + "boat_rentals_and_leases", + "book_stores", + "books_periodicals_and_newspapers", + "bowling_alleys", + "bus_lines", + "business_secretarial_schools", + "buying_shopping_services", + "cable_satellite_and_other_pay_television_and_radio", + "camera_and_photographic_supply_stores", + "candy_nut_and_confectionery_stores", + "car_and_truck_dealers_new_used", + "car_and_truck_dealers_used_only", + "car_rental_agencies", + "car_washes", + "carpentry_services", + "carpet_upholstery_cleaning", + "caterers", + "charitable_and_social_service_organizations_fundraising", + "chemicals_and_allied_products", + "child_care_services", + "childrens_and_infants_wear_stores", + "chiropodists_podiatrists", + "chiropractors", + "cigar_stores_and_stands", + "civic_social_fraternal_associations", + "cleaning_and_maintenance", + "clothing_rental", + "colleges_universities", + "commercial_equipment", + "commercial_footwear", + "commercial_photography_art_and_graphics", + "commuter_transport_and_ferries", + "computer_network_services", + "computer_programming", + "computer_repair", + "computer_software_stores", + "computers_peripherals_and_software", + "concrete_work_services", + "construction_materials", + "consulting_public_relations", + "correspondence_schools", + "cosmetic_stores", + "counseling_services", + "country_clubs", + "courier_services", + "court_costs", + "credit_reporting_agencies", + "cruise_lines", + "dairy_products_stores", + "dance_hall_studios_schools", + "dating_escort_services", + "dentists_orthodontists", + "department_stores", + "detective_agencies", + "digital_goods_applications", + "digital_goods_games", + "digital_goods_large_volume", + "digital_goods_media", + "direct_marketing_catalog_merchant", + "direct_marketing_combination_catalog_and_retail_merchant", + "direct_marketing_inbound_telemarketing", + "direct_marketing_insurance_services", + "direct_marketing_other", + "direct_marketing_outbound_telemarketing", + "direct_marketing_subscription", + "direct_marketing_travel", + "discount_stores", + "doctors", + "door_to_door_sales", + "drapery_window_covering_and_upholstery_stores", + "drinking_places", + "drug_stores_and_pharmacies", + "drugs_drug_proprietaries_and_druggist_sundries", + "dry_cleaners", + "durable_goods", + "duty_free_stores", + "eating_places_restaurants", + "educational_services", + "electric_razor_stores", + "electric_vehicle_charging", + "electrical_parts_and_equipment", + "electrical_services", + "electronics_repair_shops", + "electronics_stores", + "elementary_secondary_schools", + "emergency_services_gcas_visa_use_only", + "employment_temp_agencies", + "equipment_rental", + "exterminating_services", + "family_clothing_stores", + "fast_food_restaurants", + "financial_institutions", + "fines_government_administrative_entities", + "fireplace_fireplace_screens_and_accessories_stores", + "floor_covering_stores", + "florists", + "florists_supplies_nursery_stock_and_flowers", + "freezer_and_locker_meat_provisioners", + "fuel_dealers_non_automotive", + "funeral_services_crematories", + "furniture_home_furnishings_and_equipment_stores_except_appliances", + "furniture_repair_refinishing", + "furriers_and_fur_shops", + "general_services", + "gift_card_novelty_and_souvenir_shops", + "glass_paint_and_wallpaper_stores", + "glassware_crystal_stores", + "golf_courses_public", + "government_licensed_horse_dog_racing_us_region_only", + "government_licensed_online_casions_online_gambling_us_region_only", + "government_owned_lotteries_non_us_region", + "government_owned_lotteries_us_region_only", + "government_services", + "grocery_stores_supermarkets", + "hardware_equipment_and_supplies", + "hardware_stores", + "health_and_beauty_spas", + "hearing_aids_sales_and_supplies", + "heating_plumbing_a_c", + "hobby_toy_and_game_shops", + "home_supply_warehouse_stores", + "hospitals", + "hotels_motels_and_resorts", + "household_appliance_stores", + "industrial_supplies", + "information_retrieval_services", + "insurance_default", + "insurance_underwriting_premiums", + "intra_company_purchases", + "jewelry_stores_watches_clocks_and_silverware_stores", + "landscaping_services", + "laundries", + "laundry_cleaning_services", + "legal_services_attorneys", + "luggage_and_leather_goods_stores", + "lumber_building_materials_stores", + "manual_cash_disburse", + "marinas_service_and_supplies", + "marketplaces", + "masonry_stonework_and_plaster", + "massage_parlors", + "medical_and_dental_labs", + "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", + "medical_services", + "membership_organizations", + "mens_and_boys_clothing_and_accessories_stores", + "mens_womens_clothing_stores", + "metal_service_centers", + "miscellaneous", + "miscellaneous_apparel_and_accessory_shops", + "miscellaneous_auto_dealers", + "miscellaneous_business_services", + "miscellaneous_food_stores", + "miscellaneous_general_merchandise", + "miscellaneous_general_services", + "miscellaneous_home_furnishing_specialty_stores", + "miscellaneous_publishing_and_printing", + "miscellaneous_recreation_services", + "miscellaneous_repair_shops", + "miscellaneous_specialty_retail", + "mobile_home_dealers", + "motion_picture_theaters", + "motor_freight_carriers_and_trucking", + "motor_homes_dealers", + "motor_vehicle_supplies_and_new_parts", + "motorcycle_shops_and_dealers", + "motorcycle_shops_dealers", + "music_stores_musical_instruments_pianos_and_sheet_music", + "news_dealers_and_newsstands", + "non_fi_money_orders", + "non_fi_stored_value_card_purchase_load", + "nondurable_goods", + "nurseries_lawn_and_garden_supply_stores", + "nursing_personal_care", + "office_and_commercial_furniture", + "opticians_eyeglasses", + "optometrists_ophthalmologist", + "orthopedic_goods_prosthetic_devices", + "osteopaths", + "package_stores_beer_wine_and_liquor", + "paints_varnishes_and_supplies", + "parking_lots_garages", + "passenger_railways", + "pawn_shops", + "pet_shops_pet_food_and_supplies", + "petroleum_and_petroleum_products", + "photo_developing", + "photographic_photocopy_microfilm_equipment_and_supplies", + "photographic_studios", + "picture_video_production", + "piece_goods_notions_and_other_dry_goods", + "plumbing_heating_equipment_and_supplies", + "political_organizations", + "postal_services_government_only", + "precious_stones_and_metals_watches_and_jewelry", + "professional_services", + "public_warehousing_and_storage", + "quick_copy_repro_and_blueprint", + "railroads", + "real_estate_agents_and_managers_rentals", + "record_stores", + "recreational_vehicle_rentals", + "religious_goods_stores", + "religious_organizations", + "roofing_siding_sheet_metal", + "secretarial_support_services", + "security_brokers_dealers", + "service_stations", + "sewing_needlework_fabric_and_piece_goods_stores", + "shoe_repair_hat_cleaning", + "shoe_stores", + "small_appliance_repair", + "snowmobile_dealers", + "special_trade_services", + "specialty_cleaning", + "sporting_goods_stores", + "sporting_recreation_camps", + "sports_and_riding_apparel_stores", + "sports_clubs_fields", + "stamp_and_coin_stores", + "stationary_office_supplies_printing_and_writing_paper", + "stationery_stores_office_and_school_supply_stores", + "swimming_pools_sales", + "t_ui_travel_germany", + "tailors_alterations", + "tax_payments_government_agencies", + "tax_preparation_services", + "taxicabs_limousines", + "telecommunication_equipment_and_telephone_sales", + "telecommunication_services", + "telegraph_services", + "tent_and_awning_shops", + "testing_laboratories", + "theatrical_ticket_agencies", + "timeshares", + "tire_retreading_and_repair", + "tolls_bridge_fees", + "tourist_attractions_and_exhibits", + "towing_services", + "trailer_parks_campgrounds", + "transportation_services", + "travel_agencies_tour_operators", + "truck_stop_iteration", + "truck_utility_trailer_rentals", + "typesetting_plate_making_and_related_services", + "typewriter_stores", + "u_s_federal_government_agencies_or_departments", + "uniforms_commercial_clothing", + "used_merchandise_and_secondhand_stores", + "utilities", + "variety_stores", + "veterinary_services", + "video_amusement_game_supplies", + "video_game_arcades", + "video_tape_rental_stores", + "vocational_trade_schools", + "watch_jewelry_repair", + "welding_repair", + "wholesale_clubs", + "wig_and_toupee_stores", + "wires_money_orders", + "womens_accessory_and_specialty_shops", + "womens_ready_to_wear_stores", + "wrecking_and_salvage_yards" ] }, - "stripe.Stripe.Charge.PaymentMethodDetails.AchDebit": { - "properties": { - "account_holder_type": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.AchDebit.AccountHolderType" - } - ], - "nullable": true, - "description": "Type of entity that holds the account. This can be either `individual` or `company`." - }, - "bank_name": { - "type": "string", - "nullable": true, - "description": "Name of the bank associated with the bank account." - }, - "country": { - "type": "string", - "nullable": true, - "description": "Two-letter ISO code representing the country the bank account is located in." - }, - "fingerprint": { - "type": "string", - "nullable": true, - "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same." - }, - "last4": { - "type": "string", - "nullable": true, - "description": "Last four digits of the bank account number." - }, - "routing_number": { - "type": "string", - "nullable": true, - "description": "Routing transit number of the bank account." - } - }, - "required": [ - "account_holder_type", - "bank_name", - "country", - "fingerprint", - "last4", - "routing_number" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.AcssDebit": { - "properties": { - "bank_name": { - "type": "string", - "nullable": true, - "description": "Name of the bank associated with the bank account." - }, - "fingerprint": { - "type": "string", - "nullable": true, - "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same." - }, - "institution_number": { - "type": "string", - "nullable": true, - "description": "Institution number of the bank account" - }, - "last4": { - "type": "string", - "nullable": true, - "description": "Last four digits of the bank account number." - }, - "mandate": { - "type": "string", - "description": "ID of the mandate used to make this payment." - }, - "transit_number": { - "type": "string", - "nullable": true, - "description": "Transit number of the bank account." - } - }, - "required": [ - "bank_name", - "fingerprint", - "institution_number", - "last4", - "transit_number" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.Affirm": { - "properties": { - "transaction_id": { - "type": "string", - "nullable": true, - "description": "The Affirm transaction ID associated with this payment." - } - }, - "required": [ - "transaction_id" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.AfterpayClearpay": { - "properties": { - "order_id": { - "type": "string", - "nullable": true, - "description": "The Afterpay order ID associated with this payment intent." - }, - "reference": { - "type": "string", - "nullable": true, - "description": "Order identifier shown to the merchant in Afterpay's online portal." - } - }, - "required": [ - "order_id", - "reference" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.Alipay": { - "properties": { - "buyer_id": { - "type": "string", - "description": "Uniquely identifies this particular Alipay account. You can use this attribute to check whether two Alipay accounts are the same." - }, - "fingerprint": { - "type": "string", - "nullable": true, - "description": "Uniquely identifies this particular Alipay account. You can use this attribute to check whether two Alipay accounts are the same." - }, - "transaction_id": { - "type": "string", - "nullable": true, - "description": "Transaction ID of this particular Alipay transaction." - } - }, - "required": [ - "fingerprint", - "transaction_id" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.Alma": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.AmazonPay.Funding.Card": { - "properties": { - "brand": { - "type": "string", - "nullable": true, - "description": "Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`." - }, - "country": { - "type": "string", - "nullable": true, - "description": "Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected." - }, - "exp_month": { - "type": "number", - "format": "double", - "nullable": true, - "description": "Two-digit number representing the card's expiration month." - }, - "exp_year": { - "type": "number", - "format": "double", - "nullable": true, - "description": "Four-digit number representing the card's expiration year." - }, - "funding": { - "type": "string", - "nullable": true, - "description": "Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`." - }, - "last4": { - "type": "string", - "nullable": true, - "description": "The last four digits of the card." - } - }, - "required": [ - "brand", - "country", - "exp_month", - "exp_year", - "funding", - "last4" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.AmazonPay.Funding": { - "properties": { - "card": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.AmazonPay.Funding.Card" - }, - "type": { - "type": "string", - "enum": [ - "card", - null - ], - "nullable": true, - "description": "funding type of the underlying payment method." - } - }, - "required": [ - "type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.AmazonPay": { - "properties": { - "funding": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.AmazonPay.Funding" - } - }, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.AuBecsDebit": { - "properties": { - "bsb_number": { - "type": "string", - "nullable": true, - "description": "Bank-State-Branch number of the bank account." - }, - "fingerprint": { - "type": "string", - "nullable": true, - "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same." - }, - "last4": { - "type": "string", - "nullable": true, - "description": "Last four digits of the bank account number." - }, - "mandate": { - "type": "string", - "description": "ID of the mandate used to make this payment." - } - }, - "required": [ - "bsb_number", - "fingerprint", - "last4" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.BacsDebit": { - "properties": { - "fingerprint": { - "type": "string", - "nullable": true, - "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same." - }, - "last4": { - "type": "string", - "nullable": true, - "description": "Last four digits of the bank account number." - }, - "mandate": { - "type": "string", - "nullable": true, - "description": "ID of the mandate used to make this payment." - }, - "sort_code": { - "type": "string", - "nullable": true, - "description": "Sort code of the bank account. (e.g., `10-20-30`)" - } - }, - "required": [ - "fingerprint", - "last4", - "mandate", - "sort_code" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.Bancontact.PreferredLanguage": { + "stripe.Stripe.Issuing.Cardholder.SpendingControls.BlockedCategory": { "type": "string", "enum": [ - "de", - "en", - "fr", - "nl" + "ac_refrigeration_repair", + "accounting_bookkeeping_services", + "advertising_services", + "agricultural_cooperative", + "airlines_air_carriers", + "airports_flying_fields", + "ambulance_services", + "amusement_parks_carnivals", + "antique_reproductions", + "antique_shops", + "aquariums", + "architectural_surveying_services", + "art_dealers_and_galleries", + "artists_supply_and_craft_shops", + "auto_and_home_supply_stores", + "auto_body_repair_shops", + "auto_paint_shops", + "auto_service_shops", + "automated_cash_disburse", + "automated_fuel_dispensers", + "automobile_associations", + "automotive_parts_and_accessories_stores", + "automotive_tire_stores", + "bail_and_bond_payments", + "bakeries", + "bands_orchestras", + "barber_and_beauty_shops", + "betting_casino_gambling", + "bicycle_shops", + "billiard_pool_establishments", + "boat_dealers", + "boat_rentals_and_leases", + "book_stores", + "books_periodicals_and_newspapers", + "bowling_alleys", + "bus_lines", + "business_secretarial_schools", + "buying_shopping_services", + "cable_satellite_and_other_pay_television_and_radio", + "camera_and_photographic_supply_stores", + "candy_nut_and_confectionery_stores", + "car_and_truck_dealers_new_used", + "car_and_truck_dealers_used_only", + "car_rental_agencies", + "car_washes", + "carpentry_services", + "carpet_upholstery_cleaning", + "caterers", + "charitable_and_social_service_organizations_fundraising", + "chemicals_and_allied_products", + "child_care_services", + "childrens_and_infants_wear_stores", + "chiropodists_podiatrists", + "chiropractors", + "cigar_stores_and_stands", + "civic_social_fraternal_associations", + "cleaning_and_maintenance", + "clothing_rental", + "colleges_universities", + "commercial_equipment", + "commercial_footwear", + "commercial_photography_art_and_graphics", + "commuter_transport_and_ferries", + "computer_network_services", + "computer_programming", + "computer_repair", + "computer_software_stores", + "computers_peripherals_and_software", + "concrete_work_services", + "construction_materials", + "consulting_public_relations", + "correspondence_schools", + "cosmetic_stores", + "counseling_services", + "country_clubs", + "courier_services", + "court_costs", + "credit_reporting_agencies", + "cruise_lines", + "dairy_products_stores", + "dance_hall_studios_schools", + "dating_escort_services", + "dentists_orthodontists", + "department_stores", + "detective_agencies", + "digital_goods_applications", + "digital_goods_games", + "digital_goods_large_volume", + "digital_goods_media", + "direct_marketing_catalog_merchant", + "direct_marketing_combination_catalog_and_retail_merchant", + "direct_marketing_inbound_telemarketing", + "direct_marketing_insurance_services", + "direct_marketing_other", + "direct_marketing_outbound_telemarketing", + "direct_marketing_subscription", + "direct_marketing_travel", + "discount_stores", + "doctors", + "door_to_door_sales", + "drapery_window_covering_and_upholstery_stores", + "drinking_places", + "drug_stores_and_pharmacies", + "drugs_drug_proprietaries_and_druggist_sundries", + "dry_cleaners", + "durable_goods", + "duty_free_stores", + "eating_places_restaurants", + "educational_services", + "electric_razor_stores", + "electric_vehicle_charging", + "electrical_parts_and_equipment", + "electrical_services", + "electronics_repair_shops", + "electronics_stores", + "elementary_secondary_schools", + "emergency_services_gcas_visa_use_only", + "employment_temp_agencies", + "equipment_rental", + "exterminating_services", + "family_clothing_stores", + "fast_food_restaurants", + "financial_institutions", + "fines_government_administrative_entities", + "fireplace_fireplace_screens_and_accessories_stores", + "floor_covering_stores", + "florists", + "florists_supplies_nursery_stock_and_flowers", + "freezer_and_locker_meat_provisioners", + "fuel_dealers_non_automotive", + "funeral_services_crematories", + "furniture_home_furnishings_and_equipment_stores_except_appliances", + "furniture_repair_refinishing", + "furriers_and_fur_shops", + "general_services", + "gift_card_novelty_and_souvenir_shops", + "glass_paint_and_wallpaper_stores", + "glassware_crystal_stores", + "golf_courses_public", + "government_licensed_horse_dog_racing_us_region_only", + "government_licensed_online_casions_online_gambling_us_region_only", + "government_owned_lotteries_non_us_region", + "government_owned_lotteries_us_region_only", + "government_services", + "grocery_stores_supermarkets", + "hardware_equipment_and_supplies", + "hardware_stores", + "health_and_beauty_spas", + "hearing_aids_sales_and_supplies", + "heating_plumbing_a_c", + "hobby_toy_and_game_shops", + "home_supply_warehouse_stores", + "hospitals", + "hotels_motels_and_resorts", + "household_appliance_stores", + "industrial_supplies", + "information_retrieval_services", + "insurance_default", + "insurance_underwriting_premiums", + "intra_company_purchases", + "jewelry_stores_watches_clocks_and_silverware_stores", + "landscaping_services", + "laundries", + "laundry_cleaning_services", + "legal_services_attorneys", + "luggage_and_leather_goods_stores", + "lumber_building_materials_stores", + "manual_cash_disburse", + "marinas_service_and_supplies", + "marketplaces", + "masonry_stonework_and_plaster", + "massage_parlors", + "medical_and_dental_labs", + "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", + "medical_services", + "membership_organizations", + "mens_and_boys_clothing_and_accessories_stores", + "mens_womens_clothing_stores", + "metal_service_centers", + "miscellaneous", + "miscellaneous_apparel_and_accessory_shops", + "miscellaneous_auto_dealers", + "miscellaneous_business_services", + "miscellaneous_food_stores", + "miscellaneous_general_merchandise", + "miscellaneous_general_services", + "miscellaneous_home_furnishing_specialty_stores", + "miscellaneous_publishing_and_printing", + "miscellaneous_recreation_services", + "miscellaneous_repair_shops", + "miscellaneous_specialty_retail", + "mobile_home_dealers", + "motion_picture_theaters", + "motor_freight_carriers_and_trucking", + "motor_homes_dealers", + "motor_vehicle_supplies_and_new_parts", + "motorcycle_shops_and_dealers", + "motorcycle_shops_dealers", + "music_stores_musical_instruments_pianos_and_sheet_music", + "news_dealers_and_newsstands", + "non_fi_money_orders", + "non_fi_stored_value_card_purchase_load", + "nondurable_goods", + "nurseries_lawn_and_garden_supply_stores", + "nursing_personal_care", + "office_and_commercial_furniture", + "opticians_eyeglasses", + "optometrists_ophthalmologist", + "orthopedic_goods_prosthetic_devices", + "osteopaths", + "package_stores_beer_wine_and_liquor", + "paints_varnishes_and_supplies", + "parking_lots_garages", + "passenger_railways", + "pawn_shops", + "pet_shops_pet_food_and_supplies", + "petroleum_and_petroleum_products", + "photo_developing", + "photographic_photocopy_microfilm_equipment_and_supplies", + "photographic_studios", + "picture_video_production", + "piece_goods_notions_and_other_dry_goods", + "plumbing_heating_equipment_and_supplies", + "political_organizations", + "postal_services_government_only", + "precious_stones_and_metals_watches_and_jewelry", + "professional_services", + "public_warehousing_and_storage", + "quick_copy_repro_and_blueprint", + "railroads", + "real_estate_agents_and_managers_rentals", + "record_stores", + "recreational_vehicle_rentals", + "religious_goods_stores", + "religious_organizations", + "roofing_siding_sheet_metal", + "secretarial_support_services", + "security_brokers_dealers", + "service_stations", + "sewing_needlework_fabric_and_piece_goods_stores", + "shoe_repair_hat_cleaning", + "shoe_stores", + "small_appliance_repair", + "snowmobile_dealers", + "special_trade_services", + "specialty_cleaning", + "sporting_goods_stores", + "sporting_recreation_camps", + "sports_and_riding_apparel_stores", + "sports_clubs_fields", + "stamp_and_coin_stores", + "stationary_office_supplies_printing_and_writing_paper", + "stationery_stores_office_and_school_supply_stores", + "swimming_pools_sales", + "t_ui_travel_germany", + "tailors_alterations", + "tax_payments_government_agencies", + "tax_preparation_services", + "taxicabs_limousines", + "telecommunication_equipment_and_telephone_sales", + "telecommunication_services", + "telegraph_services", + "tent_and_awning_shops", + "testing_laboratories", + "theatrical_ticket_agencies", + "timeshares", + "tire_retreading_and_repair", + "tolls_bridge_fees", + "tourist_attractions_and_exhibits", + "towing_services", + "trailer_parks_campgrounds", + "transportation_services", + "travel_agencies_tour_operators", + "truck_stop_iteration", + "truck_utility_trailer_rentals", + "typesetting_plate_making_and_related_services", + "typewriter_stores", + "u_s_federal_government_agencies_or_departments", + "uniforms_commercial_clothing", + "used_merchandise_and_secondhand_stores", + "utilities", + "variety_stores", + "veterinary_services", + "video_amusement_game_supplies", + "video_game_arcades", + "video_tape_rental_stores", + "vocational_trade_schools", + "watch_jewelry_repair", + "welding_repair", + "wholesale_clubs", + "wig_and_toupee_stores", + "wires_money_orders", + "womens_accessory_and_specialty_shops", + "womens_ready_to_wear_stores", + "wrecking_and_salvage_yards" ] }, - "stripe.Stripe.Charge.PaymentMethodDetails.Bancontact": { - "properties": { - "bank_code": { - "type": "string", - "nullable": true, - "description": "Bank code of bank associated with the bank account." - }, - "bank_name": { - "type": "string", - "nullable": true, - "description": "Name of the bank associated with the bank account." - }, - "bic": { - "type": "string", - "nullable": true, - "description": "Bank Identifier Code of the bank associated with the bank account." - }, - "generated_sepa_debit": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod" - } - ], - "nullable": true, - "description": "The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge." - }, - "generated_sepa_debit_mandate": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Mandate" - } - ], - "nullable": true, - "description": "The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge." - }, - "iban_last4": { - "type": "string", - "nullable": true, - "description": "Last four characters of the IBAN." - }, - "preferred_language": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Bancontact.PreferredLanguage" - } - ], - "nullable": true, - "description": "Preferred language of the Bancontact authorization page that the customer is redirected to.\nCan be one of `en`, `de`, `fr`, or `nl`" - }, - "verified_name": { - "type": "string", - "nullable": true, - "description": "Owner's verified full name. Values are verified or provided by Bancontact directly\n(if supported) at the time of authorization or settlement. They cannot be set or mutated." - } - }, - "required": [ - "bank_code", - "bank_name", - "bic", - "generated_sepa_debit", - "generated_sepa_debit_mandate", - "iban_last4", - "preferred_language", - "verified_name" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.Blik": { - "properties": { - "buyer_id": { - "type": "string", - "nullable": true, - "description": "A unique and immutable identifier assigned by BLIK to every buyer." - } - }, - "required": [ - "buyer_id" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.Boleto": { - "properties": { - "tax_id": { - "type": "string", - "description": "The tax ID of the customer (CPF for individuals consumers or CNPJ for businesses consumers)" - } - }, - "required": [ - "tax_id" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.Card.Checks": { - "properties": { - "address_line1_check": { - "type": "string", - "nullable": true, - "description": "If a address line1 was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`." - }, - "address_postal_code_check": { - "type": "string", - "nullable": true, - "description": "If a address postal code was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`." - }, - "cvc_check": { - "type": "string", - "nullable": true, - "description": "If a CVC was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`." - } - }, - "required": [ - "address_line1_check", - "address_postal_code_check", - "cvc_check" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.Card.ExtendedAuthorization.Status": { + "stripe.Stripe.Issuing.Cardholder.SpendingControls.SpendingLimit.Category": { "type": "string", "enum": [ - "disabled", - "enabled" + "ac_refrigeration_repair", + "accounting_bookkeeping_services", + "advertising_services", + "agricultural_cooperative", + "airlines_air_carriers", + "airports_flying_fields", + "ambulance_services", + "amusement_parks_carnivals", + "antique_reproductions", + "antique_shops", + "aquariums", + "architectural_surveying_services", + "art_dealers_and_galleries", + "artists_supply_and_craft_shops", + "auto_and_home_supply_stores", + "auto_body_repair_shops", + "auto_paint_shops", + "auto_service_shops", + "automated_cash_disburse", + "automated_fuel_dispensers", + "automobile_associations", + "automotive_parts_and_accessories_stores", + "automotive_tire_stores", + "bail_and_bond_payments", + "bakeries", + "bands_orchestras", + "barber_and_beauty_shops", + "betting_casino_gambling", + "bicycle_shops", + "billiard_pool_establishments", + "boat_dealers", + "boat_rentals_and_leases", + "book_stores", + "books_periodicals_and_newspapers", + "bowling_alleys", + "bus_lines", + "business_secretarial_schools", + "buying_shopping_services", + "cable_satellite_and_other_pay_television_and_radio", + "camera_and_photographic_supply_stores", + "candy_nut_and_confectionery_stores", + "car_and_truck_dealers_new_used", + "car_and_truck_dealers_used_only", + "car_rental_agencies", + "car_washes", + "carpentry_services", + "carpet_upholstery_cleaning", + "caterers", + "charitable_and_social_service_organizations_fundraising", + "chemicals_and_allied_products", + "child_care_services", + "childrens_and_infants_wear_stores", + "chiropodists_podiatrists", + "chiropractors", + "cigar_stores_and_stands", + "civic_social_fraternal_associations", + "cleaning_and_maintenance", + "clothing_rental", + "colleges_universities", + "commercial_equipment", + "commercial_footwear", + "commercial_photography_art_and_graphics", + "commuter_transport_and_ferries", + "computer_network_services", + "computer_programming", + "computer_repair", + "computer_software_stores", + "computers_peripherals_and_software", + "concrete_work_services", + "construction_materials", + "consulting_public_relations", + "correspondence_schools", + "cosmetic_stores", + "counseling_services", + "country_clubs", + "courier_services", + "court_costs", + "credit_reporting_agencies", + "cruise_lines", + "dairy_products_stores", + "dance_hall_studios_schools", + "dating_escort_services", + "dentists_orthodontists", + "department_stores", + "detective_agencies", + "digital_goods_applications", + "digital_goods_games", + "digital_goods_large_volume", + "digital_goods_media", + "direct_marketing_catalog_merchant", + "direct_marketing_combination_catalog_and_retail_merchant", + "direct_marketing_inbound_telemarketing", + "direct_marketing_insurance_services", + "direct_marketing_other", + "direct_marketing_outbound_telemarketing", + "direct_marketing_subscription", + "direct_marketing_travel", + "discount_stores", + "doctors", + "door_to_door_sales", + "drapery_window_covering_and_upholstery_stores", + "drinking_places", + "drug_stores_and_pharmacies", + "drugs_drug_proprietaries_and_druggist_sundries", + "dry_cleaners", + "durable_goods", + "duty_free_stores", + "eating_places_restaurants", + "educational_services", + "electric_razor_stores", + "electric_vehicle_charging", + "electrical_parts_and_equipment", + "electrical_services", + "electronics_repair_shops", + "electronics_stores", + "elementary_secondary_schools", + "emergency_services_gcas_visa_use_only", + "employment_temp_agencies", + "equipment_rental", + "exterminating_services", + "family_clothing_stores", + "fast_food_restaurants", + "financial_institutions", + "fines_government_administrative_entities", + "fireplace_fireplace_screens_and_accessories_stores", + "floor_covering_stores", + "florists", + "florists_supplies_nursery_stock_and_flowers", + "freezer_and_locker_meat_provisioners", + "fuel_dealers_non_automotive", + "funeral_services_crematories", + "furniture_home_furnishings_and_equipment_stores_except_appliances", + "furniture_repair_refinishing", + "furriers_and_fur_shops", + "general_services", + "gift_card_novelty_and_souvenir_shops", + "glass_paint_and_wallpaper_stores", + "glassware_crystal_stores", + "golf_courses_public", + "government_licensed_horse_dog_racing_us_region_only", + "government_licensed_online_casions_online_gambling_us_region_only", + "government_owned_lotteries_non_us_region", + "government_owned_lotteries_us_region_only", + "government_services", + "grocery_stores_supermarkets", + "hardware_equipment_and_supplies", + "hardware_stores", + "health_and_beauty_spas", + "hearing_aids_sales_and_supplies", + "heating_plumbing_a_c", + "hobby_toy_and_game_shops", + "home_supply_warehouse_stores", + "hospitals", + "hotels_motels_and_resorts", + "household_appliance_stores", + "industrial_supplies", + "information_retrieval_services", + "insurance_default", + "insurance_underwriting_premiums", + "intra_company_purchases", + "jewelry_stores_watches_clocks_and_silverware_stores", + "landscaping_services", + "laundries", + "laundry_cleaning_services", + "legal_services_attorneys", + "luggage_and_leather_goods_stores", + "lumber_building_materials_stores", + "manual_cash_disburse", + "marinas_service_and_supplies", + "marketplaces", + "masonry_stonework_and_plaster", + "massage_parlors", + "medical_and_dental_labs", + "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", + "medical_services", + "membership_organizations", + "mens_and_boys_clothing_and_accessories_stores", + "mens_womens_clothing_stores", + "metal_service_centers", + "miscellaneous", + "miscellaneous_apparel_and_accessory_shops", + "miscellaneous_auto_dealers", + "miscellaneous_business_services", + "miscellaneous_food_stores", + "miscellaneous_general_merchandise", + "miscellaneous_general_services", + "miscellaneous_home_furnishing_specialty_stores", + "miscellaneous_publishing_and_printing", + "miscellaneous_recreation_services", + "miscellaneous_repair_shops", + "miscellaneous_specialty_retail", + "mobile_home_dealers", + "motion_picture_theaters", + "motor_freight_carriers_and_trucking", + "motor_homes_dealers", + "motor_vehicle_supplies_and_new_parts", + "motorcycle_shops_and_dealers", + "motorcycle_shops_dealers", + "music_stores_musical_instruments_pianos_and_sheet_music", + "news_dealers_and_newsstands", + "non_fi_money_orders", + "non_fi_stored_value_card_purchase_load", + "nondurable_goods", + "nurseries_lawn_and_garden_supply_stores", + "nursing_personal_care", + "office_and_commercial_furniture", + "opticians_eyeglasses", + "optometrists_ophthalmologist", + "orthopedic_goods_prosthetic_devices", + "osteopaths", + "package_stores_beer_wine_and_liquor", + "paints_varnishes_and_supplies", + "parking_lots_garages", + "passenger_railways", + "pawn_shops", + "pet_shops_pet_food_and_supplies", + "petroleum_and_petroleum_products", + "photo_developing", + "photographic_photocopy_microfilm_equipment_and_supplies", + "photographic_studios", + "picture_video_production", + "piece_goods_notions_and_other_dry_goods", + "plumbing_heating_equipment_and_supplies", + "political_organizations", + "postal_services_government_only", + "precious_stones_and_metals_watches_and_jewelry", + "professional_services", + "public_warehousing_and_storage", + "quick_copy_repro_and_blueprint", + "railroads", + "real_estate_agents_and_managers_rentals", + "record_stores", + "recreational_vehicle_rentals", + "religious_goods_stores", + "religious_organizations", + "roofing_siding_sheet_metal", + "secretarial_support_services", + "security_brokers_dealers", + "service_stations", + "sewing_needlework_fabric_and_piece_goods_stores", + "shoe_repair_hat_cleaning", + "shoe_stores", + "small_appliance_repair", + "snowmobile_dealers", + "special_trade_services", + "specialty_cleaning", + "sporting_goods_stores", + "sporting_recreation_camps", + "sports_and_riding_apparel_stores", + "sports_clubs_fields", + "stamp_and_coin_stores", + "stationary_office_supplies_printing_and_writing_paper", + "stationery_stores_office_and_school_supply_stores", + "swimming_pools_sales", + "t_ui_travel_germany", + "tailors_alterations", + "tax_payments_government_agencies", + "tax_preparation_services", + "taxicabs_limousines", + "telecommunication_equipment_and_telephone_sales", + "telecommunication_services", + "telegraph_services", + "tent_and_awning_shops", + "testing_laboratories", + "theatrical_ticket_agencies", + "timeshares", + "tire_retreading_and_repair", + "tolls_bridge_fees", + "tourist_attractions_and_exhibits", + "towing_services", + "trailer_parks_campgrounds", + "transportation_services", + "travel_agencies_tour_operators", + "truck_stop_iteration", + "truck_utility_trailer_rentals", + "typesetting_plate_making_and_related_services", + "typewriter_stores", + "u_s_federal_government_agencies_or_departments", + "uniforms_commercial_clothing", + "used_merchandise_and_secondhand_stores", + "utilities", + "variety_stores", + "veterinary_services", + "video_amusement_game_supplies", + "video_game_arcades", + "video_tape_rental_stores", + "vocational_trade_schools", + "watch_jewelry_repair", + "welding_repair", + "wholesale_clubs", + "wig_and_toupee_stores", + "wires_money_orders", + "womens_accessory_and_specialty_shops", + "womens_ready_to_wear_stores", + "wrecking_and_salvage_yards" ] }, - "stripe.Stripe.Charge.PaymentMethodDetails.Card.ExtendedAuthorization": { - "properties": { - "status": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.ExtendedAuthorization.Status", - "description": "Indicates whether or not the capture window is extended beyond the standard authorization." - } - }, - "required": [ - "status" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.Card.IncrementalAuthorization.Status": { + "stripe.Stripe.Issuing.Cardholder.SpendingControls.SpendingLimit.Interval": { "type": "string", "enum": [ - "available", - "unavailable" + "all_time", + "daily", + "monthly", + "per_authorization", + "weekly", + "yearly" ] }, - "stripe.Stripe.Charge.PaymentMethodDetails.Card.IncrementalAuthorization": { - "properties": { - "status": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.IncrementalAuthorization.Status", - "description": "Indicates whether or not the incremental authorization feature is supported." - } - }, - "required": [ - "status" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.Card.Installments.Plan": { + "stripe.Stripe.Issuing.Cardholder.SpendingControls.SpendingLimit": { "properties": { - "count": { + "amount": { "type": "number", "format": "double", - "nullable": true, - "description": "For `fixed_count` installment plans, this is the number of installment payments your customer will make to their credit card." - }, - "interval": { - "type": "string", - "enum": [ - "month", - null - ], - "nullable": true, - "description": "For `fixed_count` installment plans, this is the interval between installment payments your customer will make to their credit card.\nOne of `month`." + "description": "Maximum amount allowed to spend per interval. This amount is in the card's currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal)." }, - "type": { - "type": "string", - "enum": [ - "fixed_count" - ], - "nullable": false, - "description": "Type of installment plan, one of `fixed_count`." - } - }, - "required": [ - "count", - "interval", - "type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.Card.Installments": { - "properties": { - "plan": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.Installments.Plan" - } - ], + "categories": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder.SpendingControls.SpendingLimit.Category" + }, + "type": "array", "nullable": true, - "description": "Installment plan selected for the payment." - } - }, - "required": [ - "plan" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.Card.Multicapture.Status": { - "type": "string", - "enum": [ - "available", - "unavailable" - ] - }, - "stripe.Stripe.Charge.PaymentMethodDetails.Card.Multicapture": { - "properties": { - "status": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.Multicapture.Status", - "description": "Indicates whether or not multiple captures are supported." - } - }, - "required": [ - "status" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.Card.NetworkToken": { - "properties": { - "used": { - "type": "boolean", - "description": "Indicates if Stripe used a network token, either user provided or Stripe managed when processing the transaction." - } - }, - "required": [ - "used" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.Card.Overcapture.Status": { - "type": "string", - "enum": [ - "available", - "unavailable" - ] - }, - "stripe.Stripe.Charge.PaymentMethodDetails.Card.Overcapture": { - "properties": { - "maximum_amount_capturable": { - "type": "number", - "format": "double", - "description": "The maximum amount that can be captured." + "description": "Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) this limit applies to. Omitting this field will apply the limit to all categories." }, - "status": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.Overcapture.Status", - "description": "Indicates whether or not the authorized amount can be over-captured." + "interval": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder.SpendingControls.SpendingLimit.Interval", + "description": "Interval (or event) to which the amount applies." } }, "required": [ - "maximum_amount_capturable", - "status" + "amount", + "categories", + "interval" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Charge.PaymentMethodDetails.Card.RegulatedStatus": { - "type": "string", - "enum": [ - "regulated", - "unregulated" - ] - }, - "stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.AuthenticationFlow": { - "type": "string", - "enum": [ - "challenge", - "frictionless" - ] - }, - "stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.ElectronicCommerceIndicator": { - "type": "string", - "enum": [ - "01", - "02", - "05", - "06", - "07" - ] - }, - "stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.ExemptionIndicator": { - "type": "string", - "enum": [ - "low_risk", - "none" - ] - }, - "stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.Result": { - "type": "string", - "enum": [ - "attempt_acknowledged", - "authenticated", - "exempted", - "failed", - "not_supported", - "processing_error" - ] - }, - "stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.ResultReason": { - "type": "string", - "enum": [ - "abandoned", - "bypassed", - "canceled", - "card_not_enrolled", - "network_not_supported", - "protocol_error", - "rejected" - ] - }, - "stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.Version": { - "type": "string", - "enum": [ - "1.0.2", - "2.1.0", - "2.2.0" - ] - }, - "stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure": { + "stripe.Stripe.Issuing.Cardholder.SpendingControls": { "properties": { - "authentication_flow": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.AuthenticationFlow" - } - ], - "nullable": true, - "description": "For authenticated transactions: how the customer was authenticated by\nthe issuing bank." - }, - "electronic_commerce_indicator": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.ElectronicCommerceIndicator" - } - ], - "nullable": true, - "description": "The Electronic Commerce Indicator (ECI). A protocol-level field\nindicating what degree of authentication was performed." - }, - "exemption_indicator": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.ExemptionIndicator" - } - ], - "nullable": true, - "description": "The exemption requested via 3DS and accepted by the issuer at authentication time." - }, - "exemption_indicator_applied": { - "type": "boolean", - "description": "Whether Stripe requested the value of `exemption_indicator` in the transaction. This will depend on\nthe outcome of Stripe's internal risk assessment." - }, - "result": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.Result" - } - ], + "allowed_categories": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder.SpendingControls.AllowedCategory" + }, + "type": "array", "nullable": true, - "description": "Indicates the outcome of 3D Secure authentication." + "description": "Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to allow. All other categories will be blocked. Cannot be set with `blocked_categories`." }, - "result_reason": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.ResultReason" - } - ], + "allowed_merchant_countries": { + "items": { + "type": "string" + }, + "type": "array", "nullable": true, - "description": "Additional information about why 3D Secure succeeded or failed based\non the `result`." + "description": "Array of strings containing representing countries from which authorizations will be allowed. Authorizations from merchants in all other countries will be declined. Country codes should be ISO 3166 alpha-2 country codes (e.g. `US`). Cannot be set with `blocked_merchant_countries`. Provide an empty value to unset this control." }, - "transaction_id": { - "type": "string", + "blocked_categories": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder.SpendingControls.BlockedCategory" + }, + "type": "array", "nullable": true, - "description": "The 3D Secure 1 XID or 3D Secure 2 Directory Server Transaction ID\n(dsTransId) for this payment." + "description": "Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to decline. All other categories will be allowed. Cannot be set with `allowed_categories`." }, - "version": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.Version" - } - ], - "nullable": true, - "description": "The version of 3D Secure that was used." - } - }, - "required": [ - "authentication_flow", - "electronic_commerce_indicator", - "exemption_indicator", - "result", - "result_reason", - "transaction_id", - "version" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.AmexExpressCheckout": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.ApplePay": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.GooglePay": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.Link": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.Masterpass": { - "properties": { - "billing_address": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Address" - } - ], + "blocked_merchant_countries": { + "items": { + "type": "string" + }, + "type": "array", "nullable": true, - "description": "Owner's verified billing address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated." + "description": "Array of strings containing representing countries from which authorizations will be declined. Country codes should be ISO 3166 alpha-2 country codes (e.g. `US`). Cannot be set with `allowed_merchant_countries`. Provide an empty value to unset this control." }, - "email": { - "type": "string", + "spending_limits": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder.SpendingControls.SpendingLimit" + }, + "type": "array", "nullable": true, - "description": "Owner's verified email. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated." + "description": "Limit spending with amount-based rules that apply across this cardholder's cards." }, - "name": { + "spending_limits_currency": { "type": "string", "nullable": true, - "description": "Owner's verified full name. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated." - }, - "shipping_address": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Address" - } - ], - "nullable": true, - "description": "Owner's verified shipping address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated." + "description": "Currency of the amounts within `spending_limits`." } }, "required": [ - "billing_address", - "email", - "name", - "shipping_address" + "allowed_categories", + "allowed_merchant_countries", + "blocked_categories", + "blocked_merchant_countries", + "spending_limits", + "spending_limits_currency" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.SamsungPay": { - "properties": {}, - "type": "object", - "additionalProperties": false + "stripe.Stripe.Issuing.Cardholder.Status": { + "type": "string", + "enum": [ + "active", + "blocked", + "inactive" + ] }, - "stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.Type": { + "stripe.Stripe.Issuing.Cardholder.Type": { "type": "string", "enum": [ - "amex_express_checkout", - "apple_pay", - "google_pay", - "link", - "masterpass", - "samsung_pay", - "visa_checkout" + "company", + "individual" ] }, - "stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.VisaCheckout": { + "stripe.Stripe.Issuing.Cardholder": { + "description": "An Issuing `Cardholder` object represents an individual or business entity who is [issued](https://stripe.com/docs/issuing) cards.\n\nRelated guide: [How to create a cardholder](https://stripe.com/docs/issuing/cards/virtual/issue-cards#create-cardholder)", "properties": { - "billing_address": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Address" - } - ], - "nullable": true, - "description": "Owner's verified billing address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated." - }, - "email": { + "id": { "type": "string", - "nullable": true, - "description": "Owner's verified email. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated." + "description": "Unique identifier for the object." }, - "name": { + "object": { "type": "string", - "nullable": true, - "description": "Owner's verified full name. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated." - }, - "shipping_address": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Address" - } + "enum": [ + "issuing.cardholder" ], - "nullable": true, - "description": "Owner's verified shipping address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated." - } - }, - "required": [ - "billing_address", - "email", - "name", - "shipping_address" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet": { - "properties": { - "amex_express_checkout": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.AmexExpressCheckout" - }, - "apple_pay": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.ApplePay" - }, - "dynamic_last4": { - "type": "string", - "nullable": true, - "description": "(For tokenized numbers only.) The last four digits of the device account number." - }, - "google_pay": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.GooglePay" - }, - "link": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.Link" - }, - "masterpass": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.Masterpass" - }, - "samsung_pay": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.SamsungPay" - }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.Type", - "description": "The type of the card wallet, one of `amex_express_checkout`, `apple_pay`, `google_pay`, `masterpass`, `samsung_pay`, `visa_checkout`, or `link`. An additional hash is included on the Wallet subhash with a name matching this value. It contains additional information specific to the card wallet type." - }, - "visa_checkout": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.VisaCheckout" - } - }, - "required": [ - "dynamic_last4", - "type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.Card": { - "properties": { - "amount_authorized": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The authorized amount." - }, - "authorization_code": { - "type": "string", - "nullable": true, - "description": "Authorization code on the charge." - }, - "brand": { - "type": "string", - "nullable": true, - "description": "Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`." + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." }, - "capture_before": { - "type": "number", - "format": "double", - "description": "When using manual capture, a future timestamp at which the charge will be automatically refunded if uncaptured." + "billing": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder.Billing" }, - "checks": { + "company": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.Checks" + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder.Company" } ], "nullable": true, - "description": "Check results by Card networks on Card address and CVC at time of payment." - }, - "country": { - "type": "string", - "nullable": true, - "description": "Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected." - }, - "description": { - "type": "string", - "nullable": true, - "description": "A high-level description of the type of cards issued in this range. (For internal use only and not typically available in standard API requests.)" - }, - "exp_month": { - "type": "number", - "format": "double", - "description": "Two-digit number representing the card's expiration month." + "description": "Additional information about a `company` cardholder." }, - "exp_year": { + "created": { "type": "number", "format": "double", - "description": "Four-digit number representing the card's expiration year." - }, - "extended_authorization": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.ExtendedAuthorization" - }, - "fingerprint": { - "type": "string", - "nullable": true, - "description": "Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.\n\n*As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.*" - }, - "funding": { - "type": "string", - "nullable": true, - "description": "Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`." + "description": "Time at which the object was created. Measured in seconds since the Unix epoch." }, - "iin": { + "email": { "type": "string", "nullable": true, - "description": "Issuer identification number of the card. (For internal use only and not typically available in standard API requests.)" - }, - "incremental_authorization": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.IncrementalAuthorization" + "description": "The cardholder's email address." }, - "installments": { + "individual": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.Installments" + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder.Individual" } ], "nullable": true, - "description": "Installment details for this payment (Mexico only).\n\nFor more information, see the [installments integration guide](https://stripe.com/docs/payments/installments)." + "description": "Additional information about an `individual` cardholder." }, - "issuer": { - "type": "string", - "nullable": true, - "description": "The name of the card's issuing bank. (For internal use only and not typically available in standard API requests.)" + "livemode": { + "type": "boolean", + "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." }, - "last4": { + "metadata": { + "$ref": "#/components/schemas/stripe.Stripe.Metadata", + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." + }, + "name": { "type": "string", - "nullable": true, - "description": "The last four digits of the card." + "description": "The cardholder's name. This will be printed on cards issued to them." }, - "mandate": { + "phone_number": { "type": "string", "nullable": true, - "description": "ID of the mandate used to make this payment or created by it." + "description": "The cardholder's phone number. This is required for all cardholders who will be creating EU cards. See the [3D Secure documentation](https://stripe.com/docs/issuing/3d-secure#when-is-3d-secure-applied) for more details." }, - "moto": { - "type": "boolean", + "preferred_locales": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder.PreferredLocale" + }, + "type": "array", "nullable": true, - "description": "True if this payment was marked as MOTO and out of scope for SCA." - }, - "multicapture": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.Multicapture" + "description": "The cardholder's preferred locales (languages), ordered by preference. Locales can be `de`, `en`, `es`, `fr`, or `it`.\n This changes the language of the [3D Secure flow](https://stripe.com/docs/issuing/3d-secure) and one-time password messages sent to the cardholder." }, - "network": { - "type": "string", - "nullable": true, - "description": "Identifies which network this charge was processed on. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `interac`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`." + "requirements": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder.Requirements" }, - "network_token": { + "spending_controls": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.NetworkToken" + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder.SpendingControls" } ], "nullable": true, - "description": "If this card has network token credentials, this contains the details of the network token credentials." + "description": "Rules that control spending across this cardholder's cards. Refer to our [documentation](https://stripe.com/docs/issuing/controls/spending-controls) for more details." }, - "network_transaction_id": { + "status": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder.Status", + "description": "Specifies whether to permit authorizations on this cardholder's cards." + }, + "type": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder.Type", + "description": "One of `individual` or `company`. See [Choose a cardholder type](https://stripe.com/docs/issuing/other/choose-cardholder) for more details." + } + }, + "required": [ + "id", + "object", + "billing", + "company", + "created", + "email", + "individual", + "livemode", + "metadata", + "name", + "phone_number", + "preferred_locales", + "requirements", + "spending_controls", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Issuing.PersonalizationDesign.CarrierText": { + "properties": { + "footer_body": { "type": "string", "nullable": true, - "description": "This is used by the financial networks to identify a transaction. Visa calls this the Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the Acquirer Reference Data. This value will be present if it is returned by the financial network in the authorization response, and null otherwise." - }, - "overcapture": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.Overcapture" + "description": "The footer body text of the carrier letter." }, - "regulated_status": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.RegulatedStatus" - } - ], + "footer_title": { + "type": "string", "nullable": true, - "description": "Status of a card based on the card issuer." + "description": "The footer title text of the carrier letter." }, - "three_d_secure": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure" - } - ], + "header_body": { + "type": "string", "nullable": true, - "description": "Populated if this transaction used 3D Secure authentication." + "description": "The header body text of the carrier letter." }, - "wallet": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet" - } - ], + "header_title": { + "type": "string", "nullable": true, - "description": "If this Card is part of a card wallet, this contains the details of the card wallet." + "description": "The header title text of the carrier letter." } }, "required": [ - "amount_authorized", - "authorization_code", - "brand", - "checks", - "country", - "exp_month", - "exp_year", - "funding", - "installments", - "last4", - "mandate", - "network", - "network_transaction_id", - "regulated_status", - "three_d_secure", - "wallet" + "footer_body", + "footer_title", + "header_body", + "header_title" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.Offline": { + "stripe.Stripe.Issuing.PhysicalBundle.Features.CardLogo": { + "type": "string", + "enum": [ + "optional", + "required", + "unsupported" + ] + }, + "stripe.Stripe.Issuing.PhysicalBundle.Features.CarrierText": { + "type": "string", + "enum": [ + "optional", + "required", + "unsupported" + ] + }, + "stripe.Stripe.Issuing.PhysicalBundle.Features.SecondLine": { + "type": "string", + "enum": [ + "optional", + "required", + "unsupported" + ] + }, + "stripe.Stripe.Issuing.PhysicalBundle.Features": { "properties": { - "stored_at": { - "type": "number", - "format": "double", - "nullable": true, - "description": "Time at which the payment was collected while offline" + "card_logo": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.PhysicalBundle.Features.CardLogo", + "description": "The policy for how to use card logo images in a card design with this physical bundle." }, - "type": { - "type": "string", - "enum": [ - "deferred", - null - ], - "nullable": true, - "description": "The method used to process this payment method offline. Only deferred is allowed." + "carrier_text": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.PhysicalBundle.Features.CarrierText", + "description": "The policy for how to use carrier letter text in a card design with this physical bundle." + }, + "second_line": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.PhysicalBundle.Features.SecondLine", + "description": "The policy for how to use a second line on a card with this physical bundle." } }, "required": [ - "stored_at", - "type" + "card_logo", + "carrier_text", + "second_line" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.ReadMethod": { + "stripe.Stripe.Issuing.PhysicalBundle.Status": { "type": "string", "enum": [ - "contact_emv", - "contactless_emv", - "contactless_magstripe_mode", - "magnetic_stripe_fallback", - "magnetic_stripe_track2" + "active", + "inactive", + "review" ] }, - "stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.Receipt.AccountType": { + "stripe.Stripe.Issuing.PhysicalBundle.Type": { "type": "string", "enum": [ - "checking", - "credit", - "prepaid", - "unknown" + "custom", + "standard" ] }, - "stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.Receipt": { + "stripe.Stripe.Issuing.PhysicalBundle": { + "description": "A Physical Bundle represents the bundle of physical items - card stock, carrier letter, and envelope - that is shipped to a cardholder when you create a physical card.", "properties": { - "account_type": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.Receipt.AccountType", - "description": "The type of account being debited or credited" - }, - "application_cryptogram": { + "id": { "type": "string", - "nullable": true, - "description": "EMV tag 9F26, cryptogram generated by the integrated circuit chip." + "description": "Unique identifier for the object." }, - "application_preferred_name": { + "object": { "type": "string", - "nullable": true, - "description": "Mnenomic of the Application Identifier." + "enum": [ + "issuing.physical_bundle" + ], + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." }, - "authorization_code": { - "type": "string", - "nullable": true, - "description": "Identifier for this transaction." + "features": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.PhysicalBundle.Features" }, - "authorization_response_code": { - "type": "string", - "nullable": true, - "description": "EMV tag 8A. A code returned by the card issuer." + "livemode": { + "type": "boolean", + "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." }, - "cardholder_verification_method": { + "name": { "type": "string", - "nullable": true, - "description": "Describes the method used by the cardholder to verify ownership of the card. One of the following: `approval`, `failure`, `none`, `offline_pin`, `offline_pin_and_signature`, `online_pin`, or `signature`." + "description": "Friendly display name." }, - "dedicated_file_name": { - "type": "string", - "nullable": true, - "description": "EMV tag 84. Similar to the application identifier stored on the integrated circuit chip." + "status": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.PhysicalBundle.Status", + "description": "Whether this physical bundle can be used to create cards." }, - "terminal_verification_results": { - "type": "string", - "nullable": true, - "description": "The outcome of a series of EMV functions performed by the card reader." + "type": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.PhysicalBundle.Type", + "description": "Whether this physical bundle is a standard Stripe offering or custom-made for you." + } + }, + "required": [ + "id", + "object", + "features", + "livemode", + "name", + "status", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Issuing.PersonalizationDesign.Preferences": { + "properties": { + "is_default": { + "type": "boolean", + "description": "Whether we use this personalization design to create cards when one isn't specified. A connected account uses the Connect platform's default design if no personalization design is set as the default design." }, - "transaction_status_information": { - "type": "string", + "is_platform_default": { + "type": "boolean", "nullable": true, - "description": "An indication of various EMV functions performed during the transaction." + "description": "Whether this personalization design is used to create cards when one is not specified and a default for this connected account does not exist." } }, "required": [ - "application_cryptogram", - "application_preferred_name", - "authorization_code", - "authorization_response_code", - "cardholder_verification_method", - "dedicated_file_name", - "terminal_verification_results", - "transaction_status_information" + "is_default", + "is_platform_default" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.Wallet.Type": { + "stripe.Stripe.Issuing.PersonalizationDesign.RejectionReasons.CardLogo": { "type": "string", "enum": [ - "apple_pay", - "google_pay", - "samsung_pay", - "unknown" + "geographic_location", + "inappropriate", + "network_name", + "non_binary_image", + "non_fiat_currency", + "other", + "other_entity", + "promotional_material" ] }, - "stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.Wallet": { + "stripe.Stripe.Issuing.PersonalizationDesign.RejectionReasons.CarrierText": { + "type": "string", + "enum": [ + "geographic_location", + "inappropriate", + "network_name", + "non_fiat_currency", + "other", + "other_entity", + "promotional_material" + ] + }, + "stripe.Stripe.Issuing.PersonalizationDesign.RejectionReasons": { "properties": { - "type": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.Wallet.Type", - "description": "The type of mobile wallet, one of `apple_pay`, `google_pay`, `samsung_pay`, or `unknown`." + "card_logo": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.PersonalizationDesign.RejectionReasons.CardLogo" + }, + "type": "array", + "nullable": true, + "description": "The reason(s) the card logo was rejected." + }, + "carrier_text": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.PersonalizationDesign.RejectionReasons.CarrierText" + }, + "type": "array", + "nullable": true, + "description": "The reason(s) the carrier text was rejected." } }, "required": [ - "type" + "card_logo", + "carrier_text" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Charge.PaymentMethodDetails.CardPresent": { + "stripe.Stripe.Issuing.PersonalizationDesign.Status": { + "type": "string", + "enum": [ + "active", + "inactive", + "rejected", + "review" + ] + }, + "stripe.Stripe.Issuing.PersonalizationDesign": { + "description": "A Personalization Design is a logical grouping of a Physical Bundle, card logo, and carrier text that represents a product line.", "properties": { - "amount_authorized": { + "id": { + "type": "string", + "description": "Unique identifier for the object." + }, + "object": { + "type": "string", + "enum": [ + "issuing.personalization_design" + ], + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." + }, + "card_logo": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.File" + } + ], + "nullable": true, + "description": "The file for the card logo to use with physical bundles that support card logos. Must have a `purpose` value of `issuing_logo`." + }, + "carrier_text": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.PersonalizationDesign.CarrierText" + } + ], + "nullable": true, + "description": "Hash containing carrier text, for use with physical bundles that support carrier text." + }, + "created": { "type": "number", "format": "double", + "description": "Time at which the object was created. Measured in seconds since the Unix epoch." + }, + "livemode": { + "type": "boolean", + "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." + }, + "lookup_key": { + "type": "string", "nullable": true, - "description": "The authorized amount" + "description": "A lookup key used to retrieve personalization designs dynamically from a static string. This may be up to 200 characters." + }, + "metadata": { + "$ref": "#/components/schemas/stripe.Stripe.Metadata", + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." + }, + "name": { + "type": "string", + "nullable": true, + "description": "Friendly display name." + }, + "physical_bundle": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.PhysicalBundle" + } + ], + "description": "The physical bundle object belonging to this personalization design." + }, + "preferences": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.PersonalizationDesign.Preferences" + }, + "rejection_reasons": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.PersonalizationDesign.RejectionReasons" + }, + "status": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.PersonalizationDesign.Status", + "description": "Whether this personalization design can be used to create cards." + } + }, + "required": [ + "id", + "object", + "card_logo", + "carrier_text", + "created", + "livemode", + "lookup_key", + "metadata", + "name", + "physical_bundle", + "preferences", + "rejection_reasons", + "status" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Issuing.Card": { + "description": "You can [create physical or virtual cards](https://stripe.com/docs/issuing) that are issued to cardholders.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the object." + }, + "object": { + "type": "string", + "enum": [ + "issuing.card" + ], + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." }, "brand": { "type": "string", - "nullable": true, - "description": "Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`." + "description": "The brand of the card." }, - "brand_product": { - "type": "string", + "cancellation_reason": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.CancellationReason" + } + ], "nullable": true, - "description": "The [product code](https://stripe.com/docs/card-product-codes) that identifies the specific program or product associated with a card." + "description": "The reason why the card was canceled." }, - "capture_before": { + "cardholder": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder", + "description": "An Issuing `Cardholder` object represents an individual or business entity who is [issued](https://stripe.com/docs/issuing) cards.\n\nRelated guide: [How to create a cardholder](https://stripe.com/docs/issuing/cards/virtual/issue-cards#create-cardholder)" + }, + "created": { "type": "number", "format": "double", - "description": "When using manual capture, a future timestamp after which the charge will be automatically refunded if uncaptured." - }, - "cardholder_name": { - "type": "string", - "nullable": true, - "description": "The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay." - }, - "country": { - "type": "string", - "nullable": true, - "description": "Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected." + "description": "Time at which the object was created. Measured in seconds since the Unix epoch." }, - "description": { + "currency": { "type": "string", - "nullable": true, - "description": "A high-level description of the type of cards issued in this range. (For internal use only and not typically available in standard API requests.)" + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Supported currencies are `usd` in the US, `eur` in the EU, and `gbp` in the UK." }, - "emv_auth_data": { + "cvc": { "type": "string", - "nullable": true, - "description": "Authorization response cryptogram." + "description": "The card's CVC. For security reasons, this is only available for virtual cards, and will be omitted unless you explicitly request it with [the `expand` parameter](https://stripe.com/docs/api/expanding_objects). Additionally, it's only available via the [\"Retrieve a card\" endpoint](https://stripe.com/docs/api/issuing/cards/retrieve), not via \"List all cards\" or any other endpoint." }, "exp_month": { "type": "number", "format": "double", - "description": "Two-digit number representing the card's expiration month." + "description": "The expiration month of the card." }, "exp_year": { "type": "number", "format": "double", - "description": "Four-digit number representing the card's expiration year." - }, - "fingerprint": { - "type": "string", - "nullable": true, - "description": "Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.\n\n*As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.*" - }, - "funding": { - "type": "string", - "nullable": true, - "description": "Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`." + "description": "The expiration year of the card." }, - "generated_card": { + "financial_account": { "type": "string", "nullable": true, - "description": "ID of a card PaymentMethod generated from the card_present PaymentMethod that may be attached to a Customer for future transactions. Only present if it was possible to generate a card PaymentMethod." + "description": "The financial account this card is attached to." }, - "iin": { + "last4": { "type": "string", - "nullable": true, - "description": "Issuer identification number of the card. (For internal use only and not typically available in standard API requests.)" + "description": "The last 4 digits of the card number." }, - "incremental_authorization_supported": { + "livemode": { "type": "boolean", - "description": "Whether this [PaymentIntent](https://stripe.com/docs/api/payment_intents) is eligible for incremental authorizations. Request support using [request_incremental_authorization_support](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-payment_method_options-card_present-request_incremental_authorization_support)." + "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." }, - "issuer": { - "type": "string", - "nullable": true, - "description": "The name of the card's issuing bank. (For internal use only and not typically available in standard API requests.)" + "metadata": { + "$ref": "#/components/schemas/stripe.Stripe.Metadata", + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." }, - "last4": { + "number": { "type": "string", - "nullable": true, - "description": "The last four digits of the card." + "description": "The full unredacted card number. For security reasons, this is only available for virtual cards, and will be omitted unless you explicitly request it with [the `expand` parameter](https://stripe.com/docs/api/expanding_objects). Additionally, it's only available via the [\"Retrieve a card\" endpoint](https://stripe.com/docs/api/issuing/cards/retrieve), not via \"List all cards\" or any other endpoint." }, - "network": { - "type": "string", + "personalization_design": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.PersonalizationDesign" + } + ], "nullable": true, - "description": "Identifies which network this charge was processed on. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `interac`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`." + "description": "The personalization design object belonging to this card." }, - "network_transaction_id": { - "type": "string", + "replaced_by": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card" + } + ], "nullable": true, - "description": "This is used by the financial networks to identify a transaction. Visa calls this the Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the Acquirer Reference Data. This value will be present if it is returned by the financial network in the authorization response, and null otherwise." + "description": "The latest card that replaces this card, if any." }, - "offline": { - "allOf": [ + "replacement_for": { + "anyOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.Offline" + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card" } ], "nullable": true, - "description": "Details about payments collected offline." - }, - "overcapture_supported": { - "type": "boolean", - "description": "Defines whether the authorized amount can be over-captured or not" + "description": "The card this card replaces, if any." }, - "preferred_locales": { - "items": { - "type": "string" - }, - "type": "array", + "replacement_reason": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.ReplacementReason" + } + ], "nullable": true, - "description": "EMV tag 5F2D. Preferred languages specified by the integrated circuit chip." + "description": "The reason why the previous card needed to be replaced." }, - "read_method": { + "shipping": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.ReadMethod" + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.Shipping" } ], "nullable": true, - "description": "How card details were read in this transaction." + "description": "Where and how the card will be shipped." }, - "receipt": { + "spending_controls": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.SpendingControls" + }, + "status": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.Status", + "description": "Whether authorizations can be approved on this card. May be blocked from activating cards depending on past-due Cardholder requirements. Defaults to `inactive`." + }, + "type": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.Type", + "description": "The type of the card." + }, + "wallets": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.Receipt" + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.Wallets" } ], "nullable": true, - "description": "A collection of fields required to be displayed on receipts. Only required for EMV transactions." - }, - "wallet": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.Wallet" + "description": "Information relating to digital wallets (like Apple Pay and Google Pay)." } }, "required": [ - "amount_authorized", + "id", + "object", "brand", - "brand_product", - "cardholder_name", - "country", - "emv_auth_data", + "cancellation_reason", + "cardholder", + "created", + "currency", "exp_month", "exp_year", - "fingerprint", - "funding", - "generated_card", - "incremental_authorization_supported", "last4", - "network", - "network_transaction_id", - "offline", - "overcapture_supported", - "preferred_locales", - "read_method", - "receipt" + "livemode", + "metadata", + "personalization_design", + "replaced_by", + "replacement_for", + "replacement_reason", + "shipping", + "spending_controls", + "status", + "type", + "wallets" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Charge.PaymentMethodDetails.Cashapp": { + "stripe.Stripe.Issuing.Card.ReplacementReason": { + "type": "string", + "enum": [ + "damaged", + "expired", + "lost", + "stolen" + ] + }, + "stripe.Stripe.Issuing.Card.Shipping.AddressValidation.Mode": { + "type": "string", + "enum": [ + "disabled", + "normalization_only", + "validation_and_normalization" + ] + }, + "stripe.Stripe.Issuing.Card.Shipping.AddressValidation.Result": { + "type": "string", + "enum": [ + "indeterminate", + "likely_deliverable", + "likely_undeliverable" + ] + }, + "stripe.Stripe.Issuing.Card.Shipping.AddressValidation": { "properties": { - "buyer_id": { - "type": "string", + "mode": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.Shipping.AddressValidation.Mode", + "description": "The address validation capabilities to use." + }, + "normalized_address": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Address" + } + ], "nullable": true, - "description": "A unique and immutable identifier assigned by Cash App to every buyer." + "description": "The normalized shipping address." }, - "cashtag": { - "type": "string", + "result": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.Shipping.AddressValidation.Result" + } + ], "nullable": true, - "description": "A public identifier for buyers using Cash App." + "description": "The validation result for the shipping address." } }, "required": [ - "buyer_id", - "cashtag" + "mode", + "normalized_address", + "result" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Charge.PaymentMethodDetails.CustomerBalance": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.Eps.Bank": { + "stripe.Stripe.Issuing.Card.Shipping.Carrier": { "type": "string", "enum": [ - "arzte_und_apotheker_bank", - "austrian_anadi_bank_ag", - "bank_austria", - "bankhaus_carl_spangler", - "bankhaus_schelhammer_und_schattera_ag", - "bawag_psk_ag", - "bks_bank_ag", - "brull_kallmus_bank_ag", - "btv_vier_lander_bank", - "capital_bank_grawe_gruppe_ag", - "deutsche_bank_ag", - "dolomitenbank", - "easybank_ag", - "erste_bank_und_sparkassen", - "hypo_alpeadriabank_international_ag", - "hypo_bank_burgenland_aktiengesellschaft", - "hypo_noe_lb_fur_niederosterreich_u_wien", - "hypo_oberosterreich_salzburg_steiermark", - "hypo_tirol_bank_ag", - "hypo_vorarlberg_bank_ag", - "marchfelder_bank", - "oberbank_ag", - "raiffeisen_bankengruppe_osterreich", - "schoellerbank_ag", - "sparda_bank_wien", - "volksbank_gruppe", - "volkskreditbank_ag", - "vr_bank_braunau" + "dhl", + "fedex", + "royal_mail", + "usps" ] }, - "stripe.Stripe.Charge.PaymentMethodDetails.Eps": { + "stripe.Stripe.Issuing.Card.Shipping.Customs": { "properties": { - "bank": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Eps.Bank" - } - ], - "nullable": true, - "description": "The customer's bank. Should be one of `arzte_und_apotheker_bank`, `austrian_anadi_bank_ag`, `bank_austria`, `bankhaus_carl_spangler`, `bankhaus_schelhammer_und_schattera_ag`, `bawag_psk_ag`, `bks_bank_ag`, `brull_kallmus_bank_ag`, `btv_vier_lander_bank`, `capital_bank_grawe_gruppe_ag`, `deutsche_bank_ag`, `dolomitenbank`, `easybank_ag`, `erste_bank_und_sparkassen`, `hypo_alpeadriabank_international_ag`, `hypo_noe_lb_fur_niederosterreich_u_wien`, `hypo_oberosterreich_salzburg_steiermark`, `hypo_tirol_bank_ag`, `hypo_vorarlberg_bank_ag`, `hypo_bank_burgenland_aktiengesellschaft`, `marchfelder_bank`, `oberbank_ag`, `raiffeisen_bankengruppe_osterreich`, `schoellerbank_ag`, `sparda_bank_wien`, `volksbank_gruppe`, `volkskreditbank_ag`, or `vr_bank_braunau`." - }, - "verified_name": { + "eori_number": { "type": "string", "nullable": true, - "description": "Owner's verified full name. Values are verified or provided by EPS directly\n(if supported) at the time of authorization or settlement. They cannot be set or mutated.\nEPS rarely provides this information so the attribute is usually empty." + "description": "A registration number used for customs in Europe. See [https://www.gov.uk/eori](https://www.gov.uk/eori) for the UK and [https://ec.europa.eu/taxation_customs/business/customs-procedures-import-and-export/customs-procedures/economic-operators-registration-and-identification-number-eori_en](https://ec.europa.eu/taxation_customs/business/customs-procedures-import-and-export/customs-procedures/economic-operators-registration-and-identification-number-eori_en) for the EU." } }, "required": [ - "bank", - "verified_name" + "eori_number" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Charge.PaymentMethodDetails.Fpx.AccountHolderType": { + "stripe.Stripe.Issuing.Card.Shipping.Service": { "type": "string", "enum": [ - "company", - "individual" + "express", + "priority", + "standard" ] }, - "stripe.Stripe.Charge.PaymentMethodDetails.Fpx.Bank": { + "stripe.Stripe.Issuing.Card.Shipping.Status": { "type": "string", "enum": [ - "affin_bank", - "agrobank", - "alliance_bank", - "ambank", - "bank_islam", - "bank_muamalat", - "bank_of_china", - "bank_rakyat", - "bsn", - "cimb", - "deutsche_bank", - "hong_leong_bank", - "hsbc", - "kfh", - "maybank2e", - "maybank2u", - "ocbc", - "pb_enterprise", - "public_bank", - "rhb", - "standard_chartered", - "uob" + "canceled", + "delivered", + "failure", + "pending", + "returned", + "shipped", + "submitted" ] }, - "stripe.Stripe.Charge.PaymentMethodDetails.Fpx": { + "stripe.Stripe.Issuing.Card.Shipping.Type": { + "type": "string", + "enum": [ + "bulk", + "individual" + ] + }, + "stripe.Stripe.Issuing.Card.Shipping": { "properties": { - "account_holder_type": { + "address": { + "$ref": "#/components/schemas/stripe.Stripe.Address" + }, + "address_validation": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Fpx.AccountHolderType" + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.Shipping.AddressValidation" } ], "nullable": true, - "description": "Account holder type, if provided. Can be one of `individual` or `company`." + "description": "Address validation details for the shipment." }, - "bank": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Fpx.Bank", - "description": "The customer's bank. Can be one of `affin_bank`, `agrobank`, `alliance_bank`, `ambank`, `bank_islam`, `bank_muamalat`, `bank_rakyat`, `bsn`, `cimb`, `hong_leong_bank`, `hsbc`, `kfh`, `maybank2u`, `ocbc`, `public_bank`, `rhb`, `standard_chartered`, `uob`, `deutsche_bank`, `maybank2e`, `pb_enterprise`, or `bank_of_china`." + "carrier": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.Shipping.Carrier" + } + ], + "nullable": true, + "description": "The delivery company that shipped a card." }, - "transaction_id": { - "type": "string", + "customs": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.Shipping.Customs" + } + ], "nullable": true, - "description": "Unique transaction id generated by FPX for every request from the merchant" - } - }, - "required": [ - "account_holder_type", - "bank", - "transaction_id" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.Giropay": { - "properties": { - "bank_code": { - "type": "string", + "description": "Additional information that may be required for clearing customs." + }, + "eta": { + "type": "number", + "format": "double", "nullable": true, - "description": "Bank code of bank associated with the bank account." + "description": "A unix timestamp representing a best estimate of when the card will be delivered." }, - "bank_name": { + "name": { "type": "string", - "nullable": true, - "description": "Name of the bank associated with the bank account." + "description": "Recipient name." }, - "bic": { + "phone_number": { "type": "string", "nullable": true, - "description": "Bank Identifier Code of the bank associated with the bank account." + "description": "The phone number of the receiver of the shipment. Our courier partners will use this number to contact you in the event of card delivery issues. For individual shipments to the EU/UK, if this field is empty, we will provide them with the phone number provided when the cardholder was initially created." }, - "verified_name": { + "require_signature": { + "type": "boolean", + "nullable": true, + "description": "Whether a signature is required for card delivery. This feature is only supported for US users. Standard shipping service does not support signature on delivery. The default value for standard shipping service is false and for express and priority services is true." + }, + "service": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.Shipping.Service", + "description": "Shipment service, such as `standard` or `express`." + }, + "status": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.Shipping.Status" + } + ], + "nullable": true, + "description": "The delivery status of the card." + }, + "tracking_number": { "type": "string", "nullable": true, - "description": "Owner's verified full name. Values are verified or provided by Giropay directly\n(if supported) at the time of authorization or settlement. They cannot be set or mutated.\nGiropay rarely provides this information so the attribute is usually empty." - } - }, - "required": [ - "bank_code", - "bank_name", - "bic", - "verified_name" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.Grabpay": { - "properties": { - "transaction_id": { + "description": "A tracking number for a card shipment." + }, + "tracking_url": { "type": "string", "nullable": true, - "description": "Unique transaction id generated by GrabPay" + "description": "A link to the shipping carrier's site where you can view detailed information about a card shipment." + }, + "type": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.Shipping.Type", + "description": "Packaging options." } }, "required": [ - "transaction_id" + "address", + "address_validation", + "carrier", + "customs", + "eta", + "name", + "phone_number", + "require_signature", + "service", + "status", + "tracking_number", + "tracking_url", + "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Charge.PaymentMethodDetails.Ideal.Bank": { + "stripe.Stripe.Issuing.Card.SpendingControls.AllowedCategory": { "type": "string", "enum": [ - "abn_amro", - "asn_bank", - "bunq", - "handelsbanken", - "ing", - "knab", - "moneyou", - "n26", - "nn", - "rabobank", - "regiobank", - "revolut", - "sns_bank", - "triodos_bank", - "van_lanschot", - "yoursafe" + "ac_refrigeration_repair", + "accounting_bookkeeping_services", + "advertising_services", + "agricultural_cooperative", + "airlines_air_carriers", + "airports_flying_fields", + "ambulance_services", + "amusement_parks_carnivals", + "antique_reproductions", + "antique_shops", + "aquariums", + "architectural_surveying_services", + "art_dealers_and_galleries", + "artists_supply_and_craft_shops", + "auto_and_home_supply_stores", + "auto_body_repair_shops", + "auto_paint_shops", + "auto_service_shops", + "automated_cash_disburse", + "automated_fuel_dispensers", + "automobile_associations", + "automotive_parts_and_accessories_stores", + "automotive_tire_stores", + "bail_and_bond_payments", + "bakeries", + "bands_orchestras", + "barber_and_beauty_shops", + "betting_casino_gambling", + "bicycle_shops", + "billiard_pool_establishments", + "boat_dealers", + "boat_rentals_and_leases", + "book_stores", + "books_periodicals_and_newspapers", + "bowling_alleys", + "bus_lines", + "business_secretarial_schools", + "buying_shopping_services", + "cable_satellite_and_other_pay_television_and_radio", + "camera_and_photographic_supply_stores", + "candy_nut_and_confectionery_stores", + "car_and_truck_dealers_new_used", + "car_and_truck_dealers_used_only", + "car_rental_agencies", + "car_washes", + "carpentry_services", + "carpet_upholstery_cleaning", + "caterers", + "charitable_and_social_service_organizations_fundraising", + "chemicals_and_allied_products", + "child_care_services", + "childrens_and_infants_wear_stores", + "chiropodists_podiatrists", + "chiropractors", + "cigar_stores_and_stands", + "civic_social_fraternal_associations", + "cleaning_and_maintenance", + "clothing_rental", + "colleges_universities", + "commercial_equipment", + "commercial_footwear", + "commercial_photography_art_and_graphics", + "commuter_transport_and_ferries", + "computer_network_services", + "computer_programming", + "computer_repair", + "computer_software_stores", + "computers_peripherals_and_software", + "concrete_work_services", + "construction_materials", + "consulting_public_relations", + "correspondence_schools", + "cosmetic_stores", + "counseling_services", + "country_clubs", + "courier_services", + "court_costs", + "credit_reporting_agencies", + "cruise_lines", + "dairy_products_stores", + "dance_hall_studios_schools", + "dating_escort_services", + "dentists_orthodontists", + "department_stores", + "detective_agencies", + "digital_goods_applications", + "digital_goods_games", + "digital_goods_large_volume", + "digital_goods_media", + "direct_marketing_catalog_merchant", + "direct_marketing_combination_catalog_and_retail_merchant", + "direct_marketing_inbound_telemarketing", + "direct_marketing_insurance_services", + "direct_marketing_other", + "direct_marketing_outbound_telemarketing", + "direct_marketing_subscription", + "direct_marketing_travel", + "discount_stores", + "doctors", + "door_to_door_sales", + "drapery_window_covering_and_upholstery_stores", + "drinking_places", + "drug_stores_and_pharmacies", + "drugs_drug_proprietaries_and_druggist_sundries", + "dry_cleaners", + "durable_goods", + "duty_free_stores", + "eating_places_restaurants", + "educational_services", + "electric_razor_stores", + "electric_vehicle_charging", + "electrical_parts_and_equipment", + "electrical_services", + "electronics_repair_shops", + "electronics_stores", + "elementary_secondary_schools", + "emergency_services_gcas_visa_use_only", + "employment_temp_agencies", + "equipment_rental", + "exterminating_services", + "family_clothing_stores", + "fast_food_restaurants", + "financial_institutions", + "fines_government_administrative_entities", + "fireplace_fireplace_screens_and_accessories_stores", + "floor_covering_stores", + "florists", + "florists_supplies_nursery_stock_and_flowers", + "freezer_and_locker_meat_provisioners", + "fuel_dealers_non_automotive", + "funeral_services_crematories", + "furniture_home_furnishings_and_equipment_stores_except_appliances", + "furniture_repair_refinishing", + "furriers_and_fur_shops", + "general_services", + "gift_card_novelty_and_souvenir_shops", + "glass_paint_and_wallpaper_stores", + "glassware_crystal_stores", + "golf_courses_public", + "government_licensed_horse_dog_racing_us_region_only", + "government_licensed_online_casions_online_gambling_us_region_only", + "government_owned_lotteries_non_us_region", + "government_owned_lotteries_us_region_only", + "government_services", + "grocery_stores_supermarkets", + "hardware_equipment_and_supplies", + "hardware_stores", + "health_and_beauty_spas", + "hearing_aids_sales_and_supplies", + "heating_plumbing_a_c", + "hobby_toy_and_game_shops", + "home_supply_warehouse_stores", + "hospitals", + "hotels_motels_and_resorts", + "household_appliance_stores", + "industrial_supplies", + "information_retrieval_services", + "insurance_default", + "insurance_underwriting_premiums", + "intra_company_purchases", + "jewelry_stores_watches_clocks_and_silverware_stores", + "landscaping_services", + "laundries", + "laundry_cleaning_services", + "legal_services_attorneys", + "luggage_and_leather_goods_stores", + "lumber_building_materials_stores", + "manual_cash_disburse", + "marinas_service_and_supplies", + "marketplaces", + "masonry_stonework_and_plaster", + "massage_parlors", + "medical_and_dental_labs", + "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", + "medical_services", + "membership_organizations", + "mens_and_boys_clothing_and_accessories_stores", + "mens_womens_clothing_stores", + "metal_service_centers", + "miscellaneous", + "miscellaneous_apparel_and_accessory_shops", + "miscellaneous_auto_dealers", + "miscellaneous_business_services", + "miscellaneous_food_stores", + "miscellaneous_general_merchandise", + "miscellaneous_general_services", + "miscellaneous_home_furnishing_specialty_stores", + "miscellaneous_publishing_and_printing", + "miscellaneous_recreation_services", + "miscellaneous_repair_shops", + "miscellaneous_specialty_retail", + "mobile_home_dealers", + "motion_picture_theaters", + "motor_freight_carriers_and_trucking", + "motor_homes_dealers", + "motor_vehicle_supplies_and_new_parts", + "motorcycle_shops_and_dealers", + "motorcycle_shops_dealers", + "music_stores_musical_instruments_pianos_and_sheet_music", + "news_dealers_and_newsstands", + "non_fi_money_orders", + "non_fi_stored_value_card_purchase_load", + "nondurable_goods", + "nurseries_lawn_and_garden_supply_stores", + "nursing_personal_care", + "office_and_commercial_furniture", + "opticians_eyeglasses", + "optometrists_ophthalmologist", + "orthopedic_goods_prosthetic_devices", + "osteopaths", + "package_stores_beer_wine_and_liquor", + "paints_varnishes_and_supplies", + "parking_lots_garages", + "passenger_railways", + "pawn_shops", + "pet_shops_pet_food_and_supplies", + "petroleum_and_petroleum_products", + "photo_developing", + "photographic_photocopy_microfilm_equipment_and_supplies", + "photographic_studios", + "picture_video_production", + "piece_goods_notions_and_other_dry_goods", + "plumbing_heating_equipment_and_supplies", + "political_organizations", + "postal_services_government_only", + "precious_stones_and_metals_watches_and_jewelry", + "professional_services", + "public_warehousing_and_storage", + "quick_copy_repro_and_blueprint", + "railroads", + "real_estate_agents_and_managers_rentals", + "record_stores", + "recreational_vehicle_rentals", + "religious_goods_stores", + "religious_organizations", + "roofing_siding_sheet_metal", + "secretarial_support_services", + "security_brokers_dealers", + "service_stations", + "sewing_needlework_fabric_and_piece_goods_stores", + "shoe_repair_hat_cleaning", + "shoe_stores", + "small_appliance_repair", + "snowmobile_dealers", + "special_trade_services", + "specialty_cleaning", + "sporting_goods_stores", + "sporting_recreation_camps", + "sports_and_riding_apparel_stores", + "sports_clubs_fields", + "stamp_and_coin_stores", + "stationary_office_supplies_printing_and_writing_paper", + "stationery_stores_office_and_school_supply_stores", + "swimming_pools_sales", + "t_ui_travel_germany", + "tailors_alterations", + "tax_payments_government_agencies", + "tax_preparation_services", + "taxicabs_limousines", + "telecommunication_equipment_and_telephone_sales", + "telecommunication_services", + "telegraph_services", + "tent_and_awning_shops", + "testing_laboratories", + "theatrical_ticket_agencies", + "timeshares", + "tire_retreading_and_repair", + "tolls_bridge_fees", + "tourist_attractions_and_exhibits", + "towing_services", + "trailer_parks_campgrounds", + "transportation_services", + "travel_agencies_tour_operators", + "truck_stop_iteration", + "truck_utility_trailer_rentals", + "typesetting_plate_making_and_related_services", + "typewriter_stores", + "u_s_federal_government_agencies_or_departments", + "uniforms_commercial_clothing", + "used_merchandise_and_secondhand_stores", + "utilities", + "variety_stores", + "veterinary_services", + "video_amusement_game_supplies", + "video_game_arcades", + "video_tape_rental_stores", + "vocational_trade_schools", + "watch_jewelry_repair", + "welding_repair", + "wholesale_clubs", + "wig_and_toupee_stores", + "wires_money_orders", + "womens_accessory_and_specialty_shops", + "womens_ready_to_wear_stores", + "wrecking_and_salvage_yards" ] }, - "stripe.Stripe.Charge.PaymentMethodDetails.Ideal.Bic": { + "stripe.Stripe.Issuing.Card.SpendingControls.BlockedCategory": { "type": "string", "enum": [ - "ABNANL2A", - "ASNBNL21", - "BITSNL2A", - "BUNQNL2A", - "FVLBNL22", - "HANDNL2A", - "INGBNL2A", - "KNABNL2H", - "MOYONL21", - "NNBANL2G", - "NTSBDEB1", - "RABONL2U", - "RBRBNL21", - "REVOIE23", - "REVOLT21", - "SNSBNL2A", - "TRIONL2U" + "ac_refrigeration_repair", + "accounting_bookkeeping_services", + "advertising_services", + "agricultural_cooperative", + "airlines_air_carriers", + "airports_flying_fields", + "ambulance_services", + "amusement_parks_carnivals", + "antique_reproductions", + "antique_shops", + "aquariums", + "architectural_surveying_services", + "art_dealers_and_galleries", + "artists_supply_and_craft_shops", + "auto_and_home_supply_stores", + "auto_body_repair_shops", + "auto_paint_shops", + "auto_service_shops", + "automated_cash_disburse", + "automated_fuel_dispensers", + "automobile_associations", + "automotive_parts_and_accessories_stores", + "automotive_tire_stores", + "bail_and_bond_payments", + "bakeries", + "bands_orchestras", + "barber_and_beauty_shops", + "betting_casino_gambling", + "bicycle_shops", + "billiard_pool_establishments", + "boat_dealers", + "boat_rentals_and_leases", + "book_stores", + "books_periodicals_and_newspapers", + "bowling_alleys", + "bus_lines", + "business_secretarial_schools", + "buying_shopping_services", + "cable_satellite_and_other_pay_television_and_radio", + "camera_and_photographic_supply_stores", + "candy_nut_and_confectionery_stores", + "car_and_truck_dealers_new_used", + "car_and_truck_dealers_used_only", + "car_rental_agencies", + "car_washes", + "carpentry_services", + "carpet_upholstery_cleaning", + "caterers", + "charitable_and_social_service_organizations_fundraising", + "chemicals_and_allied_products", + "child_care_services", + "childrens_and_infants_wear_stores", + "chiropodists_podiatrists", + "chiropractors", + "cigar_stores_and_stands", + "civic_social_fraternal_associations", + "cleaning_and_maintenance", + "clothing_rental", + "colleges_universities", + "commercial_equipment", + "commercial_footwear", + "commercial_photography_art_and_graphics", + "commuter_transport_and_ferries", + "computer_network_services", + "computer_programming", + "computer_repair", + "computer_software_stores", + "computers_peripherals_and_software", + "concrete_work_services", + "construction_materials", + "consulting_public_relations", + "correspondence_schools", + "cosmetic_stores", + "counseling_services", + "country_clubs", + "courier_services", + "court_costs", + "credit_reporting_agencies", + "cruise_lines", + "dairy_products_stores", + "dance_hall_studios_schools", + "dating_escort_services", + "dentists_orthodontists", + "department_stores", + "detective_agencies", + "digital_goods_applications", + "digital_goods_games", + "digital_goods_large_volume", + "digital_goods_media", + "direct_marketing_catalog_merchant", + "direct_marketing_combination_catalog_and_retail_merchant", + "direct_marketing_inbound_telemarketing", + "direct_marketing_insurance_services", + "direct_marketing_other", + "direct_marketing_outbound_telemarketing", + "direct_marketing_subscription", + "direct_marketing_travel", + "discount_stores", + "doctors", + "door_to_door_sales", + "drapery_window_covering_and_upholstery_stores", + "drinking_places", + "drug_stores_and_pharmacies", + "drugs_drug_proprietaries_and_druggist_sundries", + "dry_cleaners", + "durable_goods", + "duty_free_stores", + "eating_places_restaurants", + "educational_services", + "electric_razor_stores", + "electric_vehicle_charging", + "electrical_parts_and_equipment", + "electrical_services", + "electronics_repair_shops", + "electronics_stores", + "elementary_secondary_schools", + "emergency_services_gcas_visa_use_only", + "employment_temp_agencies", + "equipment_rental", + "exterminating_services", + "family_clothing_stores", + "fast_food_restaurants", + "financial_institutions", + "fines_government_administrative_entities", + "fireplace_fireplace_screens_and_accessories_stores", + "floor_covering_stores", + "florists", + "florists_supplies_nursery_stock_and_flowers", + "freezer_and_locker_meat_provisioners", + "fuel_dealers_non_automotive", + "funeral_services_crematories", + "furniture_home_furnishings_and_equipment_stores_except_appliances", + "furniture_repair_refinishing", + "furriers_and_fur_shops", + "general_services", + "gift_card_novelty_and_souvenir_shops", + "glass_paint_and_wallpaper_stores", + "glassware_crystal_stores", + "golf_courses_public", + "government_licensed_horse_dog_racing_us_region_only", + "government_licensed_online_casions_online_gambling_us_region_only", + "government_owned_lotteries_non_us_region", + "government_owned_lotteries_us_region_only", + "government_services", + "grocery_stores_supermarkets", + "hardware_equipment_and_supplies", + "hardware_stores", + "health_and_beauty_spas", + "hearing_aids_sales_and_supplies", + "heating_plumbing_a_c", + "hobby_toy_and_game_shops", + "home_supply_warehouse_stores", + "hospitals", + "hotels_motels_and_resorts", + "household_appliance_stores", + "industrial_supplies", + "information_retrieval_services", + "insurance_default", + "insurance_underwriting_premiums", + "intra_company_purchases", + "jewelry_stores_watches_clocks_and_silverware_stores", + "landscaping_services", + "laundries", + "laundry_cleaning_services", + "legal_services_attorneys", + "luggage_and_leather_goods_stores", + "lumber_building_materials_stores", + "manual_cash_disburse", + "marinas_service_and_supplies", + "marketplaces", + "masonry_stonework_and_plaster", + "massage_parlors", + "medical_and_dental_labs", + "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", + "medical_services", + "membership_organizations", + "mens_and_boys_clothing_and_accessories_stores", + "mens_womens_clothing_stores", + "metal_service_centers", + "miscellaneous", + "miscellaneous_apparel_and_accessory_shops", + "miscellaneous_auto_dealers", + "miscellaneous_business_services", + "miscellaneous_food_stores", + "miscellaneous_general_merchandise", + "miscellaneous_general_services", + "miscellaneous_home_furnishing_specialty_stores", + "miscellaneous_publishing_and_printing", + "miscellaneous_recreation_services", + "miscellaneous_repair_shops", + "miscellaneous_specialty_retail", + "mobile_home_dealers", + "motion_picture_theaters", + "motor_freight_carriers_and_trucking", + "motor_homes_dealers", + "motor_vehicle_supplies_and_new_parts", + "motorcycle_shops_and_dealers", + "motorcycle_shops_dealers", + "music_stores_musical_instruments_pianos_and_sheet_music", + "news_dealers_and_newsstands", + "non_fi_money_orders", + "non_fi_stored_value_card_purchase_load", + "nondurable_goods", + "nurseries_lawn_and_garden_supply_stores", + "nursing_personal_care", + "office_and_commercial_furniture", + "opticians_eyeglasses", + "optometrists_ophthalmologist", + "orthopedic_goods_prosthetic_devices", + "osteopaths", + "package_stores_beer_wine_and_liquor", + "paints_varnishes_and_supplies", + "parking_lots_garages", + "passenger_railways", + "pawn_shops", + "pet_shops_pet_food_and_supplies", + "petroleum_and_petroleum_products", + "photo_developing", + "photographic_photocopy_microfilm_equipment_and_supplies", + "photographic_studios", + "picture_video_production", + "piece_goods_notions_and_other_dry_goods", + "plumbing_heating_equipment_and_supplies", + "political_organizations", + "postal_services_government_only", + "precious_stones_and_metals_watches_and_jewelry", + "professional_services", + "public_warehousing_and_storage", + "quick_copy_repro_and_blueprint", + "railroads", + "real_estate_agents_and_managers_rentals", + "record_stores", + "recreational_vehicle_rentals", + "religious_goods_stores", + "religious_organizations", + "roofing_siding_sheet_metal", + "secretarial_support_services", + "security_brokers_dealers", + "service_stations", + "sewing_needlework_fabric_and_piece_goods_stores", + "shoe_repair_hat_cleaning", + "shoe_stores", + "small_appliance_repair", + "snowmobile_dealers", + "special_trade_services", + "specialty_cleaning", + "sporting_goods_stores", + "sporting_recreation_camps", + "sports_and_riding_apparel_stores", + "sports_clubs_fields", + "stamp_and_coin_stores", + "stationary_office_supplies_printing_and_writing_paper", + "stationery_stores_office_and_school_supply_stores", + "swimming_pools_sales", + "t_ui_travel_germany", + "tailors_alterations", + "tax_payments_government_agencies", + "tax_preparation_services", + "taxicabs_limousines", + "telecommunication_equipment_and_telephone_sales", + "telecommunication_services", + "telegraph_services", + "tent_and_awning_shops", + "testing_laboratories", + "theatrical_ticket_agencies", + "timeshares", + "tire_retreading_and_repair", + "tolls_bridge_fees", + "tourist_attractions_and_exhibits", + "towing_services", + "trailer_parks_campgrounds", + "transportation_services", + "travel_agencies_tour_operators", + "truck_stop_iteration", + "truck_utility_trailer_rentals", + "typesetting_plate_making_and_related_services", + "typewriter_stores", + "u_s_federal_government_agencies_or_departments", + "uniforms_commercial_clothing", + "used_merchandise_and_secondhand_stores", + "utilities", + "variety_stores", + "veterinary_services", + "video_amusement_game_supplies", + "video_game_arcades", + "video_tape_rental_stores", + "vocational_trade_schools", + "watch_jewelry_repair", + "welding_repair", + "wholesale_clubs", + "wig_and_toupee_stores", + "wires_money_orders", + "womens_accessory_and_specialty_shops", + "womens_ready_to_wear_stores", + "wrecking_and_salvage_yards" ] }, - "stripe.Stripe.Charge.PaymentMethodDetails.Ideal": { - "properties": { - "bank": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Ideal.Bank" - } - ], - "nullable": true, - "description": "The customer's bank. Can be one of `abn_amro`, `asn_bank`, `bunq`, `handelsbanken`, `ing`, `knab`, `moneyou`, `n26`, `nn`, `rabobank`, `regiobank`, `revolut`, `sns_bank`, `triodos_bank`, `van_lanschot`, or `yoursafe`." - }, - "bic": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Ideal.Bic" - } - ], - "nullable": true, - "description": "The Bank Identifier Code of the customer's bank." - }, - "generated_sepa_debit": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod" - } - ], - "nullable": true, - "description": "The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge." - }, - "generated_sepa_debit_mandate": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Mandate" - } - ], - "nullable": true, - "description": "The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge." - }, - "iban_last4": { - "type": "string", - "nullable": true, - "description": "Last four characters of the IBAN." - }, - "verified_name": { - "type": "string", - "nullable": true, - "description": "Owner's verified full name. Values are verified or provided by iDEAL directly\n(if supported) at the time of authorization or settlement. They cannot be set or mutated." - } - }, - "required": [ - "bank", - "bic", - "generated_sepa_debit", - "generated_sepa_debit_mandate", - "iban_last4", - "verified_name" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.InteracPresent.ReadMethod": { + "stripe.Stripe.Issuing.Card.SpendingControls.SpendingLimit.Category": { "type": "string", "enum": [ - "contact_emv", - "contactless_emv", - "contactless_magstripe_mode", - "magnetic_stripe_fallback", - "magnetic_stripe_track2" + "ac_refrigeration_repair", + "accounting_bookkeeping_services", + "advertising_services", + "agricultural_cooperative", + "airlines_air_carriers", + "airports_flying_fields", + "ambulance_services", + "amusement_parks_carnivals", + "antique_reproductions", + "antique_shops", + "aquariums", + "architectural_surveying_services", + "art_dealers_and_galleries", + "artists_supply_and_craft_shops", + "auto_and_home_supply_stores", + "auto_body_repair_shops", + "auto_paint_shops", + "auto_service_shops", + "automated_cash_disburse", + "automated_fuel_dispensers", + "automobile_associations", + "automotive_parts_and_accessories_stores", + "automotive_tire_stores", + "bail_and_bond_payments", + "bakeries", + "bands_orchestras", + "barber_and_beauty_shops", + "betting_casino_gambling", + "bicycle_shops", + "billiard_pool_establishments", + "boat_dealers", + "boat_rentals_and_leases", + "book_stores", + "books_periodicals_and_newspapers", + "bowling_alleys", + "bus_lines", + "business_secretarial_schools", + "buying_shopping_services", + "cable_satellite_and_other_pay_television_and_radio", + "camera_and_photographic_supply_stores", + "candy_nut_and_confectionery_stores", + "car_and_truck_dealers_new_used", + "car_and_truck_dealers_used_only", + "car_rental_agencies", + "car_washes", + "carpentry_services", + "carpet_upholstery_cleaning", + "caterers", + "charitable_and_social_service_organizations_fundraising", + "chemicals_and_allied_products", + "child_care_services", + "childrens_and_infants_wear_stores", + "chiropodists_podiatrists", + "chiropractors", + "cigar_stores_and_stands", + "civic_social_fraternal_associations", + "cleaning_and_maintenance", + "clothing_rental", + "colleges_universities", + "commercial_equipment", + "commercial_footwear", + "commercial_photography_art_and_graphics", + "commuter_transport_and_ferries", + "computer_network_services", + "computer_programming", + "computer_repair", + "computer_software_stores", + "computers_peripherals_and_software", + "concrete_work_services", + "construction_materials", + "consulting_public_relations", + "correspondence_schools", + "cosmetic_stores", + "counseling_services", + "country_clubs", + "courier_services", + "court_costs", + "credit_reporting_agencies", + "cruise_lines", + "dairy_products_stores", + "dance_hall_studios_schools", + "dating_escort_services", + "dentists_orthodontists", + "department_stores", + "detective_agencies", + "digital_goods_applications", + "digital_goods_games", + "digital_goods_large_volume", + "digital_goods_media", + "direct_marketing_catalog_merchant", + "direct_marketing_combination_catalog_and_retail_merchant", + "direct_marketing_inbound_telemarketing", + "direct_marketing_insurance_services", + "direct_marketing_other", + "direct_marketing_outbound_telemarketing", + "direct_marketing_subscription", + "direct_marketing_travel", + "discount_stores", + "doctors", + "door_to_door_sales", + "drapery_window_covering_and_upholstery_stores", + "drinking_places", + "drug_stores_and_pharmacies", + "drugs_drug_proprietaries_and_druggist_sundries", + "dry_cleaners", + "durable_goods", + "duty_free_stores", + "eating_places_restaurants", + "educational_services", + "electric_razor_stores", + "electric_vehicle_charging", + "electrical_parts_and_equipment", + "electrical_services", + "electronics_repair_shops", + "electronics_stores", + "elementary_secondary_schools", + "emergency_services_gcas_visa_use_only", + "employment_temp_agencies", + "equipment_rental", + "exterminating_services", + "family_clothing_stores", + "fast_food_restaurants", + "financial_institutions", + "fines_government_administrative_entities", + "fireplace_fireplace_screens_and_accessories_stores", + "floor_covering_stores", + "florists", + "florists_supplies_nursery_stock_and_flowers", + "freezer_and_locker_meat_provisioners", + "fuel_dealers_non_automotive", + "funeral_services_crematories", + "furniture_home_furnishings_and_equipment_stores_except_appliances", + "furniture_repair_refinishing", + "furriers_and_fur_shops", + "general_services", + "gift_card_novelty_and_souvenir_shops", + "glass_paint_and_wallpaper_stores", + "glassware_crystal_stores", + "golf_courses_public", + "government_licensed_horse_dog_racing_us_region_only", + "government_licensed_online_casions_online_gambling_us_region_only", + "government_owned_lotteries_non_us_region", + "government_owned_lotteries_us_region_only", + "government_services", + "grocery_stores_supermarkets", + "hardware_equipment_and_supplies", + "hardware_stores", + "health_and_beauty_spas", + "hearing_aids_sales_and_supplies", + "heating_plumbing_a_c", + "hobby_toy_and_game_shops", + "home_supply_warehouse_stores", + "hospitals", + "hotels_motels_and_resorts", + "household_appliance_stores", + "industrial_supplies", + "information_retrieval_services", + "insurance_default", + "insurance_underwriting_premiums", + "intra_company_purchases", + "jewelry_stores_watches_clocks_and_silverware_stores", + "landscaping_services", + "laundries", + "laundry_cleaning_services", + "legal_services_attorneys", + "luggage_and_leather_goods_stores", + "lumber_building_materials_stores", + "manual_cash_disburse", + "marinas_service_and_supplies", + "marketplaces", + "masonry_stonework_and_plaster", + "massage_parlors", + "medical_and_dental_labs", + "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", + "medical_services", + "membership_organizations", + "mens_and_boys_clothing_and_accessories_stores", + "mens_womens_clothing_stores", + "metal_service_centers", + "miscellaneous", + "miscellaneous_apparel_and_accessory_shops", + "miscellaneous_auto_dealers", + "miscellaneous_business_services", + "miscellaneous_food_stores", + "miscellaneous_general_merchandise", + "miscellaneous_general_services", + "miscellaneous_home_furnishing_specialty_stores", + "miscellaneous_publishing_and_printing", + "miscellaneous_recreation_services", + "miscellaneous_repair_shops", + "miscellaneous_specialty_retail", + "mobile_home_dealers", + "motion_picture_theaters", + "motor_freight_carriers_and_trucking", + "motor_homes_dealers", + "motor_vehicle_supplies_and_new_parts", + "motorcycle_shops_and_dealers", + "motorcycle_shops_dealers", + "music_stores_musical_instruments_pianos_and_sheet_music", + "news_dealers_and_newsstands", + "non_fi_money_orders", + "non_fi_stored_value_card_purchase_load", + "nondurable_goods", + "nurseries_lawn_and_garden_supply_stores", + "nursing_personal_care", + "office_and_commercial_furniture", + "opticians_eyeglasses", + "optometrists_ophthalmologist", + "orthopedic_goods_prosthetic_devices", + "osteopaths", + "package_stores_beer_wine_and_liquor", + "paints_varnishes_and_supplies", + "parking_lots_garages", + "passenger_railways", + "pawn_shops", + "pet_shops_pet_food_and_supplies", + "petroleum_and_petroleum_products", + "photo_developing", + "photographic_photocopy_microfilm_equipment_and_supplies", + "photographic_studios", + "picture_video_production", + "piece_goods_notions_and_other_dry_goods", + "plumbing_heating_equipment_and_supplies", + "political_organizations", + "postal_services_government_only", + "precious_stones_and_metals_watches_and_jewelry", + "professional_services", + "public_warehousing_and_storage", + "quick_copy_repro_and_blueprint", + "railroads", + "real_estate_agents_and_managers_rentals", + "record_stores", + "recreational_vehicle_rentals", + "religious_goods_stores", + "religious_organizations", + "roofing_siding_sheet_metal", + "secretarial_support_services", + "security_brokers_dealers", + "service_stations", + "sewing_needlework_fabric_and_piece_goods_stores", + "shoe_repair_hat_cleaning", + "shoe_stores", + "small_appliance_repair", + "snowmobile_dealers", + "special_trade_services", + "specialty_cleaning", + "sporting_goods_stores", + "sporting_recreation_camps", + "sports_and_riding_apparel_stores", + "sports_clubs_fields", + "stamp_and_coin_stores", + "stationary_office_supplies_printing_and_writing_paper", + "stationery_stores_office_and_school_supply_stores", + "swimming_pools_sales", + "t_ui_travel_germany", + "tailors_alterations", + "tax_payments_government_agencies", + "tax_preparation_services", + "taxicabs_limousines", + "telecommunication_equipment_and_telephone_sales", + "telecommunication_services", + "telegraph_services", + "tent_and_awning_shops", + "testing_laboratories", + "theatrical_ticket_agencies", + "timeshares", + "tire_retreading_and_repair", + "tolls_bridge_fees", + "tourist_attractions_and_exhibits", + "towing_services", + "trailer_parks_campgrounds", + "transportation_services", + "travel_agencies_tour_operators", + "truck_stop_iteration", + "truck_utility_trailer_rentals", + "typesetting_plate_making_and_related_services", + "typewriter_stores", + "u_s_federal_government_agencies_or_departments", + "uniforms_commercial_clothing", + "used_merchandise_and_secondhand_stores", + "utilities", + "variety_stores", + "veterinary_services", + "video_amusement_game_supplies", + "video_game_arcades", + "video_tape_rental_stores", + "vocational_trade_schools", + "watch_jewelry_repair", + "welding_repair", + "wholesale_clubs", + "wig_and_toupee_stores", + "wires_money_orders", + "womens_accessory_and_specialty_shops", + "womens_ready_to_wear_stores", + "wrecking_and_salvage_yards" ] }, - "stripe.Stripe.Charge.PaymentMethodDetails.InteracPresent.Receipt.AccountType": { + "stripe.Stripe.Issuing.Card.SpendingControls.SpendingLimit.Interval": { "type": "string", "enum": [ - "checking", - "savings", - "unknown" - ] - }, - "stripe.Stripe.Charge.PaymentMethodDetails.InteracPresent.Receipt": { - "properties": { - "account_type": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.InteracPresent.Receipt.AccountType", - "description": "The type of account being debited or credited" - }, - "application_cryptogram": { - "type": "string", - "nullable": true, - "description": "EMV tag 9F26, cryptogram generated by the integrated circuit chip." - }, - "application_preferred_name": { - "type": "string", - "nullable": true, - "description": "Mnenomic of the Application Identifier." - }, - "authorization_code": { - "type": "string", - "nullable": true, - "description": "Identifier for this transaction." - }, - "authorization_response_code": { - "type": "string", - "nullable": true, - "description": "EMV tag 8A. A code returned by the card issuer." - }, - "cardholder_verification_method": { - "type": "string", - "nullable": true, - "description": "Describes the method used by the cardholder to verify ownership of the card. One of the following: `approval`, `failure`, `none`, `offline_pin`, `offline_pin_and_signature`, `online_pin`, or `signature`." - }, - "dedicated_file_name": { - "type": "string", - "nullable": true, - "description": "EMV tag 84. Similar to the application identifier stored on the integrated circuit chip." - }, - "terminal_verification_results": { - "type": "string", - "nullable": true, - "description": "The outcome of a series of EMV functions performed by the card reader." - }, - "transaction_status_information": { - "type": "string", - "nullable": true, - "description": "An indication of various EMV functions performed during the transaction." - } - }, - "required": [ - "application_cryptogram", - "application_preferred_name", - "authorization_code", - "authorization_response_code", - "cardholder_verification_method", - "dedicated_file_name", - "terminal_verification_results", - "transaction_status_information" - ], - "type": "object", - "additionalProperties": false + "all_time", + "daily", + "monthly", + "per_authorization", + "weekly", + "yearly" + ] }, - "stripe.Stripe.Charge.PaymentMethodDetails.InteracPresent": { + "stripe.Stripe.Issuing.Card.SpendingControls.SpendingLimit": { "properties": { - "brand": { - "type": "string", - "nullable": true, - "description": "Card brand. Can be `interac`, `mastercard` or `visa`." - }, - "cardholder_name": { - "type": "string", - "nullable": true, - "description": "The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay." - }, - "country": { - "type": "string", - "nullable": true, - "description": "Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected." - }, - "description": { - "type": "string", - "nullable": true, - "description": "A high-level description of the type of cards issued in this range. (For internal use only and not typically available in standard API requests.)" - }, - "emv_auth_data": { - "type": "string", - "nullable": true, - "description": "Authorization response cryptogram." - }, - "exp_month": { - "type": "number", - "format": "double", - "description": "Two-digit number representing the card's expiration month." - }, - "exp_year": { + "amount": { "type": "number", "format": "double", - "description": "Four-digit number representing the card's expiration year." - }, - "fingerprint": { - "type": "string", - "nullable": true, - "description": "Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.\n\n*As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.*" - }, - "funding": { - "type": "string", - "nullable": true, - "description": "Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`." - }, - "generated_card": { - "type": "string", - "nullable": true, - "description": "ID of a card PaymentMethod generated from the card_present PaymentMethod that may be attached to a Customer for future transactions. Only present if it was possible to generate a card PaymentMethod." - }, - "iin": { - "type": "string", - "nullable": true, - "description": "Issuer identification number of the card. (For internal use only and not typically available in standard API requests.)" - }, - "issuer": { - "type": "string", - "nullable": true, - "description": "The name of the card's issuing bank. (For internal use only and not typically available in standard API requests.)" - }, - "last4": { - "type": "string", - "nullable": true, - "description": "The last four digits of the card." - }, - "network": { - "type": "string", - "nullable": true, - "description": "Identifies which network this charge was processed on. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `interac`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`." - }, - "network_transaction_id": { - "type": "string", - "nullable": true, - "description": "This is used by the financial networks to identify a transaction. Visa calls this the Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the Acquirer Reference Data. This value will be present if it is returned by the financial network in the authorization response, and null otherwise." + "description": "Maximum amount allowed to spend per interval. This amount is in the card's currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal)." }, - "preferred_locales": { + "categories": { "items": { - "type": "string" + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.SpendingControls.SpendingLimit.Category" }, "type": "array", "nullable": true, - "description": "EMV tag 5F2D. Preferred languages specified by the integrated circuit chip." - }, - "read_method": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.InteracPresent.ReadMethod" - } - ], - "nullable": true, - "description": "How card details were read in this transaction." + "description": "Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) this limit applies to. Omitting this field will apply the limit to all categories." }, - "receipt": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.InteracPresent.Receipt" - } - ], - "nullable": true, - "description": "A collection of fields required to be displayed on receipts. Only required for EMV transactions." + "interval": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.SpendingControls.SpendingLimit.Interval", + "description": "Interval (or event) to which the amount applies." } }, "required": [ - "brand", - "cardholder_name", - "country", - "emv_auth_data", - "exp_month", - "exp_year", - "fingerprint", - "funding", - "generated_card", - "last4", - "network", - "network_transaction_id", - "preferred_locales", - "read_method", - "receipt" + "amount", + "categories", + "interval" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Charge.PaymentMethodDetails.KakaoPay": { + "stripe.Stripe.Issuing.Card.SpendingControls": { "properties": { - "buyer_id": { - "type": "string", + "allowed_categories": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.SpendingControls.AllowedCategory" + }, + "type": "array", "nullable": true, - "description": "A unique identifier for the buyer as determined by the local payment processor." - } - }, - "required": [ - "buyer_id" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.Klarna.PayerDetails.Address": { - "properties": { - "country": { - "type": "string", + "description": "Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to allow. All other categories will be blocked. Cannot be set with `blocked_categories`." + }, + "allowed_merchant_countries": { + "items": { + "type": "string" + }, + "type": "array", "nullable": true, - "description": "The payer address country" - } - }, - "required": [ - "country" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.Klarna.PayerDetails": { - "properties": { - "address": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Klarna.PayerDetails.Address" - } - ], + "description": "Array of strings containing representing countries from which authorizations will be allowed. Authorizations from merchants in all other countries will be declined. Country codes should be ISO 3166 alpha-2 country codes (e.g. `US`). Cannot be set with `blocked_merchant_countries`. Provide an empty value to unset this control." + }, + "blocked_categories": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.SpendingControls.BlockedCategory" + }, + "type": "array", "nullable": true, - "description": "The payer's address" - } - }, - "required": [ - "address" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.Klarna": { - "properties": { - "payer_details": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Klarna.PayerDetails" - } - ], + "description": "Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to decline. All other categories will be allowed. Cannot be set with `allowed_categories`." + }, + "blocked_merchant_countries": { + "items": { + "type": "string" + }, + "type": "array", "nullable": true, - "description": "The payer details for this transaction." + "description": "Array of strings containing representing countries from which authorizations will be declined. Country codes should be ISO 3166 alpha-2 country codes (e.g. `US`). Cannot be set with `allowed_merchant_countries`. Provide an empty value to unset this control." }, - "payment_method_category": { - "type": "string", + "spending_limits": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.SpendingControls.SpendingLimit" + }, + "type": "array", "nullable": true, - "description": "The Klarna payment method used for this transaction.\nCan be one of `pay_later`, `pay_now`, `pay_with_financing`, or `pay_in_installments`" + "description": "Limit spending with amount-based rules that apply across any cards this card replaced (i.e., its `replacement_for` card and _that_ card's `replacement_for` card, up the chain)." }, - "preferred_locale": { + "spending_limits_currency": { "type": "string", "nullable": true, - "description": "Preferred language of the Klarna authorization page that the customer is redirected to.\nCan be one of `de-AT`, `en-AT`, `nl-BE`, `fr-BE`, `en-BE`, `de-DE`, `en-DE`, `da-DK`, `en-DK`, `es-ES`, `en-ES`, `fi-FI`, `sv-FI`, `en-FI`, `en-GB`, `en-IE`, `it-IT`, `en-IT`, `nl-NL`, `en-NL`, `nb-NO`, `en-NO`, `sv-SE`, `en-SE`, `en-US`, `es-US`, `fr-FR`, `en-FR`, `cs-CZ`, `en-CZ`, `ro-RO`, `en-RO`, `el-GR`, `en-GR`, `en-AU`, `en-NZ`, `en-CA`, `fr-CA`, `pl-PL`, `en-PL`, `pt-PT`, `en-PT`, `de-CH`, `fr-CH`, `it-CH`, or `en-CH`" + "description": "Currency of the amounts within `spending_limits`. Always the same as the currency of the card." } }, "required": [ - "payer_details", - "payment_method_category", - "preferred_locale" + "allowed_categories", + "allowed_merchant_countries", + "blocked_categories", + "blocked_merchant_countries", + "spending_limits", + "spending_limits_currency" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Charge.PaymentMethodDetails.Konbini.Store.Chain": { + "stripe.Stripe.Issuing.Card.Status": { "type": "string", "enum": [ - "familymart", - "lawson", - "ministop", - "seicomart" + "active", + "canceled", + "inactive" ] }, - "stripe.Stripe.Charge.PaymentMethodDetails.Konbini.Store": { - "properties": { - "chain": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Konbini.Store.Chain" - } - ], - "nullable": true, - "description": "The name of the convenience store chain where the payment was completed." - } - }, - "required": [ - "chain" - ], - "type": "object", - "additionalProperties": false + "stripe.Stripe.Issuing.Card.Type": { + "type": "string", + "enum": [ + "physical", + "virtual" + ] }, - "stripe.Stripe.Charge.PaymentMethodDetails.Konbini": { + "stripe.Stripe.Issuing.Card.Wallets.ApplePay.IneligibleReason": { + "type": "string", + "enum": [ + "missing_agreement", + "missing_cardholder_contact", + "unsupported_region" + ] + }, + "stripe.Stripe.Issuing.Card.Wallets.ApplePay": { "properties": { - "store": { + "eligible": { + "type": "boolean", + "description": "Apple Pay Eligibility" + }, + "ineligible_reason": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Konbini.Store" + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.Wallets.ApplePay.IneligibleReason" } ], "nullable": true, - "description": "If the payment succeeded, this contains the details of the convenience store where the payment was completed." + "description": "Reason the card is ineligible for Apple Pay" } }, "required": [ - "store" + "eligible", + "ineligible_reason" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Charge.PaymentMethodDetails.KrCard.Brand": { + "stripe.Stripe.Issuing.Card.Wallets.GooglePay.IneligibleReason": { "type": "string", "enum": [ - "bc", - "citi", - "hana", - "hyundai", - "jeju", - "jeonbuk", - "kakaobank", - "kbank", - "kdbbank", - "kookmin", - "kwangju", - "lotte", - "mg", - "nh", - "post", - "samsung", - "savingsbank", - "shinhan", - "shinhyup", - "suhyup", - "tossbank", - "woori" + "missing_agreement", + "missing_cardholder_contact", + "unsupported_region" ] }, - "stripe.Stripe.Charge.PaymentMethodDetails.KrCard": { + "stripe.Stripe.Issuing.Card.Wallets.GooglePay": { "properties": { - "brand": { + "eligible": { + "type": "boolean", + "description": "Google Pay Eligibility" + }, + "ineligible_reason": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.KrCard.Brand" + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.Wallets.GooglePay.IneligibleReason" } ], "nullable": true, - "description": "The local credit or debit card brand." - }, - "buyer_id": { - "type": "string", - "nullable": true, - "description": "A unique identifier for the buyer as determined by the local payment processor." - }, - "last4": { - "type": "string", - "nullable": true, - "description": "The last four digits of the card. This may not be present for American Express cards." + "description": "Reason the card is ineligible for Google Pay" } }, "required": [ - "brand", - "buyer_id", - "last4" + "eligible", + "ineligible_reason" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Charge.PaymentMethodDetails.Link": { + "stripe.Stripe.Issuing.Card.Wallets": { "properties": { - "country": { + "apple_pay": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.Wallets.ApplePay" + }, + "google_pay": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card.Wallets.GooglePay" + }, + "primary_account_identifier": { "type": "string", "nullable": true, - "description": "Two-letter ISO code representing the funding source country beneath the Link payment.\nYou could use this attribute to get a sense of international fees." + "description": "Unique identifier for a card used with digital wallets" } }, "required": [ - "country" + "apple_pay", + "google_pay", + "primary_account_identifier" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Charge.PaymentMethodDetails.Mobilepay.Card": { + "stripe.Stripe.Issuing.Authorization.Fleet.CardholderPromptData": { "properties": { - "brand": { + "alphanumeric_id": { "type": "string", "nullable": true, - "description": "Brand of the card used in the transaction" + "description": "[Deprecated] An alphanumeric ID, though typical point of sales only support numeric entry. The card program can be configured to prompt for a vehicle ID, driver ID, or generic ID.", + "deprecated": true }, - "country": { + "driver_id": { "type": "string", "nullable": true, - "description": "Two-letter ISO code representing the country of the card" + "description": "Driver ID." }, - "exp_month": { + "odometer": { "type": "number", "format": "double", "nullable": true, - "description": "Two digit number representing the card's expiration month" + "description": "Odometer reading." }, - "exp_year": { - "type": "number", - "format": "double", + "unspecified_id": { + "type": "string", "nullable": true, - "description": "Two digit number representing the card's expiration year" + "description": "An alphanumeric ID. This field is used when a vehicle ID, driver ID, or generic ID is entered by the cardholder, but the merchant or card network did not specify the prompt type." }, - "last4": { + "user_id": { "type": "string", "nullable": true, - "description": "The last 4 digits of the card" + "description": "User ID." + }, + "vehicle_number": { + "type": "string", + "nullable": true, + "description": "Vehicle number." } }, "required": [ - "brand", - "country", - "exp_month", - "exp_year", - "last4" + "alphanumeric_id", + "driver_id", + "odometer", + "unspecified_id", + "user_id", + "vehicle_number" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Charge.PaymentMethodDetails.Mobilepay": { + "stripe.Stripe.Issuing.Authorization.Fleet.PurchaseType": { + "type": "string", + "enum": [ + "fuel_and_non_fuel_purchase", + "fuel_purchase", + "non_fuel_purchase" + ] + }, + "stripe.Stripe.Issuing.Authorization.Fleet.ReportedBreakdown.Fuel": { "properties": { - "card": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Mobilepay.Card" - } - ], + "gross_amount_decimal": { + "type": "string", "nullable": true, - "description": "Internal card details" + "description": "Gross fuel amount that should equal Fuel Quantity multiplied by Fuel Unit Cost, inclusive of taxes." } }, "required": [ - "card" + "gross_amount_decimal" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Charge.PaymentMethodDetails.Multibanco": { + "stripe.Stripe.Issuing.Authorization.Fleet.ReportedBreakdown.NonFuel": { "properties": { - "entity": { - "type": "string", - "nullable": true, - "description": "Entity number associated with this Multibanco payment." - }, - "reference": { + "gross_amount_decimal": { "type": "string", "nullable": true, - "description": "Reference number associated with this Multibanco payment." + "description": "Gross non-fuel amount that should equal the sum of the line items, inclusive of taxes." } }, "required": [ - "entity", - "reference" + "gross_amount_decimal" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Charge.PaymentMethodDetails.NaverPay": { + "stripe.Stripe.Issuing.Authorization.Fleet.ReportedBreakdown.Tax": { "properties": { - "buyer_id": { + "local_amount_decimal": { "type": "string", "nullable": true, - "description": "A unique identifier for the buyer as determined by the local payment processor." + "description": "Amount of state or provincial Sales Tax included in the transaction amount. `null` if not reported by merchant or not subject to tax." + }, + "national_amount_decimal": { + "type": "string", + "nullable": true, + "description": "Amount of national Sales Tax or VAT included in the transaction amount. `null` if not reported by merchant or not subject to tax." } }, "required": [ - "buyer_id" + "local_amount_decimal", + "national_amount_decimal" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Charge.PaymentMethodDetails.Oxxo": { + "stripe.Stripe.Issuing.Authorization.Fleet.ReportedBreakdown": { "properties": { - "number": { - "type": "string", + "fuel": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.Fleet.ReportedBreakdown.Fuel" + } + ], "nullable": true, - "description": "OXXO reference number" + "description": "Breakdown of fuel portion of the purchase." + }, + "non_fuel": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.Fleet.ReportedBreakdown.NonFuel" + } + ], + "nullable": true, + "description": "Breakdown of non-fuel portion of the purchase." + }, + "tax": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.Fleet.ReportedBreakdown.Tax" + } + ], + "nullable": true, + "description": "Information about tax included in this transaction." } }, "required": [ - "number" + "fuel", + "non_fuel", + "tax" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Charge.PaymentMethodDetails.P24.Bank": { + "stripe.Stripe.Issuing.Authorization.Fleet.ServiceType": { "type": "string", "enum": [ - "alior_bank", - "bank_millennium", - "bank_nowy_bfg_sa", - "bank_pekao_sa", - "banki_spbdzielcze", - "blik", - "bnp_paribas", - "boz", - "citi_handlowy", - "credit_agricole", - "envelobank", - "etransfer_pocztowy24", - "getin_bank", - "ideabank", - "ing", - "inteligo", - "mbank_mtransfer", - "nest_przelew", - "noble_pay", - "pbac_z_ipko", - "plus_bank", - "santander_przelew24", - "tmobile_usbugi_bankowe", - "toyota_bank", - "velobank", - "volkswagen_bank" + "full_service", + "non_fuel_transaction", + "self_service" ] }, - "stripe.Stripe.Charge.PaymentMethodDetails.P24": { + "stripe.Stripe.Issuing.Authorization.Fleet": { "properties": { - "bank": { + "cardholder_prompt_data": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.P24.Bank" + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.Fleet.CardholderPromptData" } ], "nullable": true, - "description": "The customer's bank. Can be one of `ing`, `citi_handlowy`, `tmobile_usbugi_bankowe`, `plus_bank`, `etransfer_pocztowy24`, `banki_spbdzielcze`, `bank_nowy_bfg_sa`, `getin_bank`, `velobank`, `blik`, `noble_pay`, `ideabank`, `envelobank`, `santander_przelew24`, `nest_przelew`, `mbank_mtransfer`, `inteligo`, `pbac_z_ipko`, `bnp_paribas`, `credit_agricole`, `toyota_bank`, `bank_pekao_sa`, `volkswagen_bank`, `bank_millennium`, `alior_bank`, or `boz`." + "description": "Answers to prompts presented to the cardholder at the point of sale. Prompted fields vary depending on the configuration of your physical fleet cards. Typical points of sale support only numeric entry." }, - "reference": { - "type": "string", + "purchase_type": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.Fleet.PurchaseType" + } + ], "nullable": true, - "description": "Unique reference for this Przelewy24 payment." + "description": "The type of purchase." }, - "verified_name": { - "type": "string", + "reported_breakdown": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.Fleet.ReportedBreakdown" + } + ], "nullable": true, - "description": "Owner's verified full name. Values are verified or provided by Przelewy24 directly\n(if supported) at the time of authorization or settlement. They cannot be set or mutated.\nPrzelewy24 rarely provides this information so the attribute is usually empty." + "description": "More information about the total amount. Typically this information is received from the merchant after the authorization has been approved and the fuel dispensed. This information is not guaranteed to be accurate as some merchants may provide unreliable data." + }, + "service_type": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.Fleet.ServiceType" + } + ], + "nullable": true, + "description": "The type of fuel service." } }, "required": [ - "bank", - "reference", - "verified_name" + "cardholder_prompt_data", + "purchase_type", + "reported_breakdown", + "service_type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Charge.PaymentMethodDetails.PayByBank": { - "properties": {}, - "type": "object", - "additionalProperties": false + "stripe.Stripe.Issuing.Authorization.FraudChallenge.Status": { + "type": "string", + "enum": [ + "expired", + "pending", + "rejected", + "undeliverable", + "verified" + ] }, - "stripe.Stripe.Charge.PaymentMethodDetails.Payco": { - "properties": { - "buyer_id": { - "type": "string", - "nullable": true, - "description": "A unique identifier for the buyer as determined by the local payment processor." - } - }, - "required": [ - "buyer_id" - ], - "type": "object", - "additionalProperties": false + "stripe.Stripe.Issuing.Authorization.FraudChallenge.UndeliverableReason": { + "type": "string", + "enum": [ + "no_phone_number", + "unsupported_phone_number" + ] }, - "stripe.Stripe.Charge.PaymentMethodDetails.Paynow": { + "stripe.Stripe.Issuing.Authorization.FraudChallenge": { "properties": { - "reference": { + "channel": { "type": "string", + "enum": [ + "sms" + ], + "nullable": false, + "description": "The method by which the fraud challenge was delivered to the cardholder." + }, + "status": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.FraudChallenge.Status", + "description": "The status of the fraud challenge." + }, + "undeliverable_reason": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.FraudChallenge.UndeliverableReason" + } + ], "nullable": true, - "description": "Reference number associated with this PayNow payment" + "description": "If the challenge is not deliverable, the reason why." } }, "required": [ - "reference" + "channel", + "status", + "undeliverable_reason" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Charge.PaymentMethodDetails.Paypal.SellerProtection.DisputeCategory": { + "stripe.Stripe.Issuing.Authorization.Fuel.Type": { "type": "string", "enum": [ - "fraudulent", - "product_not_received" + "diesel", + "other", + "unleaded_plus", + "unleaded_regular", + "unleaded_super" ] }, - "stripe.Stripe.Charge.PaymentMethodDetails.Paypal.SellerProtection.Status": { + "stripe.Stripe.Issuing.Authorization.Fuel.Unit": { "type": "string", "enum": [ - "eligible", - "not_eligible", - "partially_eligible" + "charging_minute", + "imperial_gallon", + "kilogram", + "kilowatt_hour", + "liter", + "other", + "pound", + "us_gallon" ] }, - "stripe.Stripe.Charge.PaymentMethodDetails.Paypal.SellerProtection": { - "properties": { - "dispute_categories": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Paypal.SellerProtection.DisputeCategory" - }, - "type": "array", - "nullable": true, - "description": "An array of conditions that are covered for the transaction, if applicable." - }, - "status": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Paypal.SellerProtection.Status", - "description": "Indicates whether the transaction is eligible for PayPal's seller protection." - } - }, - "required": [ - "dispute_categories", - "status" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.Paypal": { + "stripe.Stripe.Issuing.Authorization.Fuel": { "properties": { - "country": { - "type": "string", - "nullable": true, - "description": "Two-letter ISO code representing the buyer's country. Values are provided by PayPal directly (if supported) at the time of authorization or settlement. They cannot be set or mutated." - }, - "payer_email": { + "industry_product_code": { "type": "string", "nullable": true, - "description": "Owner's email. Values are provided by PayPal directly\n(if supported) at the time of authorization or settlement. They cannot be set or mutated." + "description": "[Conexxus Payment System Product Code](https://www.conexxus.org/conexxus-payment-system-product-codes) identifying the primary fuel product purchased." }, - "payer_id": { + "quantity_decimal": { "type": "string", "nullable": true, - "description": "PayPal account PayerID. This identifier uniquely identifies the PayPal customer." + "description": "The quantity of `unit`s of fuel that was dispensed, represented as a decimal string with at most 12 decimal places." }, - "payer_name": { - "type": "string", + "type": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.Fuel.Type" + } + ], "nullable": true, - "description": "Owner's full name. Values provided by PayPal directly\n(if supported) at the time of authorization or settlement. They cannot be set or mutated." + "description": "The type of fuel that was purchased." }, - "seller_protection": { + "unit": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Paypal.SellerProtection" + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.Fuel.Unit" } ], "nullable": true, - "description": "The level of protection offered as defined by PayPal Seller Protection for Merchants, for this transaction." + "description": "The units for `quantity_decimal`." }, - "transaction_id": { + "unit_cost_decimal": { "type": "string", "nullable": true, - "description": "A unique ID generated by PayPal for this transaction." + "description": "The cost in cents per each unit of fuel, represented as a decimal string with at most 12 decimal places." } }, "required": [ - "country", - "payer_email", - "payer_id", - "payer_name", - "seller_protection", - "transaction_id" + "industry_product_code", + "quantity_decimal", + "type", + "unit", + "unit_cost_decimal" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Charge.PaymentMethodDetails.Pix": { + "stripe.Stripe.Issuing.Authorization.MerchantData": { "properties": { - "bank_transaction_id": { + "category": { + "type": "string", + "description": "A categorization of the seller's type of business. See our [merchant categories guide](https://stripe.com/docs/issuing/merchant-categories) for a list of possible values." + }, + "category_code": { + "type": "string", + "description": "The merchant category code for the seller's business" + }, + "city": { "type": "string", "nullable": true, - "description": "Unique transaction id generated by BCB" - } - }, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.Promptpay": { - "properties": { - "reference": { + "description": "City where the seller is located" + }, + "country": { "type": "string", "nullable": true, - "description": "Bill reference generated by PromptPay" - } - }, - "required": [ - "reference" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.RevolutPay.Funding.Card": { - "properties": { - "brand": { + "description": "Country where the seller is located" + }, + "name": { "type": "string", "nullable": true, - "description": "Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`." + "description": "Name of the seller" }, - "country": { + "network_id": { + "type": "string", + "description": "Identifier assigned to the seller by the card network. Different card networks may assign different network_id fields to the same merchant." + }, + "postal_code": { "type": "string", "nullable": true, - "description": "Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected." + "description": "Postal code where the seller is located" }, - "exp_month": { - "type": "number", - "format": "double", + "state": { + "type": "string", "nullable": true, - "description": "Two-digit number representing the card's expiration month." + "description": "State where the seller is located" }, - "exp_year": { - "type": "number", - "format": "double", + "tax_id": { + "type": "string", "nullable": true, - "description": "Four-digit number representing the card's expiration year." + "description": "The seller's tax identification number. Currently populated for French merchants only." }, - "funding": { + "terminal_id": { "type": "string", "nullable": true, - "description": "Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`." + "description": "An ID assigned by the seller to the location of the sale." }, - "last4": { + "url": { "type": "string", "nullable": true, - "description": "The last four digits of the card." + "description": "URL provided by the merchant on a 3DS request" } }, "required": [ - "brand", + "category", + "category_code", + "city", "country", - "exp_month", - "exp_year", - "funding", - "last4" + "name", + "network_id", + "postal_code", + "state", + "tax_id", + "terminal_id", + "url" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Charge.PaymentMethodDetails.RevolutPay.Funding": { + "stripe.Stripe.Issuing.Authorization.NetworkData": { "properties": { - "card": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.RevolutPay.Funding.Card" + "acquiring_institution_id": { + "type": "string", + "nullable": true, + "description": "Identifier assigned to the acquirer by the card network. Sometimes this value is not provided by the network; in this case, the value will be `null`." }, - "type": { + "system_trace_audit_number": { "type": "string", - "enum": [ - "card", - null - ], "nullable": true, - "description": "funding type of the underlying payment method." + "description": "The System Trace Audit Number (STAN) is a 6-digit identifier assigned by the acquirer. Prefer `network_data.transaction_id` if present, unless you have special requirements." + }, + "transaction_id": { + "type": "string", + "nullable": true, + "description": "Unique identifier for the authorization assigned by the card network used to match subsequent messages, disputes, and transactions." } }, "required": [ - "type" + "acquiring_institution_id", + "system_trace_audit_number", + "transaction_id" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Charge.PaymentMethodDetails.RevolutPay": { + "stripe.Stripe.Issuing.Authorization.PendingRequest.AmountDetails": { "properties": { - "funding": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.RevolutPay.Funding" + "atm_fee": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The fee charged by the ATM for the cash withdrawal." + }, + "cashback_amount": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The amount of cash requested by the cardholder." } }, + "required": [ + "atm_fee", + "cashback_amount" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Charge.PaymentMethodDetails.SamsungPay": { + "stripe.Stripe.Issuing.Authorization.PendingRequest": { "properties": { - "buyer_id": { + "amount": { + "type": "number", + "format": "double", + "description": "The additional amount Stripe will hold if the authorization is approved, in the card's [currency](https://stripe.com/docs/api#issuing_authorization_object-pending-request-currency) and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal)." + }, + "amount_details": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.PendingRequest.AmountDetails" + } + ], + "nullable": true, + "description": "Detailed breakdown of amount components. These amounts are denominated in `currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal)." + }, + "currency": { + "type": "string", + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." + }, + "is_amount_controllable": { + "type": "boolean", + "description": "If set `true`, you may provide [amount](https://stripe.com/docs/api/issuing/authorizations/approve#approve_issuing_authorization-amount) to control how much to hold for the authorization." + }, + "merchant_amount": { + "type": "number", + "format": "double", + "description": "The amount the merchant is requesting to be authorized in the `merchant_currency`. The amount is in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal)." + }, + "merchant_currency": { "type": "string", + "description": "The local currency the merchant is requesting to authorize." + }, + "network_risk_score": { + "type": "number", + "format": "double", "nullable": true, - "description": "A unique identifier for the buyer as determined by the local payment processor." + "description": "The card network's estimate of the likelihood that an authorization is fraudulent. Takes on values between 1 and 99." } }, "required": [ - "buyer_id" + "amount", + "amount_details", + "currency", + "is_amount_controllable", + "merchant_amount", + "merchant_currency", + "network_risk_score" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Charge.PaymentMethodDetails.SepaCreditTransfer": { + "stripe.Stripe.Issuing.Authorization.RequestHistory.AmountDetails": { "properties": { - "bank_name": { - "type": "string", - "nullable": true, - "description": "Name of the bank associated with the bank account." - }, - "bic": { - "type": "string", + "atm_fee": { + "type": "number", + "format": "double", "nullable": true, - "description": "Bank Identifier Code of the bank associated with the bank account." + "description": "The fee charged by the ATM for the cash withdrawal." }, - "iban": { - "type": "string", + "cashback_amount": { + "type": "number", + "format": "double", "nullable": true, - "description": "IBAN of the bank account to transfer funds to." + "description": "The amount of cash requested by the cardholder." } }, "required": [ - "bank_name", - "bic", - "iban" + "atm_fee", + "cashback_amount" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Charge.PaymentMethodDetails.SepaDebit": { + "stripe.Stripe.Issuing.Authorization.RequestHistory.Reason": { + "type": "string", + "enum": [ + "account_disabled", + "card_active", + "card_canceled", + "card_expired", + "card_inactive", + "cardholder_blocked", + "cardholder_inactive", + "cardholder_verification_required", + "insecure_authorization_method", + "insufficient_funds", + "not_allowed", + "pin_blocked", + "spending_controls", + "suspected_fraud", + "verification_failed", + "webhook_approved", + "webhook_declined", + "webhook_error", + "webhook_timeout" + ] + }, + "stripe.Stripe.Issuing.Authorization.RequestHistory": { "properties": { - "bank_code": { - "type": "string", + "amount": { + "type": "number", + "format": "double", + "description": "The `pending_request.amount` at the time of the request, presented in your card's currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). Stripe held this amount from your account to fund the authorization if the request was approved." + }, + "amount_details": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.RequestHistory.AmountDetails" + } + ], "nullable": true, - "description": "Bank code of bank associated with the bank account." + "description": "Detailed breakdown of amount components. These amounts are denominated in `currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal)." }, - "branch_code": { + "approved": { + "type": "boolean", + "description": "Whether this request was approved." + }, + "authorization_code": { "type": "string", "nullable": true, - "description": "Branch code of bank associated with the bank account." + "description": "A code created by Stripe which is shared with the merchant to validate the authorization. This field will be populated if the authorization message was approved. The code typically starts with the letter \"S\", followed by a six-digit number. For example, \"S498162\". Please note that the code is not guaranteed to be unique across authorizations." }, - "country": { + "created": { + "type": "number", + "format": "double", + "description": "Time at which the object was created. Measured in seconds since the Unix epoch." + }, + "currency": { "type": "string", - "nullable": true, - "description": "Two-letter ISO code representing the country the bank account is located in." + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." }, - "fingerprint": { + "merchant_amount": { + "type": "number", + "format": "double", + "description": "The `pending_request.merchant_amount` at the time of the request, presented in the `merchant_currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal)." + }, + "merchant_currency": { "type": "string", + "description": "The currency that was collected by the merchant and presented to the cardholder for the authorization. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." + }, + "network_risk_score": { + "type": "number", + "format": "double", "nullable": true, - "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same." + "description": "The card network's estimate of the likelihood that an authorization is fraudulent. Takes on values between 1 and 99." }, - "last4": { + "reason": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.RequestHistory.Reason", + "description": "When an authorization is approved or declined by you or by Stripe, this field provides additional detail on the reason for the outcome." + }, + "reason_message": { "type": "string", "nullable": true, - "description": "Last four characters of the IBAN." + "description": "If the `request_history.reason` is `webhook_error` because the direct webhook response is invalid (for example, parsing errors or missing parameters), we surface a more detailed error message via this field." }, - "mandate": { - "type": "string", + "requested_at": { + "type": "number", + "format": "double", "nullable": true, - "description": "Find the ID of the mandate used for this payment under the [payment_method_details.sepa_debit.mandate](https://stripe.com/docs/api/charges/object#charge_object-payment_method_details-sepa_debit-mandate) property on the Charge. Use this mandate ID to [retrieve the Mandate](https://stripe.com/docs/api/mandates/retrieve)." + "description": "Time when the card network received an authorization request from the acquirer in UTC. Referred to by networks as transmission time." } }, "required": [ - "bank_code", - "branch_code", - "country", - "fingerprint", - "last4", - "mandate" + "amount", + "amount_details", + "approved", + "authorization_code", + "created", + "currency", + "merchant_amount", + "merchant_currency", + "network_risk_score", + "reason", + "reason_message", + "requested_at" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Charge.PaymentMethodDetails.Sofort.PreferredLanguage": { + "stripe.Stripe.Issuing.Authorization.Status": { + "type": "string", + "enum": [ + "closed", + "pending", + "reversed" + ] + }, + "stripe.Stripe.Issuing.Token.Network": { + "type": "string", + "enum": [ + "mastercard", + "visa" + ] + }, + "stripe.Stripe.Issuing.Token.NetworkData.Device.Type": { "type": "string", "enum": [ - "de", - "en", - "es", - "fr", - "it", - "nl", - "pl" + "other", + "phone", + "watch" ] }, - "stripe.Stripe.Charge.PaymentMethodDetails.Sofort": { + "stripe.Stripe.Issuing.Token.NetworkData.Device": { "properties": { - "bank_code": { + "device_fingerprint": { "type": "string", - "nullable": true, - "description": "Bank code of bank associated with the bank account." + "description": "An obfuscated ID derived from the device ID." }, - "bank_name": { + "ip_address": { "type": "string", - "nullable": true, - "description": "Name of the bank associated with the bank account." + "description": "The IP address of the device at provisioning time." }, - "bic": { + "location": { "type": "string", - "nullable": true, - "description": "Bank Identifier Code of the bank associated with the bank account." + "description": "The geographic latitude/longitude coordinates of the device at provisioning time. The format is [+-]decimal/[+-]decimal." }, - "country": { + "name": { "type": "string", - "nullable": true, - "description": "Two-letter ISO code representing the country the bank account is located in." - }, - "generated_sepa_debit": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod" - } - ], - "nullable": true, - "description": "The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge." - }, - "generated_sepa_debit_mandate": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Mandate" - } - ], - "nullable": true, - "description": "The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge." + "description": "The name of the device used for tokenization." }, - "iban_last4": { + "phone_number": { "type": "string", - "nullable": true, - "description": "Last four characters of the IBAN." - }, - "preferred_language": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Sofort.PreferredLanguage" - } - ], - "nullable": true, - "description": "Preferred language of the SOFORT authorization page that the customer is redirected to.\nCan be one of `de`, `en`, `es`, `fr`, `it`, `nl`, or `pl`" + "description": "The phone number of the device used for tokenization." }, - "verified_name": { - "type": "string", - "nullable": true, - "description": "Owner's verified full name. Values are verified or provided by SOFORT directly\n(if supported) at the time of authorization or settlement. They cannot be set or mutated." + "type": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Token.NetworkData.Device.Type", + "description": "The type of device used for tokenization." } }, - "required": [ - "bank_code", - "bank_name", - "bic", - "country", - "generated_sepa_debit", - "generated_sepa_debit_mandate", - "iban_last4", - "preferred_language", - "verified_name" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.StripeAccount": { - "properties": {}, "type": "object", "additionalProperties": false }, - "stripe.Stripe.Charge.PaymentMethodDetails.Swish": { + "stripe.Stripe.Issuing.Token.NetworkData.Mastercard": { "properties": { - "fingerprint": { + "card_reference_id": { "type": "string", - "nullable": true, - "description": "Uniquely identifies the payer's Swish account. You can use this attribute to check whether two Swish transactions were paid for by the same payer" + "description": "A unique reference ID from MasterCard to represent the card account number." }, - "payment_reference": { + "token_reference_id": { "type": "string", - "nullable": true, - "description": "Payer bank reference number for the payment" + "description": "The network-unique identifier for the token." }, - "verified_phone_last4": { + "token_requestor_id": { "type": "string", - "nullable": true, - "description": "The last four digits of the Swish account phone number" + "description": "The ID of the entity requesting tokenization, specific to MasterCard." + }, + "token_requestor_name": { + "type": "string", + "description": "The name of the entity requesting tokenization, if known. This is directly provided from MasterCard." } }, "required": [ - "fingerprint", - "payment_reference", - "verified_phone_last4" + "token_reference_id", + "token_requestor_id" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Charge.PaymentMethodDetails.Twint": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.PaymentMethodDetails.UsBankAccount.AccountHolderType": { - "type": "string", - "enum": [ - "company", - "individual" - ] - }, - "stripe.Stripe.Charge.PaymentMethodDetails.UsBankAccount.AccountType": { + "stripe.Stripe.Issuing.Token.NetworkData.Type": { "type": "string", "enum": [ - "checking", - "savings" + "mastercard", + "visa" ] }, - "stripe.Stripe.Charge.PaymentMethodDetails.UsBankAccount": { + "stripe.Stripe.Issuing.Token.NetworkData.Visa": { "properties": { - "account_holder_type": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.UsBankAccount.AccountHolderType" - } - ], - "nullable": true, - "description": "Account holder type: individual or company." - }, - "account_type": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.UsBankAccount.AccountType" - } - ], - "nullable": true, - "description": "Account type: checkings or savings. Defaults to checking if omitted." - }, - "bank_name": { - "type": "string", - "nullable": true, - "description": "Name of the bank associated with the bank account." - }, - "fingerprint": { + "card_reference_id": { "type": "string", - "nullable": true, - "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same." + "description": "A unique reference ID from Visa to represent the card account number." }, - "last4": { + "token_reference_id": { "type": "string", - "nullable": true, - "description": "Last four digits of the bank account number." - }, - "mandate": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Mandate" - } - ], - "description": "ID of the mandate used to make this payment." + "description": "The network-unique identifier for the token." }, - "payment_reference": { + "token_requestor_id": { "type": "string", - "nullable": true, - "description": "Reference number to locate ACH payments with customer's bank." + "description": "The ID of the entity requesting tokenization, specific to Visa." }, - "routing_number": { + "token_risk_score": { "type": "string", - "nullable": true, - "description": "Routing number of the bank account." + "description": "Degree of risk associated with the token between `01` and `99`, with higher number indicating higher risk. A `00` value indicates the token was not scored by Visa." } }, "required": [ - "account_holder_type", - "account_type", - "bank_name", - "fingerprint", - "last4", - "payment_reference", - "routing_number" + "card_reference_id", + "token_reference_id", + "token_requestor_id" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Charge.PaymentMethodDetails.Wechat": { - "properties": {}, - "type": "object", - "additionalProperties": false + "stripe.Stripe.Issuing.Token.NetworkData.WalletProvider.CardNumberSource": { + "type": "string", + "enum": [ + "app", + "manual", + "on_file", + "other" + ] }, - "stripe.Stripe.Charge.PaymentMethodDetails.WechatPay": { + "stripe.Stripe.Issuing.Token.NetworkData.WalletProvider.CardholderAddress": { "properties": { - "fingerprint": { + "line1": { "type": "string", - "nullable": true, - "description": "Uniquely identifies this particular WeChat Pay account. You can use this attribute to check whether two WeChat accounts are the same." + "description": "The street address of the cardholder tokenizing the card." }, - "transaction_id": { + "postal_code": { "type": "string", - "nullable": true, - "description": "Transaction ID of this particular WeChat Pay transaction." + "description": "The postal code of the cardholder tokenizing the card." } }, "required": [ - "fingerprint", - "transaction_id" + "line1", + "postal_code" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Charge.PaymentMethodDetails.Zip": { - "properties": {}, - "type": "object", - "additionalProperties": false + "stripe.Stripe.Issuing.Token.NetworkData.WalletProvider.ReasonCode": { + "type": "string", + "enum": [ + "account_card_too_new", + "account_recently_changed", + "account_too_new", + "account_too_new_since_launch", + "additional_device", + "data_expired", + "defer_id_v_decision", + "device_recently_lost", + "good_activity_history", + "has_suspended_tokens", + "high_risk", + "inactive_account", + "long_account_tenure", + "low_account_score", + "low_device_score", + "low_phone_number_score", + "network_service_error", + "outside_home_territory", + "provisioning_cardholder_mismatch", + "provisioning_device_and_cardholder_mismatch", + "provisioning_device_mismatch", + "same_device_no_prior_authentication", + "same_device_successful_prior_authentication", + "software_update", + "suspicious_activity", + "too_many_different_cardholders", + "too_many_recent_attempts", + "too_many_recent_tokens" + ] }, - "stripe.Stripe.Charge.PaymentMethodDetails": { + "stripe.Stripe.Issuing.Token.NetworkData.WalletProvider.SuggestedDecision": { + "type": "string", + "enum": [ + "approve", + "decline", + "require_auth" + ] + }, + "stripe.Stripe.Issuing.Token.NetworkData.WalletProvider": { "properties": { - "ach_credit_transfer": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.AchCreditTransfer" - }, - "ach_debit": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.AchDebit" - }, - "acss_debit": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.AcssDebit" - }, - "affirm": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Affirm" - }, - "afterpay_clearpay": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.AfterpayClearpay" - }, - "alipay": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Alipay" - }, - "alma": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Alma" - }, - "amazon_pay": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.AmazonPay" - }, - "au_becs_debit": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.AuBecsDebit" - }, - "bacs_debit": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.BacsDebit" - }, - "bancontact": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Bancontact" - }, - "blik": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Blik" - }, - "boleto": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Boleto" - }, - "card": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card" - }, - "card_present": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.CardPresent" - }, - "cashapp": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Cashapp" - }, - "customer_balance": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.CustomerBalance" - }, - "eps": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Eps" - }, - "fpx": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Fpx" - }, - "giropay": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Giropay" - }, - "grabpay": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Grabpay" - }, - "ideal": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Ideal" - }, - "interac_present": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.InteracPresent" - }, - "kakao_pay": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.KakaoPay" - }, - "klarna": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Klarna" - }, - "konbini": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Konbini" - }, - "kr_card": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.KrCard" - }, - "link": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Link" - }, - "mobilepay": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Mobilepay" - }, - "multibanco": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Multibanco" - }, - "naver_pay": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.NaverPay" - }, - "oxxo": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Oxxo" - }, - "p24": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.P24" - }, - "pay_by_bank": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.PayByBank" - }, - "payco": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Payco" - }, - "paynow": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Paynow" - }, - "paypal": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Paypal" - }, - "pix": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Pix" - }, - "promptpay": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Promptpay" - }, - "revolut_pay": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.RevolutPay" - }, - "samsung_pay": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.SamsungPay" - }, - "sepa_credit_transfer": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.SepaCreditTransfer" + "account_id": { + "type": "string", + "description": "The wallet provider-given account ID of the digital wallet the token belongs to." }, - "sepa_debit": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.SepaDebit" + "account_trust_score": { + "type": "number", + "format": "double", + "description": "An evaluation on the trustworthiness of the wallet account between 1 and 5. A higher score indicates more trustworthy." }, - "sofort": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Sofort" + "card_number_source": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Token.NetworkData.WalletProvider.CardNumberSource", + "description": "The method used for tokenizing a card." }, - "stripe_account": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.StripeAccount" + "cardholder_address": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Token.NetworkData.WalletProvider.CardholderAddress" }, - "swish": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Swish" + "cardholder_name": { + "type": "string", + "description": "The name of the cardholder tokenizing the card." }, - "twint": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Twint" + "device_trust_score": { + "type": "number", + "format": "double", + "description": "An evaluation on the trustworthiness of the device. A higher score indicates more trustworthy." }, - "type": { + "hashed_account_email_address": { "type": "string", - "description": "The type of transaction-specific details of the payment method used in the payment. See [PaymentMethod.type](https://stripe.com/docs/api/payment_methods/object#payment_method_object-type) for the full list of possible types.\nAn additional hash is included on `payment_method_details` with a name matching this value.\nIt contains information specific to the payment method." - }, - "us_bank_account": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.UsBankAccount" + "description": "The hashed email address of the cardholder's account with the wallet provider." }, - "wechat": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Wechat" + "reason_codes": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Token.NetworkData.WalletProvider.ReasonCode" + }, + "type": "array", + "description": "The reasons for suggested tokenization given by the card network." }, - "wechat_pay": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.WechatPay" + "suggested_decision": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Token.NetworkData.WalletProvider.SuggestedDecision", + "description": "The recommendation on responding to the tokenization request." }, - "zip": { - "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Zip" - } - }, - "required": [ - "type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.RadarOptions": { - "properties": { - "session": { + "suggested_decision_version": { "type": "string", - "description": "A [Radar Session](https://stripe.com/docs/radar/radar-session) is a snapshot of the browser metadata and device details that help Radar make more accurate predictions on your payments." + "description": "The version of the standard for mapping reason codes followed by the wallet provider." } }, "type": "object", "additionalProperties": false }, - "stripe.Stripe.ApiList_stripe.Stripe.Refund_": { - "description": "A container for paginated lists of objects.\nThe array of objects is on the `.data` property,\nand `.has_more` indicates whether there are additional objects beyond the end of this list.\n\nLearn more in Stripe's [pagination docs](https://stripe.com/docs/api/pagination?lang=node)\nor, when iterating over many items, try [auto-pagination](https://github.com/stripe/stripe-node#auto-pagination) instead.", + "stripe.Stripe.Issuing.Token.NetworkData": { "properties": { - "object": { - "type": "string", - "enum": [ - "list" - ], - "nullable": false + "device": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Token.NetworkData.Device" }, - "data": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Refund" - }, - "type": "array" + "mastercard": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Token.NetworkData.Mastercard" }, - "has_more": { - "type": "boolean", - "description": "True if this list has another page of items after this one that can be fetched." + "type": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Token.NetworkData.Type", + "description": "The network that the token is associated with. An additional hash is included with a name matching this value, containing tokenization data specific to the card network." }, - "url": { - "type": "string", - "description": "The URL where this list can be accessed." + "visa": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Token.NetworkData.Visa" + }, + "wallet_provider": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Token.NetworkData.WalletProvider" } }, "required": [ - "object", - "data", - "has_more", - "url" + "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Review.ClosedReason": { + "stripe.Stripe.Issuing.Token.Status": { + "type": "string", + "enum": [ + "active", + "deleted", + "requested", + "suspended" + ] + }, + "stripe.Stripe.Issuing.Token.WalletProvider": { "type": "string", "enum": [ - "approved", - "disputed", - "redacted", - "refunded", - "refunded_as_fraud" + "apple_pay", + "google_pay", + "samsung_pay" ] }, - "stripe.Stripe.Review.IpAddressLocation": { + "stripe.Stripe.Issuing.Token": { + "description": "An issuing token object is created when an issued card is added to a digital wallet. As a [card issuer](https://stripe.com/docs/issuing), you can [view and manage these tokens](https://stripe.com/docs/issuing/controls/token-management) through Stripe.", "properties": { - "city": { + "id": { "type": "string", - "nullable": true, - "description": "The city where the payment originated." + "description": "Unique identifier for the object." }, - "country": { + "object": { "type": "string", - "nullable": true, - "description": "Two-letter ISO code representing the country where the payment originated." + "enum": [ + "issuing.token" + ], + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." }, - "latitude": { + "card": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card" + } + ], + "description": "Card associated with this token." + }, + "created": { "type": "number", "format": "double", + "description": "Time at which the object was created. Measured in seconds since the Unix epoch." + }, + "device_fingerprint": { + "type": "string", "nullable": true, - "description": "The geographic latitude where the payment originated." + "description": "The hashed ID derived from the device ID from the card network associated with the token." }, - "longitude": { + "last4": { + "type": "string", + "description": "The last four digits of the token." + }, + "livemode": { + "type": "boolean", + "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." + }, + "network": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Token.Network", + "description": "The token service provider / card network associated with the token." + }, + "network_data": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Token.NetworkData" + }, + "network_updated_at": { "type": "number", "format": "double", - "nullable": true, - "description": "The geographic longitude where the payment originated." + "description": "Time at which the token was last updated by the card network. Measured in seconds since the Unix epoch." }, - "region": { - "type": "string", - "nullable": true, - "description": "The state/county/province/region where the payment originated." + "status": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Token.Status", + "description": "The usage state of the token." + }, + "wallet_provider": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Token.WalletProvider", + "description": "The digital wallet for this token, if one was used." } }, "required": [ - "city", - "country", - "latitude", - "longitude", - "region" + "id", + "object", + "card", + "created", + "device_fingerprint", + "livemode", + "network", + "network_updated_at", + "status" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Review.OpenedReason": { - "type": "string", - "enum": [ - "manual", - "rule" - ] - }, - "stripe.Stripe.Review.Session": { + "stripe.Stripe.Issuing.Transaction.AmountDetails": { "properties": { - "browser": { - "type": "string", - "nullable": true, - "description": "The browser used in this browser session (e.g., `Chrome`)." - }, - "device": { - "type": "string", - "nullable": true, - "description": "Information about the device used for the browser session (e.g., `Samsung SM-G930T`)." - }, - "platform": { - "type": "string", + "atm_fee": { + "type": "number", + "format": "double", "nullable": true, - "description": "The platform for the browser session (e.g., `Macintosh`)." + "description": "The fee charged by the ATM for the cash withdrawal." }, - "version": { - "type": "string", + "cashback_amount": { + "type": "number", + "format": "double", "nullable": true, - "description": "The version for the browser session (e.g., `61.0.3163.100`)." + "description": "The amount of cash requested by the cardholder." } }, "required": [ - "browser", - "device", - "platform", - "version" + "atm_fee", + "cashback_amount" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Review": { - "description": "Reviews can be used to supplement automated fraud detection with human expertise.\n\nLearn more about [Radar](https://stripe.com/radar) and reviewing payments\n[here](https://stripe.com/docs/radar/reviews).", + "stripe.Stripe.Issuing.Authorization": { + "description": "When an [issued card](https://stripe.com/docs/issuing) is used to make a purchase, an Issuing `Authorization`\nobject is created. [Authorizations](https://stripe.com/docs/issuing/purchases/authorizations) must be approved for the\npurchase to be completed successfully.\n\nRelated guide: [Issued card authorizations](https://stripe.com/docs/issuing/purchases/authorizations)", "properties": { "id": { "type": "string", @@ -30845,1106 +20208,744 @@ "object": { "type": "string", "enum": [ - "review" + "issuing.authorization" ], "nullable": false, "description": "String representing the object's type. Objects of the same type share the same value." }, - "billing_zip": { - "type": "string", - "nullable": true, - "description": "The ZIP or postal code of the card used, if applicable." + "amount": { + "type": "number", + "format": "double", + "description": "The total amount that was authorized or rejected. This amount is in `currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). `amount` should be the same as `merchant_amount`, unless `currency` and `merchant_currency` are different." }, - "charge": { - "anyOf": [ - { - "type": "string" - }, + "amount_details": { + "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Charge" + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.AmountDetails" } ], "nullable": true, - "description": "The charge associated with this review." + "description": "Detailed breakdown of amount components. These amounts are denominated in `currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal)." }, - "closed_reason": { - "allOf": [ + "approved": { + "type": "boolean", + "description": "Whether the authorization has been approved." + }, + "authorization_method": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.AuthorizationMethod", + "description": "How the card details were provided." + }, + "balance_transactions": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.BalanceTransaction" + }, + "type": "array", + "description": "List of balance transactions associated with this authorization." + }, + "card": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card", + "description": "You can [create physical or virtual cards](https://stripe.com/docs/issuing) that are issued to cardholders." + }, + "cardholder": { + "anyOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Review.ClosedReason" + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder" } ], "nullable": true, - "description": "The reason the review was closed, or null if it has not yet been closed. One of `approved`, `refunded`, `refunded_as_fraud`, `disputed`, or `redacted`." + "description": "The cardholder to whom this authorization belongs." }, "created": { "type": "number", "format": "double", "description": "Time at which the object was created. Measured in seconds since the Unix epoch." }, - "ip_address": { + "currency": { "type": "string", + "description": "The currency of the cardholder. This currency can be different from the currency presented at authorization and the `merchant_currency` field on this authorization. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." + }, + "fleet": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.Fleet" + } + ], "nullable": true, - "description": "The IP address where the payment originated." + "description": "Fleet-specific information for authorizations using Fleet cards." }, - "ip_address_location": { + "fraud_challenges": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.FraudChallenge" + }, + "type": "array", + "nullable": true, + "description": "Fraud challenges sent to the cardholder, if this authorization was declined for fraud risk reasons." + }, + "fuel": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Review.IpAddressLocation" + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.Fuel" } ], "nullable": true, - "description": "Information related to the location of the payment. Note that this information is an approximation and attempts to locate the nearest population center - it should not be used to determine a specific address." + "description": "Information about fuel that was purchased with this transaction. Typically this information is received from the merchant after the authorization has been approved and the fuel dispensed." }, "livemode": { "type": "boolean", "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." }, - "open": { - "type": "boolean", - "description": "If `true`, the review needs action." + "merchant_amount": { + "type": "number", + "format": "double", + "description": "The total amount that was authorized or rejected. This amount is in the `merchant_currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). `merchant_amount` should be the same as `amount`, unless `merchant_currency` and `currency` are different." }, - "opened_reason": { - "$ref": "#/components/schemas/stripe.Stripe.Review.OpenedReason", - "description": "The reason the review was opened. One of `rule` or `manual`." + "merchant_currency": { + "type": "string", + "description": "The local currency that was presented to the cardholder for the authorization. This currency can be different from the cardholder currency and the `currency` field on this authorization. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." }, - "payment_intent": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent" - } - ], - "description": "The PaymentIntent ID associated with this review, if one exists." + "merchant_data": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.MerchantData" }, - "reason": { - "type": "string", - "description": "The reason the review is currently open or closed. One of `rule`, `manual`, `approved`, `refunded`, `refunded_as_fraud`, `disputed`, or `redacted`." + "metadata": { + "$ref": "#/components/schemas/stripe.Stripe.Metadata", + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." }, - "session": { + "network_data": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Review.Session" + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.NetworkData" } ], "nullable": true, - "description": "Information related to the browsing session of the user who initiated the payment." - } - }, - "required": [ - "id", - "object", - "billing_zip", - "charge", - "closed_reason", - "created", - "ip_address", - "ip_address_location", - "livemode", - "open", - "opened_reason", - "reason", - "session" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.Shipping": { - "properties": { - "address": { - "$ref": "#/components/schemas/stripe.Stripe.Address" + "description": "Details about the authorization, such as identifiers, set by the card network." }, - "carrier": { - "type": "string", + "pending_request": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.PendingRequest" + } + ], "nullable": true, - "description": "The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc." - }, - "name": { - "type": "string", - "description": "Recipient name." + "description": "The pending authorization request. This field will only be non-null during an `issuing_authorization.request` webhook." }, - "phone": { - "type": "string", - "nullable": true, - "description": "Recipient phone (including extension)." + "request_history": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.RequestHistory" + }, + "type": "array", + "description": "History of every time a `pending_request` authorization was approved/declined, either by you directly or by Stripe (e.g. based on your spending_controls). If the merchant changes the authorization by performing an incremental authorization, you can look at this field to see the previous requests for the authorization. This field can be helpful in determining why a given authorization was approved/declined." }, - "tracking_number": { - "type": "string", - "nullable": true, - "description": "The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas." - } - }, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Charge.Status": { - "type": "string", - "enum": [ - "failed", - "pending", - "succeeded" - ] - }, - "stripe.Stripe.Charge.TransferData": { - "properties": { - "amount": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The amount transferred to the destination account, if specified. By default, the entire charge amount is transferred to the destination account." + "status": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.Status", + "description": "The current status of the authorization in its lifecycle." }, - "destination": { + "token": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.Account" + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Token" } ], - "description": "ID of an existing, connected Stripe account to transfer funds to if `transfer_data` was specified in the charge request." - } - }, - "required": [ - "amount", - "destination" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Invoice.CollectionMethod": { - "type": "string", - "enum": [ - "charge_automatically", - "send_invoice" - ] - }, - "stripe.Stripe.Invoice.CustomField": { - "properties": { - "name": { - "type": "string", - "description": "The name of the custom field." - }, - "value": { - "type": "string", - "description": "The value of the custom field." - } - }, - "required": [ - "name", - "value" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Invoice.CustomerShipping": { - "properties": { - "address": { - "$ref": "#/components/schemas/stripe.Stripe.Address" - }, - "carrier": { - "type": "string", - "nullable": true, - "description": "The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc." - }, - "name": { - "type": "string", - "description": "Recipient name." - }, - "phone": { - "type": "string", - "nullable": true, - "description": "Recipient phone (including extension)." - }, - "tracking_number": { - "type": "string", "nullable": true, - "description": "The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas." - } - }, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Invoice.CustomerTaxExempt": { - "type": "string", - "enum": [ - "exempt", - "none", - "reverse" - ] - }, - "stripe.Stripe.Invoice.CustomerTaxId.Type": { - "type": "string", - "enum": [ - "ad_nrt", - "ae_trn", - "al_tin", - "am_tin", - "ao_tin", - "ar_cuit", - "au_abn", - "au_arn", - "ba_tin", - "bb_tin", - "bg_uic", - "bh_vat", - "bo_tin", - "br_cnpj", - "br_cpf", - "bs_tin", - "by_tin", - "ca_bn", - "ca_gst_hst", - "ca_pst_bc", - "ca_pst_mb", - "ca_pst_sk", - "ca_qst", - "cd_nif", - "ch_uid", - "ch_vat", - "cl_tin", - "cn_tin", - "co_nit", - "cr_tin", - "de_stn", - "do_rcn", - "ec_ruc", - "eg_tin", - "es_cif", - "eu_oss_vat", - "eu_vat", - "gb_vat", - "ge_vat", - "gn_nif", - "hk_br", - "hr_oib", - "hu_tin", - "id_npwp", - "il_vat", - "in_gst", - "is_vat", - "jp_cn", - "jp_rn", - "jp_trn", - "ke_pin", - "kh_tin", - "kr_brn", - "kz_bin", - "li_uid", - "li_vat", - "ma_vat", - "md_vat", - "me_pib", - "mk_vat", - "mr_nif", - "mx_rfc", - "my_frp", - "my_itn", - "my_sst", - "ng_tin", - "no_vat", - "no_voec", - "np_pan", - "nz_gst", - "om_vat", - "pe_ruc", - "ph_tin", - "ro_tin", - "rs_pib", - "ru_inn", - "ru_kpp", - "sa_vat", - "sg_gst", - "sg_uen", - "si_tin", - "sn_ninea", - "sr_fin", - "sv_nit", - "th_vat", - "tj_tin", - "tr_tin", - "tw_vat", - "tz_vat", - "ua_vat", - "ug_tin", - "unknown", - "us_ein", - "uy_ruc", - "uz_tin", - "uz_vat", - "ve_rif", - "vn_tin", - "za_vat", - "zm_tin", - "zw_tin" - ] - }, - "stripe.Stripe.Invoice.CustomerTaxId": { - "properties": { - "type": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.CustomerTaxId.Type", - "description": "The type of the tax ID, one of `ad_nrt`, `ar_cuit`, `eu_vat`, `bo_tin`, `br_cnpj`, `br_cpf`, `cn_tin`, `co_nit`, `cr_tin`, `do_rcn`, `ec_ruc`, `eu_oss_vat`, `hr_oib`, `pe_ruc`, `ro_tin`, `rs_pib`, `sv_nit`, `uy_ruc`, `ve_rif`, `vn_tin`, `gb_vat`, `nz_gst`, `au_abn`, `au_arn`, `in_gst`, `no_vat`, `no_voec`, `za_vat`, `ch_vat`, `mx_rfc`, `sg_uen`, `ru_inn`, `ru_kpp`, `ca_bn`, `hk_br`, `es_cif`, `tw_vat`, `th_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `li_uid`, `li_vat`, `my_itn`, `us_ein`, `kr_brn`, `ca_qst`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `my_sst`, `sg_gst`, `ae_trn`, `cl_tin`, `sa_vat`, `id_npwp`, `my_frp`, `il_vat`, `ge_vat`, `ua_vat`, `is_vat`, `bg_uic`, `hu_tin`, `si_tin`, `ke_pin`, `tr_tin`, `eg_tin`, `ph_tin`, `al_tin`, `bh_vat`, `kz_bin`, `ng_tin`, `om_vat`, `de_stn`, `ch_uid`, `tz_vat`, `uz_vat`, `uz_tin`, `md_vat`, `ma_vat`, `by_tin`, `ao_tin`, `bs_tin`, `bb_tin`, `cd_nif`, `mr_nif`, `me_pib`, `zw_tin`, `ba_tin`, `gn_nif`, `mk_vat`, `sr_fin`, `sn_ninea`, `am_tin`, `np_pan`, `tj_tin`, `ug_tin`, `zm_tin`, `kh_tin`, or `unknown`" + "description": "[Token](https://stripe.com/docs/api/issuing/tokens/object) object used for this authorization. If a network token was not used for this authorization, this field will be null." }, - "value": { - "type": "string", + "transactions": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction" + }, + "type": "array", + "description": "List of [transactions](https://stripe.com/docs/api/issuing/transactions) associated with this authorization." + }, + "treasury": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.Treasury" + } + ], "nullable": true, - "description": "The value of the tax ID." - } - }, - "required": [ - "type", - "value" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.TaxRate.FlatAmount": { - "properties": { - "amount": { - "type": "number", - "format": "double", - "description": "Amount of the tax when the `rate_type` is `flat_amount`. This positive integer represents how much to charge in the smallest currency unit (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99)." + "description": "[Treasury](https://stripe.com/docs/api/treasury) details related to this authorization if it was created on a [FinancialAccount](https://stripe.com/docs/api/treasury/financial_accounts)." }, - "currency": { + "verification_data": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.VerificationData" + }, + "verified_by_fraud_challenge": { + "type": "boolean", + "nullable": true, + "description": "Whether the authorization bypassed fraud risk checks because the cardholder has previously completed a fraud challenge on a similar high-risk authorization from the same merchant." + }, + "wallet": { "type": "string", - "description": "Three-letter ISO currency code, in lowercase." + "nullable": true, + "description": "The digital wallet used for this transaction. One of `apple_pay`, `google_pay`, or `samsung_pay`. Will populate as `null` when no digital wallet was utilized." } }, "required": [ + "id", + "object", "amount", - "currency" + "amount_details", + "approved", + "authorization_method", + "balance_transactions", + "card", + "cardholder", + "created", + "currency", + "fleet", + "fuel", + "livemode", + "merchant_amount", + "merchant_currency", + "merchant_data", + "metadata", + "network_data", + "pending_request", + "request_history", + "status", + "transactions", + "verification_data", + "verified_by_fraud_challenge", + "wallet" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.TaxRate.JurisdictionLevel": { - "type": "string", - "enum": [ - "city", - "country", - "county", - "district", - "multiple", - "state" - ] - }, - "stripe.Stripe.TaxRate.RateType": { + "stripe.Stripe.Issuing.Dispute.Evidence.Canceled.ProductType": { "type": "string", "enum": [ - "flat_amount", - "percentage" + "merchandise", + "service" ] }, - "stripe.Stripe.TaxRate.TaxType": { + "stripe.Stripe.Issuing.Dispute.Evidence.Canceled.ReturnStatus": { "type": "string", "enum": [ - "amusement_tax", - "communications_tax", - "gst", - "hst", - "igst", - "jct", - "lease_tax", - "pst", - "qst", - "retail_delivery_fee", - "rst", - "sales_tax", - "service_tax", - "vat" + "merchant_rejected", + "successful" ] }, - "stripe.Stripe.TaxRate": { - "description": "Tax rates can be applied to [invoices](https://stripe.com/invoicing/taxes/tax-rates), [subscriptions](https://stripe.com/billing/taxes/tax-rates) and [Checkout Sessions](https://stripe.com/payments/checkout/use-manual-tax-rates) to collect tax.\n\nRelated guide: [Tax rates](https://stripe.com/billing/taxes/tax-rates)", + "stripe.Stripe.Issuing.Dispute.Evidence.Canceled": { "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." - }, - "object": { - "type": "string", - "enum": [ - "tax_rate" + "additional_documentation": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.File" + } ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." + "nullable": true, + "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute." }, - "active": { + "canceled_at": { + "type": "number", + "format": "double", + "nullable": true, + "description": "Date when order was canceled." + }, + "cancellation_policy_provided": { "type": "boolean", - "description": "Defaults to `true`. When set to `false`, this tax rate cannot be used with new applications or Checkout Sessions, but will still work for subscriptions and invoices that already have it set." + "nullable": true, + "description": "Whether the cardholder was provided with a cancellation policy." }, - "country": { + "cancellation_reason": { "type": "string", "nullable": true, - "description": "Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2))." + "description": "Reason for canceling the order." }, - "created": { + "expected_at": { "type": "number", "format": "double", - "description": "Time at which the object was created. Measured in seconds since the Unix epoch." + "nullable": true, + "description": "Date when the cardholder expected to receive the product." }, - "description": { + "explanation": { "type": "string", "nullable": true, - "description": "An arbitrary string attached to the tax rate for your internal use only. It will not be visible to your customers." + "description": "Explanation of why the cardholder is disputing this transaction." }, - "display_name": { + "product_description": { "type": "string", - "description": "The display name of the tax rates as it will appear to your customer on their receipt email, PDF, and the hosted invoice page." - }, - "effective_percentage": { - "type": "number", - "format": "double", "nullable": true, - "description": "Actual/effective tax rate percentage out of 100. For tax calculations with automatic_tax[enabled]=true,\nthis percentage reflects the rate actually used to calculate tax based on the product's taxability\nand whether the user is registered to collect taxes in the corresponding jurisdiction." + "description": "Description of the merchandise or service that was purchased." }, - "flat_amount": { + "product_type": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.TaxRate.FlatAmount" + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Dispute.Evidence.Canceled.ProductType" } ], "nullable": true, - "description": "The amount of the tax rate when the `rate_type` is `flat_amount`. Tax rates with `rate_type` `percentage` can vary based on the transaction, resulting in this field being `null`. This field exposes the amount and currency of the flat tax rate." - }, - "inclusive": { - "type": "boolean", - "description": "This specifies if the tax rate is inclusive or exclusive." - }, - "jurisdiction": { - "type": "string", - "nullable": true, - "description": "The jurisdiction for the tax rate. You can use this label field for tax reporting purposes. It also appears on your customer's invoice." + "description": "Whether the product was a merchandise or service." }, - "jurisdiction_level": { + "return_status": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.TaxRate.JurisdictionLevel" + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Dispute.Evidence.Canceled.ReturnStatus" } ], "nullable": true, - "description": "The level of the jurisdiction that imposes this tax rate. Will be `null` for manually defined tax rates." + "description": "Result of cardholder's attempt to return the product." }, - "livemode": { - "type": "boolean", - "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." + "returned_at": { + "type": "number", + "format": "double", + "nullable": true, + "description": "Date when the product was returned or attempted to be returned." + } + }, + "required": [ + "additional_documentation", + "canceled_at", + "cancellation_policy_provided", + "cancellation_reason", + "expected_at", + "explanation", + "product_description", + "product_type", + "return_status", + "returned_at" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Issuing.Dispute.Evidence.Duplicate": { + "properties": { + "additional_documentation": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.File" + } + ], + "nullable": true, + "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute." }, - "metadata": { - "allOf": [ + "card_statement": { + "anyOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Metadata" + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.File" } ], "nullable": true, - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." + "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Copy of the card statement showing that the product had already been paid for." }, - "percentage": { - "type": "number", - "format": "double", - "description": "Tax rate percentage out of 100. For tax calculations with automatic_tax[enabled]=true, this percentage includes the statutory tax rate of non-taxable jurisdictions." + "cash_receipt": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.File" + } + ], + "nullable": true, + "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Copy of the receipt showing that the product had been paid for in cash." }, - "rate_type": { - "allOf": [ + "check_image": { + "anyOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.TaxRate.RateType" + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.File" } ], "nullable": true, - "description": "Indicates the type of tax rate applied to the taxable amount. This value can be `null` when no tax applies to the location." + "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Image of the front and back of the check that was used to pay for the product." }, - "state": { + "explanation": { "type": "string", "nullable": true, - "description": "[ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO_3166-2), without country prefix. For example, \"NY\" for New York, United States." + "description": "Explanation of why the cardholder is disputing this transaction." }, - "tax_type": { - "allOf": [ + "original_transaction": { + "type": "string", + "nullable": true, + "description": "Transaction (e.g., ipi_...) that the disputed transaction is a duplicate of. Of the two or more transactions that are copies of each other, this is original undisputed one." + } + }, + "required": [ + "additional_documentation", + "card_statement", + "cash_receipt", + "check_image", + "explanation", + "original_transaction" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Issuing.Dispute.Evidence.Fraudulent": { + "properties": { + "additional_documentation": { + "anyOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.TaxRate.TaxType" + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.File" } ], "nullable": true, - "description": "The high-level tax type, such as `vat` or `sales_tax`." + "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute." + }, + "explanation": { + "type": "string", + "nullable": true, + "description": "Explanation of why the cardholder is disputing this transaction." } }, "required": [ - "id", - "object", - "active", - "country", - "created", - "description", - "display_name", - "effective_percentage", - "flat_amount", - "inclusive", - "jurisdiction", - "jurisdiction_level", - "livemode", - "metadata", - "percentage", - "rate_type", - "state", - "tax_type" + "additional_documentation", + "explanation" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.DeletedDiscount": { - "description": "The DeletedDiscount object.", + "stripe.Stripe.Issuing.Dispute.Evidence.MerchandiseNotAsDescribed.ReturnStatus": { + "type": "string", + "enum": [ + "merchant_rejected", + "successful" + ] + }, + "stripe.Stripe.Issuing.Dispute.Evidence.MerchandiseNotAsDescribed": { "properties": { - "id": { - "type": "string", - "description": "The ID of the discount object. Discounts cannot be fetched by ID. Use `expand[]=discounts` in API calls to expand discount IDs in an array." + "additional_documentation": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.File" + } + ], + "nullable": true, + "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute." }, - "object": { + "explanation": { "type": "string", - "enum": [ - "discount" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." + "nullable": true, + "description": "Explanation of why the cardholder is disputing this transaction." }, - "checkout_session": { + "received_at": { + "type": "number", + "format": "double", + "nullable": true, + "description": "Date when the product was received." + }, + "return_description": { "type": "string", "nullable": true, - "description": "The Checkout session that this coupon is applied to, if it is applied to a particular session in payment mode. Will not be present for subscription mode." + "description": "Description of the cardholder's attempt to return the product." }, - "coupon": { - "$ref": "#/components/schemas/stripe.Stripe.Coupon", - "description": "A coupon contains information about a percent-off or amount-off discount you\nmight want to apply to a customer. Coupons may be applied to [subscriptions](https://stripe.com/docs/api#subscriptions), [invoices](https://stripe.com/docs/api#invoices),\n[checkout sessions](https://stripe.com/docs/api/checkout/sessions), [quotes](https://stripe.com/docs/api#quotes), and more. Coupons do not work with conventional one-off [charges](https://stripe.com/docs/api#create_charge) or [payment intents](https://stripe.com/docs/api/payment_intents)." + "return_status": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Dispute.Evidence.MerchandiseNotAsDescribed.ReturnStatus" + } + ], + "nullable": true, + "description": "Result of cardholder's attempt to return the product." }, - "customer": { + "returned_at": { + "type": "number", + "format": "double", + "nullable": true, + "description": "Date when the product was returned or attempted to be returned." + } + }, + "required": [ + "additional_documentation", + "explanation", + "received_at", + "return_description", + "return_status", + "returned_at" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Issuing.Dispute.Evidence.NoValidAuthorization": { + "properties": { + "additional_documentation": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.Customer" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.DeletedCustomer" + "$ref": "#/components/schemas/stripe.Stripe.File" } ], "nullable": true, - "description": "The ID of the customer associated with this discount." - }, - "deleted": { - "type": "boolean", - "enum": [ - true - ], - "nullable": false, - "description": "Always true for a deleted object" - }, - "invoice": { - "type": "string", - "nullable": true, - "description": "The invoice that the discount's coupon was applied to, if it was applied directly to a particular invoice." + "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute." }, - "invoice_item": { + "explanation": { "type": "string", "nullable": true, - "description": "The invoice item `id` (or invoice line item `id` for invoice line items of type='subscription') that the discount's coupon was applied to, if it was applied directly to a particular invoice item or invoice line item." - }, - "promotion_code": { + "description": "Explanation of why the cardholder is disputing this transaction." + } + }, + "required": [ + "additional_documentation", + "explanation" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Issuing.Dispute.Evidence.NotReceived.ProductType": { + "type": "string", + "enum": [ + "merchandise", + "service" + ] + }, + "stripe.Stripe.Issuing.Dispute.Evidence.NotReceived": { + "properties": { + "additional_documentation": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.PromotionCode" + "$ref": "#/components/schemas/stripe.Stripe.File" } ], "nullable": true, - "description": "The promotion code applied to create this discount." + "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute." }, - "start": { + "expected_at": { "type": "number", "format": "double", - "description": "Date that the coupon was applied." + "nullable": true, + "description": "Date when the cardholder expected to receive the product." }, - "subscription": { + "explanation": { "type": "string", "nullable": true, - "description": "The subscription that this coupon is applied to, if it is applied to a particular subscription." + "description": "Explanation of why the cardholder is disputing this transaction." }, - "subscription_item": { + "product_description": { "type": "string", "nullable": true, - "description": "The subscription item that this coupon is applied to, if it is applied to a particular subscription item." + "description": "Description of the merchandise or service that was purchased." + }, + "product_type": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Dispute.Evidence.NotReceived.ProductType" + } + ], + "nullable": true, + "description": "Whether the product was a merchandise or service." } }, "required": [ - "id", - "object", - "checkout_session", - "coupon", - "customer", - "deleted", - "invoice", - "invoice_item", - "promotion_code", - "start", - "subscription", - "subscription_item" + "additional_documentation", + "expected_at", + "explanation", + "product_description", + "product_type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Invoice.FromInvoice": { + "stripe.Stripe.Issuing.Dispute.Evidence.Other.ProductType": { + "type": "string", + "enum": [ + "merchandise", + "service" + ] + }, + "stripe.Stripe.Issuing.Dispute.Evidence.Other": { "properties": { - "action": { - "type": "string", - "description": "The relation between this invoice and the cloned invoice" - }, - "invoice": { + "additional_documentation": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.Invoice" + "$ref": "#/components/schemas/stripe.Stripe.File" + } + ], + "nullable": true, + "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute." + }, + "explanation": { + "type": "string", + "nullable": true, + "description": "Explanation of why the cardholder is disputing this transaction." + }, + "product_description": { + "type": "string", + "nullable": true, + "description": "Description of the merchandise or service that was purchased." + }, + "product_type": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Dispute.Evidence.Other.ProductType" } ], - "description": "The invoice that was cloned." + "nullable": true, + "description": "Whether the product was a merchandise or service." } }, "required": [ - "action", - "invoice" + "additional_documentation", + "explanation", + "product_description", + "product_type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Invoice.Issuer.Type": { + "stripe.Stripe.Issuing.Dispute.Evidence.Reason": { "type": "string", "enum": [ - "account", - "self" + "canceled", + "duplicate", + "fraudulent", + "merchandise_not_as_described", + "no_valid_authorization", + "not_received", + "other", + "service_not_as_described" ] }, - "stripe.Stripe.Invoice.Issuer": { + "stripe.Stripe.Issuing.Dispute.Evidence.ServiceNotAsDescribed": { "properties": { - "account": { + "additional_documentation": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.Account" + "$ref": "#/components/schemas/stripe.Stripe.File" } ], - "description": "The connected account being referenced when `type` is `account`." + "nullable": true, + "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute." }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.Issuer.Type", - "description": "Type of the account referenced." + "canceled_at": { + "type": "number", + "format": "double", + "nullable": true, + "description": "Date when order was canceled." + }, + "cancellation_reason": { + "type": "string", + "nullable": true, + "description": "Reason for canceling the order." + }, + "explanation": { + "type": "string", + "nullable": true, + "description": "Explanation of why the cardholder is disputing this transaction." + }, + "received_at": { + "type": "number", + "format": "double", + "nullable": true, + "description": "Date when the product was received." } }, "required": [ - "type" + "additional_documentation", + "canceled_at", + "cancellation_reason", + "explanation", + "received_at" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Invoice.LastFinalizationError.Code": { - "type": "string", - "enum": [ - "account_closed", - "account_country_invalid_address", - "account_error_country_change_requires_additional_steps", - "account_information_mismatch", - "account_invalid", - "account_number_invalid", - "acss_debit_session_incomplete", - "alipay_upgrade_required", - "amount_too_large", - "amount_too_small", - "api_key_expired", - "application_fees_not_allowed", - "authentication_required", - "balance_insufficient", - "balance_invalid_parameter", - "bank_account_bad_routing_numbers", - "bank_account_declined", - "bank_account_exists", - "bank_account_restricted", - "bank_account_unusable", - "bank_account_unverified", - "bank_account_verification_failed", - "billing_invalid_mandate", - "bitcoin_upgrade_required", - "capture_charge_authorization_expired", - "capture_unauthorized_payment", - "card_decline_rate_limit_exceeded", - "card_declined", - "cardholder_phone_number_required", - "charge_already_captured", - "charge_already_refunded", - "charge_disputed", - "charge_exceeds_source_limit", - "charge_exceeds_transaction_limit", - "charge_expired_for_capture", - "charge_invalid_parameter", - "charge_not_refundable", - "clearing_code_unsupported", - "country_code_invalid", - "country_unsupported", - "coupon_expired", - "customer_max_payment_methods", - "customer_max_subscriptions", - "customer_tax_location_invalid", - "debit_not_authorized", - "email_invalid", - "expired_card", - "financial_connections_account_inactive", - "financial_connections_no_successful_transaction_refresh", - "forwarding_api_inactive", - "forwarding_api_invalid_parameter", - "forwarding_api_upstream_connection_error", - "forwarding_api_upstream_connection_timeout", - "idempotency_key_in_use", - "incorrect_address", - "incorrect_cvc", - "incorrect_number", - "incorrect_zip", - "instant_payouts_config_disabled", - "instant_payouts_currency_disabled", - "instant_payouts_limit_exceeded", - "instant_payouts_unsupported", - "insufficient_funds", - "intent_invalid_state", - "intent_verification_method_missing", - "invalid_card_type", - "invalid_characters", - "invalid_charge_amount", - "invalid_cvc", - "invalid_expiry_month", - "invalid_expiry_year", - "invalid_mandate_reference_prefix_format", - "invalid_number", - "invalid_source_usage", - "invalid_tax_location", - "invoice_no_customer_line_items", - "invoice_no_payment_method_types", - "invoice_no_subscription_line_items", - "invoice_not_editable", - "invoice_on_behalf_of_not_editable", - "invoice_payment_intent_requires_action", - "invoice_upcoming_none", - "livemode_mismatch", - "lock_timeout", - "missing", - "no_account", - "not_allowed_on_standard_account", - "out_of_inventory", - "ownership_declaration_not_allowed", - "parameter_invalid_empty", - "parameter_invalid_integer", - "parameter_invalid_string_blank", - "parameter_invalid_string_empty", - "parameter_missing", - "parameter_unknown", - "parameters_exclusive", - "payment_intent_action_required", - "payment_intent_authentication_failure", - "payment_intent_incompatible_payment_method", - "payment_intent_invalid_parameter", - "payment_intent_konbini_rejected_confirmation_number", - "payment_intent_mandate_invalid", - "payment_intent_payment_attempt_expired", - "payment_intent_payment_attempt_failed", - "payment_intent_unexpected_state", - "payment_method_bank_account_already_verified", - "payment_method_bank_account_blocked", - "payment_method_billing_details_address_missing", - "payment_method_configuration_failures", - "payment_method_currency_mismatch", - "payment_method_customer_decline", - "payment_method_invalid_parameter", - "payment_method_invalid_parameter_testmode", - "payment_method_microdeposit_failed", - "payment_method_microdeposit_verification_amounts_invalid", - "payment_method_microdeposit_verification_amounts_mismatch", - "payment_method_microdeposit_verification_attempts_exceeded", - "payment_method_microdeposit_verification_descriptor_code_mismatch", - "payment_method_microdeposit_verification_timeout", - "payment_method_not_available", - "payment_method_provider_decline", - "payment_method_provider_timeout", - "payment_method_unactivated", - "payment_method_unexpected_state", - "payment_method_unsupported_type", - "payout_reconciliation_not_ready", - "payouts_limit_exceeded", - "payouts_not_allowed", - "platform_account_required", - "platform_api_key_expired", - "postal_code_invalid", - "processing_error", - "product_inactive", - "progressive_onboarding_limit_exceeded", - "rate_limit", - "refer_to_customer", - "refund_disputed_payment", - "resource_already_exists", - "resource_missing", - "return_intent_already_processed", - "routing_number_invalid", - "secret_key_required", - "sepa_unsupported_account", - "setup_attempt_failed", - "setup_intent_authentication_failure", - "setup_intent_invalid_parameter", - "setup_intent_mandate_invalid", - "setup_intent_setup_attempt_expired", - "setup_intent_unexpected_state", - "shipping_address_invalid", - "shipping_calculation_failed", - "sku_inactive", - "state_unsupported", - "status_transition_invalid", - "stripe_tax_inactive", - "tax_id_invalid", - "taxes_calculation_failed", - "terminal_location_country_unsupported", - "terminal_reader_busy", - "terminal_reader_hardware_fault", - "terminal_reader_invalid_location_for_activation", - "terminal_reader_invalid_location_for_payment", - "terminal_reader_offline", - "terminal_reader_timeout", - "testmode_charges_only", - "tls_version_unsupported", - "token_already_used", - "token_card_network_invalid", - "token_in_use", - "transfer_source_balance_parameters_mismatch", - "transfers_not_allowed", - "url_invalid" - ] - }, - "stripe.Stripe.SetupIntent.AutomaticPaymentMethods.AllowRedirects": { - "type": "string", - "enum": [ - "always", - "never" - ] - }, - "stripe.Stripe.SetupIntent.AutomaticPaymentMethods": { + "stripe.Stripe.Issuing.Dispute.Evidence": { "properties": { - "allow_redirects": { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.AutomaticPaymentMethods.AllowRedirects", - "description": "Controls whether this SetupIntent will accept redirect-based payment methods.\n\nRedirect-based payment methods may require your customer to be redirected to a payment method's app or site for authentication or additional steps. To [confirm](https://stripe.com/docs/api/setup_intents/confirm) this SetupIntent, you may be required to provide a `return_url` to redirect customers back to your site after they authenticate or complete the setup." + "canceled": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Dispute.Evidence.Canceled" }, - "enabled": { - "type": "boolean", - "nullable": true, - "description": "Automatically calculates compatible payment methods" + "duplicate": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Dispute.Evidence.Duplicate" + }, + "fraudulent": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Dispute.Evidence.Fraudulent" + }, + "merchandise_not_as_described": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Dispute.Evidence.MerchandiseNotAsDescribed" + }, + "no_valid_authorization": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Dispute.Evidence.NoValidAuthorization" + }, + "not_received": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Dispute.Evidence.NotReceived" + }, + "other": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Dispute.Evidence.Other" + }, + "reason": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Dispute.Evidence.Reason", + "description": "The reason for filing the dispute. Its value will match the field containing the evidence." + }, + "service_not_as_described": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Dispute.Evidence.ServiceNotAsDescribed" } }, "required": [ - "enabled" + "reason" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.SetupIntent.CancellationReason": { - "type": "string", - "enum": [ - "abandoned", - "duplicate", - "requested_by_customer" - ] - }, - "stripe.Stripe.SetupIntent.FlowDirection": { + "stripe.Stripe.Issuing.Dispute.LossReason": { "type": "string", "enum": [ - "inbound", - "outbound" + "cardholder_authentication_issuer_liability", + "eci5_token_transaction_with_tavv", + "excess_disputes_in_timeframe", + "has_not_met_the_minimum_dispute_amount_requirements", + "invalid_duplicate_dispute", + "invalid_incorrect_amount_dispute", + "invalid_no_authorization", + "invalid_use_of_disputes", + "merchandise_delivered_or_shipped", + "merchandise_or_service_as_described", + "not_cancelled", + "other", + "refund_issued", + "submitted_beyond_allowable_time_limit", + "transaction_3ds_required", + "transaction_approved_after_prior_fraud_dispute", + "transaction_authorized", + "transaction_electronically_read", + "transaction_qualifies_for_visa_easy_payment_service", + "transaction_unattended" ] }, - "stripe.Stripe.SetupIntent.LastSetupError.Code": { + "stripe.Stripe.Issuing.Dispute.Status": { "type": "string", "enum": [ - "account_closed", - "account_country_invalid_address", - "account_error_country_change_requires_additional_steps", - "account_information_mismatch", - "account_invalid", - "account_number_invalid", - "acss_debit_session_incomplete", - "alipay_upgrade_required", - "amount_too_large", - "amount_too_small", - "api_key_expired", - "application_fees_not_allowed", - "authentication_required", - "balance_insufficient", - "balance_invalid_parameter", - "bank_account_bad_routing_numbers", - "bank_account_declined", - "bank_account_exists", - "bank_account_restricted", - "bank_account_unusable", - "bank_account_unverified", - "bank_account_verification_failed", - "billing_invalid_mandate", - "bitcoin_upgrade_required", - "capture_charge_authorization_expired", - "capture_unauthorized_payment", - "card_decline_rate_limit_exceeded", - "card_declined", - "cardholder_phone_number_required", - "charge_already_captured", - "charge_already_refunded", - "charge_disputed", - "charge_exceeds_source_limit", - "charge_exceeds_transaction_limit", - "charge_expired_for_capture", - "charge_invalid_parameter", - "charge_not_refundable", - "clearing_code_unsupported", - "country_code_invalid", - "country_unsupported", - "coupon_expired", - "customer_max_payment_methods", - "customer_max_subscriptions", - "customer_tax_location_invalid", - "debit_not_authorized", - "email_invalid", - "expired_card", - "financial_connections_account_inactive", - "financial_connections_no_successful_transaction_refresh", - "forwarding_api_inactive", - "forwarding_api_invalid_parameter", - "forwarding_api_upstream_connection_error", - "forwarding_api_upstream_connection_timeout", - "idempotency_key_in_use", - "incorrect_address", - "incorrect_cvc", - "incorrect_number", - "incorrect_zip", - "instant_payouts_config_disabled", - "instant_payouts_currency_disabled", - "instant_payouts_limit_exceeded", - "instant_payouts_unsupported", - "insufficient_funds", - "intent_invalid_state", - "intent_verification_method_missing", - "invalid_card_type", - "invalid_characters", - "invalid_charge_amount", - "invalid_cvc", - "invalid_expiry_month", - "invalid_expiry_year", - "invalid_mandate_reference_prefix_format", - "invalid_number", - "invalid_source_usage", - "invalid_tax_location", - "invoice_no_customer_line_items", - "invoice_no_payment_method_types", - "invoice_no_subscription_line_items", - "invoice_not_editable", - "invoice_on_behalf_of_not_editable", - "invoice_payment_intent_requires_action", - "invoice_upcoming_none", - "livemode_mismatch", - "lock_timeout", - "missing", - "no_account", - "not_allowed_on_standard_account", - "out_of_inventory", - "ownership_declaration_not_allowed", - "parameter_invalid_empty", - "parameter_invalid_integer", - "parameter_invalid_string_blank", - "parameter_invalid_string_empty", - "parameter_missing", - "parameter_unknown", - "parameters_exclusive", - "payment_intent_action_required", - "payment_intent_authentication_failure", - "payment_intent_incompatible_payment_method", - "payment_intent_invalid_parameter", - "payment_intent_konbini_rejected_confirmation_number", - "payment_intent_mandate_invalid", - "payment_intent_payment_attempt_expired", - "payment_intent_payment_attempt_failed", - "payment_intent_unexpected_state", - "payment_method_bank_account_already_verified", - "payment_method_bank_account_blocked", - "payment_method_billing_details_address_missing", - "payment_method_configuration_failures", - "payment_method_currency_mismatch", - "payment_method_customer_decline", - "payment_method_invalid_parameter", - "payment_method_invalid_parameter_testmode", - "payment_method_microdeposit_failed", - "payment_method_microdeposit_verification_amounts_invalid", - "payment_method_microdeposit_verification_amounts_mismatch", - "payment_method_microdeposit_verification_attempts_exceeded", - "payment_method_microdeposit_verification_descriptor_code_mismatch", - "payment_method_microdeposit_verification_timeout", - "payment_method_not_available", - "payment_method_provider_decline", - "payment_method_provider_timeout", - "payment_method_unactivated", - "payment_method_unexpected_state", - "payment_method_unsupported_type", - "payout_reconciliation_not_ready", - "payouts_limit_exceeded", - "payouts_not_allowed", - "platform_account_required", - "platform_api_key_expired", - "postal_code_invalid", - "processing_error", - "product_inactive", - "progressive_onboarding_limit_exceeded", - "rate_limit", - "refer_to_customer", - "refund_disputed_payment", - "resource_already_exists", - "resource_missing", - "return_intent_already_processed", - "routing_number_invalid", - "secret_key_required", - "sepa_unsupported_account", - "setup_attempt_failed", - "setup_intent_authentication_failure", - "setup_intent_invalid_parameter", - "setup_intent_mandate_invalid", - "setup_intent_setup_attempt_expired", - "setup_intent_unexpected_state", - "shipping_address_invalid", - "shipping_calculation_failed", - "sku_inactive", - "state_unsupported", - "status_transition_invalid", - "stripe_tax_inactive", - "tax_id_invalid", - "taxes_calculation_failed", - "terminal_location_country_unsupported", - "terminal_reader_busy", - "terminal_reader_hardware_fault", - "terminal_reader_invalid_location_for_activation", - "terminal_reader_invalid_location_for_payment", - "terminal_reader_offline", - "terminal_reader_timeout", - "testmode_charges_only", - "tls_version_unsupported", - "token_already_used", - "token_card_network_invalid", - "token_in_use", - "transfer_source_balance_parameters_mismatch", - "transfers_not_allowed", - "url_invalid" + "expired", + "lost", + "submitted", + "unsubmitted", + "won" ] }, - "stripe.Stripe.SetupIntent": { - "description": "A SetupIntent guides you through the process of setting up and saving a customer's payment credentials for future payments.\nFor example, you can use a SetupIntent to set up and save your customer's card without immediately collecting a payment.\nLater, you can use [PaymentIntents](https://stripe.com/docs/api#payment_intents) to drive the payment flow.\n\nCreate a SetupIntent when you're ready to collect your customer's payment credentials.\nDon't maintain long-lived, unconfirmed SetupIntents because they might not be valid.\nThe SetupIntent transitions through multiple [statuses](https://docs.stripe.com/payments/intents#intent-statuses) as it guides\nyou through the setup process.\n\nSuccessful SetupIntents result in payment credentials that are optimized for future payments.\nFor example, cardholders in [certain regions](https://stripe.com/guides/strong-customer-authentication) might need to be run through\n[Strong Customer Authentication](https://docs.stripe.com/strong-customer-authentication) during payment method collection\nto streamline later [off-session payments](https://docs.stripe.com/payments/setup-intents).\nIf you use the SetupIntent with a [Customer](https://stripe.com/docs/api#setup_intent_object-customer),\nit automatically attaches the resulting payment method to that Customer after successful setup.\nWe recommend using SetupIntents or [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) on\nPaymentIntents to save payment methods to prevent saving invalid or unoptimized payment methods.\n\nBy using SetupIntents, you can reduce friction for your customers, even as regulations change over time.\n\nRelated guide: [Setup Intents API](https://docs.stripe.com/payments/setup-intents)", + "stripe.Stripe.Issuing.Transaction": { + "description": "Any use of an [issued card](https://stripe.com/docs/issuing) that results in funds entering or leaving\nyour Stripe account, such as a completed purchase or refund, is represented by an Issuing\n`Transaction` object.\n\nRelated guide: [Issued card transactions](https://stripe.com/docs/issuing/purchases/transactions)", "properties": { "id": { "type": "string", @@ -31953,765 +20954,1167 @@ "object": { "type": "string", "enum": [ - "setup_intent" + "issuing.transaction" + ], + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." + }, + "amount": { + "type": "number", + "format": "double", + "description": "The transaction amount, which will be reflected in your balance. This amount is in your currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal)." + }, + "amount_details": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction.AmountDetails" + } ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." + "nullable": true, + "description": "Detailed breakdown of amount components. These amounts are denominated in `currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal)." }, - "application": { + "authorization": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.Application" + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization" } ], "nullable": true, - "description": "ID of the Connect application that created the SetupIntent." - }, - "attach_to_self": { - "type": "boolean", - "description": "If present, the SetupIntent's payment method will be attached to the in-context Stripe Account.\n\nIt can only be used for this Stripe Account's own money movement flows like InboundTransfer and OutboundTransfers. It cannot be set to true when setting up a PaymentMethod for a Customer, and defaults to false when attaching a PaymentMethod to a Customer." + "description": "The `Authorization` object that led to this transaction." }, - "automatic_payment_methods": { - "allOf": [ + "balance_transaction": { + "anyOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.AutomaticPaymentMethods" + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.BalanceTransaction" } ], "nullable": true, - "description": "Settings for dynamic payment methods compatible with this Setup Intent" + "description": "ID of the [balance transaction](https://stripe.com/docs/api/balance_transactions) associated with this transaction." }, - "cancellation_reason": { - "allOf": [ + "card": { + "anyOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.CancellationReason" + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Card" } ], - "nullable": true, - "description": "Reason for cancellation of this SetupIntent, one of `abandoned`, `requested_by_customer`, or `duplicate`." + "description": "The card used to make this transaction." }, - "client_secret": { - "type": "string", + "cardholder": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Cardholder" + } + ], "nullable": true, - "description": "The client secret of this SetupIntent. Used for client-side retrieval using a publishable key.\n\nThe client secret can be used to complete payment setup from your frontend. It should not be stored, logged, or exposed to anyone other than the customer. Make sure that you have TLS enabled on any page that includes the client secret." + "description": "The cardholder to whom this transaction belongs." }, "created": { "type": "number", "format": "double", "description": "Time at which the object was created. Measured in seconds since the Unix epoch." }, - "customer": { + "currency": { + "type": "string", + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." + }, + "dispute": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.Customer" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.DeletedCustomer" + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Dispute" } ], "nullable": true, - "description": "ID of the Customer this SetupIntent belongs to, if one exists.\n\nIf present, the SetupIntent's payment method will be attached to the Customer on successful setup. Payment methods attached to other Customers cannot be used with this SetupIntent." + "description": "If you've disputed the transaction, the ID of the dispute." }, - "description": { + "livemode": { + "type": "boolean", + "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." + }, + "merchant_amount": { + "type": "number", + "format": "double", + "description": "The amount that the merchant will receive, denominated in `merchant_currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). It will be different from `amount` if the merchant is taking payment in a different currency." + }, + "merchant_currency": { "type": "string", - "nullable": true, - "description": "An arbitrary string attached to the object. Often useful for displaying to users." + "description": "The currency with which the merchant is taking payment." }, - "flow_directions": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.FlowDirection" - }, - "type": "array", - "nullable": true, - "description": "Indicates the directions of money movement for which this payment method is intended to be used.\n\nInclude `inbound` if you intend to use the payment method as the origin to pull funds from. Include `outbound` if you intend to use the payment method as the destination to send funds to. You can include both if you intend to use the payment method for both purposes." + "merchant_data": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction.MerchantData" }, - "last_setup_error": { + "metadata": { + "$ref": "#/components/schemas/stripe.Stripe.Metadata", + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." + }, + "network_data": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.LastSetupError" + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction.NetworkData" } ], "nullable": true, - "description": "The error encountered in the previous SetupIntent confirmation." + "description": "Details about the transaction, such as processing dates, set by the card network." }, - "latest_attempt": { - "anyOf": [ - { - "type": "string" - }, + "purchase_details": { + "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt" + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction.PurchaseDetails" } ], "nullable": true, - "description": "The most recent SetupAttempt for this SetupIntent." - }, - "livemode": { - "type": "boolean", - "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." + "description": "Additional purchase information that is optionally provided by the merchant." }, - "mandate": { + "token": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.Mandate" + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Token" } ], "nullable": true, - "description": "ID of the multi use Mandate generated by the SetupIntent." + "description": "[Token](https://stripe.com/docs/api/issuing/tokens/object) object used for this transaction. If a network token was not used for this transaction, this field will be null." }, - "metadata": { + "treasury": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Metadata" + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction.Treasury" } ], "nullable": true, - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." + "description": "[Treasury](https://stripe.com/docs/api/treasury) details related to this transaction if it was created on a [FinancialAccount](/docs/api/treasury/financial_accounts" }, - "next_action": { + "type": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction.Type", + "description": "The nature of the transaction." + }, + "wallet": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.NextAction" + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction.Wallet" } ], "nullable": true, - "description": "If present, this property tells you what actions you need to take in order for your customer to continue payment setup." + "description": "The digital wallet used for this transaction. One of `apple_pay`, `google_pay`, or `samsung_pay`." + } + }, + "required": [ + "id", + "object", + "amount", + "amount_details", + "authorization", + "balance_transaction", + "card", + "cardholder", + "created", + "currency", + "dispute", + "livemode", + "merchant_amount", + "merchant_currency", + "merchant_data", + "metadata", + "network_data", + "type", + "wallet" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Issuing.Dispute.Treasury": { + "properties": { + "debit_reversal": { + "type": "string", + "nullable": true, + "description": "The Treasury [DebitReversal](https://stripe.com/docs/api/treasury/debit_reversals) representing this Issuing dispute" }, - "on_behalf_of": { + "received_debit": { + "type": "string", + "description": "The Treasury [ReceivedDebit](https://stripe.com/docs/api/treasury/received_debits) that is being disputed." + } + }, + "required": [ + "debit_reversal", + "received_debit" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Issuing.Dispute": { + "description": "As a [card issuer](https://stripe.com/docs/issuing), you can dispute transactions that the cardholder does not recognize, suspects to be fraudulent, or has other issues with.\n\nRelated guide: [Issuing disputes](https://stripe.com/docs/issuing/purchases/disputes)", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the object." + }, + "object": { + "type": "string", + "enum": [ + "issuing.dispute" + ], + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." + }, + "amount": { + "type": "number", + "format": "double", + "description": "Disputed amount in the card's currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). Usually the amount of the `transaction`, but can differ (usually because of currency fluctuation)." + }, + "balance_transactions": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.BalanceTransaction" + }, + "type": "array", + "nullable": true, + "description": "List of balance transactions associated with the dispute." + }, + "created": { + "type": "number", + "format": "double", + "description": "Time at which the object was created. Measured in seconds since the Unix epoch." + }, + "currency": { + "type": "string", + "description": "The currency the `transaction` was made in." + }, + "evidence": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Dispute.Evidence" + }, + "livemode": { + "type": "boolean", + "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." + }, + "loss_reason": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Dispute.LossReason", + "description": "The enum that describes the dispute loss outcome. If the dispute is not lost, this field will be absent. New enum values may be added in the future, so be sure to handle unknown values." + }, + "metadata": { + "$ref": "#/components/schemas/stripe.Stripe.Metadata", + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." + }, + "status": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Dispute.Status", + "description": "Current status of the dispute." + }, + "transaction": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.Account" + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction" } ], - "nullable": true, - "description": "The account (if any) for which the setup is intended." + "description": "The transaction being disputed." }, - "payment_method": { - "anyOf": [ - { - "type": "string" - }, + "treasury": { + "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod" + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Dispute.Treasury" } ], "nullable": true, - "description": "ID of the payment method used with this SetupIntent. If the payment method is `card_present` and isn't a digital wallet, then the [generated_card](https://docs.stripe.com/api/setup_attempts/object#setup_attempt_object-payment_method_details-card_present-generated_card) associated with the `latest_attempt` is attached to the Customer instead." + "description": "[Treasury](https://stripe.com/docs/api/treasury) details related to this dispute if it was created on a [FinancialAccount](/docs/api/treasury/financial_accounts" + } + }, + "required": [ + "id", + "object", + "amount", + "created", + "currency", + "evidence", + "livemode", + "metadata", + "status", + "transaction" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Issuing.Transaction.MerchantData": { + "properties": { + "category": { + "type": "string", + "description": "A categorization of the seller's type of business. See our [merchant categories guide](https://stripe.com/docs/issuing/merchant-categories) for a list of possible values." }, - "payment_method_configuration_details": { + "category_code": { + "type": "string", + "description": "The merchant category code for the seller's business" + }, + "city": { + "type": "string", + "nullable": true, + "description": "City where the seller is located" + }, + "country": { + "type": "string", + "nullable": true, + "description": "Country where the seller is located" + }, + "name": { + "type": "string", + "nullable": true, + "description": "Name of the seller" + }, + "network_id": { + "type": "string", + "description": "Identifier assigned to the seller by the card network. Different card networks may assign different network_id fields to the same merchant." + }, + "postal_code": { + "type": "string", + "nullable": true, + "description": "Postal code where the seller is located" + }, + "state": { + "type": "string", + "nullable": true, + "description": "State where the seller is located" + }, + "tax_id": { + "type": "string", + "nullable": true, + "description": "The seller's tax identification number. Currently populated for French merchants only." + }, + "terminal_id": { + "type": "string", + "nullable": true, + "description": "An ID assigned by the seller to the location of the sale." + }, + "url": { + "type": "string", + "nullable": true, + "description": "URL provided by the merchant on a 3DS request" + } + }, + "required": [ + "category", + "category_code", + "city", + "country", + "name", + "network_id", + "postal_code", + "state", + "tax_id", + "terminal_id", + "url" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Issuing.Transaction.NetworkData": { + "properties": { + "authorization_code": { + "type": "string", + "nullable": true, + "description": "A code created by Stripe which is shared with the merchant to validate the authorization. This field will be populated if the authorization message was approved. The code typically starts with the letter \"S\", followed by a six-digit number. For example, \"S498162\". Please note that the code is not guaranteed to be unique across authorizations." + }, + "processing_date": { + "type": "string", + "nullable": true, + "description": "The date the transaction was processed by the card network. This can be different from the date the seller recorded the transaction depending on when the acquirer submits the transaction to the network." + }, + "transaction_id": { + "type": "string", + "nullable": true, + "description": "Unique identifier for the authorization assigned by the card network used to match subsequent messages, disputes, and transactions." + } + }, + "required": [ + "authorization_code", + "processing_date", + "transaction_id" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet.CardholderPromptData": { + "properties": { + "driver_id": { + "type": "string", + "nullable": true, + "description": "Driver ID." + }, + "odometer": { + "type": "number", + "format": "double", + "nullable": true, + "description": "Odometer reading." + }, + "unspecified_id": { + "type": "string", + "nullable": true, + "description": "An alphanumeric ID. This field is used when a vehicle ID, driver ID, or generic ID is entered by the cardholder, but the merchant or card network did not specify the prompt type." + }, + "user_id": { + "type": "string", + "nullable": true, + "description": "User ID." + }, + "vehicle_number": { + "type": "string", + "nullable": true, + "description": "Vehicle number." + } + }, + "required": [ + "driver_id", + "odometer", + "unspecified_id", + "user_id", + "vehicle_number" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet.ReportedBreakdown.Fuel": { + "properties": { + "gross_amount_decimal": { + "type": "string", + "nullable": true, + "description": "Gross fuel amount that should equal Fuel Volume multipled by Fuel Unit Cost, inclusive of taxes." + } + }, + "required": [ + "gross_amount_decimal" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet.ReportedBreakdown.NonFuel": { + "properties": { + "gross_amount_decimal": { + "type": "string", + "nullable": true, + "description": "Gross non-fuel amount that should equal the sum of the line items, inclusive of taxes." + } + }, + "required": [ + "gross_amount_decimal" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet.ReportedBreakdown.Tax": { + "properties": { + "local_amount_decimal": { + "type": "string", + "nullable": true, + "description": "Amount of state or provincial Sales Tax included in the transaction amount. Null if not reported by merchant or not subject to tax." + }, + "national_amount_decimal": { + "type": "string", + "nullable": true, + "description": "Amount of national Sales Tax or VAT included in the transaction amount. Null if not reported by merchant or not subject to tax." + } + }, + "required": [ + "local_amount_decimal", + "national_amount_decimal" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet.ReportedBreakdown": { + "properties": { + "fuel": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodConfigurationDetails" + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet.ReportedBreakdown.Fuel" } ], "nullable": true, - "description": "Information about the [payment method configuration](https://stripe.com/docs/api/payment_method_configurations) used for this Setup Intent." + "description": "Breakdown of fuel portion of the purchase." }, - "payment_method_options": { + "non_fuel": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions" + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet.ReportedBreakdown.NonFuel" } ], "nullable": true, - "description": "Payment method-specific configuration for this SetupIntent." - }, - "payment_method_types": { - "items": { - "type": "string" - }, - "type": "array", - "description": "The list of payment method types (e.g. card) that this SetupIntent is allowed to set up." + "description": "Breakdown of non-fuel portion of the purchase." }, - "single_use_mandate": { - "anyOf": [ + "tax": { + "allOf": [ { - "type": "string" - }, + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet.ReportedBreakdown.Tax" + } + ], + "nullable": true, + "description": "Information about tax included in this transaction." + } + }, + "required": [ + "fuel", + "non_fuel", + "tax" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet": { + "properties": { + "cardholder_prompt_data": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet.CardholderPromptData" + } + ], + "nullable": true, + "description": "Answers to prompts presented to cardholder at point of sale." + }, + "purchase_type": { + "type": "string", + "nullable": true, + "description": "The type of purchase. One of `fuel_purchase`, `non_fuel_purchase`, or `fuel_and_non_fuel_purchase`." + }, + "reported_breakdown": { + "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Mandate" + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet.ReportedBreakdown" } ], "nullable": true, - "description": "ID of the single_use Mandate generated by the SetupIntent." - }, - "status": { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.Status", - "description": "[Status](https://stripe.com/docs/payments/intents#intent-statuses) of this SetupIntent, one of `requires_payment_method`, `requires_confirmation`, `requires_action`, `processing`, `canceled`, or `succeeded`." + "description": "More information about the total amount. This information is not guaranteed to be accurate as some merchants may provide unreliable data." }, - "usage": { + "service_type": { "type": "string", - "description": "Indicates how the payment method is intended to be used in the future.\n\nUse `on_session` if you intend to only reuse the payment method when the customer is in your checkout flow. Use `off_session` if your customer may or may not be in your checkout flow. If not provided, this value defaults to `off_session`." + "nullable": true, + "description": "The type of fuel service. One of `non_fuel_transaction`, `full_service`, or `self_service`." } }, "required": [ - "id", - "object", - "application", - "automatic_payment_methods", - "cancellation_reason", - "client_secret", - "created", - "customer", - "description", - "flow_directions", - "last_setup_error", - "latest_attempt", - "livemode", - "mandate", - "metadata", - "next_action", - "on_behalf_of", - "payment_method", - "payment_method_configuration_details", - "payment_method_options", - "payment_method_types", - "single_use_mandate", - "status", - "usage" + "cardholder_prompt_data", + "purchase_type", + "reported_breakdown", + "service_type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.SetupIntent.LastSetupError.Type": { - "type": "string", - "enum": [ - "api_error", - "card_error", - "idempotency_error", - "invalid_request_error" - ] - }, - "stripe.Stripe.SetupIntent.LastSetupError": { + "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Flight.Segment": { "properties": { - "advice_code": { - "type": "string", - "description": "For card errors resulting from a card issuer decline, a short string indicating [how to proceed with an error](https://stripe.com/docs/declines#retrying-issuer-declines) if they provide one." - }, - "charge": { - "type": "string", - "description": "For card errors, the ID of the failed charge." - }, - "code": { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.LastSetupError.Code", - "description": "For some errors that could be handled programmatically, a short string indicating the [error code](https://stripe.com/docs/error-codes) reported." - }, - "decline_code": { - "type": "string", - "description": "For card errors resulting from a card issuer decline, a short string indicating the [card issuer's reason for the decline](https://stripe.com/docs/declines#issuer-declines) if they provide one." - }, - "doc_url": { - "type": "string", - "description": "A URL to more information about the [error code](https://stripe.com/docs/error-codes) reported." - }, - "message": { - "type": "string", - "description": "A human-readable message providing more details about the error. For card errors, these messages can be shown to your users." - }, - "network_advice_code": { + "arrival_airport_code": { "type": "string", - "description": "For card errors resulting from a card issuer decline, a 2 digit code which indicates the advice given to merchant by the card network on how to proceed with an error." + "nullable": true, + "description": "The three-letter IATA airport code of the flight's destination." }, - "network_decline_code": { + "carrier": { "type": "string", - "description": "For card errors resulting from a card issuer decline, a brand specific 2, 3, or 4 digit code which indicates the reason the authorization failed." + "nullable": true, + "description": "The airline carrier code." }, - "param": { + "departure_airport_code": { "type": "string", - "description": "If the error is parameter-specific, the parameter related to the error. For example, you can use this to display a message near the correct form field." - }, - "payment_intent": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent", - "description": "A PaymentIntent guides you through the process of collecting a payment from your customer.\nWe recommend that you create exactly one PaymentIntent for each order or\ncustomer session in your system. You can reference the PaymentIntent later to\nsee the history of payment attempts for a particular session.\n\nA PaymentIntent transitions through\n[multiple statuses](https://stripe.com/docs/payments/intents#intent-statuses)\nthroughout its lifetime as it interfaces with Stripe.js to perform\nauthentication flows and ultimately creates at most one successful charge.\n\nRelated guide: [Payment Intents API](https://stripe.com/docs/payments/payment-intents)" - }, - "payment_method": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod", - "description": "PaymentMethod objects represent your customer's payment instruments.\nYou can use them with [PaymentIntents](https://stripe.com/docs/payments/payment-intents) to collect payments or save them to\nCustomer objects to store instrument details for future payments.\n\nRelated guides: [Payment Methods](https://stripe.com/docs/payments/payment-methods) and [More Payment Scenarios](https://stripe.com/docs/payments/more-payment-scenarios)." + "nullable": true, + "description": "The three-letter IATA airport code that the flight departed from." }, - "payment_method_type": { + "flight_number": { "type": "string", - "description": "If the error is specific to the type of payment method, the payment method type that had a problem. This field is only populated for invoice-related errors." + "nullable": true, + "description": "The flight number." }, - "request_log_url": { + "service_class": { "type": "string", - "description": "A URL to the request log entry in your dashboard." - }, - "setup_intent": { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent", - "description": "A SetupIntent guides you through the process of setting up and saving a customer's payment credentials for future payments.\nFor example, you can use a SetupIntent to set up and save your customer's card without immediately collecting a payment.\nLater, you can use [PaymentIntents](https://stripe.com/docs/api#payment_intents) to drive the payment flow.\n\nCreate a SetupIntent when you're ready to collect your customer's payment credentials.\nDon't maintain long-lived, unconfirmed SetupIntents because they might not be valid.\nThe SetupIntent transitions through multiple [statuses](https://docs.stripe.com/payments/intents#intent-statuses) as it guides\nyou through the setup process.\n\nSuccessful SetupIntents result in payment credentials that are optimized for future payments.\nFor example, cardholders in [certain regions](https://stripe.com/guides/strong-customer-authentication) might need to be run through\n[Strong Customer Authentication](https://docs.stripe.com/strong-customer-authentication) during payment method collection\nto streamline later [off-session payments](https://docs.stripe.com/payments/setup-intents).\nIf you use the SetupIntent with a [Customer](https://stripe.com/docs/api#setup_intent_object-customer),\nit automatically attaches the resulting payment method to that Customer after successful setup.\nWe recommend using SetupIntents or [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) on\nPaymentIntents to save payment methods to prevent saving invalid or unoptimized payment methods.\n\nBy using SetupIntents, you can reduce friction for your customers, even as regulations change over time.\n\nRelated guide: [Setup Intents API](https://docs.stripe.com/payments/setup-intents)" - }, - "source": { - "$ref": "#/components/schemas/stripe.Stripe.CustomerSource" + "nullable": true, + "description": "The flight's service class." }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.LastSetupError.Type", - "description": "The type of error returned. One of `api_error`, `card_error`, `idempotency_error`, or `invalid_request_error`" + "stopover_allowed": { + "type": "boolean", + "nullable": true, + "description": "Whether a stopover is allowed on this flight." } }, "required": [ - "type" + "arrival_airport_code", + "carrier", + "departure_airport_code", + "flight_number", + "service_class", + "stopover_allowed" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.SetupAttempt": { - "description": "A SetupAttempt describes one attempted confirmation of a SetupIntent,\nwhether that confirmation is successful or unsuccessful. You can use\nSetupAttempts to inspect details of a specific attempt at setting up a\npayment method using a SetupIntent.", + "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Flight": { "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." + "departure_at": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The time that the flight departed." }, - "object": { + "passenger_name": { "type": "string", - "enum": [ - "setup_attempt" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." - }, - "application": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Application" - } - ], "nullable": true, - "description": "The value of [application](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-application) on the SetupIntent at the time of this confirmation." + "description": "The name of the passenger." }, - "attach_to_self": { + "refundable": { "type": "boolean", - "description": "If present, the SetupIntent's payment method will be attached to the in-context Stripe Account.\n\nIt can only be used for this Stripe Account's own money movement flows like InboundTransfer and OutboundTransfers. It cannot be set to true when setting up a PaymentMethod for a Customer, and defaults to false when attaching a PaymentMethod to a Customer." - }, - "created": { - "type": "number", - "format": "double", - "description": "Time at which the object was created. Measured in seconds since the Unix epoch." - }, - "customer": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Customer" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.DeletedCustomer" - } - ], "nullable": true, - "description": "The value of [customer](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-customer) on the SetupIntent at the time of this confirmation." + "description": "Whether the ticket is refundable." }, - "flow_directions": { + "segments": { "items": { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.FlowDirection" + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction.PurchaseDetails.Flight.Segment" }, "type": "array", "nullable": true, - "description": "Indicates the directions of money movement for which this payment method is intended to be used.\n\nInclude `inbound` if you intend to use the payment method as the origin to pull funds from. Include `outbound` if you intend to use the payment method as the destination to send funds to. You can include both if you intend to use the payment method for both purposes." - }, - "livemode": { - "type": "boolean", - "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." + "description": "The legs of the trip." }, - "on_behalf_of": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Account" - } - ], + "travel_agency": { + "type": "string", "nullable": true, - "description": "The value of [on_behalf_of](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-on_behalf_of) on the SetupIntent at the time of this confirmation." - }, - "payment_method": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod" - } - ], - "description": "ID of the payment method used with this SetupAttempt." - }, - "payment_method_details": { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails" + "description": "The travel agency that issued the ticket." + } + }, + "required": [ + "departure_at", + "passenger_name", + "refundable", + "segments", + "travel_agency" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fuel": { + "properties": { + "industry_product_code": { + "type": "string", + "nullable": true, + "description": "[Conexxus Payment System Product Code](https://www.conexxus.org/conexxus-payment-system-product-codes) identifying the primary fuel product purchased." }, - "setup_error": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.SetupError" - } - ], + "quantity_decimal": { + "type": "string", "nullable": true, - "description": "The error encountered during this attempt to confirm the SetupIntent, if any." + "description": "The quantity of `unit`s of fuel that was dispensed, represented as a decimal string with at most 12 decimal places." }, - "setup_intent": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent" - } - ], - "description": "ID of the SetupIntent that this attempt belongs to." + "type": { + "type": "string", + "description": "The type of fuel that was purchased. One of `diesel`, `unleaded_plus`, `unleaded_regular`, `unleaded_super`, or `other`." }, - "status": { + "unit": { "type": "string", - "description": "Status of this SetupAttempt, one of `requires_confirmation`, `requires_action`, `processing`, `succeeded`, `failed`, or `abandoned`." + "description": "The units for `quantity_decimal`. One of `charging_minute`, `imperial_gallon`, `kilogram`, `kilowatt_hour`, `liter`, `pound`, `us_gallon`, or `other`." }, - "usage": { + "unit_cost_decimal": { "type": "string", - "description": "The value of [usage](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-usage) on the SetupIntent at the time of this confirmation, one of `off_session` or `on_session`." + "description": "The cost in cents per each unit of fuel, represented as a decimal string with at most 12 decimal places." } }, "required": [ - "id", - "object", - "application", - "created", - "customer", - "flow_directions", - "livemode", - "on_behalf_of", - "payment_method", - "payment_method_details", - "setup_error", - "setup_intent", - "status", - "usage" + "industry_product_code", + "quantity_decimal", + "type", + "unit", + "unit_cost_decimal" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.SetupIntent.NextAction.CashappHandleRedirectOrDisplayQrCode.QrCode": { + "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Lodging": { "properties": { - "expires_at": { + "check_in_at": { "type": "number", "format": "double", - "description": "The date (unix timestamp) when the QR code expires." - }, - "image_url_png": { - "type": "string", - "description": "The image_url_png string used to render QR code" + "nullable": true, + "description": "The time of checking into the lodging." }, - "image_url_svg": { - "type": "string", - "description": "The image_url_svg string used to render QR code" + "nights": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The number of nights stayed at the lodging." } }, "required": [ - "expires_at", - "image_url_png", - "image_url_svg" + "check_in_at", + "nights" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.SetupIntent.NextAction.CashappHandleRedirectOrDisplayQrCode": { + "stripe.Stripe.Issuing.Transaction.PurchaseDetails.Receipt": { "properties": { - "hosted_instructions_url": { + "description": { "type": "string", - "description": "The URL to the hosted Cash App Pay instructions page, which allows customers to view the QR code, and supports QR code refreshing on expiration." + "nullable": true, + "description": "The description of the item. The maximum length of this field is 26 characters." }, - "mobile_auth_url": { - "type": "string", - "description": "The url for mobile redirect based auth" + "quantity": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The quantity of the item." }, - "qr_code": { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.NextAction.CashappHandleRedirectOrDisplayQrCode.QrCode" + "total": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The total for this line item in cents." + }, + "unit_cost": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The unit cost of the item in cents." } }, "required": [ - "hosted_instructions_url", - "mobile_auth_url", - "qr_code" + "description", + "quantity", + "total", + "unit_cost" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.SetupIntent.NextAction.RedirectToUrl": { + "stripe.Stripe.Issuing.Transaction.PurchaseDetails": { "properties": { - "return_url": { - "type": "string", + "fleet": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fleet" + } + ], "nullable": true, - "description": "If the customer does not exit their browser while authenticating, they will be redirected to this specified URL after completion." + "description": "Fleet-specific information for transactions using Fleet cards." }, - "url": { + "flight": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction.PurchaseDetails.Flight" + } + ], + "nullable": true, + "description": "Information about the flight that was purchased with this transaction." + }, + "fuel": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction.PurchaseDetails.Fuel" + } + ], + "nullable": true, + "description": "Information about fuel that was purchased with this transaction." + }, + "lodging": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction.PurchaseDetails.Lodging" + } + ], + "nullable": true, + "description": "Information about lodging that was purchased with this transaction." + }, + "receipt": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction.PurchaseDetails.Receipt" + }, + "type": "array", + "nullable": true, + "description": "The line items in the purchase." + }, + "reference": { "type": "string", "nullable": true, - "description": "The URL you must redirect your customer to in order to authenticate." + "description": "A merchant-specific order number." } }, "required": [ - "return_url", - "url" + "fleet", + "flight", + "fuel", + "lodging", + "receipt", + "reference" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.SetupIntent.NextAction.UseStripeSdk": { - "properties": {}, + "stripe.Stripe.Issuing.Transaction.Treasury": { + "properties": { + "received_credit": { + "type": "string", + "nullable": true, + "description": "The Treasury [ReceivedCredit](https://stripe.com/docs/api/treasury/received_credits) representing this Issuing transaction if it is a refund" + }, + "received_debit": { + "type": "string", + "nullable": true, + "description": "The Treasury [ReceivedDebit](https://stripe.com/docs/api/treasury/received_debits) representing this Issuing transaction if it is a capture" + } + }, + "required": [ + "received_credit", + "received_debit" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.SetupIntent.NextAction.VerifyWithMicrodeposits.MicrodepositType": { + "stripe.Stripe.Issuing.Transaction.Type": { "type": "string", "enum": [ - "amounts", - "descriptor_code" + "capture", + "refund" ] }, - "stripe.Stripe.SetupIntent.NextAction.VerifyWithMicrodeposits": { + "stripe.Stripe.Issuing.Transaction.Wallet": { + "type": "string", + "enum": [ + "apple_pay", + "google_pay", + "samsung_pay" + ] + }, + "stripe.Stripe.Issuing.Authorization.Treasury": { "properties": { - "arrival_date": { - "type": "number", - "format": "double", - "description": "The timestamp when the microdeposits are expected to land." + "received_credits": { + "items": { + "type": "string" + }, + "type": "array", + "description": "The array of [ReceivedCredits](https://stripe.com/docs/api/treasury/received_credits) associated with this authorization" }, - "hosted_verification_url": { - "type": "string", - "description": "The URL for the hosted verification page, which allows customers to verify their bank account." + "received_debits": { + "items": { + "type": "string" + }, + "type": "array", + "description": "The array of [ReceivedDebits](https://stripe.com/docs/api/treasury/received_debits) associated with this authorization" }, - "microdeposit_type": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.NextAction.VerifyWithMicrodeposits.MicrodepositType" - } - ], + "transaction": { + "type": "string", "nullable": true, - "description": "The type of the microdeposit sent to the customer. Used to distinguish between different verification methods." + "description": "The Treasury [Transaction](https://stripe.com/docs/api/treasury/transactions) associated with this authorization" } }, "required": [ - "arrival_date", - "hosted_verification_url", - "microdeposit_type" + "received_credits", + "received_debits", + "transaction" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.SetupIntent.NextAction": { + "stripe.Stripe.Issuing.Authorization.VerificationData.AddressLine1Check": { + "type": "string", + "enum": [ + "match", + "mismatch", + "not_provided" + ] + }, + "stripe.Stripe.Issuing.Authorization.VerificationData.AddressPostalCodeCheck": { + "type": "string", + "enum": [ + "match", + "mismatch", + "not_provided" + ] + }, + "stripe.Stripe.Issuing.Authorization.VerificationData.AuthenticationExemption.ClaimedBy": { + "type": "string", + "enum": [ + "acquirer", + "issuer" + ] + }, + "stripe.Stripe.Issuing.Authorization.VerificationData.AuthenticationExemption.Type": { + "type": "string", + "enum": [ + "low_value_transaction", + "transaction_risk_analysis", + "unknown" + ] + }, + "stripe.Stripe.Issuing.Authorization.VerificationData.AuthenticationExemption": { "properties": { - "cashapp_handle_redirect_or_display_qr_code": { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.NextAction.CashappHandleRedirectOrDisplayQrCode" - }, - "redirect_to_url": { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.NextAction.RedirectToUrl" + "claimed_by": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.VerificationData.AuthenticationExemption.ClaimedBy", + "description": "The entity that requested the exemption, either the acquiring merchant or the Issuing user." }, "type": { - "type": "string", - "description": "Type of the next action to perform, one of `redirect_to_url`, `use_stripe_sdk`, `alipay_handle_redirect`, `oxxo_display_details`, or `verify_with_microdeposits`." - }, - "use_stripe_sdk": { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.NextAction.UseStripeSdk", - "description": "When confirming a SetupIntent with Stripe.js, Stripe.js depends on the contents of this dictionary to invoke authentication flows. The shape of the contents is subject to change and is only intended to be used by Stripe.js." - }, - "verify_with_microdeposits": { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.NextAction.VerifyWithMicrodeposits" + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.VerificationData.AuthenticationExemption.Type", + "description": "The specific exemption claimed for this authorization." } }, "required": [ + "claimed_by", "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.SetupIntent.PaymentMethodConfigurationDetails": { - "properties": { - "id": { - "type": "string", - "description": "ID of the payment method configuration used." - }, - "parent": { - "type": "string", - "nullable": true, - "description": "ID of the parent payment method configuration used." - } - }, - "required": [ - "id", - "parent" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.Currency": { + "stripe.Stripe.Issuing.Authorization.VerificationData.CvcCheck": { "type": "string", "enum": [ - "cad", - "usd" + "match", + "mismatch", + "not_provided" ] }, - "stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.MandateOptions.DefaultFor": { + "stripe.Stripe.Issuing.Authorization.VerificationData.ExpiryCheck": { "type": "string", "enum": [ - "invoice", - "subscription" + "match", + "mismatch", + "not_provided" ] }, - "stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.MandateOptions.PaymentSchedule": { + "stripe.Stripe.Issuing.Authorization.VerificationData.ThreeDSecure.Result": { "type": "string", "enum": [ - "combined", - "interval", - "sporadic" + "attempt_acknowledged", + "authenticated", + "failed", + "required" ] }, - "stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.MandateOptions.TransactionType": { - "type": "string", - "enum": [ - "business", - "personal" - ] + "stripe.Stripe.Issuing.Authorization.VerificationData.ThreeDSecure": { + "properties": { + "result": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.VerificationData.ThreeDSecure.Result", + "description": "The outcome of the 3D Secure authentication request." + } + }, + "required": [ + "result" + ], + "type": "object", + "additionalProperties": false }, - "stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.MandateOptions": { + "stripe.Stripe.Issuing.Authorization.VerificationData": { "properties": { - "custom_mandate_url": { - "type": "string", - "description": "A URL for custom mandate text" - }, - "default_for": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.MandateOptions.DefaultFor" - }, - "type": "array", - "description": "List of Stripe products where this mandate can be selected automatically." + "address_line1_check": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.VerificationData.AddressLine1Check", + "description": "Whether the cardholder provided an address first line and if it matched the cardholder's `billing.address.line1`." }, - "interval_description": { - "type": "string", - "nullable": true, - "description": "Description of the interval. Only required if the 'payment_schedule' parameter is 'interval' or 'combined'." + "address_postal_code_check": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.VerificationData.AddressPostalCodeCheck", + "description": "Whether the cardholder provided a postal code and if it matched the cardholder's `billing.address.postal_code`." }, - "payment_schedule": { + "authentication_exemption": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.MandateOptions.PaymentSchedule" + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.VerificationData.AuthenticationExemption" } ], "nullable": true, - "description": "Payment schedule for the mandate." + "description": "The exemption applied to this authorization." }, - "transaction_type": { + "cvc_check": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.VerificationData.CvcCheck", + "description": "Whether the cardholder provided a CVC and if it matched Stripe's record." + }, + "expiry_check": { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.VerificationData.ExpiryCheck", + "description": "Whether the cardholder provided an expiry date and if it matched Stripe's record." + }, + "postal_code": { + "type": "string", + "nullable": true, + "description": "The postal code submitted as part of the authorization used for postal code verification." + }, + "three_d_secure": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.MandateOptions.TransactionType" + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization.VerificationData.ThreeDSecure" } ], "nullable": true, - "description": "Transaction type of the mandate." + "description": "3D Secure details." } }, "required": [ - "interval_description", - "payment_schedule", - "transaction_type" + "address_line1_check", + "address_postal_code_check", + "authentication_exemption", + "cvc_check", + "expiry_check", + "postal_code", + "three_d_secure" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.VerificationMethod": { - "type": "string", - "enum": [ - "automatic", - "instant", - "microdeposits" + "stripe.Stripe.ExternalAccount": { + "anyOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.BankAccount" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Card" + } ] }, - "stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit": { + "stripe.Stripe.DeletedBankAccount": { + "description": "The DeletedBankAccount object.", "properties": { - "currency": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.Currency" - } + "id": { + "type": "string", + "description": "Unique identifier for the object." + }, + "object": { + "type": "string", + "enum": [ + "bank_account" ], - "nullable": true, - "description": "Currency supported by the bank account" + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." }, - "mandate_options": { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.MandateOptions" + "currency": { + "type": "string", + "nullable": true, + "description": "Three-letter [ISO code for the currency](https://stripe.com/docs/payouts) paid out to the bank account." }, - "verification_method": { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.VerificationMethod", - "description": "Bank account verification method." + "deleted": { + "type": "boolean", + "enum": [ + true + ], + "nullable": false, + "description": "Always true for a deleted object" } }, "required": [ - "currency" + "id", + "object", + "deleted" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.SetupIntent.PaymentMethodOptions.AmazonPay": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.SetupIntent.PaymentMethodOptions.BacsDebit.MandateOptions": { + "stripe.Stripe.DeletedCard": { + "description": "The DeletedCard object.", "properties": { - "reference_prefix": { + "id": { "type": "string", - "description": "Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'DDIC' or 'STRIPE'." + "description": "Unique identifier for the object." + }, + "object": { + "type": "string", + "enum": [ + "card" + ], + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." + }, + "currency": { + "type": "string", + "nullable": true, + "description": "Three-letter [ISO code for the currency](https://stripe.com/docs/payouts) paid out to the bank account." + }, + "deleted": { + "type": "boolean", + "enum": [ + true + ], + "nullable": false, + "description": "Always true for a deleted object" } }, + "required": [ + "id", + "object", + "deleted" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.SetupIntent.PaymentMethodOptions.BacsDebit": { - "properties": { - "mandate_options": { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.BacsDebit.MandateOptions" + "stripe.Stripe.DeletedExternalAccount": { + "anyOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedBankAccount" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedCard" } - }, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.SetupIntent.PaymentMethodOptions.Card.MandateOptions.AmountType": { - "type": "string", - "enum": [ - "fixed", - "maximum" - ] - }, - "stripe.Stripe.SetupIntent.PaymentMethodOptions.Card.MandateOptions.Interval": { - "type": "string", - "enum": [ - "day", - "month", - "sporadic", - "week", - "year" ] }, - "stripe.Stripe.SetupIntent.PaymentMethodOptions.Card.MandateOptions": { + "stripe.Stripe.Payout": { + "description": "A `Payout` object is created when you receive funds from Stripe, or when you\ninitiate a payout to either a bank account or debit card of a [connected\nStripe account](https://stripe.com/docs/connect/bank-debit-card-payouts). You can retrieve individual payouts,\nand list all payouts. Payouts are made on [varying\nschedules](https://stripe.com/docs/connect/manage-payout-schedule), depending on your country and\nindustry.\n\nRelated guide: [Receiving payouts](https://stripe.com/docs/payouts)", "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the object." + }, + "object": { + "type": "string", + "enum": [ + "payout" + ], + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." + }, "amount": { "type": "number", "format": "double", - "description": "Amount to be charged for future payments." + "description": "The amount (in cents (or local equivalent)) that transfers to your bank account or debit card." }, - "amount_type": { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.Card.MandateOptions.AmountType", - "description": "One of `fixed` or `maximum`. If `fixed`, the `amount` param refers to the exact amount to be charged in future payments. If `maximum`, the amount charged can be up to the value passed for the `amount` param." + "application_fee": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.ApplicationFee" + } + ], + "nullable": true, + "description": "The application fee (if any) for the payout. [See the Connect documentation](https://stripe.com/docs/connect/instant-payouts#monetization-and-fees) for details." + }, + "application_fee_amount": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The amount of the application fee (if any) requested for the payout. [See the Connect documentation](https://stripe.com/docs/connect/instant-payouts#monetization-and-fees) for details." + }, + "arrival_date": { + "type": "number", + "format": "double", + "description": "Date that you can expect the payout to arrive in the bank. This factors in delays to account for weekends or bank holidays." + }, + "automatic": { + "type": "boolean", + "description": "Returns `true` if the payout is created by an [automated payout schedule](https://stripe.com/docs/payouts#payout-schedule) and `false` if it's [requested manually](https://stripe.com/docs/payouts#manual-payouts)." + }, + "balance_transaction": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.BalanceTransaction" + } + ], + "nullable": true, + "description": "ID of the balance transaction that describes the impact of this payout on your account balance." + }, + "created": { + "type": "number", + "format": "double", + "description": "Time at which the object was created. Measured in seconds since the Unix epoch." }, "currency": { "type": "string", @@ -32720,4641 +22123,4702 @@ "description": { "type": "string", "nullable": true, - "description": "A description of the mandate or subscription that is meant to be displayed to the customer." + "description": "An arbitrary string attached to the object. Often useful for displaying to users." }, - "end_date": { - "type": "number", - "format": "double", + "destination": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.ExternalAccount" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedExternalAccount" + } + ], "nullable": true, - "description": "End date of the mandate or subscription. If not provided, the mandate will be active until canceled. If provided, end date should be after start date." + "description": "ID of the bank account or card the payout is sent to." }, - "interval": { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.Card.MandateOptions.Interval", - "description": "Specifies payment frequency. One of `day`, `week`, `month`, `year`, or `sporadic`." + "failure_balance_transaction": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.BalanceTransaction" + } + ], + "nullable": true, + "description": "If the payout fails or cancels, this is the ID of the balance transaction that reverses the initial balance transaction and returns the funds from the failed payout back in your balance." }, - "interval_count": { - "type": "number", - "format": "double", + "failure_code": { + "type": "string", "nullable": true, - "description": "The number of intervals between payments. For example, `interval=month` and `interval_count=3` indicates one payment every three months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks). This parameter is optional when `interval=sporadic`." + "description": "Error code that provides a reason for a payout failure, if available. View our [list of failure codes](https://stripe.com/docs/api#payout_failures)." }, - "reference": { + "failure_message": { "type": "string", - "description": "Unique identifier for the mandate or subscription." + "nullable": true, + "description": "Message that provides the reason for a payout failure, if available." }, - "start_date": { - "type": "number", - "format": "double", - "description": "Start date of the mandate or subscription. Start date should not be lesser than yesterday." + "livemode": { + "type": "boolean", + "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." }, - "supported_types": { - "items": { - "type": "string", - "enum": [ - "india" - ], - "nullable": false - }, - "type": "array", - "nullable": true, - "description": "Specifies the type of mandates supported. Possible values are `india`." - } - }, - "required": [ - "amount", - "amount_type", - "currency", - "description", - "end_date", - "interval", - "interval_count", - "reference", - "start_date", - "supported_types" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.SetupIntent.PaymentMethodOptions.Card.Network": { - "type": "string", - "enum": [ - "amex", - "cartes_bancaires", - "diners", - "discover", - "eftpos_au", - "girocard", - "interac", - "jcb", - "link", - "mastercard", - "unionpay", - "unknown", - "visa" - ] - }, - "stripe.Stripe.SetupIntent.PaymentMethodOptions.Card.RequestThreeDSecure": { - "type": "string", - "enum": [ - "any", - "automatic", - "challenge" - ] - }, - "stripe.Stripe.SetupIntent.PaymentMethodOptions.Card": { - "properties": { - "mandate_options": { + "metadata": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.Card.MandateOptions" + "$ref": "#/components/schemas/stripe.Stripe.Metadata" } ], "nullable": true, - "description": "Configuration options for setting up an eMandate for cards issued in India." + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." }, - "network": { - "allOf": [ + "method": { + "type": "string", + "description": "The method used to send this payout, which can be `standard` or `instant`. `instant` is supported for payouts to debit cards and bank accounts in certain countries. Learn more about [bank support for Instant Payouts](https://stripe.com/docs/payouts/instant-payouts-banks)." + }, + "original_payout": { + "anyOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.Card.Network" + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Payout" } ], "nullable": true, - "description": "Selected network to process this SetupIntent on. Depends on the available networks of the card attached to the setup intent. Can be only set confirm-time." + "description": "If the payout reverses another, this is the ID of the original payout." }, - "request_three_d_secure": { - "allOf": [ + "reconciliation_status": { + "$ref": "#/components/schemas/stripe.Stripe.Payout.ReconciliationStatus", + "description": "If `completed`, you can use the [Balance Transactions API](https://stripe.com/docs/api/balance_transactions/list#balance_transaction_list-payout) to list all balance transactions that are paid out in this payout." + }, + "reversed_by": { + "anyOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.Card.RequestThreeDSecure" + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Payout" } ], "nullable": true, - "description": "We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. If not provided, this value defaults to `automatic`. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine." - } - }, - "required": [ - "mandate_options", - "network", - "request_three_d_secure" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.SetupIntent.PaymentMethodOptions.CardPresent": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.SetupIntent.PaymentMethodOptions.Link": { - "properties": { - "persistent_token": { + "description": "If the payout reverses, this is the ID of the payout that reverses this payout." + }, + "source_type": { + "type": "string", + "description": "The source balance this payout came from, which can be one of the following: `card`, `fpx`, or `bank_account`." + }, + "statement_descriptor": { "type": "string", "nullable": true, - "description": "[Deprecated] This is a legacy parameter that no longer has any function.", - "deprecated": true - } - }, - "required": [ - "persistent_token" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.SetupIntent.PaymentMethodOptions.Paypal": { - "properties": { - "billing_agreement_id": { + "description": "Extra information about a payout that displays on the user's bank statement." + }, + "status": { "type": "string", + "description": "Current status of the payout: `paid`, `pending`, `in_transit`, `canceled` or `failed`. A payout is `pending` until it's submitted to the bank, when it becomes `in_transit`. The status changes to `paid` if the transaction succeeds, or to `failed` or `canceled` (within 5 business days). Some payouts that fail might initially show as `paid`, then change to `failed`." + }, + "trace_id": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Payout.TraceId" + } + ], "nullable": true, - "description": "The PayPal Billing Agreement ID (BAID). This is an ID generated by PayPal which represents the mandate between the merchant and the customer." + "description": "A value that generates from the beneficiary's bank that allows users to track payouts with their bank. Banks might call this a \"reference number\" or something similar." + }, + "type": { + "$ref": "#/components/schemas/stripe.Stripe.Payout.Type", + "description": "Can be `bank_account` or `card`." } }, "required": [ - "billing_agreement_id" + "id", + "object", + "amount", + "application_fee", + "application_fee_amount", + "arrival_date", + "automatic", + "balance_transaction", + "created", + "currency", + "description", + "destination", + "failure_balance_transaction", + "failure_code", + "failure_message", + "livemode", + "metadata", + "method", + "original_payout", + "reconciliation_status", + "reversed_by", + "source_type", + "statement_descriptor", + "status", + "trace_id", + "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.SetupIntent.PaymentMethodOptions.SepaDebit.MandateOptions": { - "properties": { - "reference_prefix": { - "type": "string", - "description": "Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'STRIPE'." - } - }, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.SetupIntent.PaymentMethodOptions.SepaDebit": { - "properties": { - "mandate_options": { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.SepaDebit.MandateOptions" - } - }, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters.AccountSubcategory": { + "stripe.Stripe.Payout.ReconciliationStatus": { "type": "string", "enum": [ - "checking", - "savings" + "completed", + "in_progress", + "not_applicable" ] }, - "stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters": { + "stripe.Stripe.Payout.TraceId": { "properties": { - "account_subcategories": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters.AccountSubcategory" - }, - "type": "array", - "description": "The account subcategories to use to filter for possible accounts to link. Valid subcategories are `checking` and `savings`." + "status": { + "type": "string", + "description": "Possible values are `pending`, `supported`, and `unsupported`. When `payout.status` is `pending` or `in_transit`, this will be `pending`. When the payout transitions to `paid`, `failed`, or `canceled`, this status will become `supported` or `unsupported` shortly after in most cases. In some cases, this may appear as `pending` for up to 10 days after `arrival_date` until transitioning to `supported` or `unsupported`." + }, + "value": { + "type": "string", + "nullable": true, + "description": "The trace ID value if `trace_id.status` is `supported`, otherwise `nil`." } }, + "required": [ + "status", + "value" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Permission": { - "type": "string", - "enum": [ - "balances", - "ownership", - "payment_method", - "transactions" - ] - }, - "stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Prefetch": { + "stripe.Stripe.Payout.Type": { "type": "string", "enum": [ - "balances", - "ownership", - "transactions" + "bank_account", + "card" ] }, - "stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections": { + "stripe.Stripe.ReserveTransaction": { + "description": "The ReserveTransaction object.", "properties": { - "filters": { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters" + "id": { + "type": "string", + "description": "Unique identifier for the object." }, - "permissions": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Permission" - }, - "type": "array", - "description": "The list of permissions to request. The `payment_method` permission must be included." + "object": { + "type": "string", + "enum": [ + "reserve_transaction" + ], + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." }, - "prefetch": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Prefetch" - }, - "type": "array", - "nullable": true, - "description": "Data features requested to be retrieved upon account creation." + "amount": { + "type": "number", + "format": "double" }, - "return_url": { + "currency": { "type": "string", - "description": "For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app." + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." + }, + "description": { + "type": "string", + "nullable": true, + "description": "An arbitrary string attached to the object. Often useful for displaying to users." } }, "required": [ - "prefetch" + "id", + "object", + "amount", + "currency", + "description" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.MandateOptions": { + "stripe.Stripe.TaxDeductedAtSource": { + "description": "The TaxDeductedAtSource object.", "properties": { - "collection_method": { + "id": { + "type": "string", + "description": "Unique identifier for the object." + }, + "object": { "type": "string", "enum": [ - "paper" + "tax_deducted_at_source" ], "nullable": false, - "description": "Mandate collection method" - } - }, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.VerificationMethod": { - "type": "string", - "enum": [ - "automatic", - "instant", - "microdeposits" - ] - }, - "stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount": { - "properties": { - "financial_connections": { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections" - }, - "mandate_options": { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.MandateOptions" - }, - "verification_method": { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.VerificationMethod", - "description": "Bank account verification method." - } - }, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.SetupIntent.PaymentMethodOptions": { - "properties": { - "acss_debit": { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit" - }, - "amazon_pay": { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.AmazonPay" - }, - "bacs_debit": { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.BacsDebit" - }, - "card": { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.Card" - }, - "card_present": { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.CardPresent" - }, - "link": { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.Link" + "description": "String representing the object's type. Objects of the same type share the same value." }, - "paypal": { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.Paypal" + "period_end": { + "type": "number", + "format": "double", + "description": "The end of the invoicing period. This TDS applies to Stripe fees collected during this invoicing period." }, - "sepa_debit": { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.SepaDebit" + "period_start": { + "type": "number", + "format": "double", + "description": "The start of the invoicing period. This TDS applies to Stripe fees collected during this invoicing period." }, - "us_bank_account": { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount" + "tax_deduction_account_number": { + "type": "string", + "description": "The TAN that was supplied to Stripe when TDS was assessed" } }, + "required": [ + "id", + "object", + "period_end", + "period_start", + "tax_deduction_account_number" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.SetupIntent.Status": { + "stripe.Stripe.Topup.Status": { "type": "string", "enum": [ "canceled", - "processing", - "requires_action", - "requires_confirmation", - "requires_payment_method", + "failed", + "pending", + "reversed", "succeeded" ] }, - "stripe.Stripe.Invoice.LastFinalizationError.Type": { - "type": "string", - "enum": [ - "api_error", - "card_error", - "idempotency_error", - "invalid_request_error" - ] - }, - "stripe.Stripe.Invoice.LastFinalizationError": { + "stripe.Stripe.Topup": { + "description": "To top up your Stripe balance, you create a top-up object. You can retrieve\nindividual top-ups, as well as list all top-ups. Top-ups are identified by a\nunique, random ID.\n\nRelated guide: [Topping up your platform account](https://stripe.com/docs/connect/top-ups)", "properties": { - "advice_code": { + "id": { "type": "string", - "description": "For card errors resulting from a card issuer decline, a short string indicating [how to proceed with an error](https://stripe.com/docs/declines#retrying-issuer-declines) if they provide one." + "description": "Unique identifier for the object." }, - "charge": { + "object": { "type": "string", - "description": "For card errors, the ID of the failed charge." + "enum": [ + "topup" + ], + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." }, - "code": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.LastFinalizationError.Code", - "description": "For some errors that could be handled programmatically, a short string indicating the [error code](https://stripe.com/docs/error-codes) reported." + "amount": { + "type": "number", + "format": "double", + "description": "Amount transferred." }, - "decline_code": { - "type": "string", - "description": "For card errors resulting from a card issuer decline, a short string indicating the [card issuer's reason for the decline](https://stripe.com/docs/declines#issuer-declines) if they provide one." + "balance_transaction": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.BalanceTransaction" + } + ], + "nullable": true, + "description": "ID of the balance transaction that describes the impact of this top-up on your account balance. May not be specified depending on status of top-up." }, - "doc_url": { - "type": "string", - "description": "A URL to more information about the [error code](https://stripe.com/docs/error-codes) reported." + "created": { + "type": "number", + "format": "double", + "description": "Time at which the object was created. Measured in seconds since the Unix epoch." }, - "message": { + "currency": { "type": "string", - "description": "A human-readable message providing more details about the error. For card errors, these messages can be shown to your users." + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." }, - "network_advice_code": { + "description": { "type": "string", - "description": "For card errors resulting from a card issuer decline, a 2 digit code which indicates the advice given to merchant by the card network on how to proceed with an error." + "nullable": true, + "description": "An arbitrary string attached to the object. Often useful for displaying to users." }, - "network_decline_code": { - "type": "string", - "description": "For card errors resulting from a card issuer decline, a brand specific 2, 3, or 4 digit code which indicates the reason the authorization failed." + "expected_availability_date": { + "type": "number", + "format": "double", + "nullable": true, + "description": "Date the funds are expected to arrive in your Stripe account for payouts. This factors in delays like weekends or bank holidays. May not be specified depending on status of top-up." }, - "param": { + "failure_code": { "type": "string", - "description": "If the error is parameter-specific, the parameter related to the error. For example, you can use this to display a message near the correct form field." - }, - "payment_intent": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent", - "description": "A PaymentIntent guides you through the process of collecting a payment from your customer.\nWe recommend that you create exactly one PaymentIntent for each order or\ncustomer session in your system. You can reference the PaymentIntent later to\nsee the history of payment attempts for a particular session.\n\nA PaymentIntent transitions through\n[multiple statuses](https://stripe.com/docs/payments/intents#intent-statuses)\nthroughout its lifetime as it interfaces with Stripe.js to perform\nauthentication flows and ultimately creates at most one successful charge.\n\nRelated guide: [Payment Intents API](https://stripe.com/docs/payments/payment-intents)" - }, - "payment_method": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod", - "description": "PaymentMethod objects represent your customer's payment instruments.\nYou can use them with [PaymentIntents](https://stripe.com/docs/payments/payment-intents) to collect payments or save them to\nCustomer objects to store instrument details for future payments.\n\nRelated guides: [Payment Methods](https://stripe.com/docs/payments/payment-methods) and [More Payment Scenarios](https://stripe.com/docs/payments/more-payment-scenarios)." + "nullable": true, + "description": "Error code explaining reason for top-up failure if available (see [the errors section](https://stripe.com/docs/api#errors) for a list of codes)." }, - "payment_method_type": { + "failure_message": { "type": "string", - "description": "If the error is specific to the type of payment method, the payment method type that had a problem. This field is only populated for invoice-related errors." + "nullable": true, + "description": "Message to user further explaining reason for top-up failure if available." }, - "request_log_url": { - "type": "string", - "description": "A URL to the request log entry in your dashboard." + "livemode": { + "type": "boolean", + "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." }, - "setup_intent": { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent", - "description": "A SetupIntent guides you through the process of setting up and saving a customer's payment credentials for future payments.\nFor example, you can use a SetupIntent to set up and save your customer's card without immediately collecting a payment.\nLater, you can use [PaymentIntents](https://stripe.com/docs/api#payment_intents) to drive the payment flow.\n\nCreate a SetupIntent when you're ready to collect your customer's payment credentials.\nDon't maintain long-lived, unconfirmed SetupIntents because they might not be valid.\nThe SetupIntent transitions through multiple [statuses](https://docs.stripe.com/payments/intents#intent-statuses) as it guides\nyou through the setup process.\n\nSuccessful SetupIntents result in payment credentials that are optimized for future payments.\nFor example, cardholders in [certain regions](https://stripe.com/guides/strong-customer-authentication) might need to be run through\n[Strong Customer Authentication](https://docs.stripe.com/strong-customer-authentication) during payment method collection\nto streamline later [off-session payments](https://docs.stripe.com/payments/setup-intents).\nIf you use the SetupIntent with a [Customer](https://stripe.com/docs/api#setup_intent_object-customer),\nit automatically attaches the resulting payment method to that Customer after successful setup.\nWe recommend using SetupIntents or [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) on\nPaymentIntents to save payment methods to prevent saving invalid or unoptimized payment methods.\n\nBy using SetupIntents, you can reduce friction for your customers, even as regulations change over time.\n\nRelated guide: [Setup Intents API](https://docs.stripe.com/payments/setup-intents)" + "metadata": { + "$ref": "#/components/schemas/stripe.Stripe.Metadata", + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." }, "source": { - "$ref": "#/components/schemas/stripe.Stripe.CustomerSource" - }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.LastFinalizationError.Type", - "description": "The type of error returned. One of `api_error`, `card_error`, `idempotency_error`, or `invalid_request_error`" - } - }, - "required": [ - "type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.InvoiceLineItem.DiscountAmount": { - "properties": { - "amount": { - "type": "number", - "format": "double", - "description": "The amount, in cents (or local equivalent), of the discount." - }, - "discount": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Discount" - }, + "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.DeletedDiscount" + "$ref": "#/components/schemas/stripe.Stripe.Source" } ], - "description": "The discount that was applied to get this discount amount." + "nullable": true, + "description": "The source field is deprecated. It might not always be present in the API response." + }, + "statement_descriptor": { + "type": "string", + "nullable": true, + "description": "Extra information about a top-up. This will appear on your source's bank statement. It must contain at least one letter." + }, + "status": { + "$ref": "#/components/schemas/stripe.Stripe.Topup.Status", + "description": "The status of the top-up is either `canceled`, `failed`, `pending`, `reversed`, or `succeeded`." + }, + "transfer_group": { + "type": "string", + "nullable": true, + "description": "A string that identifies this top-up as part of a group." } }, "required": [ + "id", + "object", "amount", - "discount" + "balance_transaction", + "created", + "currency", + "description", + "expected_availability_date", + "failure_code", + "failure_message", + "livemode", + "metadata", + "source", + "statement_descriptor", + "status", + "transfer_group" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.InvoiceItem.Period": { - "properties": { - "end": { - "type": "number", - "format": "double", - "description": "The end of the period, which must be greater than or equal to the start. This value is inclusive." + "stripe.Stripe.BalanceTransactionSource": { + "anyOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.ApplicationFee" }, - "start": { - "type": "number", - "format": "double", - "description": "The start of the period. This value is inclusive." + { + "$ref": "#/components/schemas/stripe.Stripe.Charge" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.ConnectCollectionTransfer" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.CustomerCashBalanceTransaction" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Dispute" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.FeeRefund" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Authorization" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Dispute" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Issuing.Transaction" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Payout" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Refund" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.ReserveTransaction" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.TaxDeductedAtSource" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Topup" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Transfer" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.TransferReversal" } - }, - "required": [ - "end", - "start" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Plan.AggregateUsage": { - "type": "string", - "enum": [ - "last_during_period", - "last_ever", - "max", - "sum" - ] - }, - "stripe.Stripe.Plan.BillingScheme": { - "type": "string", - "enum": [ - "per_unit", - "tiered" ] }, - "stripe.Stripe.Plan.Interval": { + "stripe.Stripe.BalanceTransaction.Type": { "type": "string", "enum": [ - "day", - "month", - "week", - "year" + "adjustment", + "advance", + "advance_funding", + "anticipation_repayment", + "application_fee", + "application_fee_refund", + "charge", + "climate_order_purchase", + "climate_order_refund", + "connect_collection_transfer", + "contribution", + "issuing_authorization_hold", + "issuing_authorization_release", + "issuing_dispute", + "issuing_transaction", + "obligation_outbound", + "obligation_reversal_inbound", + "payment", + "payment_failure_refund", + "payment_network_reserve_hold", + "payment_network_reserve_release", + "payment_refund", + "payment_reversal", + "payment_unreconciled", + "payout", + "payout_cancel", + "payout_failure", + "payout_minimum_balance_hold", + "payout_minimum_balance_release", + "refund", + "refund_failure", + "reserve_transaction", + "reserved_funds", + "stripe_fee", + "stripe_fx_fee", + "tax_fee", + "topup", + "topup_reversal", + "transfer", + "transfer_cancel", + "transfer_failure", + "transfer_refund" ] }, - "stripe.Stripe.Price.BillingScheme": { + "stripe.Stripe.ApplicationFee.FeeSource.Type": { "type": "string", "enum": [ - "per_unit", - "tiered" + "charge", + "payout" ] }, - "stripe.Stripe.Price.CurrencyOptions.CustomUnitAmount": { + "stripe.Stripe.ApplicationFee.FeeSource": { "properties": { - "maximum": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The maximum unit amount the customer can specify for this item." + "charge": { + "type": "string", + "description": "Charge ID that created this application fee." }, - "minimum": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The minimum unit amount the customer can specify for this item. Must be at least the minimum charge amount." + "payout": { + "type": "string", + "description": "Payout ID that created this application fee." }, - "preset": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The starting unit amount which can be updated by the customer." + "type": { + "$ref": "#/components/schemas/stripe.Stripe.ApplicationFee.FeeSource.Type", + "description": "Type of object that created the application fee, either `charge` or `payout`." } }, "required": [ - "maximum", - "minimum", - "preset" + "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Price.CurrencyOptions.TaxBehavior": { - "type": "string", - "enum": [ - "exclusive", - "inclusive", - "unspecified" - ] - }, - "stripe.Stripe.Price.CurrencyOptions.Tier": { + "stripe.Stripe.ApiList_stripe.Stripe.FeeRefund_": { + "description": "A container for paginated lists of objects.\nThe array of objects is on the `.data` property,\nand `.has_more` indicates whether there are additional objects beyond the end of this list.\n\nLearn more in Stripe's [pagination docs](https://stripe.com/docs/api/pagination?lang=node)\nor, when iterating over many items, try [auto-pagination](https://github.com/stripe/stripe-node#auto-pagination) instead.", "properties": { - "flat_amount": { - "type": "number", - "format": "double", - "nullable": true, - "description": "Price for the entire tier." - }, - "flat_amount_decimal": { + "object": { "type": "string", - "nullable": true, - "description": "Same as `flat_amount`, but contains a decimal value with at most 12 decimal places." + "enum": [ + "list" + ], + "nullable": false }, - "unit_amount": { - "type": "number", - "format": "double", - "nullable": true, - "description": "Per unit price for units relevant to the tier." + "data": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.FeeRefund" + }, + "type": "array" }, - "unit_amount_decimal": { - "type": "string", - "nullable": true, - "description": "Same as `unit_amount`, but contains a decimal value with at most 12 decimal places." + "has_more": { + "type": "boolean", + "description": "True if this list has another page of items after this one that can be fetched." }, - "up_to": { - "type": "number", - "format": "double", - "nullable": true, - "description": "Up to and including to this quantity will be contained in the tier." + "url": { + "type": "string", + "description": "The URL where this list can be accessed." } }, "required": [ - "flat_amount", - "flat_amount_decimal", - "unit_amount", - "unit_amount_decimal", - "up_to" + "object", + "data", + "has_more", + "url" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Price.CurrencyOptions": { + "stripe.Stripe.Charge.BillingDetails": { "properties": { - "custom_unit_amount": { + "address": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Price.CurrencyOptions.CustomUnitAmount" + "$ref": "#/components/schemas/stripe.Stripe.Address" } ], "nullable": true, - "description": "When set, provides configuration for the amount to be adjusted by the customer during Checkout Sessions and Payment Links." + "description": "Billing address." }, - "tax_behavior": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Price.CurrencyOptions.TaxBehavior" - } - ], + "email": { + "type": "string", "nullable": true, - "description": "Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed." - }, - "tiers": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Price.CurrencyOptions.Tier" - }, - "type": "array", - "description": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`." + "description": "Email address." }, - "unit_amount": { - "type": "number", - "format": "double", + "name": { + "type": "string", "nullable": true, - "description": "The unit amount in cents (or local equivalent) to be charged, represented as a whole integer if possible. Only set if `billing_scheme=per_unit`." + "description": "Full name." }, - "unit_amount_decimal": { + "phone": { "type": "string", "nullable": true, - "description": "The unit amount in cents (or local equivalent) to be charged, represented as a decimal string with at most 12 decimal places. Only set if `billing_scheme=per_unit`." + "description": "Billing phone number (including extension)." } }, "required": [ - "custom_unit_amount", - "tax_behavior", - "unit_amount", - "unit_amount_decimal" + "address", + "email", + "name", + "phone" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Price.CustomUnitAmount": { + "stripe.Stripe.Charge.FraudDetails": { "properties": { - "maximum": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The maximum unit amount the customer can specify for this item." - }, - "minimum": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The minimum unit amount the customer can specify for this item. Must be at least the minimum charge amount." + "stripe_report": { + "type": "string", + "description": "Assessments from Stripe. If set, the value is `fraudulent`." }, - "preset": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The starting unit amount which can be updated by the customer." + "user_report": { + "type": "string", + "description": "Assessments reported by you. If set, possible values of are `safe` and `fraudulent`." } }, - "required": [ - "maximum", - "minimum", - "preset" - ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Product": { - "description": "Products describe the specific goods or services you offer to your customers.\nFor example, you might offer a Standard and Premium version of your goods or service; each version would be a separate Product.\nThey can be used in conjunction with [Prices](https://stripe.com/docs/api#prices) to configure pricing in Payment Links, Checkout, and Subscriptions.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription),\n[share a Payment Link](https://stripe.com/docs/payment-links),\n[accept payments with Checkout](https://stripe.com/docs/payments/accept-a-payment#create-product-prices-upfront),\nand more about [Products and Prices](https://stripe.com/docs/products-prices/overview)", + "stripe.Stripe.Invoice": { + "description": "Invoices are statements of amounts owed by a customer, and are either\ngenerated one-off, or generated periodically from a subscription.\n\nThey contain [invoice items](https://stripe.com/docs/api#invoiceitems), and proration adjustments\nthat may be caused by subscription upgrades/downgrades (if necessary).\n\nIf your invoice is configured to be billed through automatic charges,\nStripe automatically finalizes your invoice and attempts payment. Note\nthat finalizing the invoice,\n[when automatic](https://stripe.com/docs/invoicing/integration/automatic-advancement-collection), does\nnot happen immediately as the invoice is created. Stripe waits\nuntil one hour after the last webhook was successfully sent (or the last\nwebhook timed out after failing). If you (and the platforms you may have\nconnected to) have no webhooks configured, Stripe waits one hour after\ncreation to finalize the invoice.\n\nIf your invoice is configured to be billed by sending an email, then based on your\n[email settings](https://dashboard.stripe.com/account/billing/automatic),\nStripe will email the invoice to your customer and await payment. These\nemails can contain a link to a hosted page to pay the invoice.\n\nStripe applies any customer credit on the account before determining the\namount due for the invoice (i.e., the amount that will be actually\ncharged). If the amount due for the invoice is less than Stripe's [minimum allowed charge\nper currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts), the\ninvoice is automatically marked paid, and we add the amount due to the\ncustomer's credit balance which is applied to the next invoice.\n\nMore details on the customer's credit balance are\n[here](https://stripe.com/docs/billing/customer/balance).\n\nRelated guide: [Send invoices to customers](https://stripe.com/docs/billing/invoices/sending)", "properties": { "id": { "type": "string", - "description": "Unique identifier for the object." + "description": "Unique identifier for the object. This property is always present unless the invoice is an upcoming invoice. See [Retrieve an upcoming invoice](https://stripe.com/docs/api/invoices/upcoming) for more details." }, "object": { "type": "string", "enum": [ - "product" + "invoice" ], "nullable": false, "description": "String representing the object's type. Objects of the same type share the same value." }, - "active": { - "type": "boolean", - "description": "Whether the product is currently available for purchase." + "account_country": { + "type": "string", + "nullable": true, + "description": "The country of the business associated with this invoice, most often the business creating the invoice." }, - "created": { + "account_name": { + "type": "string", + "nullable": true, + "description": "The public name of the business associated with this invoice, most often the business creating the invoice." + }, + "account_tax_ids": { + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.TaxId" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedTaxId" + } + ] + }, + "type": "array", + "nullable": true, + "description": "The account tax IDs associated with the invoice. Only editable when the invoice is a draft." + }, + "amount_due": { "type": "number", "format": "double", - "description": "Time at which the object was created. Measured in seconds since the Unix epoch." + "description": "Final amount due at this time for this invoice. If the invoice's total is smaller than the minimum charge amount, for example, or if there is account credit that can be applied to the invoice, the `amount_due` may be 0. If there is a positive `starting_balance` for the invoice (the customer owes money), the `amount_due` will also take that into account. The charge that gets generated for the invoice will be for the amount specified in `amount_due`." }, - "default_price": { + "amount_paid": { + "type": "number", + "format": "double", + "description": "The amount, in cents (or local equivalent), that was paid." + }, + "amount_remaining": { + "type": "number", + "format": "double", + "description": "The difference between amount_due and amount_paid, in cents (or local equivalent)." + }, + "amount_shipping": { + "type": "number", + "format": "double", + "description": "This is the sum of all the shipping amounts." + }, + "application": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.Price" + "$ref": "#/components/schemas/stripe.Stripe.Application" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedApplication" } ], "nullable": true, - "description": "The ID of the [Price](https://stripe.com/docs/api/prices) object that is the default price for this product." - }, - "deleted": { - "description": "Always true for a deleted object" + "description": "ID of the Connect Application that created the invoice." }, - "description": { - "type": "string", + "application_fee_amount": { + "type": "number", + "format": "double", "nullable": true, - "description": "The product's description, meant to be displayable to the customer. Use this field to optionally store a long form explanation of the product being sold for your own rendering purposes." + "description": "The fee in cents (or local equivalent) that will be applied to the invoice and transferred to the application owner's Stripe account when the invoice is paid." }, - "images": { - "items": { - "type": "string" - }, - "type": "array", - "description": "A list of up to 8 URLs of images for this product, meant to be displayable to the customer." + "attempt_count": { + "type": "number", + "format": "double", + "description": "Number of payment attempts made for this invoice, from the perspective of the payment retry schedule. Any payment attempt counts as the first attempt, and subsequently only automatic retries increment the attempt count. In other words, manual payment attempts after the first attempt do not affect the retry schedule. If a failure is returned with a non-retryable return code, the invoice can no longer be retried unless a new payment method is obtained. Retries will continue to be scheduled, and attempt_count will continue to increment, but retries will only be executed if a new payment method is obtained." }, - "livemode": { + "attempted": { "type": "boolean", - "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." + "description": "Whether an attempt has been made to pay the invoice. An invoice is not attempted until 1 hour after the `invoice.created` webhook, for example, so you might not want to display that invoice as unpaid to your users." }, - "marketing_features": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Product.MarketingFeature" - }, - "type": "array", - "description": "A list of up to 15 marketing features for this product. These are displayed in [pricing tables](https://stripe.com/docs/payments/checkout/pricing-table)." + "auto_advance": { + "type": "boolean", + "description": "Controls whether Stripe performs [automatic collection](https://stripe.com/docs/invoicing/integration/automatic-advancement-collection) of the invoice. If `false`, the invoice's state doesn't automatically advance without an explicit action." }, - "metadata": { - "$ref": "#/components/schemas/stripe.Stripe.Metadata", - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." + "automatic_tax": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.AutomaticTax" }, - "name": { - "type": "string", - "description": "The product's name, meant to be displayable to the customer." + "automatically_finalizes_at": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The time when this invoice is currently scheduled to be automatically finalized. The field will be `null` if the invoice is not scheduled to finalize in the future. If the invoice is not in the draft state, this field will always be `null` - see `finalized_at` for the time when an already-finalized invoice was finalized." }, - "package_dimensions": { + "billing_reason": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Product.PackageDimensions" + "$ref": "#/components/schemas/stripe.Stripe.Invoice.BillingReason" } ], "nullable": true, - "description": "The dimensions of this product for shipping purposes." + "description": "Indicates the reason why the invoice was created.\n\n* `manual`: Unrelated to a subscription, for example, created via the invoice editor.\n* `subscription`: No longer in use. Applies to subscriptions from before May 2018 where no distinction was made between updates, cycles, and thresholds.\n* `subscription_create`: A new subscription was created.\n* `subscription_cycle`: A subscription advanced into a new period.\n* `subscription_threshold`: A subscription reached a billing threshold.\n* `subscription_update`: A subscription was updated.\n* `upcoming`: Reserved for simulated invoices, per the upcoming invoice endpoint." }, - "shippable": { - "type": "boolean", + "charge": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Charge" + } + ], "nullable": true, - "description": "Whether this product is shipped (i.e., physical goods)." + "description": "ID of the latest charge generated for this invoice, if any." }, - "statement_descriptor": { + "collection_method": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.CollectionMethod", + "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this invoice using the default source attached to the customer. When sending an invoice, Stripe will email this invoice to the customer with payment instructions." + }, + "created": { + "type": "number", + "format": "double", + "description": "Time at which the object was created. Measured in seconds since the Unix epoch." + }, + "currency": { "type": "string", + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." + }, + "custom_fields": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.CustomField" + }, + "type": "array", "nullable": true, - "description": "Extra information about a product which will appear on your customer's credit card statement. In the case that multiple products are billed at once, the first statement descriptor will be used. Only used for subscription payments." + "description": "Custom fields displayed on the invoice." }, - "tax_code": { + "customer": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.TaxCode" + "$ref": "#/components/schemas/stripe.Stripe.Customer" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedCustomer" } ], "nullable": true, - "description": "A [tax code](https://stripe.com/docs/tax/tax-categories) ID." + "description": "The ID of the customer who will be billed." }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.Product.Type", - "description": "The type of the product. The product is either of type `good`, which is eligible for use with Orders and SKUs, or `service`, which is eligible for use with Subscriptions and Plans." + "customer_address": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Address" + } + ], + "nullable": true, + "description": "The customer's address. Until the invoice is finalized, this field will equal `customer.address`. Once the invoice is finalized, this field will no longer be updated." }, - "unit_label": { + "customer_email": { "type": "string", "nullable": true, - "description": "A label that represents units of this product. When set, this will be included in customers' receipts, invoices, Checkout, and the customer portal." - }, - "updated": { - "type": "number", - "format": "double", - "description": "Time at which the object was last updated. Measured in seconds since the Unix epoch." + "description": "The customer's email. Until the invoice is finalized, this field will equal `customer.email`. Once the invoice is finalized, this field will no longer be updated." }, - "url": { + "customer_name": { "type": "string", "nullable": true, - "description": "A URL of a publicly-accessible webpage for this product." - } - }, - "required": [ - "id", - "object", - "active", - "created", - "description", - "images", - "livemode", - "marketing_features", - "metadata", - "name", - "package_dimensions", - "shippable", - "tax_code", - "type", - "updated", - "url" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.DeletedProduct": { - "description": "The DeletedProduct object.", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." + "description": "The customer's name. Until the invoice is finalized, this field will equal `customer.name`. Once the invoice is finalized, this field will no longer be updated." }, - "object": { + "customer_phone": { "type": "string", - "enum": [ - "product" + "nullable": true, + "description": "The customer's phone number. Until the invoice is finalized, this field will equal `customer.phone`. Once the invoice is finalized, this field will no longer be updated." + }, + "customer_shipping": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.CustomerShipping" + } ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." + "nullable": true, + "description": "The customer's shipping information. Until the invoice is finalized, this field will equal `customer.shipping`. Once the invoice is finalized, this field will no longer be updated." }, - "deleted": { - "type": "boolean", - "enum": [ - true + "customer_tax_exempt": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.CustomerTaxExempt" + } ], - "nullable": false, + "nullable": true, + "description": "The customer's tax exempt status. Until the invoice is finalized, this field will equal `customer.tax_exempt`. Once the invoice is finalized, this field will no longer be updated." + }, + "customer_tax_ids": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.CustomerTaxId" + }, + "type": "array", + "nullable": true, + "description": "The customer's tax IDs. Until the invoice is finalized, this field will contain the same tax IDs as `customer.tax_ids`. Once the invoice is finalized, this field will no longer be updated." + }, + "default_payment_method": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod" + } + ], + "nullable": true, + "description": "ID of the default payment method for the invoice. It must belong to the customer associated with the invoice. If not set, defaults to the subscription's default payment method, if any, or to the default payment method in the customer's invoice settings." + }, + "default_source": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.CustomerSource" + } + ], + "nullable": true, + "description": "ID of the default payment source for the invoice. It must belong to the customer associated with the invoice and be in a chargeable state. If not set, defaults to the subscription's default source, if any, or to the customer's default source." + }, + "default_tax_rates": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.TaxRate" + }, + "type": "array", + "description": "The tax rates applied to this invoice, if any." + }, + "deleted": { "description": "Always true for a deleted object" - } - }, - "required": [ - "id", - "object", - "deleted" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Price.Recurring.AggregateUsage": { - "type": "string", - "enum": [ - "last_during_period", - "last_ever", - "max", - "sum" - ] - }, - "stripe.Stripe.Price.Recurring.Interval": { - "type": "string", - "enum": [ - "day", - "month", - "week", - "year" - ] - }, - "stripe.Stripe.Price.Recurring.UsageType": { - "type": "string", - "enum": [ - "licensed", - "metered" - ] - }, - "stripe.Stripe.Price.Recurring": { - "properties": { - "aggregate_usage": { + }, + "description": { + "type": "string", + "nullable": true, + "description": "An arbitrary string attached to the object. Often useful for displaying to users. Referenced as 'memo' in the Dashboard." + }, + "discount": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Price.Recurring.AggregateUsage" + "$ref": "#/components/schemas/stripe.Stripe.Discount" } ], "nullable": true, - "description": "Specifies a usage aggregation strategy for prices of `usage_type=metered`. Defaults to `sum`." + "description": "Describes the current discount applied to this invoice, if there is one. Not populated if there are multiple discounts." }, - "interval": { - "$ref": "#/components/schemas/stripe.Stripe.Price.Recurring.Interval", - "description": "The frequency at which a subscription is billed. One of `day`, `week`, `month` or `year`." + "discounts": { + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Discount" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedDiscount" + } + ] + }, + "type": "array", + "description": "The discounts applied to the invoice. Line item discounts are applied before invoice discounts. Use `expand[]=discounts` to expand each discount." }, - "interval_count": { + "due_date": { "type": "number", "format": "double", - "description": "The number of intervals (specified in the `interval` attribute) between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months." - }, - "meter": { - "type": "string", "nullable": true, - "description": "The meter tracking the usage of a metered price" + "description": "The date on which payment for this invoice is due. This value will be `null` for invoices where `collection_method=charge_automatically`." }, - "trial_period_days": { + "effective_at": { "type": "number", "format": "double", "nullable": true, - "description": "Default number of trial days when subscribing a customer to this price using [`trial_from_plan=true`](https://stripe.com/docs/api#create_subscription-trial_from_plan)." + "description": "The date when this invoice is in effect. Same as `finalized_at` unless overwritten. When defined, this value replaces the system-generated 'Date of issue' printed on the invoice PDF and receipt." }, - "usage_type": { - "$ref": "#/components/schemas/stripe.Stripe.Price.Recurring.UsageType", - "description": "Configures how the quantity per period should be determined. Can be either `metered` or `licensed`. `licensed` automatically bills the `quantity` set when adding it to a subscription. `metered` aggregates the total usage based on usage records. Defaults to `licensed`." - } - }, - "required": [ - "aggregate_usage", - "interval", - "interval_count", - "meter", - "trial_period_days", - "usage_type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Price.TaxBehavior": { - "type": "string", - "enum": [ - "exclusive", - "inclusive", - "unspecified" - ] - }, - "stripe.Stripe.Price.Tier": { - "properties": { - "flat_amount": { + "ending_balance": { "type": "number", "format": "double", "nullable": true, - "description": "Price for the entire tier." + "description": "Ending customer balance after the invoice is finalized. Invoices are finalized approximately an hour after successful webhook delivery or when payment collection is attempted for the invoice. If the invoice has not been finalized yet, this will be null." }, - "flat_amount_decimal": { + "footer": { "type": "string", "nullable": true, - "description": "Same as `flat_amount`, but contains a decimal value with at most 12 decimal places." + "description": "Footer displayed on the invoice." }, - "unit_amount": { - "type": "number", - "format": "double", + "from_invoice": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.FromInvoice" + } + ], "nullable": true, - "description": "Per unit price for units relevant to the tier." + "description": "Details of the invoice that was cloned. See the [revision documentation](https://stripe.com/docs/invoicing/invoice-revisions) for more details." }, - "unit_amount_decimal": { + "hosted_invoice_url": { "type": "string", "nullable": true, - "description": "Same as `unit_amount`, but contains a decimal value with at most 12 decimal places." + "description": "The URL for the hosted invoice page, which allows customers to view and pay an invoice. If the invoice has not been finalized yet, this will be null." }, - "up_to": { - "type": "number", - "format": "double", + "invoice_pdf": { + "type": "string", "nullable": true, - "description": "Up to and including to this quantity will be contained in the tier." - } - }, - "required": [ - "flat_amount", - "flat_amount_decimal", - "unit_amount", - "unit_amount_decimal", - "up_to" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Price.TiersMode": { - "type": "string", - "enum": [ - "graduated", - "volume" - ] - }, - "stripe.Stripe.Price.TransformQuantity.Round": { - "type": "string", - "enum": [ - "down", - "up" - ] - }, - "stripe.Stripe.Price.TransformQuantity": { - "properties": { - "divide_by": { + "description": "The link to download the PDF for the invoice. If the invoice has not been finalized yet, this will be null." + }, + "issuer": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.Issuer" + }, + "last_finalization_error": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.LastFinalizationError" + } + ], + "nullable": true, + "description": "The error encountered during the previous attempt to finalize the invoice. This field is cleared when the invoice is successfully finalized." + }, + "latest_revision": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Invoice" + } + ], + "nullable": true, + "description": "The ID of the most recent non-draft revision of this invoice" + }, + "lines": { + "$ref": "#/components/schemas/stripe.Stripe.ApiList_stripe.Stripe.InvoiceLineItem_", + "description": "The individual line items that make up the invoice. `lines` is sorted as follows: (1) pending invoice items (including prorations) in reverse chronological order, (2) subscription items in reverse chronological order, and (3) invoice items added after invoice creation in chronological order." + }, + "livemode": { + "type": "boolean", + "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." + }, + "metadata": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Metadata" + } + ], + "nullable": true, + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." + }, + "next_payment_attempt": { "type": "number", "format": "double", - "description": "Divide usage by this number." + "nullable": true, + "description": "The time at which payment will next be attempted. This value will be `null` for invoices where `collection_method=send_invoice`." }, - "round": { - "$ref": "#/components/schemas/stripe.Stripe.Price.TransformQuantity.Round", - "description": "After division, either round the result `up` or `down`." - } - }, - "required": [ - "divide_by", - "round" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Price.Type": { - "type": "string", - "enum": [ - "one_time", - "recurring" - ] - }, - "stripe.Stripe.Price": { - "description": "Prices define the unit cost, currency, and (optional) billing cycle for both recurring and one-time purchases of products.\n[Products](https://stripe.com/docs/api#products) help you track inventory or provisioning, and prices help you track payment terms. Different physical goods or levels of service should be represented by products, and pricing options should be represented by prices. This approach lets you change prices without having to change your provisioning scheme.\n\nFor example, you might have a single \"gold\" product that has prices for $10/month, $100/year, and €9 once.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription), [create an invoice](https://stripe.com/docs/billing/invoices/create), and more about [products and prices](https://stripe.com/docs/products-prices/overview).", - "properties": { - "id": { + "number": { "type": "string", - "description": "Unique identifier for the object." + "nullable": true, + "description": "A unique, identifying string that appears on emails sent to the customer for this invoice. This starts with the customer's unique invoice_prefix if it is specified." }, - "object": { - "type": "string", - "enum": [ - "price" + "on_behalf_of": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Account" + } ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." + "nullable": true, + "description": "The account (if any) for which the funds of the invoice payment are intended. If set, the invoice will be presented with the branding and support information of the specified account. See the [Invoices with Connect](https://stripe.com/docs/billing/invoices/connect) documentation for details." }, - "active": { + "paid": { "type": "boolean", - "description": "Whether the price can be used for new purchases." + "description": "Whether payment was successfully collected for this invoice. An invoice can be paid (most commonly) with a charge or with credit from the customer's account balance." }, - "billing_scheme": { - "$ref": "#/components/schemas/stripe.Stripe.Price.BillingScheme", - "description": "Describes how to compute the price per period. Either `per_unit` or `tiered`. `per_unit` indicates that the fixed amount (specified in `unit_amount` or `unit_amount_decimal`) will be charged per unit in `quantity` (for prices with `usage_type=licensed`), or per unit of total usage (for prices with `usage_type=metered`). `tiered` indicates that the unit pricing will be computed using a tiering strategy as defined using the `tiers` and `tiers_mode` attributes." + "paid_out_of_band": { + "type": "boolean", + "description": "Returns true if the invoice was manually marked paid, returns false if the invoice hasn't been paid yet or was paid on Stripe." }, - "created": { + "payment_intent": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent" + } + ], + "nullable": true, + "description": "The PaymentIntent associated with this invoice. The PaymentIntent is generated when the invoice is finalized, and can then be used to pay the invoice. Note that voiding an invoice will cancel the PaymentIntent." + }, + "payment_settings": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings" + }, + "period_end": { "type": "number", "format": "double", - "description": "Time at which the object was created. Measured in seconds since the Unix epoch." + "description": "End of the usage period during which invoice items were added to this invoice. This looks back one period for a subscription invoice. Use the [line item period](https://stripe.com/api/invoices/line_item#invoice_line_item_object-period) to get the service period for each price." }, - "currency": { + "period_start": { + "type": "number", + "format": "double", + "description": "Start of the usage period during which invoice items were added to this invoice. This looks back one period for a subscription invoice. Use the [line item period](https://stripe.com/api/invoices/line_item#invoice_line_item_object-period) to get the service period for each price." + }, + "post_payment_credit_notes_amount": { + "type": "number", + "format": "double", + "description": "Total amount of all post-payment credit notes issued for this invoice." + }, + "pre_payment_credit_notes_amount": { + "type": "number", + "format": "double", + "description": "Total amount of all pre-payment credit notes issued for this invoice." + }, + "quote": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Quote" + } + ], + "nullable": true, + "description": "The quote this invoice was generated from." + }, + "receipt_number": { "type": "string", - "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." + "nullable": true, + "description": "This is the transaction number that appears on email receipts sent for this invoice." }, - "currency_options": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/stripe.Stripe.Price.CurrencyOptions" - }, - "type": "object", - "description": "Prices defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies)." + "rendering": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.Rendering" + } + ], + "nullable": true, + "description": "The rendering-related settings that control how the invoice is displayed on customer-facing surfaces such as PDF and Hosted Invoice Page." }, - "custom_unit_amount": { + "shipping_cost": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Price.CustomUnitAmount" + "$ref": "#/components/schemas/stripe.Stripe.Invoice.ShippingCost" } ], "nullable": true, - "description": "When set, provides configuration for the amount to be adjusted by the customer during Checkout Sessions and Payment Links." + "description": "The details of the cost of shipping, including the ShippingRate applied on the invoice." }, - "deleted": { - "description": "Always true for a deleted object" + "shipping_details": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.ShippingDetails" + } + ], + "nullable": true, + "description": "Shipping details for the invoice. The Invoice PDF will use the `shipping_details` value if it is set, otherwise the PDF will render the shipping address from the customer." }, - "livemode": { - "type": "boolean", - "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." + "starting_balance": { + "type": "number", + "format": "double", + "description": "Starting customer balance before the invoice is finalized. If the invoice has not been finalized yet, this will be the current customer balance. For revision invoices, this also includes any customer balance that was applied to the original invoice." }, - "lookup_key": { + "statement_descriptor": { "type": "string", "nullable": true, - "description": "A lookup key used to retrieve prices dynamically from a static string. This may be up to 200 characters." - }, - "metadata": { - "$ref": "#/components/schemas/stripe.Stripe.Metadata", - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." + "description": "Extra information about an invoice for the customer's credit card statement." }, - "nickname": { - "type": "string", + "status": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.Status" + } + ], "nullable": true, - "description": "A brief description of the price, hidden from customers." + "description": "The status of the invoice, one of `draft`, `open`, `paid`, `uncollectible`, or `void`. [Learn more](https://stripe.com/docs/billing/invoices/workflow#workflow-overview)" }, - "product": { + "status_transitions": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.StatusTransitions" + }, + "subscription": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.Product" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.DeletedProduct" + "$ref": "#/components/schemas/stripe.Stripe.Subscription" } ], - "description": "The ID of the product this price is associated with." + "nullable": true, + "description": "The subscription that this invoice was prepared for, if any." }, - "recurring": { + "subscription_details": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Price.Recurring" + "$ref": "#/components/schemas/stripe.Stripe.Invoice.SubscriptionDetails" } ], "nullable": true, - "description": "The recurring components of a price such as `interval` and `usage_type`." + "description": "Details about the subscription that created this invoice." }, - "tax_behavior": { - "allOf": [ + "subscription_proration_date": { + "type": "number", + "format": "double", + "description": "Only set for upcoming invoices that preview prorations. The time used to calculate prorations." + }, + "subtotal": { + "type": "number", + "format": "double", + "description": "Total of all subscriptions, invoice items, and prorations on the invoice before any invoice level discount or exclusive tax is applied. Item discounts are already incorporated" + }, + "subtotal_excluding_tax": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The integer amount in cents (or local equivalent) representing the subtotal of the invoice before any invoice level discount or tax is applied. Item discounts are already incorporated" + }, + "tax": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The amount of tax on this invoice. This is the sum of all the tax amounts on this invoice." + }, + "test_clock": { + "anyOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Price.TaxBehavior" + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.TestHelpers.TestClock" } ], "nullable": true, - "description": "Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed." + "description": "ID of the test clock this invoice belongs to." }, - "tiers": { + "threshold_reason": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.ThresholdReason" + }, + "total": { + "type": "number", + "format": "double", + "description": "Total after discounts and taxes." + }, + "total_discount_amounts": { "items": { - "$ref": "#/components/schemas/stripe.Stripe.Price.Tier" + "$ref": "#/components/schemas/stripe.Stripe.Invoice.TotalDiscountAmount" }, "type": "array", - "description": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`." + "nullable": true, + "description": "The aggregate amounts calculated per discount across all line items." }, - "tiers_mode": { + "total_excluding_tax": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The integer amount in cents (or local equivalent) representing the total amount of the invoice including all discounts but excluding all tax." + }, + "total_pretax_credit_amounts": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.TotalPretaxCreditAmount" + }, + "type": "array", + "nullable": true, + "description": "Contains pretax credit amounts (ex: discount, credit grants, etc) that apply to this invoice. This is a combined list of total_pretax_credit_amounts across all invoice line items." + }, + "total_tax_amounts": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.TotalTaxAmount" + }, + "type": "array", + "description": "The aggregate amounts calculated per tax rate for all line items." + }, + "transfer_data": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Price.TiersMode" + "$ref": "#/components/schemas/stripe.Stripe.Invoice.TransferData" } ], "nullable": true, - "description": "Defines if the tiering price should be `graduated` or `volume` based. In `volume`-based tiering, the maximum quantity within a period determines the per unit price. In `graduated` tiering, pricing can change as the quantity grows." + "description": "The account (if any) the payment will be attributed to for tax reporting, and where funds from the payment will be transferred to for the invoice." + }, + "webhooks_delivered_at": { + "type": "number", + "format": "double", + "nullable": true, + "description": "Invoices are automatically paid or sent 1 hour after webhooks are delivered, or until all webhook delivery attempts have [been exhausted](https://stripe.com/docs/billing/webhooks#understand). This field tracks the time when webhooks for this invoice were successfully delivered. If the invoice had no webhooks to deliver, this will be set while the invoice is being created." + } + }, + "required": [ + "id", + "object", + "account_country", + "account_name", + "account_tax_ids", + "amount_due", + "amount_paid", + "amount_remaining", + "amount_shipping", + "application", + "application_fee_amount", + "attempt_count", + "attempted", + "automatic_tax", + "automatically_finalizes_at", + "billing_reason", + "charge", + "collection_method", + "created", + "currency", + "custom_fields", + "customer", + "customer_address", + "customer_email", + "customer_name", + "customer_phone", + "customer_shipping", + "customer_tax_exempt", + "default_payment_method", + "default_source", + "default_tax_rates", + "description", + "discount", + "discounts", + "due_date", + "effective_at", + "ending_balance", + "footer", + "from_invoice", + "issuer", + "last_finalization_error", + "latest_revision", + "lines", + "livemode", + "metadata", + "next_payment_attempt", + "number", + "on_behalf_of", + "paid", + "paid_out_of_band", + "payment_intent", + "payment_settings", + "period_end", + "period_start", + "post_payment_credit_notes_amount", + "pre_payment_credit_notes_amount", + "quote", + "receipt_number", + "rendering", + "shipping_cost", + "shipping_details", + "starting_balance", + "statement_descriptor", + "status", + "status_transitions", + "subscription", + "subscription_details", + "subtotal", + "subtotal_excluding_tax", + "tax", + "test_clock", + "total", + "total_discount_amounts", + "total_excluding_tax", + "total_pretax_credit_amounts", + "total_tax_amounts", + "transfer_data", + "webhooks_delivered_at" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Charge.Level3.LineItem": { + "properties": { + "discount_amount": { + "type": "number", + "format": "double", + "nullable": true }, - "transform_quantity": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Price.TransformQuantity" - } - ], - "nullable": true, - "description": "Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with `tiers`." + "product_code": { + "type": "string" }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.Price.Type", - "description": "One of `one_time` or `recurring` depending on whether the price is for a one-time purchase or a recurring (subscription) purchase." + "product_description": { + "type": "string" }, - "unit_amount": { + "quantity": { "type": "number", "format": "double", - "nullable": true, - "description": "The unit amount in cents (or local equivalent) to be charged, represented as a whole integer if possible. Only set if `billing_scheme=per_unit`." + "nullable": true }, - "unit_amount_decimal": { - "type": "string", - "nullable": true, - "description": "The unit amount in cents (or local equivalent) to be charged, represented as a decimal string with at most 12 decimal places. Only set if `billing_scheme=per_unit`." + "tax_amount": { + "type": "number", + "format": "double", + "nullable": true + }, + "unit_cost": { + "type": "number", + "format": "double", + "nullable": true } }, "required": [ - "id", - "object", - "active", - "billing_scheme", - "created", - "currency", - "custom_unit_amount", - "livemode", - "lookup_key", - "metadata", - "nickname", - "product", - "recurring", - "tax_behavior", - "tiers_mode", - "transform_quantity", - "type", - "unit_amount", - "unit_amount_decimal" + "discount_amount", + "product_code", + "product_description", + "quantity", + "tax_amount", + "unit_cost" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Product.MarketingFeature": { - "properties": { - "name": { - "type": "string", - "description": "The marketing feature name. Up to 80 characters long." - } - }, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Product.PackageDimensions": { + "stripe.Stripe.Charge.Level3": { "properties": { - "height": { - "type": "number", - "format": "double", - "description": "Height, in inches." + "customer_reference": { + "type": "string" }, - "length": { - "type": "number", - "format": "double", - "description": "Length, in inches." + "line_items": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.Level3.LineItem" + }, + "type": "array" }, - "weight": { - "type": "number", - "format": "double", - "description": "Weight, in ounces." + "merchant_reference": { + "type": "string" }, - "width": { + "shipping_address_zip": { + "type": "string" + }, + "shipping_amount": { "type": "number", - "format": "double", - "description": "Width, in inches." + "format": "double" + }, + "shipping_from_zip": { + "type": "string" } }, "required": [ - "height", - "length", - "weight", - "width" + "line_items", + "merchant_reference" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.TaxCode": { - "description": "[Tax codes](https://stripe.com/docs/tax/tax-categories) classify goods and services for tax purposes.", + "stripe.Stripe.Charge.Outcome.AdviceCode": { + "type": "string", + "enum": [ + "confirm_card_data", + "do_not_try_again", + "try_again_later" + ] + }, + "stripe.Stripe.Charge.Outcome.Rule": { "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." - }, - "object": { + "action": { "type": "string", - "enum": [ - "tax_code" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." + "description": "The action taken on the payment." }, - "description": { + "id": { "type": "string", - "description": "A detailed description of which types of products the tax code represents." + "description": "Unique identifier for the object." }, - "name": { + "predicate": { "type": "string", - "description": "A short name for the tax code." + "description": "The predicate to evaluate the payment against." } }, "required": [ + "action", "id", - "object", - "description", - "name" + "predicate" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Product.Type": { - "type": "string", - "enum": [ - "good", - "service" - ] - }, - "stripe.Stripe.Plan.Tier": { + "stripe.Stripe.Charge.Outcome": { "properties": { - "flat_amount": { - "type": "number", - "format": "double", + "advice_code": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Charge.Outcome.AdviceCode" + } + ], "nullable": true, - "description": "Price for the entire tier." + "description": "An enumerated value providing a more detailed explanation on [how to proceed with an error](https://stripe.com/docs/declines#retrying-issuer-declines)." }, - "flat_amount_decimal": { + "network_advice_code": { "type": "string", "nullable": true, - "description": "Same as `flat_amount`, but contains a decimal value with at most 12 decimal places." + "description": "For charges declined by the network, a 2 digit code which indicates the advice returned by the network on how to proceed with an error." }, - "unit_amount": { - "type": "number", - "format": "double", + "network_decline_code": { + "type": "string", "nullable": true, - "description": "Per unit price for units relevant to the tier." + "description": "For charges declined by the network, a brand specific 2, 3, or 4 digit code which indicates the reason the authorization failed." }, - "unit_amount_decimal": { + "network_status": { "type": "string", "nullable": true, - "description": "Same as `unit_amount`, but contains a decimal value with at most 12 decimal places." + "description": "Possible values are `approved_by_network`, `declined_by_network`, `not_sent_to_network`, and `reversed_after_approval`. The value `reversed_after_approval` indicates the payment was [blocked by Stripe](https://stripe.com/docs/declines#blocked-payments) after bank authorization, and may temporarily appear as \"pending\" on a cardholder's statement." }, - "up_to": { + "reason": { + "type": "string", + "nullable": true, + "description": "An enumerated value providing a more detailed explanation of the outcome's `type`. Charges blocked by Radar's default block rule have the value `highest_risk_level`. Charges placed in review by Radar's default review rule have the value `elevated_risk_level`. Charges authorized, blocked, or placed in review by custom rules have the value `rule`. See [understanding declines](https://stripe.com/docs/declines) for more details." + }, + "risk_level": { + "type": "string", + "description": "Stripe Radar's evaluation of the riskiness of the payment. Possible values for evaluated payments are `normal`, `elevated`, `highest`. For non-card payments, and card-based payments predating the public assignment of risk levels, this field will have the value `not_assessed`. In the event of an error in the evaluation, this field will have the value `unknown`. This field is only available with Radar." + }, + "risk_score": { "type": "number", "format": "double", + "description": "Stripe Radar's evaluation of the riskiness of the payment. Possible values for evaluated payments are between 0 and 100. For non-card payments, card-based payments predating the public assignment of risk scores, or in the event of an error during evaluation, this field will not be present. This field is only available with Radar for Fraud Teams." + }, + "rule": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Charge.Outcome.Rule" + } + ], + "description": "The ID of the Radar rule that matched the payment, if applicable." + }, + "seller_message": { + "type": "string", "nullable": true, - "description": "Up to and including to this quantity will be contained in the tier." + "description": "A human-readable description of the outcome type and reason, designed for you (the recipient of the payment), not your customer." + }, + "type": { + "type": "string", + "description": "Possible values are `authorized`, `manual_review`, `issuer_declined`, `blocked`, and `invalid`. See [understanding declines](https://stripe.com/docs/declines) and [Radar reviews](https://stripe.com/docs/radar/reviews) for details." } }, "required": [ - "flat_amount", - "flat_amount_decimal", - "unit_amount", - "unit_amount_decimal", - "up_to" + "advice_code", + "network_advice_code", + "network_decline_code", + "network_status", + "reason", + "seller_message", + "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Plan.TiersMode": { - "type": "string", - "enum": [ - "graduated", - "volume" - ] - }, - "stripe.Stripe.Plan.TransformUsage.Round": { - "type": "string", - "enum": [ - "down", - "up" - ] - }, - "stripe.Stripe.Plan.TransformUsage": { + "stripe.Stripe.Charge.PaymentMethodDetails.AchCreditTransfer": { "properties": { - "divide_by": { - "type": "number", - "format": "double", - "description": "Divide usage by this number." + "account_number": { + "type": "string", + "nullable": true, + "description": "Account number to transfer funds to." }, - "round": { - "$ref": "#/components/schemas/stripe.Stripe.Plan.TransformUsage.Round", - "description": "After division, either round the result `up` or `down`." + "bank_name": { + "type": "string", + "nullable": true, + "description": "Name of the bank associated with the routing number." + }, + "routing_number": { + "type": "string", + "nullable": true, + "description": "Routing transit number for the bank account to transfer funds to." + }, + "swift_code": { + "type": "string", + "nullable": true, + "description": "SWIFT code of the bank associated with the routing number." } }, "required": [ - "divide_by", - "round" + "account_number", + "bank_name", + "routing_number", + "swift_code" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Plan.UsageType": { + "stripe.Stripe.Charge.PaymentMethodDetails.AchDebit.AccountHolderType": { "type": "string", "enum": [ - "licensed", - "metered" + "company", + "individual" ] }, - "stripe.Stripe.Plan": { - "description": "You can now model subscriptions more flexibly using the [Prices API](https://stripe.com/docs/api#prices). It replaces the Plans API and is backwards compatible to simplify your migration.\n\nPlans define the base price, currency, and billing cycle for recurring purchases of products.\n[Products](https://stripe.com/docs/api#products) help you track inventory or provisioning, and plans help you track pricing. Different physical goods or levels of service should be represented by products, and pricing options should be represented by plans. This approach lets you change prices without having to change your provisioning scheme.\n\nFor example, you might have a single \"gold\" product that has plans for $10/month, $100/year, €9/month, and €90/year.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) and more about [products and prices](https://stripe.com/docs/products-prices/overview).", + "stripe.Stripe.Charge.PaymentMethodDetails.AchDebit": { "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." - }, - "object": { - "type": "string", - "enum": [ - "plan" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." - }, - "active": { - "type": "boolean", - "description": "Whether the plan can be used for new purchases." - }, - "aggregate_usage": { + "account_holder_type": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Plan.AggregateUsage" + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.AchDebit.AccountHolderType" } ], "nullable": true, - "description": "Specifies a usage aggregation strategy for plans of `usage_type=metered`. Allowed values are `sum` for summing up all usage during a period, `last_during_period` for using the last usage record reported within a period, `last_ever` for using the last usage record ever (across period bounds) or `max` which uses the usage record with the maximum reported usage during a period. Defaults to `sum`." + "description": "Type of entity that holds the account. This can be either `individual` or `company`." }, - "amount": { - "type": "number", - "format": "double", + "bank_name": { + "type": "string", "nullable": true, - "description": "The unit amount in cents (or local equivalent) to be charged, represented as a whole integer if possible. Only set if `billing_scheme=per_unit`." + "description": "Name of the bank associated with the bank account." }, - "amount_decimal": { + "country": { "type": "string", "nullable": true, - "description": "The unit amount in cents (or local equivalent) to be charged, represented as a decimal string with at most 12 decimal places. Only set if `billing_scheme=per_unit`." - }, - "billing_scheme": { - "$ref": "#/components/schemas/stripe.Stripe.Plan.BillingScheme", - "description": "Describes how to compute the price per period. Either `per_unit` or `tiered`. `per_unit` indicates that the fixed amount (specified in `amount`) will be charged per unit in `quantity` (for plans with `usage_type=licensed`), or per unit of total usage (for plans with `usage_type=metered`). `tiered` indicates that the unit pricing will be computed using a tiering strategy as defined using the `tiers` and `tiers_mode` attributes." - }, - "created": { - "type": "number", - "format": "double", - "description": "Time at which the object was created. Measured in seconds since the Unix epoch." + "description": "Two-letter ISO code representing the country the bank account is located in." }, - "currency": { + "fingerprint": { "type": "string", - "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." - }, - "deleted": { - "description": "Always true for a deleted object" - }, - "interval": { - "$ref": "#/components/schemas/stripe.Stripe.Plan.Interval", - "description": "The frequency at which a subscription is billed. One of `day`, `week`, `month` or `year`." - }, - "interval_count": { - "type": "number", - "format": "double", - "description": "The number of intervals (specified in the `interval` attribute) between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months." + "nullable": true, + "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same." }, - "livemode": { - "type": "boolean", - "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." + "last4": { + "type": "string", + "nullable": true, + "description": "Last four digits of the bank account number." }, - "metadata": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Metadata" - } - ], + "routing_number": { + "type": "string", "nullable": true, - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." + "description": "Routing transit number of the bank account." + } + }, + "required": [ + "account_holder_type", + "bank_name", + "country", + "fingerprint", + "last4", + "routing_number" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Charge.PaymentMethodDetails.AcssDebit": { + "properties": { + "bank_name": { + "type": "string", + "nullable": true, + "description": "Name of the bank associated with the bank account." }, - "meter": { + "fingerprint": { "type": "string", "nullable": true, - "description": "The meter tracking the usage of a metered price" + "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same." }, - "nickname": { + "institution_number": { "type": "string", "nullable": true, - "description": "A brief description of the plan, hidden from customers." + "description": "Institution number of the bank account" }, - "product": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Product" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.DeletedProduct" - } - ], + "last4": { + "type": "string", "nullable": true, - "description": "The product whose pricing this plan determines." + "description": "Last four digits of the bank account number." }, - "tiers": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Plan.Tier" - }, - "type": "array", - "description": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`." + "mandate": { + "type": "string", + "description": "ID of the mandate used to make this payment." }, - "tiers_mode": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Plan.TiersMode" - } - ], + "transit_number": { + "type": "string", "nullable": true, - "description": "Defines if the tiering price should be `graduated` or `volume` based. In `volume`-based tiering, the maximum quantity within a period determines the per unit price. In `graduated` tiering, pricing can change as the quantity grows." + "description": "Transit number of the bank account." + } + }, + "required": [ + "bank_name", + "fingerprint", + "institution_number", + "last4", + "transit_number" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Charge.PaymentMethodDetails.Affirm": { + "properties": { + "transaction_id": { + "type": "string", + "nullable": true, + "description": "The Affirm transaction ID associated with this payment." + } + }, + "required": [ + "transaction_id" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Charge.PaymentMethodDetails.AfterpayClearpay": { + "properties": { + "order_id": { + "type": "string", + "nullable": true, + "description": "The Afterpay order ID associated with this payment intent." }, - "transform_usage": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Plan.TransformUsage" - } - ], + "reference": { + "type": "string", "nullable": true, - "description": "Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with `tiers`." + "description": "Order identifier shown to the merchant in Afterpay's online portal." + } + }, + "required": [ + "order_id", + "reference" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Charge.PaymentMethodDetails.Alipay": { + "properties": { + "buyer_id": { + "type": "string", + "description": "Uniquely identifies this particular Alipay account. You can use this attribute to check whether two Alipay accounts are the same." }, - "trial_period_days": { - "type": "number", - "format": "double", + "fingerprint": { + "type": "string", "nullable": true, - "description": "Default number of trial days when subscribing a customer to this plan using [`trial_from_plan=true`](https://stripe.com/docs/api#create_subscription-trial_from_plan)." + "description": "Uniquely identifies this particular Alipay account. You can use this attribute to check whether two Alipay accounts are the same." }, - "usage_type": { - "$ref": "#/components/schemas/stripe.Stripe.Plan.UsageType", - "description": "Configures how the quantity per period should be determined. Can be either `metered` or `licensed`. `licensed` automatically bills the `quantity` set when adding it to a subscription. `metered` aggregates the total usage based on usage records. Defaults to `licensed`." + "transaction_id": { + "type": "string", + "nullable": true, + "description": "Transaction ID of this particular Alipay transaction." } }, "required": [ - "id", - "object", - "active", - "aggregate_usage", - "amount", - "amount_decimal", - "billing_scheme", - "created", - "currency", - "interval", - "interval_count", - "livemode", - "metadata", - "meter", - "nickname", - "product", - "tiers_mode", - "transform_usage", - "trial_period_days", - "usage_type" + "fingerprint", + "transaction_id" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Subscription": { - "description": "Subscriptions allow you to charge a customer on a recurring basis.\n\nRelated guide: [Creating subscriptions](https://stripe.com/docs/billing/subscriptions/creating)", + "stripe.Stripe.Charge.PaymentMethodDetails.Alma": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Charge.PaymentMethodDetails.AmazonPay.Funding.Card": { "properties": { - "id": { + "brand": { "type": "string", - "description": "Unique identifier for the object." + "nullable": true, + "description": "Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`." }, - "object": { + "country": { "type": "string", - "enum": [ - "subscription" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." - }, - "application": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Application" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.DeletedApplication" - } - ], "nullable": true, - "description": "ID of the Connect Application that created the subscription." + "description": "Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected." }, - "application_fee_percent": { + "exp_month": { "type": "number", "format": "double", "nullable": true, - "description": "A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account." - }, - "automatic_tax": { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.AutomaticTax" + "description": "Two-digit number representing the card's expiration month." }, - "billing_cycle_anchor": { + "exp_year": { "type": "number", "format": "double", - "description": "The reference point that aligns future [billing cycle](https://stripe.com/docs/subscriptions/billing-cycle) dates. It sets the day of week for `week` intervals, the day of month for `month` and `year` intervals, and the month of year for `year` intervals. The timestamp is in UTC format." - }, - "billing_cycle_anchor_config": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.BillingCycleAnchorConfig" - } - ], - "nullable": true, - "description": "The fixed values used to calculate the `billing_cycle_anchor`." - }, - "billing_thresholds": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.BillingThresholds" - } - ], "nullable": true, - "description": "Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period" + "description": "Four-digit number representing the card's expiration year." }, - "cancel_at": { - "type": "number", - "format": "double", + "funding": { + "type": "string", "nullable": true, - "description": "A date in the future at which the subscription will automatically get canceled" - }, - "cancel_at_period_end": { - "type": "boolean", - "description": "Whether this subscription will (if `status=active`) or did (if `status=canceled`) cancel at the end of the current billing period." + "description": "Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`." }, - "canceled_at": { - "type": "number", - "format": "double", + "last4": { + "type": "string", "nullable": true, - "description": "If the subscription has been canceled, the date of that cancellation. If the subscription was canceled with `cancel_at_period_end`, `canceled_at` will reflect the time of the most recent update request, not the end of the subscription period when the subscription is automatically moved to a canceled state." + "description": "The last four digits of the card." + } + }, + "required": [ + "brand", + "country", + "exp_month", + "exp_year", + "funding", + "last4" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Charge.PaymentMethodDetails.AmazonPay.Funding": { + "properties": { + "card": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.AmazonPay.Funding.Card" }, - "cancellation_details": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.CancellationDetails" - } + "type": { + "type": "string", + "enum": [ + "card", + null ], "nullable": true, - "description": "Details about why this subscription was cancelled" - }, - "collection_method": { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.CollectionMethod", - "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`." - }, - "created": { - "type": "number", - "format": "double", - "description": "Time at which the object was created. Measured in seconds since the Unix epoch." - }, - "currency": { + "description": "funding type of the underlying payment method." + } + }, + "required": [ + "type" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Charge.PaymentMethodDetails.AmazonPay": { + "properties": { + "funding": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.AmazonPay.Funding" + } + }, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Charge.PaymentMethodDetails.AuBecsDebit": { + "properties": { + "bsb_number": { "type": "string", - "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." - }, - "current_period_end": { - "type": "number", - "format": "double", - "description": "End of the current period that the subscription has been invoiced for. At the end of this period, a new invoice will be created." - }, - "current_period_start": { - "type": "number", - "format": "double", - "description": "Start of the current period that the subscription has been invoiced for." - }, - "customer": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Customer" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.DeletedCustomer" - } - ], - "description": "ID of the customer who owns the subscription." - }, - "days_until_due": { - "type": "number", - "format": "double", "nullable": true, - "description": "Number of days a customer has to pay invoices generated by this subscription. This value will be `null` for subscriptions where `collection_method=charge_automatically`." + "description": "Bank-State-Branch number of the bank account." }, - "default_payment_method": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod" - } - ], + "fingerprint": { + "type": "string", "nullable": true, - "description": "ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. This takes precedence over `default_source`. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source)." + "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same." }, - "default_source": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.CustomerSource" - } - ], + "last4": { + "type": "string", "nullable": true, - "description": "ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If `default_payment_method` is also set, `default_payment_method` will take precedence. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source)." + "description": "Last four digits of the bank account number." }, - "default_tax_rates": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.TaxRate" - }, - "type": "array", + "mandate": { + "type": "string", + "description": "ID of the mandate used to make this payment." + } + }, + "required": [ + "bsb_number", + "fingerprint", + "last4" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Charge.PaymentMethodDetails.BacsDebit": { + "properties": { + "fingerprint": { + "type": "string", "nullable": true, - "description": "The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription." + "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same." }, - "description": { + "last4": { "type": "string", "nullable": true, - "description": "The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs." + "description": "Last four digits of the bank account number." }, - "discount": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Discount" - } - ], + "mandate": { + "type": "string", "nullable": true, - "description": "Describes the current discount applied to this subscription, if there is one. When billing, a discount applied to a subscription overrides a discount applied on a customer-wide basis. This field has been deprecated and will be removed in a future API version. Use `discounts` instead." - }, - "discounts": { - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Discount" - } - ] - }, - "type": "array", - "description": "The discounts applied to the subscription. Subscription item discounts are applied before subscription discounts. Use `expand[]=discounts` to expand each discount." + "description": "ID of the mandate used to make this payment." }, - "ended_at": { - "type": "number", - "format": "double", + "sort_code": { + "type": "string", "nullable": true, - "description": "If the subscription has ended, the date the subscription ended." + "description": "Sort code of the bank account. (e.g., `10-20-30`)" + } + }, + "required": [ + "fingerprint", + "last4", + "mandate", + "sort_code" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Charge.PaymentMethodDetails.Bancontact.PreferredLanguage": { + "type": "string", + "enum": [ + "de", + "en", + "fr", + "nl" + ] + }, + "stripe.Stripe.Charge.PaymentMethodDetails.Bancontact": { + "properties": { + "bank_code": { + "type": "string", + "nullable": true, + "description": "Bank code of bank associated with the bank account." }, - "invoice_settings": { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.InvoiceSettings" + "bank_name": { + "type": "string", + "nullable": true, + "description": "Name of the bank associated with the bank account." }, - "items": { - "$ref": "#/components/schemas/stripe.Stripe.ApiList_stripe.Stripe.SubscriptionItem_", - "description": "List of subscription items, each with an attached price." + "bic": { + "type": "string", + "nullable": true, + "description": "Bank Identifier Code of the bank associated with the bank account." }, - "latest_invoice": { + "generated_sepa_debit": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.Invoice" + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod" } ], "nullable": true, - "description": "The most recent invoice this subscription has generated." - }, - "livemode": { - "type": "boolean", - "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." - }, - "metadata": { - "$ref": "#/components/schemas/stripe.Stripe.Metadata", - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." - }, - "next_pending_invoice_item_invoice": { - "type": "number", - "format": "double", - "nullable": true, - "description": "Specifies the approximate timestamp on which any pending invoice items will be billed according to the schedule provided at `pending_invoice_item_interval`." + "description": "The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge." }, - "on_behalf_of": { + "generated_sepa_debit_mandate": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.Account" + "$ref": "#/components/schemas/stripe.Stripe.Mandate" } ], "nullable": true, - "description": "The account (if any) the charge was made on behalf of for charges associated with this subscription. See the Connect documentation for details." + "description": "The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge." }, - "pause_collection": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.PauseCollection" - } - ], + "iban_last4": { + "type": "string", "nullable": true, - "description": "If specified, payment collection for this subscription will be paused. Note that the subscription status will be unchanged and will not be updated to `paused`. Learn more about [pausing collection](https://stripe.com/docs/billing/subscriptions/pause-payment)." + "description": "Last four characters of the IBAN." }, - "payment_settings": { + "preferred_language": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings" + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Bancontact.PreferredLanguage" } ], "nullable": true, - "description": "Payment settings passed on to invoices created by the subscription." + "description": "Preferred language of the Bancontact authorization page that the customer is redirected to.\nCan be one of `en`, `de`, `fr`, or `nl`" }, - "pending_invoice_item_interval": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.PendingInvoiceItemInterval" - } - ], + "verified_name": { + "type": "string", "nullable": true, - "description": "Specifies an interval for how often to bill for any pending invoice items. It is analogous to calling [Create an invoice](https://stripe.com/docs/api#create_invoice) for the given subscription at the specified interval." - }, - "pending_setup_intent": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent" - } - ], + "description": "Owner's verified full name. Values are verified or provided by Bancontact directly\n(if supported) at the time of authorization or settlement. They cannot be set or mutated." + } + }, + "required": [ + "bank_code", + "bank_name", + "bic", + "generated_sepa_debit", + "generated_sepa_debit_mandate", + "iban_last4", + "preferred_language", + "verified_name" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Charge.PaymentMethodDetails.Blik": { + "properties": { + "buyer_id": { + "type": "string", "nullable": true, - "description": "You can use this [SetupIntent](https://stripe.com/docs/api/setup_intents) to collect user authentication when creating a subscription without immediate payment or updating a subscription's payment method, allowing you to optimize for off-session payments. Learn more in the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication#scenario-2)." - }, - "pending_update": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.PendingUpdate" - } - ], + "description": "A unique and immutable identifier assigned by BLIK to every buyer." + } + }, + "required": [ + "buyer_id" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Charge.PaymentMethodDetails.Boleto": { + "properties": { + "tax_id": { + "type": "string", + "description": "The tax ID of the customer (CPF for individuals consumers or CNPJ for businesses consumers)" + } + }, + "required": [ + "tax_id" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Charge.PaymentMethodDetails.Card.Checks": { + "properties": { + "address_line1_check": { + "type": "string", "nullable": true, - "description": "If specified, [pending updates](https://stripe.com/docs/billing/subscriptions/pending-updates) that will be applied to the subscription once the `latest_invoice` has been paid." + "description": "If a address line1 was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`." }, - "schedule": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule" - } - ], + "address_postal_code_check": { + "type": "string", "nullable": true, - "description": "The schedule attached to the subscription" + "description": "If a address postal code was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`." }, - "start_date": { + "cvc_check": { + "type": "string", + "nullable": true, + "description": "If a CVC was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`." + } + }, + "required": [ + "address_line1_check", + "address_postal_code_check", + "cvc_check" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Charge.PaymentMethodDetails.Card.ExtendedAuthorization.Status": { + "type": "string", + "enum": [ + "disabled", + "enabled" + ] + }, + "stripe.Stripe.Charge.PaymentMethodDetails.Card.ExtendedAuthorization": { + "properties": { + "status": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.ExtendedAuthorization.Status", + "description": "Indicates whether or not the capture window is extended beyond the standard authorization." + } + }, + "required": [ + "status" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Charge.PaymentMethodDetails.Card.IncrementalAuthorization.Status": { + "type": "string", + "enum": [ + "available", + "unavailable" + ] + }, + "stripe.Stripe.Charge.PaymentMethodDetails.Card.IncrementalAuthorization": { + "properties": { + "status": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.IncrementalAuthorization.Status", + "description": "Indicates whether or not the incremental authorization feature is supported." + } + }, + "required": [ + "status" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Charge.PaymentMethodDetails.Card.Installments.Plan": { + "properties": { + "count": { "type": "number", "format": "double", - "description": "Date when the subscription was first created. The date might differ from the `created` date due to backdating." - }, - "status": { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.Status", - "description": "Possible values are `incomplete`, `incomplete_expired`, `trialing`, `active`, `past_due`, `canceled`, `unpaid`, or `paused`.\n\nFor `collection_method=charge_automatically` a subscription moves into `incomplete` if the initial payment attempt fails. A subscription in this status can only have metadata and default_source updated. Once the first invoice is paid, the subscription moves into an `active` status. If the first invoice is not paid within 23 hours, the subscription transitions to `incomplete_expired`. This is a terminal status, the open invoice will be voided and no further invoices will be generated.\n\nA subscription that is currently in a trial period is `trialing` and moves to `active` when the trial period is over.\n\nA subscription can only enter a `paused` status [when a trial ends without a payment method](https://stripe.com/docs/billing/subscriptions/trials#create-free-trials-without-payment). A `paused` subscription doesn't generate invoices and can be resumed after your customer adds their payment method. The `paused` status is different from [pausing collection](https://stripe.com/docs/billing/subscriptions/pause-payment), which still generates invoices and leaves the subscription's status unchanged.\n\nIf subscription `collection_method=charge_automatically`, it becomes `past_due` when payment is required but cannot be paid (due to failed payment or awaiting additional user actions). Once Stripe has exhausted all payment retry attempts, the subscription will become `canceled` or `unpaid` (depending on your subscriptions settings).\n\nIf subscription `collection_method=send_invoice` it becomes `past_due` when its invoice is not paid by the due date, and `canceled` or `unpaid` if it is still not paid by an additional deadline after that. Note that when a subscription has a status of `unpaid`, no subsequent invoices will be attempted (invoices will be created, but then immediately automatically closed). After receiving updated payment information from a customer, you may choose to reopen and pay their closed invoices." - }, - "test_clock": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.TestHelpers.TestClock" - } - ], "nullable": true, - "description": "ID of the test clock this subscription belongs to." + "description": "For `fixed_count` installment plans, this is the number of installment payments your customer will make to their credit card." }, - "transfer_data": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.TransferData" - } + "interval": { + "type": "string", + "enum": [ + "month", + null ], "nullable": true, - "description": "The account (if any) the subscription's payments will be attributed to for tax reporting, and where funds from each payment will be transferred to for each of the subscription's invoices." - }, - "trial_end": { - "type": "number", - "format": "double", - "nullable": true, - "description": "If the subscription has a trial, the end of that trial." + "description": "For `fixed_count` installment plans, this is the interval between installment payments your customer will make to their credit card.\nOne of `month`." }, - "trial_settings": { + "type": { + "type": "string", + "enum": [ + "fixed_count" + ], + "nullable": false, + "description": "Type of installment plan, one of `fixed_count`." + } + }, + "required": [ + "count", + "interval", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Charge.PaymentMethodDetails.Card.Installments": { + "properties": { + "plan": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.TrialSettings" + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.Installments.Plan" } ], "nullable": true, - "description": "Settings related to subscription trials." - }, - "trial_start": { - "type": "number", - "format": "double", - "nullable": true, - "description": "If the subscription has a trial, the beginning of that trial." + "description": "Installment plan selected for the payment." } }, "required": [ - "id", - "object", - "application", - "application_fee_percent", - "automatic_tax", - "billing_cycle_anchor", - "billing_cycle_anchor_config", - "billing_thresholds", - "cancel_at", - "cancel_at_period_end", - "canceled_at", - "cancellation_details", - "collection_method", - "created", - "currency", - "current_period_end", - "current_period_start", - "customer", - "days_until_due", - "default_payment_method", - "default_source", - "description", - "discount", - "discounts", - "ended_at", - "invoice_settings", - "items", - "latest_invoice", - "livemode", - "metadata", - "next_pending_invoice_item_invoice", - "on_behalf_of", - "pause_collection", - "payment_settings", - "pending_invoice_item_interval", - "pending_setup_intent", - "pending_update", - "schedule", - "start_date", - "status", - "test_clock", - "transfer_data", - "trial_end", - "trial_settings", - "trial_start" + "plan" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.TestHelpers.TestClock.Status": { + "stripe.Stripe.Charge.PaymentMethodDetails.Card.Multicapture.Status": { "type": "string", "enum": [ - "advancing", - "internal_failure", - "ready" + "available", + "unavailable" ] }, - "stripe.Stripe.TestHelpers.TestClock.StatusDetails.Advancing": { + "stripe.Stripe.Charge.PaymentMethodDetails.Card.Multicapture": { "properties": { - "target_frozen_time": { - "type": "number", - "format": "double", - "description": "The `frozen_time` that the Test Clock is advancing towards." + "status": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.Multicapture.Status", + "description": "Indicates whether or not multiple captures are supported." } }, "required": [ - "target_frozen_time" + "status" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.TestHelpers.TestClock.StatusDetails": { + "stripe.Stripe.Charge.PaymentMethodDetails.Card.NetworkToken": { "properties": { - "advancing": { - "$ref": "#/components/schemas/stripe.Stripe.TestHelpers.TestClock.StatusDetails.Advancing" + "used": { + "type": "boolean", + "description": "Indicates if Stripe used a network token, either user provided or Stripe managed when processing the transaction." } }, + "required": [ + "used" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.TestHelpers.TestClock": { - "description": "A test clock enables deterministic control over objects in testmode. With a test clock, you can create\nobjects at a frozen time in the past or future, and advance to a specific future time to observe webhooks and state changes. After the clock advances,\nyou can either validate the current state of your scenario (and test your assumptions), change the current state of your scenario (and test more complex scenarios), or keep advancing forward in time.", + "stripe.Stripe.Charge.PaymentMethodDetails.Card.Overcapture.Status": { + "type": "string", + "enum": [ + "available", + "unavailable" + ] + }, + "stripe.Stripe.Charge.PaymentMethodDetails.Card.Overcapture": { "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." - }, - "object": { - "type": "string", - "enum": [ - "test_helpers.test_clock" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." - }, - "created": { - "type": "number", - "format": "double", - "description": "Time at which the object was created. Measured in seconds since the Unix epoch." - }, - "deleted": { - "description": "Always true for a deleted object" - }, - "deletes_after": { - "type": "number", - "format": "double", - "description": "Time at which this clock is scheduled to auto delete." - }, - "frozen_time": { + "maximum_amount_capturable": { "type": "number", "format": "double", - "description": "Time at which all objects belonging to this clock are frozen." - }, - "livemode": { - "type": "boolean", - "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." - }, - "name": { - "type": "string", - "nullable": true, - "description": "The custom name supplied at creation." + "description": "The maximum amount that can be captured." }, "status": { - "$ref": "#/components/schemas/stripe.Stripe.TestHelpers.TestClock.Status", - "description": "The status of the Test Clock." - }, - "status_details": { - "$ref": "#/components/schemas/stripe.Stripe.TestHelpers.TestClock.StatusDetails" + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.Overcapture.Status", + "description": "Indicates whether or not the authorized amount can be over-captured." } }, "required": [ - "id", - "object", - "created", - "deletes_after", - "frozen_time", - "livemode", - "name", - "status", - "status_details" + "maximum_amount_capturable", + "status" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.InvoiceItem": { - "description": "Invoice Items represent the component lines of an [invoice](https://stripe.com/docs/api/invoices). An invoice item is added to an\ninvoice by creating or updating it with an `invoice` field, at which point it will be included as\n[an invoice line item](https://stripe.com/docs/api/invoices/line_item) within\n[invoice.lines](https://stripe.com/docs/api/invoices/object#invoice_object-lines).\n\nInvoice Items can be created before you are ready to actually send the invoice. This can be particularly useful when combined\nwith a [subscription](https://stripe.com/docs/api/subscriptions). Sometimes you want to add a charge or credit to a customer, but actually charge\nor credit the customer's card only at the end of a regular billing cycle. This is useful for combining several charges\n(to minimize per-transaction fees), or for having Stripe tabulate your usage-based billing totals.\n\nRelated guides: [Integrate with the Invoicing API](https://stripe.com/docs/invoicing/integration), [Subscription Invoices](https://stripe.com/docs/billing/invoices/subscription#adding-upcoming-invoice-items).", + "stripe.Stripe.Charge.PaymentMethodDetails.Card.RegulatedStatus": { + "type": "string", + "enum": [ + "regulated", + "unregulated" + ] + }, + "stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.AuthenticationFlow": { + "type": "string", + "enum": [ + "challenge", + "frictionless" + ] + }, + "stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.ElectronicCommerceIndicator": { + "type": "string", + "enum": [ + "01", + "02", + "05", + "06", + "07" + ] + }, + "stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.ExemptionIndicator": { + "type": "string", + "enum": [ + "low_risk", + "none" + ] + }, + "stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.Result": { + "type": "string", + "enum": [ + "attempt_acknowledged", + "authenticated", + "exempted", + "failed", + "not_supported", + "processing_error" + ] + }, + "stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.ResultReason": { + "type": "string", + "enum": [ + "abandoned", + "bypassed", + "canceled", + "card_not_enrolled", + "network_not_supported", + "protocol_error", + "rejected" + ] + }, + "stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.Version": { + "type": "string", + "enum": [ + "1.0.2", + "2.1.0", + "2.2.0" + ] + }, + "stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure": { "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." - }, - "object": { - "type": "string", - "enum": [ - "invoiceitem" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." - }, - "amount": { - "type": "number", - "format": "double", - "description": "Amount (in the `currency` specified) of the invoice item. This should always be equal to `unit_amount * quantity`." - }, - "currency": { - "type": "string", - "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." - }, - "customer": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Customer" - }, + "authentication_flow": { + "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.DeletedCustomer" + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.AuthenticationFlow" } ], - "description": "The ID of the customer who will be billed when this invoice item is billed." - }, - "date": { - "type": "number", - "format": "double", - "description": "Time at which the object was created. Measured in seconds since the Unix epoch." - }, - "deleted": { - "description": "Always true for a deleted object" - }, - "description": { - "type": "string", - "nullable": true, - "description": "An arbitrary string attached to the object. Often useful for displaying to users." - }, - "discountable": { - "type": "boolean", - "description": "If true, discounts will apply to this invoice item. Always false for prorations." - }, - "discounts": { - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Discount" - } - ] - }, - "type": "array", "nullable": true, - "description": "The discounts which apply to the invoice item. Item discounts are applied before invoice discounts. Use `expand[]=discounts` to expand each discount." + "description": "For authenticated transactions: how the customer was authenticated by\nthe issuing bank." }, - "invoice": { - "anyOf": [ - { - "type": "string" - }, + "electronic_commerce_indicator": { + "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Invoice" + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.ElectronicCommerceIndicator" } ], "nullable": true, - "description": "The ID of the invoice this invoice item belongs to." - }, - "livemode": { - "type": "boolean", - "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." + "description": "The Electronic Commerce Indicator (ECI). A protocol-level field\nindicating what degree of authentication was performed." }, - "metadata": { + "exemption_indicator": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Metadata" + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.ExemptionIndicator" } ], "nullable": true, - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." + "description": "The exemption requested via 3DS and accepted by the issuer at authentication time." }, - "period": { - "$ref": "#/components/schemas/stripe.Stripe.InvoiceItem.Period" + "exemption_indicator_applied": { + "type": "boolean", + "description": "Whether Stripe requested the value of `exemption_indicator` in the transaction. This will depend on\nthe outcome of Stripe's internal risk assessment." }, - "plan": { + "result": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Plan" + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.Result" } ], "nullable": true, - "description": "If the invoice item is a proration, the plan of the subscription that the proration was computed for." + "description": "Indicates the outcome of 3D Secure authentication." }, - "price": { + "result_reason": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Price" - } - ], - "nullable": true, - "description": "The price of the invoice item." - }, - "proration": { - "type": "boolean", - "description": "Whether the invoice item was created automatically as a proration adjustment when the customer switched plans." - }, - "quantity": { - "type": "number", - "format": "double", - "description": "Quantity of units for the invoice item. If the invoice item is a proration, the quantity of the subscription that the proration was computed for." - }, - "subscription": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Subscription" + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.ResultReason" } ], "nullable": true, - "description": "The subscription that this invoice item has been created for, if any." + "description": "Additional information about why 3D Secure succeeded or failed based\non the `result`." }, - "subscription_item": { + "transaction_id": { "type": "string", - "description": "The subscription item that this invoice item has been created for, if any." - }, - "tax_rates": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.TaxRate" - }, - "type": "array", "nullable": true, - "description": "The tax rates which apply to the invoice item. When set, the `default_tax_rates` on the invoice do not apply to this invoice item." + "description": "The 3D Secure 1 XID or 3D Secure 2 Directory Server Transaction ID\n(dsTransId) for this payment." }, - "test_clock": { - "anyOf": [ - { - "type": "string" - }, + "version": { + "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.TestHelpers.TestClock" + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure.Version" } ], "nullable": true, - "description": "ID of the test clock this invoice item belongs to." - }, - "unit_amount": { - "type": "number", - "format": "double", - "nullable": true, - "description": "Unit amount (in the `currency` specified) of the invoice item." - }, - "unit_amount_decimal": { - "type": "string", - "nullable": true, - "description": "Same as `unit_amount`, but contains a decimal value with at most 12 decimal places." + "description": "The version of 3D Secure that was used." } }, "required": [ - "id", - "object", - "amount", - "currency", - "customer", - "date", - "description", - "discountable", - "discounts", - "invoice", - "livemode", - "metadata", - "period", - "plan", - "price", - "proration", - "quantity", - "subscription", - "tax_rates", - "test_clock", - "unit_amount", - "unit_amount_decimal" + "authentication_flow", + "electronic_commerce_indicator", + "exemption_indicator", + "result", + "result_reason", + "transaction_id", + "version" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.InvoiceLineItem.Period": { - "properties": { - "end": { - "type": "number", - "format": "double", - "description": "The end of the period, which must be greater than or equal to the start. This value is inclusive." - }, - "start": { - "type": "number", - "format": "double", - "description": "The start of the period. This value is inclusive." - } - }, - "required": [ - "end", - "start" - ], + "stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.AmexExpressCheckout": { + "properties": {}, "type": "object", "additionalProperties": false }, - "stripe.Stripe.Billing.CreditBalanceTransaction.Credit.Amount.Monetary": { - "properties": { - "currency": { - "type": "string", - "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." - }, - "value": { - "type": "number", - "format": "double", - "description": "A positive integer representing the amount." - } - }, - "required": [ - "currency", - "value" - ], + "stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.ApplePay": { + "properties": {}, "type": "object", "additionalProperties": false }, - "stripe.Stripe.Billing.CreditBalanceTransaction.Credit.Amount": { + "stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.GooglePay": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.Link": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.Masterpass": { "properties": { - "monetary": { + "billing_address": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Billing.CreditBalanceTransaction.Credit.Amount.Monetary" + "$ref": "#/components/schemas/stripe.Stripe.Address" } ], "nullable": true, - "description": "The monetary amount." + "description": "Owner's verified billing address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated." }, - "type": { + "email": { "type": "string", - "enum": [ - "monetary" - ], - "nullable": false, - "description": "The type of this amount. We currently only support `monetary` billing credits." - } - }, - "required": [ - "monetary", - "type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Billing.CreditBalanceTransaction.Credit.CreditsApplicationInvoiceVoided": { - "properties": { - "invoice": { - "anyOf": [ - { - "type": "string" - }, + "nullable": true, + "description": "Owner's verified email. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated." + }, + "name": { + "type": "string", + "nullable": true, + "description": "Owner's verified full name. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated." + }, + "shipping_address": { + "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Invoice" + "$ref": "#/components/schemas/stripe.Stripe.Address" } ], - "description": "The invoice to which the reinstated billing credits were originally applied." - }, - "invoice_line_item": { - "type": "string", - "description": "The invoice line item to which the reinstated billing credits were originally applied." + "nullable": true, + "description": "Owner's verified shipping address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated." } }, "required": [ - "invoice", - "invoice_line_item" + "billing_address", + "email", + "name", + "shipping_address" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Billing.CreditBalanceTransaction.Credit.Type": { + "stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.SamsungPay": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.Type": { "type": "string", "enum": [ - "credits_application_invoice_voided", - "credits_granted" + "amex_express_checkout", + "apple_pay", + "google_pay", + "link", + "masterpass", + "samsung_pay", + "visa_checkout" ] }, - "stripe.Stripe.Billing.CreditBalanceTransaction.Credit": { + "stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.VisaCheckout": { "properties": { - "amount": { - "$ref": "#/components/schemas/stripe.Stripe.Billing.CreditBalanceTransaction.Credit.Amount" - }, - "credits_application_invoice_voided": { + "billing_address": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Billing.CreditBalanceTransaction.Credit.CreditsApplicationInvoiceVoided" + "$ref": "#/components/schemas/stripe.Stripe.Address" } ], "nullable": true, - "description": "Details of the invoice to which the reinstated credits were originally applied. Only present if `type` is `credits_application_invoice_voided`." + "description": "Owner's verified billing address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated." }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.Billing.CreditBalanceTransaction.Credit.Type", - "description": "The type of credit transaction." - } - }, - "required": [ - "amount", - "credits_application_invoice_voided", - "type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Billing.CreditGrant.Amount.Monetary": { - "properties": { - "currency": { + "email": { "type": "string", - "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." + "nullable": true, + "description": "Owner's verified email. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated." }, - "value": { - "type": "number", - "format": "double", - "description": "A positive integer representing the amount." - } - }, - "required": [ - "currency", - "value" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Billing.CreditGrant.Amount": { - "properties": { - "monetary": { + "name": { + "type": "string", + "nullable": true, + "description": "Owner's verified full name. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated." + }, + "shipping_address": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Billing.CreditGrant.Amount.Monetary" + "$ref": "#/components/schemas/stripe.Stripe.Address" } ], "nullable": true, - "description": "The monetary amount." - }, - "type": { - "type": "string", - "enum": [ - "monetary" - ], - "nullable": false, - "description": "The type of this amount. We currently only support `monetary` billing credits." + "description": "Owner's verified shipping address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated." } }, "required": [ - "monetary", - "type" + "billing_address", + "email", + "name", + "shipping_address" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Billing.CreditGrant.ApplicabilityConfig.Scope.Price": { + "stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet": { "properties": { - "id": { + "amex_express_checkout": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.AmexExpressCheckout" + }, + "apple_pay": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.ApplePay" + }, + "dynamic_last4": { "type": "string", "nullable": true, - "description": "Unique identifier for the object." - } - }, - "required": [ - "id" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Billing.CreditGrant.ApplicabilityConfig.Scope": { - "properties": { - "price_type": { - "type": "string", - "enum": [ - "metered" - ], - "nullable": false, - "description": "The price type that credit grants can apply to. We currently only support the `metered` price type. This refers to prices that have a [Billing Meter](https://docs.stripe.com/api/billing/meter) attached to them." + "description": "(For tokenized numbers only.) The last four digits of the device account number." }, - "prices": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Billing.CreditGrant.ApplicabilityConfig.Scope.Price" - }, - "type": "array", - "description": "The prices that credit grants can apply to. We currently only support `metered` prices. This refers to prices that have a [Billing Meter](https://docs.stripe.com/api/billing/meter) attached to them." - } - }, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Billing.CreditGrant.ApplicabilityConfig": { - "properties": { - "scope": { - "$ref": "#/components/schemas/stripe.Stripe.Billing.CreditGrant.ApplicabilityConfig.Scope" + "google_pay": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.GooglePay" + }, + "link": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.Link" + }, + "masterpass": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.Masterpass" + }, + "samsung_pay": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.SamsungPay" + }, + "type": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.Type", + "description": "The type of the card wallet, one of `amex_express_checkout`, `apple_pay`, `google_pay`, `masterpass`, `samsung_pay`, `visa_checkout`, or `link`. An additional hash is included on the Wallet subhash with a name matching this value. It contains additional information specific to the card wallet type." + }, + "visa_checkout": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet.VisaCheckout" } }, "required": [ - "scope" + "dynamic_last4", + "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Billing.CreditGrant.Category": { - "type": "string", - "enum": [ - "paid", - "promotional" - ] - }, - "stripe.Stripe.Billing.CreditGrant": { - "description": "A credit grant is an API resource that documents the allocation of some billing credits to a customer.\n\nRelated guide: [Billing credits](https://docs.stripe.com/billing/subscriptions/usage-based/billing-credits)", + "stripe.Stripe.Charge.PaymentMethodDetails.Card": { "properties": { - "id": { + "amount_authorized": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The authorized amount." + }, + "authorization_code": { "type": "string", - "description": "Unique identifier for the object." + "nullable": true, + "description": "Authorization code on the charge." }, - "object": { + "brand": { "type": "string", - "enum": [ - "billing.credit_grant" + "nullable": true, + "description": "Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`." + }, + "capture_before": { + "type": "number", + "format": "double", + "description": "When using manual capture, a future timestamp at which the charge will be automatically refunded if uncaptured." + }, + "checks": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.Checks" + } ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." + "nullable": true, + "description": "Check results by Card networks on Card address and CVC at time of payment." }, - "amount": { - "$ref": "#/components/schemas/stripe.Stripe.Billing.CreditGrant.Amount" + "country": { + "type": "string", + "nullable": true, + "description": "Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected." }, - "applicability_config": { - "$ref": "#/components/schemas/stripe.Stripe.Billing.CreditGrant.ApplicabilityConfig" + "description": { + "type": "string", + "nullable": true, + "description": "A high-level description of the type of cards issued in this range. (For internal use only and not typically available in standard API requests.)" }, - "category": { - "$ref": "#/components/schemas/stripe.Stripe.Billing.CreditGrant.Category", - "description": "The category of this credit grant. This is for tracking purposes and isn't displayed to the customer." + "exp_month": { + "type": "number", + "format": "double", + "description": "Two-digit number representing the card's expiration month." }, - "created": { + "exp_year": { "type": "number", "format": "double", - "description": "Time at which the object was created. Measured in seconds since the Unix epoch." + "description": "Four-digit number representing the card's expiration year." }, - "customer": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Customer" - }, + "extended_authorization": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.ExtendedAuthorization" + }, + "fingerprint": { + "type": "string", + "nullable": true, + "description": "Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.\n\n*As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.*" + }, + "funding": { + "type": "string", + "nullable": true, + "description": "Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`." + }, + "iin": { + "type": "string", + "nullable": true, + "description": "Issuer identification number of the card. (For internal use only and not typically available in standard API requests.)" + }, + "incremental_authorization": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.IncrementalAuthorization" + }, + "installments": { + "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.DeletedCustomer" + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.Installments" } ], - "description": "ID of the customer receiving the billing credits." + "nullable": true, + "description": "Installment details for this payment (Mexico only).\n\nFor more information, see the [installments integration guide](https://stripe.com/docs/payments/installments)." }, - "effective_at": { - "type": "number", - "format": "double", + "issuer": { + "type": "string", "nullable": true, - "description": "The time when the billing credits become effective-when they're eligible for use." + "description": "The name of the card's issuing bank. (For internal use only and not typically available in standard API requests.)" }, - "expires_at": { - "type": "number", - "format": "double", + "last4": { + "type": "string", "nullable": true, - "description": "The time when the billing credits expire. If not present, the billing credits don't expire." + "description": "The last four digits of the card." }, - "livemode": { + "mandate": { + "type": "string", + "nullable": true, + "description": "ID of the mandate used to make this payment or created by it." + }, + "moto": { "type": "boolean", - "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." + "nullable": true, + "description": "True if this payment was marked as MOTO and out of scope for SCA." }, - "metadata": { - "$ref": "#/components/schemas/stripe.Stripe.Metadata", - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." + "multicapture": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.Multicapture" }, - "name": { + "network": { "type": "string", "nullable": true, - "description": "A descriptive name shown in dashboard." + "description": "Identifies which network this charge was processed on. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `interac`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`." }, - "priority": { - "type": "number", - "format": "double", + "network_token": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.NetworkToken" + } + ], "nullable": true, - "description": "The priority for applying this credit grant. The highest priority is 0 and the lowest is 100." + "description": "If this card has network token credentials, this contains the details of the network token credentials." }, - "test_clock": { - "anyOf": [ - { - "type": "string" - }, + "network_transaction_id": { + "type": "string", + "nullable": true, + "description": "This is used by the financial networks to identify a transaction. Visa calls this the Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the Acquirer Reference Data. This value will be present if it is returned by the financial network in the authorization response, and null otherwise." + }, + "overcapture": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.Overcapture" + }, + "regulated_status": { + "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.TestHelpers.TestClock" + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.RegulatedStatus" } ], "nullable": true, - "description": "ID of the test clock this credit grant belongs to." + "description": "Status of a card based on the card issuer." }, - "updated": { - "type": "number", - "format": "double", - "description": "Time at which the object was last updated. Measured in seconds since the Unix epoch." + "three_d_secure": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.ThreeDSecure" + } + ], + "nullable": true, + "description": "Populated if this transaction used 3D Secure authentication." }, - "voided_at": { - "type": "number", - "format": "double", + "wallet": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card.Wallet" + } + ], "nullable": true, - "description": "The time when this credit grant was voided. If not present, the credit grant hasn't been voided." + "description": "If this Card is part of a card wallet, this contains the details of the card wallet." } }, "required": [ - "id", - "object", - "amount", - "applicability_config", - "category", - "created", - "customer", - "effective_at", - "expires_at", - "livemode", - "metadata", - "name", - "test_clock", - "updated", - "voided_at" + "amount_authorized", + "authorization_code", + "brand", + "checks", + "country", + "exp_month", + "exp_year", + "funding", + "installments", + "last4", + "mandate", + "network", + "network_transaction_id", + "regulated_status", + "three_d_secure", + "wallet" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Billing.CreditBalanceTransaction.Debit.Amount.Monetary": { + "stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.Offline": { "properties": { - "currency": { - "type": "string", - "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." - }, - "value": { + "stored_at": { "type": "number", "format": "double", - "description": "A positive integer representing the amount." - } - }, - "required": [ - "currency", - "value" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Billing.CreditBalanceTransaction.Debit.Amount": { - "properties": { - "monetary": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Billing.CreditBalanceTransaction.Debit.Amount.Monetary" - } - ], "nullable": true, - "description": "The monetary amount." + "description": "Time at which the payment was collected while offline" }, "type": { "type": "string", "enum": [ - "monetary" + "deferred", + null ], - "nullable": false, - "description": "The type of this amount. We currently only support `monetary` billing credits." + "nullable": true, + "description": "The method used to process this payment method offline. Only deferred is allowed." } }, "required": [ - "monetary", + "stored_at", "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Billing.CreditBalanceTransaction.Debit.CreditsApplied": { + "stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.ReadMethod": { + "type": "string", + "enum": [ + "contact_emv", + "contactless_emv", + "contactless_magstripe_mode", + "magnetic_stripe_fallback", + "magnetic_stripe_track2" + ] + }, + "stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.Receipt.AccountType": { + "type": "string", + "enum": [ + "checking", + "credit", + "prepaid", + "unknown" + ] + }, + "stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.Receipt": { "properties": { - "invoice": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Invoice" - } - ], - "description": "The invoice to which the billing credits were applied." + "account_type": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.Receipt.AccountType", + "description": "The type of account being debited or credited" }, - "invoice_line_item": { + "application_cryptogram": { "type": "string", - "description": "The invoice line item to which the billing credits were applied." + "nullable": true, + "description": "EMV tag 9F26, cryptogram generated by the integrated circuit chip." + }, + "application_preferred_name": { + "type": "string", + "nullable": true, + "description": "Mnenomic of the Application Identifier." + }, + "authorization_code": { + "type": "string", + "nullable": true, + "description": "Identifier for this transaction." + }, + "authorization_response_code": { + "type": "string", + "nullable": true, + "description": "EMV tag 8A. A code returned by the card issuer." + }, + "cardholder_verification_method": { + "type": "string", + "nullable": true, + "description": "Describes the method used by the cardholder to verify ownership of the card. One of the following: `approval`, `failure`, `none`, `offline_pin`, `offline_pin_and_signature`, `online_pin`, or `signature`." + }, + "dedicated_file_name": { + "type": "string", + "nullable": true, + "description": "EMV tag 84. Similar to the application identifier stored on the integrated circuit chip." + }, + "terminal_verification_results": { + "type": "string", + "nullable": true, + "description": "The outcome of a series of EMV functions performed by the card reader." + }, + "transaction_status_information": { + "type": "string", + "nullable": true, + "description": "An indication of various EMV functions performed during the transaction." } }, "required": [ - "invoice", - "invoice_line_item" + "application_cryptogram", + "application_preferred_name", + "authorization_code", + "authorization_response_code", + "cardholder_verification_method", + "dedicated_file_name", + "terminal_verification_results", + "transaction_status_information" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Billing.CreditBalanceTransaction.Debit.Type": { + "stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.Wallet.Type": { "type": "string", "enum": [ - "credits_applied", - "credits_expired", - "credits_voided" + "apple_pay", + "google_pay", + "samsung_pay", + "unknown" ] }, - "stripe.Stripe.Billing.CreditBalanceTransaction.Debit": { + "stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.Wallet": { "properties": { - "amount": { - "$ref": "#/components/schemas/stripe.Stripe.Billing.CreditBalanceTransaction.Debit.Amount" - }, - "credits_applied": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Billing.CreditBalanceTransaction.Debit.CreditsApplied" - } - ], - "nullable": true, - "description": "Details of how the billing credits were applied to an invoice. Only present if `type` is `credits_applied`." - }, "type": { - "$ref": "#/components/schemas/stripe.Stripe.Billing.CreditBalanceTransaction.Debit.Type", - "description": "The type of debit transaction." + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.Wallet.Type", + "description": "The type of mobile wallet, one of `apple_pay`, `google_pay`, `samsung_pay`, or `unknown`." } }, "required": [ - "amount", - "credits_applied", "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Billing.CreditBalanceTransaction.Type": { - "type": "string", - "enum": [ - "credit", - "debit" - ] - }, - "stripe.Stripe.Billing.CreditBalanceTransaction": { - "description": "A credit balance transaction is a resource representing a transaction (either a credit or a debit) against an existing credit grant.", + "stripe.Stripe.Charge.PaymentMethodDetails.CardPresent": { "properties": { - "id": { + "amount_authorized": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The authorized amount" + }, + "brand": { "type": "string", - "description": "Unique identifier for the object." + "nullable": true, + "description": "Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`." }, - "object": { + "brand_product": { "type": "string", - "enum": [ - "billing.credit_balance_transaction" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." + "nullable": true, + "description": "The [product code](https://stripe.com/docs/card-product-codes) that identifies the specific program or product associated with a card." }, - "created": { + "capture_before": { "type": "number", "format": "double", - "description": "Time at which the object was created. Measured in seconds since the Unix epoch." + "description": "When using manual capture, a future timestamp after which the charge will be automatically refunded if uncaptured." }, - "credit": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Billing.CreditBalanceTransaction.Credit" - } - ], + "cardholder_name": { + "type": "string", "nullable": true, - "description": "Credit details for this credit balance transaction. Only present if type is `credit`." + "description": "The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay." }, - "credit_grant": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Billing.CreditGrant" - } - ], - "description": "The credit grant associated with this credit balance transaction." + "country": { + "type": "string", + "nullable": true, + "description": "Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected." }, - "debit": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Billing.CreditBalanceTransaction.Debit" - } - ], + "description": { + "type": "string", "nullable": true, - "description": "Debit details for this credit balance transaction. Only present if type is `debit`." + "description": "A high-level description of the type of cards issued in this range. (For internal use only and not typically available in standard API requests.)" }, - "effective_at": { + "emv_auth_data": { + "type": "string", + "nullable": true, + "description": "Authorization response cryptogram." + }, + "exp_month": { "type": "number", "format": "double", - "description": "The effective time of this credit balance transaction." + "description": "Two-digit number representing the card's expiration month." }, - "livemode": { + "exp_year": { + "type": "number", + "format": "double", + "description": "Four-digit number representing the card's expiration year." + }, + "fingerprint": { + "type": "string", + "nullable": true, + "description": "Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.\n\n*As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.*" + }, + "funding": { + "type": "string", + "nullable": true, + "description": "Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`." + }, + "generated_card": { + "type": "string", + "nullable": true, + "description": "ID of a card PaymentMethod generated from the card_present PaymentMethod that may be attached to a Customer for future transactions. Only present if it was possible to generate a card PaymentMethod." + }, + "iin": { + "type": "string", + "nullable": true, + "description": "Issuer identification number of the card. (For internal use only and not typically available in standard API requests.)" + }, + "incremental_authorization_supported": { "type": "boolean", - "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." + "description": "Whether this [PaymentIntent](https://stripe.com/docs/api/payment_intents) is eligible for incremental authorizations. Request support using [request_incremental_authorization_support](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-payment_method_options-card_present-request_incremental_authorization_support)." }, - "test_clock": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.TestHelpers.TestClock" - } - ], + "issuer": { + "type": "string", "nullable": true, - "description": "ID of the test clock this credit balance transaction belongs to." + "description": "The name of the card's issuing bank. (For internal use only and not typically available in standard API requests.)" }, - "type": { + "last4": { + "type": "string", + "nullable": true, + "description": "The last four digits of the card." + }, + "network": { + "type": "string", + "nullable": true, + "description": "Identifies which network this charge was processed on. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `interac`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`." + }, + "network_transaction_id": { + "type": "string", + "nullable": true, + "description": "This is used by the financial networks to identify a transaction. Visa calls this the Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the Acquirer Reference Data. This value will be present if it is returned by the financial network in the authorization response, and null otherwise." + }, + "offline": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Billing.CreditBalanceTransaction.Type" + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.Offline" } ], "nullable": true, - "description": "The type of credit balance transaction (credit or debit)." - } - }, - "required": [ - "id", - "object", - "created", - "credit", - "credit_grant", - "debit", - "effective_at", - "livemode", - "test_clock", - "type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.InvoiceLineItem.PretaxCreditAmount.Type": { - "type": "string", - "enum": [ - "credit_balance_transaction", - "discount" - ] - }, - "stripe.Stripe.InvoiceLineItem.PretaxCreditAmount": { - "properties": { - "amount": { - "type": "number", - "format": "double", - "description": "The amount, in cents (or local equivalent), of the pretax credit amount." + "description": "Details about payments collected offline." }, - "credit_balance_transaction": { - "anyOf": [ - { - "type": "string" - }, + "overcapture_supported": { + "type": "boolean", + "description": "Defines whether the authorized amount can be over-captured or not" + }, + "preferred_locales": { + "items": { + "type": "string" + }, + "type": "array", + "nullable": true, + "description": "EMV tag 5F2D. Preferred languages specified by the integrated circuit chip." + }, + "read_method": { + "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Billing.CreditBalanceTransaction" + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.ReadMethod" } ], "nullable": true, - "description": "The credit balance transaction that was applied to get this pretax credit amount." + "description": "How card details were read in this transaction." }, - "discount": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Discount" - }, + "receipt": { + "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.DeletedDiscount" + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.Receipt" } ], - "description": "The discount that was applied to get this pretax credit amount." + "nullable": true, + "description": "A collection of fields required to be displayed on receipts. Only required for EMV transactions." }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.InvoiceLineItem.PretaxCreditAmount.Type", - "description": "Type of the pretax credit amount referenced." + "wallet": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.CardPresent.Wallet" } }, "required": [ - "amount", - "type" + "amount_authorized", + "brand", + "brand_product", + "cardholder_name", + "country", + "emv_auth_data", + "exp_month", + "exp_year", + "fingerprint", + "funding", + "generated_card", + "incremental_authorization_supported", + "last4", + "network", + "network_transaction_id", + "offline", + "overcapture_supported", + "preferred_locales", + "read_method", + "receipt" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.InvoiceLineItem.ProrationDetails.CreditedItems": { + "stripe.Stripe.Charge.PaymentMethodDetails.Cashapp": { "properties": { - "invoice": { + "buyer_id": { "type": "string", - "description": "Invoice containing the credited invoice line items" + "nullable": true, + "description": "A unique and immutable identifier assigned by Cash App to every buyer." }, - "invoice_line_items": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Credited invoice line items" + "cashtag": { + "type": "string", + "nullable": true, + "description": "A public identifier for buyers using Cash App." } }, "required": [ - "invoice", - "invoice_line_items" + "buyer_id", + "cashtag" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.InvoiceLineItem.ProrationDetails": { + "stripe.Stripe.Charge.PaymentMethodDetails.CustomerBalance": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Charge.PaymentMethodDetails.Eps.Bank": { + "type": "string", + "enum": [ + "arzte_und_apotheker_bank", + "austrian_anadi_bank_ag", + "bank_austria", + "bankhaus_carl_spangler", + "bankhaus_schelhammer_und_schattera_ag", + "bawag_psk_ag", + "bks_bank_ag", + "brull_kallmus_bank_ag", + "btv_vier_lander_bank", + "capital_bank_grawe_gruppe_ag", + "deutsche_bank_ag", + "dolomitenbank", + "easybank_ag", + "erste_bank_und_sparkassen", + "hypo_alpeadriabank_international_ag", + "hypo_bank_burgenland_aktiengesellschaft", + "hypo_noe_lb_fur_niederosterreich_u_wien", + "hypo_oberosterreich_salzburg_steiermark", + "hypo_tirol_bank_ag", + "hypo_vorarlberg_bank_ag", + "marchfelder_bank", + "oberbank_ag", + "raiffeisen_bankengruppe_osterreich", + "schoellerbank_ag", + "sparda_bank_wien", + "volksbank_gruppe", + "volkskreditbank_ag", + "vr_bank_braunau" + ] + }, + "stripe.Stripe.Charge.PaymentMethodDetails.Eps": { "properties": { - "credited_items": { + "bank": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.InvoiceLineItem.ProrationDetails.CreditedItems" + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Eps.Bank" } ], "nullable": true, - "description": "For a credit proration `line_item`, the original debit line_items to which the credit proration applies." + "description": "The customer's bank. Should be one of `arzte_und_apotheker_bank`, `austrian_anadi_bank_ag`, `bank_austria`, `bankhaus_carl_spangler`, `bankhaus_schelhammer_und_schattera_ag`, `bawag_psk_ag`, `bks_bank_ag`, `brull_kallmus_bank_ag`, `btv_vier_lander_bank`, `capital_bank_grawe_gruppe_ag`, `deutsche_bank_ag`, `dolomitenbank`, `easybank_ag`, `erste_bank_und_sparkassen`, `hypo_alpeadriabank_international_ag`, `hypo_noe_lb_fur_niederosterreich_u_wien`, `hypo_oberosterreich_salzburg_steiermark`, `hypo_tirol_bank_ag`, `hypo_vorarlberg_bank_ag`, `hypo_bank_burgenland_aktiengesellschaft`, `marchfelder_bank`, `oberbank_ag`, `raiffeisen_bankengruppe_osterreich`, `schoellerbank_ag`, `sparda_bank_wien`, `volksbank_gruppe`, `volkskreditbank_ag`, or `vr_bank_braunau`." + }, + "verified_name": { + "type": "string", + "nullable": true, + "description": "Owner's verified full name. Values are verified or provided by EPS directly\n(if supported) at the time of authorization or settlement. They cannot be set or mutated.\nEPS rarely provides this information so the attribute is usually empty." } }, "required": [ - "credited_items" + "bank", + "verified_name" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.SubscriptionItem.BillingThresholds": { + "stripe.Stripe.Charge.PaymentMethodDetails.Fpx.AccountHolderType": { + "type": "string", + "enum": [ + "company", + "individual" + ] + }, + "stripe.Stripe.Charge.PaymentMethodDetails.Fpx.Bank": { + "type": "string", + "enum": [ + "affin_bank", + "agrobank", + "alliance_bank", + "ambank", + "bank_islam", + "bank_muamalat", + "bank_of_china", + "bank_rakyat", + "bsn", + "cimb", + "deutsche_bank", + "hong_leong_bank", + "hsbc", + "kfh", + "maybank2e", + "maybank2u", + "ocbc", + "pb_enterprise", + "public_bank", + "rhb", + "standard_chartered", + "uob" + ] + }, + "stripe.Stripe.Charge.PaymentMethodDetails.Fpx": { "properties": { - "usage_gte": { - "type": "number", - "format": "double", + "account_holder_type": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Fpx.AccountHolderType" + } + ], "nullable": true, - "description": "Usage threshold that triggers the subscription to create an invoice" + "description": "Account holder type, if provided. Can be one of `individual` or `company`." + }, + "bank": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Fpx.Bank", + "description": "The customer's bank. Can be one of `affin_bank`, `agrobank`, `alliance_bank`, `ambank`, `bank_islam`, `bank_muamalat`, `bank_rakyat`, `bsn`, `cimb`, `hong_leong_bank`, `hsbc`, `kfh`, `maybank2u`, `ocbc`, `public_bank`, `rhb`, `standard_chartered`, `uob`, `deutsche_bank`, `maybank2e`, `pb_enterprise`, or `bank_of_china`." + }, + "transaction_id": { + "type": "string", + "nullable": true, + "description": "Unique transaction id generated by FPX for every request from the merchant" } }, "required": [ - "usage_gte" + "account_holder_type", + "bank", + "transaction_id" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.SubscriptionItem": { - "description": "Subscription items allow you to create customer subscriptions with more than\none plan, making it easy to represent complex billing relationships.", + "stripe.Stripe.Charge.PaymentMethodDetails.Giropay": { "properties": { - "id": { + "bank_code": { "type": "string", - "description": "Unique identifier for the object." + "nullable": true, + "description": "Bank code of bank associated with the bank account." }, - "object": { + "bank_name": { "type": "string", - "enum": [ - "subscription_item" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." - }, - "billing_thresholds": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.SubscriptionItem.BillingThresholds" - } - ], "nullable": true, - "description": "Define thresholds at which an invoice will be sent, and the related subscription advanced to a new billing period" - }, - "created": { - "type": "number", - "format": "double", - "description": "Time at which the object was created. Measured in seconds since the Unix epoch." - }, - "deleted": { - "description": "Always true for a deleted object" - }, - "discounts": { - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Discount" - } - ] - }, - "type": "array", - "description": "The discounts applied to the subscription item. Subscription item discounts are applied before subscription discounts. Use `expand[]=discounts` to expand each discount." - }, - "metadata": { - "$ref": "#/components/schemas/stripe.Stripe.Metadata", - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." - }, - "plan": { - "$ref": "#/components/schemas/stripe.Stripe.Plan", - "description": "You can now model subscriptions more flexibly using the [Prices API](https://stripe.com/docs/api#prices). It replaces the Plans API and is backwards compatible to simplify your migration.\n\nPlans define the base price, currency, and billing cycle for recurring purchases of products.\n[Products](https://stripe.com/docs/api#products) help you track inventory or provisioning, and plans help you track pricing. Different physical goods or levels of service should be represented by products, and pricing options should be represented by plans. This approach lets you change prices without having to change your provisioning scheme.\n\nFor example, you might have a single \"gold\" product that has plans for $10/month, $100/year, €9/month, and €90/year.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) and more about [products and prices](https://stripe.com/docs/products-prices/overview)." - }, - "price": { - "$ref": "#/components/schemas/stripe.Stripe.Price", - "description": "Prices define the unit cost, currency, and (optional) billing cycle for both recurring and one-time purchases of products.\n[Products](https://stripe.com/docs/api#products) help you track inventory or provisioning, and prices help you track payment terms. Different physical goods or levels of service should be represented by products, and pricing options should be represented by prices. This approach lets you change prices without having to change your provisioning scheme.\n\nFor example, you might have a single \"gold\" product that has prices for $10/month, $100/year, and €9 once.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription), [create an invoice](https://stripe.com/docs/billing/invoices/create), and more about [products and prices](https://stripe.com/docs/products-prices/overview)." - }, - "quantity": { - "type": "number", - "format": "double", - "description": "The [quantity](https://stripe.com/docs/subscriptions/quantities) of the plan to which the customer should be subscribed." + "description": "Name of the bank associated with the bank account." }, - "subscription": { + "bic": { "type": "string", - "description": "The `subscription` this `subscription_item` belongs to." + "nullable": true, + "description": "Bank Identifier Code of the bank associated with the bank account." }, - "tax_rates": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.TaxRate" - }, - "type": "array", + "verified_name": { + "type": "string", "nullable": true, - "description": "The tax rates which apply to this `subscription_item`. When set, the `default_tax_rates` on the subscription do not apply to this `subscription_item`." + "description": "Owner's verified full name. Values are verified or provided by Giropay directly\n(if supported) at the time of authorization or settlement. They cannot be set or mutated.\nGiropay rarely provides this information so the attribute is usually empty." } }, "required": [ - "id", - "object", - "billing_thresholds", - "created", - "discounts", - "metadata", - "plan", - "price", - "subscription", - "tax_rates" + "bank_code", + "bank_name", + "bic", + "verified_name" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Charge.PaymentMethodDetails.Grabpay": { + "properties": { + "transaction_id": { + "type": "string", + "nullable": true, + "description": "Unique transaction id generated by GrabPay" + } + }, + "required": [ + "transaction_id" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.InvoiceLineItem.TaxAmount.TaxabilityReason": { + "stripe.Stripe.Charge.PaymentMethodDetails.Ideal.Bank": { + "type": "string", + "enum": [ + "abn_amro", + "asn_bank", + "bunq", + "handelsbanken", + "ing", + "knab", + "moneyou", + "n26", + "nn", + "rabobank", + "regiobank", + "revolut", + "sns_bank", + "triodos_bank", + "van_lanschot", + "yoursafe" + ] + }, + "stripe.Stripe.Charge.PaymentMethodDetails.Ideal.Bic": { "type": "string", "enum": [ - "customer_exempt", - "not_collecting", - "not_subject_to_tax", - "not_supported", - "portion_product_exempt", - "portion_reduced_rated", - "portion_standard_rated", - "product_exempt", - "product_exempt_holiday", - "proportionally_rated", - "reduced_rated", - "reverse_charge", - "standard_rated", - "taxable_basis_reduced", - "zero_rated" + "ABNANL2A", + "ASNBNL21", + "BITSNL2A", + "BUNQNL2A", + "FVLBNL22", + "HANDNL2A", + "INGBNL2A", + "KNABNL2H", + "MOYONL21", + "NNBANL2G", + "NTSBDEB1", + "RABONL2U", + "RBRBNL21", + "REVOIE23", + "REVOLT21", + "SNSBNL2A", + "TRIONL2U" ] }, - "stripe.Stripe.InvoiceLineItem.TaxAmount": { + "stripe.Stripe.Charge.PaymentMethodDetails.Ideal": { "properties": { - "amount": { - "type": "number", - "format": "double", - "description": "The amount, in cents (or local equivalent), of the tax." + "bank": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Ideal.Bank" + } + ], + "nullable": true, + "description": "The customer's bank. Can be one of `abn_amro`, `asn_bank`, `bunq`, `handelsbanken`, `ing`, `knab`, `moneyou`, `n26`, `nn`, `rabobank`, `regiobank`, `revolut`, `sns_bank`, `triodos_bank`, `van_lanschot`, or `yoursafe`." }, - "inclusive": { - "type": "boolean", - "description": "Whether this tax amount is inclusive or exclusive." + "bic": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Ideal.Bic" + } + ], + "nullable": true, + "description": "The Bank Identifier Code of the customer's bank." }, - "tax_rate": { + "generated_sepa_debit": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.TaxRate" + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod" } ], - "description": "The tax rate that was applied to get this tax amount." + "nullable": true, + "description": "The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge." }, - "taxability_reason": { - "allOf": [ + "generated_sepa_debit_mandate": { + "anyOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.InvoiceLineItem.TaxAmount.TaxabilityReason" + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Mandate" } ], "nullable": true, - "description": "The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported." + "description": "The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge." }, - "taxable_amount": { - "type": "number", - "format": "double", + "iban_last4": { + "type": "string", "nullable": true, - "description": "The amount on which tax is calculated, in cents (or local equivalent)." + "description": "Last four characters of the IBAN." + }, + "verified_name": { + "type": "string", + "nullable": true, + "description": "Owner's verified full name. Values are verified or provided by iDEAL directly\n(if supported) at the time of authorization or settlement. They cannot be set or mutated." } }, "required": [ - "amount", - "inclusive", - "tax_rate", - "taxability_reason", - "taxable_amount" + "bank", + "bic", + "generated_sepa_debit", + "generated_sepa_debit_mandate", + "iban_last4", + "verified_name" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.InvoiceLineItem.Type": { + "stripe.Stripe.Charge.PaymentMethodDetails.InteracPresent.ReadMethod": { "type": "string", "enum": [ - "invoiceitem", - "subscription" + "contact_emv", + "contactless_emv", + "contactless_magstripe_mode", + "magnetic_stripe_fallback", + "magnetic_stripe_track2" ] }, - "stripe.Stripe.InvoiceLineItem": { - "description": "Invoice Line Items represent the individual lines within an [invoice](https://stripe.com/docs/api/invoices) and only exist within the context of an invoice.\n\nEach line item is backed by either an [invoice item](https://stripe.com/docs/api/invoiceitems) or a [subscription item](https://stripe.com/docs/api/subscription_items).", + "stripe.Stripe.Charge.PaymentMethodDetails.InteracPresent.Receipt.AccountType": { + "type": "string", + "enum": [ + "checking", + "savings", + "unknown" + ] + }, + "stripe.Stripe.Charge.PaymentMethodDetails.InteracPresent.Receipt": { "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." + "account_type": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.InteracPresent.Receipt.AccountType", + "description": "The type of account being debited or credited" }, - "object": { + "application_cryptogram": { "type": "string", - "enum": [ - "line_item" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." - }, - "amount": { - "type": "number", - "format": "double", - "description": "The amount, in cents (or local equivalent)." - }, - "amount_excluding_tax": { - "type": "number", - "format": "double", "nullable": true, - "description": "The integer amount in cents (or local equivalent) representing the amount for this line item, excluding all tax and discounts." + "description": "EMV tag 9F26, cryptogram generated by the integrated circuit chip." }, - "currency": { + "application_preferred_name": { "type": "string", - "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." + "nullable": true, + "description": "Mnenomic of the Application Identifier." }, - "description": { + "authorization_code": { "type": "string", "nullable": true, - "description": "An arbitrary string attached to the object. Often useful for displaying to users." + "description": "Identifier for this transaction." }, - "discount_amounts": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.InvoiceLineItem.DiscountAmount" - }, - "type": "array", + "authorization_response_code": { + "type": "string", "nullable": true, - "description": "The amount of discount calculated per discount for this line item." - }, - "discountable": { - "type": "boolean", - "description": "If true, discounts will apply to this line item. Always false for prorations." - }, - "discounts": { - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Discount" - } - ] - }, - "type": "array", - "description": "The discounts applied to the invoice line item. Line item discounts are applied before invoice discounts. Use `expand[]=discounts` to expand each discount." + "description": "EMV tag 8A. A code returned by the card issuer." }, - "invoice": { + "cardholder_verification_method": { "type": "string", "nullable": true, - "description": "The ID of the invoice that contains this line item." - }, - "invoice_item": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.InvoiceItem" - } - ], - "description": "The ID of the [invoice item](https://stripe.com/docs/api/invoiceitems) associated with this line item if any." - }, - "livemode": { - "type": "boolean", - "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." + "description": "Describes the method used by the cardholder to verify ownership of the card. One of the following: `approval`, `failure`, `none`, `offline_pin`, `offline_pin_and_signature`, `online_pin`, or `signature`." }, - "metadata": { - "$ref": "#/components/schemas/stripe.Stripe.Metadata", - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Note that for line items with `type=subscription`, `metadata` reflects the current metadata from the subscription associated with the line item, unless the invoice line was directly updated with different metadata after creation." + "dedicated_file_name": { + "type": "string", + "nullable": true, + "description": "EMV tag 84. Similar to the application identifier stored on the integrated circuit chip." }, - "period": { - "$ref": "#/components/schemas/stripe.Stripe.InvoiceLineItem.Period" + "terminal_verification_results": { + "type": "string", + "nullable": true, + "description": "The outcome of a series of EMV functions performed by the card reader." }, - "plan": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Plan" - } - ], + "transaction_status_information": { + "type": "string", "nullable": true, - "description": "The plan of the subscription, if the line item is a subscription or a proration." + "description": "An indication of various EMV functions performed during the transaction." + } + }, + "required": [ + "application_cryptogram", + "application_preferred_name", + "authorization_code", + "authorization_response_code", + "cardholder_verification_method", + "dedicated_file_name", + "terminal_verification_results", + "transaction_status_information" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Charge.PaymentMethodDetails.InteracPresent": { + "properties": { + "brand": { + "type": "string", + "nullable": true, + "description": "Card brand. Can be `interac`, `mastercard` or `visa`." }, - "pretax_credit_amounts": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.InvoiceLineItem.PretaxCreditAmount" - }, - "type": "array", + "cardholder_name": { + "type": "string", "nullable": true, - "description": "Contains pretax credit amounts (ex: discount, credit grants, etc) that apply to this line item." + "description": "The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay." }, - "price": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Price" - } - ], + "country": { + "type": "string", "nullable": true, - "description": "The price of the line item." + "description": "Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected." }, - "proration": { - "type": "boolean", - "description": "Whether this is a proration." + "description": { + "type": "string", + "nullable": true, + "description": "A high-level description of the type of cards issued in this range. (For internal use only and not typically available in standard API requests.)" }, - "proration_details": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.InvoiceLineItem.ProrationDetails" - } - ], + "emv_auth_data": { + "type": "string", "nullable": true, - "description": "Additional details for proration line items" + "description": "Authorization response cryptogram." }, - "quantity": { + "exp_month": { "type": "number", "format": "double", + "description": "Two-digit number representing the card's expiration month." + }, + "exp_year": { + "type": "number", + "format": "double", + "description": "Four-digit number representing the card's expiration year." + }, + "fingerprint": { + "type": "string", "nullable": true, - "description": "The quantity of the subscription, if the line item is a subscription or a proration." + "description": "Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.\n\n*As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.*" }, - "subscription": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Subscription" - } - ], + "funding": { + "type": "string", "nullable": true, - "description": "The subscription that the invoice item pertains to, if any." + "description": "Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`." }, - "subscription_item": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.SubscriptionItem" - } - ], - "description": "The subscription item that generated this line item. Left empty if the line item is not an explicit result of a subscription." + "generated_card": { + "type": "string", + "nullable": true, + "description": "ID of a card PaymentMethod generated from the card_present PaymentMethod that may be attached to a Customer for future transactions. Only present if it was possible to generate a card PaymentMethod." }, - "tax_amounts": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.InvoiceLineItem.TaxAmount" - }, - "type": "array", - "description": "The amount of tax calculated per tax rate for this line item" + "iin": { + "type": "string", + "nullable": true, + "description": "Issuer identification number of the card. (For internal use only and not typically available in standard API requests.)" }, - "tax_rates": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.TaxRate" - }, - "type": "array", - "description": "The tax rates which apply to the line item." + "issuer": { + "type": "string", + "nullable": true, + "description": "The name of the card's issuing bank. (For internal use only and not typically available in standard API requests.)" }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.InvoiceLineItem.Type", - "description": "A string identifying the type of the source of this line item, either an `invoiceitem` or a `subscription`." + "last4": { + "type": "string", + "nullable": true, + "description": "The last four digits of the card." }, - "unit_amount_excluding_tax": { + "network": { "type": "string", "nullable": true, - "description": "The amount in cents (or local equivalent) representing the unit amount for this line item, excluding all tax and discounts." - } - }, - "required": [ - "id", - "object", - "amount", - "amount_excluding_tax", - "currency", - "description", - "discount_amounts", - "discountable", - "discounts", - "invoice", - "livemode", - "metadata", - "period", - "plan", - "pretax_credit_amounts", - "price", - "proration", - "proration_details", - "quantity", - "subscription", - "tax_amounts", - "tax_rates", - "type", - "unit_amount_excluding_tax" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.ApiList_stripe.Stripe.InvoiceLineItem_": { - "description": "A container for paginated lists of objects.\nThe array of objects is on the `.data` property,\nand `.has_more` indicates whether there are additional objects beyond the end of this list.\n\nLearn more in Stripe's [pagination docs](https://stripe.com/docs/api/pagination?lang=node)\nor, when iterating over many items, try [auto-pagination](https://github.com/stripe/stripe-node#auto-pagination) instead.", - "properties": { - "object": { + "description": "Identifies which network this charge was processed on. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `interac`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`." + }, + "network_transaction_id": { "type": "string", - "enum": [ - "list" - ], - "nullable": false + "nullable": true, + "description": "This is used by the financial networks to identify a transaction. Visa calls this the Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the Acquirer Reference Data. This value will be present if it is returned by the financial network in the authorization response, and null otherwise." }, - "data": { + "preferred_locales": { "items": { - "$ref": "#/components/schemas/stripe.Stripe.InvoiceLineItem" + "type": "string" }, - "type": "array" + "type": "array", + "nullable": true, + "description": "EMV tag 5F2D. Preferred languages specified by the integrated circuit chip." }, - "has_more": { - "type": "boolean", - "description": "True if this list has another page of items after this one that can be fetched." + "read_method": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.InteracPresent.ReadMethod" + } + ], + "nullable": true, + "description": "How card details were read in this transaction." }, - "url": { - "type": "string", - "description": "The URL where this list can be accessed." - } - }, - "required": [ - "object", - "data", - "has_more", - "url" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.AcssDebit.MandateOptions.TransactionType": { - "type": "string", - "enum": [ - "business", - "personal" - ] - }, - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.AcssDebit.MandateOptions": { - "properties": { - "transaction_type": { + "receipt": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.AcssDebit.MandateOptions.TransactionType" + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.InteracPresent.Receipt" } ], "nullable": true, - "description": "Transaction type of the mandate." + "description": "A collection of fields required to be displayed on receipts. Only required for EMV transactions." } }, "required": [ - "transaction_type" + "brand", + "cardholder_name", + "country", + "emv_auth_data", + "exp_month", + "exp_year", + "fingerprint", + "funding", + "generated_card", + "last4", + "network", + "network_transaction_id", + "preferred_locales", + "read_method", + "receipt" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.AcssDebit.VerificationMethod": { - "type": "string", - "enum": [ - "automatic", - "instant", - "microdeposits" - ] - }, - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.AcssDebit": { + "stripe.Stripe.Charge.PaymentMethodDetails.KakaoPay": { "properties": { - "mandate_options": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.AcssDebit.MandateOptions" - }, - "verification_method": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.AcssDebit.VerificationMethod", - "description": "Bank account verification method." + "buyer_id": { + "type": "string", + "nullable": true, + "description": "A unique identifier for the buyer as determined by the local payment processor." } }, + "required": [ + "buyer_id" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Bancontact.PreferredLanguage": { - "type": "string", - "enum": [ - "de", - "en", - "fr", - "nl" - ] - }, - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Bancontact": { + "stripe.Stripe.Charge.PaymentMethodDetails.Klarna.PayerDetails.Address": { "properties": { - "preferred_language": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Bancontact.PreferredLanguage", - "description": "Preferred language of the Bancontact authorization page that the customer is redirected to." + "country": { + "type": "string", + "nullable": true, + "description": "The payer address country" } }, "required": [ - "preferred_language" + "country" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Card.Installments": { + "stripe.Stripe.Charge.PaymentMethodDetails.Klarna.PayerDetails": { "properties": { - "enabled": { - "type": "boolean", + "address": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Klarna.PayerDetails.Address" + } + ], "nullable": true, - "description": "Whether Installments are enabled for this Invoice." + "description": "The payer's address" } }, "required": [ - "enabled" + "address" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Card.RequestThreeDSecure": { - "type": "string", - "enum": [ - "any", - "automatic", - "challenge" - ] - }, - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Card": { + "stripe.Stripe.Charge.PaymentMethodDetails.Klarna": { "properties": { - "installments": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Card.Installments" - }, - "request_three_d_secure": { + "payer_details": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Card.RequestThreeDSecure" + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Klarna.PayerDetails" } ], "nullable": true, - "description": "We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine." + "description": "The payer details for this transaction." + }, + "payment_method_category": { + "type": "string", + "nullable": true, + "description": "The Klarna payment method used for this transaction.\nCan be one of `pay_later`, `pay_now`, `pay_with_financing`, or `pay_in_installments`" + }, + "preferred_locale": { + "type": "string", + "nullable": true, + "description": "Preferred language of the Klarna authorization page that the customer is redirected to.\nCan be one of `de-AT`, `en-AT`, `nl-BE`, `fr-BE`, `en-BE`, `de-DE`, `en-DE`, `da-DK`, `en-DK`, `es-ES`, `en-ES`, `fi-FI`, `sv-FI`, `en-FI`, `en-GB`, `en-IE`, `it-IT`, `en-IT`, `nl-NL`, `en-NL`, `nb-NO`, `en-NO`, `sv-SE`, `en-SE`, `en-US`, `es-US`, `fr-FR`, `en-FR`, `cs-CZ`, `en-CZ`, `ro-RO`, `en-RO`, `el-GR`, `en-GR`, `en-AU`, `en-NZ`, `en-CA`, `fr-CA`, `pl-PL`, `en-PL`, `pt-PT`, `en-PT`, `de-CH`, `fr-CH`, `it-CH`, or `en-CH`" } }, "required": [ - "request_three_d_secure" + "payer_details", + "payment_method_category", + "preferred_locale" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer.Country": { + "stripe.Stripe.Charge.PaymentMethodDetails.Konbini.Store.Chain": { "type": "string", "enum": [ - "BE", - "DE", - "ES", - "FR", - "IE", - "NL" + "familymart", + "lawson", + "ministop", + "seicomart" ] }, - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer": { - "properties": { - "country": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer.Country", - "description": "The desired country code of the bank account information. Permitted values include: `BE`, `DE`, `ES`, `FR`, `IE`, or `NL`." - } - }, - "required": [ - "country" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer": { + "stripe.Stripe.Charge.PaymentMethodDetails.Konbini.Store": { "properties": { - "eu_bank_transfer": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer" - }, - "type": { - "type": "string", + "chain": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Konbini.Store.Chain" + } + ], "nullable": true, - "description": "The bank transfer type that can be used for funding. Permitted values include: `eu_bank_transfer`, `gb_bank_transfer`, `jp_bank_transfer`, `mx_bank_transfer`, or `us_bank_transfer`." + "description": "The name of the convenience store chain where the payment was completed." } }, "required": [ - "type" + "chain" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.CustomerBalance": { + "stripe.Stripe.Charge.PaymentMethodDetails.Konbini": { "properties": { - "bank_transfer": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer" - }, - "funding_type": { - "type": "string", - "enum": [ - "bank_transfer", - null + "store": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Konbini.Store" + } ], "nullable": true, - "description": "The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`." + "description": "If the payment succeeded, this contains the details of the convenience store where the payment was completed." } }, "required": [ - "funding_type" + "store" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Konbini": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.SepaDebit": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters.AccountSubcategory": { - "type": "string", - "enum": [ - "checking", - "savings" - ] - }, - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters": { - "properties": { - "account_subcategories": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters.AccountSubcategory" - }, - "type": "array", - "description": "The account subcategories to use to filter for possible accounts to link. Valid subcategories are `checking` and `savings`." - } - }, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Permission": { - "type": "string", - "enum": [ - "balances", - "ownership", - "payment_method", - "transactions" - ] - }, - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Prefetch": { + "stripe.Stripe.Charge.PaymentMethodDetails.KrCard.Brand": { "type": "string", "enum": [ - "balances", - "ownership", - "transactions" + "bc", + "citi", + "hana", + "hyundai", + "jeju", + "jeonbuk", + "kakaobank", + "kbank", + "kdbbank", + "kookmin", + "kwangju", + "lotte", + "mg", + "nh", + "post", + "samsung", + "savingsbank", + "shinhan", + "shinhyup", + "suhyup", + "tossbank", + "woori" ] }, - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections": { + "stripe.Stripe.Charge.PaymentMethodDetails.KrCard": { "properties": { - "filters": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters" + "brand": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.KrCard.Brand" + } + ], + "nullable": true, + "description": "The local credit or debit card brand." }, - "permissions": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Permission" - }, - "type": "array", - "description": "The list of permissions to request. The `payment_method` permission must be included." + "buyer_id": { + "type": "string", + "nullable": true, + "description": "A unique identifier for the buyer as determined by the local payment processor." }, - "prefetch": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Prefetch" - }, - "type": "array", + "last4": { + "type": "string", "nullable": true, - "description": "Data features requested to be retrieved upon account creation." + "description": "The last four digits of the card. This may not be present for American Express cards." } }, "required": [ - "prefetch" + "brand", + "buyer_id", + "last4" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.VerificationMethod": { - "type": "string", - "enum": [ - "automatic", - "instant", - "microdeposits" - ] - }, - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount": { + "stripe.Stripe.Charge.PaymentMethodDetails.Link": { "properties": { - "financial_connections": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections" - }, - "verification_method": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.VerificationMethod", - "description": "Bank account verification method." + "country": { + "type": "string", + "nullable": true, + "description": "Two-letter ISO code representing the funding source country beneath the Link payment.\nYou could use this attribute to get a sense of international fees." } }, + "required": [ + "country" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions": { + "stripe.Stripe.Charge.PaymentMethodDetails.Mobilepay.Card": { "properties": { - "acss_debit": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.AcssDebit" - } - ], - "nullable": true, - "description": "If paying by `acss_debit`, this sub-hash contains details about the Canadian pre-authorized debit payment method options to pass to the invoice's PaymentIntent." - }, - "bancontact": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Bancontact" - } - ], + "brand": { + "type": "string", "nullable": true, - "description": "If paying by `bancontact`, this sub-hash contains details about the Bancontact payment method options to pass to the invoice's PaymentIntent." + "description": "Brand of the card used in the transaction" }, - "card": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Card" - } - ], + "country": { + "type": "string", "nullable": true, - "description": "If paying by `card`, this sub-hash contains details about the Card payment method options to pass to the invoice's PaymentIntent." + "description": "Two-letter ISO code representing the country of the card" }, - "customer_balance": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.CustomerBalance" - } - ], + "exp_month": { + "type": "number", + "format": "double", "nullable": true, - "description": "If paying by `customer_balance`, this sub-hash contains details about the Bank transfer payment method options to pass to the invoice's PaymentIntent." + "description": "Two digit number representing the card's expiration month" }, - "konbini": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Konbini" - } - ], + "exp_year": { + "type": "number", + "format": "double", "nullable": true, - "description": "If paying by `konbini`, this sub-hash contains details about the Konbini payment method options to pass to the invoice's PaymentIntent." + "description": "Two digit number representing the card's expiration year" }, - "sepa_debit": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.SepaDebit" - } - ], + "last4": { + "type": "string", "nullable": true, - "description": "If paying by `sepa_debit`, this sub-hash contains details about the SEPA Direct Debit payment method options to pass to the invoice's PaymentIntent." - }, - "us_bank_account": { + "description": "The last 4 digits of the card" + } + }, + "required": [ + "brand", + "country", + "exp_month", + "exp_year", + "last4" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Charge.PaymentMethodDetails.Mobilepay": { + "properties": { + "card": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount" + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Mobilepay.Card" } ], "nullable": true, - "description": "If paying by `us_bank_account`, this sub-hash contains details about the ACH direct debit payment method options to pass to the invoice's PaymentIntent." + "description": "Internal card details" } }, "required": [ - "acss_debit", - "bancontact", - "card", - "customer_balance", - "konbini", - "sepa_debit", - "us_bank_account" + "card" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodType": { - "type": "string", - "enum": [ - "ach_credit_transfer", - "ach_debit", - "acss_debit", - "amazon_pay", - "au_becs_debit", - "bacs_debit", - "bancontact", - "boleto", - "card", - "cashapp", - "customer_balance", - "eps", - "fpx", - "giropay", - "grabpay", - "ideal", - "jp_credit_transfer", - "kakao_pay", - "konbini", - "kr_card", - "link", - "multibanco", - "naver_pay", - "p24", - "payco", - "paynow", - "paypal", - "promptpay", - "revolut_pay", - "sepa_credit_transfer", - "sepa_debit", - "sofort", - "swish", - "us_bank_account", - "wechat_pay" - ] - }, - "stripe.Stripe.Invoice.PaymentSettings": { + "stripe.Stripe.Charge.PaymentMethodDetails.Multibanco": { "properties": { - "default_mandate": { + "entity": { "type": "string", "nullable": true, - "description": "ID of the mandate to be used for this invoice. It must correspond to the payment method used to pay the invoice, including the invoice's default_payment_method or default_source, if set." - }, - "payment_method_options": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions" - } - ], - "nullable": true, - "description": "Payment-method-specific configuration to provide to the invoice's PaymentIntent." + "description": "Entity number associated with this Multibanco payment." }, - "payment_method_types": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodType" - }, - "type": "array", + "reference": { + "type": "string", "nullable": true, - "description": "The list of payment method types (e.g. card) to provide to the invoice's PaymentIntent. If not set, Stripe attempts to automatically determine the types to use by looking at the invoice's default payment method, the subscription's default payment method, the customer's default payment method, and your [invoice template settings](https://dashboard.stripe.com/settings/billing/invoice)." + "description": "Reference number associated with this Multibanco payment." } }, "required": [ - "default_mandate", - "payment_method_options", - "payment_method_types" + "entity", + "reference" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Quote.AutomaticTax.Liability.Type": { - "type": "string", - "enum": [ - "account", - "self" - ] + "stripe.Stripe.Charge.PaymentMethodDetails.NaverPay": { + "properties": { + "buyer_id": { + "type": "string", + "nullable": true, + "description": "A unique identifier for the buyer as determined by the local payment processor." + } + }, + "required": [ + "buyer_id" + ], + "type": "object", + "additionalProperties": false }, - "stripe.Stripe.Quote.AutomaticTax.Liability": { + "stripe.Stripe.Charge.PaymentMethodDetails.Oxxo": { "properties": { - "account": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Account" - } - ], - "description": "The connected account being referenced when `type` is `account`." - }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.Quote.AutomaticTax.Liability.Type", - "description": "Type of the account referenced." + "number": { + "type": "string", + "nullable": true, + "description": "OXXO reference number" } }, "required": [ - "type" + "number" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Quote.AutomaticTax.Status": { + "stripe.Stripe.Charge.PaymentMethodDetails.P24.Bank": { "type": "string", "enum": [ - "complete", - "failed", - "requires_location_inputs" + "alior_bank", + "bank_millennium", + "bank_nowy_bfg_sa", + "bank_pekao_sa", + "banki_spbdzielcze", + "blik", + "bnp_paribas", + "boz", + "citi_handlowy", + "credit_agricole", + "envelobank", + "etransfer_pocztowy24", + "getin_bank", + "ideabank", + "ing", + "inteligo", + "mbank_mtransfer", + "nest_przelew", + "noble_pay", + "pbac_z_ipko", + "plus_bank", + "santander_przelew24", + "tmobile_usbugi_bankowe", + "toyota_bank", + "velobank", + "volkswagen_bank" ] }, - "stripe.Stripe.Quote.AutomaticTax": { + "stripe.Stripe.Charge.PaymentMethodDetails.P24": { "properties": { - "enabled": { - "type": "boolean", - "description": "Automatically calculate taxes" - }, - "liability": { + "bank": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Quote.AutomaticTax.Liability" + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.P24.Bank" } ], "nullable": true, - "description": "The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account." + "description": "The customer's bank. Can be one of `ing`, `citi_handlowy`, `tmobile_usbugi_bankowe`, `plus_bank`, `etransfer_pocztowy24`, `banki_spbdzielcze`, `bank_nowy_bfg_sa`, `getin_bank`, `velobank`, `blik`, `noble_pay`, `ideabank`, `envelobank`, `santander_przelew24`, `nest_przelew`, `mbank_mtransfer`, `inteligo`, `pbac_z_ipko`, `bnp_paribas`, `credit_agricole`, `toyota_bank`, `bank_pekao_sa`, `volkswagen_bank`, `bank_millennium`, `alior_bank`, or `boz`." }, - "status": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Quote.AutomaticTax.Status" - } - ], + "reference": { + "type": "string", + "nullable": true, + "description": "Unique reference for this Przelewy24 payment." + }, + "verified_name": { + "type": "string", + "nullable": true, + "description": "Owner's verified full name. Values are verified or provided by Przelewy24 directly\n(if supported) at the time of authorization or settlement. They cannot be set or mutated.\nPrzelewy24 rarely provides this information so the attribute is usually empty." + } + }, + "required": [ + "bank", + "reference", + "verified_name" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Charge.PaymentMethodDetails.PayByBank": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Charge.PaymentMethodDetails.Payco": { + "properties": { + "buyer_id": { + "type": "string", "nullable": true, - "description": "The status of the most recent automated tax calculation for this quote." + "description": "A unique identifier for the buyer as determined by the local payment processor." } }, "required": [ - "enabled", - "liability", - "status" + "buyer_id" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Quote.CollectionMethod": { + "stripe.Stripe.Charge.PaymentMethodDetails.Paynow": { + "properties": { + "reference": { + "type": "string", + "nullable": true, + "description": "Reference number associated with this PayNow payment" + } + }, + "required": [ + "reference" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Charge.PaymentMethodDetails.Paypal.SellerProtection.DisputeCategory": { "type": "string", "enum": [ - "charge_automatically", - "send_invoice" + "fraudulent", + "product_not_received" ] }, - "stripe.Stripe.Quote.Computed.Recurring.Interval": { + "stripe.Stripe.Charge.PaymentMethodDetails.Paypal.SellerProtection.Status": { "type": "string", "enum": [ - "day", - "month", - "week", - "year" + "eligible", + "not_eligible", + "partially_eligible" ] }, - "stripe.Stripe.Quote.Computed.Recurring.TotalDetails.Breakdown.Discount": { + "stripe.Stripe.Charge.PaymentMethodDetails.Paypal.SellerProtection": { "properties": { - "amount": { - "type": "number", - "format": "double", - "description": "The amount discounted." + "dispute_categories": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Paypal.SellerProtection.DisputeCategory" + }, + "type": "array", + "nullable": true, + "description": "An array of conditions that are covered for the transaction, if applicable." }, - "discount": { - "$ref": "#/components/schemas/stripe.Stripe.Discount", - "description": "A discount represents the actual application of a [coupon](https://stripe.com/docs/api#coupons) or [promotion code](https://stripe.com/docs/api#promotion_codes).\nIt contains information about when the discount began, when it will end, and what it is applied to.\n\nRelated guide: [Applying discounts to subscriptions](https://stripe.com/docs/billing/subscriptions/discounts)" + "status": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Paypal.SellerProtection.Status", + "description": "Indicates whether the transaction is eligible for PayPal's seller protection." } }, "required": [ - "amount", - "discount" + "dispute_categories", + "status" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Quote.Computed.Recurring.TotalDetails.Breakdown.Tax.TaxabilityReason": { - "type": "string", - "enum": [ - "customer_exempt", - "not_collecting", - "not_subject_to_tax", - "not_supported", - "portion_product_exempt", - "portion_reduced_rated", - "portion_standard_rated", - "product_exempt", - "product_exempt_holiday", - "proportionally_rated", - "reduced_rated", - "reverse_charge", - "standard_rated", - "taxable_basis_reduced", - "zero_rated" - ] - }, - "stripe.Stripe.Quote.Computed.Recurring.TotalDetails.Breakdown.Tax": { + "stripe.Stripe.Charge.PaymentMethodDetails.Paypal": { "properties": { - "amount": { - "type": "number", - "format": "double", - "description": "Amount of tax applied for this rate." + "country": { + "type": "string", + "nullable": true, + "description": "Two-letter ISO code representing the buyer's country. Values are provided by PayPal directly (if supported) at the time of authorization or settlement. They cannot be set or mutated." }, - "rate": { - "$ref": "#/components/schemas/stripe.Stripe.TaxRate", - "description": "Tax rates can be applied to [invoices](https://stripe.com/invoicing/taxes/tax-rates), [subscriptions](https://stripe.com/billing/taxes/tax-rates) and [Checkout Sessions](https://stripe.com/payments/checkout/use-manual-tax-rates) to collect tax.\n\nRelated guide: [Tax rates](https://stripe.com/billing/taxes/tax-rates)" + "payer_email": { + "type": "string", + "nullable": true, + "description": "Owner's email. Values are provided by PayPal directly\n(if supported) at the time of authorization or settlement. They cannot be set or mutated." }, - "taxability_reason": { + "payer_id": { + "type": "string", + "nullable": true, + "description": "PayPal account PayerID. This identifier uniquely identifies the PayPal customer." + }, + "payer_name": { + "type": "string", + "nullable": true, + "description": "Owner's full name. Values provided by PayPal directly\n(if supported) at the time of authorization or settlement. They cannot be set or mutated." + }, + "seller_protection": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Quote.Computed.Recurring.TotalDetails.Breakdown.Tax.TaxabilityReason" + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Paypal.SellerProtection" } ], "nullable": true, - "description": "The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported." + "description": "The level of protection offered as defined by PayPal Seller Protection for Merchants, for this transaction." }, - "taxable_amount": { - "type": "number", - "format": "double", + "transaction_id": { + "type": "string", "nullable": true, - "description": "The amount on which tax is calculated, in cents (or local equivalent)." + "description": "A unique ID generated by PayPal for this transaction." } }, "required": [ - "amount", - "rate", - "taxability_reason", - "taxable_amount" + "country", + "payer_email", + "payer_id", + "payer_name", + "seller_protection", + "transaction_id" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Quote.Computed.Recurring.TotalDetails.Breakdown": { + "stripe.Stripe.Charge.PaymentMethodDetails.Pix": { "properties": { - "discounts": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Quote.Computed.Recurring.TotalDetails.Breakdown.Discount" - }, - "type": "array", - "description": "The aggregated discounts." - }, - "taxes": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Quote.Computed.Recurring.TotalDetails.Breakdown.Tax" - }, - "type": "array", - "description": "The aggregated tax amounts by rate." + "bank_transaction_id": { + "type": "string", + "nullable": true, + "description": "Unique transaction id generated by BCB" + } + }, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Charge.PaymentMethodDetails.Promptpay": { + "properties": { + "reference": { + "type": "string", + "nullable": true, + "description": "Bill reference generated by PromptPay" } }, "required": [ - "discounts", - "taxes" + "reference" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Quote.Computed.Recurring.TotalDetails": { + "stripe.Stripe.Charge.PaymentMethodDetails.RevolutPay.Funding.Card": { "properties": { - "amount_discount": { - "type": "number", - "format": "double", - "description": "This is the sum of all the discounts." + "brand": { + "type": "string", + "nullable": true, + "description": "Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`." }, - "amount_shipping": { + "country": { + "type": "string", + "nullable": true, + "description": "Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected." + }, + "exp_month": { "type": "number", "format": "double", "nullable": true, - "description": "This is the sum of all the shipping amounts." + "description": "Two-digit number representing the card's expiration month." }, - "amount_tax": { + "exp_year": { "type": "number", "format": "double", - "description": "This is the sum of all the tax amounts." + "nullable": true, + "description": "Four-digit number representing the card's expiration year." }, - "breakdown": { - "$ref": "#/components/schemas/stripe.Stripe.Quote.Computed.Recurring.TotalDetails.Breakdown" + "funding": { + "type": "string", + "nullable": true, + "description": "Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`." + }, + "last4": { + "type": "string", + "nullable": true, + "description": "The last four digits of the card." } }, "required": [ - "amount_discount", - "amount_shipping", - "amount_tax" + "brand", + "country", + "exp_month", + "exp_year", + "funding", + "last4" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Quote.Computed.Recurring": { + "stripe.Stripe.Charge.PaymentMethodDetails.RevolutPay.Funding": { "properties": { - "amount_subtotal": { - "type": "number", - "format": "double", - "description": "Total before any discounts or taxes are applied." - }, - "amount_total": { - "type": "number", - "format": "double", - "description": "Total after discounts and taxes are applied." - }, - "interval": { - "$ref": "#/components/schemas/stripe.Stripe.Quote.Computed.Recurring.Interval", - "description": "The frequency at which a subscription is billed. One of `day`, `week`, `month` or `year`." - }, - "interval_count": { - "type": "number", - "format": "double", - "description": "The number of intervals (specified in the `interval` attribute) between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months." + "card": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.RevolutPay.Funding.Card" }, - "total_details": { - "$ref": "#/components/schemas/stripe.Stripe.Quote.Computed.Recurring.TotalDetails" + "type": { + "type": "string", + "enum": [ + "card", + null + ], + "nullable": true, + "description": "funding type of the underlying payment method." } }, "required": [ - "amount_subtotal", - "amount_total", - "interval", - "interval_count", - "total_details" + "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.LineItem.Discount": { + "stripe.Stripe.Charge.PaymentMethodDetails.RevolutPay": { "properties": { - "amount": { - "type": "number", - "format": "double", - "description": "The amount discounted." - }, - "discount": { - "$ref": "#/components/schemas/stripe.Stripe.Discount", - "description": "A discount represents the actual application of a [coupon](https://stripe.com/docs/api#coupons) or [promotion code](https://stripe.com/docs/api#promotion_codes).\nIt contains information about when the discount began, when it will end, and what it is applied to.\n\nRelated guide: [Applying discounts to subscriptions](https://stripe.com/docs/billing/subscriptions/discounts)" + "funding": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.RevolutPay.Funding" + } + }, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Charge.PaymentMethodDetails.SamsungPay": { + "properties": { + "buyer_id": { + "type": "string", + "nullable": true, + "description": "A unique identifier for the buyer as determined by the local payment processor." } }, "required": [ - "amount", - "discount" + "buyer_id" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.LineItem.Tax.TaxabilityReason": { - "type": "string", - "enum": [ - "customer_exempt", - "not_collecting", - "not_subject_to_tax", - "not_supported", - "portion_product_exempt", - "portion_reduced_rated", - "portion_standard_rated", - "product_exempt", - "product_exempt_holiday", - "proportionally_rated", - "reduced_rated", - "reverse_charge", - "standard_rated", - "taxable_basis_reduced", - "zero_rated" - ] - }, - "stripe.Stripe.LineItem.Tax": { + "stripe.Stripe.Charge.PaymentMethodDetails.SepaCreditTransfer": { "properties": { - "amount": { - "type": "number", - "format": "double", - "description": "Amount of tax applied for this rate." - }, - "rate": { - "$ref": "#/components/schemas/stripe.Stripe.TaxRate", - "description": "Tax rates can be applied to [invoices](https://stripe.com/invoicing/taxes/tax-rates), [subscriptions](https://stripe.com/billing/taxes/tax-rates) and [Checkout Sessions](https://stripe.com/payments/checkout/use-manual-tax-rates) to collect tax.\n\nRelated guide: [Tax rates](https://stripe.com/billing/taxes/tax-rates)" + "bank_name": { + "type": "string", + "nullable": true, + "description": "Name of the bank associated with the bank account." }, - "taxability_reason": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.LineItem.Tax.TaxabilityReason" - } - ], + "bic": { + "type": "string", "nullable": true, - "description": "The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported." + "description": "Bank Identifier Code of the bank associated with the bank account." }, - "taxable_amount": { - "type": "number", - "format": "double", + "iban": { + "type": "string", "nullable": true, - "description": "The amount on which tax is calculated, in cents (or local equivalent)." + "description": "IBAN of the bank account to transfer funds to." } }, "required": [ - "amount", - "rate", - "taxability_reason", - "taxable_amount" + "bank_name", + "bic", + "iban" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.LineItem": { - "description": "A line item.", + "stripe.Stripe.Charge.PaymentMethodDetails.SepaDebit": { "properties": { - "id": { + "bank_code": { "type": "string", - "description": "Unique identifier for the object." + "nullable": true, + "description": "Bank code of bank associated with the bank account." }, - "object": { + "branch_code": { "type": "string", - "enum": [ - "item" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." - }, - "amount_discount": { - "type": "number", - "format": "double", - "description": "Total discount amount applied. If no discounts were applied, defaults to 0." - }, - "amount_subtotal": { - "type": "number", - "format": "double", - "description": "Total before any discounts or taxes are applied." - }, - "amount_tax": { - "type": "number", - "format": "double", - "description": "Total tax amount applied. If no tax was applied, defaults to 0." - }, - "amount_total": { - "type": "number", - "format": "double", - "description": "Total after discounts and taxes." + "nullable": true, + "description": "Branch code of bank associated with the bank account." }, - "currency": { + "country": { "type": "string", - "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." + "nullable": true, + "description": "Two-letter ISO code representing the country the bank account is located in." }, - "description": { + "fingerprint": { "type": "string", "nullable": true, - "description": "An arbitrary string attached to the object. Often useful for displaying to users. Defaults to product name." - }, - "discounts": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.LineItem.Discount" - }, - "type": "array", - "description": "The discounts applied to the line item." + "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same." }, - "price": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Price" - } - ], + "last4": { + "type": "string", "nullable": true, - "description": "The price used to generate the line item." + "description": "Last four characters of the IBAN." }, - "quantity": { - "type": "number", - "format": "double", + "mandate": { + "type": "string", "nullable": true, - "description": "The quantity of products being purchased." - }, - "taxes": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.LineItem.Tax" - }, - "type": "array", - "description": "The taxes applied to the line item." + "description": "Find the ID of the mandate used for this payment under the [payment_method_details.sepa_debit.mandate](https://stripe.com/docs/api/charges/object#charge_object-payment_method_details-sepa_debit-mandate) property on the Charge. Use this mandate ID to [retrieve the Mandate](https://stripe.com/docs/api/mandates/retrieve)." } }, "required": [ - "id", - "object", - "amount_discount", - "amount_subtotal", - "amount_tax", - "amount_total", - "currency", - "description", - "price", - "quantity" + "bank_code", + "branch_code", + "country", + "fingerprint", + "last4", + "mandate" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.ApiList_stripe.Stripe.LineItem_": { - "description": "A container for paginated lists of objects.\nThe array of objects is on the `.data` property,\nand `.has_more` indicates whether there are additional objects beyond the end of this list.\n\nLearn more in Stripe's [pagination docs](https://stripe.com/docs/api/pagination?lang=node)\nor, when iterating over many items, try [auto-pagination](https://github.com/stripe/stripe-node#auto-pagination) instead.", + "stripe.Stripe.Charge.PaymentMethodDetails.Sofort.PreferredLanguage": { + "type": "string", + "enum": [ + "de", + "en", + "es", + "fr", + "it", + "nl", + "pl" + ] + }, + "stripe.Stripe.Charge.PaymentMethodDetails.Sofort": { "properties": { - "object": { + "bank_code": { "type": "string", - "enum": [ - "list" + "nullable": true, + "description": "Bank code of bank associated with the bank account." + }, + "bank_name": { + "type": "string", + "nullable": true, + "description": "Name of the bank associated with the bank account." + }, + "bic": { + "type": "string", + "nullable": true, + "description": "Bank Identifier Code of the bank associated with the bank account." + }, + "country": { + "type": "string", + "nullable": true, + "description": "Two-letter ISO code representing the country the bank account is located in." + }, + "generated_sepa_debit": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod" + } ], - "nullable": false + "nullable": true, + "description": "The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge." }, - "data": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.LineItem" - }, - "type": "array" + "generated_sepa_debit_mandate": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Mandate" + } + ], + "nullable": true, + "description": "The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge." }, - "has_more": { - "type": "boolean", - "description": "True if this list has another page of items after this one that can be fetched." + "iban_last4": { + "type": "string", + "nullable": true, + "description": "Last four characters of the IBAN." }, - "url": { + "preferred_language": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Sofort.PreferredLanguage" + } + ], + "nullable": true, + "description": "Preferred language of the SOFORT authorization page that the customer is redirected to.\nCan be one of `de`, `en`, `es`, `fr`, `it`, `nl`, or `pl`" + }, + "verified_name": { "type": "string", - "description": "The URL where this list can be accessed." + "nullable": true, + "description": "Owner's verified full name. Values are verified or provided by SOFORT directly\n(if supported) at the time of authorization or settlement. They cannot be set or mutated." } }, "required": [ - "object", - "data", - "has_more", - "url" + "bank_code", + "bank_name", + "bic", + "country", + "generated_sepa_debit", + "generated_sepa_debit_mandate", + "iban_last4", + "preferred_language", + "verified_name" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Quote.Computed.Upfront.TotalDetails.Breakdown.Discount": { + "stripe.Stripe.Charge.PaymentMethodDetails.StripeAccount": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Charge.PaymentMethodDetails.Swish": { "properties": { - "amount": { - "type": "number", - "format": "double", - "description": "The amount discounted." + "fingerprint": { + "type": "string", + "nullable": true, + "description": "Uniquely identifies the payer's Swish account. You can use this attribute to check whether two Swish transactions were paid for by the same payer" }, - "discount": { - "$ref": "#/components/schemas/stripe.Stripe.Discount", - "description": "A discount represents the actual application of a [coupon](https://stripe.com/docs/api#coupons) or [promotion code](https://stripe.com/docs/api#promotion_codes).\nIt contains information about when the discount began, when it will end, and what it is applied to.\n\nRelated guide: [Applying discounts to subscriptions](https://stripe.com/docs/billing/subscriptions/discounts)" + "payment_reference": { + "type": "string", + "nullable": true, + "description": "Payer bank reference number for the payment" + }, + "verified_phone_last4": { + "type": "string", + "nullable": true, + "description": "The last four digits of the Swish account phone number" } }, "required": [ - "amount", - "discount" + "fingerprint", + "payment_reference", + "verified_phone_last4" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Quote.Computed.Upfront.TotalDetails.Breakdown.Tax.TaxabilityReason": { + "stripe.Stripe.Charge.PaymentMethodDetails.Twint": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Charge.PaymentMethodDetails.UsBankAccount.AccountHolderType": { "type": "string", "enum": [ - "customer_exempt", - "not_collecting", - "not_subject_to_tax", - "not_supported", - "portion_product_exempt", - "portion_reduced_rated", - "portion_standard_rated", - "product_exempt", - "product_exempt_holiday", - "proportionally_rated", - "reduced_rated", - "reverse_charge", - "standard_rated", - "taxable_basis_reduced", - "zero_rated" + "company", + "individual" ] }, - "stripe.Stripe.Quote.Computed.Upfront.TotalDetails.Breakdown.Tax": { + "stripe.Stripe.Charge.PaymentMethodDetails.UsBankAccount.AccountType": { + "type": "string", + "enum": [ + "checking", + "savings" + ] + }, + "stripe.Stripe.Charge.PaymentMethodDetails.UsBankAccount": { "properties": { - "amount": { - "type": "number", - "format": "double", - "description": "Amount of tax applied for this rate." - }, - "rate": { - "$ref": "#/components/schemas/stripe.Stripe.TaxRate", - "description": "Tax rates can be applied to [invoices](https://stripe.com/invoicing/taxes/tax-rates), [subscriptions](https://stripe.com/billing/taxes/tax-rates) and [Checkout Sessions](https://stripe.com/payments/checkout/use-manual-tax-rates) to collect tax.\n\nRelated guide: [Tax rates](https://stripe.com/billing/taxes/tax-rates)" + "account_holder_type": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.UsBankAccount.AccountHolderType" + } + ], + "nullable": true, + "description": "Account holder type: individual or company." }, - "taxability_reason": { + "account_type": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Quote.Computed.Upfront.TotalDetails.Breakdown.Tax.TaxabilityReason" + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.UsBankAccount.AccountType" } ], "nullable": true, - "description": "The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported." + "description": "Account type: checkings or savings. Defaults to checking if omitted." }, - "taxable_amount": { - "type": "number", - "format": "double", + "bank_name": { + "type": "string", "nullable": true, - "description": "The amount on which tax is calculated, in cents (or local equivalent)." + "description": "Name of the bank associated with the bank account." + }, + "fingerprint": { + "type": "string", + "nullable": true, + "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same." + }, + "last4": { + "type": "string", + "nullable": true, + "description": "Last four digits of the bank account number." + }, + "mandate": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Mandate" + } + ], + "description": "ID of the mandate used to make this payment." + }, + "payment_reference": { + "type": "string", + "nullable": true, + "description": "Reference number to locate ACH payments with customer's bank." + }, + "routing_number": { + "type": "string", + "nullable": true, + "description": "Routing number of the bank account." } }, "required": [ - "amount", - "rate", - "taxability_reason", - "taxable_amount" + "account_holder_type", + "account_type", + "bank_name", + "fingerprint", + "last4", + "payment_reference", + "routing_number" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Quote.Computed.Upfront.TotalDetails.Breakdown": { - "properties": { - "discounts": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Quote.Computed.Upfront.TotalDetails.Breakdown.Discount" - }, - "type": "array", - "description": "The aggregated discounts." - }, - "taxes": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Quote.Computed.Upfront.TotalDetails.Breakdown.Tax" - }, - "type": "array", - "description": "The aggregated tax amounts by rate." - } - }, - "required": [ - "discounts", - "taxes" - ], + "stripe.Stripe.Charge.PaymentMethodDetails.Wechat": { + "properties": {}, "type": "object", "additionalProperties": false }, - "stripe.Stripe.Quote.Computed.Upfront.TotalDetails": { + "stripe.Stripe.Charge.PaymentMethodDetails.WechatPay": { "properties": { - "amount_discount": { - "type": "number", - "format": "double", - "description": "This is the sum of all the discounts." - }, - "amount_shipping": { - "type": "number", - "format": "double", + "fingerprint": { + "type": "string", "nullable": true, - "description": "This is the sum of all the shipping amounts." - }, - "amount_tax": { - "type": "number", - "format": "double", - "description": "This is the sum of all the tax amounts." + "description": "Uniquely identifies this particular WeChat Pay account. You can use this attribute to check whether two WeChat accounts are the same." }, - "breakdown": { - "$ref": "#/components/schemas/stripe.Stripe.Quote.Computed.Upfront.TotalDetails.Breakdown" + "transaction_id": { + "type": "string", + "nullable": true, + "description": "Transaction ID of this particular WeChat Pay transaction." } }, "required": [ - "amount_discount", - "amount_shipping", - "amount_tax" + "fingerprint", + "transaction_id" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Quote.Computed.Upfront": { + "stripe.Stripe.Charge.PaymentMethodDetails.Zip": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Charge.PaymentMethodDetails": { "properties": { - "amount_subtotal": { - "type": "number", - "format": "double", - "description": "Total before any discounts or taxes are applied." + "ach_credit_transfer": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.AchCreditTransfer" }, - "amount_total": { - "type": "number", - "format": "double", - "description": "Total after discounts and taxes are applied." + "ach_debit": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.AchDebit" }, - "line_items": { - "$ref": "#/components/schemas/stripe.Stripe.ApiList_stripe.Stripe.LineItem_", - "description": "The line items that will appear on the next invoice after this quote is accepted. This does not include pending invoice items that exist on the customer but may still be included in the next invoice." + "acss_debit": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.AcssDebit" }, - "total_details": { - "$ref": "#/components/schemas/stripe.Stripe.Quote.Computed.Upfront.TotalDetails" + "affirm": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Affirm" + }, + "afterpay_clearpay": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.AfterpayClearpay" + }, + "alipay": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Alipay" + }, + "alma": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Alma" + }, + "amazon_pay": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.AmazonPay" + }, + "au_becs_debit": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.AuBecsDebit" + }, + "bacs_debit": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.BacsDebit" + }, + "bancontact": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Bancontact" + }, + "blik": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Blik" + }, + "boleto": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Boleto" + }, + "card": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Card" + }, + "card_present": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.CardPresent" + }, + "cashapp": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Cashapp" + }, + "customer_balance": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.CustomerBalance" + }, + "eps": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Eps" + }, + "fpx": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Fpx" + }, + "giropay": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Giropay" + }, + "grabpay": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Grabpay" + }, + "ideal": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Ideal" + }, + "interac_present": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.InteracPresent" + }, + "kakao_pay": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.KakaoPay" + }, + "klarna": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Klarna" + }, + "konbini": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Konbini" + }, + "kr_card": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.KrCard" + }, + "link": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Link" + }, + "mobilepay": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Mobilepay" + }, + "multibanco": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Multibanco" + }, + "naver_pay": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.NaverPay" + }, + "oxxo": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Oxxo" + }, + "p24": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.P24" + }, + "pay_by_bank": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.PayByBank" + }, + "payco": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Payco" + }, + "paynow": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Paynow" + }, + "paypal": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Paypal" + }, + "pix": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Pix" + }, + "promptpay": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Promptpay" + }, + "revolut_pay": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.RevolutPay" + }, + "samsung_pay": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.SamsungPay" + }, + "sepa_credit_transfer": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.SepaCreditTransfer" + }, + "sepa_debit": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.SepaDebit" + }, + "sofort": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Sofort" + }, + "stripe_account": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.StripeAccount" + }, + "swish": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Swish" + }, + "twint": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Twint" + }, + "type": { + "type": "string", + "description": "The type of transaction-specific details of the payment method used in the payment. See [PaymentMethod.type](https://stripe.com/docs/api/payment_methods/object#payment_method_object-type) for the full list of possible types.\nAn additional hash is included on `payment_method_details` with a name matching this value.\nIt contains information specific to the payment method." + }, + "us_bank_account": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.UsBankAccount" + }, + "wechat": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Wechat" + }, + "wechat_pay": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.WechatPay" + }, + "zip": { + "$ref": "#/components/schemas/stripe.Stripe.Charge.PaymentMethodDetails.Zip" } }, "required": [ - "amount_subtotal", - "amount_total", - "total_details" + "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Quote.Computed": { + "stripe.Stripe.Charge.RadarOptions": { "properties": { - "recurring": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Quote.Computed.Recurring" - } - ], - "nullable": true, - "description": "The definitive totals and line items the customer will be charged on a recurring basis. Takes into account the line items with recurring prices and discounts with `duration=forever` coupons only. Defaults to `null` if no inputted line items with recurring prices." - }, - "upfront": { - "$ref": "#/components/schemas/stripe.Stripe.Quote.Computed.Upfront" + "session": { + "type": "string", + "description": "A [Radar Session](https://stripe.com/docs/radar/radar-session) is a snapshot of the browser metadata and device details that help Radar make more accurate predictions on your payments." } }, - "required": [ - "recurring", - "upfront" - ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Quote": { - "description": "A Quote is a way to model prices that you'd like to provide to a customer.\nOnce accepted, it will automatically create an invoice, subscription or subscription schedule.", + "stripe.Stripe.ApiList_stripe.Stripe.Refund_": { + "description": "A container for paginated lists of objects.\nThe array of objects is on the `.data` property,\nand `.has_more` indicates whether there are additional objects beyond the end of this list.\n\nLearn more in Stripe's [pagination docs](https://stripe.com/docs/api/pagination?lang=node)\nor, when iterating over many items, try [auto-pagination](https://github.com/stripe/stripe-node#auto-pagination) instead.", "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." - }, "object": { "type": "string", "enum": [ - "quote" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." - }, - "amount_subtotal": { - "type": "number", - "format": "double", - "description": "Total before any discounts or taxes are applied." - }, - "amount_total": { - "type": "number", - "format": "double", - "description": "Total after discounts and taxes are applied." - }, - "application": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Application" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.DeletedApplication" - } + "list" ], - "nullable": true, - "description": "ID of the Connect Application that created the quote." - }, - "application_fee_amount": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. Only applicable if there are no line items with recurring prices on the quote." - }, - "application_fee_percent": { - "type": "number", - "format": "double", - "nullable": true, - "description": "A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. Only applicable if there are line items with recurring prices on the quote." - }, - "automatic_tax": { - "$ref": "#/components/schemas/stripe.Stripe.Quote.AutomaticTax" - }, - "collection_method": { - "$ref": "#/components/schemas/stripe.Stripe.Quote.CollectionMethod", - "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay invoices at the end of the subscription cycle or on finalization using the default payment method attached to the subscription or customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`." + "nullable": false }, - "computed": { - "$ref": "#/components/schemas/stripe.Stripe.Quote.Computed" + "data": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Refund" + }, + "type": "array" }, - "created": { - "type": "number", - "format": "double", - "description": "Time at which the object was created. Measured in seconds since the Unix epoch." + "has_more": { + "type": "boolean", + "description": "True if this list has another page of items after this one that can be fetched." }, - "currency": { + "url": { "type": "string", - "nullable": true, - "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." - }, - "customer": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Customer" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.DeletedCustomer" - } - ], - "nullable": true, - "description": "The customer which this quote belongs to. A customer is required before finalizing the quote. Once specified, it cannot be changed." - }, - "default_tax_rates": { - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.TaxRate" - } - ] - }, - "type": "array", - "description": "The tax rates applied to this quote." + "description": "The URL where this list can be accessed." + } + }, + "required": [ + "object", + "data", + "has_more", + "url" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Review.ClosedReason": { + "type": "string", + "enum": [ + "approved", + "disputed", + "redacted", + "refunded", + "refunded_as_fraud" + ] + }, + "stripe.Stripe.Review.IpAddressLocation": { + "properties": { + "city": { + "type": "string", + "nullable": true, + "description": "The city where the payment originated." }, - "description": { + "country": { "type": "string", "nullable": true, - "description": "A description that will be displayed on the quote PDF." + "description": "Two-letter ISO code representing the country where the payment originated." }, - "discounts": { - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Discount" - } - ] - }, - "type": "array", - "description": "The discounts applied to this quote." + "latitude": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The geographic latitude where the payment originated." }, - "expires_at": { + "longitude": { "type": "number", "format": "double", - "description": "The date on which the quote will be canceled if in `open` or `draft` status. Measured in seconds since the Unix epoch." + "nullable": true, + "description": "The geographic longitude where the payment originated." }, - "footer": { + "region": { "type": "string", "nullable": true, - "description": "A footer that will be displayed on the quote PDF." - }, - "from_quote": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Quote.FromQuote" - } - ], + "description": "The state/county/province/region where the payment originated." + } + }, + "required": [ + "city", + "country", + "latitude", + "longitude", + "region" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Review.OpenedReason": { + "type": "string", + "enum": [ + "manual", + "rule" + ] + }, + "stripe.Stripe.Review.Session": { + "properties": { + "browser": { + "type": "string", "nullable": true, - "description": "Details of the quote that was cloned. See the [cloning documentation](https://stripe.com/docs/quotes/clone) for more details." + "description": "The browser used in this browser session (e.g., `Chrome`)." }, - "header": { + "device": { "type": "string", "nullable": true, - "description": "A header that will be displayed on the quote PDF." + "description": "Information about the device used for the browser session (e.g., `Samsung SM-G930T`)." }, - "invoice": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Invoice" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.DeletedInvoice" - } - ], + "platform": { + "type": "string", "nullable": true, - "description": "The invoice that was created from this quote." - }, - "invoice_settings": { - "$ref": "#/components/schemas/stripe.Stripe.Quote.InvoiceSettings" - }, - "line_items": { - "$ref": "#/components/schemas/stripe.Stripe.ApiList_stripe.Stripe.LineItem_", - "description": "A list of items the customer is being quoted for." + "description": "The platform for the browser session (e.g., `Macintosh`)." }, - "livemode": { - "type": "boolean", - "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." + "version": { + "type": "string", + "nullable": true, + "description": "The version for the browser session (e.g., `61.0.3163.100`)." + } + }, + "required": [ + "browser", + "device", + "platform", + "version" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Review": { + "description": "Reviews can be used to supplement automated fraud detection with human expertise.\n\nLearn more about [Radar](https://stripe.com/radar) and reviewing payments\n[here](https://stripe.com/docs/radar/reviews).", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the object." }, - "metadata": { - "$ref": "#/components/schemas/stripe.Stripe.Metadata", - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." + "object": { + "type": "string", + "enum": [ + "review" + ], + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." }, - "number": { + "billing_zip": { "type": "string", "nullable": true, - "description": "A unique number that identifies this particular quote. This number is assigned once the quote is [finalized](https://stripe.com/docs/quotes/overview#finalize)." + "description": "The ZIP or postal code of the card used, if applicable." }, - "on_behalf_of": { + "charge": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.Account" + "$ref": "#/components/schemas/stripe.Stripe.Charge" } ], "nullable": true, - "description": "The account on behalf of which to charge. See the [Connect documentation](https://support.stripe.com/questions/sending-invoices-on-behalf-of-connected-accounts) for details." - }, - "status": { - "$ref": "#/components/schemas/stripe.Stripe.Quote.Status", - "description": "The status of the quote." - }, - "status_transitions": { - "$ref": "#/components/schemas/stripe.Stripe.Quote.StatusTransitions" + "description": "The charge associated with this review." }, - "subscription": { - "anyOf": [ - { - "type": "string" - }, + "closed_reason": { + "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Subscription" + "$ref": "#/components/schemas/stripe.Stripe.Review.ClosedReason" } ], "nullable": true, - "description": "The subscription that was created or updated from this quote." + "description": "The reason the review was closed, or null if it has not yet been closed. One of `approved`, `refunded`, `refunded_as_fraud`, `disputed`, or `redacted`." }, - "subscription_data": { - "$ref": "#/components/schemas/stripe.Stripe.Quote.SubscriptionData" + "created": { + "type": "number", + "format": "double", + "description": "Time at which the object was created. Measured in seconds since the Unix epoch." }, - "subscription_schedule": { - "anyOf": [ - { - "type": "string" - }, + "ip_address": { + "type": "string", + "nullable": true, + "description": "The IP address where the payment originated." + }, + "ip_address_location": { + "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule" + "$ref": "#/components/schemas/stripe.Stripe.Review.IpAddressLocation" } ], "nullable": true, - "description": "The subscription schedule that was created or updated from this quote." + "description": "Information related to the location of the payment. Note that this information is an approximation and attempts to locate the nearest population center - it should not be used to determine a specific address." }, - "test_clock": { + "livemode": { + "type": "boolean", + "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." + }, + "open": { + "type": "boolean", + "description": "If `true`, the review needs action." + }, + "opened_reason": { + "$ref": "#/components/schemas/stripe.Stripe.Review.OpenedReason", + "description": "The reason the review was opened. One of `rule` or `manual`." + }, + "payment_intent": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.TestHelpers.TestClock" + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent" } ], - "nullable": true, - "description": "ID of the test clock this quote belongs to." + "description": "The PaymentIntent ID associated with this review, if one exists." }, - "total_details": { - "$ref": "#/components/schemas/stripe.Stripe.Quote.TotalDetails" + "reason": { + "type": "string", + "description": "The reason the review is currently open or closed. One of `rule`, `manual`, `approved`, `refunded`, `refunded_as_fraud`, `disputed`, or `redacted`." }, - "transfer_data": { + "session": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Quote.TransferData" + "$ref": "#/components/schemas/stripe.Stripe.Review.Session" } ], "nullable": true, - "description": "The account (if any) the payments will be attributed to for tax reporting, and where funds from each payment will be transferred to for each of the invoices." + "description": "Information related to the browsing session of the user who initiated the payment." } }, "required": [ "id", "object", - "amount_subtotal", - "amount_total", - "application", - "application_fee_amount", - "application_fee_percent", - "automatic_tax", - "collection_method", - "computed", + "billing_zip", + "charge", + "closed_reason", "created", - "currency", - "customer", - "description", - "discounts", - "expires_at", - "footer", - "from_quote", - "header", - "invoice", - "invoice_settings", + "ip_address", + "ip_address_location", "livemode", - "metadata", - "number", - "on_behalf_of", - "status", - "status_transitions", - "subscription", - "subscription_data", - "subscription_schedule", - "test_clock", - "total_details", - "transfer_data" + "open", + "opened_reason", + "reason", + "session" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Quote.FromQuote": { + "stripe.Stripe.Charge.Shipping": { "properties": { - "is_revision": { - "type": "boolean", - "description": "Whether this quote is a revision of a different quote." + "address": { + "$ref": "#/components/schemas/stripe.Stripe.Address" }, - "quote": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Quote" - } - ], - "description": "The quote that was cloned." - } - }, - "required": [ - "is_revision", - "quote" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.DeletedInvoice": { - "description": "The DeletedInvoice object.", - "properties": { - "id": { + "carrier": { "type": "string", - "description": "Unique identifier for the object." + "nullable": true, + "description": "The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc." }, - "object": { + "name": { "type": "string", - "enum": [ - "invoice" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." + "description": "Recipient name." }, - "deleted": { - "type": "boolean", - "enum": [ - true - ], - "nullable": false, - "description": "Always true for a deleted object" + "phone": { + "type": "string", + "nullable": true, + "description": "Recipient phone (including extension)." + }, + "tracking_number": { + "type": "string", + "nullable": true, + "description": "The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas." } }, - "required": [ - "id", - "object", - "deleted" - ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Quote.InvoiceSettings.Issuer.Type": { + "stripe.Stripe.Charge.Status": { "type": "string", "enum": [ - "account", - "self" + "failed", + "pending", + "succeeded" ] }, - "stripe.Stripe.Quote.InvoiceSettings.Issuer": { + "stripe.Stripe.Charge.TransferData": { "properties": { - "account": { + "amount": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The amount transferred to the destination account, if specified. By default, the entire charge amount is transferred to the destination account." + }, + "destination": { "anyOf": [ { "type": "string" @@ -37363,452 +26827,450 @@ "$ref": "#/components/schemas/stripe.Stripe.Account" } ], - "description": "The connected account being referenced when `type` is `account`." - }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.Quote.InvoiceSettings.Issuer.Type", - "description": "Type of the account referenced." + "description": "ID of an existing, connected Stripe account to transfer funds to if `transfer_data` was specified in the charge request." } }, "required": [ - "type" + "amount", + "destination" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Quote.InvoiceSettings": { + "stripe.Stripe.Invoice.CollectionMethod": { + "type": "string", + "enum": [ + "charge_automatically", + "send_invoice" + ] + }, + "stripe.Stripe.Invoice.CustomField": { "properties": { - "days_until_due": { - "type": "number", - "format": "double", - "nullable": true, - "description": "Number of days within which a customer must pay invoices generated by this quote. This value will be `null` for quotes where `collection_method=charge_automatically`." + "name": { + "type": "string", + "description": "The name of the custom field." }, - "issuer": { - "$ref": "#/components/schemas/stripe.Stripe.Quote.InvoiceSettings.Issuer" + "value": { + "type": "string", + "description": "The value of the custom field." } }, "required": [ - "days_until_due", - "issuer" + "name", + "value" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Quote.Status": { - "type": "string", - "enum": [ - "accepted", - "canceled", - "draft", - "open" - ] - }, - "stripe.Stripe.Quote.StatusTransitions": { + "stripe.Stripe.Invoice.CustomerShipping": { "properties": { - "accepted_at": { - "type": "number", - "format": "double", + "address": { + "$ref": "#/components/schemas/stripe.Stripe.Address" + }, + "carrier": { + "type": "string", "nullable": true, - "description": "The time that the quote was accepted. Measured in seconds since Unix epoch." + "description": "The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc." }, - "canceled_at": { - "type": "number", - "format": "double", + "name": { + "type": "string", + "description": "Recipient name." + }, + "phone": { + "type": "string", "nullable": true, - "description": "The time that the quote was canceled. Measured in seconds since Unix epoch." + "description": "Recipient phone (including extension)." }, - "finalized_at": { - "type": "number", - "format": "double", + "tracking_number": { + "type": "string", "nullable": true, - "description": "The time that the quote was finalized. Measured in seconds since Unix epoch." + "description": "The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas." } }, - "required": [ - "accepted_at", - "canceled_at", - "finalized_at" - ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Quote.SubscriptionData": { + "stripe.Stripe.Invoice.CustomerTaxExempt": { + "type": "string", + "enum": [ + "exempt", + "none", + "reverse" + ] + }, + "stripe.Stripe.Invoice.CustomerTaxId.Type": { + "type": "string", + "enum": [ + "ad_nrt", + "ae_trn", + "al_tin", + "am_tin", + "ao_tin", + "ar_cuit", + "au_abn", + "au_arn", + "ba_tin", + "bb_tin", + "bg_uic", + "bh_vat", + "bo_tin", + "br_cnpj", + "br_cpf", + "bs_tin", + "by_tin", + "ca_bn", + "ca_gst_hst", + "ca_pst_bc", + "ca_pst_mb", + "ca_pst_sk", + "ca_qst", + "cd_nif", + "ch_uid", + "ch_vat", + "cl_tin", + "cn_tin", + "co_nit", + "cr_tin", + "de_stn", + "do_rcn", + "ec_ruc", + "eg_tin", + "es_cif", + "eu_oss_vat", + "eu_vat", + "gb_vat", + "ge_vat", + "gn_nif", + "hk_br", + "hr_oib", + "hu_tin", + "id_npwp", + "il_vat", + "in_gst", + "is_vat", + "jp_cn", + "jp_rn", + "jp_trn", + "ke_pin", + "kh_tin", + "kr_brn", + "kz_bin", + "li_uid", + "li_vat", + "ma_vat", + "md_vat", + "me_pib", + "mk_vat", + "mr_nif", + "mx_rfc", + "my_frp", + "my_itn", + "my_sst", + "ng_tin", + "no_vat", + "no_voec", + "np_pan", + "nz_gst", + "om_vat", + "pe_ruc", + "ph_tin", + "ro_tin", + "rs_pib", + "ru_inn", + "ru_kpp", + "sa_vat", + "sg_gst", + "sg_uen", + "si_tin", + "sn_ninea", + "sr_fin", + "sv_nit", + "th_vat", + "tj_tin", + "tr_tin", + "tw_vat", + "tz_vat", + "ua_vat", + "ug_tin", + "unknown", + "us_ein", + "uy_ruc", + "uz_tin", + "uz_vat", + "ve_rif", + "vn_tin", + "za_vat", + "zm_tin", + "zw_tin" + ] + }, + "stripe.Stripe.Invoice.CustomerTaxId": { "properties": { - "description": { - "type": "string", - "nullable": true, - "description": "The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs." - }, - "effective_date": { - "type": "number", - "format": "double", - "nullable": true, - "description": "When creating a new subscription, the date of which the subscription schedule will start after the quote is accepted. This date is ignored if it is in the past when the quote is accepted. Measured in seconds since the Unix epoch." - }, - "metadata": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Metadata" - } - ], - "nullable": true, - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that will set metadata on the subscription or subscription schedule when the quote is accepted. If a recurring price is included in `line_items`, this field will be passed to the resulting subscription's `metadata` field. If `subscription_data.effective_date` is used, this field will be passed to the resulting subscription schedule's `phases.metadata` field. Unlike object-level metadata, this field is declarative. Updates will clear prior values." + "type": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.CustomerTaxId.Type", + "description": "The type of the tax ID, one of `ad_nrt`, `ar_cuit`, `eu_vat`, `bo_tin`, `br_cnpj`, `br_cpf`, `cn_tin`, `co_nit`, `cr_tin`, `do_rcn`, `ec_ruc`, `eu_oss_vat`, `hr_oib`, `pe_ruc`, `ro_tin`, `rs_pib`, `sv_nit`, `uy_ruc`, `ve_rif`, `vn_tin`, `gb_vat`, `nz_gst`, `au_abn`, `au_arn`, `in_gst`, `no_vat`, `no_voec`, `za_vat`, `ch_vat`, `mx_rfc`, `sg_uen`, `ru_inn`, `ru_kpp`, `ca_bn`, `hk_br`, `es_cif`, `tw_vat`, `th_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `li_uid`, `li_vat`, `my_itn`, `us_ein`, `kr_brn`, `ca_qst`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `my_sst`, `sg_gst`, `ae_trn`, `cl_tin`, `sa_vat`, `id_npwp`, `my_frp`, `il_vat`, `ge_vat`, `ua_vat`, `is_vat`, `bg_uic`, `hu_tin`, `si_tin`, `ke_pin`, `tr_tin`, `eg_tin`, `ph_tin`, `al_tin`, `bh_vat`, `kz_bin`, `ng_tin`, `om_vat`, `de_stn`, `ch_uid`, `tz_vat`, `uz_vat`, `uz_tin`, `md_vat`, `ma_vat`, `by_tin`, `ao_tin`, `bs_tin`, `bb_tin`, `cd_nif`, `mr_nif`, `me_pib`, `zw_tin`, `ba_tin`, `gn_nif`, `mk_vat`, `sr_fin`, `sn_ninea`, `am_tin`, `np_pan`, `tj_tin`, `ug_tin`, `zm_tin`, `kh_tin`, or `unknown`" }, - "trial_period_days": { - "type": "number", - "format": "double", + "value": { + "type": "string", "nullable": true, - "description": "Integer representing the number of trial period days before the customer is charged for the first time." + "description": "The value of the tax ID." } }, "required": [ - "description", - "effective_date", - "metadata", - "trial_period_days" + "type", + "value" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.SubscriptionSchedule.CurrentPhase": { + "stripe.Stripe.TaxRate.FlatAmount": { "properties": { - "end_date": { - "type": "number", - "format": "double", - "description": "The end of this phase of the subscription schedule." - }, - "start_date": { + "amount": { "type": "number", "format": "double", - "description": "The start of this phase of the subscription schedule." - } - }, - "required": [ - "end_date", - "start_date" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.SubscriptionSchedule.DefaultSettings.AutomaticTax.Liability.Type": { - "type": "string", - "enum": [ - "account", - "self" - ] - }, - "stripe.Stripe.SubscriptionSchedule.DefaultSettings.AutomaticTax.Liability": { - "properties": { - "account": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Account" - } - ], - "description": "The connected account being referenced when `type` is `account`." + "description": "Amount of the tax when the `rate_type` is `flat_amount`. This positive integer represents how much to charge in the smallest currency unit (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99)." }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.DefaultSettings.AutomaticTax.Liability.Type", - "description": "Type of the account referenced." - } - }, - "required": [ - "type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.SubscriptionSchedule.DefaultSettings.AutomaticTax": { - "properties": { - "disabled_reason": { + "currency": { "type": "string", - "enum": [ - "requires_location_inputs", - null - ], - "nullable": true, - "description": "If Stripe disabled automatic tax, this enum describes why." - }, - "enabled": { - "type": "boolean", - "description": "Whether Stripe automatically computes tax on invoices created during this phase." - }, - "liability": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.DefaultSettings.AutomaticTax.Liability" - } - ], - "nullable": true, - "description": "The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account." + "description": "Three-letter ISO currency code, in lowercase." } }, "required": [ - "disabled_reason", - "enabled", - "liability" + "amount", + "currency" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.SubscriptionSchedule.DefaultSettings.BillingCycleAnchor": { + "stripe.Stripe.TaxRate.JurisdictionLevel": { "type": "string", "enum": [ - "automatic", - "phase_start" + "city", + "country", + "county", + "district", + "multiple", + "state" ] }, - "stripe.Stripe.SubscriptionSchedule.DefaultSettings.BillingThresholds": { - "properties": { - "amount_gte": { - "type": "number", - "format": "double", - "nullable": true, - "description": "Monetary threshold that triggers the subscription to create an invoice" - }, - "reset_billing_cycle_anchor": { - "type": "boolean", - "nullable": true, - "description": "Indicates if the `billing_cycle_anchor` should be reset when a threshold is reached. If true, `billing_cycle_anchor` will be updated to the date/time the threshold was last reached; otherwise, the value will remain unchanged. This value may not be `true` if the subscription contains items with plans that have `aggregate_usage=last_ever`." - } - }, - "required": [ - "amount_gte", - "reset_billing_cycle_anchor" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.SubscriptionSchedule.DefaultSettings.CollectionMethod": { + "stripe.Stripe.TaxRate.RateType": { "type": "string", "enum": [ - "charge_automatically", - "send_invoice" + "flat_amount", + "percentage" ] }, - "stripe.Stripe.SubscriptionSchedule.DefaultSettings.InvoiceSettings.Issuer.Type": { + "stripe.Stripe.TaxRate.TaxType": { "type": "string", "enum": [ - "account", - "self" + "amusement_tax", + "communications_tax", + "gst", + "hst", + "igst", + "jct", + "lease_tax", + "pst", + "qst", + "retail_delivery_fee", + "rst", + "sales_tax", + "service_tax", + "vat" ] }, - "stripe.Stripe.SubscriptionSchedule.DefaultSettings.InvoiceSettings.Issuer": { + "stripe.Stripe.TaxRate": { + "description": "Tax rates can be applied to [invoices](https://stripe.com/invoicing/taxes/tax-rates), [subscriptions](https://stripe.com/billing/taxes/tax-rates) and [Checkout Sessions](https://stripe.com/payments/checkout/use-manual-tax-rates) to collect tax.\n\nRelated guide: [Tax rates](https://stripe.com/billing/taxes/tax-rates)", "properties": { - "account": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Account" - } + "id": { + "type": "string", + "description": "Unique identifier for the object." + }, + "object": { + "type": "string", + "enum": [ + "tax_rate" ], - "description": "The connected account being referenced when `type` is `account`." + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.DefaultSettings.InvoiceSettings.Issuer.Type", - "description": "Type of the account referenced." - } - }, - "required": [ - "type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.SubscriptionSchedule.DefaultSettings.InvoiceSettings": { - "properties": { - "account_tax_ids": { - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.TaxId" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.DeletedTaxId" - } - ] - }, - "type": "array", + "active": { + "type": "boolean", + "description": "Defaults to `true`. When set to `false`, this tax rate cannot be used with new applications or Checkout Sessions, but will still work for subscriptions and invoices that already have it set." + }, + "country": { + "type": "string", "nullable": true, - "description": "The account tax IDs associated with the subscription schedule. Will be set on invoices generated by the subscription schedule." + "description": "Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2))." }, - "days_until_due": { + "created": { "type": "number", "format": "double", + "description": "Time at which the object was created. Measured in seconds since the Unix epoch." + }, + "description": { + "type": "string", "nullable": true, - "description": "Number of days within which a customer must pay invoices generated by this subscription schedule. This value will be `null` for subscription schedules where `billing=charge_automatically`." + "description": "An arbitrary string attached to the tax rate for your internal use only. It will not be visible to your customers." }, - "issuer": { - "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.DefaultSettings.InvoiceSettings.Issuer" - } - }, - "required": [ - "account_tax_ids", - "days_until_due", - "issuer" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.SubscriptionSchedule.DefaultSettings.TransferData": { - "properties": { - "amount_percent": { + "display_name": { + "type": "string", + "description": "The display name of the tax rates as it will appear to your customer on their receipt email, PDF, and the hosted invoice page." + }, + "effective_percentage": { "type": "number", "format": "double", "nullable": true, - "description": "A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount is transferred to the destination." + "description": "Actual/effective tax rate percentage out of 100. For tax calculations with automatic_tax[enabled]=true,\nthis percentage reflects the rate actually used to calculate tax based on the product's taxability\nand whether the user is registered to collect taxes in the corresponding jurisdiction." }, - "destination": { - "anyOf": [ - { - "type": "string" - }, + "flat_amount": { + "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Account" + "$ref": "#/components/schemas/stripe.Stripe.TaxRate.FlatAmount" } ], - "description": "The account where funds from the payment will be transferred to upon payment success." - } - }, - "required": [ - "amount_percent", - "destination" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.SubscriptionSchedule.DefaultSettings": { - "properties": { - "application_fee_percent": { - "type": "number", - "format": "double", "nullable": true, - "description": "A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account during this phase of the schedule." + "description": "The amount of the tax rate when the `rate_type` is `flat_amount`. Tax rates with `rate_type` `percentage` can vary based on the transaction, resulting in this field being `null`. This field exposes the amount and currency of the flat tax rate." }, - "automatic_tax": { - "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.DefaultSettings.AutomaticTax" + "inclusive": { + "type": "boolean", + "description": "This specifies if the tax rate is inclusive or exclusive." }, - "billing_cycle_anchor": { - "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.DefaultSettings.BillingCycleAnchor", - "description": "Possible values are `phase_start` or `automatic`. If `phase_start` then billing cycle anchor of the subscription is set to the start of the phase when entering the phase. If `automatic` then the billing cycle anchor is automatically modified as needed when entering the phase. For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle)." + "jurisdiction": { + "type": "string", + "nullable": true, + "description": "The jurisdiction for the tax rate. You can use this label field for tax reporting purposes. It also appears on your customer's invoice." }, - "billing_thresholds": { + "jurisdiction_level": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.DefaultSettings.BillingThresholds" + "$ref": "#/components/schemas/stripe.Stripe.TaxRate.JurisdictionLevel" } ], "nullable": true, - "description": "Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period" + "description": "The level of the jurisdiction that imposes this tax rate. Will be `null` for manually defined tax rates." }, - "collection_method": { + "livemode": { + "type": "boolean", + "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." + }, + "metadata": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.DefaultSettings.CollectionMethod" + "$ref": "#/components/schemas/stripe.Stripe.Metadata" } ], "nullable": true, - "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay the underlying subscription at the end of each billing cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`." + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." }, - "default_payment_method": { - "anyOf": [ - { - "type": "string" - }, + "percentage": { + "type": "number", + "format": "double", + "description": "Tax rate percentage out of 100. For tax calculations with automatic_tax[enabled]=true, this percentage includes the statutory tax rate of non-taxable jurisdictions." + }, + "rate_type": { + "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod" + "$ref": "#/components/schemas/stripe.Stripe.TaxRate.RateType" } ], "nullable": true, - "description": "ID of the default payment method for the subscription schedule. If not set, invoices will use the default payment method in the customer's invoice settings." + "description": "Indicates the type of tax rate applied to the taxable amount. This value can be `null` when no tax applies to the location." }, - "description": { + "state": { "type": "string", "nullable": true, - "description": "Subscription description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs." - }, - "invoice_settings": { - "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.DefaultSettings.InvoiceSettings" - }, - "on_behalf_of": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Account" - } - ], - "nullable": true, - "description": "The account (if any) the charge was made on behalf of for charges associated with the schedule's subscription. See the Connect documentation for details." + "description": "[ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO_3166-2), without country prefix. For example, \"NY\" for New York, United States." }, - "transfer_data": { + "tax_type": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.DefaultSettings.TransferData" + "$ref": "#/components/schemas/stripe.Stripe.TaxRate.TaxType" } ], "nullable": true, - "description": "The account (if any) the associated subscription's payments will be attributed to for tax reporting, and where funds from each payment will be transferred to for each of the subscription's invoices." + "description": "The high-level tax type, such as `vat` or `sales_tax`." } }, "required": [ - "application_fee_percent", - "billing_cycle_anchor", - "billing_thresholds", - "collection_method", - "default_payment_method", + "id", + "object", + "active", + "country", + "created", "description", - "invoice_settings", - "on_behalf_of", - "transfer_data" + "display_name", + "effective_percentage", + "flat_amount", + "inclusive", + "jurisdiction", + "jurisdiction_level", + "livemode", + "metadata", + "percentage", + "rate_type", + "state", + "tax_type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.SubscriptionSchedule.EndBehavior": { - "type": "string", - "enum": [ - "cancel", - "none", - "release", - "renew" - ] - }, - "stripe.Stripe.SubscriptionSchedule.Phase.AddInvoiceItem.Discount": { + "stripe.Stripe.DeletedDiscount": { + "description": "The DeletedDiscount object.", "properties": { + "id": { + "type": "string", + "description": "The ID of the discount object. Discounts cannot be fetched by ID. Use `expand[]=discounts` in API calls to expand discount IDs in an array." + }, + "object": { + "type": "string", + "enum": [ + "discount" + ], + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." + }, + "checkout_session": { + "type": "string", + "nullable": true, + "description": "The Checkout session that this coupon is applied to, if it is applied to a particular session in payment mode. Will not be present for subscription mode." + }, "coupon": { + "$ref": "#/components/schemas/stripe.Stripe.Coupon", + "description": "A coupon contains information about a percent-off or amount-off discount you\nmight want to apply to a customer. Coupons may be applied to [subscriptions](https://stripe.com/docs/api#subscriptions), [invoices](https://stripe.com/docs/api#invoices),\n[checkout sessions](https://stripe.com/docs/api/checkout/sessions), [quotes](https://stripe.com/docs/api#quotes), and more. Coupons do not work with conventional one-off [charges](https://stripe.com/docs/api#create_charge) or [payment intents](https://stripe.com/docs/api/payment_intents)." + }, + "customer": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.Coupon" + "$ref": "#/components/schemas/stripe.Stripe.Customer" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedCustomer" } ], "nullable": true, - "description": "ID of the coupon to create a new discount for." + "description": "The ID of the customer associated with this discount." }, - "discount": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Discount" - } + "deleted": { + "type": "boolean", + "enum": [ + true ], + "nullable": false, + "description": "Always true for a deleted object" + }, + "invoice": { + "type": "string", "nullable": true, - "description": "ID of an existing discount on the object (or one of its ancestors) to reuse." + "description": "The invoice that the discount's coupon was applied to, if it was applied directly to a particular invoice." + }, + "invoice_item": { + "type": "string", + "nullable": true, + "description": "The invoice item `id` (or invoice line item `id` for invoice line items of type='subscription') that the discount's coupon was applied to, if it was applied directly to a particular invoice item or invoice line item." }, "promotion_code": { "anyOf": [ @@ -37820,103 +27282,74 @@ } ], "nullable": true, - "description": "ID of the promotion code to create a new discount for." - } - }, - "required": [ - "coupon", - "discount", - "promotion_code" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.DeletedPrice": { - "description": "The DeletedPrice object.", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." + "description": "The promotion code applied to create this discount." }, - "object": { + "start": { + "type": "number", + "format": "double", + "description": "Date that the coupon was applied." + }, + "subscription": { "type": "string", - "enum": [ - "price" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." + "nullable": true, + "description": "The subscription that this coupon is applied to, if it is applied to a particular subscription." }, - "deleted": { - "type": "boolean", - "enum": [ - true - ], - "nullable": false, - "description": "Always true for a deleted object" + "subscription_item": { + "type": "string", + "nullable": true, + "description": "The subscription item that this coupon is applied to, if it is applied to a particular subscription item." } }, "required": [ "id", "object", - "deleted" + "checkout_session", + "coupon", + "customer", + "deleted", + "invoice", + "invoice_item", + "promotion_code", + "start", + "subscription", + "subscription_item" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.SubscriptionSchedule.Phase.AddInvoiceItem": { + "stripe.Stripe.Invoice.FromInvoice": { "properties": { - "discounts": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.Phase.AddInvoiceItem.Discount" - }, - "type": "array", - "description": "The stackable discounts that will be applied to the item." + "action": { + "type": "string", + "description": "The relation between this invoice and the cloned invoice" }, - "price": { + "invoice": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.Price" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.DeletedPrice" + "$ref": "#/components/schemas/stripe.Stripe.Invoice" } ], - "description": "ID of the price used to generate the invoice item." - }, - "quantity": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The quantity of the invoice item." - }, - "tax_rates": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.TaxRate" - }, - "type": "array", - "nullable": true, - "description": "The tax rates which apply to the item. When set, the `default_tax_rates` do not apply to this item." + "description": "The invoice that was cloned." } }, "required": [ - "discounts", - "price", - "quantity" + "action", + "invoice" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.SubscriptionSchedule.Phase.AutomaticTax.Liability.Type": { + "stripe.Stripe.Invoice.Issuer.Type": { "type": "string", "enum": [ "account", "self" ] }, - "stripe.Stripe.SubscriptionSchedule.Phase.AutomaticTax.Liability": { + "stripe.Stripe.Invoice.Issuer": { "properties": { "account": { "anyOf": [ @@ -37930,7 +27363,7 @@ "description": "The connected account being referenced when `type` is `account`." }, "type": { - "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.Phase.AutomaticTax.Liability.Type", + "$ref": "#/components/schemas/stripe.Stripe.Invoice.Issuer.Type", "description": "Type of the account referenced." } }, @@ -37940,76 +27373,402 @@ "type": "object", "additionalProperties": false }, - "stripe.Stripe.SubscriptionSchedule.Phase.AutomaticTax": { + "stripe.Stripe.Invoice.LastFinalizationError.Code": { + "type": "string", + "enum": [ + "account_closed", + "account_country_invalid_address", + "account_error_country_change_requires_additional_steps", + "account_information_mismatch", + "account_invalid", + "account_number_invalid", + "acss_debit_session_incomplete", + "alipay_upgrade_required", + "amount_too_large", + "amount_too_small", + "api_key_expired", + "application_fees_not_allowed", + "authentication_required", + "balance_insufficient", + "balance_invalid_parameter", + "bank_account_bad_routing_numbers", + "bank_account_declined", + "bank_account_exists", + "bank_account_restricted", + "bank_account_unusable", + "bank_account_unverified", + "bank_account_verification_failed", + "billing_invalid_mandate", + "bitcoin_upgrade_required", + "capture_charge_authorization_expired", + "capture_unauthorized_payment", + "card_decline_rate_limit_exceeded", + "card_declined", + "cardholder_phone_number_required", + "charge_already_captured", + "charge_already_refunded", + "charge_disputed", + "charge_exceeds_source_limit", + "charge_exceeds_transaction_limit", + "charge_expired_for_capture", + "charge_invalid_parameter", + "charge_not_refundable", + "clearing_code_unsupported", + "country_code_invalid", + "country_unsupported", + "coupon_expired", + "customer_max_payment_methods", + "customer_max_subscriptions", + "customer_tax_location_invalid", + "debit_not_authorized", + "email_invalid", + "expired_card", + "financial_connections_account_inactive", + "financial_connections_no_successful_transaction_refresh", + "forwarding_api_inactive", + "forwarding_api_invalid_parameter", + "forwarding_api_upstream_connection_error", + "forwarding_api_upstream_connection_timeout", + "idempotency_key_in_use", + "incorrect_address", + "incorrect_cvc", + "incorrect_number", + "incorrect_zip", + "instant_payouts_config_disabled", + "instant_payouts_currency_disabled", + "instant_payouts_limit_exceeded", + "instant_payouts_unsupported", + "insufficient_funds", + "intent_invalid_state", + "intent_verification_method_missing", + "invalid_card_type", + "invalid_characters", + "invalid_charge_amount", + "invalid_cvc", + "invalid_expiry_month", + "invalid_expiry_year", + "invalid_mandate_reference_prefix_format", + "invalid_number", + "invalid_source_usage", + "invalid_tax_location", + "invoice_no_customer_line_items", + "invoice_no_payment_method_types", + "invoice_no_subscription_line_items", + "invoice_not_editable", + "invoice_on_behalf_of_not_editable", + "invoice_payment_intent_requires_action", + "invoice_upcoming_none", + "livemode_mismatch", + "lock_timeout", + "missing", + "no_account", + "not_allowed_on_standard_account", + "out_of_inventory", + "ownership_declaration_not_allowed", + "parameter_invalid_empty", + "parameter_invalid_integer", + "parameter_invalid_string_blank", + "parameter_invalid_string_empty", + "parameter_missing", + "parameter_unknown", + "parameters_exclusive", + "payment_intent_action_required", + "payment_intent_authentication_failure", + "payment_intent_incompatible_payment_method", + "payment_intent_invalid_parameter", + "payment_intent_konbini_rejected_confirmation_number", + "payment_intent_mandate_invalid", + "payment_intent_payment_attempt_expired", + "payment_intent_payment_attempt_failed", + "payment_intent_unexpected_state", + "payment_method_bank_account_already_verified", + "payment_method_bank_account_blocked", + "payment_method_billing_details_address_missing", + "payment_method_configuration_failures", + "payment_method_currency_mismatch", + "payment_method_customer_decline", + "payment_method_invalid_parameter", + "payment_method_invalid_parameter_testmode", + "payment_method_microdeposit_failed", + "payment_method_microdeposit_verification_amounts_invalid", + "payment_method_microdeposit_verification_amounts_mismatch", + "payment_method_microdeposit_verification_attempts_exceeded", + "payment_method_microdeposit_verification_descriptor_code_mismatch", + "payment_method_microdeposit_verification_timeout", + "payment_method_not_available", + "payment_method_provider_decline", + "payment_method_provider_timeout", + "payment_method_unactivated", + "payment_method_unexpected_state", + "payment_method_unsupported_type", + "payout_reconciliation_not_ready", + "payouts_limit_exceeded", + "payouts_not_allowed", + "platform_account_required", + "platform_api_key_expired", + "postal_code_invalid", + "processing_error", + "product_inactive", + "progressive_onboarding_limit_exceeded", + "rate_limit", + "refer_to_customer", + "refund_disputed_payment", + "resource_already_exists", + "resource_missing", + "return_intent_already_processed", + "routing_number_invalid", + "secret_key_required", + "sepa_unsupported_account", + "setup_attempt_failed", + "setup_intent_authentication_failure", + "setup_intent_invalid_parameter", + "setup_intent_mandate_invalid", + "setup_intent_setup_attempt_expired", + "setup_intent_unexpected_state", + "shipping_address_invalid", + "shipping_calculation_failed", + "sku_inactive", + "state_unsupported", + "status_transition_invalid", + "stripe_tax_inactive", + "tax_id_invalid", + "taxes_calculation_failed", + "terminal_location_country_unsupported", + "terminal_reader_busy", + "terminal_reader_hardware_fault", + "terminal_reader_invalid_location_for_activation", + "terminal_reader_invalid_location_for_payment", + "terminal_reader_offline", + "terminal_reader_timeout", + "testmode_charges_only", + "tls_version_unsupported", + "token_already_used", + "token_card_network_invalid", + "token_in_use", + "transfer_source_balance_parameters_mismatch", + "transfers_not_allowed", + "url_invalid" + ] + }, + "stripe.Stripe.SetupIntent.AutomaticPaymentMethods.AllowRedirects": { + "type": "string", + "enum": [ + "always", + "never" + ] + }, + "stripe.Stripe.SetupIntent.AutomaticPaymentMethods": { "properties": { - "disabled_reason": { - "type": "string", - "enum": [ - "requires_location_inputs", - null - ], - "nullable": true, - "description": "If Stripe disabled automatic tax, this enum describes why." + "allow_redirects": { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.AutomaticPaymentMethods.AllowRedirects", + "description": "Controls whether this SetupIntent will accept redirect-based payment methods.\n\nRedirect-based payment methods may require your customer to be redirected to a payment method's app or site for authentication or additional steps. To [confirm](https://stripe.com/docs/api/setup_intents/confirm) this SetupIntent, you may be required to provide a `return_url` to redirect customers back to your site after they authenticate or complete the setup." }, "enabled": { "type": "boolean", - "description": "Whether Stripe automatically computes tax on invoices created during this phase." - }, - "liability": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.Phase.AutomaticTax.Liability" - } - ], "nullable": true, - "description": "The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account." + "description": "Automatically calculates compatible payment methods" } }, "required": [ - "disabled_reason", - "enabled", - "liability" + "enabled" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.SubscriptionSchedule.Phase.BillingCycleAnchor": { + "stripe.Stripe.SetupIntent.CancellationReason": { "type": "string", "enum": [ - "automatic", - "phase_start" + "abandoned", + "duplicate", + "requested_by_customer" ] }, - "stripe.Stripe.SubscriptionSchedule.Phase.BillingThresholds": { - "properties": { - "amount_gte": { - "type": "number", - "format": "double", - "nullable": true, - "description": "Monetary threshold that triggers the subscription to create an invoice" - }, - "reset_billing_cycle_anchor": { - "type": "boolean", - "nullable": true, - "description": "Indicates if the `billing_cycle_anchor` should be reset when a threshold is reached. If true, `billing_cycle_anchor` will be updated to the date/time the threshold was last reached; otherwise, the value will remain unchanged. This value may not be `true` if the subscription contains items with plans that have `aggregate_usage=last_ever`." - } - }, - "required": [ - "amount_gte", - "reset_billing_cycle_anchor" - ], - "type": "object", - "additionalProperties": false + "stripe.Stripe.SetupIntent.FlowDirection": { + "type": "string", + "enum": [ + "inbound", + "outbound" + ] }, - "stripe.Stripe.SubscriptionSchedule.Phase.CollectionMethod": { + "stripe.Stripe.SetupIntent.LastSetupError.Code": { "type": "string", "enum": [ - "charge_automatically", - "send_invoice" + "account_closed", + "account_country_invalid_address", + "account_error_country_change_requires_additional_steps", + "account_information_mismatch", + "account_invalid", + "account_number_invalid", + "acss_debit_session_incomplete", + "alipay_upgrade_required", + "amount_too_large", + "amount_too_small", + "api_key_expired", + "application_fees_not_allowed", + "authentication_required", + "balance_insufficient", + "balance_invalid_parameter", + "bank_account_bad_routing_numbers", + "bank_account_declined", + "bank_account_exists", + "bank_account_restricted", + "bank_account_unusable", + "bank_account_unverified", + "bank_account_verification_failed", + "billing_invalid_mandate", + "bitcoin_upgrade_required", + "capture_charge_authorization_expired", + "capture_unauthorized_payment", + "card_decline_rate_limit_exceeded", + "card_declined", + "cardholder_phone_number_required", + "charge_already_captured", + "charge_already_refunded", + "charge_disputed", + "charge_exceeds_source_limit", + "charge_exceeds_transaction_limit", + "charge_expired_for_capture", + "charge_invalid_parameter", + "charge_not_refundable", + "clearing_code_unsupported", + "country_code_invalid", + "country_unsupported", + "coupon_expired", + "customer_max_payment_methods", + "customer_max_subscriptions", + "customer_tax_location_invalid", + "debit_not_authorized", + "email_invalid", + "expired_card", + "financial_connections_account_inactive", + "financial_connections_no_successful_transaction_refresh", + "forwarding_api_inactive", + "forwarding_api_invalid_parameter", + "forwarding_api_upstream_connection_error", + "forwarding_api_upstream_connection_timeout", + "idempotency_key_in_use", + "incorrect_address", + "incorrect_cvc", + "incorrect_number", + "incorrect_zip", + "instant_payouts_config_disabled", + "instant_payouts_currency_disabled", + "instant_payouts_limit_exceeded", + "instant_payouts_unsupported", + "insufficient_funds", + "intent_invalid_state", + "intent_verification_method_missing", + "invalid_card_type", + "invalid_characters", + "invalid_charge_amount", + "invalid_cvc", + "invalid_expiry_month", + "invalid_expiry_year", + "invalid_mandate_reference_prefix_format", + "invalid_number", + "invalid_source_usage", + "invalid_tax_location", + "invoice_no_customer_line_items", + "invoice_no_payment_method_types", + "invoice_no_subscription_line_items", + "invoice_not_editable", + "invoice_on_behalf_of_not_editable", + "invoice_payment_intent_requires_action", + "invoice_upcoming_none", + "livemode_mismatch", + "lock_timeout", + "missing", + "no_account", + "not_allowed_on_standard_account", + "out_of_inventory", + "ownership_declaration_not_allowed", + "parameter_invalid_empty", + "parameter_invalid_integer", + "parameter_invalid_string_blank", + "parameter_invalid_string_empty", + "parameter_missing", + "parameter_unknown", + "parameters_exclusive", + "payment_intent_action_required", + "payment_intent_authentication_failure", + "payment_intent_incompatible_payment_method", + "payment_intent_invalid_parameter", + "payment_intent_konbini_rejected_confirmation_number", + "payment_intent_mandate_invalid", + "payment_intent_payment_attempt_expired", + "payment_intent_payment_attempt_failed", + "payment_intent_unexpected_state", + "payment_method_bank_account_already_verified", + "payment_method_bank_account_blocked", + "payment_method_billing_details_address_missing", + "payment_method_configuration_failures", + "payment_method_currency_mismatch", + "payment_method_customer_decline", + "payment_method_invalid_parameter", + "payment_method_invalid_parameter_testmode", + "payment_method_microdeposit_failed", + "payment_method_microdeposit_verification_amounts_invalid", + "payment_method_microdeposit_verification_amounts_mismatch", + "payment_method_microdeposit_verification_attempts_exceeded", + "payment_method_microdeposit_verification_descriptor_code_mismatch", + "payment_method_microdeposit_verification_timeout", + "payment_method_not_available", + "payment_method_provider_decline", + "payment_method_provider_timeout", + "payment_method_unactivated", + "payment_method_unexpected_state", + "payment_method_unsupported_type", + "payout_reconciliation_not_ready", + "payouts_limit_exceeded", + "payouts_not_allowed", + "platform_account_required", + "platform_api_key_expired", + "postal_code_invalid", + "processing_error", + "product_inactive", + "progressive_onboarding_limit_exceeded", + "rate_limit", + "refer_to_customer", + "refund_disputed_payment", + "resource_already_exists", + "resource_missing", + "return_intent_already_processed", + "routing_number_invalid", + "secret_key_required", + "sepa_unsupported_account", + "setup_attempt_failed", + "setup_intent_authentication_failure", + "setup_intent_invalid_parameter", + "setup_intent_mandate_invalid", + "setup_intent_setup_attempt_expired", + "setup_intent_unexpected_state", + "shipping_address_invalid", + "shipping_calculation_failed", + "sku_inactive", + "state_unsupported", + "status_transition_invalid", + "stripe_tax_inactive", + "tax_id_invalid", + "taxes_calculation_failed", + "terminal_location_country_unsupported", + "terminal_reader_busy", + "terminal_reader_hardware_fault", + "terminal_reader_invalid_location_for_activation", + "terminal_reader_invalid_location_for_payment", + "terminal_reader_offline", + "terminal_reader_timeout", + "testmode_charges_only", + "tls_version_unsupported", + "token_already_used", + "token_card_network_invalid", + "token_in_use", + "transfer_source_balance_parameters_mismatch", + "transfers_not_allowed", + "url_invalid" ] }, - "stripe.Stripe.DeletedCoupon": { - "description": "The DeletedCoupon object.", + "stripe.Stripe.SetupIntent": { + "description": "A SetupIntent guides you through the process of setting up and saving a customer's payment credentials for future payments.\nFor example, you can use a SetupIntent to set up and save your customer's card without immediately collecting a payment.\nLater, you can use [PaymentIntents](https://stripe.com/docs/api#payment_intents) to drive the payment flow.\n\nCreate a SetupIntent when you're ready to collect your customer's payment credentials.\nDon't maintain long-lived, unconfirmed SetupIntents because they might not be valid.\nThe SetupIntent transitions through multiple [statuses](https://docs.stripe.com/payments/intents#intent-statuses) as it guides\nyou through the setup process.\n\nSuccessful SetupIntents result in payment credentials that are optimized for future payments.\nFor example, cardholders in [certain regions](https://stripe.com/guides/strong-customer-authentication) might need to be run through\n[Strong Customer Authentication](https://docs.stripe.com/strong-customer-authentication) during payment method collection\nto streamline later [off-session payments](https://docs.stripe.com/payments/setup-intents).\nIf you use the SetupIntent with a [Customer](https://stripe.com/docs/api#setup_intent_object-customer),\nit automatically attaches the resulting payment method to that Customer after successful setup.\nWe recommend using SetupIntents or [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) on\nPaymentIntents to save payment methods to prevent saving invalid or unoptimized payment methods.\n\nBy using SetupIntents, you can reduce friction for your customers, even as regulations change over time.\n\nRelated guide: [Setup Intents API](https://docs.stripe.com/payments/setup-intents)", "properties": { "id": { "type": "string", @@ -38018,1091 +27777,1414 @@ "object": { "type": "string", "enum": [ - "coupon" + "setup_intent" ], "nullable": false, "description": "String representing the object's type. Objects of the same type share the same value." }, - "deleted": { - "type": "boolean", - "enum": [ - true - ], - "nullable": false, - "description": "Always true for a deleted object" - } - }, - "required": [ - "id", - "object", - "deleted" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.SubscriptionSchedule.Phase.Discount": { - "properties": { - "coupon": { + "application": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.Coupon" + "$ref": "#/components/schemas/stripe.Stripe.Application" + } + ], + "nullable": true, + "description": "ID of the Connect application that created the SetupIntent." + }, + "attach_to_self": { + "type": "boolean", + "description": "If present, the SetupIntent's payment method will be attached to the in-context Stripe Account.\n\nIt can only be used for this Stripe Account's own money movement flows like InboundTransfer and OutboundTransfers. It cannot be set to true when setting up a PaymentMethod for a Customer, and defaults to false when attaching a PaymentMethod to a Customer." + }, + "automatic_payment_methods": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.AutomaticPaymentMethods" + } + ], + "nullable": true, + "description": "Settings for dynamic payment methods compatible with this Setup Intent" + }, + "cancellation_reason": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.CancellationReason" } ], "nullable": true, - "description": "ID of the coupon to create a new discount for." + "description": "Reason for cancellation of this SetupIntent, one of `abandoned`, `requested_by_customer`, or `duplicate`." }, - "discount": { + "client_secret": { + "type": "string", + "nullable": true, + "description": "The client secret of this SetupIntent. Used for client-side retrieval using a publishable key.\n\nThe client secret can be used to complete payment setup from your frontend. It should not be stored, logged, or exposed to anyone other than the customer. Make sure that you have TLS enabled on any page that includes the client secret." + }, + "created": { + "type": "number", + "format": "double", + "description": "Time at which the object was created. Measured in seconds since the Unix epoch." + }, + "customer": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.Discount" + "$ref": "#/components/schemas/stripe.Stripe.Customer" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedCustomer" } ], "nullable": true, - "description": "ID of an existing discount on the object (or one of its ancestors) to reuse." + "description": "ID of the Customer this SetupIntent belongs to, if one exists.\n\nIf present, the SetupIntent's payment method will be attached to the Customer on successful setup. Payment methods attached to other Customers cannot be used with this SetupIntent." }, - "promotion_code": { + "description": { + "type": "string", + "nullable": true, + "description": "An arbitrary string attached to the object. Often useful for displaying to users." + }, + "flow_directions": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.FlowDirection" + }, + "type": "array", + "nullable": true, + "description": "Indicates the directions of money movement for which this payment method is intended to be used.\n\nInclude `inbound` if you intend to use the payment method as the origin to pull funds from. Include `outbound` if you intend to use the payment method as the destination to send funds to. You can include both if you intend to use the payment method for both purposes." + }, + "last_setup_error": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.LastSetupError" + } + ], + "nullable": true, + "description": "The error encountered in the previous SetupIntent confirmation." + }, + "latest_attempt": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.PromotionCode" + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt" } ], "nullable": true, - "description": "ID of the promotion code to create a new discount for." - } - }, - "required": [ - "coupon", - "discount", - "promotion_code" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.SubscriptionSchedule.Phase.InvoiceSettings.Issuer.Type": { - "type": "string", - "enum": [ - "account", - "self" - ] - }, - "stripe.Stripe.SubscriptionSchedule.Phase.InvoiceSettings.Issuer": { - "properties": { - "account": { + "description": "The most recent SetupAttempt for this SetupIntent." + }, + "livemode": { + "type": "boolean", + "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." + }, + "mandate": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.Account" + "$ref": "#/components/schemas/stripe.Stripe.Mandate" } ], - "description": "The connected account being referenced when `type` is `account`." - }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.Phase.InvoiceSettings.Issuer.Type", - "description": "Type of the account referenced." - } - }, - "required": [ - "type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.SubscriptionSchedule.Phase.InvoiceSettings": { - "properties": { - "account_tax_ids": { - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.TaxId" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.DeletedTaxId" - } - ] - }, - "type": "array", "nullable": true, - "description": "The account tax IDs associated with this phase of the subscription schedule. Will be set on invoices generated by this phase of the subscription schedule." + "description": "ID of the multi use Mandate generated by the SetupIntent." }, - "days_until_due": { - "type": "number", - "format": "double", + "metadata": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Metadata" + } + ], "nullable": true, - "description": "Number of days within which a customer must pay invoices generated by this subscription schedule. This value will be `null` for subscription schedules where `billing=charge_automatically`." + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." }, - "issuer": { + "next_action": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.Phase.InvoiceSettings.Issuer" + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.NextAction" } ], "nullable": true, - "description": "The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account." - } - }, - "required": [ - "account_tax_ids", - "days_until_due", - "issuer" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.SubscriptionSchedule.Phase.Item.BillingThresholds": { - "properties": { - "usage_gte": { - "type": "number", - "format": "double", - "nullable": true, - "description": "Usage threshold that triggers the subscription to create an invoice" - } - }, - "required": [ - "usage_gte" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.SubscriptionSchedule.Phase.Item.Discount": { - "properties": { - "coupon": { + "description": "If present, this property tells you what actions you need to take in order for your customer to continue payment setup." + }, + "on_behalf_of": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.Coupon" + "$ref": "#/components/schemas/stripe.Stripe.Account" } ], "nullable": true, - "description": "ID of the coupon to create a new discount for." + "description": "The account (if any) for which the setup is intended." }, - "discount": { + "payment_method": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.Discount" + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod" } ], "nullable": true, - "description": "ID of an existing discount on the object (or one of its ancestors) to reuse." + "description": "ID of the payment method used with this SetupIntent. If the payment method is `card_present` and isn't a digital wallet, then the [generated_card](https://docs.stripe.com/api/setup_attempts/object#setup_attempt_object-payment_method_details-card_present-generated_card) associated with the `latest_attempt` is attached to the Customer instead." }, - "promotion_code": { + "payment_method_configuration_details": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodConfigurationDetails" + } + ], + "nullable": true, + "description": "Information about the [payment method configuration](https://stripe.com/docs/api/payment_method_configurations) used for this Setup Intent." + }, + "payment_method_options": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions" + } + ], + "nullable": true, + "description": "Payment method-specific configuration for this SetupIntent." + }, + "payment_method_types": { + "items": { + "type": "string" + }, + "type": "array", + "description": "The list of payment method types (e.g. card) that this SetupIntent is allowed to set up." + }, + "single_use_mandate": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.PromotionCode" + "$ref": "#/components/schemas/stripe.Stripe.Mandate" } ], "nullable": true, - "description": "ID of the promotion code to create a new discount for." + "description": "ID of the single_use Mandate generated by the SetupIntent." + }, + "status": { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.Status", + "description": "[Status](https://stripe.com/docs/payments/intents#intent-statuses) of this SetupIntent, one of `requires_payment_method`, `requires_confirmation`, `requires_action`, `processing`, `canceled`, or `succeeded`." + }, + "usage": { + "type": "string", + "description": "Indicates how the payment method is intended to be used in the future.\n\nUse `on_session` if you intend to only reuse the payment method when the customer is in your checkout flow. Use `off_session` if your customer may or may not be in your checkout flow. If not provided, this value defaults to `off_session`." } }, "required": [ - "coupon", - "discount", - "promotion_code" + "id", + "object", + "application", + "automatic_payment_methods", + "cancellation_reason", + "client_secret", + "created", + "customer", + "description", + "flow_directions", + "last_setup_error", + "latest_attempt", + "livemode", + "mandate", + "metadata", + "next_action", + "on_behalf_of", + "payment_method", + "payment_method_configuration_details", + "payment_method_options", + "payment_method_types", + "single_use_mandate", + "status", + "usage" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.DeletedPlan": { - "description": "The DeletedPlan object.", + "stripe.Stripe.SetupIntent.LastSetupError.Type": { + "type": "string", + "enum": [ + "api_error", + "card_error", + "idempotency_error", + "invalid_request_error" + ] + }, + "stripe.Stripe.SetupIntent.LastSetupError": { "properties": { - "id": { + "advice_code": { "type": "string", - "description": "Unique identifier for the object." + "description": "For card errors resulting from a card issuer decline, a short string indicating [how to proceed with an error](https://stripe.com/docs/declines#retrying-issuer-declines) if they provide one." }, - "object": { + "charge": { "type": "string", - "enum": [ - "plan" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." + "description": "For card errors, the ID of the failed charge." }, - "deleted": { - "type": "boolean", - "enum": [ - true - ], - "nullable": false, - "description": "Always true for a deleted object" + "code": { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.LastSetupError.Code", + "description": "For some errors that could be handled programmatically, a short string indicating the [error code](https://stripe.com/docs/error-codes) reported." + }, + "decline_code": { + "type": "string", + "description": "For card errors resulting from a card issuer decline, a short string indicating the [card issuer's reason for the decline](https://stripe.com/docs/declines#issuer-declines) if they provide one." + }, + "doc_url": { + "type": "string", + "description": "A URL to more information about the [error code](https://stripe.com/docs/error-codes) reported." + }, + "message": { + "type": "string", + "description": "A human-readable message providing more details about the error. For card errors, these messages can be shown to your users." + }, + "network_advice_code": { + "type": "string", + "description": "For card errors resulting from a card issuer decline, a 2 digit code which indicates the advice given to merchant by the card network on how to proceed with an error." + }, + "network_decline_code": { + "type": "string", + "description": "For card errors resulting from a card issuer decline, a brand specific 2, 3, or 4 digit code which indicates the reason the authorization failed." + }, + "param": { + "type": "string", + "description": "If the error is parameter-specific, the parameter related to the error. For example, you can use this to display a message near the correct form field." + }, + "payment_intent": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent", + "description": "A PaymentIntent guides you through the process of collecting a payment from your customer.\nWe recommend that you create exactly one PaymentIntent for each order or\ncustomer session in your system. You can reference the PaymentIntent later to\nsee the history of payment attempts for a particular session.\n\nA PaymentIntent transitions through\n[multiple statuses](https://stripe.com/docs/payments/intents#intent-statuses)\nthroughout its lifetime as it interfaces with Stripe.js to perform\nauthentication flows and ultimately creates at most one successful charge.\n\nRelated guide: [Payment Intents API](https://stripe.com/docs/payments/payment-intents)" + }, + "payment_method": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod", + "description": "PaymentMethod objects represent your customer's payment instruments.\nYou can use them with [PaymentIntents](https://stripe.com/docs/payments/payment-intents) to collect payments or save them to\nCustomer objects to store instrument details for future payments.\n\nRelated guides: [Payment Methods](https://stripe.com/docs/payments/payment-methods) and [More Payment Scenarios](https://stripe.com/docs/payments/more-payment-scenarios)." + }, + "payment_method_type": { + "type": "string", + "description": "If the error is specific to the type of payment method, the payment method type that had a problem. This field is only populated for invoice-related errors." + }, + "request_log_url": { + "type": "string", + "description": "A URL to the request log entry in your dashboard." + }, + "setup_intent": { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent", + "description": "A SetupIntent guides you through the process of setting up and saving a customer's payment credentials for future payments.\nFor example, you can use a SetupIntent to set up and save your customer's card without immediately collecting a payment.\nLater, you can use [PaymentIntents](https://stripe.com/docs/api#payment_intents) to drive the payment flow.\n\nCreate a SetupIntent when you're ready to collect your customer's payment credentials.\nDon't maintain long-lived, unconfirmed SetupIntents because they might not be valid.\nThe SetupIntent transitions through multiple [statuses](https://docs.stripe.com/payments/intents#intent-statuses) as it guides\nyou through the setup process.\n\nSuccessful SetupIntents result in payment credentials that are optimized for future payments.\nFor example, cardholders in [certain regions](https://stripe.com/guides/strong-customer-authentication) might need to be run through\n[Strong Customer Authentication](https://docs.stripe.com/strong-customer-authentication) during payment method collection\nto streamline later [off-session payments](https://docs.stripe.com/payments/setup-intents).\nIf you use the SetupIntent with a [Customer](https://stripe.com/docs/api#setup_intent_object-customer),\nit automatically attaches the resulting payment method to that Customer after successful setup.\nWe recommend using SetupIntents or [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) on\nPaymentIntents to save payment methods to prevent saving invalid or unoptimized payment methods.\n\nBy using SetupIntents, you can reduce friction for your customers, even as regulations change over time.\n\nRelated guide: [Setup Intents API](https://docs.stripe.com/payments/setup-intents)" + }, + "source": { + "$ref": "#/components/schemas/stripe.Stripe.CustomerSource" + }, + "type": { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.LastSetupError.Type", + "description": "The type of error returned. One of `api_error`, `card_error`, `idempotency_error`, or `invalid_request_error`" } }, "required": [ - "id", - "object", - "deleted" + "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.SubscriptionSchedule.Phase.Item": { + "stripe.Stripe.SetupAttempt": { + "description": "A SetupAttempt describes one attempted confirmation of a SetupIntent,\nwhether that confirmation is successful or unsuccessful. You can use\nSetupAttempts to inspect details of a specific attempt at setting up a\npayment method using a SetupIntent.", "properties": { - "billing_thresholds": { - "allOf": [ + "id": { + "type": "string", + "description": "Unique identifier for the object." + }, + "object": { + "type": "string", + "enum": [ + "setup_attempt" + ], + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." + }, + "application": { + "anyOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.Phase.Item.BillingThresholds" + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Application" } ], "nullable": true, - "description": "Define thresholds at which an invoice will be sent, and the related subscription advanced to a new billing period" + "description": "The value of [application](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-application) on the SetupIntent at the time of this confirmation." }, - "discounts": { + "attach_to_self": { + "type": "boolean", + "description": "If present, the SetupIntent's payment method will be attached to the in-context Stripe Account.\n\nIt can only be used for this Stripe Account's own money movement flows like InboundTransfer and OutboundTransfers. It cannot be set to true when setting up a PaymentMethod for a Customer, and defaults to false when attaching a PaymentMethod to a Customer." + }, + "created": { + "type": "number", + "format": "double", + "description": "Time at which the object was created. Measured in seconds since the Unix epoch." + }, + "customer": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Customer" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedCustomer" + } + ], + "nullable": true, + "description": "The value of [customer](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-customer) on the SetupIntent at the time of this confirmation." + }, + "flow_directions": { "items": { - "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.Phase.Item.Discount" + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.FlowDirection" }, "type": "array", - "description": "The discounts applied to the subscription item. Subscription item discounts are applied before subscription discounts. Use `expand[]=discounts` to expand each discount." + "nullable": true, + "description": "Indicates the directions of money movement for which this payment method is intended to be used.\n\nInclude `inbound` if you intend to use the payment method as the origin to pull funds from. Include `outbound` if you intend to use the payment method as the destination to send funds to. You can include both if you intend to use the payment method for both purposes." }, - "metadata": { - "allOf": [ + "livemode": { + "type": "boolean", + "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." + }, + "on_behalf_of": { + "anyOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Metadata" + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Account" } ], "nullable": true, - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an item. Metadata on this item will update the underlying subscription item's `metadata` when the phase is entered." + "description": "The value of [on_behalf_of](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-on_behalf_of) on the SetupIntent at the time of this confirmation." }, - "plan": { + "payment_method": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.Plan" - }, + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod" + } + ], + "description": "ID of the payment method used with this SetupAttempt." + }, + "payment_method_details": { + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.PaymentMethodDetails" + }, + "setup_error": { + "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.DeletedPlan" + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.SetupError" } ], - "description": "ID of the plan to which the customer should be subscribed." + "nullable": true, + "description": "The error encountered during this attempt to confirm the SetupIntent, if any." }, - "price": { + "setup_intent": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.Price" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.DeletedPrice" + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent" } ], - "description": "ID of the price to which the customer should be subscribed." + "description": "ID of the SetupIntent that this attempt belongs to." }, - "quantity": { + "status": { + "type": "string", + "description": "Status of this SetupAttempt, one of `requires_confirmation`, `requires_action`, `processing`, `succeeded`, `failed`, or `abandoned`." + }, + "usage": { + "type": "string", + "description": "The value of [usage](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-usage) on the SetupIntent at the time of this confirmation, one of `off_session` or `on_session`." + } + }, + "required": [ + "id", + "object", + "application", + "created", + "customer", + "flow_directions", + "livemode", + "on_behalf_of", + "payment_method", + "payment_method_details", + "setup_error", + "setup_intent", + "status", + "usage" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.SetupIntent.NextAction.CashappHandleRedirectOrDisplayQrCode.QrCode": { + "properties": { + "expires_at": { "type": "number", "format": "double", - "description": "Quantity of the plan to which the customer should be subscribed." + "description": "The date (unix timestamp) when the QR code expires." }, - "tax_rates": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.TaxRate" - }, - "type": "array", + "image_url_png": { + "type": "string", + "description": "The image_url_png string used to render QR code" + }, + "image_url_svg": { + "type": "string", + "description": "The image_url_svg string used to render QR code" + } + }, + "required": [ + "expires_at", + "image_url_png", + "image_url_svg" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.SetupIntent.NextAction.CashappHandleRedirectOrDisplayQrCode": { + "properties": { + "hosted_instructions_url": { + "type": "string", + "description": "The URL to the hosted Cash App Pay instructions page, which allows customers to view the QR code, and supports QR code refreshing on expiration." + }, + "mobile_auth_url": { + "type": "string", + "description": "The url for mobile redirect based auth" + }, + "qr_code": { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.NextAction.CashappHandleRedirectOrDisplayQrCode.QrCode" + } + }, + "required": [ + "hosted_instructions_url", + "mobile_auth_url", + "qr_code" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.SetupIntent.NextAction.RedirectToUrl": { + "properties": { + "return_url": { + "type": "string", + "nullable": true, + "description": "If the customer does not exit their browser while authenticating, they will be redirected to this specified URL after completion." + }, + "url": { + "type": "string", "nullable": true, - "description": "The tax rates which apply to this `phase_item`. When set, the `default_tax_rates` on the phase do not apply to this `phase_item`." + "description": "The URL you must redirect your customer to in order to authenticate." } }, "required": [ - "billing_thresholds", - "discounts", - "metadata", - "plan", - "price" + "return_url", + "url" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.SubscriptionSchedule.Phase.ProrationBehavior": { + "stripe.Stripe.SetupIntent.NextAction.UseStripeSdk": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.SetupIntent.NextAction.VerifyWithMicrodeposits.MicrodepositType": { "type": "string", "enum": [ - "always_invoice", - "create_prorations", - "none" + "amounts", + "descriptor_code" ] }, - "stripe.Stripe.SubscriptionSchedule.Phase.TransferData": { + "stripe.Stripe.SetupIntent.NextAction.VerifyWithMicrodeposits": { "properties": { - "amount_percent": { + "arrival_date": { "type": "number", "format": "double", - "nullable": true, - "description": "A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount is transferred to the destination." + "description": "The timestamp when the microdeposits are expected to land." }, - "destination": { - "anyOf": [ - { - "type": "string" - }, + "hosted_verification_url": { + "type": "string", + "description": "The URL for the hosted verification page, which allows customers to verify their bank account." + }, + "microdeposit_type": { + "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Account" + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.NextAction.VerifyWithMicrodeposits.MicrodepositType" } ], - "description": "The account where funds from the payment will be transferred to upon payment success." + "nullable": true, + "description": "The type of the microdeposit sent to the customer. Used to distinguish between different verification methods." } }, "required": [ - "amount_percent", - "destination" + "arrival_date", + "hosted_verification_url", + "microdeposit_type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.SubscriptionSchedule.Phase": { + "stripe.Stripe.SetupIntent.NextAction": { "properties": { - "add_invoice_items": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.Phase.AddInvoiceItem" - }, - "type": "array", - "description": "A list of prices and quantities that will generate invoice items appended to the next invoice for this phase." - }, - "application_fee_percent": { - "type": "number", - "format": "double", - "nullable": true, - "description": "A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account during this phase of the schedule." - }, - "automatic_tax": { - "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.Phase.AutomaticTax" - }, - "billing_cycle_anchor": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.Phase.BillingCycleAnchor" - } - ], - "nullable": true, - "description": "Possible values are `phase_start` or `automatic`. If `phase_start` then billing cycle anchor of the subscription is set to the start of the phase when entering the phase. If `automatic` then the billing cycle anchor is automatically modified as needed when entering the phase. For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle)." + "cashapp_handle_redirect_or_display_qr_code": { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.NextAction.CashappHandleRedirectOrDisplayQrCode" }, - "billing_thresholds": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.Phase.BillingThresholds" - } - ], - "nullable": true, - "description": "Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period" + "redirect_to_url": { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.NextAction.RedirectToUrl" }, - "collection_method": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.Phase.CollectionMethod" - } - ], - "nullable": true, - "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay the underlying subscription at the end of each billing cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`." + "type": { + "type": "string", + "description": "Type of the next action to perform, one of `redirect_to_url`, `use_stripe_sdk`, `alipay_handle_redirect`, `oxxo_display_details`, or `verify_with_microdeposits`." }, - "coupon": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Coupon" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.DeletedCoupon" - } - ], - "nullable": true, - "description": "ID of the coupon to use during this phase of the subscription schedule." + "use_stripe_sdk": { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.NextAction.UseStripeSdk", + "description": "When confirming a SetupIntent with Stripe.js, Stripe.js depends on the contents of this dictionary to invoke authentication flows. The shape of the contents is subject to change and is only intended to be used by Stripe.js." }, - "currency": { + "verify_with_microdeposits": { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.NextAction.VerifyWithMicrodeposits" + } + }, + "required": [ + "type" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.SetupIntent.PaymentMethodConfigurationDetails": { + "properties": { + "id": { "type": "string", - "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." + "description": "ID of the payment method configuration used." }, - "default_payment_method": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod" - } - ], + "parent": { + "type": "string", "nullable": true, - "description": "ID of the default payment method for the subscription schedule. It must belong to the customer associated with the subscription schedule. If not set, invoices will use the default payment method in the customer's invoice settings." + "description": "ID of the parent payment method configuration used." + } + }, + "required": [ + "id", + "parent" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.Currency": { + "type": "string", + "enum": [ + "cad", + "usd" + ] + }, + "stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.MandateOptions.DefaultFor": { + "type": "string", + "enum": [ + "invoice", + "subscription" + ] + }, + "stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.MandateOptions.PaymentSchedule": { + "type": "string", + "enum": [ + "combined", + "interval", + "sporadic" + ] + }, + "stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.MandateOptions.TransactionType": { + "type": "string", + "enum": [ + "business", + "personal" + ] + }, + "stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.MandateOptions": { + "properties": { + "custom_mandate_url": { + "type": "string", + "description": "A URL for custom mandate text" }, - "default_tax_rates": { + "default_for": { "items": { - "$ref": "#/components/schemas/stripe.Stripe.TaxRate" + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.MandateOptions.DefaultFor" }, "type": "array", - "nullable": true, - "description": "The default tax rates to apply to the subscription during this phase of the subscription schedule." + "description": "List of Stripe products where this mandate can be selected automatically." }, - "description": { + "interval_description": { "type": "string", "nullable": true, - "description": "Subscription description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs." - }, - "discounts": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.Phase.Discount" - }, - "type": "array", - "description": "The stackable discounts that will be applied to the subscription on this phase. Subscription item discounts are applied before subscription discounts." - }, - "end_date": { - "type": "number", - "format": "double", - "description": "The end of this phase of the subscription schedule." + "description": "Description of the interval. Only required if the 'payment_schedule' parameter is 'interval' or 'combined'." }, - "invoice_settings": { + "payment_schedule": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.Phase.InvoiceSettings" + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.MandateOptions.PaymentSchedule" } ], "nullable": true, - "description": "The invoice settings applicable during this phase." - }, - "items": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.Phase.Item" - }, - "type": "array", - "description": "Subscription items to configure the subscription to during this phase of the subscription schedule." + "description": "Payment schedule for the mandate." }, - "metadata": { + "transaction_type": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Metadata" - } - ], - "nullable": true, - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to a phase. Metadata on a schedule's phase will update the underlying subscription's `metadata` when the phase is entered. Updating the underlying subscription's `metadata` directly will not affect the current phase's `metadata`." - }, - "on_behalf_of": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Account" + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.MandateOptions.TransactionType" } ], "nullable": true, - "description": "The account (if any) the charge was made on behalf of for charges associated with the schedule's subscription. See the Connect documentation for details." - }, - "proration_behavior": { - "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.Phase.ProrationBehavior", - "description": "If the subscription schedule will prorate when transitioning to this phase. Possible values are `create_prorations` and `none`." - }, - "start_date": { - "type": "number", - "format": "double", - "description": "The start of this phase of the subscription schedule." - }, - "transfer_data": { + "description": "Transaction type of the mandate." + } + }, + "required": [ + "interval_description", + "payment_schedule", + "transaction_type" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.VerificationMethod": { + "type": "string", + "enum": [ + "automatic", + "instant", + "microdeposits" + ] + }, + "stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit": { + "properties": { + "currency": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.Phase.TransferData" + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.Currency" } ], "nullable": true, - "description": "The account (if any) the associated subscription's payments will be attributed to for tax reporting, and where funds from each payment will be transferred to for each of the subscription's invoices." + "description": "Currency supported by the bank account" }, - "trial_end": { - "type": "number", - "format": "double", - "nullable": true, - "description": "When the trial ends within the phase." + "mandate_options": { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.MandateOptions" + }, + "verification_method": { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit.VerificationMethod", + "description": "Bank account verification method." } }, "required": [ - "add_invoice_items", - "application_fee_percent", - "billing_cycle_anchor", - "billing_thresholds", - "collection_method", - "coupon", - "currency", - "default_payment_method", - "description", - "discounts", - "end_date", - "invoice_settings", - "items", - "metadata", - "on_behalf_of", - "proration_behavior", - "start_date", - "transfer_data", - "trial_end" + "currency" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.SubscriptionSchedule.Status": { + "stripe.Stripe.SetupIntent.PaymentMethodOptions.AmazonPay": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.SetupIntent.PaymentMethodOptions.BacsDebit.MandateOptions": { + "properties": { + "reference_prefix": { + "type": "string", + "description": "Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'DDIC' or 'STRIPE'." + } + }, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.SetupIntent.PaymentMethodOptions.BacsDebit": { + "properties": { + "mandate_options": { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.BacsDebit.MandateOptions" + } + }, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.SetupIntent.PaymentMethodOptions.Card.MandateOptions.AmountType": { "type": "string", "enum": [ - "active", - "canceled", - "completed", - "not_started", - "released" + "fixed", + "maximum" ] }, - "stripe.Stripe.SubscriptionSchedule": { - "description": "A subscription schedule allows you to create and manage the lifecycle of a subscription by predefining expected changes.\n\nRelated guide: [Subscription schedules](https://stripe.com/docs/billing/subscriptions/subscription-schedules)", + "stripe.Stripe.SetupIntent.PaymentMethodOptions.Card.MandateOptions.Interval": { + "type": "string", + "enum": [ + "day", + "month", + "sporadic", + "week", + "year" + ] + }, + "stripe.Stripe.SetupIntent.PaymentMethodOptions.Card.MandateOptions": { "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." + "amount": { + "type": "number", + "format": "double", + "description": "Amount to be charged for future payments." }, - "object": { + "amount_type": { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.Card.MandateOptions.AmountType", + "description": "One of `fixed` or `maximum`. If `fixed`, the `amount` param refers to the exact amount to be charged in future payments. If `maximum`, the amount charged can be up to the value passed for the `amount` param." + }, + "currency": { "type": "string", - "enum": [ - "subscription_schedule" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." }, - "application": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Application" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.DeletedApplication" - } - ], + "description": { + "type": "string", "nullable": true, - "description": "ID of the Connect Application that created the schedule." + "description": "A description of the mandate or subscription that is meant to be displayed to the customer." }, - "canceled_at": { + "end_date": { "type": "number", "format": "double", "nullable": true, - "description": "Time at which the subscription schedule was canceled. Measured in seconds since the Unix epoch." + "description": "End date of the mandate or subscription. If not provided, the mandate will be active until canceled. If provided, end date should be after start date." }, - "completed_at": { - "type": "number", - "format": "double", - "nullable": true, - "description": "Time at which the subscription schedule was completed. Measured in seconds since the Unix epoch." + "interval": { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.Card.MandateOptions.Interval", + "description": "Specifies payment frequency. One of `day`, `week`, `month`, `year`, or `sporadic`." }, - "created": { + "interval_count": { "type": "number", "format": "double", - "description": "Time at which the object was created. Measured in seconds since the Unix epoch." - }, - "current_phase": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.CurrentPhase" - } - ], "nullable": true, - "description": "Object representing the start and end dates for the current phase of the subscription schedule, if it is `active`." - }, - "customer": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Customer" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.DeletedCustomer" - } - ], - "description": "ID of the customer who owns the subscription schedule." - }, - "default_settings": { - "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.DefaultSettings" - }, - "end_behavior": { - "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.EndBehavior", - "description": "Behavior of the subscription schedule and underlying subscription when it ends. Possible values are `release` or `cancel` with the default being `release`. `release` will end the subscription schedule and keep the underlying subscription running. `cancel` will end the subscription schedule and cancel the underlying subscription." + "description": "The number of intervals between payments. For example, `interval=month` and `interval_count=3` indicates one payment every three months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks). This parameter is optional when `interval=sporadic`." }, - "livemode": { - "type": "boolean", - "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." + "reference": { + "type": "string", + "description": "Unique identifier for the mandate or subscription." }, - "metadata": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Metadata" - } - ], - "nullable": true, - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." + "start_date": { + "type": "number", + "format": "double", + "description": "Start date of the mandate or subscription. Start date should not be lesser than yesterday." }, - "phases": { + "supported_types": { "items": { - "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.Phase" + "type": "string", + "enum": [ + "india" + ], + "nullable": false }, "type": "array", - "description": "Configuration for the subscription schedule's phases." - }, - "released_at": { - "type": "number", - "format": "double", "nullable": true, - "description": "Time at which the subscription schedule was released. Measured in seconds since the Unix epoch." - }, - "released_subscription": { - "type": "string", + "description": "Specifies the type of mandates supported. Possible values are `india`." + } + }, + "required": [ + "amount", + "amount_type", + "currency", + "description", + "end_date", + "interval", + "interval_count", + "reference", + "start_date", + "supported_types" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.SetupIntent.PaymentMethodOptions.Card.Network": { + "type": "string", + "enum": [ + "amex", + "cartes_bancaires", + "diners", + "discover", + "eftpos_au", + "girocard", + "interac", + "jcb", + "link", + "mastercard", + "unionpay", + "unknown", + "visa" + ] + }, + "stripe.Stripe.SetupIntent.PaymentMethodOptions.Card.RequestThreeDSecure": { + "type": "string", + "enum": [ + "any", + "automatic", + "challenge" + ] + }, + "stripe.Stripe.SetupIntent.PaymentMethodOptions.Card": { + "properties": { + "mandate_options": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.Card.MandateOptions" + } + ], "nullable": true, - "description": "ID of the subscription once managed by the subscription schedule (if it is released)." - }, - "status": { - "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.Status", - "description": "The present status of the subscription schedule. Possible values are `not_started`, `active`, `completed`, `released`, and `canceled`. You can read more about the different states in our [behavior guide](https://stripe.com/docs/billing/subscriptions/subscription-schedules)." + "description": "Configuration options for setting up an eMandate for cards issued in India." }, - "subscription": { - "anyOf": [ - { - "type": "string" - }, + "network": { + "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Subscription" + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.Card.Network" } ], "nullable": true, - "description": "ID of the subscription managed by the subscription schedule." + "description": "Selected network to process this SetupIntent on. Depends on the available networks of the card attached to the setup intent. Can be only set confirm-time." }, - "test_clock": { - "anyOf": [ - { - "type": "string" - }, + "request_three_d_secure": { + "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.TestHelpers.TestClock" + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.Card.RequestThreeDSecure" } ], "nullable": true, - "description": "ID of the test clock this subscription schedule belongs to." + "description": "We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. If not provided, this value defaults to `automatic`. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine." } }, "required": [ - "id", - "object", - "application", - "canceled_at", - "completed_at", - "created", - "current_phase", - "customer", - "default_settings", - "end_behavior", - "livemode", - "metadata", - "phases", - "released_at", - "released_subscription", - "status", - "subscription", - "test_clock" + "mandate_options", + "network", + "request_three_d_secure" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Quote.TotalDetails.Breakdown.Discount": { + "stripe.Stripe.SetupIntent.PaymentMethodOptions.CardPresent": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.SetupIntent.PaymentMethodOptions.Link": { "properties": { - "amount": { - "type": "number", - "format": "double", - "description": "The amount discounted." - }, - "discount": { - "$ref": "#/components/schemas/stripe.Stripe.Discount", - "description": "A discount represents the actual application of a [coupon](https://stripe.com/docs/api#coupons) or [promotion code](https://stripe.com/docs/api#promotion_codes).\nIt contains information about when the discount began, when it will end, and what it is applied to.\n\nRelated guide: [Applying discounts to subscriptions](https://stripe.com/docs/billing/subscriptions/discounts)" + "persistent_token": { + "type": "string", + "nullable": true, + "description": "[Deprecated] This is a legacy parameter that no longer has any function.", + "deprecated": true } }, "required": [ - "amount", - "discount" + "persistent_token" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Quote.TotalDetails.Breakdown.Tax.TaxabilityReason": { + "stripe.Stripe.SetupIntent.PaymentMethodOptions.Paypal": { + "properties": { + "billing_agreement_id": { + "type": "string", + "nullable": true, + "description": "The PayPal Billing Agreement ID (BAID). This is an ID generated by PayPal which represents the mandate between the merchant and the customer." + } + }, + "required": [ + "billing_agreement_id" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.SetupIntent.PaymentMethodOptions.SepaDebit.MandateOptions": { + "properties": { + "reference_prefix": { + "type": "string", + "description": "Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'STRIPE'." + } + }, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.SetupIntent.PaymentMethodOptions.SepaDebit": { + "properties": { + "mandate_options": { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.SepaDebit.MandateOptions" + } + }, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters.AccountSubcategory": { "type": "string", "enum": [ - "customer_exempt", - "not_collecting", - "not_subject_to_tax", - "not_supported", - "portion_product_exempt", - "portion_reduced_rated", - "portion_standard_rated", - "product_exempt", - "product_exempt_holiday", - "proportionally_rated", - "reduced_rated", - "reverse_charge", - "standard_rated", - "taxable_basis_reduced", - "zero_rated" + "checking", + "savings" ] }, - "stripe.Stripe.Quote.TotalDetails.Breakdown.Tax": { + "stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters": { "properties": { - "amount": { - "type": "number", - "format": "double", - "description": "Amount of tax applied for this rate." - }, - "rate": { - "$ref": "#/components/schemas/stripe.Stripe.TaxRate", - "description": "Tax rates can be applied to [invoices](https://stripe.com/invoicing/taxes/tax-rates), [subscriptions](https://stripe.com/billing/taxes/tax-rates) and [Checkout Sessions](https://stripe.com/payments/checkout/use-manual-tax-rates) to collect tax.\n\nRelated guide: [Tax rates](https://stripe.com/billing/taxes/tax-rates)" - }, - "taxability_reason": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Quote.TotalDetails.Breakdown.Tax.TaxabilityReason" - } - ], - "nullable": true, - "description": "The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported." - }, - "taxable_amount": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The amount on which tax is calculated, in cents (or local equivalent)." + "account_subcategories": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters.AccountSubcategory" + }, + "type": "array", + "description": "The account subcategories to use to filter for possible accounts to link. Valid subcategories are `checking` and `savings`." } }, - "required": [ - "amount", - "rate", - "taxability_reason", - "taxable_amount" - ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Quote.TotalDetails.Breakdown": { + "stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Permission": { + "type": "string", + "enum": [ + "balances", + "ownership", + "payment_method", + "transactions" + ] + }, + "stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Prefetch": { + "type": "string", + "enum": [ + "balances", + "ownership", + "transactions" + ] + }, + "stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections": { "properties": { - "discounts": { + "filters": { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters" + }, + "permissions": { "items": { - "$ref": "#/components/schemas/stripe.Stripe.Quote.TotalDetails.Breakdown.Discount" + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Permission" }, "type": "array", - "description": "The aggregated discounts." + "description": "The list of permissions to request. The `payment_method` permission must be included." }, - "taxes": { + "prefetch": { "items": { - "$ref": "#/components/schemas/stripe.Stripe.Quote.TotalDetails.Breakdown.Tax" + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Prefetch" }, "type": "array", - "description": "The aggregated tax amounts by rate." + "nullable": true, + "description": "Data features requested to be retrieved upon account creation." + }, + "return_url": { + "type": "string", + "description": "For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app." } }, "required": [ - "discounts", - "taxes" + "prefetch" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Quote.TotalDetails": { + "stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.MandateOptions": { "properties": { - "amount_discount": { - "type": "number", - "format": "double", - "description": "This is the sum of all the discounts." - }, - "amount_shipping": { - "type": "number", - "format": "double", - "nullable": true, - "description": "This is the sum of all the shipping amounts." + "collection_method": { + "type": "string", + "enum": [ + "paper" + ], + "nullable": false, + "description": "Mandate collection method" + } + }, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.VerificationMethod": { + "type": "string", + "enum": [ + "automatic", + "instant", + "microdeposits" + ] + }, + "stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount": { + "properties": { + "financial_connections": { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections" }, - "amount_tax": { - "type": "number", - "format": "double", - "description": "This is the sum of all the tax amounts." + "mandate_options": { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.MandateOptions" }, - "breakdown": { - "$ref": "#/components/schemas/stripe.Stripe.Quote.TotalDetails.Breakdown" + "verification_method": { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount.VerificationMethod", + "description": "Bank account verification method." } }, - "required": [ - "amount_discount", - "amount_shipping", - "amount_tax" - ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Quote.TransferData": { + "stripe.Stripe.SetupIntent.PaymentMethodOptions": { "properties": { - "amount": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The amount in cents (or local equivalent) that will be transferred to the destination account when the invoice is paid. By default, the entire amount is transferred to the destination." + "acss_debit": { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.AcssDebit" }, - "amount_percent": { - "type": "number", - "format": "double", - "nullable": true, - "description": "A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount will be transferred to the destination." + "amazon_pay": { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.AmazonPay" }, - "destination": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Account" - } - ], - "description": "The account where funds from the payment will be transferred to upon payment success." + "bacs_debit": { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.BacsDebit" + }, + "card": { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.Card" + }, + "card_present": { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.CardPresent" + }, + "link": { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.Link" + }, + "paypal": { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.Paypal" + }, + "sepa_debit": { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.SepaDebit" + }, + "us_bank_account": { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent.PaymentMethodOptions.UsBankAccount" } }, - "required": [ - "amount", - "amount_percent", - "destination" - ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Invoice.Rendering.Pdf.PageSize": { + "stripe.Stripe.SetupIntent.Status": { "type": "string", "enum": [ - "a4", - "auto", - "letter" + "canceled", + "processing", + "requires_action", + "requires_confirmation", + "requires_payment_method", + "succeeded" ] }, - "stripe.Stripe.Invoice.Rendering.Pdf": { + "stripe.Stripe.Invoice.LastFinalizationError.Type": { + "type": "string", + "enum": [ + "api_error", + "card_error", + "idempotency_error", + "invalid_request_error" + ] + }, + "stripe.Stripe.Invoice.LastFinalizationError": { "properties": { - "page_size": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.Rendering.Pdf.PageSize" - } - ], - "nullable": true, - "description": "Page size of invoice pdf. Options include a4, letter, and auto. If set to auto, page size will be switched to a4 or letter based on customer locale." + "advice_code": { + "type": "string", + "description": "For card errors resulting from a card issuer decline, a short string indicating [how to proceed with an error](https://stripe.com/docs/declines#retrying-issuer-declines) if they provide one." + }, + "charge": { + "type": "string", + "description": "For card errors, the ID of the failed charge." + }, + "code": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.LastFinalizationError.Code", + "description": "For some errors that could be handled programmatically, a short string indicating the [error code](https://stripe.com/docs/error-codes) reported." + }, + "decline_code": { + "type": "string", + "description": "For card errors resulting from a card issuer decline, a short string indicating the [card issuer's reason for the decline](https://stripe.com/docs/declines#issuer-declines) if they provide one." + }, + "doc_url": { + "type": "string", + "description": "A URL to more information about the [error code](https://stripe.com/docs/error-codes) reported." + }, + "message": { + "type": "string", + "description": "A human-readable message providing more details about the error. For card errors, these messages can be shown to your users." + }, + "network_advice_code": { + "type": "string", + "description": "For card errors resulting from a card issuer decline, a 2 digit code which indicates the advice given to merchant by the card network on how to proceed with an error." + }, + "network_decline_code": { + "type": "string", + "description": "For card errors resulting from a card issuer decline, a brand specific 2, 3, or 4 digit code which indicates the reason the authorization failed." + }, + "param": { + "type": "string", + "description": "If the error is parameter-specific, the parameter related to the error. For example, you can use this to display a message near the correct form field." + }, + "payment_intent": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent", + "description": "A PaymentIntent guides you through the process of collecting a payment from your customer.\nWe recommend that you create exactly one PaymentIntent for each order or\ncustomer session in your system. You can reference the PaymentIntent later to\nsee the history of payment attempts for a particular session.\n\nA PaymentIntent transitions through\n[multiple statuses](https://stripe.com/docs/payments/intents#intent-statuses)\nthroughout its lifetime as it interfaces with Stripe.js to perform\nauthentication flows and ultimately creates at most one successful charge.\n\nRelated guide: [Payment Intents API](https://stripe.com/docs/payments/payment-intents)" + }, + "payment_method": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod", + "description": "PaymentMethod objects represent your customer's payment instruments.\nYou can use them with [PaymentIntents](https://stripe.com/docs/payments/payment-intents) to collect payments or save them to\nCustomer objects to store instrument details for future payments.\n\nRelated guides: [Payment Methods](https://stripe.com/docs/payments/payment-methods) and [More Payment Scenarios](https://stripe.com/docs/payments/more-payment-scenarios)." + }, + "payment_method_type": { + "type": "string", + "description": "If the error is specific to the type of payment method, the payment method type that had a problem. This field is only populated for invoice-related errors." + }, + "request_log_url": { + "type": "string", + "description": "A URL to the request log entry in your dashboard." + }, + "setup_intent": { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent", + "description": "A SetupIntent guides you through the process of setting up and saving a customer's payment credentials for future payments.\nFor example, you can use a SetupIntent to set up and save your customer's card without immediately collecting a payment.\nLater, you can use [PaymentIntents](https://stripe.com/docs/api#payment_intents) to drive the payment flow.\n\nCreate a SetupIntent when you're ready to collect your customer's payment credentials.\nDon't maintain long-lived, unconfirmed SetupIntents because they might not be valid.\nThe SetupIntent transitions through multiple [statuses](https://docs.stripe.com/payments/intents#intent-statuses) as it guides\nyou through the setup process.\n\nSuccessful SetupIntents result in payment credentials that are optimized for future payments.\nFor example, cardholders in [certain regions](https://stripe.com/guides/strong-customer-authentication) might need to be run through\n[Strong Customer Authentication](https://docs.stripe.com/strong-customer-authentication) during payment method collection\nto streamline later [off-session payments](https://docs.stripe.com/payments/setup-intents).\nIf you use the SetupIntent with a [Customer](https://stripe.com/docs/api#setup_intent_object-customer),\nit automatically attaches the resulting payment method to that Customer after successful setup.\nWe recommend using SetupIntents or [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) on\nPaymentIntents to save payment methods to prevent saving invalid or unoptimized payment methods.\n\nBy using SetupIntents, you can reduce friction for your customers, even as regulations change over time.\n\nRelated guide: [Setup Intents API](https://docs.stripe.com/payments/setup-intents)" + }, + "source": { + "$ref": "#/components/schemas/stripe.Stripe.CustomerSource" + }, + "type": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.LastFinalizationError.Type", + "description": "The type of error returned. One of `api_error`, `card_error`, `idempotency_error`, or `invalid_request_error`" } }, "required": [ - "page_size" + "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Invoice.Rendering": { + "stripe.Stripe.InvoiceLineItem.DiscountAmount": { "properties": { - "amount_tax_display": { - "type": "string", - "nullable": true, - "description": "How line-item prices and amounts will be displayed with respect to tax on invoice PDFs." + "amount": { + "type": "number", + "format": "double", + "description": "The amount, in cents (or local equivalent), of the discount." }, - "pdf": { - "allOf": [ + "discount": { + "anyOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.Rendering.Pdf" + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Discount" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedDiscount" } ], - "nullable": true, - "description": "Invoice pdf rendering options" - }, - "template": { - "type": "string", - "nullable": true, - "description": "ID of the rendering template that the invoice is formatted by." + "description": "The discount that was applied to get this discount amount." + } + }, + "required": [ + "amount", + "discount" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.InvoiceItem.Period": { + "properties": { + "end": { + "type": "number", + "format": "double", + "description": "The end of the period, which must be greater than or equal to the start. This value is inclusive." }, - "template_version": { + "start": { "type": "number", "format": "double", - "nullable": true, - "description": "Version of the rendering template that the invoice is using." + "description": "The start of the period. This value is inclusive." } }, "required": [ - "amount_tax_display", - "pdf", - "template", - "template_version" + "end", + "start" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.ShippingRate.DeliveryEstimate.Maximum.Unit": { + "stripe.Stripe.Plan.AggregateUsage": { + "type": "string", + "enum": [ + "last_during_period", + "last_ever", + "max", + "sum" + ] + }, + "stripe.Stripe.Plan.BillingScheme": { + "type": "string", + "enum": [ + "per_unit", + "tiered" + ] + }, + "stripe.Stripe.Plan.Interval": { "type": "string", "enum": [ - "business_day", "day", - "hour", "month", - "week" + "week", + "year" ] }, - "stripe.Stripe.ShippingRate.DeliveryEstimate.Maximum": { + "stripe.Stripe.Price.BillingScheme": { + "type": "string", + "enum": [ + "per_unit", + "tiered" + ] + }, + "stripe.Stripe.Price.CurrencyOptions.CustomUnitAmount": { "properties": { - "unit": { - "$ref": "#/components/schemas/stripe.Stripe.ShippingRate.DeliveryEstimate.Maximum.Unit", - "description": "A unit of time." + "maximum": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The maximum unit amount the customer can specify for this item." + }, + "minimum": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The minimum unit amount the customer can specify for this item. Must be at least the minimum charge amount." }, - "value": { + "preset": { "type": "number", "format": "double", - "description": "Must be greater than 0." + "nullable": true, + "description": "The starting unit amount which can be updated by the customer." } }, "required": [ - "unit", - "value" + "maximum", + "minimum", + "preset" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.ShippingRate.DeliveryEstimate.Minimum.Unit": { + "stripe.Stripe.Price.CurrencyOptions.TaxBehavior": { "type": "string", "enum": [ - "business_day", - "day", - "hour", - "month", - "week" + "exclusive", + "inclusive", + "unspecified" ] }, - "stripe.Stripe.ShippingRate.DeliveryEstimate.Minimum": { + "stripe.Stripe.Price.CurrencyOptions.Tier": { "properties": { - "unit": { - "$ref": "#/components/schemas/stripe.Stripe.ShippingRate.DeliveryEstimate.Minimum.Unit", - "description": "A unit of time." + "flat_amount": { + "type": "number", + "format": "double", + "nullable": true, + "description": "Price for the entire tier." }, - "value": { + "flat_amount_decimal": { + "type": "string", + "nullable": true, + "description": "Same as `flat_amount`, but contains a decimal value with at most 12 decimal places." + }, + "unit_amount": { "type": "number", "format": "double", - "description": "Must be greater than 0." + "nullable": true, + "description": "Per unit price for units relevant to the tier." + }, + "unit_amount_decimal": { + "type": "string", + "nullable": true, + "description": "Same as `unit_amount`, but contains a decimal value with at most 12 decimal places." + }, + "up_to": { + "type": "number", + "format": "double", + "nullable": true, + "description": "Up to and including to this quantity will be contained in the tier." } }, "required": [ - "unit", - "value" + "flat_amount", + "flat_amount_decimal", + "unit_amount", + "unit_amount_decimal", + "up_to" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.ShippingRate.DeliveryEstimate": { + "stripe.Stripe.Price.CurrencyOptions": { "properties": { - "maximum": { + "custom_unit_amount": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.ShippingRate.DeliveryEstimate.Maximum" + "$ref": "#/components/schemas/stripe.Stripe.Price.CurrencyOptions.CustomUnitAmount" } ], "nullable": true, - "description": "The upper bound of the estimated range. If empty, represents no upper bound i.e., infinite." + "description": "When set, provides configuration for the amount to be adjusted by the customer during Checkout Sessions and Payment Links." }, - "minimum": { + "tax_behavior": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.ShippingRate.DeliveryEstimate.Minimum" + "$ref": "#/components/schemas/stripe.Stripe.Price.CurrencyOptions.TaxBehavior" } ], "nullable": true, - "description": "The lower bound of the estimated range. If empty, represents no lower bound." - } - }, - "required": [ - "maximum", - "minimum" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.ShippingRate.FixedAmount.CurrencyOptions.TaxBehavior": { - "type": "string", - "enum": [ - "exclusive", - "inclusive", - "unspecified" - ] - }, - "stripe.Stripe.ShippingRate.FixedAmount.CurrencyOptions": { - "properties": { - "amount": { + "description": "Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed." + }, + "tiers": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Price.CurrencyOptions.Tier" + }, + "type": "array", + "description": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`." + }, + "unit_amount": { "type": "number", "format": "double", - "description": "A non-negative integer in cents representing how much to charge." + "nullable": true, + "description": "The unit amount in cents (or local equivalent) to be charged, represented as a whole integer if possible. Only set if `billing_scheme=per_unit`." }, - "tax_behavior": { - "$ref": "#/components/schemas/stripe.Stripe.ShippingRate.FixedAmount.CurrencyOptions.TaxBehavior", - "description": "Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`." + "unit_amount_decimal": { + "type": "string", + "nullable": true, + "description": "The unit amount in cents (or local equivalent) to be charged, represented as a decimal string with at most 12 decimal places. Only set if `billing_scheme=per_unit`." } }, "required": [ - "amount", - "tax_behavior" + "custom_unit_amount", + "tax_behavior", + "unit_amount", + "unit_amount_decimal" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.ShippingRate.FixedAmount": { + "stripe.Stripe.Price.CustomUnitAmount": { "properties": { - "amount": { + "maximum": { "type": "number", "format": "double", - "description": "A non-negative integer in cents representing how much to charge." + "nullable": true, + "description": "The maximum unit amount the customer can specify for this item." }, - "currency": { - "type": "string", - "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." + "minimum": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The minimum unit amount the customer can specify for this item. Must be at least the minimum charge amount." }, - "currency_options": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/stripe.Stripe.ShippingRate.FixedAmount.CurrencyOptions" - }, - "type": "object", - "description": "Shipping rates defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies)." + "preset": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The starting unit amount which can be updated by the customer." } }, "required": [ - "amount", - "currency" + "maximum", + "minimum", + "preset" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.ShippingRate.TaxBehavior": { - "type": "string", - "enum": [ - "exclusive", - "inclusive", - "unspecified" - ] - }, - "stripe.Stripe.ShippingRate": { - "description": "Shipping rates describe the price of shipping presented to your customers and\napplied to a purchase. For more information, see [Charge for shipping](https://stripe.com/docs/payments/during-payment/charge-shipping).", + "stripe.Stripe.Product": { + "description": "Products describe the specific goods or services you offer to your customers.\nFor example, you might offer a Standard and Premium version of your goods or service; each version would be a separate Product.\nThey can be used in conjunction with [Prices](https://stripe.com/docs/api#prices) to configure pricing in Payment Links, Checkout, and Subscriptions.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription),\n[share a Payment Link](https://stripe.com/docs/payment-links),\n[accept payments with Checkout](https://stripe.com/docs/payments/accept-a-payment#create-product-prices-upfront),\nand more about [Products and Prices](https://stripe.com/docs/products-prices/overview)", "properties": { "id": { "type": "string", @@ -39111,4237 +29193,4250 @@ "object": { "type": "string", "enum": [ - "shipping_rate" + "product" ], "nullable": false, "description": "String representing the object's type. Objects of the same type share the same value." }, "active": { "type": "boolean", - "description": "Whether the shipping rate can be used for new purchases. Defaults to `true`." + "description": "Whether the product is currently available for purchase." }, "created": { "type": "number", "format": "double", "description": "Time at which the object was created. Measured in seconds since the Unix epoch." }, - "delivery_estimate": { - "allOf": [ + "default_price": { + "anyOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.ShippingRate.DeliveryEstimate" + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Price" } ], "nullable": true, - "description": "The estimated range for how long shipping will take, meant to be displayable to the customer. This will appear on CheckoutSessions." + "description": "The ID of the [Price](https://stripe.com/docs/api/prices) object that is the default price for this product." }, - "display_name": { + "deleted": { + "description": "Always true for a deleted object" + }, + "description": { "type": "string", "nullable": true, - "description": "The name of the shipping rate, meant to be displayable to the customer. This will appear on CheckoutSessions." + "description": "The product's description, meant to be displayable to the customer. Use this field to optionally store a long form explanation of the product being sold for your own rendering purposes." }, - "fixed_amount": { - "$ref": "#/components/schemas/stripe.Stripe.ShippingRate.FixedAmount" + "images": { + "items": { + "type": "string" + }, + "type": "array", + "description": "A list of up to 8 URLs of images for this product, meant to be displayable to the customer." }, "livemode": { "type": "boolean", "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." }, + "marketing_features": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Product.MarketingFeature" + }, + "type": "array", + "description": "A list of up to 15 marketing features for this product. These are displayed in [pricing tables](https://stripe.com/docs/payments/checkout/pricing-table)." + }, "metadata": { "$ref": "#/components/schemas/stripe.Stripe.Metadata", "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." }, - "tax_behavior": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.ShippingRate.TaxBehavior" - } - ], - "nullable": true, - "description": "Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`." - }, - "tax_code": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.TaxCode" - } - ], - "nullable": true, - "description": "A [tax code](https://stripe.com/docs/tax/tax-categories) ID. The Shipping tax code is `txcd_92010001`." - }, - "type": { + "name": { "type": "string", - "enum": [ - "fixed_amount" - ], - "nullable": false, - "description": "The type of calculation to use on the shipping rate." - } - }, - "required": [ - "id", - "object", - "active", - "created", - "delivery_estimate", - "display_name", - "livemode", - "metadata", - "tax_behavior", - "tax_code", - "type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Invoice.ShippingCost.Tax.TaxabilityReason": { - "type": "string", - "enum": [ - "customer_exempt", - "not_collecting", - "not_subject_to_tax", - "not_supported", - "portion_product_exempt", - "portion_reduced_rated", - "portion_standard_rated", - "product_exempt", - "product_exempt_holiday", - "proportionally_rated", - "reduced_rated", - "reverse_charge", - "standard_rated", - "taxable_basis_reduced", - "zero_rated" - ] - }, - "stripe.Stripe.Invoice.ShippingCost.Tax": { - "properties": { - "amount": { - "type": "number", - "format": "double", - "description": "Amount of tax applied for this rate." - }, - "rate": { - "$ref": "#/components/schemas/stripe.Stripe.TaxRate", - "description": "Tax rates can be applied to [invoices](https://stripe.com/invoicing/taxes/tax-rates), [subscriptions](https://stripe.com/billing/taxes/tax-rates) and [Checkout Sessions](https://stripe.com/payments/checkout/use-manual-tax-rates) to collect tax.\n\nRelated guide: [Tax rates](https://stripe.com/billing/taxes/tax-rates)" + "description": "The product's name, meant to be displayable to the customer." }, - "taxability_reason": { + "package_dimensions": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.ShippingCost.Tax.TaxabilityReason" + "$ref": "#/components/schemas/stripe.Stripe.Product.PackageDimensions" } ], "nullable": true, - "description": "The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported." + "description": "The dimensions of this product for shipping purposes." }, - "taxable_amount": { - "type": "number", - "format": "double", + "shippable": { + "type": "boolean", "nullable": true, - "description": "The amount on which tax is calculated, in cents (or local equivalent)." - } - }, - "required": [ - "amount", - "rate", - "taxability_reason", - "taxable_amount" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Invoice.ShippingCost": { - "properties": { - "amount_subtotal": { - "type": "number", - "format": "double", - "description": "Total shipping cost before any taxes are applied." - }, - "amount_tax": { - "type": "number", - "format": "double", - "description": "Total tax amount applied due to shipping costs. If no tax was applied, defaults to 0." + "description": "Whether this product is shipped (i.e., physical goods)." }, - "amount_total": { - "type": "number", - "format": "double", - "description": "Total shipping cost after taxes are applied." + "statement_descriptor": { + "type": "string", + "nullable": true, + "description": "Extra information about a product which will appear on your customer's credit card statement. In the case that multiple products are billed at once, the first statement descriptor will be used. Only used for subscription payments." }, - "shipping_rate": { + "tax_code": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.ShippingRate" + "$ref": "#/components/schemas/stripe.Stripe.TaxCode" } ], "nullable": true, - "description": "The ID of the ShippingRate for this invoice." - }, - "taxes": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.ShippingCost.Tax" - }, - "type": "array", - "description": "The taxes applied to the shipping rate." - } - }, - "required": [ - "amount_subtotal", - "amount_tax", - "amount_total", - "shipping_rate" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Invoice.ShippingDetails": { - "properties": { - "address": { - "$ref": "#/components/schemas/stripe.Stripe.Address" - }, - "carrier": { - "type": "string", - "nullable": true, - "description": "The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc." - }, - "name": { - "type": "string", - "description": "Recipient name." + "description": "A [tax code](https://stripe.com/docs/tax/tax-categories) ID." }, - "phone": { - "type": "string", - "nullable": true, - "description": "Recipient phone (including extension)." + "type": { + "$ref": "#/components/schemas/stripe.Stripe.Product.Type", + "description": "The type of the product. The product is either of type `good`, which is eligible for use with Orders and SKUs, or `service`, which is eligible for use with Subscriptions and Plans." }, - "tracking_number": { + "unit_label": { "type": "string", "nullable": true, - "description": "The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas." - } - }, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Invoice.Status": { - "type": "string", - "enum": [ - "draft", - "open", - "paid", - "uncollectible", - "void" - ] - }, - "stripe.Stripe.Invoice.StatusTransitions": { - "properties": { - "finalized_at": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The time that the invoice draft was finalized." - }, - "marked_uncollectible_at": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The time that the invoice was marked uncollectible." - }, - "paid_at": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The time that the invoice was paid." + "description": "A label that represents units of this product. When set, this will be included in customers' receipts, invoices, Checkout, and the customer portal." }, - "voided_at": { + "updated": { "type": "number", "format": "double", - "nullable": true, - "description": "The time that the invoice was voided." - } - }, - "required": [ - "finalized_at", - "marked_uncollectible_at", - "paid_at", - "voided_at" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Invoice.SubscriptionDetails": { - "properties": { - "metadata": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Metadata" - } - ], - "nullable": true, - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) defined as subscription metadata when an invoice is created. Becomes an immutable snapshot of the subscription metadata at the time of invoice finalization.\n *Note: This attribute is populated only for invoices created on or after June 29, 2023.*" - } - }, - "required": [ - "metadata" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Invoice.ThresholdReason.ItemReason": { - "properties": { - "line_item_ids": { - "items": { - "type": "string" - }, - "type": "array", - "description": "The IDs of the line items that triggered the threshold invoice." + "description": "Time at which the object was last updated. Measured in seconds since the Unix epoch." }, - "usage_gte": { - "type": "number", - "format": "double", - "description": "The quantity threshold boundary that applied to the given line item." - } - }, - "required": [ - "line_item_ids", - "usage_gte" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Invoice.ThresholdReason": { - "properties": { - "amount_gte": { - "type": "number", - "format": "double", + "url": { + "type": "string", "nullable": true, - "description": "The total invoice amount threshold boundary if it triggered the threshold invoice." - }, - "item_reasons": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.ThresholdReason.ItemReason" - }, - "type": "array", - "description": "Indicates which line items triggered a threshold invoice." + "description": "A URL of a publicly-accessible webpage for this product." } }, "required": [ - "amount_gte", - "item_reasons" + "id", + "object", + "active", + "created", + "description", + "images", + "livemode", + "marketing_features", + "metadata", + "name", + "package_dimensions", + "shippable", + "tax_code", + "type", + "updated", + "url" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Invoice.TotalDiscountAmount": { + "stripe.Stripe.DeletedProduct": { + "description": "The DeletedProduct object.", "properties": { - "amount": { - "type": "number", - "format": "double", - "description": "The amount, in cents (or local equivalent), of the discount." + "id": { + "type": "string", + "description": "Unique identifier for the object." }, - "discount": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Discount" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.DeletedDiscount" - } + "object": { + "type": "string", + "enum": [ + "product" ], - "description": "The discount that was applied to get this discount amount." + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." + }, + "deleted": { + "type": "boolean", + "enum": [ + true + ], + "nullable": false, + "description": "Always true for a deleted object" } }, "required": [ - "amount", - "discount" + "id", + "object", + "deleted" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Invoice.TotalPretaxCreditAmount.Type": { + "stripe.Stripe.Price.Recurring.AggregateUsage": { "type": "string", "enum": [ - "credit_balance_transaction", - "discount" + "last_during_period", + "last_ever", + "max", + "sum" ] }, - "stripe.Stripe.Invoice.TotalPretaxCreditAmount": { + "stripe.Stripe.Price.Recurring.Interval": { + "type": "string", + "enum": [ + "day", + "month", + "week", + "year" + ] + }, + "stripe.Stripe.Price.Recurring.UsageType": { + "type": "string", + "enum": [ + "licensed", + "metered" + ] + }, + "stripe.Stripe.Price.Recurring": { "properties": { - "amount": { - "type": "number", - "format": "double", - "description": "The amount, in cents (or local equivalent), of the pretax credit amount." - }, - "credit_balance_transaction": { - "anyOf": [ - { - "type": "string" - }, + "aggregate_usage": { + "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Billing.CreditBalanceTransaction" + "$ref": "#/components/schemas/stripe.Stripe.Price.Recurring.AggregateUsage" } ], "nullable": true, - "description": "The credit balance transaction that was applied to get this pretax credit amount." + "description": "Specifies a usage aggregation strategy for prices of `usage_type=metered`. Defaults to `sum`." }, - "discount": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Discount" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.DeletedDiscount" - } - ], - "description": "The discount that was applied to get this pretax credit amount." + "interval": { + "$ref": "#/components/schemas/stripe.Stripe.Price.Recurring.Interval", + "description": "The frequency at which a subscription is billed. One of `day`, `week`, `month` or `year`." }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.TotalPretaxCreditAmount.Type", - "description": "Type of the pretax credit amount referenced." + "interval_count": { + "type": "number", + "format": "double", + "description": "The number of intervals (specified in the `interval` attribute) between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months." + }, + "meter": { + "type": "string", + "nullable": true, + "description": "The meter tracking the usage of a metered price" + }, + "trial_period_days": { + "type": "number", + "format": "double", + "nullable": true, + "description": "Default number of trial days when subscribing a customer to this price using [`trial_from_plan=true`](https://stripe.com/docs/api#create_subscription-trial_from_plan)." + }, + "usage_type": { + "$ref": "#/components/schemas/stripe.Stripe.Price.Recurring.UsageType", + "description": "Configures how the quantity per period should be determined. Can be either `metered` or `licensed`. `licensed` automatically bills the `quantity` set when adding it to a subscription. `metered` aggregates the total usage based on usage records. Defaults to `licensed`." } }, "required": [ - "amount", - "type" + "aggregate_usage", + "interval", + "interval_count", + "meter", + "trial_period_days", + "usage_type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Invoice.TotalTaxAmount.TaxabilityReason": { + "stripe.Stripe.Price.TaxBehavior": { "type": "string", "enum": [ - "customer_exempt", - "not_collecting", - "not_subject_to_tax", - "not_supported", - "portion_product_exempt", - "portion_reduced_rated", - "portion_standard_rated", - "product_exempt", - "product_exempt_holiday", - "proportionally_rated", - "reduced_rated", - "reverse_charge", - "standard_rated", - "taxable_basis_reduced", - "zero_rated" + "exclusive", + "inclusive", + "unspecified" ] }, - "stripe.Stripe.Invoice.TotalTaxAmount": { + "stripe.Stripe.Price.Tier": { "properties": { - "amount": { + "flat_amount": { "type": "number", "format": "double", - "description": "The amount, in cents (or local equivalent), of the tax." + "nullable": true, + "description": "Price for the entire tier." }, - "inclusive": { - "type": "boolean", - "description": "Whether this tax amount is inclusive or exclusive." + "flat_amount_decimal": { + "type": "string", + "nullable": true, + "description": "Same as `flat_amount`, but contains a decimal value with at most 12 decimal places." }, - "tax_rate": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.TaxRate" - } - ], - "description": "The tax rate that was applied to get this tax amount." + "unit_amount": { + "type": "number", + "format": "double", + "nullable": true, + "description": "Per unit price for units relevant to the tier." }, - "taxability_reason": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.TotalTaxAmount.TaxabilityReason" - } - ], + "unit_amount_decimal": { + "type": "string", "nullable": true, - "description": "The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported." + "description": "Same as `unit_amount`, but contains a decimal value with at most 12 decimal places." }, - "taxable_amount": { + "up_to": { "type": "number", "format": "double", "nullable": true, - "description": "The amount on which tax is calculated, in cents (or local equivalent)." + "description": "Up to and including to this quantity will be contained in the tier." } }, "required": [ - "amount", - "inclusive", - "tax_rate", - "taxability_reason", - "taxable_amount" + "flat_amount", + "flat_amount_decimal", + "unit_amount", + "unit_amount_decimal", + "up_to" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Invoice.TransferData": { + "stripe.Stripe.Price.TiersMode": { + "type": "string", + "enum": [ + "graduated", + "volume" + ] + }, + "stripe.Stripe.Price.TransformQuantity.Round": { + "type": "string", + "enum": [ + "down", + "up" + ] + }, + "stripe.Stripe.Price.TransformQuantity": { "properties": { - "amount": { + "divide_by": { "type": "number", "format": "double", - "nullable": true, - "description": "The amount in cents (or local equivalent) that will be transferred to the destination account when the invoice is paid. By default, the entire amount is transferred to the destination." + "description": "Divide usage by this number." }, - "destination": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Account" - } - ], - "description": "The account where funds from the payment will be transferred to upon payment success." + "round": { + "$ref": "#/components/schemas/stripe.Stripe.Price.TransformQuantity.Round", + "description": "After division, either round the result `up` or `down`." } }, "required": [ - "amount", - "destination" + "divide_by", + "round" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.LastPaymentError.Code": { - "type": "string", - "enum": [ - "account_closed", - "account_country_invalid_address", - "account_error_country_change_requires_additional_steps", - "account_information_mismatch", - "account_invalid", - "account_number_invalid", - "acss_debit_session_incomplete", - "alipay_upgrade_required", - "amount_too_large", - "amount_too_small", - "api_key_expired", - "application_fees_not_allowed", - "authentication_required", - "balance_insufficient", - "balance_invalid_parameter", - "bank_account_bad_routing_numbers", - "bank_account_declined", - "bank_account_exists", - "bank_account_restricted", - "bank_account_unusable", - "bank_account_unverified", - "bank_account_verification_failed", - "billing_invalid_mandate", - "bitcoin_upgrade_required", - "capture_charge_authorization_expired", - "capture_unauthorized_payment", - "card_decline_rate_limit_exceeded", - "card_declined", - "cardholder_phone_number_required", - "charge_already_captured", - "charge_already_refunded", - "charge_disputed", - "charge_exceeds_source_limit", - "charge_exceeds_transaction_limit", - "charge_expired_for_capture", - "charge_invalid_parameter", - "charge_not_refundable", - "clearing_code_unsupported", - "country_code_invalid", - "country_unsupported", - "coupon_expired", - "customer_max_payment_methods", - "customer_max_subscriptions", - "customer_tax_location_invalid", - "debit_not_authorized", - "email_invalid", - "expired_card", - "financial_connections_account_inactive", - "financial_connections_no_successful_transaction_refresh", - "forwarding_api_inactive", - "forwarding_api_invalid_parameter", - "forwarding_api_upstream_connection_error", - "forwarding_api_upstream_connection_timeout", - "idempotency_key_in_use", - "incorrect_address", - "incorrect_cvc", - "incorrect_number", - "incorrect_zip", - "instant_payouts_config_disabled", - "instant_payouts_currency_disabled", - "instant_payouts_limit_exceeded", - "instant_payouts_unsupported", - "insufficient_funds", - "intent_invalid_state", - "intent_verification_method_missing", - "invalid_card_type", - "invalid_characters", - "invalid_charge_amount", - "invalid_cvc", - "invalid_expiry_month", - "invalid_expiry_year", - "invalid_mandate_reference_prefix_format", - "invalid_number", - "invalid_source_usage", - "invalid_tax_location", - "invoice_no_customer_line_items", - "invoice_no_payment_method_types", - "invoice_no_subscription_line_items", - "invoice_not_editable", - "invoice_on_behalf_of_not_editable", - "invoice_payment_intent_requires_action", - "invoice_upcoming_none", - "livemode_mismatch", - "lock_timeout", - "missing", - "no_account", - "not_allowed_on_standard_account", - "out_of_inventory", - "ownership_declaration_not_allowed", - "parameter_invalid_empty", - "parameter_invalid_integer", - "parameter_invalid_string_blank", - "parameter_invalid_string_empty", - "parameter_missing", - "parameter_unknown", - "parameters_exclusive", - "payment_intent_action_required", - "payment_intent_authentication_failure", - "payment_intent_incompatible_payment_method", - "payment_intent_invalid_parameter", - "payment_intent_konbini_rejected_confirmation_number", - "payment_intent_mandate_invalid", - "payment_intent_payment_attempt_expired", - "payment_intent_payment_attempt_failed", - "payment_intent_unexpected_state", - "payment_method_bank_account_already_verified", - "payment_method_bank_account_blocked", - "payment_method_billing_details_address_missing", - "payment_method_configuration_failures", - "payment_method_currency_mismatch", - "payment_method_customer_decline", - "payment_method_invalid_parameter", - "payment_method_invalid_parameter_testmode", - "payment_method_microdeposit_failed", - "payment_method_microdeposit_verification_amounts_invalid", - "payment_method_microdeposit_verification_amounts_mismatch", - "payment_method_microdeposit_verification_attempts_exceeded", - "payment_method_microdeposit_verification_descriptor_code_mismatch", - "payment_method_microdeposit_verification_timeout", - "payment_method_not_available", - "payment_method_provider_decline", - "payment_method_provider_timeout", - "payment_method_unactivated", - "payment_method_unexpected_state", - "payment_method_unsupported_type", - "payout_reconciliation_not_ready", - "payouts_limit_exceeded", - "payouts_not_allowed", - "platform_account_required", - "platform_api_key_expired", - "postal_code_invalid", - "processing_error", - "product_inactive", - "progressive_onboarding_limit_exceeded", - "rate_limit", - "refer_to_customer", - "refund_disputed_payment", - "resource_already_exists", - "resource_missing", - "return_intent_already_processed", - "routing_number_invalid", - "secret_key_required", - "sepa_unsupported_account", - "setup_attempt_failed", - "setup_intent_authentication_failure", - "setup_intent_invalid_parameter", - "setup_intent_mandate_invalid", - "setup_intent_setup_attempt_expired", - "setup_intent_unexpected_state", - "shipping_address_invalid", - "shipping_calculation_failed", - "sku_inactive", - "state_unsupported", - "status_transition_invalid", - "stripe_tax_inactive", - "tax_id_invalid", - "taxes_calculation_failed", - "terminal_location_country_unsupported", - "terminal_reader_busy", - "terminal_reader_hardware_fault", - "terminal_reader_invalid_location_for_activation", - "terminal_reader_invalid_location_for_payment", - "terminal_reader_offline", - "terminal_reader_timeout", - "testmode_charges_only", - "tls_version_unsupported", - "token_already_used", - "token_card_network_invalid", - "token_in_use", - "transfer_source_balance_parameters_mismatch", - "transfers_not_allowed", - "url_invalid" - ] - }, - "stripe.Stripe.PaymentIntent.LastPaymentError.Type": { + "stripe.Stripe.Price.Type": { "type": "string", "enum": [ - "api_error", - "card_error", - "idempotency_error", - "invalid_request_error" + "one_time", + "recurring" ] }, - "stripe.Stripe.PaymentIntent.LastPaymentError": { + "stripe.Stripe.Price": { + "description": "Prices define the unit cost, currency, and (optional) billing cycle for both recurring and one-time purchases of products.\n[Products](https://stripe.com/docs/api#products) help you track inventory or provisioning, and prices help you track payment terms. Different physical goods or levels of service should be represented by products, and pricing options should be represented by prices. This approach lets you change prices without having to change your provisioning scheme.\n\nFor example, you might have a single \"gold\" product that has prices for $10/month, $100/year, and €9 once.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription), [create an invoice](https://stripe.com/docs/billing/invoices/create), and more about [products and prices](https://stripe.com/docs/products-prices/overview).", "properties": { - "advice_code": { + "id": { "type": "string", - "description": "For card errors resulting from a card issuer decline, a short string indicating [how to proceed with an error](https://stripe.com/docs/declines#retrying-issuer-declines) if they provide one." + "description": "Unique identifier for the object." }, - "charge": { + "object": { "type": "string", - "description": "For card errors, the ID of the failed charge." - }, - "code": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.LastPaymentError.Code", - "description": "For some errors that could be handled programmatically, a short string indicating the [error code](https://stripe.com/docs/error-codes) reported." + "enum": [ + "price" + ], + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." }, - "decline_code": { - "type": "string", - "description": "For card errors resulting from a card issuer decline, a short string indicating the [card issuer's reason for the decline](https://stripe.com/docs/declines#issuer-declines) if they provide one." + "active": { + "type": "boolean", + "description": "Whether the price can be used for new purchases." }, - "doc_url": { - "type": "string", - "description": "A URL to more information about the [error code](https://stripe.com/docs/error-codes) reported." + "billing_scheme": { + "$ref": "#/components/schemas/stripe.Stripe.Price.BillingScheme", + "description": "Describes how to compute the price per period. Either `per_unit` or `tiered`. `per_unit` indicates that the fixed amount (specified in `unit_amount` or `unit_amount_decimal`) will be charged per unit in `quantity` (for prices with `usage_type=licensed`), or per unit of total usage (for prices with `usage_type=metered`). `tiered` indicates that the unit pricing will be computed using a tiering strategy as defined using the `tiers` and `tiers_mode` attributes." }, - "message": { - "type": "string", - "description": "A human-readable message providing more details about the error. For card errors, these messages can be shown to your users." + "created": { + "type": "number", + "format": "double", + "description": "Time at which the object was created. Measured in seconds since the Unix epoch." }, - "network_advice_code": { + "currency": { "type": "string", - "description": "For card errors resulting from a card issuer decline, a 2 digit code which indicates the advice given to merchant by the card network on how to proceed with an error." + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." }, - "network_decline_code": { - "type": "string", - "description": "For card errors resulting from a card issuer decline, a brand specific 2, 3, or 4 digit code which indicates the reason the authorization failed." + "currency_options": { + "properties": {}, + "additionalProperties": { + "$ref": "#/components/schemas/stripe.Stripe.Price.CurrencyOptions" + }, + "type": "object", + "description": "Prices defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies)." }, - "param": { - "type": "string", - "description": "If the error is parameter-specific, the parameter related to the error. For example, you can use this to display a message near the correct form field." + "custom_unit_amount": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Price.CustomUnitAmount" + } + ], + "nullable": true, + "description": "When set, provides configuration for the amount to be adjusted by the customer during Checkout Sessions and Payment Links." }, - "payment_intent": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent", - "description": "A PaymentIntent guides you through the process of collecting a payment from your customer.\nWe recommend that you create exactly one PaymentIntent for each order or\ncustomer session in your system. You can reference the PaymentIntent later to\nsee the history of payment attempts for a particular session.\n\nA PaymentIntent transitions through\n[multiple statuses](https://stripe.com/docs/payments/intents#intent-statuses)\nthroughout its lifetime as it interfaces with Stripe.js to perform\nauthentication flows and ultimately creates at most one successful charge.\n\nRelated guide: [Payment Intents API](https://stripe.com/docs/payments/payment-intents)" + "deleted": { + "description": "Always true for a deleted object" }, - "payment_method": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod", - "description": "PaymentMethod objects represent your customer's payment instruments.\nYou can use them with [PaymentIntents](https://stripe.com/docs/payments/payment-intents) to collect payments or save them to\nCustomer objects to store instrument details for future payments.\n\nRelated guides: [Payment Methods](https://stripe.com/docs/payments/payment-methods) and [More Payment Scenarios](https://stripe.com/docs/payments/more-payment-scenarios)." + "livemode": { + "type": "boolean", + "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." }, - "payment_method_type": { + "lookup_key": { "type": "string", - "description": "If the error is specific to the type of payment method, the payment method type that had a problem. This field is only populated for invoice-related errors." + "nullable": true, + "description": "A lookup key used to retrieve prices dynamically from a static string. This may be up to 200 characters." }, - "request_log_url": { + "metadata": { + "$ref": "#/components/schemas/stripe.Stripe.Metadata", + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." + }, + "nickname": { "type": "string", - "description": "A URL to the request log entry in your dashboard." + "nullable": true, + "description": "A brief description of the price, hidden from customers." + }, + "product": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Product" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedProduct" + } + ], + "description": "The ID of the product this price is associated with." + }, + "recurring": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Price.Recurring" + } + ], + "nullable": true, + "description": "The recurring components of a price such as `interval` and `usage_type`." }, - "setup_intent": { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent", - "description": "A SetupIntent guides you through the process of setting up and saving a customer's payment credentials for future payments.\nFor example, you can use a SetupIntent to set up and save your customer's card without immediately collecting a payment.\nLater, you can use [PaymentIntents](https://stripe.com/docs/api#payment_intents) to drive the payment flow.\n\nCreate a SetupIntent when you're ready to collect your customer's payment credentials.\nDon't maintain long-lived, unconfirmed SetupIntents because they might not be valid.\nThe SetupIntent transitions through multiple [statuses](https://docs.stripe.com/payments/intents#intent-statuses) as it guides\nyou through the setup process.\n\nSuccessful SetupIntents result in payment credentials that are optimized for future payments.\nFor example, cardholders in [certain regions](https://stripe.com/guides/strong-customer-authentication) might need to be run through\n[Strong Customer Authentication](https://docs.stripe.com/strong-customer-authentication) during payment method collection\nto streamline later [off-session payments](https://docs.stripe.com/payments/setup-intents).\nIf you use the SetupIntent with a [Customer](https://stripe.com/docs/api#setup_intent_object-customer),\nit automatically attaches the resulting payment method to that Customer after successful setup.\nWe recommend using SetupIntents or [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) on\nPaymentIntents to save payment methods to prevent saving invalid or unoptimized payment methods.\n\nBy using SetupIntents, you can reduce friction for your customers, even as regulations change over time.\n\nRelated guide: [Setup Intents API](https://docs.stripe.com/payments/setup-intents)" + "tax_behavior": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Price.TaxBehavior" + } + ], + "nullable": true, + "description": "Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed." }, - "source": { - "$ref": "#/components/schemas/stripe.Stripe.CustomerSource" + "tiers": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Price.Tier" + }, + "type": "array", + "description": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`." }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.LastPaymentError.Type", - "description": "The type of error returned. One of `api_error`, `card_error`, `idempotency_error`, or `invalid_request_error`" - } - }, - "required": [ - "type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentIntent.NextAction.AlipayHandleRedirect": { - "properties": { - "native_data": { - "type": "string", + "tiers_mode": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Price.TiersMode" + } + ], "nullable": true, - "description": "The native data to be used with Alipay SDK you must redirect your customer to in order to authenticate the payment in an Android App." + "description": "Defines if the tiering price should be `graduated` or `volume` based. In `volume`-based tiering, the maximum quantity within a period determines the per unit price. In `graduated` tiering, pricing can change as the quantity grows." }, - "native_url": { - "type": "string", + "transform_quantity": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Price.TransformQuantity" + } + ], "nullable": true, - "description": "The native URL you must redirect your customer to in order to authenticate the payment in an iOS App." + "description": "Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with `tiers`." }, - "return_url": { - "type": "string", + "type": { + "$ref": "#/components/schemas/stripe.Stripe.Price.Type", + "description": "One of `one_time` or `recurring` depending on whether the price is for a one-time purchase or a recurring (subscription) purchase." + }, + "unit_amount": { + "type": "number", + "format": "double", "nullable": true, - "description": "If the customer does not exit their browser while authenticating, they will be redirected to this specified URL after completion." + "description": "The unit amount in cents (or local equivalent) to be charged, represented as a whole integer if possible. Only set if `billing_scheme=per_unit`." }, - "url": { + "unit_amount_decimal": { "type": "string", "nullable": true, - "description": "The URL you must redirect your customer to in order to authenticate the payment." + "description": "The unit amount in cents (or local equivalent) to be charged, represented as a decimal string with at most 12 decimal places. Only set if `billing_scheme=per_unit`." } }, "required": [ - "native_data", - "native_url", - "return_url", - "url" + "id", + "object", + "active", + "billing_scheme", + "created", + "currency", + "custom_unit_amount", + "livemode", + "lookup_key", + "metadata", + "nickname", + "product", + "recurring", + "tax_behavior", + "tiers_mode", + "transform_quantity", + "type", + "unit_amount", + "unit_amount_decimal" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.NextAction.BoletoDisplayDetails": { + "stripe.Stripe.Product.MarketingFeature": { "properties": { - "expires_at": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The timestamp after which the boleto expires." - }, - "hosted_voucher_url": { - "type": "string", - "nullable": true, - "description": "The URL to the hosted boleto voucher page, which allows customers to view the boleto voucher." - }, - "number": { - "type": "string", - "nullable": true, - "description": "The boleto number." - }, - "pdf": { + "name": { "type": "string", - "nullable": true, - "description": "The URL to the downloadable boleto voucher PDF." + "description": "The marketing feature name. Up to 80 characters long." } }, - "required": [ - "expires_at", - "hosted_voucher_url", - "number", - "pdf" - ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.NextAction.CardAwaitNotification": { + "stripe.Stripe.Product.PackageDimensions": { "properties": { - "charge_attempt_at": { + "height": { "type": "number", "format": "double", - "nullable": true, - "description": "The time that payment will be attempted. If customer approval is required, they need to provide approval before this time." + "description": "Height, in inches." }, - "customer_approval_required": { - "type": "boolean", - "nullable": true, - "description": "For payments greater than INR 15000, the customer must provide explicit approval of the payment with their bank. For payments of lower amount, no customer action is required." - } - }, - "required": [ - "charge_attempt_at", - "customer_approval_required" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentIntent.NextAction.CashappHandleRedirectOrDisplayQrCode.QrCode": { - "properties": { - "expires_at": { + "length": { "type": "number", "format": "double", - "description": "The date (unix timestamp) when the QR code expires." + "description": "Length, in inches." }, - "image_url_png": { - "type": "string", - "description": "The image_url_png string used to render QR code" + "weight": { + "type": "number", + "format": "double", + "description": "Weight, in ounces." }, - "image_url_svg": { - "type": "string", - "description": "The image_url_svg string used to render QR code" + "width": { + "type": "number", + "format": "double", + "description": "Width, in inches." } }, "required": [ - "expires_at", - "image_url_png", - "image_url_svg" + "height", + "length", + "weight", + "width" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.NextAction.CashappHandleRedirectOrDisplayQrCode": { + "stripe.Stripe.TaxCode": { + "description": "[Tax codes](https://stripe.com/docs/tax/tax-categories) classify goods and services for tax purposes.", "properties": { - "hosted_instructions_url": { + "id": { "type": "string", - "description": "The URL to the hosted Cash App Pay instructions page, which allows customers to view the QR code, and supports QR code refreshing on expiration." + "description": "Unique identifier for the object." }, - "mobile_auth_url": { + "object": { "type": "string", - "description": "The url for mobile redirect based auth" + "enum": [ + "tax_code" + ], + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." }, - "qr_code": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.CashappHandleRedirectOrDisplayQrCode.QrCode" + "description": { + "type": "string", + "description": "A detailed description of which types of products the tax code represents." + }, + "name": { + "type": "string", + "description": "A short name for the tax code." } }, "required": [ - "hosted_instructions_url", - "mobile_auth_url", - "qr_code" + "id", + "object", + "description", + "name" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Aba": { + "stripe.Stripe.Product.Type": { + "type": "string", + "enum": [ + "good", + "service" + ] + }, + "stripe.Stripe.Plan.Tier": { "properties": { - "account_holder_address": { - "$ref": "#/components/schemas/stripe.Stripe.Address" - }, - "account_holder_name": { - "type": "string", - "description": "The account holder name" - }, - "account_number": { - "type": "string", - "description": "The ABA account number" + "flat_amount": { + "type": "number", + "format": "double", + "nullable": true, + "description": "Price for the entire tier." }, - "account_type": { + "flat_amount_decimal": { "type": "string", - "description": "The account type" + "nullable": true, + "description": "Same as `flat_amount`, but contains a decimal value with at most 12 decimal places." }, - "bank_address": { - "$ref": "#/components/schemas/stripe.Stripe.Address" + "unit_amount": { + "type": "number", + "format": "double", + "nullable": true, + "description": "Per unit price for units relevant to the tier." }, - "bank_name": { + "unit_amount_decimal": { "type": "string", - "description": "The bank name" + "nullable": true, + "description": "Same as `unit_amount`, but contains a decimal value with at most 12 decimal places." }, - "routing_number": { - "type": "string", - "description": "The ABA routing number" + "up_to": { + "type": "number", + "format": "double", + "nullable": true, + "description": "Up to and including to this quantity will be contained in the tier." } }, "required": [ - "account_holder_address", - "account_holder_name", - "account_number", - "account_type", - "bank_address", - "bank_name", - "routing_number" + "flat_amount", + "flat_amount_decimal", + "unit_amount", + "unit_amount_decimal", + "up_to" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Iban": { + "stripe.Stripe.Plan.TiersMode": { + "type": "string", + "enum": [ + "graduated", + "volume" + ] + }, + "stripe.Stripe.Plan.TransformUsage.Round": { + "type": "string", + "enum": [ + "down", + "up" + ] + }, + "stripe.Stripe.Plan.TransformUsage": { "properties": { - "account_holder_address": { - "$ref": "#/components/schemas/stripe.Stripe.Address" - }, - "account_holder_name": { - "type": "string", - "description": "The name of the person or business that owns the bank account" - }, - "bank_address": { - "$ref": "#/components/schemas/stripe.Stripe.Address" - }, - "bic": { - "type": "string", - "description": "The BIC/SWIFT code of the account." - }, - "country": { - "type": "string", - "description": "Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2))." + "divide_by": { + "type": "number", + "format": "double", + "description": "Divide usage by this number." }, - "iban": { - "type": "string", - "description": "The IBAN of the account." + "round": { + "$ref": "#/components/schemas/stripe.Stripe.Plan.TransformUsage.Round", + "description": "After division, either round the result `up` or `down`." } }, "required": [ - "account_holder_address", - "account_holder_name", - "bank_address", - "bic", - "country", - "iban" + "divide_by", + "round" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.SortCode": { + "stripe.Stripe.Plan.UsageType": { + "type": "string", + "enum": [ + "licensed", + "metered" + ] + }, + "stripe.Stripe.Plan": { + "description": "You can now model subscriptions more flexibly using the [Prices API](https://stripe.com/docs/api#prices). It replaces the Plans API and is backwards compatible to simplify your migration.\n\nPlans define the base price, currency, and billing cycle for recurring purchases of products.\n[Products](https://stripe.com/docs/api#products) help you track inventory or provisioning, and plans help you track pricing. Different physical goods or levels of service should be represented by products, and pricing options should be represented by plans. This approach lets you change prices without having to change your provisioning scheme.\n\nFor example, you might have a single \"gold\" product that has plans for $10/month, $100/year, €9/month, and €90/year.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) and more about [products and prices](https://stripe.com/docs/products-prices/overview).", "properties": { - "account_holder_address": { - "$ref": "#/components/schemas/stripe.Stripe.Address" - }, - "account_holder_name": { + "id": { "type": "string", - "description": "The name of the person or business that owns the bank account" + "description": "Unique identifier for the object." }, - "account_number": { + "object": { "type": "string", - "description": "The account number" + "enum": [ + "plan" + ], + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." }, - "bank_address": { - "$ref": "#/components/schemas/stripe.Stripe.Address" + "active": { + "type": "boolean", + "description": "Whether the plan can be used for new purchases." }, - "sort_code": { - "type": "string", - "description": "The six-digit sort code" - } - }, - "required": [ - "account_holder_address", - "account_holder_name", - "account_number", - "bank_address", - "sort_code" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Spei": { - "properties": { - "account_holder_address": { - "$ref": "#/components/schemas/stripe.Stripe.Address" + "aggregate_usage": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Plan.AggregateUsage" + } + ], + "nullable": true, + "description": "Specifies a usage aggregation strategy for plans of `usage_type=metered`. Allowed values are `sum` for summing up all usage during a period, `last_during_period` for using the last usage record reported within a period, `last_ever` for using the last usage record ever (across period bounds) or `max` which uses the usage record with the maximum reported usage during a period. Defaults to `sum`." }, - "account_holder_name": { + "amount": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The unit amount in cents (or local equivalent) to be charged, represented as a whole integer if possible. Only set if `billing_scheme=per_unit`." + }, + "amount_decimal": { "type": "string", - "description": "The account holder name" + "nullable": true, + "description": "The unit amount in cents (or local equivalent) to be charged, represented as a decimal string with at most 12 decimal places. Only set if `billing_scheme=per_unit`." }, - "bank_address": { - "$ref": "#/components/schemas/stripe.Stripe.Address" + "billing_scheme": { + "$ref": "#/components/schemas/stripe.Stripe.Plan.BillingScheme", + "description": "Describes how to compute the price per period. Either `per_unit` or `tiered`. `per_unit` indicates that the fixed amount (specified in `amount`) will be charged per unit in `quantity` (for plans with `usage_type=licensed`), or per unit of total usage (for plans with `usage_type=metered`). `tiered` indicates that the unit pricing will be computed using a tiering strategy as defined using the `tiers` and `tiers_mode` attributes." }, - "bank_code": { - "type": "string", - "description": "The three-digit bank code" + "created": { + "type": "number", + "format": "double", + "description": "Time at which the object was created. Measured in seconds since the Unix epoch." }, - "bank_name": { + "currency": { "type": "string", - "description": "The short banking institution name" + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." }, - "clabe": { - "type": "string", - "description": "The CLABE number" - } - }, - "required": [ - "account_holder_address", - "account_holder_name", - "bank_address", - "bank_code", - "bank_name", - "clabe" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.SupportedNetwork": { - "type": "string", - "enum": [ - "ach", - "bacs", - "domestic_wire_us", - "fps", - "sepa", - "spei", - "swift", - "zengin" - ] - }, - "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Swift": { - "properties": { - "account_holder_address": { - "$ref": "#/components/schemas/stripe.Stripe.Address" + "deleted": { + "description": "Always true for a deleted object" }, - "account_holder_name": { - "type": "string", - "description": "The account holder name" + "interval": { + "$ref": "#/components/schemas/stripe.Stripe.Plan.Interval", + "description": "The frequency at which a subscription is billed. One of `day`, `week`, `month` or `year`." }, - "account_number": { + "interval_count": { + "type": "number", + "format": "double", + "description": "The number of intervals (specified in the `interval` attribute) between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months." + }, + "livemode": { + "type": "boolean", + "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." + }, + "metadata": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Metadata" + } + ], + "nullable": true, + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." + }, + "meter": { "type": "string", - "description": "The account number" + "nullable": true, + "description": "The meter tracking the usage of a metered price" }, - "account_type": { + "nickname": { "type": "string", - "description": "The account type" + "nullable": true, + "description": "A brief description of the plan, hidden from customers." }, - "bank_address": { - "$ref": "#/components/schemas/stripe.Stripe.Address" + "product": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Product" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedProduct" + } + ], + "nullable": true, + "description": "The product whose pricing this plan determines." }, - "bank_name": { - "type": "string", - "description": "The bank name" + "tiers": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Plan.Tier" + }, + "type": "array", + "description": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`." + }, + "tiers_mode": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Plan.TiersMode" + } + ], + "nullable": true, + "description": "Defines if the tiering price should be `graduated` or `volume` based. In `volume`-based tiering, the maximum quantity within a period determines the per unit price. In `graduated` tiering, pricing can change as the quantity grows." + }, + "transform_usage": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Plan.TransformUsage" + } + ], + "nullable": true, + "description": "Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with `tiers`." + }, + "trial_period_days": { + "type": "number", + "format": "double", + "nullable": true, + "description": "Default number of trial days when subscribing a customer to this plan using [`trial_from_plan=true`](https://stripe.com/docs/api#create_subscription-trial_from_plan)." }, - "swift_code": { - "type": "string", - "description": "The SWIFT code" + "usage_type": { + "$ref": "#/components/schemas/stripe.Stripe.Plan.UsageType", + "description": "Configures how the quantity per period should be determined. Can be either `metered` or `licensed`. `licensed` automatically bills the `quantity` set when adding it to a subscription. `metered` aggregates the total usage based on usage records. Defaults to `licensed`." } }, "required": [ - "account_holder_address", - "account_holder_name", - "account_number", - "account_type", - "bank_address", - "bank_name", - "swift_code" + "id", + "object", + "active", + "aggregate_usage", + "amount", + "amount_decimal", + "billing_scheme", + "created", + "currency", + "interval", + "interval_count", + "livemode", + "metadata", + "meter", + "nickname", + "product", + "tiers_mode", + "transform_usage", + "trial_period_days", + "usage_type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Type": { - "type": "string", - "enum": [ - "aba", - "iban", - "sort_code", - "spei", - "swift", - "zengin" - ] - }, - "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Zengin": { + "stripe.Stripe.Subscription": { + "description": "Subscriptions allow you to charge a customer on a recurring basis.\n\nRelated guide: [Creating subscriptions](https://stripe.com/docs/billing/subscriptions/creating)", "properties": { - "account_holder_address": { - "$ref": "#/components/schemas/stripe.Stripe.Address" - }, - "account_holder_name": { + "id": { "type": "string", - "nullable": true, - "description": "The account holder name" + "description": "Unique identifier for the object." }, - "account_number": { + "object": { "type": "string", + "enum": [ + "subscription" + ], + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." + }, + "application": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Application" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedApplication" + } + ], "nullable": true, - "description": "The account number" + "description": "ID of the Connect Application that created the subscription." }, - "account_type": { - "type": "string", + "application_fee_percent": { + "type": "number", + "format": "double", "nullable": true, - "description": "The bank account type. In Japan, this can only be `futsu` or `toza`." + "description": "A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account." }, - "bank_address": { - "$ref": "#/components/schemas/stripe.Stripe.Address" + "automatic_tax": { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.AutomaticTax" }, - "bank_code": { - "type": "string", + "billing_cycle_anchor": { + "type": "number", + "format": "double", + "description": "The reference point that aligns future [billing cycle](https://stripe.com/docs/subscriptions/billing-cycle) dates. It sets the day of week for `week` intervals, the day of month for `month` and `year` intervals, and the month of year for `year` intervals. The timestamp is in UTC format." + }, + "billing_cycle_anchor_config": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.BillingCycleAnchorConfig" + } + ], "nullable": true, - "description": "The bank code of the account" + "description": "The fixed values used to calculate the `billing_cycle_anchor`." }, - "bank_name": { - "type": "string", + "billing_thresholds": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.BillingThresholds" + } + ], "nullable": true, - "description": "The bank name of the account" + "description": "Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period" }, - "branch_code": { - "type": "string", + "cancel_at": { + "type": "number", + "format": "double", "nullable": true, - "description": "The branch code of the account" + "description": "A date in the future at which the subscription will automatically get canceled" }, - "branch_name": { - "type": "string", + "cancel_at_period_end": { + "type": "boolean", + "description": "Whether this subscription will (if `status=active`) or did (if `status=canceled`) cancel at the end of the current billing period." + }, + "canceled_at": { + "type": "number", + "format": "double", "nullable": true, - "description": "The branch name of the account" - } - }, - "required": [ - "account_holder_address", - "account_holder_name", - "account_number", - "account_type", - "bank_address", - "bank_code", - "bank_name", - "branch_code", - "branch_name" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress": { - "properties": { - "aba": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Aba", - "description": "ABA Records contain U.S. bank account details per the ABA format." + "description": "If the subscription has been canceled, the date of that cancellation. If the subscription was canceled with `cancel_at_period_end`, `canceled_at` will reflect the time of the most recent update request, not the end of the subscription period when the subscription is automatically moved to a canceled state." }, - "iban": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Iban", - "description": "Iban Records contain E.U. bank account details per the SEPA format." + "cancellation_details": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.CancellationDetails" + } + ], + "nullable": true, + "description": "Details about why this subscription was cancelled" }, - "sort_code": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.SortCode", - "description": "Sort Code Records contain U.K. bank account details per the sort code format." + "collection_method": { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.CollectionMethod", + "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`." }, - "spei": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Spei", - "description": "SPEI Records contain Mexico bank account details per the SPEI format." + "created": { + "type": "number", + "format": "double", + "description": "Time at which the object was created. Measured in seconds since the Unix epoch." }, - "supported_networks": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.SupportedNetwork" - }, - "type": "array", - "description": "The payment networks supported by this FinancialAddress" + "currency": { + "type": "string", + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." }, - "swift": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Swift", - "description": "SWIFT Records contain U.S. bank account details per the SWIFT format." + "current_period_end": { + "type": "number", + "format": "double", + "description": "End of the current period that the subscription has been invoiced for. At the end of this period, a new invoice will be created." }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Type", - "description": "The type of financial address" + "current_period_start": { + "type": "number", + "format": "double", + "description": "Start of the current period that the subscription has been invoiced for." }, - "zengin": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Zengin", - "description": "Zengin Records contain Japan bank account details per the Zengin format." - } - }, - "required": [ - "type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.Type": { - "type": "string", - "enum": [ - "eu_bank_transfer", - "gb_bank_transfer", - "jp_bank_transfer", - "mx_bank_transfer", - "us_bank_transfer" - ] - }, - "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions": { - "properties": { - "amount_remaining": { + "customer": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Customer" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedCustomer" + } + ], + "description": "ID of the customer who owns the subscription." + }, + "days_until_due": { "type": "number", "format": "double", "nullable": true, - "description": "The remaining amount that needs to be transferred to complete the payment." + "description": "Number of days a customer has to pay invoices generated by this subscription. This value will be `null` for subscriptions where `collection_method=charge_automatically`." }, - "currency": { - "type": "string", + "default_payment_method": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod" + } + ], "nullable": true, - "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." + "description": "ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. This takes precedence over `default_source`. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source)." }, - "financial_addresses": { + "default_source": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.CustomerSource" + } + ], + "nullable": true, + "description": "ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If `default_payment_method` is also set, `default_payment_method` will take precedence. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source)." + }, + "default_tax_rates": { "items": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress" + "$ref": "#/components/schemas/stripe.Stripe.TaxRate" }, "type": "array", - "description": "A list of financial addresses that can be used to fund the customer balance" + "nullable": true, + "description": "The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription." }, - "hosted_instructions_url": { + "description": { "type": "string", "nullable": true, - "description": "A link to a hosted page that guides your customer through completing the transfer." + "description": "The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs." }, - "reference": { - "type": "string", + "discount": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Discount" + } + ], "nullable": true, - "description": "A string identifying this payment. Instruct your customer to include this code in the reference or memo field of their bank transfer." + "description": "Describes the current discount applied to this subscription, if there is one. When billing, a discount applied to a subscription overrides a discount applied on a customer-wide basis. This field has been deprecated and will be removed in a future API version. Use `discounts` instead." }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.Type", - "description": "Type of bank transfer" - } - }, - "required": [ - "amount_remaining", - "currency", - "hosted_instructions_url", - "reference", - "type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails.Stores.Familymart": { - "properties": { - "confirmation_number": { - "type": "string", - "description": "The confirmation number." + "discounts": { + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Discount" + } + ] + }, + "type": "array", + "description": "The discounts applied to the subscription. Subscription item discounts are applied before subscription discounts. Use `expand[]=discounts` to expand each discount." }, - "payment_code": { - "type": "string", - "description": "The payment code." - } - }, - "required": [ - "payment_code" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails.Stores.Lawson": { - "properties": { - "confirmation_number": { - "type": "string", - "description": "The confirmation number." + "ended_at": { + "type": "number", + "format": "double", + "nullable": true, + "description": "If the subscription has ended, the date the subscription ended." }, - "payment_code": { - "type": "string", - "description": "The payment code." - } - }, - "required": [ - "payment_code" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails.Stores.Ministop": { - "properties": { - "confirmation_number": { - "type": "string", - "description": "The confirmation number." + "invoice_settings": { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.InvoiceSettings" }, - "payment_code": { - "type": "string", - "description": "The payment code." - } - }, - "required": [ - "payment_code" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails.Stores.Seicomart": { - "properties": { - "confirmation_number": { - "type": "string", - "description": "The confirmation number." + "items": { + "$ref": "#/components/schemas/stripe.Stripe.ApiList_stripe.Stripe.SubscriptionItem_", + "description": "List of subscription items, each with an attached price." }, - "payment_code": { - "type": "string", - "description": "The payment code." - } - }, - "required": [ - "payment_code" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails.Stores": { - "properties": { - "familymart": { + "latest_invoice": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Invoice" + } + ], + "nullable": true, + "description": "The most recent invoice this subscription has generated." + }, + "livemode": { + "type": "boolean", + "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." + }, + "metadata": { + "$ref": "#/components/schemas/stripe.Stripe.Metadata", + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." + }, + "next_pending_invoice_item_invoice": { + "type": "number", + "format": "double", + "nullable": true, + "description": "Specifies the approximate timestamp on which any pending invoice items will be billed according to the schedule provided at `pending_invoice_item_interval`." + }, + "on_behalf_of": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Account" + } + ], + "nullable": true, + "description": "The account (if any) the charge was made on behalf of for charges associated with this subscription. See the Connect documentation for details." + }, + "pause_collection": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails.Stores.Familymart" + "$ref": "#/components/schemas/stripe.Stripe.Subscription.PauseCollection" } ], "nullable": true, - "description": "FamilyMart instruction details." + "description": "If specified, payment collection for this subscription will be paused. Note that the subscription status will be unchanged and will not be updated to `paused`. Learn more about [pausing collection](https://stripe.com/docs/billing/subscriptions/pause-payment)." }, - "lawson": { + "payment_settings": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails.Stores.Lawson" + "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings" } ], "nullable": true, - "description": "Lawson instruction details." + "description": "Payment settings passed on to invoices created by the subscription." }, - "ministop": { + "pending_invoice_item_interval": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails.Stores.Ministop" + "$ref": "#/components/schemas/stripe.Stripe.Subscription.PendingInvoiceItemInterval" + } + ], + "nullable": true, + "description": "Specifies an interval for how often to bill for any pending invoice items. It is analogous to calling [Create an invoice](https://stripe.com/docs/api#create_invoice) for the given subscription at the specified interval." + }, + "pending_setup_intent": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent" + } + ], + "nullable": true, + "description": "You can use this [SetupIntent](https://stripe.com/docs/api/setup_intents) to collect user authentication when creating a subscription without immediate payment or updating a subscription's payment method, allowing you to optimize for off-session payments. Learn more in the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication#scenario-2)." + }, + "pending_update": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.PendingUpdate" + } + ], + "nullable": true, + "description": "If specified, [pending updates](https://stripe.com/docs/billing/subscriptions/pending-updates) that will be applied to the subscription once the `latest_invoice` has been paid." + }, + "schedule": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule" + } + ], + "nullable": true, + "description": "The schedule attached to the subscription" + }, + "start_date": { + "type": "number", + "format": "double", + "description": "Date when the subscription was first created. The date might differ from the `created` date due to backdating." + }, + "status": { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.Status", + "description": "Possible values are `incomplete`, `incomplete_expired`, `trialing`, `active`, `past_due`, `canceled`, `unpaid`, or `paused`.\n\nFor `collection_method=charge_automatically` a subscription moves into `incomplete` if the initial payment attempt fails. A subscription in this status can only have metadata and default_source updated. Once the first invoice is paid, the subscription moves into an `active` status. If the first invoice is not paid within 23 hours, the subscription transitions to `incomplete_expired`. This is a terminal status, the open invoice will be voided and no further invoices will be generated.\n\nA subscription that is currently in a trial period is `trialing` and moves to `active` when the trial period is over.\n\nA subscription can only enter a `paused` status [when a trial ends without a payment method](https://stripe.com/docs/billing/subscriptions/trials#create-free-trials-without-payment). A `paused` subscription doesn't generate invoices and can be resumed after your customer adds their payment method. The `paused` status is different from [pausing collection](https://stripe.com/docs/billing/subscriptions/pause-payment), which still generates invoices and leaves the subscription's status unchanged.\n\nIf subscription `collection_method=charge_automatically`, it becomes `past_due` when payment is required but cannot be paid (due to failed payment or awaiting additional user actions). Once Stripe has exhausted all payment retry attempts, the subscription will become `canceled` or `unpaid` (depending on your subscriptions settings).\n\nIf subscription `collection_method=send_invoice` it becomes `past_due` when its invoice is not paid by the due date, and `canceled` or `unpaid` if it is still not paid by an additional deadline after that. Note that when a subscription has a status of `unpaid`, no subsequent invoices will be attempted (invoices will be created, but then immediately automatically closed). After receiving updated payment information from a customer, you may choose to reopen and pay their closed invoices." + }, + "test_clock": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.TestHelpers.TestClock" + } + ], + "nullable": true, + "description": "ID of the test clock this subscription belongs to." + }, + "transfer_data": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.TransferData" } ], "nullable": true, - "description": "Ministop instruction details." + "description": "The account (if any) the subscription's payments will be attributed to for tax reporting, and where funds from each payment will be transferred to for each of the subscription's invoices." + }, + "trial_end": { + "type": "number", + "format": "double", + "nullable": true, + "description": "If the subscription has a trial, the end of that trial." }, - "seicomart": { + "trial_settings": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails.Stores.Seicomart" + "$ref": "#/components/schemas/stripe.Stripe.Subscription.TrialSettings" } ], "nullable": true, - "description": "Seicomart instruction details." - } - }, - "required": [ - "familymart", - "lawson", - "ministop", - "seicomart" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails": { - "properties": { - "expires_at": { + "description": "Settings related to subscription trials." + }, + "trial_start": { "type": "number", "format": "double", - "description": "The timestamp at which the pending Konbini payment expires." - }, - "hosted_voucher_url": { - "type": "string", "nullable": true, - "description": "The URL for the Konbini payment instructions page, which allows customers to view and print a Konbini voucher." - }, - "stores": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails.Stores" + "description": "If the subscription has a trial, the beginning of that trial." } }, "required": [ - "expires_at", - "hosted_voucher_url", - "stores" + "id", + "object", + "application", + "application_fee_percent", + "automatic_tax", + "billing_cycle_anchor", + "billing_cycle_anchor_config", + "billing_thresholds", + "cancel_at", + "cancel_at_period_end", + "canceled_at", + "cancellation_details", + "collection_method", + "created", + "currency", + "current_period_end", + "current_period_start", + "customer", + "days_until_due", + "default_payment_method", + "default_source", + "description", + "discount", + "discounts", + "ended_at", + "invoice_settings", + "items", + "latest_invoice", + "livemode", + "metadata", + "next_pending_invoice_item_invoice", + "on_behalf_of", + "pause_collection", + "payment_settings", + "pending_invoice_item_interval", + "pending_setup_intent", + "pending_update", + "schedule", + "start_date", + "status", + "test_clock", + "transfer_data", + "trial_end", + "trial_settings", + "trial_start" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.NextAction.MultibancoDisplayDetails": { + "stripe.Stripe.TestHelpers.TestClock.Status": { + "type": "string", + "enum": [ + "advancing", + "internal_failure", + "ready" + ] + }, + "stripe.Stripe.TestHelpers.TestClock.StatusDetails.Advancing": { "properties": { - "entity": { - "type": "string", - "nullable": true, - "description": "Entity number associated with this Multibanco payment." - }, - "expires_at": { + "target_frozen_time": { "type": "number", "format": "double", - "nullable": true, - "description": "The timestamp at which the Multibanco voucher expires." - }, - "hosted_voucher_url": { - "type": "string", - "nullable": true, - "description": "The URL for the hosted Multibanco voucher page, which allows customers to view a Multibanco voucher." - }, - "reference": { - "type": "string", - "nullable": true, - "description": "Reference number associated with this Multibanco payment." + "description": "The `frozen_time` that the Test Clock is advancing towards." } }, "required": [ - "entity", - "expires_at", - "hosted_voucher_url", - "reference" + "target_frozen_time" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.NextAction.OxxoDisplayDetails": { + "stripe.Stripe.TestHelpers.TestClock.StatusDetails": { "properties": { - "expires_after": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The timestamp after which the OXXO voucher expires." - }, - "hosted_voucher_url": { - "type": "string", - "nullable": true, - "description": "The URL for the hosted OXXO voucher page, which allows customers to view and print an OXXO voucher." - }, - "number": { - "type": "string", - "nullable": true, - "description": "OXXO reference number." + "advancing": { + "$ref": "#/components/schemas/stripe.Stripe.TestHelpers.TestClock.StatusDetails.Advancing" } }, - "required": [ - "expires_after", - "hosted_voucher_url", - "number" - ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.NextAction.PaynowDisplayQrCode": { + "stripe.Stripe.TestHelpers.TestClock": { + "description": "A test clock enables deterministic control over objects in testmode. With a test clock, you can create\nobjects at a frozen time in the past or future, and advance to a specific future time to observe webhooks and state changes. After the clock advances,\nyou can either validate the current state of your scenario (and test your assumptions), change the current state of your scenario (and test more complex scenarios), or keep advancing forward in time.", "properties": { - "data": { + "id": { "type": "string", - "description": "The raw data string used to generate QR code, it should be used together with QR code library." + "description": "Unique identifier for the object." }, - "hosted_instructions_url": { + "object": { "type": "string", - "nullable": true, - "description": "The URL to the hosted PayNow instructions page, which allows customers to view the PayNow QR code." + "enum": [ + "test_helpers.test_clock" + ], + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." }, - "image_url_png": { - "type": "string", - "description": "The image_url_png string used to render QR code" + "created": { + "type": "number", + "format": "double", + "description": "Time at which the object was created. Measured in seconds since the Unix epoch." }, - "image_url_svg": { - "type": "string", - "description": "The image_url_svg string used to render QR code" - } - }, - "required": [ - "data", - "hosted_instructions_url", - "image_url_png", - "image_url_svg" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentIntent.NextAction.PixDisplayQrCode": { - "properties": { - "data": { - "type": "string", - "description": "The raw data string used to generate QR code, it should be used together with QR code library." + "deleted": { + "description": "Always true for a deleted object" }, - "expires_at": { + "deletes_after": { "type": "number", "format": "double", - "description": "The date (unix timestamp) when the PIX expires." - }, - "hosted_instructions_url": { - "type": "string", - "description": "The URL to the hosted pix instructions page, which allows customers to view the pix QR code." + "description": "Time at which this clock is scheduled to auto delete." }, - "image_url_png": { - "type": "string", - "description": "The image_url_png string used to render png QR code" + "frozen_time": { + "type": "number", + "format": "double", + "description": "Time at which all objects belonging to this clock are frozen." }, - "image_url_svg": { - "type": "string", - "description": "The image_url_svg string used to render svg QR code" - } - }, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentIntent.NextAction.PromptpayDisplayQrCode": { - "properties": { - "data": { - "type": "string", - "description": "The raw data string used to generate QR code, it should be used together with QR code library." + "livemode": { + "type": "boolean", + "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." }, - "hosted_instructions_url": { + "name": { "type": "string", - "description": "The URL to the hosted PromptPay instructions page, which allows customers to view the PromptPay QR code." + "nullable": true, + "description": "The custom name supplied at creation." }, - "image_url_png": { - "type": "string", - "description": "The PNG path used to render the QR code, can be used as the source in an HTML img tag" + "status": { + "$ref": "#/components/schemas/stripe.Stripe.TestHelpers.TestClock.Status", + "description": "The status of the Test Clock." }, - "image_url_svg": { - "type": "string", - "description": "The SVG path used to render the QR code, can be used as the source in an HTML img tag" + "status_details": { + "$ref": "#/components/schemas/stripe.Stripe.TestHelpers.TestClock.StatusDetails" } }, "required": [ - "data", - "hosted_instructions_url", - "image_url_png", - "image_url_svg" + "id", + "object", + "created", + "deletes_after", + "frozen_time", + "livemode", + "name", + "status", + "status_details" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.NextAction.RedirectToUrl": { + "stripe.Stripe.InvoiceItem": { + "description": "Invoice Items represent the component lines of an [invoice](https://stripe.com/docs/api/invoices). An invoice item is added to an\ninvoice by creating or updating it with an `invoice` field, at which point it will be included as\n[an invoice line item](https://stripe.com/docs/api/invoices/line_item) within\n[invoice.lines](https://stripe.com/docs/api/invoices/object#invoice_object-lines).\n\nInvoice Items can be created before you are ready to actually send the invoice. This can be particularly useful when combined\nwith a [subscription](https://stripe.com/docs/api/subscriptions). Sometimes you want to add a charge or credit to a customer, but actually charge\nor credit the customer's card only at the end of a regular billing cycle. This is useful for combining several charges\n(to minimize per-transaction fees), or for having Stripe tabulate your usage-based billing totals.\n\nRelated guides: [Integrate with the Invoicing API](https://stripe.com/docs/invoicing/integration), [Subscription Invoices](https://stripe.com/docs/billing/invoices/subscription#adding-upcoming-invoice-items).", "properties": { - "return_url": { + "id": { "type": "string", - "nullable": true, - "description": "If the customer does not exit their browser while authenticating, they will be redirected to this specified URL after completion." + "description": "Unique identifier for the object." }, - "url": { - "type": "string", - "nullable": true, - "description": "The URL you must redirect your customer to in order to authenticate the payment." - } - }, - "required": [ - "return_url", - "url" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentIntent.NextAction.SwishHandleRedirectOrDisplayQrCode.QrCode": { - "properties": { - "data": { + "object": { "type": "string", - "description": "The raw data string used to generate QR code, it should be used together with QR code library." + "enum": [ + "invoiceitem" + ], + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." }, - "image_url_png": { - "type": "string", - "description": "The image_url_png string used to render QR code" + "amount": { + "type": "number", + "format": "double", + "description": "Amount (in the `currency` specified) of the invoice item. This should always be equal to `unit_amount * quantity`." }, - "image_url_svg": { - "type": "string", - "description": "The image_url_svg string used to render QR code" - } - }, - "required": [ - "data", - "image_url_png", - "image_url_svg" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentIntent.NextAction.SwishHandleRedirectOrDisplayQrCode": { - "properties": { - "hosted_instructions_url": { + "currency": { "type": "string", - "description": "The URL to the hosted Swish instructions page, which allows customers to view the QR code." + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." }, - "mobile_auth_url": { - "type": "string", - "description": "The url for mobile redirect based auth (for internal use only and not typically available in standard API requests)." + "customer": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Customer" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedCustomer" + } + ], + "description": "The ID of the customer who will be billed when this invoice item is billed." }, - "qr_code": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.SwishHandleRedirectOrDisplayQrCode.QrCode" - } - }, - "required": [ - "hosted_instructions_url", - "mobile_auth_url", - "qr_code" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentIntent.NextAction.UseStripeSdk": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentIntent.NextAction.VerifyWithMicrodeposits.MicrodepositType": { - "type": "string", - "enum": [ - "amounts", - "descriptor_code" - ] - }, - "stripe.Stripe.PaymentIntent.NextAction.VerifyWithMicrodeposits": { - "properties": { - "arrival_date": { + "date": { "type": "number", "format": "double", - "description": "The timestamp when the microdeposits are expected to land." + "description": "Time at which the object was created. Measured in seconds since the Unix epoch." }, - "hosted_verification_url": { + "deleted": { + "description": "Always true for a deleted object" + }, + "description": { "type": "string", - "description": "The URL for the hosted verification page, which allows customers to verify their bank account." + "nullable": true, + "description": "An arbitrary string attached to the object. Often useful for displaying to users." }, - "microdeposit_type": { + "discountable": { + "type": "boolean", + "description": "If true, discounts will apply to this invoice item. Always false for prorations." + }, + "discounts": { + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Discount" + } + ] + }, + "type": "array", + "nullable": true, + "description": "The discounts which apply to the invoice item. Item discounts are applied before invoice discounts. Use `expand[]=discounts` to expand each discount." + }, + "invoice": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Invoice" + } + ], + "nullable": true, + "description": "The ID of the invoice this invoice item belongs to." + }, + "livemode": { + "type": "boolean", + "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." + }, + "metadata": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.VerifyWithMicrodeposits.MicrodepositType" + "$ref": "#/components/schemas/stripe.Stripe.Metadata" } ], "nullable": true, - "description": "The type of the microdeposit sent to the customer. Used to distinguish between different verification methods." - } - }, - "required": [ - "arrival_date", - "hosted_verification_url", - "microdeposit_type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentIntent.NextAction.WechatPayDisplayQrCode": { - "properties": { - "data": { - "type": "string", - "description": "The data being used to generate QR code" + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." }, - "hosted_instructions_url": { - "type": "string", - "description": "The URL to the hosted WeChat Pay instructions page, which allows customers to view the WeChat Pay QR code." + "period": { + "$ref": "#/components/schemas/stripe.Stripe.InvoiceItem.Period" }, - "image_data_url": { - "type": "string", - "description": "The base64 image data for a pre-generated QR code" + "plan": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Plan" + } + ], + "nullable": true, + "description": "If the invoice item is a proration, the plan of the subscription that the proration was computed for." }, - "image_url_png": { + "price": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Price" + } + ], + "nullable": true, + "description": "The price of the invoice item." + }, + "proration": { + "type": "boolean", + "description": "Whether the invoice item was created automatically as a proration adjustment when the customer switched plans." + }, + "quantity": { + "type": "number", + "format": "double", + "description": "Quantity of units for the invoice item. If the invoice item is a proration, the quantity of the subscription that the proration was computed for." + }, + "subscription": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Subscription" + } + ], + "nullable": true, + "description": "The subscription that this invoice item has been created for, if any." + }, + "subscription_item": { "type": "string", - "description": "The image_url_png string used to render QR code" + "description": "The subscription item that this invoice item has been created for, if any." }, - "image_url_svg": { + "tax_rates": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.TaxRate" + }, + "type": "array", + "nullable": true, + "description": "The tax rates which apply to the invoice item. When set, the `default_tax_rates` on the invoice do not apply to this invoice item." + }, + "test_clock": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.TestHelpers.TestClock" + } + ], + "nullable": true, + "description": "ID of the test clock this invoice item belongs to." + }, + "unit_amount": { + "type": "number", + "format": "double", + "nullable": true, + "description": "Unit amount (in the `currency` specified) of the invoice item." + }, + "unit_amount_decimal": { "type": "string", - "description": "The image_url_svg string used to render QR code" + "nullable": true, + "description": "Same as `unit_amount`, but contains a decimal value with at most 12 decimal places." } }, "required": [ - "data", - "hosted_instructions_url", - "image_data_url", - "image_url_png", - "image_url_svg" + "id", + "object", + "amount", + "currency", + "customer", + "date", + "description", + "discountable", + "discounts", + "invoice", + "livemode", + "metadata", + "period", + "plan", + "price", + "proration", + "quantity", + "subscription", + "tax_rates", + "test_clock", + "unit_amount", + "unit_amount_decimal" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.NextAction.WechatPayRedirectToAndroidApp": { + "stripe.Stripe.InvoiceLineItem.Period": { "properties": { - "app_id": { - "type": "string", - "description": "app_id is the APP ID registered on WeChat open platform" - }, - "nonce_str": { - "type": "string", - "description": "nonce_str is a random string" - }, - "package": { - "type": "string", - "description": "package is static value" - }, - "partner_id": { - "type": "string", - "description": "an unique merchant ID assigned by WeChat Pay" - }, - "prepay_id": { - "type": "string", - "description": "an unique trading ID assigned by WeChat Pay" - }, - "sign": { - "type": "string", - "description": "A signature" + "end": { + "type": "number", + "format": "double", + "description": "The end of the period, which must be greater than or equal to the start. This value is inclusive." }, - "timestamp": { - "type": "string", - "description": "Specifies the current time in epoch format" + "start": { + "type": "number", + "format": "double", + "description": "The start of the period. This value is inclusive." } }, "required": [ - "app_id", - "nonce_str", - "package", - "partner_id", - "prepay_id", - "sign", - "timestamp" + "end", + "start" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.NextAction.WechatPayRedirectToIosApp": { + "stripe.Stripe.Billing.CreditBalanceTransaction.Credit.Amount.Monetary": { "properties": { - "native_url": { + "currency": { "type": "string", - "description": "An universal link that redirect to WeChat Pay app" + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." + }, + "value": { + "type": "number", + "format": "double", + "description": "A positive integer representing the amount." } }, "required": [ - "native_url" + "currency", + "value" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.NextAction": { + "stripe.Stripe.Billing.CreditBalanceTransaction.Credit.Amount": { "properties": { - "alipay_handle_redirect": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.AlipayHandleRedirect" - }, - "boleto_display_details": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.BoletoDisplayDetails" - }, - "card_await_notification": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.CardAwaitNotification" - }, - "cashapp_handle_redirect_or_display_qr_code": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.CashappHandleRedirectOrDisplayQrCode" - }, - "display_bank_transfer_instructions": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions" - }, - "konbini_display_details": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails" - }, - "multibanco_display_details": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.MultibancoDisplayDetails" - }, - "oxxo_display_details": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.OxxoDisplayDetails" - }, - "paynow_display_qr_code": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.PaynowDisplayQrCode" - }, - "pix_display_qr_code": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.PixDisplayQrCode" - }, - "promptpay_display_qr_code": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.PromptpayDisplayQrCode" - }, - "redirect_to_url": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.RedirectToUrl" - }, - "swish_handle_redirect_or_display_qr_code": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.SwishHandleRedirectOrDisplayQrCode" + "monetary": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Billing.CreditBalanceTransaction.Credit.Amount.Monetary" + } + ], + "nullable": true, + "description": "The monetary amount." }, "type": { "type": "string", - "description": "Type of the next action to perform, one of `redirect_to_url`, `use_stripe_sdk`, `alipay_handle_redirect`, `oxxo_display_details`, or `verify_with_microdeposits`." - }, - "use_stripe_sdk": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.UseStripeSdk", - "description": "When confirming a PaymentIntent with Stripe.js, Stripe.js depends on the contents of this dictionary to invoke authentication flows. The shape of the contents is subject to change and is only intended to be used by Stripe.js." - }, - "verify_with_microdeposits": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.VerifyWithMicrodeposits" - }, - "wechat_pay_display_qr_code": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.WechatPayDisplayQrCode" - }, - "wechat_pay_redirect_to_android_app": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.WechatPayRedirectToAndroidApp" - }, - "wechat_pay_redirect_to_ios_app": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.WechatPayRedirectToIosApp" + "enum": [ + "monetary" + ], + "nullable": false, + "description": "The type of this amount. We currently only support `monetary` billing credits." } }, "required": [ + "monetary", "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodConfigurationDetails": { + "stripe.Stripe.Billing.CreditBalanceTransaction.Credit.CreditsApplicationInvoiceVoided": { "properties": { - "id": { - "type": "string", - "description": "ID of the payment method configuration used." + "invoice": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Invoice" + } + ], + "description": "The invoice to which the reinstated billing credits were originally applied." }, - "parent": { + "invoice_line_item": { "type": "string", - "nullable": true, - "description": "ID of the parent payment method configuration used." + "description": "The invoice line item to which the reinstated billing credits were originally applied." } }, "required": [ - "id", - "parent" + "invoice", + "invoice_line_item" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit.MandateOptions.PaymentSchedule": { - "type": "string", - "enum": [ - "combined", - "interval", - "sporadic" - ] - }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit.MandateOptions.TransactionType": { + "stripe.Stripe.Billing.CreditBalanceTransaction.Credit.Type": { "type": "string", "enum": [ - "business", - "personal" + "credits_application_invoice_voided", + "credits_granted" ] }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit.MandateOptions": { + "stripe.Stripe.Billing.CreditBalanceTransaction.Credit": { "properties": { - "custom_mandate_url": { - "type": "string", - "description": "A URL for custom mandate text" - }, - "interval_description": { - "type": "string", - "nullable": true, - "description": "Description of the interval. Only required if the 'payment_schedule' parameter is 'interval' or 'combined'." + "amount": { + "$ref": "#/components/schemas/stripe.Stripe.Billing.CreditBalanceTransaction.Credit.Amount" }, - "payment_schedule": { + "credits_application_invoice_voided": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit.MandateOptions.PaymentSchedule" + "$ref": "#/components/schemas/stripe.Stripe.Billing.CreditBalanceTransaction.Credit.CreditsApplicationInvoiceVoided" } ], "nullable": true, - "description": "Payment schedule for the mandate." + "description": "Details of the invoice to which the reinstated credits were originally applied. Only present if `type` is `credits_application_invoice_voided`." }, - "transaction_type": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit.MandateOptions.TransactionType" - } - ], - "nullable": true, - "description": "Transaction type of the mandate." + "type": { + "$ref": "#/components/schemas/stripe.Stripe.Billing.CreditBalanceTransaction.Credit.Type", + "description": "The type of credit transaction." } }, "required": [ - "interval_description", - "payment_schedule", - "transaction_type" + "amount", + "credits_application_invoice_voided", + "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit.SetupFutureUsage": { - "type": "string", - "enum": [ - "none", - "off_session", - "on_session" - ] - }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit.VerificationMethod": { - "type": "string", - "enum": [ - "automatic", - "instant", - "microdeposits" - ] - }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit": { + "stripe.Stripe.Billing.CreditGrant.Amount.Monetary": { "properties": { - "mandate_options": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit.MandateOptions" - }, - "setup_future_usage": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit.SetupFutureUsage", - "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." - }, - "target_date": { + "currency": { "type": "string", - "description": "Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now." + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." }, - "verification_method": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit.VerificationMethod", - "description": "Bank account verification method." + "value": { + "type": "number", + "format": "double", + "description": "A positive integer representing the amount." } }, + "required": [ + "currency", + "value" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Affirm": { + "stripe.Stripe.Billing.CreditGrant.Amount": { "properties": { - "capture_method": { - "type": "string", - "enum": [ - "manual" + "monetary": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Billing.CreditGrant.Amount.Monetary" + } ], - "nullable": false, - "description": "Controls when the funds will be captured from the customer's account." - }, - "preferred_locale": { - "type": "string", - "description": "Preferred language of the Affirm authorization page that the customer is redirected to." + "nullable": true, + "description": "The monetary amount." }, - "setup_future_usage": { + "type": { "type": "string", "enum": [ - "none" + "monetary" ], "nullable": false, - "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + "description": "The type of this amount. We currently only support `monetary` billing credits." } }, + "required": [ + "monetary", + "type" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AfterpayClearpay": { + "stripe.Stripe.Billing.CreditGrant.ApplicabilityConfig.Scope.Price": { "properties": { - "capture_method": { - "type": "string", - "enum": [ - "manual" - ], - "nullable": false, - "description": "Controls when the funds will be captured from the customer's account." - }, - "reference": { + "id": { "type": "string", "nullable": true, - "description": "An internal identifier or reference that this payment corresponds to. You must limit the identifier to 128 characters, and it can only contain letters, numbers, underscores, backslashes, and dashes.\nThis field differs from the statement descriptor and item name." - }, - "setup_future_usage": { - "type": "string", - "enum": [ - "none" - ], - "nullable": false, - "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + "description": "Unique identifier for the object." } }, "required": [ - "reference" + "id" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Alipay.SetupFutureUsage": { - "type": "string", - "enum": [ - "none", - "off_session" - ] - }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Alipay": { + "stripe.Stripe.Billing.CreditGrant.ApplicabilityConfig.Scope": { "properties": { - "setup_future_usage": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Alipay.SetupFutureUsage", - "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + "price_type": { + "type": "string", + "enum": [ + "metered" + ], + "nullable": false, + "description": "The price type that credit grants can apply to. We currently only support the `metered` price type. This refers to prices that have a [Billing Meter](https://docs.stripe.com/api/billing/meter) attached to them." + }, + "prices": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Billing.CreditGrant.ApplicabilityConfig.Scope.Price" + }, + "type": "array", + "description": "The prices that credit grants can apply to. We currently only support `metered` prices. This refers to prices that have a [Billing Meter](https://docs.stripe.com/api/billing/meter) attached to them." } }, "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Alma": { + "stripe.Stripe.Billing.CreditGrant.ApplicabilityConfig": { "properties": { - "capture_method": { - "type": "string", - "enum": [ - "manual" - ], - "nullable": false, - "description": "Controls when the funds will be captured from the customer's account." + "scope": { + "$ref": "#/components/schemas/stripe.Stripe.Billing.CreditGrant.ApplicabilityConfig.Scope" } }, + "required": [ + "scope" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AmazonPay.SetupFutureUsage": { + "stripe.Stripe.Billing.CreditGrant.Category": { "type": "string", "enum": [ - "none", - "off_session" + "paid", + "promotional" ] }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AmazonPay": { + "stripe.Stripe.Billing.CreditGrant": { + "description": "A credit grant is an API resource that documents the allocation of some billing credits to a customer.\n\nRelated guide: [Billing credits](https://docs.stripe.com/billing/subscriptions/usage-based/billing-credits)", "properties": { - "capture_method": { + "id": { + "type": "string", + "description": "Unique identifier for the object." + }, + "object": { "type": "string", "enum": [ - "manual" + "billing.credit_grant" ], "nullable": false, - "description": "Controls when the funds will be captured from the customer's account." + "description": "String representing the object's type. Objects of the same type share the same value." }, - "setup_future_usage": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.AmazonPay.SetupFutureUsage", - "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + "amount": { + "$ref": "#/components/schemas/stripe.Stripe.Billing.CreditGrant.Amount" + }, + "applicability_config": { + "$ref": "#/components/schemas/stripe.Stripe.Billing.CreditGrant.ApplicabilityConfig" + }, + "category": { + "$ref": "#/components/schemas/stripe.Stripe.Billing.CreditGrant.Category", + "description": "The category of this credit grant. This is for tracking purposes and isn't displayed to the customer." + }, + "created": { + "type": "number", + "format": "double", + "description": "Time at which the object was created. Measured in seconds since the Unix epoch." + }, + "customer": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Customer" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedCustomer" + } + ], + "description": "ID of the customer receiving the billing credits." + }, + "effective_at": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The time when the billing credits become effective-when they're eligible for use." + }, + "expires_at": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The time when the billing credits expire. If not present, the billing credits don't expire." + }, + "livemode": { + "type": "boolean", + "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." + }, + "metadata": { + "$ref": "#/components/schemas/stripe.Stripe.Metadata", + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." + }, + "name": { + "type": "string", + "nullable": true, + "description": "A descriptive name shown in dashboard." + }, + "priority": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The priority for applying this credit grant. The highest priority is 0 and the lowest is 100." + }, + "test_clock": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.TestHelpers.TestClock" + } + ], + "nullable": true, + "description": "ID of the test clock this credit grant belongs to." + }, + "updated": { + "type": "number", + "format": "double", + "description": "Time at which the object was last updated. Measured in seconds since the Unix epoch." + }, + "voided_at": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The time when this credit grant was voided. If not present, the credit grant hasn't been voided." } }, + "required": [ + "id", + "object", + "amount", + "applicability_config", + "category", + "created", + "customer", + "effective_at", + "expires_at", + "livemode", + "metadata", + "name", + "test_clock", + "updated", + "voided_at" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AuBecsDebit.SetupFutureUsage": { - "type": "string", - "enum": [ - "none", - "off_session", - "on_session" - ] + "stripe.Stripe.Billing.CreditBalanceTransaction.Debit.Amount.Monetary": { + "properties": { + "currency": { + "type": "string", + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." + }, + "value": { + "type": "number", + "format": "double", + "description": "A positive integer representing the amount." + } + }, + "required": [ + "currency", + "value" + ], + "type": "object", + "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AuBecsDebit": { + "stripe.Stripe.Billing.CreditBalanceTransaction.Debit.Amount": { "properties": { - "setup_future_usage": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.AuBecsDebit.SetupFutureUsage", - "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + "monetary": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Billing.CreditBalanceTransaction.Debit.Amount.Monetary" + } + ], + "nullable": true, + "description": "The monetary amount." }, - "target_date": { + "type": { "type": "string", - "description": "Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now." + "enum": [ + "monetary" + ], + "nullable": false, + "description": "The type of this amount. We currently only support `monetary` billing credits." } }, + "required": [ + "monetary", + "type" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.BacsDebit.MandateOptions": { + "stripe.Stripe.Billing.CreditBalanceTransaction.Debit.CreditsApplied": { "properties": { - "reference_prefix": { + "invoice": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Invoice" + } + ], + "description": "The invoice to which the billing credits were applied." + }, + "invoice_line_item": { "type": "string", - "description": "Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'DDIC' or 'STRIPE'." + "description": "The invoice line item to which the billing credits were applied." } }, + "required": [ + "invoice", + "invoice_line_item" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.BacsDebit.SetupFutureUsage": { + "stripe.Stripe.Billing.CreditBalanceTransaction.Debit.Type": { "type": "string", "enum": [ - "none", - "off_session", - "on_session" + "credits_applied", + "credits_expired", + "credits_voided" ] }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.BacsDebit": { + "stripe.Stripe.Billing.CreditBalanceTransaction.Debit": { "properties": { - "mandate_options": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.BacsDebit.MandateOptions" + "amount": { + "$ref": "#/components/schemas/stripe.Stripe.Billing.CreditBalanceTransaction.Debit.Amount" }, - "setup_future_usage": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.BacsDebit.SetupFutureUsage", - "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + "credits_applied": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Billing.CreditBalanceTransaction.Debit.CreditsApplied" + } + ], + "nullable": true, + "description": "Details of how the billing credits were applied to an invoice. Only present if `type` is `credits_applied`." }, - "target_date": { - "type": "string", - "description": "Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now." + "type": { + "$ref": "#/components/schemas/stripe.Stripe.Billing.CreditBalanceTransaction.Debit.Type", + "description": "The type of debit transaction." } }, + "required": [ + "amount", + "credits_applied", + "type" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Bancontact.PreferredLanguage": { - "type": "string", - "enum": [ - "de", - "en", - "fr", - "nl" - ] - }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Bancontact.SetupFutureUsage": { + "stripe.Stripe.Billing.CreditBalanceTransaction.Type": { "type": "string", "enum": [ - "none", - "off_session" + "credit", + "debit" ] }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Bancontact": { + "stripe.Stripe.Billing.CreditBalanceTransaction": { + "description": "A credit balance transaction is a resource representing a transaction (either a credit or a debit) against an existing credit grant.", "properties": { - "preferred_language": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Bancontact.PreferredLanguage", - "description": "Preferred language of the Bancontact authorization page that the customer is redirected to." + "id": { + "type": "string", + "description": "Unique identifier for the object." }, - "setup_future_usage": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Bancontact.SetupFutureUsage", - "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." - } - }, - "required": [ - "preferred_language" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Blik": { - "properties": { - "setup_future_usage": { + "object": { "type": "string", "enum": [ - "none" + "billing.credit_balance_transaction" ], "nullable": false, - "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." - } - }, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Boleto.SetupFutureUsage": { - "type": "string", - "enum": [ - "none", - "off_session", - "on_session" - ] - }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Boleto": { - "properties": { - "expires_after_days": { + "description": "String representing the object's type. Objects of the same type share the same value." + }, + "created": { "type": "number", "format": "double", - "description": "The number of calendar days before a Boleto voucher expires. For example, if you create a Boleto voucher on Monday and you set expires_after_days to 2, the Boleto voucher will expire on Wednesday at 23:59 America/Sao_Paulo time." + "description": "Time at which the object was created. Measured in seconds since the Unix epoch." }, - "setup_future_usage": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Boleto.SetupFutureUsage", - "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." - } - }, - "required": [ - "expires_after_days" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.Installments.AvailablePlan": { - "properties": { - "count": { + "credit": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Billing.CreditBalanceTransaction.Credit" + } + ], + "nullable": true, + "description": "Credit details for this credit balance transaction. Only present if type is `credit`." + }, + "credit_grant": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Billing.CreditGrant" + } + ], + "description": "The credit grant associated with this credit balance transaction." + }, + "debit": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Billing.CreditBalanceTransaction.Debit" + } + ], + "nullable": true, + "description": "Debit details for this credit balance transaction. Only present if type is `debit`." + }, + "effective_at": { "type": "number", "format": "double", - "nullable": true, - "description": "For `fixed_count` installment plans, this is the number of installment payments your customer will make to their credit card." + "description": "The effective time of this credit balance transaction." }, - "interval": { - "type": "string", - "enum": [ - "month", - null + "livemode": { + "type": "boolean", + "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." + }, + "test_clock": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.TestHelpers.TestClock" + } ], "nullable": true, - "description": "For `fixed_count` installment plans, this is the interval between installment payments your customer will make to their credit card.\nOne of `month`." + "description": "ID of the test clock this credit balance transaction belongs to." }, "type": { - "type": "string", - "enum": [ - "fixed_count" + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Billing.CreditBalanceTransaction.Type" + } ], - "nullable": false, - "description": "Type of installment plan, one of `fixed_count`." + "nullable": true, + "description": "The type of credit balance transaction (credit or debit)." } }, "required": [ - "count", - "interval", + "id", + "object", + "created", + "credit", + "credit_grant", + "debit", + "effective_at", + "livemode", + "test_clock", "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.Installments.Plan": { + "stripe.Stripe.InvoiceLineItem.PretaxCreditAmount.Type": { + "type": "string", + "enum": [ + "credit_balance_transaction", + "discount" + ] + }, + "stripe.Stripe.InvoiceLineItem.PretaxCreditAmount": { "properties": { - "count": { + "amount": { "type": "number", "format": "double", - "nullable": true, - "description": "For `fixed_count` installment plans, this is the number of installment payments your customer will make to their credit card." + "description": "The amount, in cents (or local equivalent), of the pretax credit amount." }, - "interval": { - "type": "string", - "enum": [ - "month", - null + "credit_balance_transaction": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Billing.CreditBalanceTransaction" + } ], "nullable": true, - "description": "For `fixed_count` installment plans, this is the interval between installment payments your customer will make to their credit card.\nOne of `month`." + "description": "The credit balance transaction that was applied to get this pretax credit amount." }, - "type": { - "type": "string", - "enum": [ - "fixed_count" + "discount": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Discount" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedDiscount" + } ], - "nullable": false, - "description": "Type of installment plan, one of `fixed_count`." + "description": "The discount that was applied to get this pretax credit amount." + }, + "type": { + "$ref": "#/components/schemas/stripe.Stripe.InvoiceLineItem.PretaxCreditAmount.Type", + "description": "Type of the pretax credit amount referenced." } }, "required": [ - "count", - "interval", + "amount", "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.Installments": { + "stripe.Stripe.InvoiceLineItem.ProrationDetails.CreditedItems": { "properties": { - "available_plans": { + "invoice": { + "type": "string", + "description": "Invoice containing the credited invoice line items" + }, + "invoice_line_items": { "items": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.Installments.AvailablePlan" + "type": "string" }, "type": "array", - "nullable": true, - "description": "Installment plans that may be selected for this PaymentIntent." - }, - "enabled": { - "type": "boolean", - "description": "Whether Installments are enabled for this PaymentIntent." - }, - "plan": { + "description": "Credited invoice line items" + } + }, + "required": [ + "invoice", + "invoice_line_items" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.InvoiceLineItem.ProrationDetails": { + "properties": { + "credited_items": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.Installments.Plan" + "$ref": "#/components/schemas/stripe.Stripe.InvoiceLineItem.ProrationDetails.CreditedItems" } ], "nullable": true, - "description": "Installment plan selected for this PaymentIntent." + "description": "For a credit proration `line_item`, the original debit line_items to which the credit proration applies." } }, "required": [ - "available_plans", - "enabled", - "plan" + "credited_items" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.MandateOptions.AmountType": { - "type": "string", - "enum": [ - "fixed", - "maximum" - ] - }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.MandateOptions.Interval": { - "type": "string", - "enum": [ - "day", - "month", - "sporadic", - "week", - "year" - ] - }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.MandateOptions": { + "stripe.Stripe.SubscriptionItem.BillingThresholds": { "properties": { - "amount": { + "usage_gte": { "type": "number", "format": "double", - "description": "Amount to be charged for future payments." - }, - "amount_type": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.MandateOptions.AmountType", - "description": "One of `fixed` or `maximum`. If `fixed`, the `amount` param refers to the exact amount to be charged in future payments. If `maximum`, the amount charged can be up to the value passed for the `amount` param." + "nullable": true, + "description": "Usage threshold that triggers the subscription to create an invoice" + } + }, + "required": [ + "usage_gte" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.SubscriptionItem": { + "description": "Subscription items allow you to create customer subscriptions with more than\none plan, making it easy to represent complex billing relationships.", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the object." }, - "description": { + "object": { "type": "string", + "enum": [ + "subscription_item" + ], + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." + }, + "billing_thresholds": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.SubscriptionItem.BillingThresholds" + } + ], "nullable": true, - "description": "A description of the mandate or subscription that is meant to be displayed to the customer." + "description": "Define thresholds at which an invoice will be sent, and the related subscription advanced to a new billing period" }, - "end_date": { + "created": { "type": "number", "format": "double", - "nullable": true, - "description": "End date of the mandate or subscription. If not provided, the mandate will be active until canceled. If provided, end date should be after start date." + "description": "Time at which the object was created. Measured in seconds since the Unix epoch." }, - "interval": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.MandateOptions.Interval", - "description": "Specifies payment frequency. One of `day`, `week`, `month`, `year`, or `sporadic`." + "deleted": { + "description": "Always true for a deleted object" }, - "interval_count": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The number of intervals between payments. For example, `interval=month` and `interval_count=3` indicates one payment every three months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks). This parameter is optional when `interval=sporadic`." + "discounts": { + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Discount" + } + ] + }, + "type": "array", + "description": "The discounts applied to the subscription item. Subscription item discounts are applied before subscription discounts. Use `expand[]=discounts` to expand each discount." }, - "reference": { - "type": "string", - "description": "Unique identifier for the mandate or subscription." + "metadata": { + "$ref": "#/components/schemas/stripe.Stripe.Metadata", + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." }, - "start_date": { + "plan": { + "$ref": "#/components/schemas/stripe.Stripe.Plan", + "description": "You can now model subscriptions more flexibly using the [Prices API](https://stripe.com/docs/api#prices). It replaces the Plans API and is backwards compatible to simplify your migration.\n\nPlans define the base price, currency, and billing cycle for recurring purchases of products.\n[Products](https://stripe.com/docs/api#products) help you track inventory or provisioning, and plans help you track pricing. Different physical goods or levels of service should be represented by products, and pricing options should be represented by plans. This approach lets you change prices without having to change your provisioning scheme.\n\nFor example, you might have a single \"gold\" product that has plans for $10/month, $100/year, €9/month, and €90/year.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) and more about [products and prices](https://stripe.com/docs/products-prices/overview)." + }, + "price": { + "$ref": "#/components/schemas/stripe.Stripe.Price", + "description": "Prices define the unit cost, currency, and (optional) billing cycle for both recurring and one-time purchases of products.\n[Products](https://stripe.com/docs/api#products) help you track inventory or provisioning, and prices help you track payment terms. Different physical goods or levels of service should be represented by products, and pricing options should be represented by prices. This approach lets you change prices without having to change your provisioning scheme.\n\nFor example, you might have a single \"gold\" product that has prices for $10/month, $100/year, and €9 once.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription), [create an invoice](https://stripe.com/docs/billing/invoices/create), and more about [products and prices](https://stripe.com/docs/products-prices/overview)." + }, + "quantity": { "type": "number", "format": "double", - "description": "Start date of the mandate or subscription. Start date should not be lesser than yesterday." + "description": "The [quantity](https://stripe.com/docs/subscriptions/quantities) of the plan to which the customer should be subscribed." }, - "supported_types": { + "subscription": { + "type": "string", + "description": "The `subscription` this `subscription_item` belongs to." + }, + "tax_rates": { "items": { - "type": "string", - "enum": [ - "india" - ], - "nullable": false + "$ref": "#/components/schemas/stripe.Stripe.TaxRate" }, "type": "array", "nullable": true, - "description": "Specifies the type of mandates supported. Possible values are `india`." + "description": "The tax rates which apply to this `subscription_item`. When set, the `default_tax_rates` on the subscription do not apply to this `subscription_item`." } }, "required": [ - "amount", - "amount_type", - "description", - "end_date", - "interval", - "interval_count", - "reference", - "start_date", - "supported_types" + "id", + "object", + "billing_thresholds", + "created", + "discounts", + "metadata", + "plan", + "price", + "subscription", + "tax_rates" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.Network": { - "type": "string", - "enum": [ - "amex", - "cartes_bancaires", - "diners", - "discover", - "eftpos_au", - "girocard", - "interac", - "jcb", - "link", - "mastercard", - "unionpay", - "unknown", - "visa" - ] - }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.RequestExtendedAuthorization": { - "type": "string", - "enum": [ - "if_available", - "never" - ] - }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.RequestIncrementalAuthorization": { - "type": "string", - "enum": [ - "if_available", - "never" - ] - }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.RequestMulticapture": { - "type": "string", - "enum": [ - "if_available", - "never" - ] - }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.RequestOvercapture": { + "stripe.Stripe.InvoiceLineItem.TaxAmount.TaxabilityReason": { "type": "string", "enum": [ - "if_available", - "never" + "customer_exempt", + "not_collecting", + "not_subject_to_tax", + "not_supported", + "portion_product_exempt", + "portion_reduced_rated", + "portion_standard_rated", + "product_exempt", + "product_exempt_holiday", + "proportionally_rated", + "reduced_rated", + "reverse_charge", + "standard_rated", + "taxable_basis_reduced", + "zero_rated" ] }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.RequestThreeDSecure": { - "type": "string", - "enum": [ - "any", - "automatic", - "challenge" - ] + "stripe.Stripe.InvoiceLineItem.TaxAmount": { + "properties": { + "amount": { + "type": "number", + "format": "double", + "description": "The amount, in cents (or local equivalent), of the tax." + }, + "inclusive": { + "type": "boolean", + "description": "Whether this tax amount is inclusive or exclusive." + }, + "tax_rate": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.TaxRate" + } + ], + "description": "The tax rate that was applied to get this tax amount." + }, + "taxability_reason": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.InvoiceLineItem.TaxAmount.TaxabilityReason" + } + ], + "nullable": true, + "description": "The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported." + }, + "taxable_amount": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The amount on which tax is calculated, in cents (or local equivalent)." + } + }, + "required": [ + "amount", + "inclusive", + "tax_rate", + "taxability_reason", + "taxable_amount" + ], + "type": "object", + "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.SetupFutureUsage": { + "stripe.Stripe.InvoiceLineItem.Type": { "type": "string", "enum": [ - "none", - "off_session", - "on_session" + "invoiceitem", + "subscription" ] }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card": { + "stripe.Stripe.InvoiceLineItem": { + "description": "Invoice Line Items represent the individual lines within an [invoice](https://stripe.com/docs/api/invoices) and only exist within the context of an invoice.\n\nEach line item is backed by either an [invoice item](https://stripe.com/docs/api/invoiceitems) or a [subscription item](https://stripe.com/docs/api/subscription_items).", "properties": { - "capture_method": { + "id": { + "type": "string", + "description": "Unique identifier for the object." + }, + "object": { "type": "string", "enum": [ - "manual" + "line_item" ], "nullable": false, - "description": "Controls when the funds will be captured from the customer's account." + "description": "String representing the object's type. Objects of the same type share the same value." }, - "installments": { - "allOf": [ + "amount": { + "type": "number", + "format": "double", + "description": "The amount, in cents (or local equivalent)." + }, + "amount_excluding_tax": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The integer amount in cents (or local equivalent) representing the amount for this line item, excluding all tax and discounts." + }, + "currency": { + "type": "string", + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." + }, + "description": { + "type": "string", + "nullable": true, + "description": "An arbitrary string attached to the object. Often useful for displaying to users." + }, + "discount_amounts": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.InvoiceLineItem.DiscountAmount" + }, + "type": "array", + "nullable": true, + "description": "The amount of discount calculated per discount for this line item." + }, + "discountable": { + "type": "boolean", + "description": "If true, discounts will apply to this line item. Always false for prorations." + }, + "discounts": { + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Discount" + } + ] + }, + "type": "array", + "description": "The discounts applied to the invoice line item. Line item discounts are applied before invoice discounts. Use `expand[]=discounts` to expand each discount." + }, + "invoice": { + "type": "string", + "nullable": true, + "description": "The ID of the invoice that contains this line item." + }, + "invoice_item": { + "anyOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.Installments" + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.InvoiceItem" } ], - "nullable": true, - "description": "Installment details for this payment (Mexico only).\n\nFor more information, see the [installments integration guide](https://stripe.com/docs/payments/installments)." + "description": "The ID of the [invoice item](https://stripe.com/docs/api/invoiceitems) associated with this line item if any." }, - "mandate_options": { + "livemode": { + "type": "boolean", + "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." + }, + "metadata": { + "$ref": "#/components/schemas/stripe.Stripe.Metadata", + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Note that for line items with `type=subscription`, `metadata` reflects the current metadata from the subscription associated with the line item, unless the invoice line was directly updated with different metadata after creation." + }, + "period": { + "$ref": "#/components/schemas/stripe.Stripe.InvoiceLineItem.Period" + }, + "plan": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.MandateOptions" + "$ref": "#/components/schemas/stripe.Stripe.Plan" } ], "nullable": true, - "description": "Configuration options for setting up an eMandate for cards issued in India." + "description": "The plan of the subscription, if the line item is a subscription or a proration." }, - "network": { + "pretax_credit_amounts": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.InvoiceLineItem.PretaxCreditAmount" + }, + "type": "array", + "nullable": true, + "description": "Contains pretax credit amounts (ex: discount, credit grants, etc) that apply to this line item." + }, + "price": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.Network" + "$ref": "#/components/schemas/stripe.Stripe.Price" } ], "nullable": true, - "description": "Selected network to process this payment intent on. Depends on the available networks of the card attached to the payment intent. Can be only set confirm-time." - }, - "request_extended_authorization": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.RequestExtendedAuthorization", - "description": "Request ability to [capture beyond the standard authorization validity window](https://stripe.com/docs/payments/extended-authorization) for this PaymentIntent." - }, - "request_incremental_authorization": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.RequestIncrementalAuthorization", - "description": "Request ability to [increment the authorization](https://stripe.com/docs/payments/incremental-authorization) for this PaymentIntent." - }, - "request_multicapture": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.RequestMulticapture", - "description": "Request ability to make [multiple captures](https://stripe.com/docs/payments/multicapture) for this PaymentIntent." + "description": "The price of the line item." }, - "request_overcapture": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.RequestOvercapture", - "description": "Request ability to [overcapture](https://stripe.com/docs/payments/overcapture) for this PaymentIntent." + "proration": { + "type": "boolean", + "description": "Whether this is a proration." }, - "request_three_d_secure": { + "proration_details": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.RequestThreeDSecure" + "$ref": "#/components/schemas/stripe.Stripe.InvoiceLineItem.ProrationDetails" } ], "nullable": true, - "description": "We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. If not provided, this value defaults to `automatic`. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine." - }, - "require_cvc_recollection": { - "type": "boolean", - "description": "When enabled, using a card that is attached to a customer will require the CVC to be provided again (i.e. using the cvc_token parameter)." + "description": "Additional details for proration line items" }, - "setup_future_usage": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.SetupFutureUsage", - "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + "quantity": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The quantity of the subscription, if the line item is a subscription or a proration." }, - "statement_descriptor_suffix_kana": { - "type": "string", - "description": "Provides information about a card payment that customers see on their statements. Concatenated with the Kana prefix (shortened Kana descriptor) or Kana statement descriptor that's set on the account to form the complete statement descriptor. Maximum 22 characters. On card statements, the *concatenation* of both prefix and suffix (including separators) will appear truncated to 22 characters." + "subscription": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Subscription" + } + ], + "nullable": true, + "description": "The subscription that the invoice item pertains to, if any." }, - "statement_descriptor_suffix_kanji": { - "type": "string", - "description": "Provides information about a card payment that customers see on their statements. Concatenated with the Kanji prefix (shortened Kanji descriptor) or Kanji statement descriptor that's set on the account to form the complete statement descriptor. Maximum 17 characters. On card statements, the *concatenation* of both prefix and suffix (including separators) will appear truncated to 17 characters." - } - }, - "required": [ - "installments", - "mandate_options", - "network", - "request_three_d_secure" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.CardPresent.Routing.RequestedPriority": { - "type": "string", - "enum": [ - "domestic", - "international" - ] - }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.CardPresent.Routing": { - "properties": { - "requested_priority": { - "allOf": [ + "subscription_item": { + "anyOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.CardPresent.Routing.RequestedPriority" + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.SubscriptionItem" } ], + "description": "The subscription item that generated this line item. Left empty if the line item is not an explicit result of a subscription." + }, + "tax_amounts": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.InvoiceLineItem.TaxAmount" + }, + "type": "array", + "description": "The amount of tax calculated per tax rate for this line item" + }, + "tax_rates": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.TaxRate" + }, + "type": "array", + "description": "The tax rates which apply to the line item." + }, + "type": { + "$ref": "#/components/schemas/stripe.Stripe.InvoiceLineItem.Type", + "description": "A string identifying the type of the source of this line item, either an `invoiceitem` or a `subscription`." + }, + "unit_amount_excluding_tax": { + "type": "string", "nullable": true, - "description": "Requested routing priority" + "description": "The amount in cents (or local equivalent) representing the unit amount for this line item, excluding all tax and discounts." } }, "required": [ - "requested_priority" + "id", + "object", + "amount", + "amount_excluding_tax", + "currency", + "description", + "discount_amounts", + "discountable", + "discounts", + "invoice", + "livemode", + "metadata", + "period", + "plan", + "pretax_credit_amounts", + "price", + "proration", + "proration_details", + "quantity", + "subscription", + "tax_amounts", + "tax_rates", + "type", + "unit_amount_excluding_tax" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.CardPresent": { + "stripe.Stripe.ApiList_stripe.Stripe.InvoiceLineItem_": { + "description": "A container for paginated lists of objects.\nThe array of objects is on the `.data` property,\nand `.has_more` indicates whether there are additional objects beyond the end of this list.\n\nLearn more in Stripe's [pagination docs](https://stripe.com/docs/api/pagination?lang=node)\nor, when iterating over many items, try [auto-pagination](https://github.com/stripe/stripe-node#auto-pagination) instead.", "properties": { - "request_extended_authorization": { - "type": "boolean", - "nullable": true, - "description": "Request ability to capture this payment beyond the standard [authorization validity window](https://stripe.com/docs/terminal/features/extended-authorizations#authorization-validity)" + "object": { + "type": "string", + "enum": [ + "list" + ], + "nullable": false }, - "request_incremental_authorization_support": { + "data": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.InvoiceLineItem" + }, + "type": "array" + }, + "has_more": { "type": "boolean", - "nullable": true, - "description": "Request ability to [increment](https://stripe.com/docs/terminal/features/incremental-authorizations) this PaymentIntent if the combination of MCC and card brand is eligible. Check [incremental_authorization_supported](https://stripe.com/docs/api/charges/object#charge_object-payment_method_details-card_present-incremental_authorization_supported) in the [Confirm](https://stripe.com/docs/api/payment_intents/confirm) response to verify support." + "description": "True if this list has another page of items after this one that can be fetched." }, - "routing": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.CardPresent.Routing" + "url": { + "type": "string", + "description": "The URL where this list can be accessed." } }, "required": [ - "request_extended_authorization", - "request_incremental_authorization_support" + "object", + "data", + "has_more", + "url" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Cashapp.SetupFutureUsage": { + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.AcssDebit.MandateOptions.TransactionType": { "type": "string", "enum": [ - "none", - "off_session", - "on_session" + "business", + "personal" ] }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Cashapp": { + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.AcssDebit.MandateOptions": { "properties": { - "capture_method": { - "type": "string", - "enum": [ - "manual" + "transaction_type": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.AcssDebit.MandateOptions.TransactionType" + } ], - "nullable": false, - "description": "Controls when the funds will be captured from the customer's account." - }, - "setup_future_usage": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Cashapp.SetupFutureUsage", - "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + "nullable": true, + "description": "Transaction type of the mandate." } }, + "required": [ + "transaction_type" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer.Country": { + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.AcssDebit.VerificationMethod": { "type": "string", "enum": [ - "BE", - "DE", - "ES", - "FR", - "IE", - "NL" + "automatic", + "instant", + "microdeposits" ] }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer": { + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.AcssDebit": { "properties": { - "country": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer.Country", - "description": "The desired country code of the bank account information. Permitted values include: `BE`, `DE`, `ES`, `FR`, `IE`, or `NL`." + "mandate_options": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.AcssDebit.MandateOptions" + }, + "verification_method": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.AcssDebit.VerificationMethod", + "description": "Bank account verification method." } }, - "required": [ - "country" - ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance.BankTransfer.RequestedAddressType": { - "type": "string", - "enum": [ - "aba", - "iban", - "sepa", - "sort_code", - "spei", - "swift", - "zengin" - ] - }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance.BankTransfer.Type": { + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Bancontact.PreferredLanguage": { "type": "string", "enum": [ - "eu_bank_transfer", - "gb_bank_transfer", - "jp_bank_transfer", - "mx_bank_transfer", - "us_bank_transfer" + "de", + "en", + "fr", + "nl" ] }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance.BankTransfer": { + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Bancontact": { "properties": { - "eu_bank_transfer": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer" - }, - "requested_address_types": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance.BankTransfer.RequestedAddressType" - }, - "type": "array", - "description": "List of address types that should be returned in the financial_addresses response. If not specified, all valid types will be returned.\n\nPermitted values include: `sort_code`, `zengin`, `iban`, or `spei`." - }, - "type": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance.BankTransfer.Type" - } - ], - "nullable": true, - "description": "The bank transfer type that this PaymentIntent is allowed to use for funding Permitted values include: `eu_bank_transfer`, `gb_bank_transfer`, `jp_bank_transfer`, `mx_bank_transfer`, or `us_bank_transfer`." + "preferred_language": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Bancontact.PreferredLanguage", + "description": "Preferred language of the Bancontact authorization page that the customer is redirected to." } }, "required": [ - "type" + "preferred_language" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance": { + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Card.Installments": { "properties": { - "bank_transfer": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance.BankTransfer" - }, - "funding_type": { - "type": "string", - "enum": [ - "bank_transfer", - null - ], + "enabled": { + "type": "boolean", "nullable": true, - "description": "The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`." - }, - "setup_future_usage": { - "type": "string", - "enum": [ - "none" - ], - "nullable": false, - "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + "description": "Whether Installments are enabled for this Invoice." } }, "required": [ - "funding_type" + "enabled" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Eps": { - "properties": { - "setup_future_usage": { - "type": "string", - "enum": [ - "none" - ], - "nullable": false, - "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." - } - }, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Fpx": { - "properties": { - "setup_future_usage": { - "type": "string", - "enum": [ - "none" - ], - "nullable": false, - "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." - } - }, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Giropay": { - "properties": { - "setup_future_usage": { - "type": "string", - "enum": [ - "none" - ], - "nullable": false, - "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." - } - }, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Grabpay": { - "properties": { - "setup_future_usage": { - "type": "string", - "enum": [ - "none" - ], - "nullable": false, - "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." - } - }, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Ideal.SetupFutureUsage": { + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Card.RequestThreeDSecure": { "type": "string", "enum": [ - "none", - "off_session" + "any", + "automatic", + "challenge" ] }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Ideal": { + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Card": { "properties": { - "setup_future_usage": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Ideal.SetupFutureUsage", - "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + "installments": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Card.Installments" + }, + "request_three_d_secure": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Card.RequestThreeDSecure" + } + ], + "nullable": true, + "description": "We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine." } }, + "required": [ + "request_three_d_secure" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.InteracPresent": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.KakaoPay.SetupFutureUsage": { + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer.Country": { "type": "string", "enum": [ - "none", - "off_session" + "BE", + "DE", + "ES", + "FR", + "IE", + "NL" ] }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.KakaoPay": { + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer": { "properties": { - "capture_method": { - "type": "string", - "enum": [ - "manual" - ], - "nullable": false, - "description": "Controls when the funds will be captured from the customer's account." - }, - "setup_future_usage": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.KakaoPay.SetupFutureUsage", - "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + "country": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer.Country", + "description": "The desired country code of the bank account information. Permitted values include: `BE`, `DE`, `ES`, `FR`, `IE`, or `NL`." } }, + "required": [ + "country" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Klarna": { + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer": { "properties": { - "capture_method": { - "type": "string", - "enum": [ - "manual" - ], - "nullable": false, - "description": "Controls when the funds will be captured from the customer's account." + "eu_bank_transfer": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer" }, - "preferred_locale": { + "type": { "type": "string", "nullable": true, - "description": "Preferred locale of the Klarna checkout page that the customer is redirected to." - }, - "setup_future_usage": { - "type": "string", - "enum": [ - "none" - ], - "nullable": false, - "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + "description": "The bank transfer type that can be used for funding. Permitted values include: `eu_bank_transfer`, `gb_bank_transfer`, `jp_bank_transfer`, `mx_bank_transfer`, or `us_bank_transfer`." } }, "required": [ - "preferred_locale" + "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Konbini": { + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.CustomerBalance": { "properties": { - "confirmation_number": { - "type": "string", - "nullable": true, - "description": "An optional 10 to 11 digit numeric-only string determining the confirmation code at applicable convenience stores." - }, - "expires_after_days": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The number of calendar days (between 1 and 60) after which Konbini payment instructions will expire. For example, if a PaymentIntent is confirmed with Konbini and `expires_after_days` set to 2 on Monday JST, the instructions will expire on Wednesday 23:59:59 JST." - }, - "expires_at": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The timestamp at which the Konbini payment instructions will expire. Only one of `expires_after_days` or `expires_at` may be set." - }, - "product_description": { - "type": "string", - "nullable": true, - "description": "A product descriptor of up to 22 characters, which will appear to customers at the convenience store." + "bank_transfer": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer" }, - "setup_future_usage": { + "funding_type": { "type": "string", "enum": [ - "none" + "bank_transfer", + null ], - "nullable": false, - "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + "nullable": true, + "description": "The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`." } }, "required": [ - "confirmation_number", - "expires_after_days", - "expires_at", - "product_description" + "funding_type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.KrCard.SetupFutureUsage": { + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Konbini": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.SepaDebit": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters.AccountSubcategory": { "type": "string", "enum": [ - "none", - "off_session" + "checking", + "savings" ] }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.KrCard": { + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters": { "properties": { - "capture_method": { - "type": "string", - "enum": [ - "manual" - ], - "nullable": false, - "description": "Controls when the funds will be captured from the customer's account." - }, - "setup_future_usage": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.KrCard.SetupFutureUsage", - "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + "account_subcategories": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters.AccountSubcategory" + }, + "type": "array", + "description": "The account subcategories to use to filter for possible accounts to link. Valid subcategories are `checking` and `savings`." } }, "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Link.SetupFutureUsage": { + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Permission": { "type": "string", "enum": [ - "none", - "off_session" + "balances", + "ownership", + "payment_method", + "transactions" ] }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Link": { + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Prefetch": { + "type": "string", + "enum": [ + "balances", + "ownership", + "transactions" + ] + }, + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections": { "properties": { - "capture_method": { - "type": "string", - "enum": [ - "manual" - ], - "nullable": false, - "description": "Controls when the funds will be captured from the customer's account." + "filters": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters" }, - "persistent_token": { - "type": "string", - "nullable": true, - "description": "[Deprecated] This is a legacy parameter that no longer has any function.", - "deprecated": true + "permissions": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Permission" + }, + "type": "array", + "description": "The list of permissions to request. The `payment_method` permission must be included." }, - "setup_future_usage": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Link.SetupFutureUsage", - "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + "prefetch": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Prefetch" + }, + "type": "array", + "nullable": true, + "description": "Data features requested to be retrieved upon account creation." } }, "required": [ - "persistent_token" + "prefetch" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Mobilepay": { + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.VerificationMethod": { + "type": "string", + "enum": [ + "automatic", + "instant", + "microdeposits" + ] + }, + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount": { "properties": { - "capture_method": { - "type": "string", - "enum": [ - "manual" - ], - "nullable": false, - "description": "Controls when the funds will be captured from the customer's account." + "financial_connections": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections" }, - "setup_future_usage": { - "type": "string", - "enum": [ - "none" - ], - "nullable": false, - "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + "verification_method": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount.VerificationMethod", + "description": "Bank account verification method." } }, "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Multibanco": { + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions": { "properties": { - "setup_future_usage": { - "type": "string", - "enum": [ - "none" + "acss_debit": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.AcssDebit" + } ], - "nullable": false, - "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." - } - }, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.NaverPay": { - "properties": { - "capture_method": { - "type": "string", - "enum": [ - "manual" + "nullable": true, + "description": "If paying by `acss_debit`, this sub-hash contains details about the Canadian pre-authorized debit payment method options to pass to the invoice's PaymentIntent." + }, + "bancontact": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Bancontact" + } ], - "nullable": false, - "description": "Controls when the funds will be captured from the customer's account." - } - }, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Oxxo": { - "properties": { - "expires_after_days": { - "type": "number", - "format": "double", - "description": "The number of calendar days before an OXXO invoice expires. For example, if you create an OXXO invoice on Monday and you set expires_after_days to 2, the OXXO invoice will expire on Wednesday at 23:59 America/Mexico_City time." + "nullable": true, + "description": "If paying by `bancontact`, this sub-hash contains details about the Bancontact payment method options to pass to the invoice's PaymentIntent." }, - "setup_future_usage": { - "type": "string", - "enum": [ - "none" + "card": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Card" + } ], - "nullable": false, - "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + "nullable": true, + "description": "If paying by `card`, this sub-hash contains details about the Card payment method options to pass to the invoice's PaymentIntent." + }, + "customer_balance": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.CustomerBalance" + } + ], + "nullable": true, + "description": "If paying by `customer_balance`, this sub-hash contains details about the Bank transfer payment method options to pass to the invoice's PaymentIntent." + }, + "konbini": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.Konbini" + } + ], + "nullable": true, + "description": "If paying by `konbini`, this sub-hash contains details about the Konbini payment method options to pass to the invoice's PaymentIntent." + }, + "sepa_debit": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.SepaDebit" + } + ], + "nullable": true, + "description": "If paying by `sepa_debit`, this sub-hash contains details about the SEPA Direct Debit payment method options to pass to the invoice's PaymentIntent." + }, + "us_bank_account": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions.UsBankAccount" + } + ], + "nullable": true, + "description": "If paying by `us_bank_account`, this sub-hash contains details about the ACH direct debit payment method options to pass to the invoice's PaymentIntent." } }, "required": [ - "expires_after_days" + "acss_debit", + "bancontact", + "card", + "customer_balance", + "konbini", + "sepa_debit", + "us_bank_account" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.P24": { + "stripe.Stripe.Invoice.PaymentSettings.PaymentMethodType": { + "type": "string", + "enum": [ + "ach_credit_transfer", + "ach_debit", + "acss_debit", + "amazon_pay", + "au_becs_debit", + "bacs_debit", + "bancontact", + "boleto", + "card", + "cashapp", + "customer_balance", + "eps", + "fpx", + "giropay", + "grabpay", + "ideal", + "jp_credit_transfer", + "kakao_pay", + "konbini", + "kr_card", + "link", + "multibanco", + "naver_pay", + "p24", + "payco", + "paynow", + "paypal", + "promptpay", + "revolut_pay", + "sepa_credit_transfer", + "sepa_debit", + "sofort", + "swish", + "us_bank_account", + "wechat_pay" + ] + }, + "stripe.Stripe.Invoice.PaymentSettings": { "properties": { - "setup_future_usage": { + "default_mandate": { "type": "string", - "enum": [ - "none" + "nullable": true, + "description": "ID of the mandate to be used for this invoice. It must correspond to the payment method used to pay the invoice, including the invoice's default_payment_method or default_source, if set." + }, + "payment_method_options": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodOptions" + } ], - "nullable": false, - "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + "nullable": true, + "description": "Payment-method-specific configuration to provide to the invoice's PaymentIntent." + }, + "payment_method_types": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings.PaymentMethodType" + }, + "type": "array", + "nullable": true, + "description": "The list of payment method types (e.g. card) to provide to the invoice's PaymentIntent. If not set, Stripe attempts to automatically determine the types to use by looking at the invoice's default payment method, the subscription's default payment method, the customer's default payment method, and your [invoice template settings](https://dashboard.stripe.com/settings/billing/invoice)." } }, + "required": [ + "default_mandate", + "payment_method_options", + "payment_method_types" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.PayByBank": { - "properties": {}, - "type": "object", - "additionalProperties": false + "stripe.Stripe.Quote.AutomaticTax.Liability.Type": { + "type": "string", + "enum": [ + "account", + "self" + ] }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Payco": { + "stripe.Stripe.Quote.AutomaticTax.Liability": { "properties": { - "capture_method": { - "type": "string", - "enum": [ - "manual" + "account": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Account" + } ], - "nullable": false, - "description": "Controls when the funds will be captured from the customer's account." + "description": "The connected account being referenced when `type` is `account`." + }, + "type": { + "$ref": "#/components/schemas/stripe.Stripe.Quote.AutomaticTax.Liability.Type", + "description": "Type of the account referenced." } }, + "required": [ + "type" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Paynow": { + "stripe.Stripe.Quote.AutomaticTax.Status": { + "type": "string", + "enum": [ + "complete", + "failed", + "requires_location_inputs" + ] + }, + "stripe.Stripe.Quote.AutomaticTax": { "properties": { - "setup_future_usage": { - "type": "string", - "enum": [ - "none" + "enabled": { + "type": "boolean", + "description": "Automatically calculate taxes" + }, + "liability": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Quote.AutomaticTax.Liability" + } ], - "nullable": false, - "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + "nullable": true, + "description": "The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account." + }, + "status": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Quote.AutomaticTax.Status" + } + ], + "nullable": true, + "description": "The status of the most recent automated tax calculation for this quote." } }, + "required": [ + "enabled", + "liability", + "status" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Paypal.SetupFutureUsage": { + "stripe.Stripe.Quote.CollectionMethod": { "type": "string", "enum": [ - "none", - "off_session" + "charge_automatically", + "send_invoice" ] }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Paypal": { - "properties": { - "capture_method": { - "type": "string", - "enum": [ - "manual" - ], - "nullable": false, - "description": "Controls when the funds will be captured from the customer's account." - }, - "preferred_locale": { - "type": "string", - "nullable": true, - "description": "Preferred locale of the PayPal checkout page that the customer is redirected to." - }, - "reference": { - "type": "string", - "nullable": true, - "description": "A reference of the PayPal transaction visible to customer which is mapped to PayPal's invoice ID. This must be a globally unique ID if you have configured in your PayPal settings to block multiple payments per invoice ID." + "stripe.Stripe.Quote.Computed.Recurring.Interval": { + "type": "string", + "enum": [ + "day", + "month", + "week", + "year" + ] + }, + "stripe.Stripe.Quote.Computed.Recurring.TotalDetails.Breakdown.Discount": { + "properties": { + "amount": { + "type": "number", + "format": "double", + "description": "The amount discounted." }, - "setup_future_usage": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Paypal.SetupFutureUsage", - "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + "discount": { + "$ref": "#/components/schemas/stripe.Stripe.Discount", + "description": "A discount represents the actual application of a [coupon](https://stripe.com/docs/api#coupons) or [promotion code](https://stripe.com/docs/api#promotion_codes).\nIt contains information about when the discount began, when it will end, and what it is applied to.\n\nRelated guide: [Applying discounts to subscriptions](https://stripe.com/docs/billing/subscriptions/discounts)" } }, "required": [ - "preferred_locale", - "reference" + "amount", + "discount" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Pix": { + "stripe.Stripe.Quote.Computed.Recurring.TotalDetails.Breakdown.Tax.TaxabilityReason": { + "type": "string", + "enum": [ + "customer_exempt", + "not_collecting", + "not_subject_to_tax", + "not_supported", + "portion_product_exempt", + "portion_reduced_rated", + "portion_standard_rated", + "product_exempt", + "product_exempt_holiday", + "proportionally_rated", + "reduced_rated", + "reverse_charge", + "standard_rated", + "taxable_basis_reduced", + "zero_rated" + ] + }, + "stripe.Stripe.Quote.Computed.Recurring.TotalDetails.Breakdown.Tax": { "properties": { - "expires_after_seconds": { + "amount": { "type": "number", "format": "double", + "description": "Amount of tax applied for this rate." + }, + "rate": { + "$ref": "#/components/schemas/stripe.Stripe.TaxRate", + "description": "Tax rates can be applied to [invoices](https://stripe.com/invoicing/taxes/tax-rates), [subscriptions](https://stripe.com/billing/taxes/tax-rates) and [Checkout Sessions](https://stripe.com/payments/checkout/use-manual-tax-rates) to collect tax.\n\nRelated guide: [Tax rates](https://stripe.com/billing/taxes/tax-rates)" + }, + "taxability_reason": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Quote.Computed.Recurring.TotalDetails.Breakdown.Tax.TaxabilityReason" + } + ], "nullable": true, - "description": "The number of seconds (between 10 and 1209600) after which Pix payment will expire." + "description": "The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported." }, - "expires_at": { + "taxable_amount": { "type": "number", "format": "double", "nullable": true, - "description": "The timestamp at which the Pix expires." - }, - "setup_future_usage": { - "type": "string", - "enum": [ - "none" - ], - "nullable": false, - "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + "description": "The amount on which tax is calculated, in cents (or local equivalent)." } }, "required": [ - "expires_after_seconds", - "expires_at" + "amount", + "rate", + "taxability_reason", + "taxable_amount" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Promptpay": { + "stripe.Stripe.Quote.Computed.Recurring.TotalDetails.Breakdown": { "properties": { - "setup_future_usage": { - "type": "string", - "enum": [ - "none" - ], - "nullable": false, - "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + "discounts": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Quote.Computed.Recurring.TotalDetails.Breakdown.Discount" + }, + "type": "array", + "description": "The aggregated discounts." + }, + "taxes": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Quote.Computed.Recurring.TotalDetails.Breakdown.Tax" + }, + "type": "array", + "description": "The aggregated tax amounts by rate." } }, + "required": [ + "discounts", + "taxes" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.RevolutPay.SetupFutureUsage": { - "type": "string", - "enum": [ - "none", - "off_session" - ] - }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.RevolutPay": { + "stripe.Stripe.Quote.Computed.Recurring.TotalDetails": { "properties": { - "capture_method": { - "type": "string", - "enum": [ - "manual" - ], - "nullable": false, - "description": "Controls when the funds will be captured from the customer's account." + "amount_discount": { + "type": "number", + "format": "double", + "description": "This is the sum of all the discounts." }, - "setup_future_usage": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.RevolutPay.SetupFutureUsage", - "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + "amount_shipping": { + "type": "number", + "format": "double", + "nullable": true, + "description": "This is the sum of all the shipping amounts." + }, + "amount_tax": { + "type": "number", + "format": "double", + "description": "This is the sum of all the tax amounts." + }, + "breakdown": { + "$ref": "#/components/schemas/stripe.Stripe.Quote.Computed.Recurring.TotalDetails.Breakdown" } }, + "required": [ + "amount_discount", + "amount_shipping", + "amount_tax" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.SamsungPay": { + "stripe.Stripe.Quote.Computed.Recurring": { "properties": { - "capture_method": { - "type": "string", - "enum": [ - "manual" - ], - "nullable": false, - "description": "Controls when the funds will be captured from the customer's account." + "amount_subtotal": { + "type": "number", + "format": "double", + "description": "Total before any discounts or taxes are applied." + }, + "amount_total": { + "type": "number", + "format": "double", + "description": "Total after discounts and taxes are applied." + }, + "interval": { + "$ref": "#/components/schemas/stripe.Stripe.Quote.Computed.Recurring.Interval", + "description": "The frequency at which a subscription is billed. One of `day`, `week`, `month` or `year`." + }, + "interval_count": { + "type": "number", + "format": "double", + "description": "The number of intervals (specified in the `interval` attribute) between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months." + }, + "total_details": { + "$ref": "#/components/schemas/stripe.Stripe.Quote.Computed.Recurring.TotalDetails" } }, + "required": [ + "amount_subtotal", + "amount_total", + "interval", + "interval_count", + "total_details" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.SepaDebit.MandateOptions": { + "stripe.Stripe.LineItem.Discount": { "properties": { - "reference_prefix": { - "type": "string", - "description": "Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'STRIPE'." + "amount": { + "type": "number", + "format": "double", + "description": "The amount discounted." + }, + "discount": { + "$ref": "#/components/schemas/stripe.Stripe.Discount", + "description": "A discount represents the actual application of a [coupon](https://stripe.com/docs/api#coupons) or [promotion code](https://stripe.com/docs/api#promotion_codes).\nIt contains information about when the discount began, when it will end, and what it is applied to.\n\nRelated guide: [Applying discounts to subscriptions](https://stripe.com/docs/billing/subscriptions/discounts)" } }, + "required": [ + "amount", + "discount" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.SepaDebit.SetupFutureUsage": { + "stripe.Stripe.LineItem.Tax.TaxabilityReason": { "type": "string", "enum": [ - "none", - "off_session", - "on_session" + "customer_exempt", + "not_collecting", + "not_subject_to_tax", + "not_supported", + "portion_product_exempt", + "portion_reduced_rated", + "portion_standard_rated", + "product_exempt", + "product_exempt_holiday", + "proportionally_rated", + "reduced_rated", + "reverse_charge", + "standard_rated", + "taxable_basis_reduced", + "zero_rated" ] }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.SepaDebit": { + "stripe.Stripe.LineItem.Tax": { "properties": { - "mandate_options": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.SepaDebit.MandateOptions" + "amount": { + "type": "number", + "format": "double", + "description": "Amount of tax applied for this rate." }, - "setup_future_usage": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.SepaDebit.SetupFutureUsage", - "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + "rate": { + "$ref": "#/components/schemas/stripe.Stripe.TaxRate", + "description": "Tax rates can be applied to [invoices](https://stripe.com/invoicing/taxes/tax-rates), [subscriptions](https://stripe.com/billing/taxes/tax-rates) and [Checkout Sessions](https://stripe.com/payments/checkout/use-manual-tax-rates) to collect tax.\n\nRelated guide: [Tax rates](https://stripe.com/billing/taxes/tax-rates)" }, - "target_date": { - "type": "string", - "description": "Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now." - } - }, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Sofort.PreferredLanguage": { - "type": "string", - "enum": [ - "de", - "en", - "es", - "fr", - "it", - "nl", - "pl" - ] - }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Sofort.SetupFutureUsage": { - "type": "string", - "enum": [ - "none", - "off_session" - ] - }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Sofort": { - "properties": { - "preferred_language": { + "taxability_reason": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Sofort.PreferredLanguage" + "$ref": "#/components/schemas/stripe.Stripe.LineItem.Tax.TaxabilityReason" } ], "nullable": true, - "description": "Preferred language of the SOFORT authorization page that the customer is redirected to." + "description": "The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported." }, - "setup_future_usage": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Sofort.SetupFutureUsage", - "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + "taxable_amount": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The amount on which tax is calculated, in cents (or local equivalent)." } }, "required": [ - "preferred_language" + "amount", + "rate", + "taxability_reason", + "taxable_amount" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Swish": { + "stripe.Stripe.LineItem": { + "description": "A line item.", "properties": { - "reference": { + "id": { "type": "string", - "nullable": true, - "description": "A reference for this payment to be displayed in the Swish app." + "description": "Unique identifier for the object." }, - "setup_future_usage": { + "object": { "type": "string", "enum": [ - "none" + "item" ], "nullable": false, - "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." - } - }, - "required": [ - "reference" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Twint": { - "properties": { - "setup_future_usage": { + "description": "String representing the object's type. Objects of the same type share the same value." + }, + "amount_discount": { + "type": "number", + "format": "double", + "description": "Total discount amount applied. If no discounts were applied, defaults to 0." + }, + "amount_subtotal": { + "type": "number", + "format": "double", + "description": "Total before any discounts or taxes are applied." + }, + "amount_tax": { + "type": "number", + "format": "double", + "description": "Total tax amount applied. If no tax was applied, defaults to 0." + }, + "amount_total": { + "type": "number", + "format": "double", + "description": "Total after discounts and taxes." + }, + "currency": { "type": "string", - "enum": [ - "none" - ], - "nullable": false, - "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." - } - }, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters.AccountSubcategory": { - "type": "string", - "enum": [ - "checking", - "savings" - ] - }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters": { - "properties": { - "account_subcategories": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters.AccountSubcategory" - }, - "type": "array", - "description": "The account subcategories to use to filter for possible accounts to link. Valid subcategories are `checking` and `savings`." - } - }, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Permission": { - "type": "string", - "enum": [ - "balances", - "ownership", - "payment_method", - "transactions" - ] - }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Prefetch": { - "type": "string", - "enum": [ - "balances", - "ownership", - "transactions" - ] - }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections": { - "properties": { - "filters": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters" + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." }, - "permissions": { + "description": { + "type": "string", + "nullable": true, + "description": "An arbitrary string attached to the object. Often useful for displaying to users. Defaults to product name." + }, + "discounts": { "items": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Permission" + "$ref": "#/components/schemas/stripe.Stripe.LineItem.Discount" }, "type": "array", - "description": "The list of permissions to request. The `payment_method` permission must be included." + "description": "The discounts applied to the line item." }, - "prefetch": { + "price": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Price" + } + ], + "nullable": true, + "description": "The price used to generate the line item." + }, + "quantity": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The quantity of products being purchased." + }, + "taxes": { "items": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Prefetch" + "$ref": "#/components/schemas/stripe.Stripe.LineItem.Tax" }, "type": "array", - "nullable": true, - "description": "Data features requested to be retrieved upon account creation." - }, - "return_url": { - "type": "string", - "description": "For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app." + "description": "The taxes applied to the line item." } }, "required": [ - "prefetch" + "id", + "object", + "amount_discount", + "amount_subtotal", + "amount_tax", + "amount_total", + "currency", + "description", + "price", + "quantity" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.MandateOptions": { + "stripe.Stripe.ApiList_stripe.Stripe.LineItem_": { + "description": "A container for paginated lists of objects.\nThe array of objects is on the `.data` property,\nand `.has_more` indicates whether there are additional objects beyond the end of this list.\n\nLearn more in Stripe's [pagination docs](https://stripe.com/docs/api/pagination?lang=node)\nor, when iterating over many items, try [auto-pagination](https://github.com/stripe/stripe-node#auto-pagination) instead.", "properties": { - "collection_method": { + "object": { "type": "string", "enum": [ - "paper" + "list" ], - "nullable": false, - "description": "Mandate collection method" + "nullable": false + }, + "data": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.LineItem" + }, + "type": "array" + }, + "has_more": { + "type": "boolean", + "description": "True if this list has another page of items after this one that can be fetched." + }, + "url": { + "type": "string", + "description": "The URL where this list can be accessed." } }, + "required": [ + "object", + "data", + "has_more", + "url" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.PreferredSettlementSpeed": { - "type": "string", - "enum": [ - "fastest", - "standard" - ] - }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.SetupFutureUsage": { - "type": "string", - "enum": [ - "none", - "off_session", - "on_session" - ] - }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.VerificationMethod": { - "type": "string", - "enum": [ - "automatic", - "instant", - "microdeposits" - ] - }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount": { + "stripe.Stripe.Quote.Computed.Upfront.TotalDetails.Breakdown.Discount": { "properties": { - "financial_connections": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections" - }, - "mandate_options": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.MandateOptions" - }, - "preferred_settlement_speed": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.PreferredSettlementSpeed", - "description": "Preferred transaction settlement speed" - }, - "setup_future_usage": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.SetupFutureUsage", - "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." - }, - "target_date": { - "type": "string", - "description": "Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now." + "amount": { + "type": "number", + "format": "double", + "description": "The amount discounted." }, - "verification_method": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.VerificationMethod", - "description": "Bank account verification method." + "discount": { + "$ref": "#/components/schemas/stripe.Stripe.Discount", + "description": "A discount represents the actual application of a [coupon](https://stripe.com/docs/api#coupons) or [promotion code](https://stripe.com/docs/api#promotion_codes).\nIt contains information about when the discount began, when it will end, and what it is applied to.\n\nRelated guide: [Applying discounts to subscriptions](https://stripe.com/docs/billing/subscriptions/discounts)" } }, + "required": [ + "amount", + "discount" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.WechatPay.Client": { + "stripe.Stripe.Quote.Computed.Upfront.TotalDetails.Breakdown.Tax.TaxabilityReason": { "type": "string", "enum": [ - "android", - "ios", - "web" + "customer_exempt", + "not_collecting", + "not_subject_to_tax", + "not_supported", + "portion_product_exempt", + "portion_reduced_rated", + "portion_standard_rated", + "product_exempt", + "product_exempt_holiday", + "proportionally_rated", + "reduced_rated", + "reverse_charge", + "standard_rated", + "taxable_basis_reduced", + "zero_rated" ] }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.WechatPay": { + "stripe.Stripe.Quote.Computed.Upfront.TotalDetails.Breakdown.Tax": { "properties": { - "app_id": { - "type": "string", - "nullable": true, - "description": "The app ID registered with WeChat Pay. Only required when client is ios or android." + "amount": { + "type": "number", + "format": "double", + "description": "Amount of tax applied for this rate." }, - "client": { + "rate": { + "$ref": "#/components/schemas/stripe.Stripe.TaxRate", + "description": "Tax rates can be applied to [invoices](https://stripe.com/invoicing/taxes/tax-rates), [subscriptions](https://stripe.com/billing/taxes/tax-rates) and [Checkout Sessions](https://stripe.com/payments/checkout/use-manual-tax-rates) to collect tax.\n\nRelated guide: [Tax rates](https://stripe.com/billing/taxes/tax-rates)" + }, + "taxability_reason": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.WechatPay.Client" + "$ref": "#/components/schemas/stripe.Stripe.Quote.Computed.Upfront.TotalDetails.Breakdown.Tax.TaxabilityReason" } ], "nullable": true, - "description": "The client type that the end customer will pay from" + "description": "The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported." }, - "setup_future_usage": { - "type": "string", - "enum": [ - "none" - ], - "nullable": false, - "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + "taxable_amount": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The amount on which tax is calculated, in cents (or local equivalent)." } }, "required": [ - "app_id", - "client" + "amount", + "rate", + "taxability_reason", + "taxable_amount" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Zip": { + "stripe.Stripe.Quote.Computed.Upfront.TotalDetails.Breakdown": { "properties": { - "setup_future_usage": { - "type": "string", - "enum": [ - "none" - ], - "nullable": false, - "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + "discounts": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Quote.Computed.Upfront.TotalDetails.Breakdown.Discount" + }, + "type": "array", + "description": "The aggregated discounts." + }, + "taxes": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Quote.Computed.Upfront.TotalDetails.Breakdown.Tax" + }, + "type": "array", + "description": "The aggregated tax amounts by rate." } }, + "required": [ + "discounts", + "taxes" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.PaymentMethodOptions": { + "stripe.Stripe.Quote.Computed.Upfront.TotalDetails": { "properties": { - "acss_debit": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit" - }, - "affirm": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Affirm" - }, - "afterpay_clearpay": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.AfterpayClearpay" - }, - "alipay": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Alipay" - }, - "alma": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Alma" - }, - "amazon_pay": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.AmazonPay" - }, - "au_becs_debit": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.AuBecsDebit" - }, - "bacs_debit": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.BacsDebit" - }, - "bancontact": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Bancontact" - }, - "blik": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Blik" - }, - "boleto": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Boleto" - }, - "card": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card" - }, - "card_present": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.CardPresent" - }, - "cashapp": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Cashapp" - }, - "customer_balance": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance" - }, - "eps": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Eps" - }, - "fpx": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Fpx" - }, - "giropay": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Giropay" - }, - "grabpay": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Grabpay" - }, - "ideal": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Ideal" - }, - "interac_present": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.InteracPresent" - }, - "kakao_pay": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.KakaoPay" - }, - "klarna": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Klarna" - }, - "konbini": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Konbini" - }, - "kr_card": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.KrCard" - }, - "link": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Link" - }, - "mobilepay": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Mobilepay" - }, - "multibanco": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Multibanco" - }, - "naver_pay": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.NaverPay" - }, - "oxxo": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Oxxo" - }, - "p24": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.P24" - }, - "pay_by_bank": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.PayByBank" - }, - "payco": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Payco" - }, - "paynow": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Paynow" - }, - "paypal": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Paypal" - }, - "pix": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Pix" - }, - "promptpay": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Promptpay" - }, - "revolut_pay": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.RevolutPay" - }, - "samsung_pay": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.SamsungPay" - }, - "sepa_debit": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.SepaDebit" - }, - "sofort": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Sofort" - }, - "swish": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Swish" - }, - "twint": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Twint" + "amount_discount": { + "type": "number", + "format": "double", + "description": "This is the sum of all the discounts." }, - "us_bank_account": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount" + "amount_shipping": { + "type": "number", + "format": "double", + "nullable": true, + "description": "This is the sum of all the shipping amounts." }, - "wechat_pay": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.WechatPay" + "amount_tax": { + "type": "number", + "format": "double", + "description": "This is the sum of all the tax amounts." }, - "zip": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Zip" + "breakdown": { + "$ref": "#/components/schemas/stripe.Stripe.Quote.Computed.Upfront.TotalDetails.Breakdown" } }, + "required": [ + "amount_discount", + "amount_shipping", + "amount_tax" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.Processing.Card.CustomerNotification": { + "stripe.Stripe.Quote.Computed.Upfront": { "properties": { - "approval_requested": { - "type": "boolean", - "nullable": true, - "description": "Whether customer approval has been requested for this payment. For payments greater than INR 15000 or mandate amount, the customer must provide explicit approval of the payment with their bank." + "amount_subtotal": { + "type": "number", + "format": "double", + "description": "Total before any discounts or taxes are applied." }, - "completes_at": { + "amount_total": { "type": "number", "format": "double", - "nullable": true, - "description": "If customer approval is required, they need to provide approval before this time." + "description": "Total after discounts and taxes are applied." + }, + "line_items": { + "$ref": "#/components/schemas/stripe.Stripe.ApiList_stripe.Stripe.LineItem_", + "description": "The line items that will appear on the next invoice after this quote is accepted. This does not include pending invoice items that exist on the customer but may still be included in the next invoice." + }, + "total_details": { + "$ref": "#/components/schemas/stripe.Stripe.Quote.Computed.Upfront.TotalDetails" } }, "required": [ - "approval_requested", - "completes_at" + "amount_subtotal", + "amount_total", + "total_details" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.Processing.Card": { + "stripe.Stripe.Quote.Computed": { "properties": { - "customer_notification": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.Processing.Card.CustomerNotification" + "recurring": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Quote.Computed.Recurring" + } + ], + "nullable": true, + "description": "The definitive totals and line items the customer will be charged on a recurring basis. Takes into account the line items with recurring prices and discounts with `duration=forever` coupons only. Defaults to `null` if no inputted line items with recurring prices." + }, + "upfront": { + "$ref": "#/components/schemas/stripe.Stripe.Quote.Computed.Upfront" } }, + "required": [ + "recurring", + "upfront" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentIntent.Processing": { + "stripe.Stripe.Quote": { + "description": "A Quote is a way to model prices that you'd like to provide to a customer.\nOnce accepted, it will automatically create an invoice, subscription or subscription schedule.", "properties": { - "card": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.Processing.Card" + "id": { + "type": "string", + "description": "Unique identifier for the object." }, - "type": { + "object": { "type": "string", "enum": [ - "card" + "quote" ], "nullable": false, - "description": "Type of the payment method for which payment is in `processing` state, one of `card`." - } - }, - "required": [ - "type" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentIntent.SetupFutureUsage": { - "type": "string", - "enum": [ - "off_session", - "on_session" - ] - }, - "stripe.Stripe.PaymentIntent.Shipping": { - "properties": { - "address": { - "$ref": "#/components/schemas/stripe.Stripe.Address" + "description": "String representing the object's type. Objects of the same type share the same value." }, - "carrier": { - "type": "string", - "nullable": true, - "description": "The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc." + "amount_subtotal": { + "type": "number", + "format": "double", + "description": "Total before any discounts or taxes are applied." }, - "name": { - "type": "string", - "description": "Recipient name." + "amount_total": { + "type": "number", + "format": "double", + "description": "Total after discounts and taxes are applied." }, - "phone": { - "type": "string", + "application": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Application" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedApplication" + } + ], "nullable": true, - "description": "Recipient phone (including extension)." + "description": "ID of the Connect Application that created the quote." }, - "tracking_number": { - "type": "string", + "application_fee_amount": { + "type": "number", + "format": "double", "nullable": true, - "description": "The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas." - } - }, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.DeletedCustomerSource": { - "anyOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.DeletedBankAccount" + "description": "The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. Only applicable if there are no line items with recurring prices on the quote." }, - { - "$ref": "#/components/schemas/stripe.Stripe.DeletedCard" - } - ] - }, - "stripe.Stripe.PaymentIntent.Status": { - "type": "string", - "enum": [ - "canceled", - "processing", - "requires_action", - "requires_capture", - "requires_confirmation", - "requires_payment_method", - "succeeded" - ] - }, - "stripe.Stripe.PaymentIntent.TransferData": { - "properties": { - "amount": { + "application_fee_percent": { "type": "number", "format": "double", - "description": "The amount transferred to the destination account. This transfer will occur automatically after the payment succeeds. If no amount is specified, by default the entire payment amount is transferred to the destination account.\n The amount must be less than or equal to the [amount](https://stripe.com/docs/api/payment_intents/object#payment_intent_object-amount), and must be a positive integer\n representing how much to transfer in the smallest currency unit (e.g., 100 cents to charge $1.00)." + "nullable": true, + "description": "A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. Only applicable if there are line items with recurring prices on the quote." }, - "destination": { + "automatic_tax": { + "$ref": "#/components/schemas/stripe.Stripe.Quote.AutomaticTax" + }, + "collection_method": { + "$ref": "#/components/schemas/stripe.Stripe.Quote.CollectionMethod", + "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay invoices at the end of the subscription cycle or on finalization using the default payment method attached to the subscription or customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`." + }, + "computed": { + "$ref": "#/components/schemas/stripe.Stripe.Quote.Computed" + }, + "created": { + "type": "number", + "format": "double", + "description": "Time at which the object was created. Measured in seconds since the Unix epoch." + }, + "currency": { + "type": "string", + "nullable": true, + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." + }, + "customer": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.Account" + "$ref": "#/components/schemas/stripe.Stripe.Customer" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedCustomer" } ], - "description": "The account (if any) that the payment is attributed to for tax reporting, and where funds from the payment are transferred to after payment success." - } - }, - "required": [ - "destination" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.SetupAttempt.SetupError.Type": { - "type": "string", - "enum": [ - "api_error", - "card_error", - "idempotency_error", - "invalid_request_error" - ] - }, - "stripe.Stripe.SetupAttempt.SetupError": { - "properties": { - "advice_code": { + "nullable": true, + "description": "The customer which this quote belongs to. A customer is required before finalizing the quote. Once specified, it cannot be changed." + }, + "default_tax_rates": { + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.TaxRate" + } + ] + }, + "type": "array", + "description": "The tax rates applied to this quote." + }, + "description": { "type": "string", - "description": "For card errors resulting from a card issuer decline, a short string indicating [how to proceed with an error](https://stripe.com/docs/declines#retrying-issuer-declines) if they provide one." + "nullable": true, + "description": "A description that will be displayed on the quote PDF." }, - "charge": { + "discounts": { + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Discount" + } + ] + }, + "type": "array", + "description": "The discounts applied to this quote." + }, + "expires_at": { + "type": "number", + "format": "double", + "description": "The date on which the quote will be canceled if in `open` or `draft` status. Measured in seconds since the Unix epoch." + }, + "footer": { "type": "string", - "description": "For card errors, the ID of the failed charge." + "nullable": true, + "description": "A footer that will be displayed on the quote PDF." }, - "code": { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.SetupError.Code", - "description": "For some errors that could be handled programmatically, a short string indicating the [error code](https://stripe.com/docs/error-codes) reported." + "from_quote": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Quote.FromQuote" + } + ], + "nullable": true, + "description": "Details of the quote that was cloned. See the [cloning documentation](https://stripe.com/docs/quotes/clone) for more details." + }, + "header": { + "type": "string", + "nullable": true, + "description": "A header that will be displayed on the quote PDF." + }, + "invoice": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Invoice" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedInvoice" + } + ], + "nullable": true, + "description": "The invoice that was created from this quote." }, - "decline_code": { - "type": "string", - "description": "For card errors resulting from a card issuer decline, a short string indicating the [card issuer's reason for the decline](https://stripe.com/docs/declines#issuer-declines) if they provide one." + "invoice_settings": { + "$ref": "#/components/schemas/stripe.Stripe.Quote.InvoiceSettings" }, - "doc_url": { - "type": "string", - "description": "A URL to more information about the [error code](https://stripe.com/docs/error-codes) reported." + "line_items": { + "$ref": "#/components/schemas/stripe.Stripe.ApiList_stripe.Stripe.LineItem_", + "description": "A list of items the customer is being quoted for." }, - "message": { - "type": "string", - "description": "A human-readable message providing more details about the error. For card errors, these messages can be shown to your users." + "livemode": { + "type": "boolean", + "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." }, - "network_advice_code": { - "type": "string", - "description": "For card errors resulting from a card issuer decline, a 2 digit code which indicates the advice given to merchant by the card network on how to proceed with an error." + "metadata": { + "$ref": "#/components/schemas/stripe.Stripe.Metadata", + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." }, - "network_decline_code": { + "number": { "type": "string", - "description": "For card errors resulting from a card issuer decline, a brand specific 2, 3, or 4 digit code which indicates the reason the authorization failed." + "nullable": true, + "description": "A unique number that identifies this particular quote. This number is assigned once the quote is [finalized](https://stripe.com/docs/quotes/overview#finalize)." }, - "param": { - "type": "string", - "description": "If the error is parameter-specific, the parameter related to the error. For example, you can use this to display a message near the correct form field." + "on_behalf_of": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Account" + } + ], + "nullable": true, + "description": "The account on behalf of which to charge. See the [Connect documentation](https://support.stripe.com/questions/sending-invoices-on-behalf-of-connected-accounts) for details." }, - "payment_intent": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent", - "description": "A PaymentIntent guides you through the process of collecting a payment from your customer.\nWe recommend that you create exactly one PaymentIntent for each order or\ncustomer session in your system. You can reference the PaymentIntent later to\nsee the history of payment attempts for a particular session.\n\nA PaymentIntent transitions through\n[multiple statuses](https://stripe.com/docs/payments/intents#intent-statuses)\nthroughout its lifetime as it interfaces with Stripe.js to perform\nauthentication flows and ultimately creates at most one successful charge.\n\nRelated guide: [Payment Intents API](https://stripe.com/docs/payments/payment-intents)" + "status": { + "$ref": "#/components/schemas/stripe.Stripe.Quote.Status", + "description": "The status of the quote." }, - "payment_method": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod", - "description": "PaymentMethod objects represent your customer's payment instruments.\nYou can use them with [PaymentIntents](https://stripe.com/docs/payments/payment-intents) to collect payments or save them to\nCustomer objects to store instrument details for future payments.\n\nRelated guides: [Payment Methods](https://stripe.com/docs/payments/payment-methods) and [More Payment Scenarios](https://stripe.com/docs/payments/more-payment-scenarios)." + "status_transitions": { + "$ref": "#/components/schemas/stripe.Stripe.Quote.StatusTransitions" }, - "payment_method_type": { - "type": "string", - "description": "If the error is specific to the type of payment method, the payment method type that had a problem. This field is only populated for invoice-related errors." + "subscription": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Subscription" + } + ], + "nullable": true, + "description": "The subscription that was created or updated from this quote." }, - "request_log_url": { - "type": "string", - "description": "A URL to the request log entry in your dashboard." + "subscription_data": { + "$ref": "#/components/schemas/stripe.Stripe.Quote.SubscriptionData" }, - "setup_intent": { - "$ref": "#/components/schemas/stripe.Stripe.SetupIntent", - "description": "A SetupIntent guides you through the process of setting up and saving a customer's payment credentials for future payments.\nFor example, you can use a SetupIntent to set up and save your customer's card without immediately collecting a payment.\nLater, you can use [PaymentIntents](https://stripe.com/docs/api#payment_intents) to drive the payment flow.\n\nCreate a SetupIntent when you're ready to collect your customer's payment credentials.\nDon't maintain long-lived, unconfirmed SetupIntents because they might not be valid.\nThe SetupIntent transitions through multiple [statuses](https://docs.stripe.com/payments/intents#intent-statuses) as it guides\nyou through the setup process.\n\nSuccessful SetupIntents result in payment credentials that are optimized for future payments.\nFor example, cardholders in [certain regions](https://stripe.com/guides/strong-customer-authentication) might need to be run through\n[Strong Customer Authentication](https://docs.stripe.com/strong-customer-authentication) during payment method collection\nto streamline later [off-session payments](https://docs.stripe.com/payments/setup-intents).\nIf you use the SetupIntent with a [Customer](https://stripe.com/docs/api#setup_intent_object-customer),\nit automatically attaches the resulting payment method to that Customer after successful setup.\nWe recommend using SetupIntents or [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) on\nPaymentIntents to save payment methods to prevent saving invalid or unoptimized payment methods.\n\nBy using SetupIntents, you can reduce friction for your customers, even as regulations change over time.\n\nRelated guide: [Setup Intents API](https://docs.stripe.com/payments/setup-intents)" + "subscription_schedule": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule" + } + ], + "nullable": true, + "description": "The subscription schedule that was created or updated from this quote." }, - "source": { - "$ref": "#/components/schemas/stripe.Stripe.CustomerSource" + "test_clock": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.TestHelpers.TestClock" + } + ], + "nullable": true, + "description": "ID of the test clock this quote belongs to." }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.SetupError.Type", - "description": "The type of error returned. One of `api_error`, `card_error`, `idempotency_error`, or `invalid_request_error`" + "total_details": { + "$ref": "#/components/schemas/stripe.Stripe.Quote.TotalDetails" + }, + "transfer_data": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Quote.TransferData" + } + ], + "nullable": true, + "description": "The account (if any) the payments will be attributed to for tax reporting, and where funds from each payment will be transferred to for each of the invoices." } }, "required": [ - "type" + "id", + "object", + "amount_subtotal", + "amount_total", + "application", + "application_fee_amount", + "application_fee_percent", + "automatic_tax", + "collection_method", + "computed", + "created", + "currency", + "customer", + "description", + "discounts", + "expires_at", + "footer", + "from_quote", + "header", + "invoice", + "invoice_settings", + "livemode", + "metadata", + "number", + "on_behalf_of", + "status", + "status_transitions", + "subscription", + "subscription_data", + "subscription_schedule", + "test_clock", + "total_details", + "transfer_data" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentMethod.Card.GeneratedFrom": { + "stripe.Stripe.Quote.FromQuote": { "properties": { - "charge": { - "type": "string", - "nullable": true, - "description": "The charge that created this object." - }, - "payment_method_details": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails" - } - ], - "nullable": true, - "description": "Transaction-specific details of the payment method used in the payment." + "is_revision": { + "type": "boolean", + "description": "Whether this quote is a revision of a different quote." }, - "setup_attempt": { + "quote": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt" + "$ref": "#/components/schemas/stripe.Stripe.Quote" } ], - "nullable": true, - "description": "The ID of the SetupAttempt that generated this PaymentMethod, if any." + "description": "The quote that was cloned." } }, "required": [ - "charge", - "payment_method_details", - "setup_attempt" + "is_revision", + "quote" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentMethod.Card.Networks": { + "stripe.Stripe.DeletedInvoice": { + "description": "The DeletedInvoice object.", "properties": { - "available": { - "items": { - "type": "string" - }, - "type": "array", - "description": "All networks available for selection via [payment_method_options.card.network](https://stripe.com/api/payment_intents/confirm#confirm_payment_intent-payment_method_options-card-network)." + "id": { + "type": "string", + "description": "Unique identifier for the object." }, - "preferred": { + "object": { "type": "string", - "nullable": true, - "description": "The preferred network for co-branded cards. Can be `cartes_bancaires`, `mastercard`, `visa` or `invalid_preference` if requested network is not valid for the card." + "enum": [ + "invoice" + ], + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." + }, + "deleted": { + "type": "boolean", + "enum": [ + true + ], + "nullable": false, + "description": "Always true for a deleted object" } }, "required": [ - "available", - "preferred" + "id", + "object", + "deleted" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentMethod.Card.RegulatedStatus": { + "stripe.Stripe.Quote.InvoiceSettings.Issuer.Type": { "type": "string", "enum": [ - "regulated", - "unregulated" + "account", + "self" ] }, - "stripe.Stripe.PaymentMethod.Card.ThreeDSecureUsage": { + "stripe.Stripe.Quote.InvoiceSettings.Issuer": { "properties": { - "supported": { - "type": "boolean", - "description": "Whether 3D Secure is supported on this card." + "account": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Account" + } + ], + "description": "The connected account being referenced when `type` is `account`." + }, + "type": { + "$ref": "#/components/schemas/stripe.Stripe.Quote.InvoiceSettings.Issuer.Type", + "description": "Type of the account referenced." } }, "required": [ - "supported" + "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentMethod.Card.Wallet.AmexExpressCheckout": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentMethod.Card.Wallet.ApplePay": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentMethod.Card.Wallet.GooglePay": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentMethod.Card.Wallet.Link": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentMethod.Card.Wallet.Masterpass": { + "stripe.Stripe.Quote.InvoiceSettings": { "properties": { - "billing_address": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Address" - } - ], - "nullable": true, - "description": "Owner's verified billing address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated." - }, - "email": { - "type": "string", - "nullable": true, - "description": "Owner's verified email. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated." - }, - "name": { - "type": "string", + "days_until_due": { + "type": "number", + "format": "double", "nullable": true, - "description": "Owner's verified full name. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated." + "description": "Number of days within which a customer must pay invoices generated by this quote. This value will be `null` for quotes where `collection_method=charge_automatically`." }, - "shipping_address": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Address" - } - ], - "nullable": true, - "description": "Owner's verified shipping address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated." + "issuer": { + "$ref": "#/components/schemas/stripe.Stripe.Quote.InvoiceSettings.Issuer" } }, "required": [ - "billing_address", - "email", - "name", - "shipping_address" + "days_until_due", + "issuer" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentMethod.Card.Wallet.SamsungPay": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentMethod.Card.Wallet.Type": { + "stripe.Stripe.Quote.Status": { "type": "string", "enum": [ - "amex_express_checkout", - "apple_pay", - "google_pay", - "link", - "masterpass", - "samsung_pay", - "visa_checkout" + "accepted", + "canceled", + "draft", + "open" ] }, - "stripe.Stripe.PaymentMethod.Card.Wallet.VisaCheckout": { + "stripe.Stripe.Quote.StatusTransitions": { "properties": { - "billing_address": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Address" - } - ], - "nullable": true, - "description": "Owner's verified billing address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated." - }, - "email": { - "type": "string", + "accepted_at": { + "type": "number", + "format": "double", "nullable": true, - "description": "Owner's verified email. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated." + "description": "The time that the quote was accepted. Measured in seconds since Unix epoch." }, - "name": { - "type": "string", + "canceled_at": { + "type": "number", + "format": "double", "nullable": true, - "description": "Owner's verified full name. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated." + "description": "The time that the quote was canceled. Measured in seconds since Unix epoch." }, - "shipping_address": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Address" - } - ], + "finalized_at": { + "type": "number", + "format": "double", "nullable": true, - "description": "Owner's verified shipping address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated." + "description": "The time that the quote was finalized. Measured in seconds since Unix epoch." } }, "required": [ - "billing_address", - "email", - "name", - "shipping_address" + "accepted_at", + "canceled_at", + "finalized_at" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentMethod.Card.Wallet": { + "stripe.Stripe.Quote.SubscriptionData": { "properties": { - "amex_express_checkout": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.Wallet.AmexExpressCheckout" - }, - "apple_pay": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.Wallet.ApplePay" - }, - "dynamic_last4": { + "description": { "type": "string", "nullable": true, - "description": "(For tokenized numbers only.) The last four digits of the device account number." - }, - "google_pay": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.Wallet.GooglePay" - }, - "link": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.Wallet.Link" - }, - "masterpass": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.Wallet.Masterpass" + "description": "The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs." }, - "samsung_pay": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.Wallet.SamsungPay" + "effective_date": { + "type": "number", + "format": "double", + "nullable": true, + "description": "When creating a new subscription, the date of which the subscription schedule will start after the quote is accepted. This date is ignored if it is in the past when the quote is accepted. Measured in seconds since the Unix epoch." }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.Wallet.Type", - "description": "The type of the card wallet, one of `amex_express_checkout`, `apple_pay`, `google_pay`, `masterpass`, `samsung_pay`, `visa_checkout`, or `link`. An additional hash is included on the Wallet subhash with a name matching this value. It contains additional information specific to the card wallet type." + "metadata": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Metadata" + } + ], + "nullable": true, + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that will set metadata on the subscription or subscription schedule when the quote is accepted. If a recurring price is included in `line_items`, this field will be passed to the resulting subscription's `metadata` field. If `subscription_data.effective_date` is used, this field will be passed to the resulting subscription schedule's `phases.metadata` field. Unlike object-level metadata, this field is declarative. Updates will clear prior values." }, - "visa_checkout": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.Wallet.VisaCheckout" + "trial_period_days": { + "type": "number", + "format": "double", + "nullable": true, + "description": "Integer representing the number of trial period days before the customer is charged for the first time." } }, "required": [ - "dynamic_last4", - "type" + "description", + "effective_date", + "metadata", + "trial_period_days" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentMethod.Card": { + "stripe.Stripe.SubscriptionSchedule.CurrentPhase": { "properties": { - "brand": { - "type": "string", - "description": "Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`." - }, - "checks": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.Checks" - } - ], - "nullable": true, - "description": "Checks on Card address and CVC if provided." - }, - "country": { - "type": "string", - "nullable": true, - "description": "Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected." - }, - "description": { - "type": "string", - "nullable": true, - "description": "A high-level description of the type of cards issued in this range. (For internal use only and not typically available in standard API requests.)" - }, - "display_brand": { - "type": "string", - "nullable": true, - "description": "The brand to use when displaying the card, this accounts for customer's brand choice on dual-branded cards. Can be `american_express`, `cartes_bancaires`, `diners_club`, `discover`, `eftpos_australia`, `interac`, `jcb`, `mastercard`, `union_pay`, `visa`, or `other` and may contain more values in the future." - }, - "exp_month": { + "end_date": { "type": "number", "format": "double", - "description": "Two-digit number representing the card's expiration month." + "description": "The end of this phase of the subscription schedule." }, - "exp_year": { + "start_date": { "type": "number", "format": "double", - "description": "Four-digit number representing the card's expiration year." - }, - "fingerprint": { - "type": "string", - "nullable": true, - "description": "Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.\n\n*As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.*" - }, - "funding": { - "type": "string", - "description": "Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`." - }, - "generated_from": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.GeneratedFrom" - } - ], - "nullable": true, - "description": "Details of the original PaymentMethod that created this object." - }, - "iin": { - "type": "string", - "nullable": true, - "description": "Issuer identification number of the card. (For internal use only and not typically available in standard API requests.)" - }, - "issuer": { - "type": "string", - "nullable": true, - "description": "The name of the card's issuing bank. (For internal use only and not typically available in standard API requests.)" - }, - "last4": { - "type": "string", - "description": "The last four digits of the card." - }, - "networks": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.Networks" - } - ], - "nullable": true, - "description": "Contains information about card networks that can be used to process the payment." - }, - "regulated_status": { - "allOf": [ + "description": "The start of this phase of the subscription schedule." + } + }, + "required": [ + "end_date", + "start_date" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.SubscriptionSchedule.DefaultSettings.AutomaticTax.Liability.Type": { + "type": "string", + "enum": [ + "account", + "self" + ] + }, + "stripe.Stripe.SubscriptionSchedule.DefaultSettings.AutomaticTax.Liability": { + "properties": { + "account": { + "anyOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.RegulatedStatus" - } - ], - "nullable": true, - "description": "Status of a card based on the card issuer." - }, - "three_d_secure_usage": { - "allOf": [ + "type": "string" + }, { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.ThreeDSecureUsage" + "$ref": "#/components/schemas/stripe.Stripe.Account" } ], - "nullable": true, - "description": "Contains details on how this Card may be used for 3D Secure authentication." + "description": "The connected account being referenced when `type` is `account`." }, - "wallet": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.Wallet" - } - ], - "nullable": true, - "description": "If this Card is part of a card wallet, this contains the details of the card wallet." + "type": { + "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.DefaultSettings.AutomaticTax.Liability.Type", + "description": "Type of the account referenced." } }, "required": [ - "brand", - "checks", - "country", - "display_brand", - "exp_month", - "exp_year", - "funding", - "generated_from", - "last4", - "networks", - "regulated_status", - "three_d_secure_usage", - "wallet" + "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentMethod.CardPresent.Networks": { + "stripe.Stripe.SubscriptionSchedule.DefaultSettings.AutomaticTax": { "properties": { - "available": { - "items": { - "type": "string" - }, - "type": "array", - "description": "All networks available for selection via [payment_method_options.card.network](https://stripe.com/api/payment_intents/confirm#confirm_payment_intent-payment_method_options-card-network)." - }, - "preferred": { + "disabled_reason": { "type": "string", + "enum": [ + "requires_location_inputs", + null + ], "nullable": true, - "description": "The preferred network for the card." + "description": "If Stripe disabled automatic tax, this enum describes why." + }, + "enabled": { + "type": "boolean", + "description": "Whether Stripe automatically computes tax on invoices created during this phase." + }, + "liability": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.DefaultSettings.AutomaticTax.Liability" + } + ], + "nullable": true, + "description": "The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account." } }, "required": [ - "available", - "preferred" + "disabled_reason", + "enabled", + "liability" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentMethod.CardPresent.Offline": { + "stripe.Stripe.SubscriptionSchedule.DefaultSettings.BillingCycleAnchor": { + "type": "string", + "enum": [ + "automatic", + "phase_start" + ] + }, + "stripe.Stripe.SubscriptionSchedule.DefaultSettings.BillingThresholds": { "properties": { - "stored_at": { + "amount_gte": { "type": "number", "format": "double", "nullable": true, - "description": "Time at which the payment was collected while offline" + "description": "Monetary threshold that triggers the subscription to create an invoice" }, - "type": { - "type": "string", - "enum": [ - "deferred", - null - ], + "reset_billing_cycle_anchor": { + "type": "boolean", "nullable": true, - "description": "The method used to process this payment method offline. Only deferred is allowed." + "description": "Indicates if the `billing_cycle_anchor` should be reset when a threshold is reached. If true, `billing_cycle_anchor` will be updated to the date/time the threshold was last reached; otherwise, the value will remain unchanged. This value may not be `true` if the subscription contains items with plans that have `aggregate_usage=last_ever`." } }, "required": [ - "stored_at", - "type" + "amount_gte", + "reset_billing_cycle_anchor" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentMethod.CardPresent.ReadMethod": { + "stripe.Stripe.SubscriptionSchedule.DefaultSettings.CollectionMethod": { "type": "string", "enum": [ - "contact_emv", - "contactless_emv", - "contactless_magstripe_mode", - "magnetic_stripe_fallback", - "magnetic_stripe_track2" + "charge_automatically", + "send_invoice" ] }, - "stripe.Stripe.PaymentMethod.CardPresent.Wallet.Type": { + "stripe.Stripe.SubscriptionSchedule.DefaultSettings.InvoiceSettings.Issuer.Type": { "type": "string", "enum": [ - "apple_pay", - "google_pay", - "samsung_pay", - "unknown" + "account", + "self" ] }, - "stripe.Stripe.PaymentMethod.CardPresent.Wallet": { + "stripe.Stripe.SubscriptionSchedule.DefaultSettings.InvoiceSettings.Issuer": { "properties": { + "account": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Account" + } + ], + "description": "The connected account being referenced when `type` is `account`." + }, "type": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.CardPresent.Wallet.Type", - "description": "The type of mobile wallet, one of `apple_pay`, `google_pay`, `samsung_pay`, or `unknown`." + "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.DefaultSettings.InvoiceSettings.Issuer.Type", + "description": "Type of the account referenced." } }, "required": [ @@ -43350,3929 +33445,3578 @@ "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentMethod.CardPresent": { + "stripe.Stripe.SubscriptionSchedule.DefaultSettings.InvoiceSettings": { "properties": { - "brand": { - "type": "string", - "nullable": true, - "description": "Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`." - }, - "brand_product": { - "type": "string", - "nullable": true, - "description": "The [product code](https://stripe.com/docs/card-product-codes) that identifies the specific program or product associated with a card." - }, - "cardholder_name": { - "type": "string", - "nullable": true, - "description": "The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay." - }, - "country": { - "type": "string", - "nullable": true, - "description": "Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected." - }, - "description": { - "type": "string", + "account_tax_ids": { + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.TaxId" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedTaxId" + } + ] + }, + "type": "array", "nullable": true, - "description": "A high-level description of the type of cards issued in this range. (For internal use only and not typically available in standard API requests.)" + "description": "The account tax IDs associated with the subscription schedule. Will be set on invoices generated by the subscription schedule." }, - "exp_month": { + "days_until_due": { "type": "number", "format": "double", - "description": "Two-digit number representing the card's expiration month." + "nullable": true, + "description": "Number of days within which a customer must pay invoices generated by this subscription schedule. This value will be `null` for subscription schedules where `billing=charge_automatically`." }, - "exp_year": { + "issuer": { + "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.DefaultSettings.InvoiceSettings.Issuer" + } + }, + "required": [ + "account_tax_ids", + "days_until_due", + "issuer" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.SubscriptionSchedule.DefaultSettings.TransferData": { + "properties": { + "amount_percent": { "type": "number", "format": "double", - "description": "Four-digit number representing the card's expiration year." - }, - "fingerprint": { - "type": "string", - "nullable": true, - "description": "Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.\n\n*As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.*" - }, - "funding": { - "type": "string", "nullable": true, - "description": "Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`." + "description": "A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount is transferred to the destination." }, - "iin": { - "type": "string", + "destination": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Account" + } + ], + "description": "The account where funds from the payment will be transferred to upon payment success." + } + }, + "required": [ + "amount_percent", + "destination" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.SubscriptionSchedule.DefaultSettings": { + "properties": { + "application_fee_percent": { + "type": "number", + "format": "double", "nullable": true, - "description": "Issuer identification number of the card. (For internal use only and not typically available in standard API requests.)" + "description": "A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account during this phase of the schedule." }, - "issuer": { - "type": "string", - "nullable": true, - "description": "The name of the card's issuing bank. (For internal use only and not typically available in standard API requests.)" + "automatic_tax": { + "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.DefaultSettings.AutomaticTax" }, - "last4": { - "type": "string", - "nullable": true, - "description": "The last four digits of the card." + "billing_cycle_anchor": { + "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.DefaultSettings.BillingCycleAnchor", + "description": "Possible values are `phase_start` or `automatic`. If `phase_start` then billing cycle anchor of the subscription is set to the start of the phase when entering the phase. If `automatic` then the billing cycle anchor is automatically modified as needed when entering the phase. For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle)." }, - "networks": { + "billing_thresholds": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.CardPresent.Networks" + "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.DefaultSettings.BillingThresholds" } ], "nullable": true, - "description": "Contains information about card networks that can be used to process the payment." + "description": "Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period" }, - "offline": { + "collection_method": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.CardPresent.Offline" + "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.DefaultSettings.CollectionMethod" } ], "nullable": true, - "description": "Details about payment methods collected offline." - }, - "preferred_locales": { - "items": { - "type": "string" - }, - "type": "array", - "nullable": true, - "description": "EMV tag 5F2D. Preferred languages specified by the integrated circuit chip." + "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay the underlying subscription at the end of each billing cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`." }, - "read_method": { - "allOf": [ + "default_payment_method": { + "anyOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.CardPresent.ReadMethod" + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod" } ], "nullable": true, - "description": "How card details were read in this transaction." + "description": "ID of the default payment method for the subscription schedule. If not set, invoices will use the default payment method in the customer's invoice settings." }, - "wallet": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.CardPresent.Wallet" - } - }, - "required": [ - "brand", - "brand_product", - "cardholder_name", - "country", - "exp_month", - "exp_year", - "fingerprint", - "funding", - "last4", - "networks", - "offline", - "preferred_locales", - "read_method" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentMethod.Cashapp": { - "properties": { - "buyer_id": { + "description": { "type": "string", "nullable": true, - "description": "A unique and immutable identifier assigned by Cash App to every buyer." + "description": "Subscription description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs." }, - "cashtag": { - "type": "string", + "invoice_settings": { + "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.DefaultSettings.InvoiceSettings" + }, + "on_behalf_of": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Account" + } + ], "nullable": true, - "description": "A public identifier for buyers using Cash App." - } - }, - "required": [ - "buyer_id", - "cashtag" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentMethod.CustomerBalance": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentMethod.Eps.Bank": { - "type": "string", - "enum": [ - "arzte_und_apotheker_bank", - "austrian_anadi_bank_ag", - "bank_austria", - "bankhaus_carl_spangler", - "bankhaus_schelhammer_und_schattera_ag", - "bawag_psk_ag", - "bks_bank_ag", - "brull_kallmus_bank_ag", - "btv_vier_lander_bank", - "capital_bank_grawe_gruppe_ag", - "deutsche_bank_ag", - "dolomitenbank", - "easybank_ag", - "erste_bank_und_sparkassen", - "hypo_alpeadriabank_international_ag", - "hypo_bank_burgenland_aktiengesellschaft", - "hypo_noe_lb_fur_niederosterreich_u_wien", - "hypo_oberosterreich_salzburg_steiermark", - "hypo_tirol_bank_ag", - "hypo_vorarlberg_bank_ag", - "marchfelder_bank", - "oberbank_ag", - "raiffeisen_bankengruppe_osterreich", - "schoellerbank_ag", - "sparda_bank_wien", - "volksbank_gruppe", - "volkskreditbank_ag", - "vr_bank_braunau" - ] - }, - "stripe.Stripe.PaymentMethod.Eps": { - "properties": { - "bank": { + "description": "The account (if any) the charge was made on behalf of for charges associated with the schedule's subscription. See the Connect documentation for details." + }, + "transfer_data": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Eps.Bank" + "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.DefaultSettings.TransferData" } ], "nullable": true, - "description": "The customer's bank. Should be one of `arzte_und_apotheker_bank`, `austrian_anadi_bank_ag`, `bank_austria`, `bankhaus_carl_spangler`, `bankhaus_schelhammer_und_schattera_ag`, `bawag_psk_ag`, `bks_bank_ag`, `brull_kallmus_bank_ag`, `btv_vier_lander_bank`, `capital_bank_grawe_gruppe_ag`, `deutsche_bank_ag`, `dolomitenbank`, `easybank_ag`, `erste_bank_und_sparkassen`, `hypo_alpeadriabank_international_ag`, `hypo_noe_lb_fur_niederosterreich_u_wien`, `hypo_oberosterreich_salzburg_steiermark`, `hypo_tirol_bank_ag`, `hypo_vorarlberg_bank_ag`, `hypo_bank_burgenland_aktiengesellschaft`, `marchfelder_bank`, `oberbank_ag`, `raiffeisen_bankengruppe_osterreich`, `schoellerbank_ag`, `sparda_bank_wien`, `volksbank_gruppe`, `volkskreditbank_ag`, or `vr_bank_braunau`." + "description": "The account (if any) the associated subscription's payments will be attributed to for tax reporting, and where funds from each payment will be transferred to for each of the subscription's invoices." } }, "required": [ - "bank" + "application_fee_percent", + "billing_cycle_anchor", + "billing_thresholds", + "collection_method", + "default_payment_method", + "description", + "invoice_settings", + "on_behalf_of", + "transfer_data" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentMethod.Fpx.AccountHolderType": { - "type": "string", - "enum": [ - "company", - "individual" - ] - }, - "stripe.Stripe.PaymentMethod.Fpx.Bank": { + "stripe.Stripe.SubscriptionSchedule.EndBehavior": { "type": "string", "enum": [ - "affin_bank", - "agrobank", - "alliance_bank", - "ambank", - "bank_islam", - "bank_muamalat", - "bank_of_china", - "bank_rakyat", - "bsn", - "cimb", - "deutsche_bank", - "hong_leong_bank", - "hsbc", - "kfh", - "maybank2e", - "maybank2u", - "ocbc", - "pb_enterprise", - "public_bank", - "rhb", - "standard_chartered", - "uob" + "cancel", + "none", + "release", + "renew" ] }, - "stripe.Stripe.PaymentMethod.Fpx": { + "stripe.Stripe.SubscriptionSchedule.Phase.AddInvoiceItem.Discount": { "properties": { - "account_holder_type": { - "allOf": [ + "coupon": { + "anyOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Fpx.AccountHolderType" + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Coupon" } ], "nullable": true, - "description": "Account holder type, if provided. Can be one of `individual` or `company`." + "description": "ID of the coupon to create a new discount for." }, - "bank": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Fpx.Bank", - "description": "The customer's bank, if provided. Can be one of `affin_bank`, `agrobank`, `alliance_bank`, `ambank`, `bank_islam`, `bank_muamalat`, `bank_rakyat`, `bsn`, `cimb`, `hong_leong_bank`, `hsbc`, `kfh`, `maybank2u`, `ocbc`, `public_bank`, `rhb`, `standard_chartered`, `uob`, `deutsche_bank`, `maybank2e`, `pb_enterprise`, or `bank_of_china`." - } - }, - "required": [ - "account_holder_type", - "bank" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentMethod.Giropay": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentMethod.Grabpay": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentMethod.Ideal.Bank": { - "type": "string", - "enum": [ - "abn_amro", - "asn_bank", - "bunq", - "handelsbanken", - "ing", - "knab", - "moneyou", - "n26", - "nn", - "rabobank", - "regiobank", - "revolut", - "sns_bank", - "triodos_bank", - "van_lanschot", - "yoursafe" - ] - }, - "stripe.Stripe.PaymentMethod.Ideal.Bic": { - "type": "string", - "enum": [ - "ABNANL2A", - "ASNBNL21", - "BITSNL2A", - "BUNQNL2A", - "FVLBNL22", - "HANDNL2A", - "INGBNL2A", - "KNABNL2H", - "MOYONL21", - "NNBANL2G", - "NTSBDEB1", - "RABONL2U", - "RBRBNL21", - "REVOIE23", - "REVOLT21", - "SNSBNL2A", - "TRIONL2U" - ] - }, - "stripe.Stripe.PaymentMethod.Ideal": { - "properties": { - "bank": { - "allOf": [ + "discount": { + "anyOf": [ + { + "type": "string" + }, { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Ideal.Bank" + "$ref": "#/components/schemas/stripe.Stripe.Discount" } ], "nullable": true, - "description": "The customer's bank, if provided. Can be one of `abn_amro`, `asn_bank`, `bunq`, `handelsbanken`, `ing`, `knab`, `moneyou`, `n26`, `nn`, `rabobank`, `regiobank`, `revolut`, `sns_bank`, `triodos_bank`, `van_lanschot`, or `yoursafe`." + "description": "ID of an existing discount on the object (or one of its ancestors) to reuse." }, - "bic": { - "allOf": [ + "promotion_code": { + "anyOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Ideal.Bic" + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.PromotionCode" } ], "nullable": true, - "description": "The Bank Identifier Code of the customer's bank, if the bank was provided." + "description": "ID of the promotion code to create a new discount for." } }, "required": [ - "bank", - "bic" + "coupon", + "discount", + "promotion_code" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentMethod.InteracPresent.Networks": { + "stripe.Stripe.DeletedPrice": { + "description": "The DeletedPrice object.", "properties": { - "available": { - "items": { - "type": "string" - }, - "type": "array", - "description": "All networks available for selection via [payment_method_options.card.network](https://stripe.com/api/payment_intents/confirm#confirm_payment_intent-payment_method_options-card-network)." + "id": { + "type": "string", + "description": "Unique identifier for the object." }, - "preferred": { + "object": { "type": "string", - "nullable": true, - "description": "The preferred network for the card." + "enum": [ + "price" + ], + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." + }, + "deleted": { + "type": "boolean", + "enum": [ + true + ], + "nullable": false, + "description": "Always true for a deleted object" } }, "required": [ - "available", - "preferred" + "id", + "object", + "deleted" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentMethod.InteracPresent.ReadMethod": { - "type": "string", - "enum": [ - "contact_emv", - "contactless_emv", - "contactless_magstripe_mode", - "magnetic_stripe_fallback", - "magnetic_stripe_track2" - ] - }, - "stripe.Stripe.PaymentMethod.InteracPresent": { + "stripe.Stripe.SubscriptionSchedule.Phase.AddInvoiceItem": { "properties": { - "brand": { - "type": "string", - "nullable": true, - "description": "Card brand. Can be `interac`, `mastercard` or `visa`." - }, - "cardholder_name": { - "type": "string", - "nullable": true, - "description": "The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay." - }, - "country": { - "type": "string", - "nullable": true, - "description": "Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected." - }, - "description": { - "type": "string", - "nullable": true, - "description": "A high-level description of the type of cards issued in this range. (For internal use only and not typically available in standard API requests.)" - }, - "exp_month": { - "type": "number", - "format": "double", - "description": "Two-digit number representing the card's expiration month." - }, - "exp_year": { - "type": "number", - "format": "double", - "description": "Four-digit number representing the card's expiration year." - }, - "fingerprint": { - "type": "string", - "nullable": true, - "description": "Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.\n\n*As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.*" - }, - "funding": { - "type": "string", - "nullable": true, - "description": "Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`." - }, - "iin": { - "type": "string", - "nullable": true, - "description": "Issuer identification number of the card. (For internal use only and not typically available in standard API requests.)" - }, - "issuer": { - "type": "string", - "nullable": true, - "description": "The name of the card's issuing bank. (For internal use only and not typically available in standard API requests.)" - }, - "last4": { - "type": "string", - "nullable": true, - "description": "The last four digits of the card." + "discounts": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.Phase.AddInvoiceItem.Discount" + }, + "type": "array", + "description": "The stackable discounts that will be applied to the item." }, - "networks": { - "allOf": [ + "price": { + "anyOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.InteracPresent.Networks" + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Price" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedPrice" } ], + "description": "ID of the price used to generate the invoice item." + }, + "quantity": { + "type": "number", + "format": "double", "nullable": true, - "description": "Contains information about card networks that can be used to process the payment." + "description": "The quantity of the invoice item." }, - "preferred_locales": { + "tax_rates": { "items": { - "type": "string" + "$ref": "#/components/schemas/stripe.Stripe.TaxRate" }, "type": "array", "nullable": true, - "description": "EMV tag 5F2D. Preferred languages specified by the integrated circuit chip." - }, - "read_method": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.InteracPresent.ReadMethod" - } - ], - "nullable": true, - "description": "How card details were read in this transaction." + "description": "The tax rates which apply to the item. When set, the `default_tax_rates` do not apply to this item." } }, "required": [ - "brand", - "cardholder_name", - "country", - "exp_month", - "exp_year", - "fingerprint", - "funding", - "last4", - "networks", - "preferred_locales", - "read_method" + "discounts", + "price", + "quantity" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentMethod.KakaoPay": { - "properties": {}, - "type": "object", - "additionalProperties": false + "stripe.Stripe.SubscriptionSchedule.Phase.AutomaticTax.Liability.Type": { + "type": "string", + "enum": [ + "account", + "self" + ] }, - "stripe.Stripe.PaymentMethod.Klarna.Dob": { + "stripe.Stripe.SubscriptionSchedule.Phase.AutomaticTax.Liability": { "properties": { - "day": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The day of birth, between 1 and 31." - }, - "month": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The month of birth, between 1 and 12." + "account": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Account" + } + ], + "description": "The connected account being referenced when `type` is `account`." }, - "year": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The four-digit year of birth." + "type": { + "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.Phase.AutomaticTax.Liability.Type", + "description": "Type of the account referenced." } }, "required": [ - "day", - "month", - "year" + "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentMethod.Klarna": { + "stripe.Stripe.SubscriptionSchedule.Phase.AutomaticTax": { "properties": { - "dob": { + "disabled_reason": { + "type": "string", + "enum": [ + "requires_location_inputs", + null + ], + "nullable": true, + "description": "If Stripe disabled automatic tax, this enum describes why." + }, + "enabled": { + "type": "boolean", + "description": "Whether Stripe automatically computes tax on invoices created during this phase." + }, + "liability": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Klarna.Dob" + "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.Phase.AutomaticTax.Liability" } ], "nullable": true, - "description": "The customer's date of birth, if provided." + "description": "The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account." } }, + "required": [ + "disabled_reason", + "enabled", + "liability" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentMethod.Konbini": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentMethod.KrCard.Brand": { + "stripe.Stripe.SubscriptionSchedule.Phase.BillingCycleAnchor": { "type": "string", "enum": [ - "bc", - "citi", - "hana", - "hyundai", - "jeju", - "jeonbuk", - "kakaobank", - "kbank", - "kdbbank", - "kookmin", - "kwangju", - "lotte", - "mg", - "nh", - "post", - "samsung", - "savingsbank", - "shinhan", - "shinhyup", - "suhyup", - "tossbank", - "woori" + "automatic", + "phase_start" ] }, - "stripe.Stripe.PaymentMethod.KrCard": { + "stripe.Stripe.SubscriptionSchedule.Phase.BillingThresholds": { "properties": { - "brand": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.KrCard.Brand" - } - ], + "amount_gte": { + "type": "number", + "format": "double", "nullable": true, - "description": "The local credit or debit card brand." + "description": "Monetary threshold that triggers the subscription to create an invoice" }, - "last4": { - "type": "string", + "reset_billing_cycle_anchor": { + "type": "boolean", "nullable": true, - "description": "The last four digits of the card. This may not be present for American Express cards." + "description": "Indicates if the `billing_cycle_anchor` should be reset when a threshold is reached. If true, `billing_cycle_anchor` will be updated to the date/time the threshold was last reached; otherwise, the value will remain unchanged. This value may not be `true` if the subscription contains items with plans that have `aggregate_usage=last_ever`." } }, "required": [ - "brand", - "last4" + "amount_gte", + "reset_billing_cycle_anchor" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentMethod.Link": { + "stripe.Stripe.SubscriptionSchedule.Phase.CollectionMethod": { + "type": "string", + "enum": [ + "charge_automatically", + "send_invoice" + ] + }, + "stripe.Stripe.DeletedCoupon": { + "description": "The DeletedCoupon object.", "properties": { - "email": { + "id": { "type": "string", - "nullable": true, - "description": "Account owner's email address." + "description": "Unique identifier for the object." }, - "persistent_token": { + "object": { "type": "string", - "description": "[Deprecated] This is a legacy parameter that no longer has any function.", - "deprecated": true + "enum": [ + "coupon" + ], + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." + }, + "deleted": { + "type": "boolean", + "enum": [ + true + ], + "nullable": false, + "description": "Always true for a deleted object" } }, "required": [ - "email" + "id", + "object", + "deleted" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentMethod.Mobilepay": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentMethod.Multibanco": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentMethod.NaverPay.Funding": { - "type": "string", - "enum": [ - "card", - "points" - ] - }, - "stripe.Stripe.PaymentMethod.NaverPay": { + "stripe.Stripe.SubscriptionSchedule.Phase.Discount": { "properties": { - "funding": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.NaverPay.Funding", - "description": "Whether to fund this transaction with Naver Pay points or a card." + "coupon": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Coupon" + } + ], + "nullable": true, + "description": "ID of the coupon to create a new discount for." + }, + "discount": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Discount" + } + ], + "nullable": true, + "description": "ID of an existing discount on the object (or one of its ancestors) to reuse." + }, + "promotion_code": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.PromotionCode" + } + ], + "nullable": true, + "description": "ID of the promotion code to create a new discount for." } }, "required": [ - "funding" + "coupon", + "discount", + "promotion_code" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentMethod.Oxxo": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentMethod.P24.Bank": { + "stripe.Stripe.SubscriptionSchedule.Phase.InvoiceSettings.Issuer.Type": { "type": "string", "enum": [ - "alior_bank", - "bank_millennium", - "bank_nowy_bfg_sa", - "bank_pekao_sa", - "banki_spbdzielcze", - "blik", - "bnp_paribas", - "boz", - "citi_handlowy", - "credit_agricole", - "envelobank", - "etransfer_pocztowy24", - "getin_bank", - "ideabank", - "ing", - "inteligo", - "mbank_mtransfer", - "nest_przelew", - "noble_pay", - "pbac_z_ipko", - "plus_bank", - "santander_przelew24", - "tmobile_usbugi_bankowe", - "toyota_bank", - "velobank", - "volkswagen_bank" + "account", + "self" ] }, - "stripe.Stripe.PaymentMethod.P24": { + "stripe.Stripe.SubscriptionSchedule.Phase.InvoiceSettings.Issuer": { "properties": { - "bank": { - "allOf": [ + "account": { + "anyOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.P24.Bank" + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Account" } ], - "nullable": true, - "description": "The customer's bank, if provided." + "description": "The connected account being referenced when `type` is `account`." + }, + "type": { + "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.Phase.InvoiceSettings.Issuer.Type", + "description": "Type of the account referenced." } }, "required": [ - "bank" + "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentMethod.PayByBank": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentMethod.Payco": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentMethod.Paynow": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentMethod.Paypal": { + "stripe.Stripe.SubscriptionSchedule.Phase.InvoiceSettings": { "properties": { - "country": { - "type": "string", + "account_tax_ids": { + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.TaxId" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedTaxId" + } + ] + }, + "type": "array", "nullable": true, - "description": "Two-letter ISO code representing the buyer's country. Values are provided by PayPal directly (if supported) at the time of authorization or settlement. They cannot be set or mutated." + "description": "The account tax IDs associated with this phase of the subscription schedule. Will be set on invoices generated by this phase of the subscription schedule." }, - "payer_email": { - "type": "string", + "days_until_due": { + "type": "number", + "format": "double", "nullable": true, - "description": "Owner's email. Values are provided by PayPal directly\n(if supported) at the time of authorization or settlement. They cannot be set or mutated." + "description": "Number of days within which a customer must pay invoices generated by this subscription schedule. This value will be `null` for subscription schedules where `billing=charge_automatically`." }, - "payer_id": { - "type": "string", + "issuer": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.Phase.InvoiceSettings.Issuer" + } + ], "nullable": true, - "description": "PayPal account PayerID. This identifier uniquely identifies the PayPal customer." + "description": "The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account." } }, "required": [ - "country", - "payer_email", - "payer_id" + "account_tax_ids", + "days_until_due", + "issuer" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentMethod.Pix": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentMethod.Promptpay": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentMethod.RadarOptions": { + "stripe.Stripe.SubscriptionSchedule.Phase.Item.BillingThresholds": { "properties": { - "session": { - "type": "string", - "description": "A [Radar Session](https://stripe.com/docs/radar/radar-session) is a snapshot of the browser metadata and device details that help Radar make more accurate predictions on your payments." + "usage_gte": { + "type": "number", + "format": "double", + "nullable": true, + "description": "Usage threshold that triggers the subscription to create an invoice" } }, + "required": [ + "usage_gte" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentMethod.RevolutPay": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentMethod.SamsungPay": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentMethod.SepaDebit.GeneratedFrom": { + "stripe.Stripe.SubscriptionSchedule.Phase.Item.Discount": { "properties": { - "charge": { + "coupon": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.Charge" + "$ref": "#/components/schemas/stripe.Stripe.Coupon" } ], "nullable": true, - "description": "The ID of the Charge that generated this PaymentMethod, if any." + "description": "ID of the coupon to create a new discount for." }, - "setup_attempt": { + "discount": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt" + "$ref": "#/components/schemas/stripe.Stripe.Discount" } ], "nullable": true, - "description": "The ID of the SetupAttempt that generated this PaymentMethod, if any." - } - }, - "required": [ - "charge", - "setup_attempt" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentMethod.SepaDebit": { - "properties": { - "bank_code": { - "type": "string", - "nullable": true, - "description": "Bank code of bank associated with the bank account." - }, - "branch_code": { - "type": "string", - "nullable": true, - "description": "Branch code of bank associated with the bank account." - }, - "country": { - "type": "string", - "nullable": true, - "description": "Two-letter ISO code representing the country the bank account is located in." - }, - "fingerprint": { - "type": "string", - "nullable": true, - "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same." + "description": "ID of an existing discount on the object (or one of its ancestors) to reuse." }, - "generated_from": { - "allOf": [ + "promotion_code": { + "anyOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.SepaDebit.GeneratedFrom" + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.PromotionCode" } ], "nullable": true, - "description": "Information about the object that generated this PaymentMethod." - }, - "last4": { - "type": "string", - "nullable": true, - "description": "Last four characters of the IBAN." + "description": "ID of the promotion code to create a new discount for." } }, "required": [ - "bank_code", - "branch_code", - "country", - "fingerprint", - "generated_from", - "last4" + "coupon", + "discount", + "promotion_code" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentMethod.Sofort": { + "stripe.Stripe.DeletedPlan": { + "description": "The DeletedPlan object.", "properties": { - "country": { + "id": { "type": "string", - "nullable": true, - "description": "Two-letter ISO code representing the country the bank account is located in." + "description": "Unique identifier for the object." + }, + "object": { + "type": "string", + "enum": [ + "plan" + ], + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." + }, + "deleted": { + "type": "boolean", + "enum": [ + true + ], + "nullable": false, + "description": "Always true for a deleted object" } }, "required": [ - "country" + "id", + "object", + "deleted" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentMethod.Swish": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentMethod.Twint": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentMethod.Type": { - "type": "string", - "enum": [ - "acss_debit", - "affirm", - "afterpay_clearpay", - "alipay", - "alma", - "amazon_pay", - "au_becs_debit", - "bacs_debit", - "bancontact", - "blik", - "boleto", - "card", - "card_present", - "cashapp", - "customer_balance", - "eps", - "fpx", - "giropay", - "grabpay", - "ideal", - "interac_present", - "kakao_pay", - "klarna", - "konbini", - "kr_card", - "link", - "mobilepay", - "multibanco", - "naver_pay", - "oxxo", - "p24", - "pay_by_bank", - "payco", - "paynow", - "paypal", - "pix", - "promptpay", - "revolut_pay", - "samsung_pay", - "sepa_debit", - "sofort", - "swish", - "twint", - "us_bank_account", - "wechat_pay", - "zip" - ] - }, - "stripe.Stripe.PaymentMethod.UsBankAccount.AccountHolderType": { - "type": "string", - "enum": [ - "company", - "individual" - ] - }, - "stripe.Stripe.PaymentMethod.UsBankAccount.AccountType": { - "type": "string", - "enum": [ - "checking", - "savings" - ] - }, - "stripe.Stripe.PaymentMethod.UsBankAccount.Networks.Supported": { - "type": "string", - "enum": [ - "ach", - "us_domestic_wire" - ] - }, - "stripe.Stripe.PaymentMethod.UsBankAccount.Networks": { + "stripe.Stripe.SubscriptionSchedule.Phase.Item": { "properties": { - "preferred": { - "type": "string", + "billing_thresholds": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.Phase.Item.BillingThresholds" + } + ], "nullable": true, - "description": "The preferred network." + "description": "Define thresholds at which an invoice will be sent, and the related subscription advanced to a new billing period" }, - "supported": { + "discounts": { "items": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.UsBankAccount.Networks.Supported" + "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.Phase.Item.Discount" }, "type": "array", - "description": "All supported networks." + "description": "The discounts applied to the subscription item. Subscription item discounts are applied before subscription discounts. Use `expand[]=discounts` to expand each discount." + }, + "metadata": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Metadata" + } + ], + "nullable": true, + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an item. Metadata on this item will update the underlying subscription item's `metadata` when the phase is entered." + }, + "plan": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Plan" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedPlan" + } + ], + "description": "ID of the plan to which the customer should be subscribed." + }, + "price": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Price" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedPrice" + } + ], + "description": "ID of the price to which the customer should be subscribed." + }, + "quantity": { + "type": "number", + "format": "double", + "description": "Quantity of the plan to which the customer should be subscribed." + }, + "tax_rates": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.TaxRate" + }, + "type": "array", + "nullable": true, + "description": "The tax rates which apply to this `phase_item`. When set, the `default_tax_rates` on the phase do not apply to this `phase_item`." } }, "required": [ - "preferred", - "supported" + "billing_thresholds", + "discounts", + "metadata", + "plan", + "price" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentMethod.UsBankAccount.StatusDetails.Blocked.NetworkCode": { - "type": "string", - "enum": [ - "R02", - "R03", - "R04", - "R05", - "R07", - "R08", - "R10", - "R11", - "R16", - "R20", - "R29", - "R31" - ] - }, - "stripe.Stripe.PaymentMethod.UsBankAccount.StatusDetails.Blocked.Reason": { + "stripe.Stripe.SubscriptionSchedule.Phase.ProrationBehavior": { "type": "string", "enum": [ - "bank_account_closed", - "bank_account_frozen", - "bank_account_invalid_details", - "bank_account_restricted", - "bank_account_unusable", - "debit_not_authorized" + "always_invoice", + "create_prorations", + "none" ] }, - "stripe.Stripe.PaymentMethod.UsBankAccount.StatusDetails.Blocked": { + "stripe.Stripe.SubscriptionSchedule.Phase.TransferData": { "properties": { - "network_code": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.UsBankAccount.StatusDetails.Blocked.NetworkCode" - } - ], + "amount_percent": { + "type": "number", + "format": "double", "nullable": true, - "description": "The ACH network code that resulted in this block." + "description": "A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount is transferred to the destination." }, - "reason": { - "allOf": [ + "destination": { + "anyOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.UsBankAccount.StatusDetails.Blocked.Reason" + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Account" } ], - "nullable": true, - "description": "The reason why this PaymentMethod's fingerprint has been blocked" + "description": "The account where funds from the payment will be transferred to upon payment success." } }, "required": [ - "network_code", - "reason" + "amount_percent", + "destination" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.PaymentMethod.UsBankAccount.StatusDetails": { - "properties": { - "blocked": { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.UsBankAccount.StatusDetails.Blocked" - } - }, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentMethod.UsBankAccount": { + "stripe.Stripe.SubscriptionSchedule.Phase": { "properties": { - "account_holder_type": { + "add_invoice_items": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.Phase.AddInvoiceItem" + }, + "type": "array", + "description": "A list of prices and quantities that will generate invoice items appended to the next invoice for this phase." + }, + "application_fee_percent": { + "type": "number", + "format": "double", + "nullable": true, + "description": "A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account during this phase of the schedule." + }, + "automatic_tax": { + "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.Phase.AutomaticTax" + }, + "billing_cycle_anchor": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.UsBankAccount.AccountHolderType" + "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.Phase.BillingCycleAnchor" } ], "nullable": true, - "description": "Account holder type: individual or company." + "description": "Possible values are `phase_start` or `automatic`. If `phase_start` then billing cycle anchor of the subscription is set to the start of the phase when entering the phase. If `automatic` then the billing cycle anchor is automatically modified as needed when entering the phase. For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle)." }, - "account_type": { + "billing_thresholds": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.UsBankAccount.AccountType" + "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.Phase.BillingThresholds" } ], "nullable": true, - "description": "Account type: checkings or savings. Defaults to checking if omitted." - }, - "bank_name": { - "type": "string", - "nullable": true, - "description": "The name of the bank." + "description": "Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period" }, - "financial_connections_account": { - "type": "string", + "collection_method": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.Phase.CollectionMethod" + } + ], "nullable": true, - "description": "The ID of the Financial Connections Account used to create the payment method." + "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay the underlying subscription at the end of each billing cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`." }, - "fingerprint": { - "type": "string", + "coupon": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Coupon" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedCoupon" + } + ], "nullable": true, - "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same." + "description": "ID of the coupon to use during this phase of the subscription schedule." }, - "last4": { + "currency": { "type": "string", - "nullable": true, - "description": "Last four digits of the bank account number." + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." }, - "networks": { - "allOf": [ + "default_payment_method": { + "anyOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.UsBankAccount.Networks" + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod" } ], "nullable": true, - "description": "Contains information about US bank account networks that can be used." + "description": "ID of the default payment method for the subscription schedule. It must belong to the customer associated with the subscription schedule. If not set, invoices will use the default payment method in the customer's invoice settings." }, - "routing_number": { + "default_tax_rates": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.TaxRate" + }, + "type": "array", + "nullable": true, + "description": "The default tax rates to apply to the subscription during this phase of the subscription schedule." + }, + "description": { "type": "string", "nullable": true, - "description": "Routing number of the bank account." + "description": "Subscription description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs." }, - "status_details": { + "discounts": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.Phase.Discount" + }, + "type": "array", + "description": "The stackable discounts that will be applied to the subscription on this phase. Subscription item discounts are applied before subscription discounts." + }, + "end_date": { + "type": "number", + "format": "double", + "description": "The end of this phase of the subscription schedule." + }, + "invoice_settings": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.UsBankAccount.StatusDetails" + "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.Phase.InvoiceSettings" } ], "nullable": true, - "description": "Contains information about the future reusability of this PaymentMethod." - } - }, - "required": [ - "account_holder_type", - "account_type", - "bank_name", - "financial_connections_account", - "fingerprint", - "last4", - "networks", - "routing_number", - "status_details" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentMethod.WechatPay": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.PaymentMethod.Zip": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Customer.InvoiceSettings.RenderingOptions": { - "properties": { - "amount_tax_display": { - "type": "string", - "nullable": true, - "description": "How line-item prices and amounts will be displayed with respect to tax on invoice PDFs." + "description": "The invoice settings applicable during this phase." }, - "template": { - "type": "string", - "nullable": true, - "description": "ID of the invoice rendering template to be used for this customer's invoices. If set, the template will be used on all invoices for this customer unless a template is set directly on the invoice." - } - }, - "required": [ - "amount_tax_display", - "template" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Customer.InvoiceSettings": { - "properties": { - "custom_fields": { + "items": { "items": { - "$ref": "#/components/schemas/stripe.Stripe.Customer.InvoiceSettings.CustomField" + "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.Phase.Item" }, "type": "array", + "description": "Subscription items to configure the subscription to during this phase of the subscription schedule." + }, + "metadata": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Metadata" + } + ], "nullable": true, - "description": "Default custom fields to be displayed on invoices for this customer." + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to a phase. Metadata on a schedule's phase will update the underlying subscription's `metadata` when the phase is entered. Updating the underlying subscription's `metadata` directly will not affect the current phase's `metadata`." }, - "default_payment_method": { + "on_behalf_of": { "anyOf": [ { "type": "string" }, { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod" + "$ref": "#/components/schemas/stripe.Stripe.Account" } ], "nullable": true, - "description": "ID of a payment method that's attached to the customer, to be used as the customer's default payment method for subscriptions and invoices." + "description": "The account (if any) the charge was made on behalf of for charges associated with the schedule's subscription. See the Connect documentation for details." }, - "footer": { - "type": "string", - "nullable": true, - "description": "Default footer to be displayed on invoices for this customer." + "proration_behavior": { + "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.Phase.ProrationBehavior", + "description": "If the subscription schedule will prorate when transitioning to this phase. Possible values are `create_prorations` and `none`." }, - "rendering_options": { + "start_date": { + "type": "number", + "format": "double", + "description": "The start of this phase of the subscription schedule." + }, + "transfer_data": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Customer.InvoiceSettings.RenderingOptions" + "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.Phase.TransferData" } ], "nullable": true, - "description": "Default options for invoice PDF rendering for this customer." + "description": "The account (if any) the associated subscription's payments will be attributed to for tax reporting, and where funds from each payment will be transferred to for each of the subscription's invoices." + }, + "trial_end": { + "type": "number", + "format": "double", + "nullable": true, + "description": "When the trial ends within the phase." } }, "required": [ - "custom_fields", + "add_invoice_items", + "application_fee_percent", + "billing_cycle_anchor", + "billing_thresholds", + "collection_method", + "coupon", + "currency", "default_payment_method", - "footer", - "rendering_options" + "description", + "discounts", + "end_date", + "invoice_settings", + "items", + "metadata", + "on_behalf_of", + "proration_behavior", + "start_date", + "transfer_data", + "trial_end" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Customer.Shipping": { + "stripe.Stripe.SubscriptionSchedule.Status": { + "type": "string", + "enum": [ + "active", + "canceled", + "completed", + "not_started", + "released" + ] + }, + "stripe.Stripe.SubscriptionSchedule": { + "description": "A subscription schedule allows you to create and manage the lifecycle of a subscription by predefining expected changes.\n\nRelated guide: [Subscription schedules](https://stripe.com/docs/billing/subscriptions/subscription-schedules)", "properties": { - "address": { - "$ref": "#/components/schemas/stripe.Stripe.Address" + "id": { + "type": "string", + "description": "Unique identifier for the object." }, - "carrier": { + "object": { "type": "string", + "enum": [ + "subscription_schedule" + ], + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." + }, + "application": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Application" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedApplication" + } + ], "nullable": true, - "description": "The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc." + "description": "ID of the Connect Application that created the schedule." }, - "name": { - "type": "string", - "description": "Recipient name." + "canceled_at": { + "type": "number", + "format": "double", + "nullable": true, + "description": "Time at which the subscription schedule was canceled. Measured in seconds since the Unix epoch." }, - "phone": { - "type": "string", + "completed_at": { + "type": "number", + "format": "double", "nullable": true, - "description": "Recipient phone (including extension)." + "description": "Time at which the subscription schedule was completed. Measured in seconds since the Unix epoch." }, - "tracking_number": { - "type": "string", + "created": { + "type": "number", + "format": "double", + "description": "Time at which the object was created. Measured in seconds since the Unix epoch." + }, + "current_phase": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.CurrentPhase" + } + ], "nullable": true, - "description": "The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas." - } - }, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.ApiList_stripe.Stripe.CustomerSource_": { - "description": "A container for paginated lists of objects.\nThe array of objects is on the `.data` property,\nand `.has_more` indicates whether there are additional objects beyond the end of this list.\n\nLearn more in Stripe's [pagination docs](https://stripe.com/docs/api/pagination?lang=node)\nor, when iterating over many items, try [auto-pagination](https://github.com/stripe/stripe-node#auto-pagination) instead.", - "properties": { - "object": { - "type": "string", - "enum": [ - "list" + "description": "Object representing the start and end dates for the current phase of the subscription schedule, if it is `active`." + }, + "customer": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Customer" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedCustomer" + } ], - "nullable": false + "description": "ID of the customer who owns the subscription schedule." }, - "data": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.CustomerSource" - }, - "type": "array" + "default_settings": { + "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.DefaultSettings" }, - "has_more": { + "end_behavior": { + "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.EndBehavior", + "description": "Behavior of the subscription schedule and underlying subscription when it ends. Possible values are `release` or `cancel` with the default being `release`. `release` will end the subscription schedule and keep the underlying subscription running. `cancel` will end the subscription schedule and cancel the underlying subscription." + }, + "livemode": { "type": "boolean", - "description": "True if this list has another page of items after this one that can be fetched." + "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." }, - "url": { - "type": "string", - "description": "The URL where this list can be accessed." - } - }, - "required": [ - "object", - "data", - "has_more", - "url" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.ApiList_stripe.Stripe.Subscription_": { - "description": "A container for paginated lists of objects.\nThe array of objects is on the `.data` property,\nand `.has_more` indicates whether there are additional objects beyond the end of this list.\n\nLearn more in Stripe's [pagination docs](https://stripe.com/docs/api/pagination?lang=node)\nor, when iterating over many items, try [auto-pagination](https://github.com/stripe/stripe-node#auto-pagination) instead.", - "properties": { - "object": { - "type": "string", - "enum": [ - "list" + "metadata": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Metadata" + } ], - "nullable": false + "nullable": true, + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." }, - "data": { + "phases": { "items": { - "$ref": "#/components/schemas/stripe.Stripe.Subscription" + "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.Phase" }, - "type": "array" + "type": "array", + "description": "Configuration for the subscription schedule's phases." }, - "has_more": { - "type": "boolean", - "description": "True if this list has another page of items after this one that can be fetched." + "released_at": { + "type": "number", + "format": "double", + "nullable": true, + "description": "Time at which the subscription schedule was released. Measured in seconds since the Unix epoch." }, - "url": { + "released_subscription": { "type": "string", - "description": "The URL where this list can be accessed." + "nullable": true, + "description": "ID of the subscription once managed by the subscription schedule (if it is released)." + }, + "status": { + "$ref": "#/components/schemas/stripe.Stripe.SubscriptionSchedule.Status", + "description": "The present status of the subscription schedule. Possible values are `not_started`, `active`, `completed`, `released`, and `canceled`. You can read more about the different states in our [behavior guide](https://stripe.com/docs/billing/subscriptions/subscription-schedules)." + }, + "subscription": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Subscription" + } + ], + "nullable": true, + "description": "ID of the subscription managed by the subscription schedule." + }, + "test_clock": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.TestHelpers.TestClock" + } + ], + "nullable": true, + "description": "ID of the test clock this subscription schedule belongs to." } }, "required": [ + "id", "object", - "data", - "has_more", - "url" + "application", + "canceled_at", + "completed_at", + "created", + "current_phase", + "customer", + "default_settings", + "end_behavior", + "livemode", + "metadata", + "phases", + "released_at", + "released_subscription", + "status", + "subscription", + "test_clock" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Customer.Tax.AutomaticTax": { - "type": "string", - "enum": [ - "failed", - "not_collecting", - "supported", - "unrecognized_location" - ] - }, - "stripe.Stripe.Customer.Tax.Location.Source": { - "type": "string", - "enum": [ - "billing_address", - "ip_address", - "payment_method", - "shipping_destination" - ] - }, - "stripe.Stripe.Customer.Tax.Location": { + "stripe.Stripe.Quote.TotalDetails.Breakdown.Discount": { "properties": { - "country": { - "type": "string", - "description": "The customer's country as identified by Stripe Tax." - }, - "source": { - "$ref": "#/components/schemas/stripe.Stripe.Customer.Tax.Location.Source", - "description": "The data source used to infer the customer's location." + "amount": { + "type": "number", + "format": "double", + "description": "The amount discounted." }, - "state": { - "type": "string", - "nullable": true, - "description": "The customer's state, county, province, or region as identified by Stripe Tax." + "discount": { + "$ref": "#/components/schemas/stripe.Stripe.Discount", + "description": "A discount represents the actual application of a [coupon](https://stripe.com/docs/api#coupons) or [promotion code](https://stripe.com/docs/api#promotion_codes).\nIt contains information about when the discount began, when it will end, and what it is applied to.\n\nRelated guide: [Applying discounts to subscriptions](https://stripe.com/docs/billing/subscriptions/discounts)" } }, "required": [ - "country", - "source", - "state" + "amount", + "discount" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Customer.Tax": { + "stripe.Stripe.Quote.TotalDetails.Breakdown.Tax.TaxabilityReason": { + "type": "string", + "enum": [ + "customer_exempt", + "not_collecting", + "not_subject_to_tax", + "not_supported", + "portion_product_exempt", + "portion_reduced_rated", + "portion_standard_rated", + "product_exempt", + "product_exempt_holiday", + "proportionally_rated", + "reduced_rated", + "reverse_charge", + "standard_rated", + "taxable_basis_reduced", + "zero_rated" + ] + }, + "stripe.Stripe.Quote.TotalDetails.Breakdown.Tax": { "properties": { - "automatic_tax": { - "$ref": "#/components/schemas/stripe.Stripe.Customer.Tax.AutomaticTax", - "description": "Surfaces if automatic tax computation is possible given the current customer location information." + "amount": { + "type": "number", + "format": "double", + "description": "Amount of tax applied for this rate." }, - "ip_address": { - "type": "string", - "nullable": true, - "description": "A recent IP address of the customer used for tax reporting and tax location inference." + "rate": { + "$ref": "#/components/schemas/stripe.Stripe.TaxRate", + "description": "Tax rates can be applied to [invoices](https://stripe.com/invoicing/taxes/tax-rates), [subscriptions](https://stripe.com/billing/taxes/tax-rates) and [Checkout Sessions](https://stripe.com/payments/checkout/use-manual-tax-rates) to collect tax.\n\nRelated guide: [Tax rates](https://stripe.com/billing/taxes/tax-rates)" }, - "location": { + "taxability_reason": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Customer.Tax.Location" + "$ref": "#/components/schemas/stripe.Stripe.Quote.TotalDetails.Breakdown.Tax.TaxabilityReason" } ], "nullable": true, - "description": "The customer's location as identified by Stripe Tax." + "description": "The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported." + }, + "taxable_amount": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The amount on which tax is calculated, in cents (or local equivalent)." } }, "required": [ - "automatic_tax", - "ip_address", - "location" + "amount", + "rate", + "taxability_reason", + "taxable_amount" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Customer.TaxExempt": { - "type": "string", - "enum": [ - "exempt", - "none", - "reverse" - ] - }, - "stripe.Stripe.ApiList_stripe.Stripe.TaxId_": { - "description": "A container for paginated lists of objects.\nThe array of objects is on the `.data` property,\nand `.has_more` indicates whether there are additional objects beyond the end of this list.\n\nLearn more in Stripe's [pagination docs](https://stripe.com/docs/api/pagination?lang=node)\nor, when iterating over many items, try [auto-pagination](https://github.com/stripe/stripe-node#auto-pagination) instead.", + "stripe.Stripe.Quote.TotalDetails.Breakdown": { "properties": { - "object": { - "type": "string", - "enum": [ - "list" - ], - "nullable": false - }, - "data": { + "discounts": { "items": { - "$ref": "#/components/schemas/stripe.Stripe.TaxId" + "$ref": "#/components/schemas/stripe.Stripe.Quote.TotalDetails.Breakdown.Discount" }, - "type": "array" - }, - "has_more": { - "type": "boolean", - "description": "True if this list has another page of items after this one that can be fetched." + "type": "array", + "description": "The aggregated discounts." }, - "url": { - "type": "string", - "description": "The URL where this list can be accessed." + "taxes": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Quote.TotalDetails.Breakdown.Tax" + }, + "type": "array", + "description": "The aggregated tax amounts by rate." } }, "required": [ - "object", - "data", - "has_more", - "url" + "discounts", + "taxes" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.BankAccount.FutureRequirements.Error.Code": { - "type": "string", - "enum": [ - "invalid_address_city_state_postal_code", - "invalid_address_highway_contract_box", - "invalid_address_private_mailbox", - "invalid_business_profile_name", - "invalid_business_profile_name_denylisted", - "invalid_company_name_denylisted", - "invalid_dob_age_over_maximum", - "invalid_dob_age_under_18", - "invalid_dob_age_under_minimum", - "invalid_product_description_length", - "invalid_product_description_url_match", - "invalid_representative_country", - "invalid_statement_descriptor_business_mismatch", - "invalid_statement_descriptor_denylisted", - "invalid_statement_descriptor_length", - "invalid_statement_descriptor_prefix_denylisted", - "invalid_statement_descriptor_prefix_mismatch", - "invalid_street_address", - "invalid_tax_id", - "invalid_tax_id_format", - "invalid_tos_acceptance", - "invalid_url_denylisted", - "invalid_url_format", - "invalid_url_length", - "invalid_url_web_presence_detected", - "invalid_url_website_business_information_mismatch", - "invalid_url_website_empty", - "invalid_url_website_inaccessible", - "invalid_url_website_inaccessible_geoblocked", - "invalid_url_website_inaccessible_password_protected", - "invalid_url_website_incomplete", - "invalid_url_website_incomplete_cancellation_policy", - "invalid_url_website_incomplete_customer_service_details", - "invalid_url_website_incomplete_legal_restrictions", - "invalid_url_website_incomplete_refund_policy", - "invalid_url_website_incomplete_return_policy", - "invalid_url_website_incomplete_terms_and_conditions", - "invalid_url_website_incomplete_under_construction", - "invalid_url_website_other", - "invalid_value_other", - "verification_directors_mismatch", - "verification_document_address_mismatch", - "verification_document_address_missing", - "verification_document_corrupt", - "verification_document_country_not_supported", - "verification_document_directors_mismatch", - "verification_document_dob_mismatch", - "verification_document_duplicate_type", - "verification_document_expired", - "verification_document_failed_copy", - "verification_document_failed_greyscale", - "verification_document_failed_other", - "verification_document_failed_test_mode", - "verification_document_fraudulent", - "verification_document_id_number_mismatch", - "verification_document_id_number_missing", - "verification_document_incomplete", - "verification_document_invalid", - "verification_document_issue_or_expiry_date_missing", - "verification_document_manipulated", - "verification_document_missing_back", - "verification_document_missing_front", - "verification_document_name_mismatch", - "verification_document_name_missing", - "verification_document_nationality_mismatch", - "verification_document_not_readable", - "verification_document_not_signed", - "verification_document_not_uploaded", - "verification_document_photo_mismatch", - "verification_document_too_large", - "verification_document_type_not_supported", - "verification_extraneous_directors", - "verification_failed_address_match", - "verification_failed_business_iec_number", - "verification_failed_document_match", - "verification_failed_id_number_match", - "verification_failed_keyed_identity", - "verification_failed_keyed_match", - "verification_failed_name_match", - "verification_failed_other", - "verification_failed_representative_authority", - "verification_failed_residential_address", - "verification_failed_tax_id_match", - "verification_failed_tax_id_not_issued", - "verification_missing_directors", - "verification_missing_executives", - "verification_missing_owners", - "verification_requires_additional_memorandum_of_associations", - "verification_requires_additional_proof_of_registration", - "verification_supportability" - ] - }, - "stripe.Stripe.BankAccount.FutureRequirements.Error": { + "stripe.Stripe.Quote.TotalDetails": { "properties": { - "code": { - "$ref": "#/components/schemas/stripe.Stripe.BankAccount.FutureRequirements.Error.Code", - "description": "The code for the type of error." + "amount_discount": { + "type": "number", + "format": "double", + "description": "This is the sum of all the discounts." }, - "reason": { - "type": "string", - "description": "An informative message that indicates the error type and provides additional details about the error." + "amount_shipping": { + "type": "number", + "format": "double", + "nullable": true, + "description": "This is the sum of all the shipping amounts." }, - "requirement": { - "type": "string", - "description": "The specific user onboarding requirement field (in the requirements hash) that needs to be resolved." + "amount_tax": { + "type": "number", + "format": "double", + "description": "This is the sum of all the tax amounts." + }, + "breakdown": { + "$ref": "#/components/schemas/stripe.Stripe.Quote.TotalDetails.Breakdown" } }, "required": [ - "code", - "reason", - "requirement" + "amount_discount", + "amount_shipping", + "amount_tax" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.BankAccount.FutureRequirements": { + "stripe.Stripe.Quote.TransferData": { "properties": { - "currently_due": { - "items": { - "type": "string" - }, - "type": "array", - "nullable": true, - "description": "Fields that need to be collected to keep the external account enabled. If not collected by `current_deadline`, these fields appear in `past_due` as well, and the account is disabled." - }, - "errors": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.BankAccount.FutureRequirements.Error" - }, - "type": "array", + "amount": { + "type": "number", + "format": "double", "nullable": true, - "description": "Fields that are `currently_due` and need to be collected again because validation or verification failed." + "description": "The amount in cents (or local equivalent) that will be transferred to the destination account when the invoice is paid. By default, the entire amount is transferred to the destination." }, - "past_due": { - "items": { - "type": "string" - }, - "type": "array", + "amount_percent": { + "type": "number", + "format": "double", "nullable": true, - "description": "Fields that weren't collected by `current_deadline`. These fields need to be collected to enable the external account." + "description": "A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount will be transferred to the destination." }, - "pending_verification": { - "items": { - "type": "string" - }, - "type": "array", - "nullable": true, - "description": "Fields that might become required depending on the results of verification or review. It's an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due`, `currently_due`, or `past_due`. Fields might appear in `eventually_due`, `currently_due`, or `past_due` and in `pending_verification` if verification fails but another verification is still pending." + "destination": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Account" + } + ], + "description": "The account where funds from the payment will be transferred to upon payment success." } }, "required": [ - "currently_due", - "errors", - "past_due", - "pending_verification" + "amount", + "amount_percent", + "destination" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.BankAccount.Requirements.Error.Code": { + "stripe.Stripe.Invoice.Rendering.Pdf.PageSize": { "type": "string", "enum": [ - "invalid_address_city_state_postal_code", - "invalid_address_highway_contract_box", - "invalid_address_private_mailbox", - "invalid_business_profile_name", - "invalid_business_profile_name_denylisted", - "invalid_company_name_denylisted", - "invalid_dob_age_over_maximum", - "invalid_dob_age_under_18", - "invalid_dob_age_under_minimum", - "invalid_product_description_length", - "invalid_product_description_url_match", - "invalid_representative_country", - "invalid_statement_descriptor_business_mismatch", - "invalid_statement_descriptor_denylisted", - "invalid_statement_descriptor_length", - "invalid_statement_descriptor_prefix_denylisted", - "invalid_statement_descriptor_prefix_mismatch", - "invalid_street_address", - "invalid_tax_id", - "invalid_tax_id_format", - "invalid_tos_acceptance", - "invalid_url_denylisted", - "invalid_url_format", - "invalid_url_length", - "invalid_url_web_presence_detected", - "invalid_url_website_business_information_mismatch", - "invalid_url_website_empty", - "invalid_url_website_inaccessible", - "invalid_url_website_inaccessible_geoblocked", - "invalid_url_website_inaccessible_password_protected", - "invalid_url_website_incomplete", - "invalid_url_website_incomplete_cancellation_policy", - "invalid_url_website_incomplete_customer_service_details", - "invalid_url_website_incomplete_legal_restrictions", - "invalid_url_website_incomplete_refund_policy", - "invalid_url_website_incomplete_return_policy", - "invalid_url_website_incomplete_terms_and_conditions", - "invalid_url_website_incomplete_under_construction", - "invalid_url_website_other", - "invalid_value_other", - "verification_directors_mismatch", - "verification_document_address_mismatch", - "verification_document_address_missing", - "verification_document_corrupt", - "verification_document_country_not_supported", - "verification_document_directors_mismatch", - "verification_document_dob_mismatch", - "verification_document_duplicate_type", - "verification_document_expired", - "verification_document_failed_copy", - "verification_document_failed_greyscale", - "verification_document_failed_other", - "verification_document_failed_test_mode", - "verification_document_fraudulent", - "verification_document_id_number_mismatch", - "verification_document_id_number_missing", - "verification_document_incomplete", - "verification_document_invalid", - "verification_document_issue_or_expiry_date_missing", - "verification_document_manipulated", - "verification_document_missing_back", - "verification_document_missing_front", - "verification_document_name_mismatch", - "verification_document_name_missing", - "verification_document_nationality_mismatch", - "verification_document_not_readable", - "verification_document_not_signed", - "verification_document_not_uploaded", - "verification_document_photo_mismatch", - "verification_document_too_large", - "verification_document_type_not_supported", - "verification_extraneous_directors", - "verification_failed_address_match", - "verification_failed_business_iec_number", - "verification_failed_document_match", - "verification_failed_id_number_match", - "verification_failed_keyed_identity", - "verification_failed_keyed_match", - "verification_failed_name_match", - "verification_failed_other", - "verification_failed_representative_authority", - "verification_failed_residential_address", - "verification_failed_tax_id_match", - "verification_failed_tax_id_not_issued", - "verification_missing_directors", - "verification_missing_executives", - "verification_missing_owners", - "verification_requires_additional_memorandum_of_associations", - "verification_requires_additional_proof_of_registration", - "verification_supportability" + "a4", + "auto", + "letter" ] }, - "stripe.Stripe.BankAccount.Requirements.Error": { + "stripe.Stripe.Invoice.Rendering.Pdf": { "properties": { - "code": { - "$ref": "#/components/schemas/stripe.Stripe.BankAccount.Requirements.Error.Code", - "description": "The code for the type of error." - }, - "reason": { - "type": "string", - "description": "An informative message that indicates the error type and provides additional details about the error." - }, - "requirement": { - "type": "string", - "description": "The specific user onboarding requirement field (in the requirements hash) that needs to be resolved." + "page_size": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.Rendering.Pdf.PageSize" + } + ], + "nullable": true, + "description": "Page size of invoice pdf. Options include a4, letter, and auto. If set to auto, page size will be switched to a4 or letter based on customer locale." } }, "required": [ - "code", - "reason", - "requirement" + "page_size" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.BankAccount.Requirements": { + "stripe.Stripe.Invoice.Rendering": { "properties": { - "currently_due": { - "items": { - "type": "string" - }, - "type": "array", + "amount_tax_display": { + "type": "string", "nullable": true, - "description": "Fields that need to be collected to keep the external account enabled. If not collected by `current_deadline`, these fields appear in `past_due` as well, and the account is disabled." + "description": "How line-item prices and amounts will be displayed with respect to tax on invoice PDFs." }, - "errors": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.BankAccount.Requirements.Error" - }, - "type": "array", + "pdf": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.Rendering.Pdf" + } + ], "nullable": true, - "description": "Fields that are `currently_due` and need to be collected again because validation or verification failed." + "description": "Invoice pdf rendering options" }, - "past_due": { - "items": { - "type": "string" - }, - "type": "array", + "template": { + "type": "string", "nullable": true, - "description": "Fields that weren't collected by `current_deadline`. These fields need to be collected to enable the external account." + "description": "ID of the rendering template that the invoice is formatted by." }, - "pending_verification": { - "items": { - "type": "string" - }, - "type": "array", + "template_version": { + "type": "number", + "format": "double", "nullable": true, - "description": "Fields that might become required depending on the results of verification or review. It's an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due`, `currently_due`, or `past_due`. Fields might appear in `eventually_due`, `currently_due`, or `past_due` and in `pending_verification` if verification fails but another verification is still pending." + "description": "Version of the rendering template that the invoice is using." } }, "required": [ - "currently_due", - "errors", - "past_due", - "pending_verification" + "amount_tax_display", + "pdf", + "template", + "template_version" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.ApiList_stripe.Stripe.ExternalAccount_": { - "description": "A container for paginated lists of objects.\nThe array of objects is on the `.data` property,\nand `.has_more` indicates whether there are additional objects beyond the end of this list.\n\nLearn more in Stripe's [pagination docs](https://stripe.com/docs/api/pagination?lang=node)\nor, when iterating over many items, try [auto-pagination](https://github.com/stripe/stripe-node#auto-pagination) instead.", + "stripe.Stripe.ShippingRate.DeliveryEstimate.Maximum.Unit": { + "type": "string", + "enum": [ + "business_day", + "day", + "hour", + "month", + "week" + ] + }, + "stripe.Stripe.ShippingRate.DeliveryEstimate.Maximum": { "properties": { - "object": { - "type": "string", - "enum": [ - "list" - ], - "nullable": false - }, - "data": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.ExternalAccount" - }, - "type": "array" + "unit": { + "$ref": "#/components/schemas/stripe.Stripe.ShippingRate.DeliveryEstimate.Maximum.Unit", + "description": "A unit of time." }, - "has_more": { - "type": "boolean", - "description": "True if this list has another page of items after this one that can be fetched." + "value": { + "type": "number", + "format": "double", + "description": "Must be greater than 0." + } + }, + "required": [ + "unit", + "value" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.ShippingRate.DeliveryEstimate.Minimum.Unit": { + "type": "string", + "enum": [ + "business_day", + "day", + "hour", + "month", + "week" + ] + }, + "stripe.Stripe.ShippingRate.DeliveryEstimate.Minimum": { + "properties": { + "unit": { + "$ref": "#/components/schemas/stripe.Stripe.ShippingRate.DeliveryEstimate.Minimum.Unit", + "description": "A unit of time." }, - "url": { - "type": "string", - "description": "The URL where this list can be accessed." + "value": { + "type": "number", + "format": "double", + "description": "Must be greater than 0." } }, "required": [ - "object", - "data", - "has_more", - "url" + "unit", + "value" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Account.FutureRequirements.Alternative": { + "stripe.Stripe.ShippingRate.DeliveryEstimate": { "properties": { - "alternative_fields_due": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Fields that can be provided to satisfy all fields in `original_fields_due`." + "maximum": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.ShippingRate.DeliveryEstimate.Maximum" + } + ], + "nullable": true, + "description": "The upper bound of the estimated range. If empty, represents no upper bound i.e., infinite." }, - "original_fields_due": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Fields that are due and can be satisfied by providing all fields in `alternative_fields_due`." + "minimum": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.ShippingRate.DeliveryEstimate.Minimum" + } + ], + "nullable": true, + "description": "The lower bound of the estimated range. If empty, represents no lower bound." } }, "required": [ - "alternative_fields_due", - "original_fields_due" + "maximum", + "minimum" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Account.FutureRequirements.DisabledReason": { + "stripe.Stripe.ShippingRate.FixedAmount.CurrencyOptions.TaxBehavior": { "type": "string", "enum": [ - "action_required.requested_capabilities", - "listed", - "other", - "platform_paused", - "rejected.fraud", - "rejected.incomplete_verification", - "rejected.listed", - "rejected.other", - "rejected.platform_fraud", - "rejected.platform_other", - "rejected.platform_terms_of_service", - "rejected.terms_of_service", - "requirements.past_due", - "requirements.pending_verification", - "under_review" + "exclusive", + "inclusive", + "unspecified" ] }, - "stripe.Stripe.Account.FutureRequirements.Error.Code": { - "type": "string", - "enum": [ - "invalid_address_city_state_postal_code", - "invalid_address_highway_contract_box", - "invalid_address_private_mailbox", - "invalid_business_profile_name", - "invalid_business_profile_name_denylisted", - "invalid_company_name_denylisted", - "invalid_dob_age_over_maximum", - "invalid_dob_age_under_18", - "invalid_dob_age_under_minimum", - "invalid_product_description_length", - "invalid_product_description_url_match", - "invalid_representative_country", - "invalid_statement_descriptor_business_mismatch", - "invalid_statement_descriptor_denylisted", - "invalid_statement_descriptor_length", - "invalid_statement_descriptor_prefix_denylisted", - "invalid_statement_descriptor_prefix_mismatch", - "invalid_street_address", - "invalid_tax_id", - "invalid_tax_id_format", - "invalid_tos_acceptance", - "invalid_url_denylisted", - "invalid_url_format", - "invalid_url_length", - "invalid_url_web_presence_detected", - "invalid_url_website_business_information_mismatch", - "invalid_url_website_empty", - "invalid_url_website_inaccessible", - "invalid_url_website_inaccessible_geoblocked", - "invalid_url_website_inaccessible_password_protected", - "invalid_url_website_incomplete", - "invalid_url_website_incomplete_cancellation_policy", - "invalid_url_website_incomplete_customer_service_details", - "invalid_url_website_incomplete_legal_restrictions", - "invalid_url_website_incomplete_refund_policy", - "invalid_url_website_incomplete_return_policy", - "invalid_url_website_incomplete_terms_and_conditions", - "invalid_url_website_incomplete_under_construction", - "invalid_url_website_other", - "invalid_value_other", - "verification_directors_mismatch", - "verification_document_address_mismatch", - "verification_document_address_missing", - "verification_document_corrupt", - "verification_document_country_not_supported", - "verification_document_directors_mismatch", - "verification_document_dob_mismatch", - "verification_document_duplicate_type", - "verification_document_expired", - "verification_document_failed_copy", - "verification_document_failed_greyscale", - "verification_document_failed_other", - "verification_document_failed_test_mode", - "verification_document_fraudulent", - "verification_document_id_number_mismatch", - "verification_document_id_number_missing", - "verification_document_incomplete", - "verification_document_invalid", - "verification_document_issue_or_expiry_date_missing", - "verification_document_manipulated", - "verification_document_missing_back", - "verification_document_missing_front", - "verification_document_name_mismatch", - "verification_document_name_missing", - "verification_document_nationality_mismatch", - "verification_document_not_readable", - "verification_document_not_signed", - "verification_document_not_uploaded", - "verification_document_photo_mismatch", - "verification_document_too_large", - "verification_document_type_not_supported", - "verification_extraneous_directors", - "verification_failed_address_match", - "verification_failed_business_iec_number", - "verification_failed_document_match", - "verification_failed_id_number_match", - "verification_failed_keyed_identity", - "verification_failed_keyed_match", - "verification_failed_name_match", - "verification_failed_other", - "verification_failed_representative_authority", - "verification_failed_residential_address", - "verification_failed_tax_id_match", - "verification_failed_tax_id_not_issued", - "verification_missing_directors", - "verification_missing_executives", - "verification_missing_owners", - "verification_requires_additional_memorandum_of_associations", - "verification_requires_additional_proof_of_registration", - "verification_supportability" + "stripe.Stripe.ShippingRate.FixedAmount.CurrencyOptions": { + "properties": { + "amount": { + "type": "number", + "format": "double", + "description": "A non-negative integer in cents representing how much to charge." + }, + "tax_behavior": { + "$ref": "#/components/schemas/stripe.Stripe.ShippingRate.FixedAmount.CurrencyOptions.TaxBehavior", + "description": "Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`." + } + }, + "required": [ + "amount", + "tax_behavior" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.ShippingRate.FixedAmount": { + "properties": { + "amount": { + "type": "number", + "format": "double", + "description": "A non-negative integer in cents representing how much to charge." + }, + "currency": { + "type": "string", + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." + }, + "currency_options": { + "properties": {}, + "additionalProperties": { + "$ref": "#/components/schemas/stripe.Stripe.ShippingRate.FixedAmount.CurrencyOptions" + }, + "type": "object", + "description": "Shipping rates defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies)." + } + }, + "required": [ + "amount", + "currency" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.ShippingRate.TaxBehavior": { + "type": "string", + "enum": [ + "exclusive", + "inclusive", + "unspecified" ] }, - "stripe.Stripe.Account.FutureRequirements.Error": { + "stripe.Stripe.ShippingRate": { + "description": "Shipping rates describe the price of shipping presented to your customers and\napplied to a purchase. For more information, see [Charge for shipping](https://stripe.com/docs/payments/during-payment/charge-shipping).", "properties": { - "code": { - "$ref": "#/components/schemas/stripe.Stripe.Account.FutureRequirements.Error.Code", - "description": "The code for the type of error." + "id": { + "type": "string", + "description": "Unique identifier for the object." }, - "reason": { + "object": { "type": "string", - "description": "An informative message that indicates the error type and provides additional details about the error." + "enum": [ + "shipping_rate" + ], + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." }, - "requirement": { + "active": { + "type": "boolean", + "description": "Whether the shipping rate can be used for new purchases. Defaults to `true`." + }, + "created": { + "type": "number", + "format": "double", + "description": "Time at which the object was created. Measured in seconds since the Unix epoch." + }, + "delivery_estimate": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.ShippingRate.DeliveryEstimate" + } + ], + "nullable": true, + "description": "The estimated range for how long shipping will take, meant to be displayable to the customer. This will appear on CheckoutSessions." + }, + "display_name": { "type": "string", - "description": "The specific user onboarding requirement field (in the requirements hash) that needs to be resolved." + "nullable": true, + "description": "The name of the shipping rate, meant to be displayable to the customer. This will appear on CheckoutSessions." + }, + "fixed_amount": { + "$ref": "#/components/schemas/stripe.Stripe.ShippingRate.FixedAmount" + }, + "livemode": { + "type": "boolean", + "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." + }, + "metadata": { + "$ref": "#/components/schemas/stripe.Stripe.Metadata", + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." + }, + "tax_behavior": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.ShippingRate.TaxBehavior" + } + ], + "nullable": true, + "description": "Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`." + }, + "tax_code": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.TaxCode" + } + ], + "nullable": true, + "description": "A [tax code](https://stripe.com/docs/tax/tax-categories) ID. The Shipping tax code is `txcd_92010001`." + }, + "type": { + "type": "string", + "enum": [ + "fixed_amount" + ], + "nullable": false, + "description": "The type of calculation to use on the shipping rate." } }, "required": [ - "code", - "reason", - "requirement" + "id", + "object", + "active", + "created", + "delivery_estimate", + "display_name", + "livemode", + "metadata", + "tax_behavior", + "tax_code", + "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Account.FutureRequirements": { + "stripe.Stripe.Invoice.ShippingCost.Tax.TaxabilityReason": { + "type": "string", + "enum": [ + "customer_exempt", + "not_collecting", + "not_subject_to_tax", + "not_supported", + "portion_product_exempt", + "portion_reduced_rated", + "portion_standard_rated", + "product_exempt", + "product_exempt_holiday", + "proportionally_rated", + "reduced_rated", + "reverse_charge", + "standard_rated", + "taxable_basis_reduced", + "zero_rated" + ] + }, + "stripe.Stripe.Invoice.ShippingCost.Tax": { "properties": { - "alternatives": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Account.FutureRequirements.Alternative" - }, - "type": "array", - "nullable": true, - "description": "Fields that are due and can be satisfied by providing the corresponding alternative fields instead." - }, - "current_deadline": { + "amount": { "type": "number", "format": "double", - "nullable": true, - "description": "Date on which `future_requirements` becomes the main `requirements` hash and `future_requirements` becomes empty. After the transition, `currently_due` requirements may immediately become `past_due`, but the account may also be given a grace period depending on its enablement state prior to transitioning." + "description": "Amount of tax applied for this rate." }, - "currently_due": { - "items": { - "type": "string" - }, - "type": "array", - "nullable": true, - "description": "Fields that need to be collected to keep the account enabled. If not collected by `future_requirements[current_deadline]`, these fields will transition to the main `requirements` hash." + "rate": { + "$ref": "#/components/schemas/stripe.Stripe.TaxRate", + "description": "Tax rates can be applied to [invoices](https://stripe.com/invoicing/taxes/tax-rates), [subscriptions](https://stripe.com/billing/taxes/tax-rates) and [Checkout Sessions](https://stripe.com/payments/checkout/use-manual-tax-rates) to collect tax.\n\nRelated guide: [Tax rates](https://stripe.com/billing/taxes/tax-rates)" }, - "disabled_reason": { + "taxability_reason": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Account.FutureRequirements.DisabledReason" + "$ref": "#/components/schemas/stripe.Stripe.Invoice.ShippingCost.Tax.TaxabilityReason" } ], "nullable": true, - "description": "This is typed as an enum for consistency with `requirements.disabled_reason`." + "description": "The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported." }, - "errors": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Account.FutureRequirements.Error" - }, - "type": "array", + "taxable_amount": { + "type": "number", + "format": "double", "nullable": true, - "description": "Fields that are `currently_due` and need to be collected again because validation or verification failed." + "description": "The amount on which tax is calculated, in cents (or local equivalent)." + } + }, + "required": [ + "amount", + "rate", + "taxability_reason", + "taxable_amount" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Invoice.ShippingCost": { + "properties": { + "amount_subtotal": { + "type": "number", + "format": "double", + "description": "Total shipping cost before any taxes are applied." }, - "eventually_due": { - "items": { - "type": "string" - }, - "type": "array", - "nullable": true, - "description": "Fields you must collect when all thresholds are reached. As they become required, they appear in `currently_due` as well." + "amount_tax": { + "type": "number", + "format": "double", + "description": "Total tax amount applied due to shipping costs. If no tax was applied, defaults to 0." }, - "past_due": { - "items": { - "type": "string" - }, - "type": "array", + "amount_total": { + "type": "number", + "format": "double", + "description": "Total shipping cost after taxes are applied." + }, + "shipping_rate": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.ShippingRate" + } + ], "nullable": true, - "description": "Fields that weren't collected by `requirements.current_deadline`. These fields need to be collected to enable the capability on the account. New fields will never appear here; `future_requirements.past_due` will always be a subset of `requirements.past_due`." + "description": "The ID of the ShippingRate for this invoice." }, - "pending_verification": { + "taxes": { "items": { - "type": "string" + "$ref": "#/components/schemas/stripe.Stripe.Invoice.ShippingCost.Tax" }, "type": "array", - "nullable": true, - "description": "Fields that might become required depending on the results of verification or review. It's an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due` or `currently_due`. Fields might appear in `eventually_due` or `currently_due` and in `pending_verification` if verification fails but another verification is still pending." + "description": "The taxes applied to the shipping rate." } }, "required": [ - "alternatives", - "current_deadline", - "currently_due", - "disabled_reason", - "errors", - "eventually_due", - "past_due", - "pending_verification" + "amount_subtotal", + "amount_tax", + "amount_total", + "shipping_rate" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Account.Groups": { + "stripe.Stripe.Invoice.ShippingDetails": { "properties": { - "payments_pricing": { + "address": { + "$ref": "#/components/schemas/stripe.Stripe.Address" + }, + "carrier": { "type": "string", "nullable": true, - "description": "The group the account is in to determine their payments pricing, and null if the account is on customized pricing. [See the Platform pricing tool documentation](https://stripe.com/docs/connect/platform-pricing-tools) for details." + "description": "The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc." + }, + "name": { + "type": "string", + "description": "Recipient name." + }, + "phone": { + "type": "string", + "nullable": true, + "description": "Recipient phone (including extension)." + }, + "tracking_number": { + "type": "string", + "nullable": true, + "description": "The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas." } }, - "required": [ - "payments_pricing" - ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Person.AdditionalTosAcceptances.Account": { + "stripe.Stripe.Invoice.Status": { + "type": "string", + "enum": [ + "draft", + "open", + "paid", + "uncollectible", + "void" + ] + }, + "stripe.Stripe.Invoice.StatusTransitions": { "properties": { - "date": { + "finalized_at": { "type": "number", "format": "double", "nullable": true, - "description": "The Unix timestamp marking when the legal guardian accepted the service agreement." + "description": "The time that the invoice draft was finalized." }, - "ip": { - "type": "string", + "marked_uncollectible_at": { + "type": "number", + "format": "double", "nullable": true, - "description": "The IP address from which the legal guardian accepted the service agreement." + "description": "The time that the invoice was marked uncollectible." }, - "user_agent": { - "type": "string", + "paid_at": { + "type": "number", + "format": "double", "nullable": true, - "description": "The user agent of the browser from which the legal guardian accepted the service agreement." + "description": "The time that the invoice was paid." + }, + "voided_at": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The time that the invoice was voided." } }, "required": [ - "date", - "ip", - "user_agent" + "finalized_at", + "marked_uncollectible_at", + "paid_at", + "voided_at" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Person.AdditionalTosAcceptances": { + "stripe.Stripe.Invoice.SubscriptionDetails": { "properties": { - "account": { + "metadata": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Person.AdditionalTosAcceptances.Account" + "$ref": "#/components/schemas/stripe.Stripe.Metadata" } ], "nullable": true, - "description": "Details on the legal guardian's acceptance of the main Stripe service agreement." + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) defined as subscription metadata when an invoice is created. Becomes an immutable snapshot of the subscription metadata at the time of invoice finalization.\n *Note: This attribute is populated only for invoices created on or after June 29, 2023.*" } }, "required": [ - "account" + "metadata" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Person.AddressKana": { + "stripe.Stripe.Invoice.ThresholdReason.ItemReason": { "properties": { - "city": { - "type": "string", - "nullable": true, - "description": "City/Ward." - }, - "country": { - "type": "string", - "nullable": true, - "description": "Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2))." - }, - "line1": { - "type": "string", - "nullable": true, - "description": "Block/Building number." - }, - "line2": { - "type": "string", - "nullable": true, - "description": "Building details." - }, - "postal_code": { - "type": "string", - "nullable": true, - "description": "ZIP or postal code." - }, - "state": { - "type": "string", - "nullable": true, - "description": "Prefecture." + "line_item_ids": { + "items": { + "type": "string" + }, + "type": "array", + "description": "The IDs of the line items that triggered the threshold invoice." }, - "town": { - "type": "string", - "nullable": true, - "description": "Town/cho-me." + "usage_gte": { + "type": "number", + "format": "double", + "description": "The quantity threshold boundary that applied to the given line item." } }, "required": [ - "city", - "country", - "line1", - "line2", - "postal_code", - "state", - "town" + "line_item_ids", + "usage_gte" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Person.AddressKanji": { + "stripe.Stripe.Invoice.ThresholdReason": { "properties": { - "city": { - "type": "string", - "nullable": true, - "description": "City/Ward." - }, - "country": { - "type": "string", + "amount_gte": { + "type": "number", + "format": "double", "nullable": true, - "description": "Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2))." + "description": "The total invoice amount threshold boundary if it triggered the threshold invoice." }, - "line1": { - "type": "string", - "nullable": true, - "description": "Block/Building number." + "item_reasons": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.ThresholdReason.ItemReason" + }, + "type": "array", + "description": "Indicates which line items triggered a threshold invoice." + } + }, + "required": [ + "amount_gte", + "item_reasons" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Invoice.TotalDiscountAmount": { + "properties": { + "amount": { + "type": "number", + "format": "double", + "description": "The amount, in cents (or local equivalent), of the discount." }, - "line2": { - "type": "string", - "nullable": true, - "description": "Building details." + "discount": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Discount" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedDiscount" + } + ], + "description": "The discount that was applied to get this discount amount." + } + }, + "required": [ + "amount", + "discount" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Invoice.TotalPretaxCreditAmount.Type": { + "type": "string", + "enum": [ + "credit_balance_transaction", + "discount" + ] + }, + "stripe.Stripe.Invoice.TotalPretaxCreditAmount": { + "properties": { + "amount": { + "type": "number", + "format": "double", + "description": "The amount, in cents (or local equivalent), of the pretax credit amount." }, - "postal_code": { - "type": "string", + "credit_balance_transaction": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Billing.CreditBalanceTransaction" + } + ], "nullable": true, - "description": "ZIP or postal code." + "description": "The credit balance transaction that was applied to get this pretax credit amount." }, - "state": { - "type": "string", - "nullable": true, - "description": "Prefecture." + "discount": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Discount" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedDiscount" + } + ], + "description": "The discount that was applied to get this pretax credit amount." }, - "town": { - "type": "string", - "nullable": true, - "description": "Town/cho-me." + "type": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.TotalPretaxCreditAmount.Type", + "description": "Type of the pretax credit amount referenced." } }, "required": [ - "city", - "country", - "line1", - "line2", - "postal_code", - "state", - "town" + "amount", + "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Person.Dob": { + "stripe.Stripe.Invoice.TotalTaxAmount.TaxabilityReason": { + "type": "string", + "enum": [ + "customer_exempt", + "not_collecting", + "not_subject_to_tax", + "not_supported", + "portion_product_exempt", + "portion_reduced_rated", + "portion_standard_rated", + "product_exempt", + "product_exempt_holiday", + "proportionally_rated", + "reduced_rated", + "reverse_charge", + "standard_rated", + "taxable_basis_reduced", + "zero_rated" + ] + }, + "stripe.Stripe.Invoice.TotalTaxAmount": { "properties": { - "day": { + "amount": { "type": "number", "format": "double", - "nullable": true, - "description": "The day of birth, between 1 and 31." + "description": "The amount, in cents (or local equivalent), of the tax." }, - "month": { - "type": "number", - "format": "double", + "inclusive": { + "type": "boolean", + "description": "Whether this tax amount is inclusive or exclusive." + }, + "tax_rate": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.TaxRate" + } + ], + "description": "The tax rate that was applied to get this tax amount." + }, + "taxability_reason": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.TotalTaxAmount.TaxabilityReason" + } + ], "nullable": true, - "description": "The month of birth, between 1 and 12." + "description": "The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported." }, - "year": { + "taxable_amount": { "type": "number", "format": "double", "nullable": true, - "description": "The four-digit year of birth." + "description": "The amount on which tax is calculated, in cents (or local equivalent)." } }, "required": [ - "day", - "month", - "year" + "amount", + "inclusive", + "tax_rate", + "taxability_reason", + "taxable_amount" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Person.FutureRequirements.Alternative": { + "stripe.Stripe.Invoice.TransferData": { "properties": { - "alternative_fields_due": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Fields that can be provided to satisfy all fields in `original_fields_due`." + "amount": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The amount in cents (or local equivalent) that will be transferred to the destination account when the invoice is paid. By default, the entire amount is transferred to the destination." }, - "original_fields_due": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Fields that are due and can be satisfied by providing all fields in `alternative_fields_due`." + "destination": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Account" + } + ], + "description": "The account where funds from the payment will be transferred to upon payment success." } }, "required": [ - "alternative_fields_due", - "original_fields_due" + "amount", + "destination" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Person.FutureRequirements.Error.Code": { + "stripe.Stripe.PaymentIntent.LastPaymentError.Code": { "type": "string", "enum": [ - "invalid_address_city_state_postal_code", - "invalid_address_highway_contract_box", - "invalid_address_private_mailbox", - "invalid_business_profile_name", - "invalid_business_profile_name_denylisted", - "invalid_company_name_denylisted", - "invalid_dob_age_over_maximum", - "invalid_dob_age_under_18", - "invalid_dob_age_under_minimum", - "invalid_product_description_length", - "invalid_product_description_url_match", - "invalid_representative_country", - "invalid_statement_descriptor_business_mismatch", - "invalid_statement_descriptor_denylisted", - "invalid_statement_descriptor_length", - "invalid_statement_descriptor_prefix_denylisted", - "invalid_statement_descriptor_prefix_mismatch", - "invalid_street_address", - "invalid_tax_id", - "invalid_tax_id_format", - "invalid_tos_acceptance", - "invalid_url_denylisted", - "invalid_url_format", - "invalid_url_length", - "invalid_url_web_presence_detected", - "invalid_url_website_business_information_mismatch", - "invalid_url_website_empty", - "invalid_url_website_inaccessible", - "invalid_url_website_inaccessible_geoblocked", - "invalid_url_website_inaccessible_password_protected", - "invalid_url_website_incomplete", - "invalid_url_website_incomplete_cancellation_policy", - "invalid_url_website_incomplete_customer_service_details", - "invalid_url_website_incomplete_legal_restrictions", - "invalid_url_website_incomplete_refund_policy", - "invalid_url_website_incomplete_return_policy", - "invalid_url_website_incomplete_terms_and_conditions", - "invalid_url_website_incomplete_under_construction", - "invalid_url_website_other", - "invalid_value_other", - "verification_directors_mismatch", - "verification_document_address_mismatch", - "verification_document_address_missing", - "verification_document_corrupt", - "verification_document_country_not_supported", - "verification_document_directors_mismatch", - "verification_document_dob_mismatch", - "verification_document_duplicate_type", - "verification_document_expired", - "verification_document_failed_copy", - "verification_document_failed_greyscale", - "verification_document_failed_other", - "verification_document_failed_test_mode", - "verification_document_fraudulent", - "verification_document_id_number_mismatch", - "verification_document_id_number_missing", - "verification_document_incomplete", - "verification_document_invalid", - "verification_document_issue_or_expiry_date_missing", - "verification_document_manipulated", - "verification_document_missing_back", - "verification_document_missing_front", - "verification_document_name_mismatch", - "verification_document_name_missing", - "verification_document_nationality_mismatch", - "verification_document_not_readable", - "verification_document_not_signed", - "verification_document_not_uploaded", - "verification_document_photo_mismatch", - "verification_document_too_large", - "verification_document_type_not_supported", - "verification_extraneous_directors", - "verification_failed_address_match", - "verification_failed_business_iec_number", - "verification_failed_document_match", - "verification_failed_id_number_match", - "verification_failed_keyed_identity", - "verification_failed_keyed_match", - "verification_failed_name_match", - "verification_failed_other", - "verification_failed_representative_authority", - "verification_failed_residential_address", - "verification_failed_tax_id_match", - "verification_failed_tax_id_not_issued", - "verification_missing_directors", - "verification_missing_executives", - "verification_missing_owners", - "verification_requires_additional_memorandum_of_associations", - "verification_requires_additional_proof_of_registration", - "verification_supportability" + "account_closed", + "account_country_invalid_address", + "account_error_country_change_requires_additional_steps", + "account_information_mismatch", + "account_invalid", + "account_number_invalid", + "acss_debit_session_incomplete", + "alipay_upgrade_required", + "amount_too_large", + "amount_too_small", + "api_key_expired", + "application_fees_not_allowed", + "authentication_required", + "balance_insufficient", + "balance_invalid_parameter", + "bank_account_bad_routing_numbers", + "bank_account_declined", + "bank_account_exists", + "bank_account_restricted", + "bank_account_unusable", + "bank_account_unverified", + "bank_account_verification_failed", + "billing_invalid_mandate", + "bitcoin_upgrade_required", + "capture_charge_authorization_expired", + "capture_unauthorized_payment", + "card_decline_rate_limit_exceeded", + "card_declined", + "cardholder_phone_number_required", + "charge_already_captured", + "charge_already_refunded", + "charge_disputed", + "charge_exceeds_source_limit", + "charge_exceeds_transaction_limit", + "charge_expired_for_capture", + "charge_invalid_parameter", + "charge_not_refundable", + "clearing_code_unsupported", + "country_code_invalid", + "country_unsupported", + "coupon_expired", + "customer_max_payment_methods", + "customer_max_subscriptions", + "customer_tax_location_invalid", + "debit_not_authorized", + "email_invalid", + "expired_card", + "financial_connections_account_inactive", + "financial_connections_no_successful_transaction_refresh", + "forwarding_api_inactive", + "forwarding_api_invalid_parameter", + "forwarding_api_upstream_connection_error", + "forwarding_api_upstream_connection_timeout", + "idempotency_key_in_use", + "incorrect_address", + "incorrect_cvc", + "incorrect_number", + "incorrect_zip", + "instant_payouts_config_disabled", + "instant_payouts_currency_disabled", + "instant_payouts_limit_exceeded", + "instant_payouts_unsupported", + "insufficient_funds", + "intent_invalid_state", + "intent_verification_method_missing", + "invalid_card_type", + "invalid_characters", + "invalid_charge_amount", + "invalid_cvc", + "invalid_expiry_month", + "invalid_expiry_year", + "invalid_mandate_reference_prefix_format", + "invalid_number", + "invalid_source_usage", + "invalid_tax_location", + "invoice_no_customer_line_items", + "invoice_no_payment_method_types", + "invoice_no_subscription_line_items", + "invoice_not_editable", + "invoice_on_behalf_of_not_editable", + "invoice_payment_intent_requires_action", + "invoice_upcoming_none", + "livemode_mismatch", + "lock_timeout", + "missing", + "no_account", + "not_allowed_on_standard_account", + "out_of_inventory", + "ownership_declaration_not_allowed", + "parameter_invalid_empty", + "parameter_invalid_integer", + "parameter_invalid_string_blank", + "parameter_invalid_string_empty", + "parameter_missing", + "parameter_unknown", + "parameters_exclusive", + "payment_intent_action_required", + "payment_intent_authentication_failure", + "payment_intent_incompatible_payment_method", + "payment_intent_invalid_parameter", + "payment_intent_konbini_rejected_confirmation_number", + "payment_intent_mandate_invalid", + "payment_intent_payment_attempt_expired", + "payment_intent_payment_attempt_failed", + "payment_intent_unexpected_state", + "payment_method_bank_account_already_verified", + "payment_method_bank_account_blocked", + "payment_method_billing_details_address_missing", + "payment_method_configuration_failures", + "payment_method_currency_mismatch", + "payment_method_customer_decline", + "payment_method_invalid_parameter", + "payment_method_invalid_parameter_testmode", + "payment_method_microdeposit_failed", + "payment_method_microdeposit_verification_amounts_invalid", + "payment_method_microdeposit_verification_amounts_mismatch", + "payment_method_microdeposit_verification_attempts_exceeded", + "payment_method_microdeposit_verification_descriptor_code_mismatch", + "payment_method_microdeposit_verification_timeout", + "payment_method_not_available", + "payment_method_provider_decline", + "payment_method_provider_timeout", + "payment_method_unactivated", + "payment_method_unexpected_state", + "payment_method_unsupported_type", + "payout_reconciliation_not_ready", + "payouts_limit_exceeded", + "payouts_not_allowed", + "platform_account_required", + "platform_api_key_expired", + "postal_code_invalid", + "processing_error", + "product_inactive", + "progressive_onboarding_limit_exceeded", + "rate_limit", + "refer_to_customer", + "refund_disputed_payment", + "resource_already_exists", + "resource_missing", + "return_intent_already_processed", + "routing_number_invalid", + "secret_key_required", + "sepa_unsupported_account", + "setup_attempt_failed", + "setup_intent_authentication_failure", + "setup_intent_invalid_parameter", + "setup_intent_mandate_invalid", + "setup_intent_setup_attempt_expired", + "setup_intent_unexpected_state", + "shipping_address_invalid", + "shipping_calculation_failed", + "sku_inactive", + "state_unsupported", + "status_transition_invalid", + "stripe_tax_inactive", + "tax_id_invalid", + "taxes_calculation_failed", + "terminal_location_country_unsupported", + "terminal_reader_busy", + "terminal_reader_hardware_fault", + "terminal_reader_invalid_location_for_activation", + "terminal_reader_invalid_location_for_payment", + "terminal_reader_offline", + "terminal_reader_timeout", + "testmode_charges_only", + "tls_version_unsupported", + "token_already_used", + "token_card_network_invalid", + "token_in_use", + "transfer_source_balance_parameters_mismatch", + "transfers_not_allowed", + "url_invalid" ] }, - "stripe.Stripe.Person.FutureRequirements.Error": { + "stripe.Stripe.PaymentIntent.LastPaymentError.Type": { + "type": "string", + "enum": [ + "api_error", + "card_error", + "idempotency_error", + "invalid_request_error" + ] + }, + "stripe.Stripe.PaymentIntent.LastPaymentError": { "properties": { + "advice_code": { + "type": "string", + "description": "For card errors resulting from a card issuer decline, a short string indicating [how to proceed with an error](https://stripe.com/docs/declines#retrying-issuer-declines) if they provide one." + }, + "charge": { + "type": "string", + "description": "For card errors, the ID of the failed charge." + }, "code": { - "$ref": "#/components/schemas/stripe.Stripe.Person.FutureRequirements.Error.Code", - "description": "The code for the type of error." + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.LastPaymentError.Code", + "description": "For some errors that could be handled programmatically, a short string indicating the [error code](https://stripe.com/docs/error-codes) reported." }, - "reason": { + "decline_code": { "type": "string", - "description": "An informative message that indicates the error type and provides additional details about the error." + "description": "For card errors resulting from a card issuer decline, a short string indicating the [card issuer's reason for the decline](https://stripe.com/docs/declines#issuer-declines) if they provide one." }, - "requirement": { + "doc_url": { "type": "string", - "description": "The specific user onboarding requirement field (in the requirements hash) that needs to be resolved." - } - }, - "required": [ - "code", - "reason", - "requirement" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Person.FutureRequirements": { - "properties": { - "alternatives": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Person.FutureRequirements.Alternative" - }, - "type": "array", - "nullable": true, - "description": "Fields that are due and can be satisfied by providing the corresponding alternative fields instead." + "description": "A URL to more information about the [error code](https://stripe.com/docs/error-codes) reported." }, - "currently_due": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Fields that need to be collected to keep the person's account enabled. If not collected by the account's `future_requirements[current_deadline]`, these fields will transition to the main `requirements` hash, and may immediately become `past_due`, but the account may also be given a grace period depending on the account's enablement state prior to transition." + "message": { + "type": "string", + "description": "A human-readable message providing more details about the error. For card errors, these messages can be shown to your users." }, - "errors": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Person.FutureRequirements.Error" - }, - "type": "array", - "description": "Fields that are `currently_due` and need to be collected again because validation or verification failed." + "network_advice_code": { + "type": "string", + "description": "For card errors resulting from a card issuer decline, a 2 digit code which indicates the advice given to merchant by the card network on how to proceed with an error." }, - "eventually_due": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Fields you must collect when all thresholds are reached. As they become required, they appear in `currently_due` as well, and the account's `future_requirements[current_deadline]` becomes set." + "network_decline_code": { + "type": "string", + "description": "For card errors resulting from a card issuer decline, a brand specific 2, 3, or 4 digit code which indicates the reason the authorization failed." }, - "past_due": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Fields that weren't collected by the account's `requirements.current_deadline`. These fields need to be collected to enable the person's account. New fields will never appear here; `future_requirements.past_due` will always be a subset of `requirements.past_due`." + "param": { + "type": "string", + "description": "If the error is parameter-specific, the parameter related to the error. For example, you can use this to display a message near the correct form field." }, - "pending_verification": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Fields that might become required depending on the results of verification or review. It's an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due` or `currently_due`. Fields might appear in `eventually_due` or `currently_due` and in `pending_verification` if verification fails but another verification is still pending." + "payment_intent": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent", + "description": "A PaymentIntent guides you through the process of collecting a payment from your customer.\nWe recommend that you create exactly one PaymentIntent for each order or\ncustomer session in your system. You can reference the PaymentIntent later to\nsee the history of payment attempts for a particular session.\n\nA PaymentIntent transitions through\n[multiple statuses](https://stripe.com/docs/payments/intents#intent-statuses)\nthroughout its lifetime as it interfaces with Stripe.js to perform\nauthentication flows and ultimately creates at most one successful charge.\n\nRelated guide: [Payment Intents API](https://stripe.com/docs/payments/payment-intents)" + }, + "payment_method": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod", + "description": "PaymentMethod objects represent your customer's payment instruments.\nYou can use them with [PaymentIntents](https://stripe.com/docs/payments/payment-intents) to collect payments or save them to\nCustomer objects to store instrument details for future payments.\n\nRelated guides: [Payment Methods](https://stripe.com/docs/payments/payment-methods) and [More Payment Scenarios](https://stripe.com/docs/payments/more-payment-scenarios)." + }, + "payment_method_type": { + "type": "string", + "description": "If the error is specific to the type of payment method, the payment method type that had a problem. This field is only populated for invoice-related errors." + }, + "request_log_url": { + "type": "string", + "description": "A URL to the request log entry in your dashboard." + }, + "setup_intent": { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent", + "description": "A SetupIntent guides you through the process of setting up and saving a customer's payment credentials for future payments.\nFor example, you can use a SetupIntent to set up and save your customer's card without immediately collecting a payment.\nLater, you can use [PaymentIntents](https://stripe.com/docs/api#payment_intents) to drive the payment flow.\n\nCreate a SetupIntent when you're ready to collect your customer's payment credentials.\nDon't maintain long-lived, unconfirmed SetupIntents because they might not be valid.\nThe SetupIntent transitions through multiple [statuses](https://docs.stripe.com/payments/intents#intent-statuses) as it guides\nyou through the setup process.\n\nSuccessful SetupIntents result in payment credentials that are optimized for future payments.\nFor example, cardholders in [certain regions](https://stripe.com/guides/strong-customer-authentication) might need to be run through\n[Strong Customer Authentication](https://docs.stripe.com/strong-customer-authentication) during payment method collection\nto streamline later [off-session payments](https://docs.stripe.com/payments/setup-intents).\nIf you use the SetupIntent with a [Customer](https://stripe.com/docs/api#setup_intent_object-customer),\nit automatically attaches the resulting payment method to that Customer after successful setup.\nWe recommend using SetupIntents or [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) on\nPaymentIntents to save payment methods to prevent saving invalid or unoptimized payment methods.\n\nBy using SetupIntents, you can reduce friction for your customers, even as regulations change over time.\n\nRelated guide: [Setup Intents API](https://docs.stripe.com/payments/setup-intents)" + }, + "source": { + "$ref": "#/components/schemas/stripe.Stripe.CustomerSource" + }, + "type": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.LastPaymentError.Type", + "description": "The type of error returned. One of `api_error`, `card_error`, `idempotency_error`, or `invalid_request_error`" } }, "required": [ - "alternatives", - "currently_due", - "errors", - "eventually_due", - "past_due", - "pending_verification" + "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Person.PoliticalExposure": { - "type": "string", - "enum": [ - "existing", - "none" - ] - }, - "stripe.Stripe.Person.Relationship": { + "stripe.Stripe.PaymentIntent.NextAction.AlipayHandleRedirect": { "properties": { - "authorizer": { - "type": "boolean", - "nullable": true, - "description": "Whether the person is the authorizer of the account's representative." - }, - "director": { - "type": "boolean", + "native_data": { + "type": "string", "nullable": true, - "description": "Whether the person is a director of the account's legal entity. Directors are typically members of the governing board of the company, or responsible for ensuring the company meets its regulatory obligations." + "description": "The native data to be used with Alipay SDK you must redirect your customer to in order to authenticate the payment in an Android App." }, - "executive": { - "type": "boolean", + "native_url": { + "type": "string", "nullable": true, - "description": "Whether the person has significant responsibility to control, manage, or direct the organization." + "description": "The native URL you must redirect your customer to in order to authenticate the payment in an iOS App." }, - "legal_guardian": { - "type": "boolean", + "return_url": { + "type": "string", "nullable": true, - "description": "Whether the person is the legal guardian of the account's representative." + "description": "If the customer does not exit their browser while authenticating, they will be redirected to this specified URL after completion." }, - "owner": { - "type": "boolean", + "url": { + "type": "string", "nullable": true, - "description": "Whether the person is an owner of the account's legal entity." - }, - "percent_ownership": { + "description": "The URL you must redirect your customer to in order to authenticate the payment." + } + }, + "required": [ + "native_data", + "native_url", + "return_url", + "url" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentIntent.NextAction.BoletoDisplayDetails": { + "properties": { + "expires_at": { "type": "number", "format": "double", "nullable": true, - "description": "The percent owned by the person of the account's legal entity." + "description": "The timestamp after which the boleto expires." }, - "representative": { - "type": "boolean", + "hosted_voucher_url": { + "type": "string", "nullable": true, - "description": "Whether the person is authorized as the primary representative of the account. This is the person nominated by the business to provide information about themselves, and general information about the account. There can only be one representative at any given time. At the time the account is created, this person should be set to the person responsible for opening the account." + "description": "The URL to the hosted boleto voucher page, which allows customers to view the boleto voucher." }, - "title": { + "number": { "type": "string", "nullable": true, - "description": "The person's title (e.g., CEO, Support Engineer)." + "description": "The boleto number." + }, + "pdf": { + "type": "string", + "nullable": true, + "description": "The URL to the downloadable boleto voucher PDF." } }, "required": [ - "authorizer", - "director", - "executive", - "legal_guardian", - "owner", - "percent_ownership", - "representative", - "title" + "expires_at", + "hosted_voucher_url", + "number", + "pdf" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Person.Requirements.Alternative": { + "stripe.Stripe.PaymentIntent.NextAction.CardAwaitNotification": { "properties": { - "alternative_fields_due": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Fields that can be provided to satisfy all fields in `original_fields_due`." + "charge_attempt_at": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The time that payment will be attempted. If customer approval is required, they need to provide approval before this time." }, - "original_fields_due": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Fields that are due and can be satisfied by providing all fields in `alternative_fields_due`." + "customer_approval_required": { + "type": "boolean", + "nullable": true, + "description": "For payments greater than INR 15000, the customer must provide explicit approval of the payment with their bank. For payments of lower amount, no customer action is required." } }, "required": [ - "alternative_fields_due", - "original_fields_due" + "charge_attempt_at", + "customer_approval_required" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Person.Requirements.Error.Code": { - "type": "string", - "enum": [ - "invalid_address_city_state_postal_code", - "invalid_address_highway_contract_box", - "invalid_address_private_mailbox", - "invalid_business_profile_name", - "invalid_business_profile_name_denylisted", - "invalid_company_name_denylisted", - "invalid_dob_age_over_maximum", - "invalid_dob_age_under_18", - "invalid_dob_age_under_minimum", - "invalid_product_description_length", - "invalid_product_description_url_match", - "invalid_representative_country", - "invalid_statement_descriptor_business_mismatch", - "invalid_statement_descriptor_denylisted", - "invalid_statement_descriptor_length", - "invalid_statement_descriptor_prefix_denylisted", - "invalid_statement_descriptor_prefix_mismatch", - "invalid_street_address", - "invalid_tax_id", - "invalid_tax_id_format", - "invalid_tos_acceptance", - "invalid_url_denylisted", - "invalid_url_format", - "invalid_url_length", - "invalid_url_web_presence_detected", - "invalid_url_website_business_information_mismatch", - "invalid_url_website_empty", - "invalid_url_website_inaccessible", - "invalid_url_website_inaccessible_geoblocked", - "invalid_url_website_inaccessible_password_protected", - "invalid_url_website_incomplete", - "invalid_url_website_incomplete_cancellation_policy", - "invalid_url_website_incomplete_customer_service_details", - "invalid_url_website_incomplete_legal_restrictions", - "invalid_url_website_incomplete_refund_policy", - "invalid_url_website_incomplete_return_policy", - "invalid_url_website_incomplete_terms_and_conditions", - "invalid_url_website_incomplete_under_construction", - "invalid_url_website_other", - "invalid_value_other", - "verification_directors_mismatch", - "verification_document_address_mismatch", - "verification_document_address_missing", - "verification_document_corrupt", - "verification_document_country_not_supported", - "verification_document_directors_mismatch", - "verification_document_dob_mismatch", - "verification_document_duplicate_type", - "verification_document_expired", - "verification_document_failed_copy", - "verification_document_failed_greyscale", - "verification_document_failed_other", - "verification_document_failed_test_mode", - "verification_document_fraudulent", - "verification_document_id_number_mismatch", - "verification_document_id_number_missing", - "verification_document_incomplete", - "verification_document_invalid", - "verification_document_issue_or_expiry_date_missing", - "verification_document_manipulated", - "verification_document_missing_back", - "verification_document_missing_front", - "verification_document_name_mismatch", - "verification_document_name_missing", - "verification_document_nationality_mismatch", - "verification_document_not_readable", - "verification_document_not_signed", - "verification_document_not_uploaded", - "verification_document_photo_mismatch", - "verification_document_too_large", - "verification_document_type_not_supported", - "verification_extraneous_directors", - "verification_failed_address_match", - "verification_failed_business_iec_number", - "verification_failed_document_match", - "verification_failed_id_number_match", - "verification_failed_keyed_identity", - "verification_failed_keyed_match", - "verification_failed_name_match", - "verification_failed_other", - "verification_failed_representative_authority", - "verification_failed_residential_address", - "verification_failed_tax_id_match", - "verification_failed_tax_id_not_issued", - "verification_missing_directors", - "verification_missing_executives", - "verification_missing_owners", - "verification_requires_additional_memorandum_of_associations", - "verification_requires_additional_proof_of_registration", - "verification_supportability" - ] - }, - "stripe.Stripe.Person.Requirements.Error": { + "stripe.Stripe.PaymentIntent.NextAction.CashappHandleRedirectOrDisplayQrCode.QrCode": { "properties": { - "code": { - "$ref": "#/components/schemas/stripe.Stripe.Person.Requirements.Error.Code", - "description": "The code for the type of error." + "expires_at": { + "type": "number", + "format": "double", + "description": "The date (unix timestamp) when the QR code expires." }, - "reason": { + "image_url_png": { "type": "string", - "description": "An informative message that indicates the error type and provides additional details about the error." + "description": "The image_url_png string used to render QR code" }, - "requirement": { + "image_url_svg": { "type": "string", - "description": "The specific user onboarding requirement field (in the requirements hash) that needs to be resolved." + "description": "The image_url_svg string used to render QR code" } }, "required": [ - "code", - "reason", - "requirement" + "expires_at", + "image_url_png", + "image_url_svg" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Person.Requirements": { + "stripe.Stripe.PaymentIntent.NextAction.CashappHandleRedirectOrDisplayQrCode": { "properties": { - "alternatives": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Person.Requirements.Alternative" - }, - "type": "array", - "nullable": true, - "description": "Fields that are due and can be satisfied by providing the corresponding alternative fields instead." - }, - "currently_due": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Fields that need to be collected to keep the person's account enabled. If not collected by the account's `current_deadline`, these fields appear in `past_due` as well, and the account is disabled." - }, - "errors": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Person.Requirements.Error" - }, - "type": "array", - "description": "Fields that are `currently_due` and need to be collected again because validation or verification failed." - }, - "eventually_due": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Fields you must collect when all thresholds are reached. As they become required, they appear in `currently_due` as well, and the account's `current_deadline` becomes set." + "hosted_instructions_url": { + "type": "string", + "description": "The URL to the hosted Cash App Pay instructions page, which allows customers to view the QR code, and supports QR code refreshing on expiration." }, - "past_due": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Fields that weren't collected by the account's `current_deadline`. These fields need to be collected to enable the person's account." + "mobile_auth_url": { + "type": "string", + "description": "The url for mobile redirect based auth" }, - "pending_verification": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Fields that might become required depending on the results of verification or review. It's an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due`, `currently_due`, or `past_due`. Fields might appear in `eventually_due`, `currently_due`, or `past_due` and in `pending_verification` if verification fails but another verification is still pending." + "qr_code": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.CashappHandleRedirectOrDisplayQrCode.QrCode" } }, "required": [ - "alternatives", - "currently_due", - "errors", - "eventually_due", - "past_due", - "pending_verification" + "hosted_instructions_url", + "mobile_auth_url", + "qr_code" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Person.Verification.AdditionalDocument": { + "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Aba": { "properties": { - "back": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.File" - } - ], - "nullable": true, - "description": "The back of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`." + "account_holder_address": { + "$ref": "#/components/schemas/stripe.Stripe.Address" }, - "details": { + "account_holder_name": { "type": "string", - "nullable": true, - "description": "A user-displayable string describing the verification state of this document. For example, if a document is uploaded and the picture is too fuzzy, this may say \"Identity document is too unclear to read\"." + "description": "The account holder name" }, - "details_code": { + "account_number": { "type": "string", - "nullable": true, - "description": "One of `document_corrupt`, `document_country_not_supported`, `document_expired`, `document_failed_copy`, `document_failed_other`, `document_failed_test_mode`, `document_fraudulent`, `document_failed_greyscale`, `document_incomplete`, `document_invalid`, `document_manipulated`, `document_missing_back`, `document_missing_front`, `document_not_readable`, `document_not_uploaded`, `document_photo_mismatch`, `document_too_large`, or `document_type_not_supported`. A machine-readable code specifying the verification state for this document." + "description": "The ABA account number" }, - "front": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.File" - } - ], - "nullable": true, - "description": "The front of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`." + "account_type": { + "type": "string", + "description": "The account type" + }, + "bank_address": { + "$ref": "#/components/schemas/stripe.Stripe.Address" + }, + "bank_name": { + "type": "string", + "description": "The bank name" + }, + "routing_number": { + "type": "string", + "description": "The ABA routing number" } }, "required": [ - "back", - "details", - "details_code", - "front" + "account_holder_address", + "account_holder_name", + "account_number", + "account_type", + "bank_address", + "bank_name", + "routing_number" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Person.Verification.Document": { + "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Iban": { "properties": { - "back": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.File" - } - ], - "nullable": true, - "description": "The back of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`." + "account_holder_address": { + "$ref": "#/components/schemas/stripe.Stripe.Address" }, - "details": { + "account_holder_name": { "type": "string", - "nullable": true, - "description": "A user-displayable string describing the verification state of this document. For example, if a document is uploaded and the picture is too fuzzy, this may say \"Identity document is too unclear to read\"." + "description": "The name of the person or business that owns the bank account" }, - "details_code": { + "bank_address": { + "$ref": "#/components/schemas/stripe.Stripe.Address" + }, + "bic": { "type": "string", - "nullable": true, - "description": "One of `document_corrupt`, `document_country_not_supported`, `document_expired`, `document_failed_copy`, `document_failed_other`, `document_failed_test_mode`, `document_fraudulent`, `document_failed_greyscale`, `document_incomplete`, `document_invalid`, `document_manipulated`, `document_missing_back`, `document_missing_front`, `document_not_readable`, `document_not_uploaded`, `document_photo_mismatch`, `document_too_large`, or `document_type_not_supported`. A machine-readable code specifying the verification state for this document." + "description": "The BIC/SWIFT code of the account." }, - "front": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.File" - } - ], - "nullable": true, - "description": "The front of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`." + "country": { + "type": "string", + "description": "Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2))." + }, + "iban": { + "type": "string", + "description": "The IBAN of the account." } }, "required": [ - "back", - "details", - "details_code", - "front" + "account_holder_address", + "account_holder_name", + "bank_address", + "bic", + "country", + "iban" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Person.Verification": { + "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.SortCode": { "properties": { - "additional_document": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Person.Verification.AdditionalDocument" - } - ], - "nullable": true, - "description": "A document showing address, either a passport, local ID card, or utility bill from a well-known utility company." + "account_holder_address": { + "$ref": "#/components/schemas/stripe.Stripe.Address" }, - "details": { + "account_holder_name": { "type": "string", - "nullable": true, - "description": "A user-displayable string describing the verification state for the person. For example, this may say \"Provided identity information could not be verified\"." + "description": "The name of the person or business that owns the bank account" }, - "details_code": { + "account_number": { "type": "string", - "nullable": true, - "description": "One of `document_address_mismatch`, `document_dob_mismatch`, `document_duplicate_type`, `document_id_number_mismatch`, `document_name_mismatch`, `document_nationality_mismatch`, `failed_keyed_identity`, or `failed_other`. A machine-readable code specifying the verification state for the person." + "description": "The account number" }, - "document": { - "$ref": "#/components/schemas/stripe.Stripe.Person.Verification.Document" + "bank_address": { + "$ref": "#/components/schemas/stripe.Stripe.Address" }, - "status": { + "sort_code": { "type": "string", - "description": "The state of verification for the person. Possible values are `unverified`, `pending`, or `verified`." + "description": "The six-digit sort code" } }, "required": [ - "status" + "account_holder_address", + "account_holder_name", + "account_number", + "bank_address", + "sort_code" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Person": { - "description": "This is an object representing a person associated with a Stripe account.\n\nA platform cannot access a person for an account where [account.controller.requirement_collection](https://stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `stripe`, which includes Standard and Express accounts, after creating an Account Link or Account Session to start Connect onboarding.\n\nSee the [Standard onboarding](https://stripe.com/connect/standard-accounts) or [Express onboarding](https://stripe.com/connect/express-accounts) documentation for information about prefilling information and account onboarding steps. Learn more about [handling identity verification with the API](https://stripe.com/connect/handling-api-verification#person-information).", + "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Spei": { "properties": { - "id": { - "type": "string", - "description": "Unique identifier for the object." - }, - "object": { - "type": "string", - "enum": [ - "person" - ], - "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." + "account_holder_address": { + "$ref": "#/components/schemas/stripe.Stripe.Address" }, - "account": { + "account_holder_name": { "type": "string", - "description": "The account the person is associated with." - }, - "additional_tos_acceptances": { - "$ref": "#/components/schemas/stripe.Stripe.Person.AdditionalTosAcceptances" + "description": "The account holder name" }, - "address": { + "bank_address": { "$ref": "#/components/schemas/stripe.Stripe.Address" }, - "address_kana": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Person.AddressKana" - } - ], - "nullable": true, - "description": "The Kana variation of the person's address (Japan only)." - }, - "address_kanji": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Person.AddressKanji" - } - ], - "nullable": true, - "description": "The Kanji variation of the person's address (Japan only)." - }, - "created": { - "type": "number", - "format": "double", - "description": "Time at which the object was created. Measured in seconds since the Unix epoch." - }, - "deleted": { - "description": "Always true for a deleted object" - }, - "dob": { - "$ref": "#/components/schemas/stripe.Stripe.Person.Dob" - }, - "email": { + "bank_code": { "type": "string", - "nullable": true, - "description": "The person's email address." + "description": "The three-digit bank code" }, - "first_name": { + "bank_name": { "type": "string", - "nullable": true, - "description": "The person's first name." + "description": "The short banking institution name" }, - "first_name_kana": { + "clabe": { "type": "string", - "nullable": true, - "description": "The Kana variation of the person's first name (Japan only)." + "description": "The CLABE number" + } + }, + "required": [ + "account_holder_address", + "account_holder_name", + "bank_address", + "bank_code", + "bank_name", + "clabe" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.SupportedNetwork": { + "type": "string", + "enum": [ + "ach", + "bacs", + "domestic_wire_us", + "fps", + "sepa", + "spei", + "swift", + "zengin" + ] + }, + "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Swift": { + "properties": { + "account_holder_address": { + "$ref": "#/components/schemas/stripe.Stripe.Address" }, - "first_name_kanji": { + "account_holder_name": { "type": "string", - "nullable": true, - "description": "The Kanji variation of the person's first name (Japan only)." - }, - "full_name_aliases": { - "items": { - "type": "string" - }, - "type": "array", - "description": "A list of alternate names or aliases that the person is known by." - }, - "future_requirements": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Person.FutureRequirements" - } - ], - "nullable": true, - "description": "Information about the [upcoming new requirements for this person](https://stripe.com/docs/connect/custom-accounts/future-requirements), including what information needs to be collected, and by when." + "description": "The account holder name" }, - "gender": { + "account_number": { "type": "string", - "nullable": true, - "description": "The person's gender." + "description": "The account number" }, - "id_number_provided": { - "type": "boolean", - "description": "Whether the person's `id_number` was provided. True if either the full ID number was provided or if only the required part of the ID number was provided (ex. last four of an individual's SSN for the US indicated by `ssn_last_4_provided`)." + "account_type": { + "type": "string", + "description": "The account type" }, - "id_number_secondary_provided": { - "type": "boolean", - "description": "Whether the person's `id_number_secondary` was provided." + "bank_address": { + "$ref": "#/components/schemas/stripe.Stripe.Address" }, - "last_name": { + "bank_name": { "type": "string", - "nullable": true, - "description": "The person's last name." + "description": "The bank name" }, - "last_name_kana": { + "swift_code": { + "type": "string", + "description": "The SWIFT code" + } + }, + "required": [ + "account_holder_address", + "account_holder_name", + "account_number", + "account_type", + "bank_address", + "bank_name", + "swift_code" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Type": { + "type": "string", + "enum": [ + "aba", + "iban", + "sort_code", + "spei", + "swift", + "zengin" + ] + }, + "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Zengin": { + "properties": { + "account_holder_address": { + "$ref": "#/components/schemas/stripe.Stripe.Address" + }, + "account_holder_name": { "type": "string", "nullable": true, - "description": "The Kana variation of the person's last name (Japan only)." + "description": "The account holder name" }, - "last_name_kanji": { + "account_number": { "type": "string", "nullable": true, - "description": "The Kanji variation of the person's last name (Japan only)." + "description": "The account number" }, - "maiden_name": { + "account_type": { "type": "string", "nullable": true, - "description": "The person's maiden name." + "description": "The bank account type. In Japan, this can only be `futsu` or `toza`." }, - "metadata": { - "$ref": "#/components/schemas/stripe.Stripe.Metadata", - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." + "bank_address": { + "$ref": "#/components/schemas/stripe.Stripe.Address" }, - "nationality": { + "bank_code": { "type": "string", "nullable": true, - "description": "The country where the person is a national." + "description": "The bank code of the account" }, - "phone": { + "bank_name": { "type": "string", "nullable": true, - "description": "The person's phone number." - }, - "political_exposure": { - "$ref": "#/components/schemas/stripe.Stripe.Person.PoliticalExposure", - "description": "Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction." - }, - "registered_address": { - "$ref": "#/components/schemas/stripe.Stripe.Address" - }, - "relationship": { - "$ref": "#/components/schemas/stripe.Stripe.Person.Relationship" + "description": "The bank name of the account" }, - "requirements": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Person.Requirements" - } - ], + "branch_code": { + "type": "string", "nullable": true, - "description": "Information about the requirements for this person, including what information needs to be collected, and by when." - }, - "ssn_last_4_provided": { - "type": "boolean", - "description": "Whether the last four digits of the person's Social Security number have been provided (U.S. only)." + "description": "The branch code of the account" }, - "verification": { - "$ref": "#/components/schemas/stripe.Stripe.Person.Verification" + "branch_name": { + "type": "string", + "nullable": true, + "description": "The branch name of the account" } }, "required": [ - "id", - "object", - "account", - "created" + "account_holder_address", + "account_holder_name", + "account_number", + "account_type", + "bank_address", + "bank_code", + "bank_name", + "branch_code", + "branch_name" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Account.Requirements.Alternative": { + "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress": { "properties": { - "alternative_fields_due": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Fields that can be provided to satisfy all fields in `original_fields_due`." + "aba": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Aba", + "description": "ABA Records contain U.S. bank account details per the ABA format." }, - "original_fields_due": { + "iban": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Iban", + "description": "Iban Records contain E.U. bank account details per the SEPA format." + }, + "sort_code": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.SortCode", + "description": "Sort Code Records contain U.K. bank account details per the sort code format." + }, + "spei": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Spei", + "description": "SPEI Records contain Mexico bank account details per the SPEI format." + }, + "supported_networks": { "items": { - "type": "string" + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.SupportedNetwork" }, "type": "array", - "description": "Fields that are due and can be satisfied by providing all fields in `alternative_fields_due`." + "description": "The payment networks supported by this FinancialAddress" + }, + "swift": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Swift", + "description": "SWIFT Records contain U.S. bank account details per the SWIFT format." + }, + "type": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Type", + "description": "The type of financial address" + }, + "zengin": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress.Zengin", + "description": "Zengin Records contain Japan bank account details per the Zengin format." } }, "required": [ - "alternative_fields_due", - "original_fields_due" + "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Account.Requirements.DisabledReason": { - "type": "string", - "enum": [ - "action_required.requested_capabilities", - "listed", - "other", - "platform_paused", - "rejected.fraud", - "rejected.incomplete_verification", - "rejected.listed", - "rejected.other", - "rejected.platform_fraud", - "rejected.platform_other", - "rejected.platform_terms_of_service", - "rejected.terms_of_service", - "requirements.past_due", - "requirements.pending_verification", - "under_review" - ] - }, - "stripe.Stripe.Account.Requirements.Error.Code": { + "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.Type": { "type": "string", "enum": [ - "invalid_address_city_state_postal_code", - "invalid_address_highway_contract_box", - "invalid_address_private_mailbox", - "invalid_business_profile_name", - "invalid_business_profile_name_denylisted", - "invalid_company_name_denylisted", - "invalid_dob_age_over_maximum", - "invalid_dob_age_under_18", - "invalid_dob_age_under_minimum", - "invalid_product_description_length", - "invalid_product_description_url_match", - "invalid_representative_country", - "invalid_statement_descriptor_business_mismatch", - "invalid_statement_descriptor_denylisted", - "invalid_statement_descriptor_length", - "invalid_statement_descriptor_prefix_denylisted", - "invalid_statement_descriptor_prefix_mismatch", - "invalid_street_address", - "invalid_tax_id", - "invalid_tax_id_format", - "invalid_tos_acceptance", - "invalid_url_denylisted", - "invalid_url_format", - "invalid_url_length", - "invalid_url_web_presence_detected", - "invalid_url_website_business_information_mismatch", - "invalid_url_website_empty", - "invalid_url_website_inaccessible", - "invalid_url_website_inaccessible_geoblocked", - "invalid_url_website_inaccessible_password_protected", - "invalid_url_website_incomplete", - "invalid_url_website_incomplete_cancellation_policy", - "invalid_url_website_incomplete_customer_service_details", - "invalid_url_website_incomplete_legal_restrictions", - "invalid_url_website_incomplete_refund_policy", - "invalid_url_website_incomplete_return_policy", - "invalid_url_website_incomplete_terms_and_conditions", - "invalid_url_website_incomplete_under_construction", - "invalid_url_website_other", - "invalid_value_other", - "verification_directors_mismatch", - "verification_document_address_mismatch", - "verification_document_address_missing", - "verification_document_corrupt", - "verification_document_country_not_supported", - "verification_document_directors_mismatch", - "verification_document_dob_mismatch", - "verification_document_duplicate_type", - "verification_document_expired", - "verification_document_failed_copy", - "verification_document_failed_greyscale", - "verification_document_failed_other", - "verification_document_failed_test_mode", - "verification_document_fraudulent", - "verification_document_id_number_mismatch", - "verification_document_id_number_missing", - "verification_document_incomplete", - "verification_document_invalid", - "verification_document_issue_or_expiry_date_missing", - "verification_document_manipulated", - "verification_document_missing_back", - "verification_document_missing_front", - "verification_document_name_mismatch", - "verification_document_name_missing", - "verification_document_nationality_mismatch", - "verification_document_not_readable", - "verification_document_not_signed", - "verification_document_not_uploaded", - "verification_document_photo_mismatch", - "verification_document_too_large", - "verification_document_type_not_supported", - "verification_extraneous_directors", - "verification_failed_address_match", - "verification_failed_business_iec_number", - "verification_failed_document_match", - "verification_failed_id_number_match", - "verification_failed_keyed_identity", - "verification_failed_keyed_match", - "verification_failed_name_match", - "verification_failed_other", - "verification_failed_representative_authority", - "verification_failed_residential_address", - "verification_failed_tax_id_match", - "verification_failed_tax_id_not_issued", - "verification_missing_directors", - "verification_missing_executives", - "verification_missing_owners", - "verification_requires_additional_memorandum_of_associations", - "verification_requires_additional_proof_of_registration", - "verification_supportability" + "eu_bank_transfer", + "gb_bank_transfer", + "jp_bank_transfer", + "mx_bank_transfer", + "us_bank_transfer" ] }, - "stripe.Stripe.Account.Requirements.Error": { - "properties": { - "code": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Requirements.Error.Code", - "description": "The code for the type of error." - }, - "reason": { - "type": "string", - "description": "An informative message that indicates the error type and provides additional details about the error." - }, - "requirement": { - "type": "string", - "description": "The specific user onboarding requirement field (in the requirements hash) that needs to be resolved." - } - }, - "required": [ - "code", - "reason", - "requirement" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Account.Requirements": { + "stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions": { "properties": { - "alternatives": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Requirements.Alternative" - }, - "type": "array", - "nullable": true, - "description": "Fields that are due and can be satisfied by providing the corresponding alternative fields instead." - }, - "current_deadline": { + "amount_remaining": { "type": "number", "format": "double", "nullable": true, - "description": "Date by which the fields in `currently_due` must be collected to keep the account enabled. These fields may disable the account sooner if the next threshold is reached before they are collected." - }, - "currently_due": { - "items": { - "type": "string" - }, - "type": "array", - "nullable": true, - "description": "Fields that need to be collected to keep the account enabled. If not collected by `current_deadline`, these fields appear in `past_due` as well, and the account is disabled." + "description": "The remaining amount that needs to be transferred to complete the payment." }, - "disabled_reason": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Account.Requirements.DisabledReason" - } - ], + "currency": { + "type": "string", "nullable": true, - "description": "If the account is disabled, this enum describes why. [Learn more about handling verification issues](https://stripe.com/docs/connect/handling-api-verification)." + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." }, - "errors": { + "financial_addresses": { "items": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Requirements.Error" + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.FinancialAddress" }, "type": "array", - "nullable": true, - "description": "Fields that are `currently_due` and need to be collected again because validation or verification failed." + "description": "A list of financial addresses that can be used to fund the customer balance" }, - "eventually_due": { - "items": { - "type": "string" - }, - "type": "array", + "hosted_instructions_url": { + "type": "string", "nullable": true, - "description": "Fields you must collect when all thresholds are reached. As they become required, they appear in `currently_due` as well, and `current_deadline` becomes set." + "description": "A link to a hosted page that guides your customer through completing the transfer." }, - "past_due": { - "items": { - "type": "string" - }, - "type": "array", + "reference": { + "type": "string", "nullable": true, - "description": "Fields that weren't collected by `current_deadline`. These fields need to be collected to enable the account." + "description": "A string identifying this payment. Instruct your customer to include this code in the reference or memo field of their bank transfer." }, - "pending_verification": { - "items": { - "type": "string" - }, - "type": "array", - "nullable": true, - "description": "Fields that might become required depending on the results of verification or review. It's an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due`, `currently_due`, or `past_due`. Fields might appear in `eventually_due`, `currently_due`, or `past_due` and in `pending_verification` if verification fails but another verification is still pending." + "type": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions.Type", + "description": "Type of bank transfer" } }, "required": [ - "alternatives", - "current_deadline", - "currently_due", - "disabled_reason", - "errors", - "eventually_due", - "past_due", - "pending_verification" + "amount_remaining", + "currency", + "hosted_instructions_url", + "reference", + "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Account.Settings.BacsDebitPayments": { + "stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails.Stores.Familymart": { "properties": { - "display_name": { + "confirmation_number": { "type": "string", - "nullable": true, - "description": "The Bacs Direct Debit display name for this account. For payments made with Bacs Direct Debit, this name appears on the mandate as the statement descriptor. Mobile banking apps display it as the name of the business. To use custom branding, set the Bacs Direct Debit Display Name during or right after creation. Custom branding incurs an additional monthly fee for the platform. The fee appears 5 business days after requesting Bacs. If you don't set the display name before requesting Bacs capability, it's automatically set as \"Stripe\" and the account is onboarded to Stripe branding, which is free." + "description": "The confirmation number." }, - "service_user_number": { + "payment_code": { "type": "string", - "nullable": true, - "description": "The Bacs Direct Debit Service user number for this account. For payments made with Bacs Direct Debit, this number is a unique identifier of the account with our banking partners." + "description": "The payment code." } }, "required": [ - "display_name", - "service_user_number" + "payment_code" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Account.Settings.Branding": { + "stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails.Stores.Lawson": { "properties": { - "icon": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.File" - } - ], - "nullable": true, - "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) An icon for the account. Must be square and at least 128px x 128px." + "confirmation_number": { + "type": "string", + "description": "The confirmation number." }, - "logo": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.File" - } - ], - "nullable": true, - "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) A logo for the account that will be used in Checkout instead of the icon and without the account's name next to it if provided. Must be at least 128px x 128px." + "payment_code": { + "type": "string", + "description": "The payment code." + } + }, + "required": [ + "payment_code" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails.Stores.Ministop": { + "properties": { + "confirmation_number": { + "type": "string", + "description": "The confirmation number." }, - "primary_color": { + "payment_code": { "type": "string", - "nullable": true, - "description": "A CSS hex color value representing the primary branding color for this account" + "description": "The payment code." + } + }, + "required": [ + "payment_code" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails.Stores.Seicomart": { + "properties": { + "confirmation_number": { + "type": "string", + "description": "The confirmation number." }, - "secondary_color": { + "payment_code": { "type": "string", - "nullable": true, - "description": "A CSS hex color value representing the secondary branding color for this account" + "description": "The payment code." } }, "required": [ - "icon", - "logo", - "primary_color", - "secondary_color" + "payment_code" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Account.Settings.CardIssuing.TosAcceptance": { + "stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails.Stores": { "properties": { - "date": { - "type": "number", - "format": "double", + "familymart": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails.Stores.Familymart" + } + ], "nullable": true, - "description": "The Unix timestamp marking when the account representative accepted the service agreement." + "description": "FamilyMart instruction details." }, - "ip": { - "type": "string", + "lawson": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails.Stores.Lawson" + } + ], "nullable": true, - "description": "The IP address from which the account representative accepted the service agreement." + "description": "Lawson instruction details." }, - "user_agent": { - "type": "string", - "description": "The user agent of the browser from which the account representative accepted the service agreement." + "ministop": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails.Stores.Ministop" + } + ], + "nullable": true, + "description": "Ministop instruction details." + }, + "seicomart": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails.Stores.Seicomart" + } + ], + "nullable": true, + "description": "Seicomart instruction details." } }, "required": [ - "date", - "ip" + "familymart", + "lawson", + "ministop", + "seicomart" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Account.Settings.CardIssuing": { - "properties": { - "tos_acceptance": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Settings.CardIssuing.TosAcceptance" - } - }, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Account.Settings.CardPayments.DeclineOn": { + "stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails": { "properties": { - "avs_failure": { - "type": "boolean", - "description": "Whether Stripe automatically declines charges with an incorrect ZIP or postal code. This setting only applies when a ZIP or postal code is provided and they fail bank verification." + "expires_at": { + "type": "number", + "format": "double", + "description": "The timestamp at which the pending Konbini payment expires." }, - "cvc_failure": { - "type": "boolean", - "description": "Whether Stripe automatically declines charges with an incorrect CVC. This setting only applies when a CVC is provided and it fails bank verification." + "hosted_voucher_url": { + "type": "string", + "nullable": true, + "description": "The URL for the Konbini payment instructions page, which allows customers to view and print a Konbini voucher." + }, + "stores": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails.Stores" } }, "required": [ - "avs_failure", - "cvc_failure" + "expires_at", + "hosted_voucher_url", + "stores" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Account.Settings.CardPayments": { + "stripe.Stripe.PaymentIntent.NextAction.MultibancoDisplayDetails": { "properties": { - "decline_on": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Settings.CardPayments.DeclineOn" - }, - "statement_descriptor_prefix": { + "entity": { "type": "string", "nullable": true, - "description": "The default text that appears on credit card statements when a charge is made. This field prefixes any dynamic `statement_descriptor` specified on the charge. `statement_descriptor_prefix` is useful for maximizing descriptor space for the dynamic portion." + "description": "Entity number associated with this Multibanco payment." }, - "statement_descriptor_prefix_kana": { + "expires_at": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The timestamp at which the Multibanco voucher expires." + }, + "hosted_voucher_url": { "type": "string", "nullable": true, - "description": "The Kana variation of the default text that appears on credit card statements when a charge is made (Japan only). This field prefixes any dynamic `statement_descriptor_suffix_kana` specified on the charge. `statement_descriptor_prefix_kana` is useful for maximizing descriptor space for the dynamic portion." + "description": "The URL for the hosted Multibanco voucher page, which allows customers to view a Multibanco voucher." }, - "statement_descriptor_prefix_kanji": { + "reference": { "type": "string", "nullable": true, - "description": "The Kanji variation of the default text that appears on credit card statements when a charge is made (Japan only). This field prefixes any dynamic `statement_descriptor_suffix_kanji` specified on the charge. `statement_descriptor_prefix_kanji` is useful for maximizing descriptor space for the dynamic portion." + "description": "Reference number associated with this Multibanco payment." } }, "required": [ - "statement_descriptor_prefix", - "statement_descriptor_prefix_kana", - "statement_descriptor_prefix_kanji" + "entity", + "expires_at", + "hosted_voucher_url", + "reference" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Account.Settings.Dashboard": { + "stripe.Stripe.PaymentIntent.NextAction.OxxoDisplayDetails": { "properties": { - "display_name": { + "expires_after": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The timestamp after which the OXXO voucher expires." + }, + "hosted_voucher_url": { "type": "string", "nullable": true, - "description": "The display name for this account. This is used on the Stripe Dashboard to differentiate between accounts." + "description": "The URL for the hosted OXXO voucher page, which allows customers to view and print an OXXO voucher." }, - "timezone": { + "number": { "type": "string", "nullable": true, - "description": "The timezone used in the Stripe Dashboard for this account. A list of possible time zone values is maintained at the [IANA Time Zone Database](http://www.iana.org/time-zones)." + "description": "OXXO reference number." } }, "required": [ - "display_name", - "timezone" + "expires_after", + "hosted_voucher_url", + "number" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Account.Settings.Invoices": { + "stripe.Stripe.PaymentIntent.NextAction.PaynowDisplayQrCode": { "properties": { - "default_account_tax_ids": { - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.TaxId" - } - ] - }, - "type": "array", + "data": { + "type": "string", + "description": "The raw data string used to generate QR code, it should be used together with QR code library." + }, + "hosted_instructions_url": { + "type": "string", "nullable": true, - "description": "The list of default Account Tax IDs to automatically include on invoices. Account Tax IDs get added when an invoice is finalized." + "description": "The URL to the hosted PayNow instructions page, which allows customers to view the PayNow QR code." + }, + "image_url_png": { + "type": "string", + "description": "The image_url_png string used to render QR code" + }, + "image_url_svg": { + "type": "string", + "description": "The image_url_svg string used to render QR code" } }, "required": [ - "default_account_tax_ids" + "data", + "hosted_instructions_url", + "image_url_png", + "image_url_svg" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Account.Settings.Payments": { + "stripe.Stripe.PaymentIntent.NextAction.PixDisplayQrCode": { "properties": { - "statement_descriptor": { + "data": { "type": "string", - "nullable": true, - "description": "The default text that appears on credit card statements when a charge is made. This field prefixes any dynamic `statement_descriptor` specified on the charge." + "description": "The raw data string used to generate QR code, it should be used together with QR code library." }, - "statement_descriptor_kana": { - "type": "string", - "nullable": true, - "description": "The Kana variation of `statement_descriptor` used for charges in Japan. Japanese statement descriptors have [special requirements](https://docs.stripe.com/get-started/account/statement-descriptors#set-japanese-statement-descriptors)." + "expires_at": { + "type": "number", + "format": "double", + "description": "The date (unix timestamp) when the PIX expires." }, - "statement_descriptor_kanji": { + "hosted_instructions_url": { "type": "string", - "nullable": true, - "description": "The Kanji variation of `statement_descriptor` used for charges in Japan. Japanese statement descriptors have [special requirements](https://docs.stripe.com/get-started/account/statement-descriptors#set-japanese-statement-descriptors)." + "description": "The URL to the hosted pix instructions page, which allows customers to view the pix QR code." }, - "statement_descriptor_prefix_kana": { + "image_url_png": { "type": "string", - "nullable": true, - "description": "The Kana variation of `statement_descriptor_prefix` used for card charges in Japan. Japanese statement descriptors have [special requirements](https://docs.stripe.com/get-started/account/statement-descriptors#set-japanese-statement-descriptors)." + "description": "The image_url_png string used to render png QR code" }, - "statement_descriptor_prefix_kanji": { + "image_url_svg": { "type": "string", - "nullable": true, - "description": "The Kanji variation of `statement_descriptor_prefix` used for card charges in Japan. Japanese statement descriptors have [special requirements](https://docs.stripe.com/get-started/account/statement-descriptors#set-japanese-statement-descriptors)." + "description": "The image_url_svg string used to render svg QR code" } }, - "required": [ - "statement_descriptor", - "statement_descriptor_kana", - "statement_descriptor_kanji", - "statement_descriptor_prefix_kana", - "statement_descriptor_prefix_kanji" - ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Account.Settings.Payouts.Schedule": { + "stripe.Stripe.PaymentIntent.NextAction.PromptpayDisplayQrCode": { "properties": { - "delay_days": { - "type": "number", - "format": "double", - "description": "The number of days charges for the account will be held before being paid out." + "data": { + "type": "string", + "description": "The raw data string used to generate QR code, it should be used together with QR code library." }, - "interval": { + "hosted_instructions_url": { "type": "string", - "description": "How frequently funds will be paid out. One of `manual` (payouts only created via API call), `daily`, `weekly`, or `monthly`." + "description": "The URL to the hosted PromptPay instructions page, which allows customers to view the PromptPay QR code." }, - "monthly_anchor": { - "type": "number", - "format": "double", - "description": "The day of the month funds will be paid out. Only shown if `interval` is monthly. Payouts scheduled between the 29th and 31st of the month are sent on the last day of shorter months." + "image_url_png": { + "type": "string", + "description": "The PNG path used to render the QR code, can be used as the source in an HTML img tag" }, - "weekly_anchor": { + "image_url_svg": { "type": "string", - "description": "The day of the week funds will be paid out, of the style 'monday', 'tuesday', etc. Only shown if `interval` is weekly." + "description": "The SVG path used to render the QR code, can be used as the source in an HTML img tag" } }, "required": [ - "delay_days", - "interval" + "data", + "hosted_instructions_url", + "image_url_png", + "image_url_svg" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Account.Settings.Payouts": { + "stripe.Stripe.PaymentIntent.NextAction.RedirectToUrl": { "properties": { - "debit_negative_balances": { - "type": "boolean", - "description": "A Boolean indicating if Stripe should try to reclaim negative balances from an attached bank account. See [Understanding Connect account balances](https://stripe.com/connect/account-balances) for details. The default value is `false` when [controller.requirement_collection](https://stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts, otherwise `true`." - }, - "schedule": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Settings.Payouts.Schedule" + "return_url": { + "type": "string", + "nullable": true, + "description": "If the customer does not exit their browser while authenticating, they will be redirected to this specified URL after completion." }, - "statement_descriptor": { + "url": { "type": "string", "nullable": true, - "description": "The text that appears on the bank account statement for payouts. If not set, this defaults to the platform's bank descriptor as set in the Dashboard." + "description": "The URL you must redirect your customer to in order to authenticate the payment." } }, "required": [ - "debit_negative_balances", - "schedule", - "statement_descriptor" + "return_url", + "url" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Account.Settings.SepaDebitPayments": { + "stripe.Stripe.PaymentIntent.NextAction.SwishHandleRedirectOrDisplayQrCode.QrCode": { "properties": { - "creditor_id": { + "data": { "type": "string", - "description": "SEPA creditor identifier that identifies the company making the payment." + "description": "The raw data string used to generate QR code, it should be used together with QR code library." + }, + "image_url_png": { + "type": "string", + "description": "The image_url_png string used to render QR code" + }, + "image_url_svg": { + "type": "string", + "description": "The image_url_svg string used to render QR code" } }, + "required": [ + "data", + "image_url_png", + "image_url_svg" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Account.Settings.Treasury.TosAcceptance": { + "stripe.Stripe.PaymentIntent.NextAction.SwishHandleRedirectOrDisplayQrCode": { "properties": { - "date": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The Unix timestamp marking when the account representative accepted the service agreement." - }, - "ip": { + "hosted_instructions_url": { "type": "string", - "nullable": true, - "description": "The IP address from which the account representative accepted the service agreement." + "description": "The URL to the hosted Swish instructions page, which allows customers to view the QR code." }, - "user_agent": { + "mobile_auth_url": { "type": "string", - "description": "The user agent of the browser from which the account representative accepted the service agreement." + "description": "The url for mobile redirect based auth (for internal use only and not typically available in standard API requests)." + }, + "qr_code": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.SwishHandleRedirectOrDisplayQrCode.QrCode" } }, "required": [ - "date", - "ip" + "hosted_instructions_url", + "mobile_auth_url", + "qr_code" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Account.Settings.Treasury": { - "properties": { - "tos_acceptance": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Settings.Treasury.TosAcceptance" - } - }, + "stripe.Stripe.PaymentIntent.NextAction.UseStripeSdk": { + "properties": {}, "type": "object", "additionalProperties": false }, - "stripe.Stripe.Account.Settings": { + "stripe.Stripe.PaymentIntent.NextAction.VerifyWithMicrodeposits.MicrodepositType": { + "type": "string", + "enum": [ + "amounts", + "descriptor_code" + ] + }, + "stripe.Stripe.PaymentIntent.NextAction.VerifyWithMicrodeposits": { "properties": { - "bacs_debit_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Settings.BacsDebitPayments" - }, - "branding": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Settings.Branding" - }, - "card_issuing": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Settings.CardIssuing" - }, - "card_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Settings.CardPayments" - }, - "dashboard": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Settings.Dashboard" - }, - "invoices": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Settings.Invoices" - }, - "payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Settings.Payments" - }, - "payouts": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Settings.Payouts" + "arrival_date": { + "type": "number", + "format": "double", + "description": "The timestamp when the microdeposits are expected to land." }, - "sepa_debit_payments": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Settings.SepaDebitPayments" + "hosted_verification_url": { + "type": "string", + "description": "The URL for the hosted verification page, which allows customers to verify their bank account." }, - "treasury": { - "$ref": "#/components/schemas/stripe.Stripe.Account.Settings.Treasury" + "microdeposit_type": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.VerifyWithMicrodeposits.MicrodepositType" + } + ], + "nullable": true, + "description": "The type of the microdeposit sent to the customer. Used to distinguish between different verification methods." } }, "required": [ - "branding", - "card_payments", - "dashboard", - "payments" + "arrival_date", + "hosted_verification_url", + "microdeposit_type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Account.TosAcceptance": { + "stripe.Stripe.PaymentIntent.NextAction.WechatPayDisplayQrCode": { "properties": { - "date": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The Unix timestamp marking when the account representative accepted their service agreement" + "data": { + "type": "string", + "description": "The data being used to generate QR code" }, - "ip": { + "hosted_instructions_url": { "type": "string", - "nullable": true, - "description": "The IP address from which the account representative accepted their service agreement" + "description": "The URL to the hosted WeChat Pay instructions page, which allows customers to view the WeChat Pay QR code." }, - "service_agreement": { + "image_data_url": { "type": "string", - "description": "The user's service agreement type" + "description": "The base64 image data for a pre-generated QR code" }, - "user_agent": { + "image_url_png": { "type": "string", - "nullable": true, - "description": "The user agent of the browser from which the account representative accepted their service agreement" + "description": "The image_url_png string used to render QR code" + }, + "image_url_svg": { + "type": "string", + "description": "The image_url_svg string used to render QR code" } }, + "required": [ + "data", + "hosted_instructions_url", + "image_data_url", + "image_url_png", + "image_url_svg" + ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Account.Type": { - "type": "string", - "enum": [ - "custom", - "express", - "none", - "standard" - ] - }, - "stripe.Stripe.Subscription.AutomaticTax.Liability.Type": { - "type": "string", - "enum": [ - "account", - "self" - ] - }, - "stripe.Stripe.Subscription.AutomaticTax.Liability": { + "stripe.Stripe.PaymentIntent.NextAction.WechatPayRedirectToAndroidApp": { "properties": { - "account": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Account" - } - ], - "description": "The connected account being referenced when `type` is `account`." + "app_id": { + "type": "string", + "description": "app_id is the APP ID registered on WeChat open platform" }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.AutomaticTax.Liability.Type", - "description": "Type of the account referenced." + "nonce_str": { + "type": "string", + "description": "nonce_str is a random string" + }, + "package": { + "type": "string", + "description": "package is static value" + }, + "partner_id": { + "type": "string", + "description": "an unique merchant ID assigned by WeChat Pay" + }, + "prepay_id": { + "type": "string", + "description": "an unique trading ID assigned by WeChat Pay" + }, + "sign": { + "type": "string", + "description": "A signature" + }, + "timestamp": { + "type": "string", + "description": "Specifies the current time in epoch format" } }, "required": [ - "type" + "app_id", + "nonce_str", + "package", + "partner_id", + "prepay_id", + "sign", + "timestamp" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Subscription.AutomaticTax": { + "stripe.Stripe.PaymentIntent.NextAction.WechatPayRedirectToIosApp": { "properties": { - "disabled_reason": { + "native_url": { "type": "string", - "enum": [ - "requires_location_inputs", - null - ], - "nullable": true, - "description": "If Stripe disabled automatic tax, this enum describes why." - }, - "enabled": { - "type": "boolean", - "description": "Whether Stripe automatically computes tax on this subscription." - }, - "liability": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.AutomaticTax.Liability" - } - ], - "nullable": true, - "description": "The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account." + "description": "An universal link that redirect to WeChat Pay app" } }, "required": [ - "disabled_reason", - "enabled", - "liability" + "native_url" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Subscription.BillingCycleAnchorConfig": { + "stripe.Stripe.PaymentIntent.NextAction": { "properties": { - "day_of_month": { - "type": "number", - "format": "double", - "description": "The day of the month of the billing_cycle_anchor." + "alipay_handle_redirect": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.AlipayHandleRedirect" }, - "hour": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The hour of the day of the billing_cycle_anchor." + "boleto_display_details": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.BoletoDisplayDetails" + }, + "card_await_notification": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.CardAwaitNotification" + }, + "cashapp_handle_redirect_or_display_qr_code": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.CashappHandleRedirectOrDisplayQrCode" + }, + "display_bank_transfer_instructions": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.DisplayBankTransferInstructions" + }, + "konbini_display_details": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.KonbiniDisplayDetails" + }, + "multibanco_display_details": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.MultibancoDisplayDetails" + }, + "oxxo_display_details": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.OxxoDisplayDetails" + }, + "paynow_display_qr_code": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.PaynowDisplayQrCode" + }, + "pix_display_qr_code": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.PixDisplayQrCode" + }, + "promptpay_display_qr_code": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.PromptpayDisplayQrCode" + }, + "redirect_to_url": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.RedirectToUrl" + }, + "swish_handle_redirect_or_display_qr_code": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.SwishHandleRedirectOrDisplayQrCode" + }, + "type": { + "type": "string", + "description": "Type of the next action to perform, one of `redirect_to_url`, `use_stripe_sdk`, `alipay_handle_redirect`, `oxxo_display_details`, or `verify_with_microdeposits`." + }, + "use_stripe_sdk": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.UseStripeSdk", + "description": "When confirming a PaymentIntent with Stripe.js, Stripe.js depends on the contents of this dictionary to invoke authentication flows. The shape of the contents is subject to change and is only intended to be used by Stripe.js." + }, + "verify_with_microdeposits": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.VerifyWithMicrodeposits" }, - "minute": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The minute of the hour of the billing_cycle_anchor." + "wechat_pay_display_qr_code": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.WechatPayDisplayQrCode" }, - "month": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The month to start full cycle billing periods." + "wechat_pay_redirect_to_android_app": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.WechatPayRedirectToAndroidApp" }, - "second": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The second of the minute of the billing_cycle_anchor." + "wechat_pay_redirect_to_ios_app": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.NextAction.WechatPayRedirectToIosApp" } }, "required": [ - "day_of_month", - "hour", - "minute", - "month", - "second" + "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Subscription.BillingThresholds": { + "stripe.Stripe.PaymentIntent.PaymentMethodConfigurationDetails": { "properties": { - "amount_gte": { - "type": "number", - "format": "double", - "nullable": true, - "description": "Monetary threshold that triggers the subscription to create an invoice" + "id": { + "type": "string", + "description": "ID of the payment method configuration used." }, - "reset_billing_cycle_anchor": { - "type": "boolean", + "parent": { + "type": "string", "nullable": true, - "description": "Indicates if the `billing_cycle_anchor` should be reset when a threshold is reached. If true, `billing_cycle_anchor` will be updated to the date/time the threshold was last reached; otherwise, the value will remain unchanged. This value may not be `true` if the subscription contains items with plans that have `aggregate_usage=last_ever`." + "description": "ID of the parent payment method configuration used." } }, "required": [ - "amount_gte", - "reset_billing_cycle_anchor" + "id", + "parent" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Subscription.CancellationDetails.Feedback": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit.MandateOptions.PaymentSchedule": { "type": "string", "enum": [ - "customer_service", - "low_quality", - "missing_features", - "other", - "switched_service", - "too_complex", - "too_expensive", - "unused" + "combined", + "interval", + "sporadic" ] }, - "stripe.Stripe.Subscription.CancellationDetails.Reason": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit.MandateOptions.TransactionType": { "type": "string", "enum": [ - "cancellation_requested", - "payment_disputed", - "payment_failed" + "business", + "personal" ] }, - "stripe.Stripe.Subscription.CancellationDetails": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit.MandateOptions": { "properties": { - "comment": { + "custom_mandate_url": { + "type": "string", + "description": "A URL for custom mandate text" + }, + "interval_description": { "type": "string", "nullable": true, - "description": "Additional comments about why the user canceled the subscription, if the subscription was canceled explicitly by the user." + "description": "Description of the interval. Only required if the 'payment_schedule' parameter is 'interval' or 'combined'." }, - "feedback": { + "payment_schedule": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.CancellationDetails.Feedback" + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit.MandateOptions.PaymentSchedule" } ], "nullable": true, - "description": "The customer submitted reason for why they canceled, if the subscription was canceled explicitly by the user." + "description": "Payment schedule for the mandate." }, - "reason": { + "transaction_type": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.CancellationDetails.Reason" + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit.MandateOptions.TransactionType" } ], "nullable": true, - "description": "Why this subscription was canceled." + "description": "Transaction type of the mandate." } }, "required": [ - "comment", - "feedback", - "reason" + "interval_description", + "payment_schedule", + "transaction_type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Subscription.CollectionMethod": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit.SetupFutureUsage": { "type": "string", "enum": [ - "charge_automatically", - "send_invoice" + "none", + "off_session", + "on_session" ] }, - "stripe.Stripe.Subscription.InvoiceSettings.Issuer.Type": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit.VerificationMethod": { "type": "string", "enum": [ - "account", - "self" + "automatic", + "instant", + "microdeposits" ] }, - "stripe.Stripe.Subscription.InvoiceSettings.Issuer": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit": { "properties": { - "account": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Account" - } - ], - "description": "The connected account being referenced when `type` is `account`." + "mandate_options": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit.MandateOptions" }, - "type": { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.InvoiceSettings.Issuer.Type", - "description": "Type of the account referenced." + "setup_future_usage": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit.SetupFutureUsage", + "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + }, + "target_date": { + "type": "string", + "description": "Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now." + }, + "verification_method": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit.VerificationMethod", + "description": "Bank account verification method." } }, - "required": [ - "type" - ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Subscription.InvoiceSettings": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Affirm": { "properties": { - "account_tax_ids": { - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.TaxId" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.DeletedTaxId" - } - ] - }, - "type": "array", - "nullable": true, - "description": "The account tax IDs associated with the subscription. Will be set on invoices generated by the subscription." + "capture_method": { + "type": "string", + "enum": [ + "manual" + ], + "nullable": false, + "description": "Controls when the funds will be captured from the customer's account." }, - "issuer": { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.InvoiceSettings.Issuer" + "preferred_locale": { + "type": "string", + "description": "Preferred language of the Affirm authorization page that the customer is redirected to." + }, + "setup_future_usage": { + "type": "string", + "enum": [ + "none" + ], + "nullable": false, + "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." } }, - "required": [ - "account_tax_ids", - "issuer" - ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.ApiList_stripe.Stripe.SubscriptionItem_": { - "description": "A container for paginated lists of objects.\nThe array of objects is on the `.data` property,\nand `.has_more` indicates whether there are additional objects beyond the end of this list.\n\nLearn more in Stripe's [pagination docs](https://stripe.com/docs/api/pagination?lang=node)\nor, when iterating over many items, try [auto-pagination](https://github.com/stripe/stripe-node#auto-pagination) instead.", + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AfterpayClearpay": { "properties": { - "object": { + "capture_method": { "type": "string", "enum": [ - "list" + "manual" ], - "nullable": false - }, - "data": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.SubscriptionItem" - }, - "type": "array" + "nullable": false, + "description": "Controls when the funds will be captured from the customer's account." }, - "has_more": { - "type": "boolean", - "description": "True if this list has another page of items after this one that can be fetched." + "reference": { + "type": "string", + "nullable": true, + "description": "An internal identifier or reference that this payment corresponds to. You must limit the identifier to 128 characters, and it can only contain letters, numbers, underscores, backslashes, and dashes.\nThis field differs from the statement descriptor and item name." }, - "url": { + "setup_future_usage": { "type": "string", - "description": "The URL where this list can be accessed." + "enum": [ + "none" + ], + "nullable": false, + "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." } }, "required": [ - "object", - "data", - "has_more", - "url" + "reference" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Subscription.PauseCollection.Behavior": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Alipay.SetupFutureUsage": { "type": "string", "enum": [ - "keep_as_draft", - "mark_uncollectible", - "void" + "none", + "off_session" ] }, - "stripe.Stripe.Subscription.PauseCollection": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Alipay": { "properties": { - "behavior": { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.PauseCollection.Behavior", - "description": "The payment collection behavior for this subscription while paused. One of `keep_as_draft`, `mark_uncollectible`, or `void`." - }, - "resumes_at": { - "type": "number", - "format": "double", - "nullable": true, - "description": "The time after which the subscription will resume collecting payments." + "setup_future_usage": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Alipay.SetupFutureUsage", + "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." } }, - "required": [ - "behavior", - "resumes_at" - ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.AcssDebit.MandateOptions.TransactionType": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Alma": { + "properties": { + "capture_method": { + "type": "string", + "enum": [ + "manual" + ], + "nullable": false, + "description": "Controls when the funds will be captured from the customer's account." + } + }, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AmazonPay.SetupFutureUsage": { "type": "string", "enum": [ - "business", - "personal" + "none", + "off_session" ] }, - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.AcssDebit.MandateOptions": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AmazonPay": { "properties": { - "transaction_type": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.AcssDebit.MandateOptions.TransactionType" - } + "capture_method": { + "type": "string", + "enum": [ + "manual" ], - "nullable": true, - "description": "Transaction type of the mandate." + "nullable": false, + "description": "Controls when the funds will be captured from the customer's account." + }, + "setup_future_usage": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.AmazonPay.SetupFutureUsage", + "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." } }, - "required": [ - "transaction_type" - ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.AcssDebit.VerificationMethod": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AuBecsDebit.SetupFutureUsage": { "type": "string", "enum": [ - "automatic", - "instant", - "microdeposits" + "none", + "off_session", + "on_session" ] }, - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.AcssDebit": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.AuBecsDebit": { + "properties": { + "setup_future_usage": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.AuBecsDebit.SetupFutureUsage", + "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + }, + "target_date": { + "type": "string", + "description": "Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now." + } + }, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.BacsDebit.MandateOptions": { + "properties": { + "reference_prefix": { + "type": "string", + "description": "Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'DDIC' or 'STRIPE'." + } + }, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.BacsDebit.SetupFutureUsage": { + "type": "string", + "enum": [ + "none", + "off_session", + "on_session" + ] + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.BacsDebit": { "properties": { "mandate_options": { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.AcssDebit.MandateOptions" + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.BacsDebit.MandateOptions" }, - "verification_method": { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.AcssDebit.VerificationMethod", - "description": "Bank account verification method." + "setup_future_usage": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.BacsDebit.SetupFutureUsage", + "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + }, + "target_date": { + "type": "string", + "description": "Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now." } }, "type": "object", "additionalProperties": false }, - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Bancontact.PreferredLanguage": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Bancontact.PreferredLanguage": { "type": "string", "enum": [ "de", @@ -47281,11 +37025,22 @@ "nl" ] }, - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Bancontact": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Bancontact.SetupFutureUsage": { + "type": "string", + "enum": [ + "none", + "off_session" + ] + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Bancontact": { "properties": { "preferred_language": { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Bancontact.PreferredLanguage", + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Bancontact.PreferredLanguage", "description": "Preferred language of the Bancontact authorization page that the customer is redirected to." + }, + "setup_future_usage": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Bancontact.SetupFutureUsage", + "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." } }, "required": [ @@ -47294,45 +37049,232 @@ "type": "object", "additionalProperties": false }, - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Card.MandateOptions.AmountType": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Blik": { + "properties": { + "setup_future_usage": { + "type": "string", + "enum": [ + "none" + ], + "nullable": false, + "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + } + }, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Boleto.SetupFutureUsage": { + "type": "string", + "enum": [ + "none", + "off_session", + "on_session" + ] + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Boleto": { + "properties": { + "expires_after_days": { + "type": "number", + "format": "double", + "description": "The number of calendar days before a Boleto voucher expires. For example, if you create a Boleto voucher on Monday and you set expires_after_days to 2, the Boleto voucher will expire on Wednesday at 23:59 America/Sao_Paulo time." + }, + "setup_future_usage": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Boleto.SetupFutureUsage", + "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + } + }, + "required": [ + "expires_after_days" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.Installments.AvailablePlan": { + "properties": { + "count": { + "type": "number", + "format": "double", + "nullable": true, + "description": "For `fixed_count` installment plans, this is the number of installment payments your customer will make to their credit card." + }, + "interval": { + "type": "string", + "enum": [ + "month", + null + ], + "nullable": true, + "description": "For `fixed_count` installment plans, this is the interval between installment payments your customer will make to their credit card.\nOne of `month`." + }, + "type": { + "type": "string", + "enum": [ + "fixed_count" + ], + "nullable": false, + "description": "Type of installment plan, one of `fixed_count`." + } + }, + "required": [ + "count", + "interval", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.Installments.Plan": { + "properties": { + "count": { + "type": "number", + "format": "double", + "nullable": true, + "description": "For `fixed_count` installment plans, this is the number of installment payments your customer will make to their credit card." + }, + "interval": { + "type": "string", + "enum": [ + "month", + null + ], + "nullable": true, + "description": "For `fixed_count` installment plans, this is the interval between installment payments your customer will make to their credit card.\nOne of `month`." + }, + "type": { + "type": "string", + "enum": [ + "fixed_count" + ], + "nullable": false, + "description": "Type of installment plan, one of `fixed_count`." + } + }, + "required": [ + "count", + "interval", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.Installments": { + "properties": { + "available_plans": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.Installments.AvailablePlan" + }, + "type": "array", + "nullable": true, + "description": "Installment plans that may be selected for this PaymentIntent." + }, + "enabled": { + "type": "boolean", + "description": "Whether Installments are enabled for this PaymentIntent." + }, + "plan": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.Installments.Plan" + } + ], + "nullable": true, + "description": "Installment plan selected for this PaymentIntent." + } + }, + "required": [ + "available_plans", + "enabled", + "plan" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.MandateOptions.AmountType": { "type": "string", "enum": [ "fixed", "maximum" ] }, - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Card.MandateOptions": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.MandateOptions.Interval": { + "type": "string", + "enum": [ + "day", + "month", + "sporadic", + "week", + "year" + ] + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.MandateOptions": { "properties": { "amount": { "type": "number", "format": "double", - "nullable": true, "description": "Amount to be charged for future payments." }, "amount_type": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Card.MandateOptions.AmountType" - } - ], - "nullable": true, + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.MandateOptions.AmountType", "description": "One of `fixed` or `maximum`. If `fixed`, the `amount` param refers to the exact amount to be charged in future payments. If `maximum`, the amount charged can be up to the value passed for the `amount` param." }, "description": { "type": "string", "nullable": true, "description": "A description of the mandate or subscription that is meant to be displayed to the customer." + }, + "end_date": { + "type": "number", + "format": "double", + "nullable": true, + "description": "End date of the mandate or subscription. If not provided, the mandate will be active until canceled. If provided, end date should be after start date." + }, + "interval": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.MandateOptions.Interval", + "description": "Specifies payment frequency. One of `day`, `week`, `month`, `year`, or `sporadic`." + }, + "interval_count": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The number of intervals between payments. For example, `interval=month` and `interval_count=3` indicates one payment every three months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks). This parameter is optional when `interval=sporadic`." + }, + "reference": { + "type": "string", + "description": "Unique identifier for the mandate or subscription." + }, + "start_date": { + "type": "number", + "format": "double", + "description": "Start date of the mandate or subscription. Start date should not be lesser than yesterday." + }, + "supported_types": { + "items": { + "type": "string", + "enum": [ + "india" + ], + "nullable": false + }, + "type": "array", + "nullable": true, + "description": "Specifies the type of mandates supported. Possible values are `india`." } }, "required": [ "amount", "amount_type", - "description" + "description", + "end_date", + "interval", + "interval_count", + "reference", + "start_date", + "supported_types" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Card.Network": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.Network": { "type": "string", "enum": [ "amex", @@ -47350,7 +37292,35 @@ "visa" ] }, - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Card.RequestThreeDSecure": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.RequestExtendedAuthorization": { + "type": "string", + "enum": [ + "if_available", + "never" + ] + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.RequestIncrementalAuthorization": { + "type": "string", + "enum": [ + "if_available", + "never" + ] + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.RequestMulticapture": { + "type": "string", + "enum": [ + "if_available", + "never" + ] + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.RequestOvercapture": { + "type": "string", + "enum": [ + "if_available", + "never" + ] + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.RequestThreeDSecure": { "type": "string", "enum": [ "any", @@ -47358,6546 +37328,8972 @@ "challenge" ] }, - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Card": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.SetupFutureUsage": { + "type": "string", + "enum": [ + "none", + "off_session", + "on_session" + ] + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card": { "properties": { + "capture_method": { + "type": "string", + "enum": [ + "manual" + ], + "nullable": false, + "description": "Controls when the funds will be captured from the customer's account." + }, + "installments": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.Installments" + } + ], + "nullable": true, + "description": "Installment details for this payment (Mexico only).\n\nFor more information, see the [installments integration guide](https://stripe.com/docs/payments/installments)." + }, "mandate_options": { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Card.MandateOptions" + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.MandateOptions" + } + ], + "nullable": true, + "description": "Configuration options for setting up an eMandate for cards issued in India." }, "network": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Card.Network" + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.Network" } ], "nullable": true, - "description": "Selected network to process this Subscription on. Depends on the available networks of the card attached to the Subscription. Can be only set confirm-time." + "description": "Selected network to process this payment intent on. Depends on the available networks of the card attached to the payment intent. Can be only set confirm-time." + }, + "request_extended_authorization": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.RequestExtendedAuthorization", + "description": "Request ability to [capture beyond the standard authorization validity window](https://stripe.com/docs/payments/extended-authorization) for this PaymentIntent." + }, + "request_incremental_authorization": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.RequestIncrementalAuthorization", + "description": "Request ability to [increment the authorization](https://stripe.com/docs/payments/incremental-authorization) for this PaymentIntent." + }, + "request_multicapture": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.RequestMulticapture", + "description": "Request ability to make [multiple captures](https://stripe.com/docs/payments/multicapture) for this PaymentIntent." + }, + "request_overcapture": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.RequestOvercapture", + "description": "Request ability to [overcapture](https://stripe.com/docs/payments/overcapture) for this PaymentIntent." }, "request_three_d_secure": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Card.RequestThreeDSecure" + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.RequestThreeDSecure" } ], "nullable": true, - "description": "We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine." + "description": "We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. If not provided, this value defaults to `automatic`. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine." + }, + "require_cvc_recollection": { + "type": "boolean", + "description": "When enabled, using a card that is attached to a customer will require the CVC to be provided again (i.e. using the cvc_token parameter)." + }, + "setup_future_usage": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card.SetupFutureUsage", + "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + }, + "statement_descriptor_suffix_kana": { + "type": "string", + "description": "Provides information about a card payment that customers see on their statements. Concatenated with the Kana prefix (shortened Kana descriptor) or Kana statement descriptor that's set on the account to form the complete statement descriptor. Maximum 22 characters. On card statements, the *concatenation* of both prefix and suffix (including separators) will appear truncated to 22 characters." + }, + "statement_descriptor_suffix_kanji": { + "type": "string", + "description": "Provides information about a card payment that customers see on their statements. Concatenated with the Kanji prefix (shortened Kanji descriptor) or Kanji statement descriptor that's set on the account to form the complete statement descriptor. Maximum 17 characters. On card statements, the *concatenation* of both prefix and suffix (including separators) will appear truncated to 17 characters." } }, "required": [ + "installments", + "mandate_options", "network", "request_three_d_secure" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer.Country": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.CardPresent.Routing.RequestedPriority": { "type": "string", "enum": [ - "BE", - "DE", - "ES", - "FR", - "IE", - "NL" + "domestic", + "international" ] }, - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer": { - "properties": { - "country": { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer.Country", - "description": "The desired country code of the bank account information. Permitted values include: `BE`, `DE`, `ES`, `FR`, `IE`, or `NL`." - } - }, - "required": [ - "country" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.CardPresent.Routing": { "properties": { - "eu_bank_transfer": { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer" - }, - "type": { - "type": "string", + "requested_priority": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.CardPresent.Routing.RequestedPriority" + } + ], "nullable": true, - "description": "The bank transfer type that can be used for funding. Permitted values include: `eu_bank_transfer`, `gb_bank_transfer`, `jp_bank_transfer`, `mx_bank_transfer`, or `us_bank_transfer`." + "description": "Requested routing priority" } }, "required": [ - "type" + "requested_priority" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.CustomerBalance": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.CardPresent": { "properties": { - "bank_transfer": { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer" + "request_extended_authorization": { + "type": "boolean", + "nullable": true, + "description": "Request ability to capture this payment beyond the standard [authorization validity window](https://stripe.com/docs/terminal/features/extended-authorizations#authorization-validity)" }, - "funding_type": { - "type": "string", - "enum": [ - "bank_transfer", - null - ], + "request_incremental_authorization_support": { + "type": "boolean", "nullable": true, - "description": "The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`." + "description": "Request ability to [increment](https://stripe.com/docs/terminal/features/incremental-authorizations) this PaymentIntent if the combination of MCC and card brand is eligible. Check [incremental_authorization_supported](https://stripe.com/docs/api/charges/object#charge_object-payment_method_details-card_present-incremental_authorization_supported) in the [Confirm](https://stripe.com/docs/api/payment_intents/confirm) response to verify support." + }, + "routing": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.CardPresent.Routing" } }, "required": [ - "funding_type" + "request_extended_authorization", + "request_incremental_authorization_support" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Konbini": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.SepaDebit": { - "properties": {}, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters.AccountSubcategory": { - "type": "string", - "enum": [ - "checking", - "savings" - ] - }, - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters": { - "properties": { - "account_subcategories": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters.AccountSubcategory" - }, - "type": "array", - "description": "The account subcategories to use to filter for possible accounts to link. Valid subcategories are `checking` and `savings`." - } - }, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Permission": { - "type": "string", - "enum": [ - "balances", - "ownership", - "payment_method", - "transactions" - ] - }, - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Prefetch": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Cashapp.SetupFutureUsage": { "type": "string", "enum": [ - "balances", - "ownership", - "transactions" + "none", + "off_session", + "on_session" ] }, - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Cashapp": { "properties": { - "filters": { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters" - }, - "permissions": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Permission" - }, - "type": "array", - "description": "The list of permissions to request. The `payment_method` permission must be included." + "capture_method": { + "type": "string", + "enum": [ + "manual" + ], + "nullable": false, + "description": "Controls when the funds will be captured from the customer's account." }, - "prefetch": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Prefetch" - }, - "type": "array", - "nullable": true, - "description": "Data features requested to be retrieved upon account creation." + "setup_future_usage": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Cashapp.SetupFutureUsage", + "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." } }, - "required": [ - "prefetch" - ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.VerificationMethod": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer.Country": { "type": "string", "enum": [ - "automatic", - "instant", - "microdeposits" + "BE", + "DE", + "ES", + "FR", + "IE", + "NL" ] }, - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount": { - "properties": { - "financial_connections": { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections" - }, - "verification_method": { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.VerificationMethod", - "description": "Bank account verification method." - } - }, - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer": { "properties": { - "acss_debit": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.AcssDebit" - } - ], - "nullable": true, - "description": "This sub-hash contains details about the Canadian pre-authorized debit payment method options to pass to invoices created by the subscription." - }, - "bancontact": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Bancontact" - } - ], - "nullable": true, - "description": "This sub-hash contains details about the Bancontact payment method options to pass to invoices created by the subscription." - }, - "card": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Card" - } - ], - "nullable": true, - "description": "This sub-hash contains details about the Card payment method options to pass to invoices created by the subscription." - }, - "customer_balance": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.CustomerBalance" - } - ], - "nullable": true, - "description": "This sub-hash contains details about the Bank transfer payment method options to pass to invoices created by the subscription." - }, - "konbini": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Konbini" - } - ], - "nullable": true, - "description": "This sub-hash contains details about the Konbini payment method options to pass to invoices created by the subscription." - }, - "sepa_debit": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.SepaDebit" - } - ], - "nullable": true, - "description": "This sub-hash contains details about the SEPA Direct Debit payment method options to pass to invoices created by the subscription." - }, - "us_bank_account": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount" - } - ], - "nullable": true, - "description": "This sub-hash contains details about the ACH direct debit payment method options to pass to invoices created by the subscription." + "country": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer.Country", + "description": "The desired country code of the bank account information. Permitted values include: `BE`, `DE`, `ES`, `FR`, `IE`, or `NL`." } }, "required": [ - "acss_debit", - "bancontact", - "card", - "customer_balance", - "konbini", - "sepa_debit", - "us_bank_account" + "country" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodType": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance.BankTransfer.RequestedAddressType": { "type": "string", "enum": [ - "ach_credit_transfer", - "ach_debit", - "acss_debit", - "amazon_pay", - "au_becs_debit", - "bacs_debit", - "bancontact", - "boleto", - "card", - "cashapp", - "customer_balance", - "eps", - "fpx", - "giropay", - "grabpay", - "ideal", - "jp_credit_transfer", - "kakao_pay", - "konbini", - "kr_card", - "link", - "multibanco", - "naver_pay", - "p24", - "payco", - "paynow", - "paypal", - "promptpay", - "revolut_pay", - "sepa_credit_transfer", - "sepa_debit", - "sofort", - "swish", - "us_bank_account", - "wechat_pay" + "aba", + "iban", + "sepa", + "sort_code", + "spei", + "swift", + "zengin" ] }, - "stripe.Stripe.Subscription.PaymentSettings.SaveDefaultPaymentMethod": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance.BankTransfer.Type": { "type": "string", "enum": [ - "off", - "on_subscription" + "eu_bank_transfer", + "gb_bank_transfer", + "jp_bank_transfer", + "mx_bank_transfer", + "us_bank_transfer" ] }, - "stripe.Stripe.Subscription.PaymentSettings": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance.BankTransfer": { "properties": { - "payment_method_options": { - "allOf": [ - { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions" - } - ], - "nullable": true, - "description": "Payment-method-specific configuration to provide to invoices created by the subscription." + "eu_bank_transfer": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer" }, - "payment_method_types": { + "requested_address_types": { "items": { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodType" + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance.BankTransfer.RequestedAddressType" }, "type": "array", - "nullable": true, - "description": "The list of payment method types to provide to every invoice created by the subscription. If not set, Stripe attempts to automatically determine the types to use by looking at the invoice's default payment method, the subscription's default payment method, the customer's default payment method, and your [invoice template settings](https://dashboard.stripe.com/settings/billing/invoice)." + "description": "List of address types that should be returned in the financial_addresses response. If not specified, all valid types will be returned.\n\nPermitted values include: `sort_code`, `zengin`, `iban`, or `spei`." }, - "save_default_payment_method": { + "type": { "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.SaveDefaultPaymentMethod" - } - ], - "nullable": true, - "description": "Configure whether Stripe updates `subscription.default_payment_method` when payment succeeds. Defaults to `off`." - } - }, - "required": [ - "payment_method_options", - "payment_method_types", - "save_default_payment_method" - ], - "type": "object", - "additionalProperties": false - }, - "stripe.Stripe.Subscription.PendingInvoiceItemInterval.Interval": { - "type": "string", - "enum": [ - "day", - "month", - "week", - "year" - ] - }, - "stripe.Stripe.Subscription.PendingInvoiceItemInterval": { - "properties": { - "interval": { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.PendingInvoiceItemInterval.Interval", - "description": "Specifies invoicing frequency. Either `day`, `week`, `month` or `year`." - }, - "interval_count": { - "type": "number", - "format": "double", - "description": "The number of intervals between invoices. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks)." + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance.BankTransfer.Type" + } + ], + "nullable": true, + "description": "The bank transfer type that this PaymentIntent is allowed to use for funding Permitted values include: `eu_bank_transfer`, `gb_bank_transfer`, `jp_bank_transfer`, `mx_bank_transfer`, or `us_bank_transfer`." } }, "required": [ - "interval", - "interval_count" + "type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Subscription.PendingUpdate": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance": { "properties": { - "billing_cycle_anchor": { - "type": "number", - "format": "double", - "nullable": true, - "description": "If the update is applied, determines the date of the first full invoice, and, for plans with `month` or `year` intervals, the day of the month for subsequent invoices. The timestamp is in UTC format." - }, - "expires_at": { - "type": "number", - "format": "double", - "description": "The point after which the changes reflected by this update will be discarded and no longer applied." - }, - "subscription_items": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.SubscriptionItem" - }, - "type": "array", - "nullable": true, - "description": "List of subscription items, each with an attached plan, that will be set if the update is applied." + "bank_transfer": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance.BankTransfer" }, - "trial_end": { - "type": "number", - "format": "double", + "funding_type": { + "type": "string", + "enum": [ + "bank_transfer", + null + ], "nullable": true, - "description": "Unix timestamp representing the end of the trial period the customer will get before being charged for the first time, if the update is applied." + "description": "The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`." }, - "trial_from_plan": { - "type": "boolean", - "nullable": true, - "description": "Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `trial_end` is not allowed. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more." + "setup_future_usage": { + "type": "string", + "enum": [ + "none" + ], + "nullable": false, + "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." } }, "required": [ - "billing_cycle_anchor", - "expires_at", - "subscription_items", - "trial_end", - "trial_from_plan" + "funding_type" ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Subscription.Status": { - "type": "string", - "enum": [ - "active", - "canceled", - "incomplete", - "incomplete_expired", - "past_due", - "paused", - "trialing", - "unpaid" - ] + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Eps": { + "properties": { + "setup_future_usage": { + "type": "string", + "enum": [ + "none" + ], + "nullable": false, + "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + } + }, + "type": "object", + "additionalProperties": false }, - "stripe.Stripe.Subscription.TransferData": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Fpx": { "properties": { - "amount_percent": { - "type": "number", - "format": "double", - "nullable": true, - "description": "A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount is transferred to the destination." - }, - "destination": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Account" - } + "setup_future_usage": { + "type": "string", + "enum": [ + "none" ], - "description": "The account where funds from the payment will be transferred to upon payment success." + "nullable": false, + "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." } }, - "required": [ - "amount_percent", - "destination" - ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Subscription.TrialSettings.EndBehavior.MissingPaymentMethod": { - "type": "string", - "enum": [ - "cancel", - "create_invoice", - "pause" - ] + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Giropay": { + "properties": { + "setup_future_usage": { + "type": "string", + "enum": [ + "none" + ], + "nullable": false, + "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + } + }, + "type": "object", + "additionalProperties": false }, - "stripe.Stripe.Subscription.TrialSettings.EndBehavior": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Grabpay": { "properties": { - "missing_payment_method": { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.TrialSettings.EndBehavior.MissingPaymentMethod", - "description": "Indicates how the subscription should change when the trial ends if the user did not provide a payment method." + "setup_future_usage": { + "type": "string", + "enum": [ + "none" + ], + "nullable": false, + "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." } }, - "required": [ - "missing_payment_method" - ], "type": "object", "additionalProperties": false }, - "stripe.Stripe.Subscription.TrialSettings": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Ideal.SetupFutureUsage": { + "type": "string", + "enum": [ + "none", + "off_session" + ] + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Ideal": { "properties": { - "end_behavior": { - "$ref": "#/components/schemas/stripe.Stripe.Subscription.TrialSettings.EndBehavior", - "description": "Defines how a subscription behaves when a free trial ends." + "setup_future_usage": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Ideal.SetupFutureUsage", + "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." } }, - "required": [ - "end_behavior" - ], "type": "object", "additionalProperties": false }, - "Record_string.stripe.Stripe.Discount_": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.InteracPresent": { "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/stripe.Stripe.Discount" - }, "type": "object", - "description": "Construct a type with a set of properties K of type T" + "additionalProperties": false }, - "Pick_stripe.Stripe.Invoice.Exclude_keyofstripe.Stripe.Invoice.id__": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.KakaoPay.SetupFutureUsage": { + "type": "string", + "enum": [ + "none", + "off_session" + ] + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.KakaoPay": { "properties": { - "number": { - "type": "string", - "description": "A unique, identifying string that appears on emails sent to the customer for this invoice. This starts with the customer's unique invoice_prefix if it is specified." - }, - "object": { + "capture_method": { "type": "string", "enum": [ - "invoice" + "manual" ], "nullable": false, - "description": "String representing the object's type. Objects of the same type share the same value." - }, - "status": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.Status", - "description": "The status of the invoice, one of `draft`, `open`, `paid`, `uncollectible`, or `void`. [Learn more](https://stripe.com/docs/billing/invoices/workflow#workflow-overview)" - }, - "application": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Application" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.DeletedApplication" - } - ], - "description": "ID of the Connect Application that created the invoice." - }, - "subscription": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Subscription" - } - ], - "description": "The subscription that this invoice was prepared for, if any." - }, - "customer": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Customer" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.DeletedCustomer" - } - ], - "description": "The ID of the customer who will be billed." - }, - "deleted": { - "description": "Always true for a deleted object" - }, - "issuer": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.Issuer" - }, - "charge": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Charge" - } - ], - "description": "ID of the latest charge generated for this invoice, if any." - }, - "paid": { - "type": "boolean", - "description": "Whether payment was successfully collected for this invoice. An invoice can be paid (most commonly) with a charge or with credit from the customer's account balance." - }, - "discount": { - "$ref": "#/components/schemas/stripe.Stripe.Discount", - "description": "Describes the current discount applied to this invoice, if there is one. Not populated if there are multiple discounts." - }, - "account_country": { - "type": "string", - "description": "The country of the business associated with this invoice, most often the business creating the invoice." - }, - "account_name": { - "type": "string", - "description": "The public name of the business associated with this invoice, most often the business creating the invoice." - }, - "account_tax_ids": { - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.TaxId" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.DeletedTaxId" - } - ] - }, - "type": "array", - "description": "The account tax IDs associated with the invoice. Only editable when the invoice is a draft." - }, - "amount_due": { - "type": "number", - "format": "double", - "description": "Final amount due at this time for this invoice. If the invoice's total is smaller than the minimum charge amount, for example, or if there is account credit that can be applied to the invoice, the `amount_due` may be 0. If there is a positive `starting_balance` for the invoice (the customer owes money), the `amount_due` will also take that into account. The charge that gets generated for the invoice will be for the amount specified in `amount_due`." - }, - "amount_paid": { - "type": "number", - "format": "double", - "description": "The amount, in cents (or local equivalent), that was paid." - }, - "amount_remaining": { - "type": "number", - "format": "double", - "description": "The difference between amount_due and amount_paid, in cents (or local equivalent)." - }, - "amount_shipping": { - "type": "number", - "format": "double", - "description": "This is the sum of all the shipping amounts." - }, - "application_fee_amount": { - "type": "number", - "format": "double", - "description": "The fee in cents (or local equivalent) that will be applied to the invoice and transferred to the application owner's Stripe account when the invoice is paid." - }, - "attempt_count": { - "type": "number", - "format": "double", - "description": "Number of payment attempts made for this invoice, from the perspective of the payment retry schedule. Any payment attempt counts as the first attempt, and subsequently only automatic retries increment the attempt count. In other words, manual payment attempts after the first attempt do not affect the retry schedule. If a failure is returned with a non-retryable return code, the invoice can no longer be retried unless a new payment method is obtained. Retries will continue to be scheduled, and attempt_count will continue to increment, but retries will only be executed if a new payment method is obtained." - }, - "attempted": { - "type": "boolean", - "description": "Whether an attempt has been made to pay the invoice. An invoice is not attempted until 1 hour after the `invoice.created` webhook, for example, so you might not want to display that invoice as unpaid to your users." - }, - "auto_advance": { - "type": "boolean", - "description": "Controls whether Stripe performs [automatic collection](https://stripe.com/docs/invoicing/integration/automatic-advancement-collection) of the invoice. If `false`, the invoice's state doesn't automatically advance without an explicit action." - }, - "automatic_tax": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.AutomaticTax" - }, - "automatically_finalizes_at": { - "type": "number", - "format": "double", - "description": "The time when this invoice is currently scheduled to be automatically finalized. The field will be `null` if the invoice is not scheduled to finalize in the future. If the invoice is not in the draft state, this field will always be `null` - see `finalized_at` for the time when an already-finalized invoice was finalized." - }, - "billing_reason": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.BillingReason", - "description": "Indicates the reason why the invoice was created.\n\n* `manual`: Unrelated to a subscription, for example, created via the invoice editor.\n* `subscription`: No longer in use. Applies to subscriptions from before May 2018 where no distinction was made between updates, cycles, and thresholds.\n* `subscription_create`: A new subscription was created.\n* `subscription_cycle`: A subscription advanced into a new period.\n* `subscription_threshold`: A subscription reached a billing threshold.\n* `subscription_update`: A subscription was updated.\n* `upcoming`: Reserved for simulated invoices, per the upcoming invoice endpoint." - }, - "collection_method": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.CollectionMethod", - "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this invoice using the default source attached to the customer. When sending an invoice, Stripe will email this invoice to the customer with payment instructions." - }, - "created": { - "type": "number", - "format": "double", - "description": "Time at which the object was created. Measured in seconds since the Unix epoch." - }, - "currency": { - "type": "string", - "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." - }, - "custom_fields": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.CustomField" - }, - "type": "array", - "description": "Custom fields displayed on the invoice." - }, - "customer_address": { - "$ref": "#/components/schemas/stripe.Stripe.Address", - "description": "The customer's address. Until the invoice is finalized, this field will equal `customer.address`. Once the invoice is finalized, this field will no longer be updated." - }, - "customer_email": { - "type": "string", - "description": "The customer's email. Until the invoice is finalized, this field will equal `customer.email`. Once the invoice is finalized, this field will no longer be updated." - }, - "customer_name": { - "type": "string", - "description": "The customer's name. Until the invoice is finalized, this field will equal `customer.name`. Once the invoice is finalized, this field will no longer be updated." - }, - "customer_phone": { - "type": "string", - "description": "The customer's phone number. Until the invoice is finalized, this field will equal `customer.phone`. Once the invoice is finalized, this field will no longer be updated." - }, - "customer_shipping": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.CustomerShipping", - "description": "The customer's shipping information. Until the invoice is finalized, this field will equal `customer.shipping`. Once the invoice is finalized, this field will no longer be updated." - }, - "customer_tax_exempt": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.CustomerTaxExempt", - "description": "The customer's tax exempt status. Until the invoice is finalized, this field will equal `customer.tax_exempt`. Once the invoice is finalized, this field will no longer be updated." - }, - "customer_tax_ids": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.CustomerTaxId" - }, - "type": "array", - "description": "The customer's tax IDs. Until the invoice is finalized, this field will contain the same tax IDs as `customer.tax_ids`. Once the invoice is finalized, this field will no longer be updated." - }, - "default_payment_method": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod" - } - ], - "description": "ID of the default payment method for the invoice. It must belong to the customer associated with the invoice. If not set, defaults to the subscription's default payment method, if any, or to the default payment method in the customer's invoice settings." - }, - "default_source": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.CustomerSource" - } - ], - "description": "ID of the default payment source for the invoice. It must belong to the customer associated with the invoice and be in a chargeable state. If not set, defaults to the subscription's default source, if any, or to the customer's default source." - }, - "default_tax_rates": { - "items": { - "$ref": "#/components/schemas/stripe.Stripe.TaxRate" - }, - "type": "array", - "description": "The tax rates applied to this invoice, if any." - }, - "description": { - "type": "string", - "description": "An arbitrary string attached to the object. Often useful for displaying to users. Referenced as 'memo' in the Dashboard." - }, - "discounts": { - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Discount" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.DeletedDiscount" - } - ] - }, - "type": "array", - "description": "The discounts applied to the invoice. Line item discounts are applied before invoice discounts. Use `expand[]=discounts` to expand each discount." - }, - "due_date": { - "type": "number", - "format": "double", - "description": "The date on which payment for this invoice is due. This value will be `null` for invoices where `collection_method=charge_automatically`." - }, - "effective_at": { - "type": "number", - "format": "double", - "description": "The date when this invoice is in effect. Same as `finalized_at` unless overwritten. When defined, this value replaces the system-generated 'Date of issue' printed on the invoice PDF and receipt." - }, - "ending_balance": { - "type": "number", - "format": "double", - "description": "Ending customer balance after the invoice is finalized. Invoices are finalized approximately an hour after successful webhook delivery or when payment collection is attempted for the invoice. If the invoice has not been finalized yet, this will be null." - }, - "footer": { - "type": "string", - "description": "Footer displayed on the invoice." - }, - "from_invoice": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.FromInvoice", - "description": "Details of the invoice that was cloned. See the [revision documentation](https://stripe.com/docs/invoicing/invoice-revisions) for more details." - }, - "hosted_invoice_url": { - "type": "string", - "description": "The URL for the hosted invoice page, which allows customers to view and pay an invoice. If the invoice has not been finalized yet, this will be null." - }, - "invoice_pdf": { - "type": "string", - "description": "The link to download the PDF for the invoice. If the invoice has not been finalized yet, this will be null." - }, - "last_finalization_error": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.LastFinalizationError", - "description": "The error encountered during the previous attempt to finalize the invoice. This field is cleared when the invoice is successfully finalized." - }, - "latest_revision": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Invoice" - } - ], - "description": "The ID of the most recent non-draft revision of this invoice" - }, - "lines": { - "$ref": "#/components/schemas/stripe.Stripe.ApiList_stripe.Stripe.InvoiceLineItem_", - "description": "The individual line items that make up the invoice. `lines` is sorted as follows: (1) pending invoice items (including prorations) in reverse chronological order, (2) subscription items in reverse chronological order, and (3) invoice items added after invoice creation in chronological order." - }, - "livemode": { - "type": "boolean", - "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." - }, - "metadata": { - "$ref": "#/components/schemas/stripe.Stripe.Metadata", - "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." - }, - "next_payment_attempt": { - "type": "number", - "format": "double", - "description": "The time at which payment will next be attempted. This value will be `null` for invoices where `collection_method=send_invoice`." + "description": "Controls when the funds will be captured from the customer's account." }, - "on_behalf_of": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Account" - } + "setup_future_usage": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.KakaoPay.SetupFutureUsage", + "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + } + }, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Klarna": { + "properties": { + "capture_method": { + "type": "string", + "enum": [ + "manual" ], - "description": "The account (if any) for which the funds of the invoice payment are intended. If set, the invoice will be presented with the branding and support information of the specified account. See the [Invoices with Connect](https://stripe.com/docs/billing/invoices/connect) documentation for details." + "nullable": false, + "description": "Controls when the funds will be captured from the customer's account." }, - "paid_out_of_band": { - "type": "boolean", - "description": "Returns true if the invoice was manually marked paid, returns false if the invoice hasn't been paid yet or was paid on Stripe." + "preferred_locale": { + "type": "string", + "nullable": true, + "description": "Preferred locale of the Klarna checkout page that the customer is redirected to." }, - "payment_intent": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent" - } + "setup_future_usage": { + "type": "string", + "enum": [ + "none" ], - "description": "The PaymentIntent associated with this invoice. The PaymentIntent is generated when the invoice is finalized, and can then be used to pay the invoice. Note that voiding an invoice will cancel the PaymentIntent." - }, - "payment_settings": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings" - }, - "period_end": { - "type": "number", - "format": "double", - "description": "End of the usage period during which invoice items were added to this invoice. This looks back one period for a subscription invoice. Use the [line item period](https://stripe.com/api/invoices/line_item#invoice_line_item_object-period) to get the service period for each price." + "nullable": false, + "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + } + }, + "required": [ + "preferred_locale" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Konbini": { + "properties": { + "confirmation_number": { + "type": "string", + "nullable": true, + "description": "An optional 10 to 11 digit numeric-only string determining the confirmation code at applicable convenience stores." }, - "period_start": { + "expires_after_days": { "type": "number", "format": "double", - "description": "Start of the usage period during which invoice items were added to this invoice. This looks back one period for a subscription invoice. Use the [line item period](https://stripe.com/api/invoices/line_item#invoice_line_item_object-period) to get the service period for each price." + "nullable": true, + "description": "The number of calendar days (between 1 and 60) after which Konbini payment instructions will expire. For example, if a PaymentIntent is confirmed with Konbini and `expires_after_days` set to 2 on Monday JST, the instructions will expire on Wednesday 23:59:59 JST." }, - "post_payment_credit_notes_amount": { + "expires_at": { "type": "number", "format": "double", - "description": "Total amount of all post-payment credit notes issued for this invoice." + "nullable": true, + "description": "The timestamp at which the Konbini payment instructions will expire. Only one of `expires_after_days` or `expires_at` may be set." }, - "pre_payment_credit_notes_amount": { - "type": "number", - "format": "double", - "description": "Total amount of all pre-payment credit notes issued for this invoice." + "product_description": { + "type": "string", + "nullable": true, + "description": "A product descriptor of up to 22 characters, which will appear to customers at the convenience store." }, - "quote": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/stripe.Stripe.Quote" - } + "setup_future_usage": { + "type": "string", + "enum": [ + "none" ], - "description": "The quote this invoice was generated from." - }, - "receipt_number": { + "nullable": false, + "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + } + }, + "required": [ + "confirmation_number", + "expires_after_days", + "expires_at", + "product_description" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.KrCard.SetupFutureUsage": { + "type": "string", + "enum": [ + "none", + "off_session" + ] + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.KrCard": { + "properties": { + "capture_method": { "type": "string", - "description": "This is the transaction number that appears on email receipts sent for this invoice." + "enum": [ + "manual" + ], + "nullable": false, + "description": "Controls when the funds will be captured from the customer's account." }, - "rendering": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.Rendering", - "description": "The rendering-related settings that control how the invoice is displayed on customer-facing surfaces such as PDF and Hosted Invoice Page." + "setup_future_usage": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.KrCard.SetupFutureUsage", + "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + } + }, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Link.SetupFutureUsage": { + "type": "string", + "enum": [ + "none", + "off_session" + ] + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Link": { + "properties": { + "capture_method": { + "type": "string", + "enum": [ + "manual" + ], + "nullable": false, + "description": "Controls when the funds will be captured from the customer's account." }, - "shipping_cost": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.ShippingCost", - "description": "The details of the cost of shipping, including the ShippingRate applied on the invoice." + "persistent_token": { + "type": "string", + "nullable": true, + "description": "[Deprecated] This is a legacy parameter that no longer has any function.", + "deprecated": true }, - "shipping_details": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.ShippingDetails", - "description": "Shipping details for the invoice. The Invoice PDF will use the `shipping_details` value if it is set, otherwise the PDF will render the shipping address from the customer." + "setup_future_usage": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Link.SetupFutureUsage", + "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + } + }, + "required": [ + "persistent_token" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Mobilepay": { + "properties": { + "capture_method": { + "type": "string", + "enum": [ + "manual" + ], + "nullable": false, + "description": "Controls when the funds will be captured from the customer's account." }, - "starting_balance": { + "setup_future_usage": { + "type": "string", + "enum": [ + "none" + ], + "nullable": false, + "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + } + }, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Multibanco": { + "properties": { + "setup_future_usage": { + "type": "string", + "enum": [ + "none" + ], + "nullable": false, + "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + } + }, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.NaverPay": { + "properties": { + "capture_method": { + "type": "string", + "enum": [ + "manual" + ], + "nullable": false, + "description": "Controls when the funds will be captured from the customer's account." + } + }, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Oxxo": { + "properties": { + "expires_after_days": { "type": "number", "format": "double", - "description": "Starting customer balance before the invoice is finalized. If the invoice has not been finalized yet, this will be the current customer balance. For revision invoices, this also includes any customer balance that was applied to the original invoice." + "description": "The number of calendar days before an OXXO invoice expires. For example, if you create an OXXO invoice on Monday and you set expires_after_days to 2, the OXXO invoice will expire on Wednesday at 23:59 America/Mexico_City time." }, - "statement_descriptor": { + "setup_future_usage": { "type": "string", - "description": "Extra information about an invoice for the customer's credit card statement." + "enum": [ + "none" + ], + "nullable": false, + "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + } + }, + "required": [ + "expires_after_days" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.P24": { + "properties": { + "setup_future_usage": { + "type": "string", + "enum": [ + "none" + ], + "nullable": false, + "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + } + }, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.PayByBank": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Payco": { + "properties": { + "capture_method": { + "type": "string", + "enum": [ + "manual" + ], + "nullable": false, + "description": "Controls when the funds will be captured from the customer's account." + } + }, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Paynow": { + "properties": { + "setup_future_usage": { + "type": "string", + "enum": [ + "none" + ], + "nullable": false, + "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + } + }, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Paypal.SetupFutureUsage": { + "type": "string", + "enum": [ + "none", + "off_session" + ] + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Paypal": { + "properties": { + "capture_method": { + "type": "string", + "enum": [ + "manual" + ], + "nullable": false, + "description": "Controls when the funds will be captured from the customer's account." }, - "status_transitions": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.StatusTransitions" + "preferred_locale": { + "type": "string", + "nullable": true, + "description": "Preferred locale of the PayPal checkout page that the customer is redirected to." }, - "subscription_details": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.SubscriptionDetails", - "description": "Details about the subscription that created this invoice." + "reference": { + "type": "string", + "nullable": true, + "description": "A reference of the PayPal transaction visible to customer which is mapped to PayPal's invoice ID. This must be a globally unique ID if you have configured in your PayPal settings to block multiple payments per invoice ID." }, - "subscription_proration_date": { + "setup_future_usage": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Paypal.SetupFutureUsage", + "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + } + }, + "required": [ + "preferred_locale", + "reference" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Pix": { + "properties": { + "expires_after_seconds": { "type": "number", "format": "double", - "description": "Only set for upcoming invoices that preview prorations. The time used to calculate prorations." + "nullable": true, + "description": "The number of seconds (between 10 and 1209600) after which Pix payment will expire." }, - "subtotal": { + "expires_at": { "type": "number", "format": "double", - "description": "Total of all subscriptions, invoice items, and prorations on the invoice before any invoice level discount or exclusive tax is applied. Item discounts are already incorporated" + "nullable": true, + "description": "The timestamp at which the Pix expires." }, - "subtotal_excluding_tax": { - "type": "number", - "format": "double", - "description": "The integer amount in cents (or local equivalent) representing the subtotal of the invoice before any invoice level discount or tax is applied. Item discounts are already incorporated" + "setup_future_usage": { + "type": "string", + "enum": [ + "none" + ], + "nullable": false, + "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + } + }, + "required": [ + "expires_after_seconds", + "expires_at" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Promptpay": { + "properties": { + "setup_future_usage": { + "type": "string", + "enum": [ + "none" + ], + "nullable": false, + "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + } + }, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.RevolutPay.SetupFutureUsage": { + "type": "string", + "enum": [ + "none", + "off_session" + ] + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.RevolutPay": { + "properties": { + "capture_method": { + "type": "string", + "enum": [ + "manual" + ], + "nullable": false, + "description": "Controls when the funds will be captured from the customer's account." }, - "tax": { - "type": "number", - "format": "double", - "description": "The amount of tax on this invoice. This is the sum of all the tax amounts on this invoice." + "setup_future_usage": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.RevolutPay.SetupFutureUsage", + "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + } + }, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.SamsungPay": { + "properties": { + "capture_method": { + "type": "string", + "enum": [ + "manual" + ], + "nullable": false, + "description": "Controls when the funds will be captured from the customer's account." + } + }, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.SepaDebit.MandateOptions": { + "properties": { + "reference_prefix": { + "type": "string", + "description": "Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'STRIPE'." + } + }, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.SepaDebit.SetupFutureUsage": { + "type": "string", + "enum": [ + "none", + "off_session", + "on_session" + ] + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.SepaDebit": { + "properties": { + "mandate_options": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.SepaDebit.MandateOptions" }, - "test_clock": { - "anyOf": [ - { - "type": "string" - }, + "setup_future_usage": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.SepaDebit.SetupFutureUsage", + "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + }, + "target_date": { + "type": "string", + "description": "Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now." + } + }, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Sofort.PreferredLanguage": { + "type": "string", + "enum": [ + "de", + "en", + "es", + "fr", + "it", + "nl", + "pl" + ] + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Sofort.SetupFutureUsage": { + "type": "string", + "enum": [ + "none", + "off_session" + ] + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Sofort": { + "properties": { + "preferred_language": { + "allOf": [ { - "$ref": "#/components/schemas/stripe.Stripe.TestHelpers.TestClock" + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Sofort.PreferredLanguage" } ], - "description": "ID of the test clock this invoice belongs to." - }, - "threshold_reason": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.ThresholdReason" - }, - "total": { - "type": "number", - "format": "double", - "description": "Total after discounts and taxes." - }, - "total_discount_amounts": { + "nullable": true, + "description": "Preferred language of the SOFORT authorization page that the customer is redirected to." + }, + "setup_future_usage": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Sofort.SetupFutureUsage", + "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + } + }, + "required": [ + "preferred_language" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Swish": { + "properties": { + "reference": { + "type": "string", + "nullable": true, + "description": "A reference for this payment to be displayed in the Swish app." + }, + "setup_future_usage": { + "type": "string", + "enum": [ + "none" + ], + "nullable": false, + "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + } + }, + "required": [ + "reference" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Twint": { + "properties": { + "setup_future_usage": { + "type": "string", + "enum": [ + "none" + ], + "nullable": false, + "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + } + }, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters.AccountSubcategory": { + "type": "string", + "enum": [ + "checking", + "savings" + ] + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters": { + "properties": { + "account_subcategories": { "items": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.TotalDiscountAmount" + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters.AccountSubcategory" }, "type": "array", - "description": "The aggregate amounts calculated per discount across all line items." - }, - "total_excluding_tax": { - "type": "number", - "format": "double", - "description": "The integer amount in cents (or local equivalent) representing the total amount of the invoice including all discounts but excluding all tax." + "description": "The account subcategories to use to filter for possible accounts to link. Valid subcategories are `checking` and `savings`." + } + }, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Permission": { + "type": "string", + "enum": [ + "balances", + "ownership", + "payment_method", + "transactions" + ] + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Prefetch": { + "type": "string", + "enum": [ + "balances", + "ownership", + "transactions" + ] + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections": { + "properties": { + "filters": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters" }, - "total_pretax_credit_amounts": { + "permissions": { "items": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.TotalPretaxCreditAmount" + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Permission" }, "type": "array", - "description": "Contains pretax credit amounts (ex: discount, credit grants, etc) that apply to this invoice. This is a combined list of total_pretax_credit_amounts across all invoice line items." + "description": "The list of permissions to request. The `payment_method` permission must be included." }, - "total_tax_amounts": { + "prefetch": { "items": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.TotalTaxAmount" + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections.Prefetch" }, "type": "array", - "description": "The aggregate amounts calculated per tax rate for all line items." - }, - "transfer_data": { - "$ref": "#/components/schemas/stripe.Stripe.Invoice.TransferData", - "description": "The account (if any) the payment will be attributed to for tax reporting, and where funds from the payment will be transferred to for the invoice." + "nullable": true, + "description": "Data features requested to be retrieved upon account creation." }, - "webhooks_delivered_at": { - "type": "number", - "format": "double", - "description": "Invoices are automatically paid or sent 1 hour after webhooks are delivered, or until all webhook delivery attempts have [been exhausted](https://stripe.com/docs/billing/webhooks#understand). This field tracks the time when webhooks for this invoice were successfully delivered. If the invoice had no webhooks to deliver, this will be set while the invoice is being created." + "return_url": { + "type": "string", + "description": "For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app." } }, "required": [ - "number", - "object", - "status", - "application", - "subscription", - "customer", - "issuer", - "charge", - "paid", - "discount", - "account_country", - "account_name", - "account_tax_ids", - "amount_due", - "amount_paid", - "amount_remaining", - "amount_shipping", - "application_fee_amount", - "attempt_count", - "attempted", - "automatic_tax", - "automatically_finalizes_at", - "billing_reason", - "collection_method", - "created", - "currency", - "custom_fields", - "customer_address", - "customer_email", - "customer_name", - "customer_phone", - "customer_shipping", - "customer_tax_exempt", - "default_payment_method", - "default_source", - "default_tax_rates", - "description", - "discounts", - "due_date", - "effective_at", - "ending_balance", - "footer", - "from_invoice", - "last_finalization_error", - "latest_revision", - "lines", - "livemode", - "metadata", - "next_payment_attempt", - "on_behalf_of", - "paid_out_of_band", - "payment_intent", - "payment_settings", - "period_end", - "period_start", - "post_payment_credit_notes_amount", - "pre_payment_credit_notes_amount", - "quote", - "receipt_number", - "rendering", - "shipping_cost", - "shipping_details", - "starting_balance", - "statement_descriptor", - "status_transitions", - "subscription_details", - "subtotal", - "subtotal_excluding_tax", - "tax", - "test_clock", - "total", - "total_discount_amounts", - "total_excluding_tax", - "total_pretax_credit_amounts", - "total_tax_amounts", - "transfer_data", - "webhooks_delivered_at" + "prefetch" ], "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" + "additionalProperties": false }, - "Omit_stripe.Stripe.Invoice.id_": { - "$ref": "#/components/schemas/Pick_stripe.Stripe.Invoice.Exclude_keyofstripe.Stripe.Invoice.id__", - "description": "Construct a type with the properties of T except for those in type K." + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.MandateOptions": { + "properties": { + "collection_method": { + "type": "string", + "enum": [ + "paper" + ], + "nullable": false, + "description": "Mandate collection method" + } + }, + "type": "object", + "additionalProperties": false }, - "stripe.Stripe.UpcomingInvoice": { - "$ref": "#/components/schemas/Omit_stripe.Stripe.Invoice.id_" + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.PreferredSettlementSpeed": { + "type": "string", + "enum": [ + "fastest", + "standard" + ] }, - "TextOperator": { - "description": "\nDO NOT EDIT THIS FILE UNLESS IT IS IN /costs", + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.SetupFutureUsage": { + "type": "string", + "enum": [ + "none", + "off_session", + "on_session" + ] + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.VerificationMethod": { + "type": "string", + "enum": [ + "automatic", + "instant", + "microdeposits" + ] + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount": { "properties": { - "operator": { + "financial_connections": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.FinancialConnections" + }, + "mandate_options": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.MandateOptions" + }, + "preferred_settlement_speed": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.PreferredSettlementSpeed", + "description": "Preferred transaction settlement speed" + }, + "setup_future_usage": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.SetupFutureUsage", + "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." + }, + "target_date": { "type": "string", - "enum": [ - "equals", - "startsWith", - "includes" - ] + "description": "Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now." }, - "value": { - "type": "string" + "verification_method": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount.VerificationMethod", + "description": "Bank account verification method." } }, - "required": [ - "operator", - "value" - ], "type": "object", "additionalProperties": false }, - "ModelRow": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.WechatPay.Client": { + "type": "string", + "enum": [ + "android", + "ios", + "web" + ] + }, + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.WechatPay": { "properties": { - "model": { - "$ref": "#/components/schemas/TextOperator" + "app_id": { + "type": "string", + "nullable": true, + "description": "The app ID registered with WeChat Pay. Only required when client is ios or android." }, - "cost": { - "properties": { - "prompt_cache_creation_1h": { - "type": "number", - "format": "double" - }, - "prompt_cache_creation_5m": { - "type": "number", - "format": "double" - }, - "completion_audio_token": { - "type": "number", - "format": "double" - }, - "prompt_audio_token": { - "type": "number", - "format": "double" - }, - "prompt_cache_read_token": { - "type": "number", - "format": "double" - }, - "prompt_cache_write_token": { - "type": "number", - "format": "double" - }, - "per_call": { - "type": "number", - "format": "double" - }, - "per_image": { - "type": "number", - "format": "double" - }, - "completion_token": { - "type": "number", - "format": "double" - }, - "prompt_token": { - "type": "number", - "format": "double" + "client": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.WechatPay.Client" } - }, - "required": [ - "completion_token", - "prompt_token" ], - "type": "object" - }, - "showInPlayground": { - "type": "boolean" - }, - "targetUrl": { - "type": "string" + "nullable": true, + "description": "The client type that the end customer will pay from" }, - "dateRange": { - "properties": { - "end": { - "type": "string" - }, - "start": { - "type": "string" - } - }, - "required": [ - "end", - "start" + "setup_future_usage": { + "type": "string", + "enum": [ + "none" ], - "type": "object" + "nullable": false, + "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." } }, "required": [ - "model", - "cost" + "app_id", + "client" ], "type": "object", "additionalProperties": false }, - "ModelWithProvider": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions.Zip": { "properties": { - "modelRow": { - "$ref": "#/components/schemas/ModelRow" - }, - "provider": { - "type": "string" + "setup_future_usage": { + "type": "string", + "enum": [ + "none" + ], + "nullable": false, + "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nIf you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes.\n\nIf the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.\n\nWhen processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://stripe.com/strong-customer-authentication)." } }, - "required": [ - "modelRow", - "provider" - ], - "type": "object" + "type": "object", + "additionalProperties": false }, - "HelixThreadSummary": { + "stripe.Stripe.PaymentIntent.PaymentMethodOptions": { "properties": { - "id": { - "type": "string" + "acss_debit": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.AcssDebit" }, - "user_id": { - "type": "string" + "affirm": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Affirm" }, - "org_id": { - "type": "string" + "afterpay_clearpay": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.AfterpayClearpay" }, - "created_at": { - "type": "string", - "format": "date-time" + "alipay": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Alipay" }, - "updated_at": { - "type": "string", - "format": "date-time" + "alma": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Alma" }, - "escalated": { - "type": "boolean" + "amazon_pay": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.AmazonPay" }, - "message_count": { - "type": "number", - "format": "double" + "au_becs_debit": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.AuBecsDebit" }, - "first_message": { - "type": "string", - "nullable": true + "bacs_debit": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.BacsDebit" }, - "last_message": { - "type": "string", - "nullable": true + "bancontact": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Bancontact" }, - "user_email": { - "type": "string", - "nullable": true + "blik": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Blik" + }, + "boleto": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Boleto" + }, + "card": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Card" + }, + "card_present": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.CardPresent" + }, + "cashapp": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Cashapp" + }, + "customer_balance": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.CustomerBalance" + }, + "eps": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Eps" + }, + "fpx": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Fpx" + }, + "giropay": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Giropay" + }, + "grabpay": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Grabpay" + }, + "ideal": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Ideal" + }, + "interac_present": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.InteracPresent" + }, + "kakao_pay": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.KakaoPay" + }, + "klarna": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Klarna" + }, + "konbini": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Konbini" + }, + "kr_card": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.KrCard" + }, + "link": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Link" + }, + "mobilepay": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Mobilepay" + }, + "multibanco": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Multibanco" + }, + "naver_pay": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.NaverPay" + }, + "oxxo": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Oxxo" + }, + "p24": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.P24" + }, + "pay_by_bank": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.PayByBank" + }, + "payco": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Payco" + }, + "paynow": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Paynow" + }, + "paypal": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Paypal" + }, + "pix": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Pix" + }, + "promptpay": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Promptpay" + }, + "revolut_pay": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.RevolutPay" + }, + "samsung_pay": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.SamsungPay" + }, + "sepa_debit": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.SepaDebit" + }, + "sofort": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Sofort" + }, + "swish": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Swish" + }, + "twint": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Twint" }, - "org_name": { - "type": "string", - "nullable": true + "us_bank_account": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.UsBankAccount" }, - "org_tier": { - "type": "string", - "nullable": true + "wechat_pay": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.WechatPay" + }, + "zip": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.PaymentMethodOptions.Zip" } }, - "required": [ - "id", - "user_id", - "org_id", - "created_at", - "updated_at", - "escalated", - "message_count", - "first_message", - "last_message", - "user_email", - "org_name", - "org_tier" - ], "type": "object", "additionalProperties": false }, - "HelixThreadListResponse": { + "stripe.Stripe.PaymentIntent.Processing.Card.CustomerNotification": { "properties": { - "threads": { - "items": { - "$ref": "#/components/schemas/HelixThreadSummary" - }, - "type": "array" + "approval_requested": { + "type": "boolean", + "nullable": true, + "description": "Whether customer approval has been requested for this payment. For payments greater than INR 15000 or mandate amount, the customer must provide explicit approval of the payment with their bank." }, - "total": { + "completes_at": { "type": "number", - "format": "double" + "format": "double", + "nullable": true, + "description": "If customer approval is required, they need to provide approval before this time." } }, "required": [ - "threads", - "total" + "approval_requested", + "completes_at" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_HelixThreadListResponse_": { + "stripe.Stripe.PaymentIntent.Processing.Card": { "properties": { - "data": { - "$ref": "#/components/schemas/HelixThreadListResponse" + "customer_notification": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.Processing.Card.CustomerNotification" + } + }, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentIntent.Processing": { + "properties": { + "card": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent.Processing.Card" }, - "error": { - "type": "number", + "type": { + "type": "string", "enum": [ - null + "card" ], - "nullable": true + "nullable": false, + "description": "Type of the payment method for which payment is in `processing` state, one of `card`." } }, "required": [ - "data", - "error" + "type" ], "type": "object", "additionalProperties": false }, - "Result_HelixThreadListResponse.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_HelixThreadListResponse_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } + "stripe.Stripe.PaymentIntent.SetupFutureUsage": { + "type": "string", + "enum": [ + "off_session", + "on_session" ] }, - "HelixThreadDetail": { + "stripe.Stripe.PaymentIntent.Shipping": { "properties": { - "id": { - "type": "string" - }, - "chat": {}, - "user_id": { - "type": "string" - }, - "org_id": { - "type": "string" - }, - "created_at": { - "type": "string" + "address": { + "$ref": "#/components/schemas/stripe.Stripe.Address" }, - "escalated": { - "type": "boolean" + "carrier": { + "type": "string", + "nullable": true, + "description": "The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc." }, - "metadata": {}, - "updated_at": { - "type": "string" + "name": { + "type": "string", + "description": "Recipient name." }, - "soft_delete": { - "type": "boolean" + "phone": { + "type": "string", + "nullable": true, + "description": "Recipient phone (including extension)." }, - "user_email": { + "tracking_number": { "type": "string", - "nullable": true + "nullable": true, + "description": "The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas." } }, - "required": [ - "id", - "chat", - "user_id", - "org_id", - "created_at", - "escalated", - "metadata", - "updated_at", - "soft_delete", - "user_email" - ], "type": "object", "additionalProperties": false }, - "ResultSuccess_HelixThreadDetail_": { - "properties": { - "data": { - "$ref": "#/components/schemas/HelixThreadDetail" + "stripe.Stripe.DeletedCustomerSource": { + "anyOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedBankAccount" }, - "error": { + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedCard" + } + ] + }, + "stripe.Stripe.PaymentIntent.Status": { + "type": "string", + "enum": [ + "canceled", + "processing", + "requires_action", + "requires_capture", + "requires_confirmation", + "requires_payment_method", + "succeeded" + ] + }, + "stripe.Stripe.PaymentIntent.TransferData": { + "properties": { + "amount": { "type": "number", - "enum": [ - null + "format": "double", + "description": "The amount transferred to the destination account. This transfer will occur automatically after the payment succeeds. If no amount is specified, by default the entire payment amount is transferred to the destination account.\n The amount must be less than or equal to the [amount](https://stripe.com/docs/api/payment_intents/object#payment_intent_object-amount), and must be a positive integer\n representing how much to transfer in the smallest currency unit (e.g., 100 cents to charge $1.00)." + }, + "destination": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Account" + } ], - "nullable": true + "description": "The account (if any) that the payment is attributed to for tax reporting, and where funds from the payment are transferred to after payment success." } }, "required": [ - "data", - "error" + "destination" ], "type": "object", "additionalProperties": false }, - "Result_HelixThreadDetail.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_HelixThreadDetail_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } + "stripe.Stripe.SetupAttempt.SetupError.Type": { + "type": "string", + "enum": [ + "api_error", + "card_error", + "idempotency_error", + "invalid_request_error" ] }, - "InAppThread": { + "stripe.Stripe.SetupAttempt.SetupError": { "properties": { - "id": { - "type": "string" + "advice_code": { + "type": "string", + "description": "For card errors resulting from a card issuer decline, a short string indicating [how to proceed with an error](https://stripe.com/docs/declines#retrying-issuer-declines) if they provide one." }, - "chat": {}, - "user_id": { - "type": "string" + "charge": { + "type": "string", + "description": "For card errors, the ID of the failed charge." }, - "org_id": { - "type": "string" + "code": { + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.SetupError.Code", + "description": "For some errors that could be handled programmatically, a short string indicating the [error code](https://stripe.com/docs/error-codes) reported." }, - "created_at": { + "decline_code": { "type": "string", - "format": "date-time" + "description": "For card errors resulting from a card issuer decline, a short string indicating the [card issuer's reason for the decline](https://stripe.com/docs/declines#issuer-declines) if they provide one." }, - "escalated": { - "type": "boolean" + "doc_url": { + "type": "string", + "description": "A URL to more information about the [error code](https://stripe.com/docs/error-codes) reported." }, - "metadata": {}, - "updated_at": { + "message": { "type": "string", - "format": "date-time" + "description": "A human-readable message providing more details about the error. For card errors, these messages can be shown to your users." }, - "soft_delete": { - "type": "boolean" + "network_advice_code": { + "type": "string", + "description": "For card errors resulting from a card issuer decline, a 2 digit code which indicates the advice given to merchant by the card network on how to proceed with an error." + }, + "network_decline_code": { + "type": "string", + "description": "For card errors resulting from a card issuer decline, a brand specific 2, 3, or 4 digit code which indicates the reason the authorization failed." + }, + "param": { + "type": "string", + "description": "If the error is parameter-specific, the parameter related to the error. For example, you can use this to display a message near the correct form field." + }, + "payment_intent": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent", + "description": "A PaymentIntent guides you through the process of collecting a payment from your customer.\nWe recommend that you create exactly one PaymentIntent for each order or\ncustomer session in your system. You can reference the PaymentIntent later to\nsee the history of payment attempts for a particular session.\n\nA PaymentIntent transitions through\n[multiple statuses](https://stripe.com/docs/payments/intents#intent-statuses)\nthroughout its lifetime as it interfaces with Stripe.js to perform\nauthentication flows and ultimately creates at most one successful charge.\n\nRelated guide: [Payment Intents API](https://stripe.com/docs/payments/payment-intents)" + }, + "payment_method": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod", + "description": "PaymentMethod objects represent your customer's payment instruments.\nYou can use them with [PaymentIntents](https://stripe.com/docs/payments/payment-intents) to collect payments or save them to\nCustomer objects to store instrument details for future payments.\n\nRelated guides: [Payment Methods](https://stripe.com/docs/payments/payment-methods) and [More Payment Scenarios](https://stripe.com/docs/payments/more-payment-scenarios)." + }, + "payment_method_type": { + "type": "string", + "description": "If the error is specific to the type of payment method, the payment method type that had a problem. This field is only populated for invoice-related errors." + }, + "request_log_url": { + "type": "string", + "description": "A URL to the request log entry in your dashboard." + }, + "setup_intent": { + "$ref": "#/components/schemas/stripe.Stripe.SetupIntent", + "description": "A SetupIntent guides you through the process of setting up and saving a customer's payment credentials for future payments.\nFor example, you can use a SetupIntent to set up and save your customer's card without immediately collecting a payment.\nLater, you can use [PaymentIntents](https://stripe.com/docs/api#payment_intents) to drive the payment flow.\n\nCreate a SetupIntent when you're ready to collect your customer's payment credentials.\nDon't maintain long-lived, unconfirmed SetupIntents because they might not be valid.\nThe SetupIntent transitions through multiple [statuses](https://docs.stripe.com/payments/intents#intent-statuses) as it guides\nyou through the setup process.\n\nSuccessful SetupIntents result in payment credentials that are optimized for future payments.\nFor example, cardholders in [certain regions](https://stripe.com/guides/strong-customer-authentication) might need to be run through\n[Strong Customer Authentication](https://docs.stripe.com/strong-customer-authentication) during payment method collection\nto streamline later [off-session payments](https://docs.stripe.com/payments/setup-intents).\nIf you use the SetupIntent with a [Customer](https://stripe.com/docs/api#setup_intent_object-customer),\nit automatically attaches the resulting payment method to that Customer after successful setup.\nWe recommend using SetupIntents or [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) on\nPaymentIntents to save payment methods to prevent saving invalid or unoptimized payment methods.\n\nBy using SetupIntents, you can reduce friction for your customers, even as regulations change over time.\n\nRelated guide: [Setup Intents API](https://docs.stripe.com/payments/setup-intents)" + }, + "source": { + "$ref": "#/components/schemas/stripe.Stripe.CustomerSource" + }, + "type": { + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt.SetupError.Type", + "description": "The type of error returned. One of `api_error`, `card_error`, `idempotency_error`, or `invalid_request_error`" } }, "required": [ - "id", - "chat", - "user_id", - "org_id", - "created_at", - "escalated", - "metadata", - "updated_at", - "soft_delete" + "type" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_InAppThread_": { + "stripe.Stripe.PaymentMethod.Card.GeneratedFrom": { "properties": { - "data": { - "$ref": "#/components/schemas/InAppThread" + "charge": { + "type": "string", + "nullable": true, + "description": "The charge that created this object." }, - "error": { - "type": "number", - "enum": [ - null + "payment_method_details": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.GeneratedFrom.PaymentMethodDetails" + } ], - "nullable": true + "nullable": true, + "description": "Transaction-specific details of the payment method used in the payment." + }, + "setup_attempt": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt" + } + ], + "nullable": true, + "description": "The ID of the SetupAttempt that generated this PaymentMethod, if any." } }, "required": [ - "data", - "error" + "charge", + "payment_method_details", + "setup_attempt" ], "type": "object", "additionalProperties": false }, - "Result_InAppThread.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_InAppThread_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess__rows-Record_string.any_-Array--elapsedMilliseconds-number--size-number--rowCount-number__": { + "stripe.Stripe.PaymentMethod.Card.Networks": { "properties": { - "data": { - "properties": { - "rowCount": { - "type": "number", - "format": "double" - }, - "size": { - "type": "number", - "format": "double" - }, - "elapsedMilliseconds": { - "type": "number", - "format": "double" - }, - "rows": { - "items": { - "$ref": "#/components/schemas/Record_string.any_" - }, - "type": "array" - } + "available": { + "items": { + "type": "string" }, - "required": [ - "rowCount", - "size", - "elapsedMilliseconds", - "rows" - ], - "type": "object" + "type": "array", + "description": "All networks available for selection via [payment_method_options.card.network](https://stripe.com/api/payment_intents/confirm#confirm_payment_intent-payment_method_options-card-network)." }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true + "preferred": { + "type": "string", + "nullable": true, + "description": "The preferred network for co-branded cards. Can be `cartes_bancaires`, `mastercard`, `visa` or `invalid_preference` if requested network is not valid for the card." } }, "required": [ - "data", - "error" + "available", + "preferred" ], "type": "object", "additionalProperties": false }, - "Result__rows-Record_string.any_-Array--elapsedMilliseconds-number--size-number--rowCount-number_.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__rows-Record_string.any_-Array--elapsedMilliseconds-number--size-number--rowCount-number__" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } + "stripe.Stripe.PaymentMethod.Card.RegulatedStatus": { + "type": "string", + "enum": [ + "regulated", + "unregulated" ] }, - "ResultSuccess__previousTier-string--newTier-string--subscriptionId-string__": { + "stripe.Stripe.PaymentMethod.Card.ThreeDSecureUsage": { "properties": { - "data": { - "properties": { - "subscriptionId": { - "type": "string" - }, - "newTier": { - "type": "string" - }, - "previousTier": { - "type": "string" - } - }, - "required": [ - "subscriptionId", - "newTier", - "previousTier" - ], - "type": "object" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true + "supported": { + "type": "boolean", + "description": "Whether 3D Secure is supported on this card." } }, "required": [ - "data", - "error" + "supported" ], "type": "object", "additionalProperties": false }, - "Result__previousTier-string--newTier-string--subscriptionId-string_.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__previousTier-string--newTier-string--subscriptionId-string__" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] + "stripe.Stripe.PaymentMethod.Card.Wallet.AmexExpressCheckout": { + "properties": {}, + "type": "object", + "additionalProperties": false }, - "ResultSuccess__previousTier-string--newTier-string--subscriptionId-string--usage_58__requests-number--storageBytes-number--storageMb-number--source-clickhouse-or-override_--backfillResult_58__requestsEvent-string--storageEvent-string___": { + "stripe.Stripe.PaymentMethod.Card.Wallet.ApplePay": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentMethod.Card.Wallet.GooglePay": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentMethod.Card.Wallet.Link": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentMethod.Card.Wallet.Masterpass": { "properties": { - "data": { - "properties": { - "backfillResult": { - "properties": { - "storageEvent": { - "type": "string" - }, - "requestsEvent": { - "type": "string" - } - }, - "required": [ - "storageEvent", - "requestsEvent" - ], - "type": "object" - }, - "usage": { - "properties": { - "source": { - "type": "string", - "enum": [ - "clickhouse", - "override" - ] - }, - "storageMb": { - "type": "number", - "format": "double" - }, - "storageBytes": { - "type": "number", - "format": "double" - }, - "requests": { - "type": "number", - "format": "double" - } - }, - "required": [ - "source", - "storageMb", - "storageBytes", - "requests" - ], - "type": "object" - }, - "subscriptionId": { - "type": "string" - }, - "newTier": { - "type": "string" - }, - "previousTier": { - "type": "string" + "billing_address": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Address" } - }, - "required": [ - "backfillResult", - "usage", - "subscriptionId", - "newTier", - "previousTier" ], - "type": "object" + "nullable": true, + "description": "Owner's verified billing address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated." }, - "error": { - "type": "number", - "enum": [ - null + "email": { + "type": "string", + "nullable": true, + "description": "Owner's verified email. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated." + }, + "name": { + "type": "string", + "nullable": true, + "description": "Owner's verified full name. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated." + }, + "shipping_address": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Address" + } ], - "nullable": true + "nullable": true, + "description": "Owner's verified shipping address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated." } }, "required": [ - "data", - "error" + "billing_address", + "email", + "name", + "shipping_address" ], "type": "object", "additionalProperties": false }, - "Result__previousTier-string--newTier-string--subscriptionId-string--usage_58__requests-number--storageBytes-number--storageMb-number--source-clickhouse-or-override_--backfillResult_58__requestsEvent-string--storageEvent-string__.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__previousTier-string--newTier-string--subscriptionId-string--usage_58__requests-number--storageBytes-number--storageMb-number--source-clickhouse-or-override_--backfillResult_58__requestsEvent-string--storageEvent-string___" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } + "stripe.Stripe.PaymentMethod.Card.Wallet.SamsungPay": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentMethod.Card.Wallet.Type": { + "type": "string", + "enum": [ + "amex_express_checkout", + "apple_pay", + "google_pay", + "link", + "masterpass", + "samsung_pay", + "visa_checkout" ] }, - "ResultSuccess__previousTier-string--newTier-string--subscriptionId-string--scheduleId-string--scheduledFor-string__": { + "stripe.Stripe.PaymentMethod.Card.Wallet.VisaCheckout": { "properties": { - "data": { - "properties": { - "scheduledFor": { - "type": "string" - }, - "scheduleId": { - "type": "string" - }, - "subscriptionId": { - "type": "string" - }, - "newTier": { - "type": "string" - }, - "previousTier": { - "type": "string" + "billing_address": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Address" } - }, - "required": [ - "scheduledFor", - "scheduleId", - "subscriptionId", - "newTier", - "previousTier" ], - "type": "object" + "nullable": true, + "description": "Owner's verified billing address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated." }, - "error": { - "type": "number", - "enum": [ - null + "email": { + "type": "string", + "nullable": true, + "description": "Owner's verified email. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated." + }, + "name": { + "type": "string", + "nullable": true, + "description": "Owner's verified full name. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated." + }, + "shipping_address": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Address" + } ], - "nullable": true + "nullable": true, + "description": "Owner's verified shipping address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated." } }, "required": [ - "data", - "error" + "billing_address", + "email", + "name", + "shipping_address" ], "type": "object", "additionalProperties": false }, - "Result__previousTier-string--newTier-string--subscriptionId-string--scheduleId-string--scheduledFor-string_.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__previousTier-string--newTier-string--subscriptionId-string--scheduleId-string--scheduledFor-string__" + "stripe.Stripe.PaymentMethod.Card.Wallet": { + "properties": { + "amex_express_checkout": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.Wallet.AmexExpressCheckout" }, - { - "$ref": "#/components/schemas/ResultError_string_" + "apple_pay": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.Wallet.ApplePay" + }, + "dynamic_last4": { + "type": "string", + "nullable": true, + "description": "(For tokenized numbers only.) The last four digits of the device account number." + }, + "google_pay": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.Wallet.GooglePay" + }, + "link": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.Wallet.Link" + }, + "masterpass": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.Wallet.Masterpass" + }, + "samsung_pay": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.Wallet.SamsungPay" + }, + "type": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.Wallet.Type", + "description": "The type of the card wallet, one of `amex_express_checkout`, `apple_pay`, `google_pay`, `masterpass`, `samsung_pay`, `visa_checkout`, or `link`. An additional hash is included on the Wallet subhash with a name matching this value. It contains additional information specific to the card wallet type." + }, + "visa_checkout": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.Wallet.VisaCheckout" } - ] + }, + "required": [ + "dynamic_last4", + "type" + ], + "type": "object", + "additionalProperties": false }, - "ResultSuccess__id-string--name-string--tier-string--stripe_customer_id-string-or-null--stripe_subscription_id-string-or-null--subscription_status-string-or-null--owner_email-string-or-null--created_at-string__": { + "stripe.Stripe.PaymentMethod.Card": { "properties": { - "data": { - "properties": { - "created_at": { - "type": "string" - }, - "owner_email": { - "type": "string", - "nullable": true - }, - "subscription_status": { - "type": "string", - "nullable": true - }, - "stripe_subscription_id": { - "type": "string", - "nullable": true - }, - "stripe_customer_id": { - "type": "string", - "nullable": true - }, - "tier": { - "type": "string" - }, - "name": { - "type": "string" - }, - "id": { - "type": "string" + "brand": { + "type": "string", + "description": "Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`." + }, + "checks": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.Checks" } - }, - "required": [ - "created_at", - "owner_email", - "subscription_status", - "stripe_subscription_id", - "stripe_customer_id", - "tier", - "name", - "id" ], - "type": "object" + "nullable": true, + "description": "Checks on Card address and CVC if provided." }, - "error": { + "country": { + "type": "string", + "nullable": true, + "description": "Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected." + }, + "description": { + "type": "string", + "nullable": true, + "description": "A high-level description of the type of cards issued in this range. (For internal use only and not typically available in standard API requests.)" + }, + "display_brand": { + "type": "string", + "nullable": true, + "description": "The brand to use when displaying the card, this accounts for customer's brand choice on dual-branded cards. Can be `american_express`, `cartes_bancaires`, `diners_club`, `discover`, `eftpos_australia`, `interac`, `jcb`, `mastercard`, `union_pay`, `visa`, or `other` and may contain more values in the future." + }, + "exp_month": { "type": "number", - "enum": [ - null + "format": "double", + "description": "Two-digit number representing the card's expiration month." + }, + "exp_year": { + "type": "number", + "format": "double", + "description": "Four-digit number representing the card's expiration year." + }, + "fingerprint": { + "type": "string", + "nullable": true, + "description": "Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.\n\n*As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.*" + }, + "funding": { + "type": "string", + "description": "Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`." + }, + "generated_from": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.GeneratedFrom" + } ], - "nullable": true + "nullable": true, + "description": "Details of the original PaymentMethod that created this object." + }, + "iin": { + "type": "string", + "nullable": true, + "description": "Issuer identification number of the card. (For internal use only and not typically available in standard API requests.)" + }, + "issuer": { + "type": "string", + "nullable": true, + "description": "The name of the card's issuing bank. (For internal use only and not typically available in standard API requests.)" + }, + "last4": { + "type": "string", + "description": "The last four digits of the card." + }, + "networks": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.Networks" + } + ], + "nullable": true, + "description": "Contains information about card networks that can be used to process the payment." + }, + "regulated_status": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.RegulatedStatus" + } + ], + "nullable": true, + "description": "Status of a card based on the card issuer." + }, + "three_d_secure_usage": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.ThreeDSecureUsage" + } + ], + "nullable": true, + "description": "Contains details on how this Card may be used for 3D Secure authentication." + }, + "wallet": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Card.Wallet" + } + ], + "nullable": true, + "description": "If this Card is part of a card wallet, this contains the details of the card wallet." } }, "required": [ - "data", - "error" + "brand", + "checks", + "country", + "display_brand", + "exp_month", + "exp_year", + "funding", + "generated_from", + "last4", + "networks", + "regulated_status", + "three_d_secure_usage", + "wallet" ], "type": "object", "additionalProperties": false }, - "Result__id-string--name-string--tier-string--stripe_customer_id-string-or-null--stripe_subscription_id-string-or-null--subscription_status-string-or-null--owner_email-string-or-null--created_at-string_.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__id-string--name-string--tier-string--stripe_customer_id-string-or-null--stripe_subscription_id-string-or-null--subscription_status-string-or-null--owner_email-string-or-null--created_at-string__" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess__message-string__": { + "stripe.Stripe.PaymentMethod.CardPresent.Networks": { "properties": { - "data": { - "properties": { - "message": { - "type": "string" - } + "available": { + "items": { + "type": "string" }, - "required": [ - "message" - ], - "type": "object" + "type": "array", + "description": "All networks available for selection via [payment_method_options.card.network](https://stripe.com/api/payment_intents/confirm#confirm_payment_intent-payment_method_options-card-network)." }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true + "preferred": { + "type": "string", + "nullable": true, + "description": "The preferred network for the card." } }, "required": [ - "data", - "error" + "available", + "preferred" ], "type": "object", "additionalProperties": false }, - "Result__message-string_.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__message-string__" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess__message-string--previousTier-string__": { + "stripe.Stripe.PaymentMethod.CardPresent.Offline": { "properties": { - "data": { - "properties": { - "previousTier": { - "type": "string" - }, - "message": { - "type": "string" - } - }, - "required": [ - "previousTier", - "message" - ], - "type": "object" - }, - "error": { + "stored_at": { "type": "number", + "format": "double", + "nullable": true, + "description": "Time at which the payment was collected while offline" + }, + "type": { + "type": "string", "enum": [ + "deferred", null ], - "nullable": true + "nullable": true, + "description": "The method used to process this payment method offline. Only deferred is allowed." } }, "required": [ - "data", - "error" + "stored_at", + "type" ], "type": "object", "additionalProperties": false }, - "Result__message-string--previousTier-string_.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__message-string--previousTier-string__" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } + "stripe.Stripe.PaymentMethod.CardPresent.ReadMethod": { + "type": "string", + "enum": [ + "contact_emv", + "contactless_emv", + "contactless_magstripe_mode", + "magnetic_stripe_fallback", + "magnetic_stripe_track2" ] }, - "CreditBalanceResponse": { + "stripe.Stripe.PaymentMethod.CardPresent.Wallet.Type": { + "type": "string", + "enum": [ + "apple_pay", + "google_pay", + "samsung_pay", + "unknown" + ] + }, + "stripe.Stripe.PaymentMethod.CardPresent.Wallet": { "properties": { - "totalCreditsPurchased": { - "type": "number", - "format": "double" - }, - "balance": { - "type": "number", - "format": "double" + "type": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.CardPresent.Wallet.Type", + "description": "The type of mobile wallet, one of `apple_pay`, `google_pay`, `samsung_pay`, or `unknown`." } }, "required": [ - "totalCreditsPurchased", - "balance" + "type" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_CreditBalanceResponse_": { + "stripe.Stripe.PaymentMethod.CardPresent": { "properties": { - "data": { - "$ref": "#/components/schemas/CreditBalanceResponse" + "brand": { + "type": "string", + "nullable": true, + "description": "Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`." }, - "error": { + "brand_product": { + "type": "string", + "nullable": true, + "description": "The [product code](https://stripe.com/docs/card-product-codes) that identifies the specific program or product associated with a card." + }, + "cardholder_name": { + "type": "string", + "nullable": true, + "description": "The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay." + }, + "country": { + "type": "string", + "nullable": true, + "description": "Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected." + }, + "description": { + "type": "string", + "nullable": true, + "description": "A high-level description of the type of cards issued in this range. (For internal use only and not typically available in standard API requests.)" + }, + "exp_month": { "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_CreditBalanceResponse.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_CreditBalanceResponse_" + "format": "double", + "description": "Two-digit number representing the card's expiration month." + }, + "exp_year": { + "type": "number", + "format": "double", + "description": "Four-digit number representing the card's expiration year." + }, + "fingerprint": { + "type": "string", + "nullable": true, + "description": "Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.\n\n*As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.*" + }, + "funding": { + "type": "string", + "nullable": true, + "description": "Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`." }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "PurchasedCredits": { - "properties": { - "id": { - "type": "string" + "iin": { + "type": "string", + "nullable": true, + "description": "Issuer identification number of the card. (For internal use only and not typically available in standard API requests.)" }, - "createdAt": { - "type": "number", - "format": "double" + "issuer": { + "type": "string", + "nullable": true, + "description": "The name of the card's issuing bank. (For internal use only and not typically available in standard API requests.)" }, - "credits": { - "type": "number", - "format": "double" + "last4": { + "type": "string", + "nullable": true, + "description": "The last four digits of the card." }, - "referenceId": { - "type": "string" - } - }, - "required": [ - "id", - "createdAt", - "credits", - "referenceId" - ], - "type": "object", - "additionalProperties": false - }, - "PaginatedPurchasedCredits": { - "properties": { - "purchases": { + "networks": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.CardPresent.Networks" + } + ], + "nullable": true, + "description": "Contains information about card networks that can be used to process the payment." + }, + "offline": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.CardPresent.Offline" + } + ], + "nullable": true, + "description": "Details about payment methods collected offline." + }, + "preferred_locales": { "items": { - "$ref": "#/components/schemas/PurchasedCredits" + "type": "string" }, - "type": "array" - }, - "total": { - "type": "number", - "format": "double" + "type": "array", + "nullable": true, + "description": "EMV tag 5F2D. Preferred languages specified by the integrated circuit chip." }, - "page": { - "type": "number", - "format": "double" + "read_method": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.CardPresent.ReadMethod" + } + ], + "nullable": true, + "description": "How card details were read in this transaction." }, - "pageSize": { - "type": "number", - "format": "double" + "wallet": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.CardPresent.Wallet" } }, "required": [ - "purchases", - "total", - "page", - "pageSize" + "brand", + "brand_product", + "cardholder_name", + "country", + "exp_month", + "exp_year", + "fingerprint", + "funding", + "last4", + "networks", + "offline", + "preferred_locales", + "read_method" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_PaginatedPurchasedCredits_": { + "stripe.Stripe.PaymentMethod.Cashapp": { "properties": { - "data": { - "$ref": "#/components/schemas/PaginatedPurchasedCredits" + "buyer_id": { + "type": "string", + "nullable": true, + "description": "A unique and immutable identifier assigned by Cash App to every buyer." }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true + "cashtag": { + "type": "string", + "nullable": true, + "description": "A public identifier for buyers using Cash App." } }, "required": [ - "data", - "error" + "buyer_id", + "cashtag" ], "type": "object", "additionalProperties": false }, - "Result_PaginatedPurchasedCredits.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_PaginatedPurchasedCredits_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } + "stripe.Stripe.PaymentMethod.CustomerBalance": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentMethod.Eps.Bank": { + "type": "string", + "enum": [ + "arzte_und_apotheker_bank", + "austrian_anadi_bank_ag", + "bank_austria", + "bankhaus_carl_spangler", + "bankhaus_schelhammer_und_schattera_ag", + "bawag_psk_ag", + "bks_bank_ag", + "brull_kallmus_bank_ag", + "btv_vier_lander_bank", + "capital_bank_grawe_gruppe_ag", + "deutsche_bank_ag", + "dolomitenbank", + "easybank_ag", + "erste_bank_und_sparkassen", + "hypo_alpeadriabank_international_ag", + "hypo_bank_burgenland_aktiengesellschaft", + "hypo_noe_lb_fur_niederosterreich_u_wien", + "hypo_oberosterreich_salzburg_steiermark", + "hypo_tirol_bank_ag", + "hypo_vorarlberg_bank_ag", + "marchfelder_bank", + "oberbank_ag", + "raiffeisen_bankengruppe_osterreich", + "schoellerbank_ag", + "sparda_bank_wien", + "volksbank_gruppe", + "volkskreditbank_ag", + "vr_bank_braunau" ] }, - "ResultSuccess__totalSpend-number__": { + "stripe.Stripe.PaymentMethod.Eps": { "properties": { - "data": { - "properties": { - "totalSpend": { - "type": "number", - "format": "double" + "bank": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Eps.Bank" } - }, - "required": [ - "totalSpend" - ], - "type": "object" - }, - "error": { - "type": "number", - "enum": [ - null ], - "nullable": true + "nullable": true, + "description": "The customer's bank. Should be one of `arzte_und_apotheker_bank`, `austrian_anadi_bank_ag`, `bank_austria`, `bankhaus_carl_spangler`, `bankhaus_schelhammer_und_schattera_ag`, `bawag_psk_ag`, `bks_bank_ag`, `brull_kallmus_bank_ag`, `btv_vier_lander_bank`, `capital_bank_grawe_gruppe_ag`, `deutsche_bank_ag`, `dolomitenbank`, `easybank_ag`, `erste_bank_und_sparkassen`, `hypo_alpeadriabank_international_ag`, `hypo_noe_lb_fur_niederosterreich_u_wien`, `hypo_oberosterreich_salzburg_steiermark`, `hypo_tirol_bank_ag`, `hypo_vorarlberg_bank_ag`, `hypo_bank_burgenland_aktiengesellschaft`, `marchfelder_bank`, `oberbank_ag`, `raiffeisen_bankengruppe_osterreich`, `schoellerbank_ag`, `sparda_bank_wien`, `volksbank_gruppe`, `volkskreditbank_ag`, or `vr_bank_braunau`." } }, "required": [ - "data", - "error" + "bank" ], "type": "object", "additionalProperties": false }, - "Result__totalSpend-number_.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__totalSpend-number__" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } + "stripe.Stripe.PaymentMethod.Fpx.AccountHolderType": { + "type": "string", + "enum": [ + "company", + "individual" ] }, - "ModelSpend": { + "stripe.Stripe.PaymentMethod.Fpx.Bank": { + "type": "string", + "enum": [ + "affin_bank", + "agrobank", + "alliance_bank", + "ambank", + "bank_islam", + "bank_muamalat", + "bank_of_china", + "bank_rakyat", + "bsn", + "cimb", + "deutsche_bank", + "hong_leong_bank", + "hsbc", + "kfh", + "maybank2e", + "maybank2u", + "ocbc", + "pb_enterprise", + "public_bank", + "rhb", + "standard_chartered", + "uob" + ] + }, + "stripe.Stripe.PaymentMethod.Fpx": { "properties": { - "model": { - "type": "string" - }, - "provider": { - "type": "string" - }, - "promptTokens": { - "type": "number", - "format": "double" - }, - "completionTokens": { - "type": "number", - "format": "double" - }, - "cacheReadTokens": { - "type": "number", - "format": "double" - }, - "cacheWriteTokens": { - "type": "number", - "format": "double" - }, - "pricing": { - "properties": { - "cacheWritePer1M": { - "type": "number", - "format": "double" - }, - "cacheReadPer1M": { - "type": "number", - "format": "double" - }, - "outputPer1M": { - "type": "number", - "format": "double" - }, - "inputPer1M": { - "type": "number", - "format": "double" + "account_holder_type": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Fpx.AccountHolderType" } - }, - "required": [ - "outputPer1M", - "inputPer1M" ], - "type": "object", - "nullable": true - }, - "subtotal": { - "type": "number", - "format": "double" - }, - "discountPercent": { - "type": "number", - "format": "double" - }, - "total": { - "type": "number", - "format": "double" + "nullable": true, + "description": "Account holder type, if provided. Can be one of `individual` or `company`." }, - "cacheAdjustment": { - "type": "number", - "format": "double" + "bank": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Fpx.Bank", + "description": "The customer's bank, if provided. Can be one of `affin_bank`, `agrobank`, `alliance_bank`, `ambank`, `bank_islam`, `bank_muamalat`, `bank_rakyat`, `bsn`, `cimb`, `hong_leong_bank`, `hsbc`, `kfh`, `maybank2u`, `ocbc`, `public_bank`, `rhb`, `standard_chartered`, `uob`, `deutsche_bank`, `maybank2e`, `pb_enterprise`, or `bank_of_china`." } }, "required": [ - "model", - "provider", - "promptTokens", - "completionTokens", - "cacheReadTokens", - "cacheWriteTokens", - "pricing", - "subtotal", - "discountPercent", - "total" + "account_holder_type", + "bank" ], "type": "object", "additionalProperties": false }, - "SpendBreakdownResponse": { + "stripe.Stripe.PaymentMethod.Giropay": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentMethod.Grabpay": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentMethod.Ideal.Bank": { + "type": "string", + "enum": [ + "abn_amro", + "asn_bank", + "bunq", + "handelsbanken", + "ing", + "knab", + "moneyou", + "n26", + "nn", + "rabobank", + "regiobank", + "revolut", + "sns_bank", + "triodos_bank", + "van_lanschot", + "yoursafe" + ] + }, + "stripe.Stripe.PaymentMethod.Ideal.Bic": { + "type": "string", + "enum": [ + "ABNANL2A", + "ASNBNL21", + "BITSNL2A", + "BUNQNL2A", + "FVLBNL22", + "HANDNL2A", + "INGBNL2A", + "KNABNL2H", + "MOYONL21", + "NNBANL2G", + "NTSBDEB1", + "RABONL2U", + "RBRBNL21", + "REVOIE23", + "REVOLT21", + "SNSBNL2A", + "TRIONL2U" + ] + }, + "stripe.Stripe.PaymentMethod.Ideal": { "properties": { - "models": { - "items": { - "$ref": "#/components/schemas/ModelSpend" - }, - "type": "array" - }, - "totalCost": { - "type": "number", - "format": "double" + "bank": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Ideal.Bank" + } + ], + "nullable": true, + "description": "The customer's bank, if provided. Can be one of `abn_amro`, `asn_bank`, `bunq`, `handelsbanken`, `ing`, `knab`, `moneyou`, `n26`, `nn`, `rabobank`, `regiobank`, `revolut`, `sns_bank`, `triodos_bank`, `van_lanschot`, or `yoursafe`." }, - "timeRange": { - "properties": { - "end": { - "type": "string" - }, - "start": { - "type": "string" + "bic": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Ideal.Bic" } - }, - "required": [ - "end", - "start" ], - "type": "object" + "nullable": true, + "description": "The Bank Identifier Code of the customer's bank, if the bank was provided." } }, "required": [ - "models", - "totalCost", - "timeRange" + "bank", + "bic" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_SpendBreakdownResponse_": { + "stripe.Stripe.PaymentMethod.InteracPresent.Networks": { "properties": { - "data": { - "$ref": "#/components/schemas/SpendBreakdownResponse" + "available": { + "items": { + "type": "string" + }, + "type": "array", + "description": "All networks available for selection via [payment_method_options.card.network](https://stripe.com/api/payment_intents/confirm#confirm_payment_intent-payment_method_options-card-network)." }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true + "preferred": { + "type": "string", + "nullable": true, + "description": "The preferred network for the card." } }, "required": [ - "data", - "error" + "available", + "preferred" ], "type": "object", "additionalProperties": false }, - "Result_SpendBreakdownResponse.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_SpendBreakdownResponse_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } + "stripe.Stripe.PaymentMethod.InteracPresent.ReadMethod": { + "type": "string", + "enum": [ + "contact_emv", + "contactless_emv", + "contactless_magstripe_mode", + "magnetic_stripe_fallback", + "magnetic_stripe_track2" ] }, - "PTBInvoice": { + "stripe.Stripe.PaymentMethod.InteracPresent": { "properties": { - "id": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "stripeInvoiceId": { + "brand": { "type": "string", - "nullable": true + "nullable": true, + "description": "Card brand. Can be `interac`, `mastercard` or `visa`." }, - "hostedInvoiceUrl": { + "cardholder_name": { "type": "string", - "nullable": true + "nullable": true, + "description": "The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay." }, - "startDate": { - "type": "string" + "country": { + "type": "string", + "nullable": true, + "description": "Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected." }, - "endDate": { - "type": "string" + "description": { + "type": "string", + "nullable": true, + "description": "A high-level description of the type of cards issued in this range. (For internal use only and not typically available in standard API requests.)" }, - "amountCents": { + "exp_month": { "type": "number", - "format": "double" + "format": "double", + "description": "Two-digit number representing the card's expiration month." }, - "subtotalCents": { + "exp_year": { "type": "number", "format": "double", - "nullable": true + "description": "Four-digit number representing the card's expiration year." + }, + "fingerprint": { + "type": "string", + "nullable": true, + "description": "Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.\n\n*As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.*" + }, + "funding": { + "type": "string", + "nullable": true, + "description": "Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`." + }, + "iin": { + "type": "string", + "nullable": true, + "description": "Issuer identification number of the card. (For internal use only and not typically available in standard API requests.)" }, - "notes": { + "issuer": { "type": "string", - "nullable": true + "nullable": true, + "description": "The name of the card's issuing bank. (For internal use only and not typically available in standard API requests.)" }, - "createdAt": { - "type": "string" - } - }, - "required": [ - "id", - "organizationId", - "stripeInvoiceId", - "hostedInvoiceUrl", - "startDate", - "endDate", - "amountCents", - "subtotalCents", - "notes", - "createdAt" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_PTBInvoice-Array_": { - "properties": { - "data": { + "last4": { + "type": "string", + "nullable": true, + "description": "The last four digits of the card." + }, + "networks": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.InteracPresent.Networks" + } + ], + "nullable": true, + "description": "Contains information about card networks that can be used to process the payment." + }, + "preferred_locales": { "items": { - "$ref": "#/components/schemas/PTBInvoice" + "type": "string" }, - "type": "array" + "type": "array", + "nullable": true, + "description": "EMV tag 5F2D. Preferred languages specified by the integrated circuit chip." }, - "error": { - "type": "number", - "enum": [ - null + "read_method": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.InteracPresent.ReadMethod" + } ], - "nullable": true + "nullable": true, + "description": "How card details were read in this transaction." } }, "required": [ - "data", - "error" + "brand", + "cardholder_name", + "country", + "exp_month", + "exp_year", + "fingerprint", + "funding", + "last4", + "networks", + "preferred_locales", + "read_method" ], "type": "object", "additionalProperties": false }, - "Result_PTBInvoice-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_PTBInvoice-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] + "stripe.Stripe.PaymentMethod.KakaoPay": { + "properties": {}, + "type": "object", + "additionalProperties": false }, - "OrgDiscount": { + "stripe.Stripe.PaymentMethod.Klarna.Dob": { "properties": { - "provider": { - "type": "string", - "nullable": true + "day": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The day of birth, between 1 and 31." }, - "model": { - "type": "string", - "nullable": true + "month": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The month of birth, between 1 and 12." }, - "percent": { + "year": { "type": "number", - "format": "double" + "format": "double", + "nullable": true, + "description": "The four-digit year of birth." } }, "required": [ - "provider", - "model", - "percent" + "day", + "month", + "year" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_OrgDiscount-Array_": { + "stripe.Stripe.PaymentMethod.Klarna": { "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/OrgDiscount" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null + "dob": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.Klarna.Dob" + } ], - "nullable": true + "nullable": true, + "description": "The customer's date of birth, if provided." } }, - "required": [ - "data", - "error" - ], "type": "object", "additionalProperties": false }, - "Result_OrgDiscount-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_OrgDiscount-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } + "stripe.Stripe.PaymentMethod.Konbini": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentMethod.KrCard.Brand": { + "type": "string", + "enum": [ + "bc", + "citi", + "hana", + "hyundai", + "jeju", + "jeonbuk", + "kakaobank", + "kbank", + "kdbbank", + "kookmin", + "kwangju", + "lotte", + "mg", + "nh", + "post", + "samsung", + "savingsbank", + "shinhan", + "shinhyup", + "suhyup", + "tossbank", + "woori" ] }, - "DashboardData": { + "stripe.Stripe.PaymentMethod.KrCard": { "properties": { - "organizations": { - "items": { - "properties": { - "walletProcessedEventsCount": { - "type": "number", - "format": "double" - }, - "walletDisallowedModelCount": { - "type": "number", - "format": "double" - }, - "walletTotalDebits": { - "type": "number", - "format": "double" - }, - "walletTotalCredits": { - "type": "number", - "format": "double" - }, - "walletEffectiveBalance": { - "type": "number", - "format": "double" - }, - "walletBalance": { - "type": "number", - "format": "double" - }, - "creditLimit": { - "type": "number", - "format": "double" - }, - "allowNegativeBalance": { - "type": "boolean" - }, - "ownerEmail": { - "type": "string" - }, - "tier": { - "type": "string" - }, - "lastPaymentDate": { - "type": "number", - "format": "double", - "nullable": true - }, - "clickhouseTotalSpend": { - "type": "number", - "format": "double" - }, - "paymentsCount": { - "type": "number", - "format": "double" - }, - "totalPayments": { - "type": "number", - "format": "double" - }, - "stripeCustomerId": { - "type": "string" - }, - "orgName": { - "type": "string" - }, - "orgId": { - "type": "string" - } - }, - "required": [ - "creditLimit", - "allowNegativeBalance", - "ownerEmail", - "tier", - "lastPaymentDate", - "clickhouseTotalSpend", - "paymentsCount", - "totalPayments", - "stripeCustomerId", - "orgName", - "orgId" - ], - "type": "object" - }, - "type": "array" - }, - "summary": { - "properties": { - "totalCreditsSpent": { - "type": "number", - "format": "double" - }, - "totalCreditsIssued": { - "type": "number", - "format": "double" - }, - "totalOrgsWithCredits": { - "type": "number", - "format": "double" + "brand": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.KrCard.Brand" } - }, - "required": [ - "totalCreditsSpent", - "totalCreditsIssued", - "totalOrgsWithCredits" ], - "type": "object" + "nullable": true, + "description": "The local credit or debit card brand." }, - "isProduction": { - "type": "boolean" + "last4": { + "type": "string", + "nullable": true, + "description": "The last four digits of the card. This may not be present for American Express cards." } }, "required": [ - "organizations", - "summary", - "isProduction" + "brand", + "last4" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_DashboardData_": { + "stripe.Stripe.PaymentMethod.Link": { "properties": { - "data": { - "$ref": "#/components/schemas/DashboardData" + "email": { + "type": "string", + "nullable": true, + "description": "Account owner's email address." }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true + "persistent_token": { + "type": "string", + "description": "[Deprecated] This is a legacy parameter that no longer has any function.", + "deprecated": true } }, "required": [ - "data", - "error" + "email" ], "type": "object", "additionalProperties": false }, - "Result_DashboardData.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_DashboardData_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } + "stripe.Stripe.PaymentMethod.Mobilepay": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentMethod.Multibanco": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentMethod.NaverPay.Funding": { + "type": "string", + "enum": [ + "card", + "points" ] }, - "WalletState": { + "stripe.Stripe.PaymentMethod.NaverPay": { "properties": { - "balance": { - "type": "number", - "format": "double" - }, - "effectiveBalance": { - "type": "number", - "format": "double" - }, - "totalCredits": { - "type": "number", - "format": "double" - }, - "totalDebits": { - "type": "number", - "format": "double" - }, - "totalEscrow": { - "type": "number", - "format": "double" - }, - "disallowList": { - "items": { - "properties": { - "model": { - "type": "string" - }, - "provider": { - "type": "string" - }, - "helicone_request_id": { - "type": "string" - } - }, - "required": [ - "model", - "provider", - "helicone_request_id" - ], - "type": "object" - }, - "type": "array" + "funding": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.NaverPay.Funding", + "description": "Whether to fund this transaction with Naver Pay points or a card." } }, "required": [ - "balance", - "effectiveBalance", - "totalCredits", - "totalDebits", - "totalEscrow", - "disallowList" + "funding" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_WalletState_": { + "stripe.Stripe.PaymentMethod.Oxxo": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentMethod.P24.Bank": { + "type": "string", + "enum": [ + "alior_bank", + "bank_millennium", + "bank_nowy_bfg_sa", + "bank_pekao_sa", + "banki_spbdzielcze", + "blik", + "bnp_paribas", + "boz", + "citi_handlowy", + "credit_agricole", + "envelobank", + "etransfer_pocztowy24", + "getin_bank", + "ideabank", + "ing", + "inteligo", + "mbank_mtransfer", + "nest_przelew", + "noble_pay", + "pbac_z_ipko", + "plus_bank", + "santander_przelew24", + "tmobile_usbugi_bankowe", + "toyota_bank", + "velobank", + "volkswagen_bank" + ] + }, + "stripe.Stripe.PaymentMethod.P24": { "properties": { - "data": { - "$ref": "#/components/schemas/WalletState" - }, - "error": { - "type": "number", - "enum": [ - null + "bank": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.P24.Bank" + } ], - "nullable": true + "nullable": true, + "description": "The customer's bank, if provided." } }, "required": [ - "data", - "error" + "bank" ], "type": "object", "additionalProperties": false }, - "Result_WalletState.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_WalletState_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] + "stripe.Stripe.PaymentMethod.PayByBank": { + "properties": {}, + "type": "object", + "additionalProperties": false }, - "TableDataResponse": { + "stripe.Stripe.PaymentMethod.Payco": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentMethod.Paynow": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentMethod.Paypal": { "properties": { - "pageSize": { - "type": "number", - "format": "double" + "country": { + "type": "string", + "nullable": true, + "description": "Two-letter ISO code representing the buyer's country. Values are provided by PayPal directly (if supported) at the time of authorization or settlement. They cannot be set or mutated." }, - "data": { - "properties": { - "message": { - "type": "string" - }, - "page": { - "type": "number", - "format": "double" - }, - "total": { - "type": "number", - "format": "double" - }, - "data": { - "items": {}, - "type": "array" - } - }, - "required": [ - "page", - "total", - "data" - ], - "type": "object" + "payer_email": { + "type": "string", + "nullable": true, + "description": "Owner's email. Values are provided by PayPal directly\n(if supported) at the time of authorization or settlement. They cannot be set or mutated." + }, + "payer_id": { + "type": "string", + "nullable": true, + "description": "PayPal account PayerID. This identifier uniquely identifies the PayPal customer." } }, "required": [ - "pageSize", - "data" + "country", + "payer_email", + "payer_id" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_TableDataResponse_": { + "stripe.Stripe.PaymentMethod.Pix": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentMethod.Promptpay": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentMethod.RadarOptions": { "properties": { - "data": { - "$ref": "#/components/schemas/TableDataResponse" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true + "session": { + "type": "string", + "description": "A [Radar Session](https://stripe.com/docs/radar/radar-session) is a snapshot of the browser metadata and device details that help Radar make more accurate predictions on your payments." } }, - "required": [ - "data", - "error" - ], "type": "object", "additionalProperties": false }, - "Result_TableDataResponse.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_TableDataResponse_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] + "stripe.Stripe.PaymentMethod.RevolutPay": { + "properties": {}, + "type": "object", + "additionalProperties": false }, - "ResultSuccess__allowNegativeBalance-boolean--creditLimit-number__": { + "stripe.Stripe.PaymentMethod.SamsungPay": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.PaymentMethod.SepaDebit.GeneratedFrom": { "properties": { - "data": { - "properties": { - "creditLimit": { - "type": "number", - "format": "double" + "charge": { + "anyOf": [ + { + "type": "string" }, - "allowNegativeBalance": { - "type": "boolean" + { + "$ref": "#/components/schemas/stripe.Stripe.Charge" } - }, - "required": [ - "creditLimit", - "allowNegativeBalance" ], - "type": "object" + "nullable": true, + "description": "The ID of the Charge that generated this PaymentMethod, if any." }, - "error": { - "type": "number", - "enum": [ - null + "setup_attempt": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.SetupAttempt" + } ], - "nullable": true + "nullable": true, + "description": "The ID of the SetupAttempt that generated this PaymentMethod, if any." } }, "required": [ - "data", - "error" + "charge", + "setup_attempt" ], "type": "object", "additionalProperties": false }, - "Result__allowNegativeBalance-boolean--creditLimit-number_.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__allowNegativeBalance-boolean--creditLimit-number__" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "TimeSeriesDataPoint": { + "stripe.Stripe.PaymentMethod.SepaDebit": { "properties": { - "timestamp": { - "type": "string" + "bank_code": { + "type": "string", + "nullable": true, + "description": "Bank code of bank associated with the bank account." }, - "amount": { - "type": "number", - "format": "double" + "branch_code": { + "type": "string", + "nullable": true, + "description": "Branch code of bank associated with the bank account." + }, + "country": { + "type": "string", + "nullable": true, + "description": "Two-letter ISO code representing the country the bank account is located in." + }, + "fingerprint": { + "type": "string", + "nullable": true, + "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same." + }, + "generated_from": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.SepaDebit.GeneratedFrom" + } + ], + "nullable": true, + "description": "Information about the object that generated this PaymentMethod." + }, + "last4": { + "type": "string", + "nullable": true, + "description": "Last four characters of the IBAN." } }, "required": [ - "timestamp", - "amount" + "bank_code", + "branch_code", + "country", + "fingerprint", + "generated_from", + "last4" ], "type": "object", "additionalProperties": false }, - "TimeSeriesResponse": { + "stripe.Stripe.PaymentMethod.Sofort": { "properties": { - "deposits": { - "items": { - "$ref": "#/components/schemas/TimeSeriesDataPoint" - }, - "type": "array" - }, - "spend": { - "items": { - "$ref": "#/components/schemas/TimeSeriesDataPoint" - }, - "type": "array" + "country": { + "type": "string", + "nullable": true, + "description": "Two-letter ISO code representing the country the bank account is located in." } }, "required": [ - "deposits", - "spend" + "country" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_TimeSeriesResponse_": { - "properties": { - "data": { - "$ref": "#/components/schemas/TimeSeriesResponse" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], + "stripe.Stripe.PaymentMethod.Swish": { + "properties": {}, "type": "object", "additionalProperties": false }, - "Result_TimeSeriesResponse.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_TimeSeriesResponse_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess_ModelSpend-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/ModelSpend" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], + "stripe.Stripe.PaymentMethod.Twint": { + "properties": {}, "type": "object", "additionalProperties": false }, - "Result_ModelSpend-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_ModelSpend-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } + "stripe.Stripe.PaymentMethod.Type": { + "type": "string", + "enum": [ + "acss_debit", + "affirm", + "afterpay_clearpay", + "alipay", + "alma", + "amazon_pay", + "au_becs_debit", + "bacs_debit", + "bancontact", + "blik", + "boleto", + "card", + "card_present", + "cashapp", + "customer_balance", + "eps", + "fpx", + "giropay", + "grabpay", + "ideal", + "interac_present", + "kakao_pay", + "klarna", + "konbini", + "kr_card", + "link", + "mobilepay", + "multibanco", + "naver_pay", + "oxxo", + "p24", + "pay_by_bank", + "payco", + "paynow", + "paypal", + "pix", + "promptpay", + "revolut_pay", + "samsung_pay", + "sepa_debit", + "sofort", + "swish", + "twint", + "us_bank_account", + "wechat_pay", + "zip" ] }, - "ResultSuccess__deleted-boolean__": { + "stripe.Stripe.PaymentMethod.UsBankAccount.AccountHolderType": { + "type": "string", + "enum": [ + "company", + "individual" + ] + }, + "stripe.Stripe.PaymentMethod.UsBankAccount.AccountType": { + "type": "string", + "enum": [ + "checking", + "savings" + ] + }, + "stripe.Stripe.PaymentMethod.UsBankAccount.Networks.Supported": { + "type": "string", + "enum": [ + "ach", + "us_domestic_wire" + ] + }, + "stripe.Stripe.PaymentMethod.UsBankAccount.Networks": { "properties": { - "data": { - "properties": { - "deleted": { - "type": "boolean" - } - }, - "required": [ - "deleted" - ], - "type": "object" + "preferred": { + "type": "string", + "nullable": true, + "description": "The preferred network." }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true + "supported": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.UsBankAccount.Networks.Supported" + }, + "type": "array", + "description": "All supported networks." } }, "required": [ - "data", - "error" + "preferred", + "supported" ], "type": "object", "additionalProperties": false }, - "Result__deleted-boolean_.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__deleted-boolean__" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } + "stripe.Stripe.PaymentMethod.UsBankAccount.StatusDetails.Blocked.NetworkCode": { + "type": "string", + "enum": [ + "R02", + "R03", + "R04", + "R05", + "R07", + "R08", + "R10", + "R11", + "R16", + "R20", + "R29", + "R31" ] }, - "ResultSuccess__updated-boolean__": { + "stripe.Stripe.PaymentMethod.UsBankAccount.StatusDetails.Blocked.Reason": { + "type": "string", + "enum": [ + "bank_account_closed", + "bank_account_frozen", + "bank_account_invalid_details", + "bank_account_restricted", + "bank_account_unusable", + "debit_not_authorized" + ] + }, + "stripe.Stripe.PaymentMethod.UsBankAccount.StatusDetails.Blocked": { "properties": { - "data": { - "properties": { - "updated": { - "type": "boolean" + "network_code": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.UsBankAccount.StatusDetails.Blocked.NetworkCode" } - }, - "required": [ - "updated" ], - "type": "object" + "nullable": true, + "description": "The ACH network code that resulted in this block." }, - "error": { - "type": "number", - "enum": [ - null + "reason": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.UsBankAccount.StatusDetails.Blocked.Reason" + } ], - "nullable": true + "nullable": true, + "description": "The reason why this PaymentMethod's fingerprint has been blocked" } }, "required": [ - "data", - "error" + "network_code", + "reason" ], "type": "object", "additionalProperties": false }, - "Result__updated-boolean_.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__updated-boolean__" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "InvoiceSummary": { + "stripe.Stripe.PaymentMethod.UsBankAccount.StatusDetails": { "properties": { - "totalSpendCents": { - "type": "number", - "format": "double" - }, - "totalInvoicedCents": { - "type": "number", - "format": "double" - }, - "uninvoicedBalanceCents": { - "type": "number", - "format": "double" - }, - "lastInvoiceEndDate": { - "type": "string", - "nullable": true + "blocked": { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.UsBankAccount.StatusDetails.Blocked" } }, - "required": [ - "totalSpendCents", - "totalInvoicedCents", - "uninvoicedBalanceCents", - "lastInvoiceEndDate" - ], "type": "object", "additionalProperties": false }, - "ResultSuccess_InvoiceSummary_": { + "stripe.Stripe.PaymentMethod.UsBankAccount": { "properties": { - "data": { - "$ref": "#/components/schemas/InvoiceSummary" + "account_holder_type": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.UsBankAccount.AccountHolderType" + } + ], + "nullable": true, + "description": "Account holder type: individual or company." }, - "error": { - "type": "number", - "enum": [ - null + "account_type": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.UsBankAccount.AccountType" + } ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_InvoiceSummary.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_InvoiceSummary_" + "nullable": true, + "description": "Account type: checkings or savings. Defaults to checking if omitted." }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "CreateInvoiceResponse": { - "properties": { - "invoiceId": { - "type": "string" + "bank_name": { + "type": "string", + "nullable": true, + "description": "The name of the bank." }, - "hostedInvoiceUrl": { + "financial_connections_account": { "type": "string", - "nullable": true + "nullable": true, + "description": "The ID of the Financial Connections Account used to create the payment method." }, - "dashboardUrl": { - "type": "string" + "fingerprint": { + "type": "string", + "nullable": true, + "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same." }, - "amountCents": { - "type": "number", - "format": "double" + "last4": { + "type": "string", + "nullable": true, + "description": "Last four digits of the bank account number." + }, + "networks": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.UsBankAccount.Networks" + } + ], + "nullable": true, + "description": "Contains information about US bank account networks that can be used." }, - "subtotalCents": { - "type": "number", - "format": "double" + "routing_number": { + "type": "string", + "nullable": true, + "description": "Routing number of the bank account." }, - "ptbInvoiceId": { - "type": "string" + "status_details": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod.UsBankAccount.StatusDetails" + } + ], + "nullable": true, + "description": "Contains information about the future reusability of this PaymentMethod." } }, "required": [ - "invoiceId", - "hostedInvoiceUrl", - "dashboardUrl", - "amountCents", - "subtotalCents", - "ptbInvoiceId" + "account_holder_type", + "account_type", + "bank_name", + "financial_connections_account", + "fingerprint", + "last4", + "networks", + "routing_number", + "status_details" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_CreateInvoiceResponse_": { - "properties": { - "data": { - "$ref": "#/components/schemas/CreateInvoiceResponse" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], + "stripe.Stripe.PaymentMethod.WechatPay": { + "properties": {}, "type": "object", "additionalProperties": false }, - "Result_CreateInvoiceResponse.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_CreateInvoiceResponse_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] + "stripe.Stripe.PaymentMethod.Zip": { + "properties": {}, + "type": "object", + "additionalProperties": false }, - "ConvertToWavResponse": { + "stripe.Stripe.Customer.InvoiceSettings.RenderingOptions": { "properties": { - "data": { + "amount_tax_display": { "type": "string", - "nullable": true + "nullable": true, + "description": "How line-item prices and amounts will be displayed with respect to tax on invoice PDFs." }, - "error": { + "template": { "type": "string", - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "ConvertToWavRequestBody": { - "properties": { - "audioData": { - "type": "string" + "nullable": true, + "description": "ID of the invoice rendering template to be used for this customer's invoices. If set, the template will be used on all invoices for this customer unless a template is set directly on the invoice." } }, "required": [ - "audioData" + "amount_tax_display", + "template" ], "type": "object", "additionalProperties": false }, - "ResultSuccess__url-string__": { + "stripe.Stripe.Customer.InvoiceSettings": { "properties": { - "data": { - "properties": { - "url": { + "custom_fields": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Customer.InvoiceSettings.CustomField" + }, + "type": "array", + "nullable": true, + "description": "Default custom fields to be displayed on invoices for this customer." + }, + "default_payment_method": { + "anyOf": [ + { "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod" } - }, - "required": [ - "url" ], - "type": "object" + "nullable": true, + "description": "ID of a payment method that's attached to the customer, to be used as the customer's default payment method for subscriptions and invoices." }, - "error": { - "type": "number", - "enum": [ - null + "footer": { + "type": "string", + "nullable": true, + "description": "Default footer to be displayed on invoices for this customer." + }, + "rendering_options": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Customer.InvoiceSettings.RenderingOptions" + } ], - "nullable": true + "nullable": true, + "description": "Default options for invoice PDF rendering for this customer." } }, "required": [ - "data", - "error" + "custom_fields", + "default_payment_method", + "footer", + "rendering_options" ], "type": "object", "additionalProperties": false }, - "Result__url-string_.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__url-string__" + "stripe.Stripe.Customer.Shipping": { + "properties": { + "address": { + "$ref": "#/components/schemas/stripe.Stripe.Address" }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - } - }, - "securitySchemes": { - "api_key": { - "type": "apiKey", - "name": "Authorization", - "in": "header", - "description": "Bearer token authentication. Format: 'Bearer YOUR_API_KEY'" - } - } - }, - "info": { - "title": "helicone-api", - "version": "1.0.0", - "license": { - "name": "MIT" - }, - "contact": {} - }, - "paths": { - "/v1/waitlist/feature": { - "post": { - "operationId": "AddToWaitlist", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result__success-boolean--position_63_-number_.string_" - } - } - } - } - }, - "tags": [ - "Waitlist" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "organizationId": { - "type": "string" - }, - "feature": { - "type": "string" - }, - "email": { - "type": "string" - } - }, - "required": [ - "feature", - "email" - ], - "type": "object" - } - } - } - } - } - }, - "/v1/waitlist/feature/status": { - "get": { - "operationId": "IsOnWaitlist", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result__isOnWaitlist-boolean_.string_" - } - } - } - } - }, - "tags": [ - "Waitlist" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [ - { - "in": "query", - "name": "email", - "required": true, - "schema": { - "type": "string" - } + "carrier": { + "type": "string", + "nullable": true, + "description": "The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc." }, - { - "in": "query", - "name": "feature", - "required": true, - "schema": { - "type": "string" - } + "name": { + "type": "string", + "description": "Recipient name." }, - { - "in": "query", - "name": "organizationId", - "required": false, - "schema": { - "type": "string" - } - } - ] - } - }, - "/v1/waitlist/feature/count": { - "get": { - "operationId": "GetWaitlistCount", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result__count-number_.string_" - } - } - } - } - }, - "tags": [ - "Waitlist" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [ - { - "in": "query", - "name": "feature", - "required": true, - "schema": { - "type": "string" - } - } - ] - } - }, - "/v1/user-feedback": { - "post": { - "operationId": "PostUserFeedback", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "properties": { - "success": {}, - "error": { - "type": "string" - } - }, - "required": [ - "error" - ], - "type": "object" - }, - { - "properties": { - "error": {}, - "success": { - "type": "boolean" - } - }, - "required": [ - "success" - ], - "type": "object" - } - ] - } - } - } - } - }, - "tags": [ - "User Feedback" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "tag": { - "type": "string" - }, - "feedback": { - "type": "string" - } - }, - "required": [ - "tag", - "feedback" - ], - "type": "object" - } - } - } - } - } - }, - "/v1/settings/query": { - "get": { - "operationId": "GetSettings", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "properties": { - "useAzureForExperiment": { - "type": "boolean" - } - }, - "required": [ - "useAzureForExperiment" - ], - "type": "object" - } - } - } - } - }, - "tags": [ - "Settings" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [] - } - }, - "/v1/rate-limits": { - "get": { - "operationId": "GetRateLimits", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_RateLimitRuleView-Array.string_" - } - } - } + "phone": { + "type": "string", + "nullable": true, + "description": "Recipient phone (including extension)." + }, + "tracking_number": { + "type": "string", + "nullable": true, + "description": "The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas." } }, - "tags": [ - "Rate Limits" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [] + "type": "object", + "additionalProperties": false }, - "post": { - "operationId": "CreateRateLimit", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_RateLimitRuleView.string_" - } - } - } - } - }, - "tags": [ - "Rate Limits" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateRateLimitRuleParams" - } - } - } - } - } - }, - "/v1/rate-limits/{ruleId}": { - "put": { - "operationId": "UpdateRateLimit", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_RateLimitRuleView.string_" - } - } - } + "stripe.Stripe.ApiList_stripe.Stripe.CustomerSource_": { + "description": "A container for paginated lists of objects.\nThe array of objects is on the `.data` property,\nand `.has_more` indicates whether there are additional objects beyond the end of this list.\n\nLearn more in Stripe's [pagination docs](https://stripe.com/docs/api/pagination?lang=node)\nor, when iterating over many items, try [auto-pagination](https://github.com/stripe/stripe-node#auto-pagination) instead.", + "properties": { + "object": { + "type": "string", + "enum": [ + "list" + ], + "nullable": false + }, + "data": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.CustomerSource" + }, + "type": "array" + }, + "has_more": { + "type": "boolean", + "description": "True if this list has another page of items after this one that can be fetched." + }, + "url": { + "type": "string", + "description": "The URL where this list can be accessed." } }, - "tags": [ - "Rate Limits" + "required": [ + "object", + "data", + "has_more", + "url" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.ApiList_stripe.Stripe.Subscription_": { + "description": "A container for paginated lists of objects.\nThe array of objects is on the `.data` property,\nand `.has_more` indicates whether there are additional objects beyond the end of this list.\n\nLearn more in Stripe's [pagination docs](https://stripe.com/docs/api/pagination?lang=node)\nor, when iterating over many items, try [auto-pagination](https://github.com/stripe/stripe-node#auto-pagination) instead.", + "properties": { + "object": { + "type": "string", + "enum": [ + "list" + ], + "nullable": false + }, + "data": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Subscription" + }, + "type": "array" + }, + "has_more": { + "type": "boolean", + "description": "True if this list has another page of items after this one that can be fetched." + }, + "url": { + "type": "string", + "description": "The URL where this list can be accessed." } + }, + "required": [ + "object", + "data", + "has_more", + "url" ], - "parameters": [ - { - "in": "path", - "name": "ruleId", - "required": true, - "schema": { - "type": "string" - } + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Customer.Tax.AutomaticTax": { + "type": "string", + "enum": [ + "failed", + "not_collecting", + "supported", + "unrecognized_location" + ] + }, + "stripe.Stripe.Customer.Tax.Location.Source": { + "type": "string", + "enum": [ + "billing_address", + "ip_address", + "payment_method", + "shipping_destination" + ] + }, + "stripe.Stripe.Customer.Tax.Location": { + "properties": { + "country": { + "type": "string", + "description": "The customer's country as identified by Stripe Tax." + }, + "source": { + "$ref": "#/components/schemas/stripe.Stripe.Customer.Tax.Location.Source", + "description": "The data source used to infer the customer's location." + }, + "state": { + "type": "string", + "nullable": true, + "description": "The customer's state, county, province, or region as identified by Stripe Tax." } + }, + "required": [ + "country", + "source", + "state" ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateRateLimitRuleParams" - } - } - } - } + "type": "object", + "additionalProperties": false }, - "delete": { - "operationId": "DeleteRateLimit", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } + "stripe.Stripe.Customer.Tax": { + "properties": { + "automatic_tax": { + "$ref": "#/components/schemas/stripe.Stripe.Customer.Tax.AutomaticTax", + "description": "Surfaces if automatic tax computation is possible given the current customer location information." + }, + "ip_address": { + "type": "string", + "nullable": true, + "description": "A recent IP address of the customer used for tax reporting and tax location inference." + }, + "location": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Customer.Tax.Location" } - } + ], + "nullable": true, + "description": "The customer's location as identified by Stripe Tax." } }, - "tags": [ - "Rate Limits" - ], - "security": [ - { - "api_key": [] - } + "required": [ + "automatic_tax", + "ip_address", + "location" ], - "parameters": [ - { - "in": "path", - "name": "ruleId", - "required": true, - "schema": { - "type": "string" - } - } + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Customer.TaxExempt": { + "type": "string", + "enum": [ + "exempt", + "none", + "reverse" ] - } - }, - "/v1/api-keys/provider-key/{providerKeyId}": { - "delete": { - "operationId": "DeleteProviderKey", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "properties": { - "providerName": { - "type": "string", - "enum": [ - "baseten", - "anthropic", - "azure", - "bedrock", - "canopywave", - "cerebras", - "chutes", - "deepinfra", - "deepseek", - "fireworks", - "google-ai-studio", - "groq", - "helicone", - "mistral", - "nebius", - "novita", - "openai", - "openrouter", - "perplexity", - "vertex", - "xai" - ] - } - }, - "required": [ - "providerName" - ], - "type": "object" - }, - { - "properties": { - "error": { - "type": "string" - } - }, - "required": [ - "error" - ], - "type": "object" - } - ] - } - } - } + }, + "stripe.Stripe.ApiList_stripe.Stripe.TaxId_": { + "description": "A container for paginated lists of objects.\nThe array of objects is on the `.data` property,\nand `.has_more` indicates whether there are additional objects beyond the end of this list.\n\nLearn more in Stripe's [pagination docs](https://stripe.com/docs/api/pagination?lang=node)\nor, when iterating over many items, try [auto-pagination](https://github.com/stripe/stripe-node#auto-pagination) instead.", + "properties": { + "object": { + "type": "string", + "enum": [ + "list" + ], + "nullable": false + }, + "data": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.TaxId" + }, + "type": "array" + }, + "has_more": { + "type": "boolean", + "description": "True if this list has another page of items after this one that can be fetched." + }, + "url": { + "type": "string", + "description": "The URL where this list can be accessed." } }, - "tags": [ - "API Key" + "required": [ + "object", + "data", + "has_more", + "url" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.BankAccount.FutureRequirements.Error.Code": { + "type": "string", + "enum": [ + "invalid_address_city_state_postal_code", + "invalid_address_highway_contract_box", + "invalid_address_private_mailbox", + "invalid_business_profile_name", + "invalid_business_profile_name_denylisted", + "invalid_company_name_denylisted", + "invalid_dob_age_over_maximum", + "invalid_dob_age_under_18", + "invalid_dob_age_under_minimum", + "invalid_product_description_length", + "invalid_product_description_url_match", + "invalid_representative_country", + "invalid_statement_descriptor_business_mismatch", + "invalid_statement_descriptor_denylisted", + "invalid_statement_descriptor_length", + "invalid_statement_descriptor_prefix_denylisted", + "invalid_statement_descriptor_prefix_mismatch", + "invalid_street_address", + "invalid_tax_id", + "invalid_tax_id_format", + "invalid_tos_acceptance", + "invalid_url_denylisted", + "invalid_url_format", + "invalid_url_length", + "invalid_url_web_presence_detected", + "invalid_url_website_business_information_mismatch", + "invalid_url_website_empty", + "invalid_url_website_inaccessible", + "invalid_url_website_inaccessible_geoblocked", + "invalid_url_website_inaccessible_password_protected", + "invalid_url_website_incomplete", + "invalid_url_website_incomplete_cancellation_policy", + "invalid_url_website_incomplete_customer_service_details", + "invalid_url_website_incomplete_legal_restrictions", + "invalid_url_website_incomplete_refund_policy", + "invalid_url_website_incomplete_return_policy", + "invalid_url_website_incomplete_terms_and_conditions", + "invalid_url_website_incomplete_under_construction", + "invalid_url_website_other", + "invalid_value_other", + "verification_directors_mismatch", + "verification_document_address_mismatch", + "verification_document_address_missing", + "verification_document_corrupt", + "verification_document_country_not_supported", + "verification_document_directors_mismatch", + "verification_document_dob_mismatch", + "verification_document_duplicate_type", + "verification_document_expired", + "verification_document_failed_copy", + "verification_document_failed_greyscale", + "verification_document_failed_other", + "verification_document_failed_test_mode", + "verification_document_fraudulent", + "verification_document_id_number_mismatch", + "verification_document_id_number_missing", + "verification_document_incomplete", + "verification_document_invalid", + "verification_document_issue_or_expiry_date_missing", + "verification_document_manipulated", + "verification_document_missing_back", + "verification_document_missing_front", + "verification_document_name_mismatch", + "verification_document_name_missing", + "verification_document_nationality_mismatch", + "verification_document_not_readable", + "verification_document_not_signed", + "verification_document_not_uploaded", + "verification_document_photo_mismatch", + "verification_document_too_large", + "verification_document_type_not_supported", + "verification_extraneous_directors", + "verification_failed_address_match", + "verification_failed_business_iec_number", + "verification_failed_document_match", + "verification_failed_id_number_match", + "verification_failed_keyed_identity", + "verification_failed_keyed_match", + "verification_failed_name_match", + "verification_failed_other", + "verification_failed_representative_authority", + "verification_failed_residential_address", + "verification_failed_tax_id_match", + "verification_failed_tax_id_not_issued", + "verification_missing_directors", + "verification_missing_executives", + "verification_missing_owners", + "verification_requires_additional_memorandum_of_associations", + "verification_requires_additional_proof_of_registration", + "verification_supportability" + ] + }, + "stripe.Stripe.BankAccount.FutureRequirements.Error": { + "properties": { + "code": { + "$ref": "#/components/schemas/stripe.Stripe.BankAccount.FutureRequirements.Error.Code", + "description": "The code for the type of error." + }, + "reason": { + "type": "string", + "description": "An informative message that indicates the error type and provides additional details about the error." + }, + "requirement": { + "type": "string", + "description": "The specific user onboarding requirement field (in the requirements hash) that needs to be resolved." } + }, + "required": [ + "code", + "reason", + "requirement" ], - "parameters": [ - { - "in": "path", - "name": "providerKeyId", - "required": true, - "schema": { + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.BankAccount.FutureRequirements": { + "properties": { + "currently_due": { + "items": { "type": "string" - } + }, + "type": "array", + "nullable": true, + "description": "Fields that need to be collected to keep the external account enabled. If not collected by `current_deadline`, these fields appear in `past_due` as well, and the account is disabled." + }, + "errors": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.BankAccount.FutureRequirements.Error" + }, + "type": "array", + "nullable": true, + "description": "Fields that are `currently_due` and need to be collected again because validation or verification failed." + }, + "past_due": { + "items": { + "type": "string" + }, + "type": "array", + "nullable": true, + "description": "Fields that weren't collected by `current_deadline`. These fields need to be collected to enable the external account." + }, + "pending_verification": { + "items": { + "type": "string" + }, + "type": "array", + "nullable": true, + "description": "Fields that might become required depending on the results of verification or review. It's an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due`, `currently_due`, or `past_due`. Fields might appear in `eventually_due`, `currently_due`, or `past_due` and in `pending_verification` if verification fails but another verification is still pending." } + }, + "required": [ + "currently_due", + "errors", + "past_due", + "pending_verification" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.BankAccount.Requirements.Error.Code": { + "type": "string", + "enum": [ + "invalid_address_city_state_postal_code", + "invalid_address_highway_contract_box", + "invalid_address_private_mailbox", + "invalid_business_profile_name", + "invalid_business_profile_name_denylisted", + "invalid_company_name_denylisted", + "invalid_dob_age_over_maximum", + "invalid_dob_age_under_18", + "invalid_dob_age_under_minimum", + "invalid_product_description_length", + "invalid_product_description_url_match", + "invalid_representative_country", + "invalid_statement_descriptor_business_mismatch", + "invalid_statement_descriptor_denylisted", + "invalid_statement_descriptor_length", + "invalid_statement_descriptor_prefix_denylisted", + "invalid_statement_descriptor_prefix_mismatch", + "invalid_street_address", + "invalid_tax_id", + "invalid_tax_id_format", + "invalid_tos_acceptance", + "invalid_url_denylisted", + "invalid_url_format", + "invalid_url_length", + "invalid_url_web_presence_detected", + "invalid_url_website_business_information_mismatch", + "invalid_url_website_empty", + "invalid_url_website_inaccessible", + "invalid_url_website_inaccessible_geoblocked", + "invalid_url_website_inaccessible_password_protected", + "invalid_url_website_incomplete", + "invalid_url_website_incomplete_cancellation_policy", + "invalid_url_website_incomplete_customer_service_details", + "invalid_url_website_incomplete_legal_restrictions", + "invalid_url_website_incomplete_refund_policy", + "invalid_url_website_incomplete_return_policy", + "invalid_url_website_incomplete_terms_and_conditions", + "invalid_url_website_incomplete_under_construction", + "invalid_url_website_other", + "invalid_value_other", + "verification_directors_mismatch", + "verification_document_address_mismatch", + "verification_document_address_missing", + "verification_document_corrupt", + "verification_document_country_not_supported", + "verification_document_directors_mismatch", + "verification_document_dob_mismatch", + "verification_document_duplicate_type", + "verification_document_expired", + "verification_document_failed_copy", + "verification_document_failed_greyscale", + "verification_document_failed_other", + "verification_document_failed_test_mode", + "verification_document_fraudulent", + "verification_document_id_number_mismatch", + "verification_document_id_number_missing", + "verification_document_incomplete", + "verification_document_invalid", + "verification_document_issue_or_expiry_date_missing", + "verification_document_manipulated", + "verification_document_missing_back", + "verification_document_missing_front", + "verification_document_name_mismatch", + "verification_document_name_missing", + "verification_document_nationality_mismatch", + "verification_document_not_readable", + "verification_document_not_signed", + "verification_document_not_uploaded", + "verification_document_photo_mismatch", + "verification_document_too_large", + "verification_document_type_not_supported", + "verification_extraneous_directors", + "verification_failed_address_match", + "verification_failed_business_iec_number", + "verification_failed_document_match", + "verification_failed_id_number_match", + "verification_failed_keyed_identity", + "verification_failed_keyed_match", + "verification_failed_name_match", + "verification_failed_other", + "verification_failed_representative_authority", + "verification_failed_residential_address", + "verification_failed_tax_id_match", + "verification_failed_tax_id_not_issued", + "verification_missing_directors", + "verification_missing_executives", + "verification_missing_owners", + "verification_requires_additional_memorandum_of_associations", + "verification_requires_additional_proof_of_registration", + "verification_supportability" ] }, - "get": { - "operationId": "GetProviderKey", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "$ref": "#/components/schemas/DecryptedProviderKey" - }, - { - "properties": { - "error": { - "type": "string" - } - }, - "required": [ - "error" - ], - "type": "object" - } - ] - } - } - } + "stripe.Stripe.BankAccount.Requirements.Error": { + "properties": { + "code": { + "$ref": "#/components/schemas/stripe.Stripe.BankAccount.Requirements.Error.Code", + "description": "The code for the type of error." + }, + "reason": { + "type": "string", + "description": "An informative message that indicates the error type and provides additional details about the error." + }, + "requirement": { + "type": "string", + "description": "The specific user onboarding requirement field (in the requirements hash) that needs to be resolved." } }, - "tags": [ - "API Key" - ], - "security": [ - { - "api_key": [] - } + "required": [ + "code", + "reason", + "requirement" ], - "parameters": [ - { - "in": "path", - "name": "providerKeyId", - "required": true, - "schema": { - "type": "string" - } - } - ] + "type": "object", + "additionalProperties": false }, - "patch": { - "operationId": "UpdateProviderKey", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result__id-string--providerName-string_.string_" - } - } - } + "stripe.Stripe.BankAccount.Requirements": { + "properties": { + "currently_due": { + "items": { + "type": "string" + }, + "type": "array", + "nullable": true, + "description": "Fields that need to be collected to keep the external account enabled. If not collected by `current_deadline`, these fields appear in `past_due` as well, and the account is disabled." + }, + "errors": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.BankAccount.Requirements.Error" + }, + "type": "array", + "nullable": true, + "description": "Fields that are `currently_due` and need to be collected again because validation or verification failed." + }, + "past_due": { + "items": { + "type": "string" + }, + "type": "array", + "nullable": true, + "description": "Fields that weren't collected by `current_deadline`. These fields need to be collected to enable the external account." + }, + "pending_verification": { + "items": { + "type": "string" + }, + "type": "array", + "nullable": true, + "description": "Fields that might become required depending on the results of verification or review. It's an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due`, `currently_due`, or `past_due`. Fields might appear in `eventually_due`, `currently_due`, or `past_due` and in `pending_verification` if verification fails but another verification is still pending." } }, - "tags": [ - "API Key" + "required": [ + "currently_due", + "errors", + "past_due", + "pending_verification" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.ApiList_stripe.Stripe.ExternalAccount_": { + "description": "A container for paginated lists of objects.\nThe array of objects is on the `.data` property,\nand `.has_more` indicates whether there are additional objects beyond the end of this list.\n\nLearn more in Stripe's [pagination docs](https://stripe.com/docs/api/pagination?lang=node)\nor, when iterating over many items, try [auto-pagination](https://github.com/stripe/stripe-node#auto-pagination) instead.", + "properties": { + "object": { + "type": "string", + "enum": [ + "list" + ], + "nullable": false + }, + "data": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.ExternalAccount" + }, + "type": "array" + }, + "has_more": { + "type": "boolean", + "description": "True if this list has another page of items after this one that can be fetched." + }, + "url": { + "type": "string", + "description": "The URL where this list can be accessed." } + }, + "required": [ + "object", + "data", + "has_more", + "url" ], - "parameters": [ - { - "in": "path", - "name": "providerKeyId", - "required": true, - "schema": { + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Account.FutureRequirements.Alternative": { + "properties": { + "alternative_fields_due": { + "items": { "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateProviderKeyRequest" - } - } - } - } - } - }, - "/v1/api-keys/provider-key": { - "post": { - "operationId": "CreateProviderKey", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "properties": { - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "properties": { - "error": { - "type": "string" - } - }, - "required": [ - "error" - ], - "type": "object" - } - ] - } - } - } + }, + "type": "array", + "description": "Fields that can be provided to satisfy all fields in `original_fields_due`." + }, + "original_fields_due": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Fields that are due and can be satisfied by providing all fields in `alternative_fields_due`." } }, - "tags": [ - "API Key" + "required": [ + "alternative_fields_due", + "original_fields_due" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Account.FutureRequirements.DisabledReason": { + "type": "string", + "enum": [ + "action_required.requested_capabilities", + "listed", + "other", + "platform_paused", + "rejected.fraud", + "rejected.incomplete_verification", + "rejected.listed", + "rejected.other", + "rejected.platform_fraud", + "rejected.platform_other", + "rejected.platform_terms_of_service", + "rejected.terms_of_service", + "requirements.past_due", + "requirements.pending_verification", + "under_review" + ] + }, + "stripe.Stripe.Account.FutureRequirements.Error.Code": { + "type": "string", + "enum": [ + "invalid_address_city_state_postal_code", + "invalid_address_highway_contract_box", + "invalid_address_private_mailbox", + "invalid_business_profile_name", + "invalid_business_profile_name_denylisted", + "invalid_company_name_denylisted", + "invalid_dob_age_over_maximum", + "invalid_dob_age_under_18", + "invalid_dob_age_under_minimum", + "invalid_product_description_length", + "invalid_product_description_url_match", + "invalid_representative_country", + "invalid_statement_descriptor_business_mismatch", + "invalid_statement_descriptor_denylisted", + "invalid_statement_descriptor_length", + "invalid_statement_descriptor_prefix_denylisted", + "invalid_statement_descriptor_prefix_mismatch", + "invalid_street_address", + "invalid_tax_id", + "invalid_tax_id_format", + "invalid_tos_acceptance", + "invalid_url_denylisted", + "invalid_url_format", + "invalid_url_length", + "invalid_url_web_presence_detected", + "invalid_url_website_business_information_mismatch", + "invalid_url_website_empty", + "invalid_url_website_inaccessible", + "invalid_url_website_inaccessible_geoblocked", + "invalid_url_website_inaccessible_password_protected", + "invalid_url_website_incomplete", + "invalid_url_website_incomplete_cancellation_policy", + "invalid_url_website_incomplete_customer_service_details", + "invalid_url_website_incomplete_legal_restrictions", + "invalid_url_website_incomplete_refund_policy", + "invalid_url_website_incomplete_return_policy", + "invalid_url_website_incomplete_terms_and_conditions", + "invalid_url_website_incomplete_under_construction", + "invalid_url_website_other", + "invalid_value_other", + "verification_directors_mismatch", + "verification_document_address_mismatch", + "verification_document_address_missing", + "verification_document_corrupt", + "verification_document_country_not_supported", + "verification_document_directors_mismatch", + "verification_document_dob_mismatch", + "verification_document_duplicate_type", + "verification_document_expired", + "verification_document_failed_copy", + "verification_document_failed_greyscale", + "verification_document_failed_other", + "verification_document_failed_test_mode", + "verification_document_fraudulent", + "verification_document_id_number_mismatch", + "verification_document_id_number_missing", + "verification_document_incomplete", + "verification_document_invalid", + "verification_document_issue_or_expiry_date_missing", + "verification_document_manipulated", + "verification_document_missing_back", + "verification_document_missing_front", + "verification_document_name_mismatch", + "verification_document_name_missing", + "verification_document_nationality_mismatch", + "verification_document_not_readable", + "verification_document_not_signed", + "verification_document_not_uploaded", + "verification_document_photo_mismatch", + "verification_document_too_large", + "verification_document_type_not_supported", + "verification_extraneous_directors", + "verification_failed_address_match", + "verification_failed_business_iec_number", + "verification_failed_document_match", + "verification_failed_id_number_match", + "verification_failed_keyed_identity", + "verification_failed_keyed_match", + "verification_failed_name_match", + "verification_failed_other", + "verification_failed_representative_authority", + "verification_failed_residential_address", + "verification_failed_tax_id_match", + "verification_failed_tax_id_not_issued", + "verification_missing_directors", + "verification_missing_executives", + "verification_missing_owners", + "verification_requires_additional_memorandum_of_associations", + "verification_requires_additional_proof_of_registration", + "verification_supportability" + ] + }, + "stripe.Stripe.Account.FutureRequirements.Error": { + "properties": { + "code": { + "$ref": "#/components/schemas/stripe.Stripe.Account.FutureRequirements.Error.Code", + "description": "The code for the type of error." + }, + "reason": { + "type": "string", + "description": "An informative message that indicates the error type and provides additional details about the error." + }, + "requirement": { + "type": "string", + "description": "The specific user onboarding requirement field (in the requirements hash) that needs to be resolved." } + }, + "required": [ + "code", + "reason", + "requirement" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateProviderKeyRequest" - } - } - } - } - } - }, - "/v1/api-keys/provider-keys": { - "get": { - "operationId": "GetProviderKeys", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "items": { - "$ref": "#/components/schemas/ProviderKeyRow" - }, - "type": "array" - }, - { - "properties": { - "error": { - "type": "string" - } - }, - "required": [ - "error" - ], - "type": "object" - } - ] - } + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Account.FutureRequirements": { + "properties": { + "alternatives": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Account.FutureRequirements.Alternative" + }, + "type": "array", + "nullable": true, + "description": "Fields that are due and can be satisfied by providing the corresponding alternative fields instead." + }, + "current_deadline": { + "type": "number", + "format": "double", + "nullable": true, + "description": "Date on which `future_requirements` becomes the main `requirements` hash and `future_requirements` becomes empty. After the transition, `currently_due` requirements may immediately become `past_due`, but the account may also be given a grace period depending on its enablement state prior to transitioning." + }, + "currently_due": { + "items": { + "type": "string" + }, + "type": "array", + "nullable": true, + "description": "Fields that need to be collected to keep the account enabled. If not collected by `future_requirements[current_deadline]`, these fields will transition to the main `requirements` hash." + }, + "disabled_reason": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Account.FutureRequirements.DisabledReason" } - } + ], + "nullable": true, + "description": "This is typed as an enum for consistency with `requirements.disabled_reason`." + }, + "errors": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Account.FutureRequirements.Error" + }, + "type": "array", + "nullable": true, + "description": "Fields that are `currently_due` and need to be collected again because validation or verification failed." + }, + "eventually_due": { + "items": { + "type": "string" + }, + "type": "array", + "nullable": true, + "description": "Fields you must collect when all thresholds are reached. As they become required, they appear in `currently_due` as well." + }, + "past_due": { + "items": { + "type": "string" + }, + "type": "array", + "nullable": true, + "description": "Fields that weren't collected by `requirements.current_deadline`. These fields need to be collected to enable the capability on the account. New fields will never appear here; `future_requirements.past_due` will always be a subset of `requirements.past_due`." + }, + "pending_verification": { + "items": { + "type": "string" + }, + "type": "array", + "nullable": true, + "description": "Fields that might become required depending on the results of verification or review. It's an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due` or `currently_due`. Fields might appear in `eventually_due` or `currently_due` and in `pending_verification` if verification fails but another verification is still pending." } }, - "tags": [ - "API Key" - ], - "security": [ - { - "api_key": [] - } + "required": [ + "alternatives", + "current_deadline", + "currently_due", + "disabled_reason", + "errors", + "eventually_due", + "past_due", + "pending_verification" ], - "parameters": [] - } - }, - "/v1/api-keys": { - "get": { - "operationId": "GetAPIKeys", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result__api_key_hash-string--api_key_name-string--created_at-string--governance-boolean--id-number--key_permissions-string--organization_id-string--soft_delete-boolean--temp_key-boolean--updated_at-string--user_id-string_-Array.string_" - } - } - } + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Account.Groups": { + "properties": { + "payments_pricing": { + "type": "string", + "nullable": true, + "description": "The group the account is in to determine their payments pricing, and null if the account is on customized pricing. [See the Platform pricing tool documentation](https://stripe.com/docs/connect/platform-pricing-tools) for details." } }, - "tags": [ - "API Key" + "required": [ + "payments_pricing" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Person.AdditionalTosAcceptances.Account": { + "properties": { + "date": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The Unix timestamp marking when the legal guardian accepted the service agreement." + }, + "ip": { + "type": "string", + "nullable": true, + "description": "The IP address from which the legal guardian accepted the service agreement." + }, + "user_agent": { + "type": "string", + "nullable": true, + "description": "The user agent of the browser from which the legal guardian accepted the service agreement." } + }, + "required": [ + "date", + "ip", + "user_agent" ], - "parameters": [] + "type": "object", + "additionalProperties": false }, - "post": { - "operationId": "CreateAPIKey", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "properties": { - "hashedKey": { - "type": "string" - }, - "apiKey": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "hashedKey", - "apiKey", - "id" - ], - "type": "object" - }, - { - "properties": { - "error": { - "type": "string" - } - }, - "required": [ - "error" - ], - "type": "object" - } - ] - } + "stripe.Stripe.Person.AdditionalTosAcceptances": { + "properties": { + "account": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Person.AdditionalTosAcceptances.Account" } - } + ], + "nullable": true, + "description": "Details on the legal guardian's acceptance of the main Stripe service agreement." } }, - "tags": [ - "API Key" + "required": [ + "account" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Person.AddressKana": { + "properties": { + "city": { + "type": "string", + "nullable": true, + "description": "City/Ward." + }, + "country": { + "type": "string", + "nullable": true, + "description": "Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2))." + }, + "line1": { + "type": "string", + "nullable": true, + "description": "Block/Building number." + }, + "line2": { + "type": "string", + "nullable": true, + "description": "Building details." + }, + "postal_code": { + "type": "string", + "nullable": true, + "description": "ZIP or postal code." + }, + "state": { + "type": "string", + "nullable": true, + "description": "Prefecture." + }, + "town": { + "type": "string", + "nullable": true, + "description": "Town/cho-me." } + }, + "required": [ + "city", + "country", + "line1", + "line2", + "postal_code", + "state", + "town" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "key_permissions": { - "type": "string", - "enum": [ - "rw", - "r", - "w" - ] - }, - "api_key_name": { - "type": "string" - } - }, - "required": [ - "api_key_name" - ], - "type": "object" - } - } - } - } - } - }, - "/v1/api-keys/proxy-key": { - "post": { - "operationId": "CreateProxyKey", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "properties": { - "proxyKeyId": { - "type": "string" - }, - "proxyKey": { - "type": "string" - } - }, - "required": [ - "proxyKeyId", - "proxyKey" - ], - "type": "object" - }, - { - "properties": { - "error": { - "type": "string" - } - }, - "required": [ - "error" - ], - "type": "object" - } - ] - } - } - } + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Person.AddressKanji": { + "properties": { + "city": { + "type": "string", + "nullable": true, + "description": "City/Ward." + }, + "country": { + "type": "string", + "nullable": true, + "description": "Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2))." + }, + "line1": { + "type": "string", + "nullable": true, + "description": "Block/Building number." + }, + "line2": { + "type": "string", + "nullable": true, + "description": "Building details." + }, + "postal_code": { + "type": "string", + "nullable": true, + "description": "ZIP or postal code." + }, + "state": { + "type": "string", + "nullable": true, + "description": "Prefecture." + }, + "town": { + "type": "string", + "nullable": true, + "description": "Town/cho-me." } }, - "tags": [ - "API Key" + "required": [ + "city", + "country", + "line1", + "line2", + "postal_code", + "state", + "town" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Person.Dob": { + "properties": { + "day": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The day of birth, between 1 and 31." + }, + "month": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The month of birth, between 1 and 12." + }, + "year": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The four-digit year of birth." } + }, + "required": [ + "day", + "month", + "year" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "proxyKeyName": { - "type": "string" - }, - "providerKeyId": { - "type": "string" - } - }, - "required": [ - "proxyKeyName", - "providerKeyId" - ], - "type": "object" - } - } - } - } - } - }, - "/v1/api-keys/{apiKeyId}": { - "delete": { - "operationId": "DeleteAPIKey", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "properties": { - "hashedKey": { - "type": "string" - } - }, - "required": [ - "hashedKey" - ], - "type": "object" - }, - { - "properties": { - "error": { - "type": "string" - } - }, - "required": [ - "error" - ], - "type": "object" - } - ] - } - } - } + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Person.FutureRequirements.Alternative": { + "properties": { + "alternative_fields_due": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Fields that can be provided to satisfy all fields in `original_fields_due`." + }, + "original_fields_due": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Fields that are due and can be satisfied by providing all fields in `alternative_fields_due`." } }, - "tags": [ - "API Key" + "required": [ + "alternative_fields_due", + "original_fields_due" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Person.FutureRequirements.Error.Code": { + "type": "string", + "enum": [ + "invalid_address_city_state_postal_code", + "invalid_address_highway_contract_box", + "invalid_address_private_mailbox", + "invalid_business_profile_name", + "invalid_business_profile_name_denylisted", + "invalid_company_name_denylisted", + "invalid_dob_age_over_maximum", + "invalid_dob_age_under_18", + "invalid_dob_age_under_minimum", + "invalid_product_description_length", + "invalid_product_description_url_match", + "invalid_representative_country", + "invalid_statement_descriptor_business_mismatch", + "invalid_statement_descriptor_denylisted", + "invalid_statement_descriptor_length", + "invalid_statement_descriptor_prefix_denylisted", + "invalid_statement_descriptor_prefix_mismatch", + "invalid_street_address", + "invalid_tax_id", + "invalid_tax_id_format", + "invalid_tos_acceptance", + "invalid_url_denylisted", + "invalid_url_format", + "invalid_url_length", + "invalid_url_web_presence_detected", + "invalid_url_website_business_information_mismatch", + "invalid_url_website_empty", + "invalid_url_website_inaccessible", + "invalid_url_website_inaccessible_geoblocked", + "invalid_url_website_inaccessible_password_protected", + "invalid_url_website_incomplete", + "invalid_url_website_incomplete_cancellation_policy", + "invalid_url_website_incomplete_customer_service_details", + "invalid_url_website_incomplete_legal_restrictions", + "invalid_url_website_incomplete_refund_policy", + "invalid_url_website_incomplete_return_policy", + "invalid_url_website_incomplete_terms_and_conditions", + "invalid_url_website_incomplete_under_construction", + "invalid_url_website_other", + "invalid_value_other", + "verification_directors_mismatch", + "verification_document_address_mismatch", + "verification_document_address_missing", + "verification_document_corrupt", + "verification_document_country_not_supported", + "verification_document_directors_mismatch", + "verification_document_dob_mismatch", + "verification_document_duplicate_type", + "verification_document_expired", + "verification_document_failed_copy", + "verification_document_failed_greyscale", + "verification_document_failed_other", + "verification_document_failed_test_mode", + "verification_document_fraudulent", + "verification_document_id_number_mismatch", + "verification_document_id_number_missing", + "verification_document_incomplete", + "verification_document_invalid", + "verification_document_issue_or_expiry_date_missing", + "verification_document_manipulated", + "verification_document_missing_back", + "verification_document_missing_front", + "verification_document_name_mismatch", + "verification_document_name_missing", + "verification_document_nationality_mismatch", + "verification_document_not_readable", + "verification_document_not_signed", + "verification_document_not_uploaded", + "verification_document_photo_mismatch", + "verification_document_too_large", + "verification_document_type_not_supported", + "verification_extraneous_directors", + "verification_failed_address_match", + "verification_failed_business_iec_number", + "verification_failed_document_match", + "verification_failed_id_number_match", + "verification_failed_keyed_identity", + "verification_failed_keyed_match", + "verification_failed_name_match", + "verification_failed_other", + "verification_failed_representative_authority", + "verification_failed_residential_address", + "verification_failed_tax_id_match", + "verification_failed_tax_id_not_issued", + "verification_missing_directors", + "verification_missing_executives", + "verification_missing_owners", + "verification_requires_additional_memorandum_of_associations", + "verification_requires_additional_proof_of_registration", + "verification_supportability" + ] + }, + "stripe.Stripe.Person.FutureRequirements.Error": { + "properties": { + "code": { + "$ref": "#/components/schemas/stripe.Stripe.Person.FutureRequirements.Error.Code", + "description": "The code for the type of error." + }, + "reason": { + "type": "string", + "description": "An informative message that indicates the error type and provides additional details about the error." + }, + "requirement": { + "type": "string", + "description": "The specific user onboarding requirement field (in the requirements hash) that needs to be resolved." } + }, + "required": [ + "code", + "reason", + "requirement" ], - "parameters": [ - { - "in": "path", - "name": "apiKeyId", - "required": true, - "schema": { - "format": "double", - "type": "number" - } - } - ] + "type": "object", + "additionalProperties": false }, - "patch": { - "operationId": "UpdateAPIKey", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "properties": { - "hashedKey": { - "type": "string" - } - }, - "required": [ - "hashedKey" - ], - "type": "object" - }, - { - "properties": { - "error": { - "type": "string" - } - }, - "required": [ - "error" - ], - "type": "object" - } - ] - } - } - } + "stripe.Stripe.Person.FutureRequirements": { + "properties": { + "alternatives": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Person.FutureRequirements.Alternative" + }, + "type": "array", + "nullable": true, + "description": "Fields that are due and can be satisfied by providing the corresponding alternative fields instead." + }, + "currently_due": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Fields that need to be collected to keep the person's account enabled. If not collected by the account's `future_requirements[current_deadline]`, these fields will transition to the main `requirements` hash, and may immediately become `past_due`, but the account may also be given a grace period depending on the account's enablement state prior to transition." + }, + "errors": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Person.FutureRequirements.Error" + }, + "type": "array", + "description": "Fields that are `currently_due` and need to be collected again because validation or verification failed." + }, + "eventually_due": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Fields you must collect when all thresholds are reached. As they become required, they appear in `currently_due` as well, and the account's `future_requirements[current_deadline]` becomes set." + }, + "past_due": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Fields that weren't collected by the account's `requirements.current_deadline`. These fields need to be collected to enable the person's account. New fields will never appear here; `future_requirements.past_due` will always be a subset of `requirements.past_due`." + }, + "pending_verification": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Fields that might become required depending on the results of verification or review. It's an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due` or `currently_due`. Fields might appear in `eventually_due` or `currently_due` and in `pending_verification` if verification fails but another verification is still pending." } }, - "tags": [ - "API Key" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "apiKeyId", - "required": true, - "schema": { - "format": "double", - "type": "number" - } - } + "required": [ + "alternatives", + "currently_due", + "errors", + "eventually_due", + "past_due", + "pending_verification" ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "api_key_name": { - "type": "string" - } - }, - "required": [ - "api_key_name" - ], - "type": "object" - } - } - } - } - } - }, - "/v1/stripe/subscription/cost-for-prompts": { - "get": { - "operationId": "GetCostForPrompts", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "type": "number", - "format": "double" - } - } - } + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Person.PoliticalExposure": { + "type": "string", + "enum": [ + "existing", + "none" + ] + }, + "stripe.Stripe.Person.Relationship": { + "properties": { + "authorizer": { + "type": "boolean", + "nullable": true, + "description": "Whether the person is the authorizer of the account's representative." + }, + "director": { + "type": "boolean", + "nullable": true, + "description": "Whether the person is a director of the account's legal entity. Directors are typically members of the governing board of the company, or responsible for ensuring the company meets its regulatory obligations." + }, + "executive": { + "type": "boolean", + "nullable": true, + "description": "Whether the person has significant responsibility to control, manage, or direct the organization." + }, + "legal_guardian": { + "type": "boolean", + "nullable": true, + "description": "Whether the person is the legal guardian of the account's representative." + }, + "owner": { + "type": "boolean", + "nullable": true, + "description": "Whether the person is an owner of the account's legal entity." + }, + "percent_ownership": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The percent owned by the person of the account's legal entity." + }, + "representative": { + "type": "boolean", + "nullable": true, + "description": "Whether the person is authorized as the primary representative of the account. This is the person nominated by the business to provide information about themselves, and general information about the account. There can only be one representative at any given time. At the time the account is created, this person should be set to the person responsible for opening the account." + }, + "title": { + "type": "string", + "nullable": true, + "description": "The person's title (e.g., CEO, Support Engineer)." } }, - "tags": [ - "Stripe" - ], - "security": [ - { - "api_key": [] - } + "required": [ + "authorizer", + "director", + "executive", + "legal_guardian", + "owner", + "percent_ownership", + "representative", + "title" ], - "parameters": [] - } - }, - "/v1/stripe/subscription/cost-for-evals": { - "get": { - "operationId": "GetCostForEvals", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "type": "number", - "format": "double" - } - } - } + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Person.Requirements.Alternative": { + "properties": { + "alternative_fields_due": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Fields that can be provided to satisfy all fields in `original_fields_due`." + }, + "original_fields_due": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Fields that are due and can be satisfied by providing all fields in `alternative_fields_due`." } }, - "tags": [ - "Stripe" - ], - "security": [ - { - "api_key": [] - } + "required": [ + "alternative_fields_due", + "original_fields_due" ], - "parameters": [] - } - }, - "/v1/stripe/subscription/cost-for-experiments": { - "get": { - "operationId": "GetCostForExperiments", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "type": "number", - "format": "double" - } - } - } + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Person.Requirements.Error.Code": { + "type": "string", + "enum": [ + "invalid_address_city_state_postal_code", + "invalid_address_highway_contract_box", + "invalid_address_private_mailbox", + "invalid_business_profile_name", + "invalid_business_profile_name_denylisted", + "invalid_company_name_denylisted", + "invalid_dob_age_over_maximum", + "invalid_dob_age_under_18", + "invalid_dob_age_under_minimum", + "invalid_product_description_length", + "invalid_product_description_url_match", + "invalid_representative_country", + "invalid_statement_descriptor_business_mismatch", + "invalid_statement_descriptor_denylisted", + "invalid_statement_descriptor_length", + "invalid_statement_descriptor_prefix_denylisted", + "invalid_statement_descriptor_prefix_mismatch", + "invalid_street_address", + "invalid_tax_id", + "invalid_tax_id_format", + "invalid_tos_acceptance", + "invalid_url_denylisted", + "invalid_url_format", + "invalid_url_length", + "invalid_url_web_presence_detected", + "invalid_url_website_business_information_mismatch", + "invalid_url_website_empty", + "invalid_url_website_inaccessible", + "invalid_url_website_inaccessible_geoblocked", + "invalid_url_website_inaccessible_password_protected", + "invalid_url_website_incomplete", + "invalid_url_website_incomplete_cancellation_policy", + "invalid_url_website_incomplete_customer_service_details", + "invalid_url_website_incomplete_legal_restrictions", + "invalid_url_website_incomplete_refund_policy", + "invalid_url_website_incomplete_return_policy", + "invalid_url_website_incomplete_terms_and_conditions", + "invalid_url_website_incomplete_under_construction", + "invalid_url_website_other", + "invalid_value_other", + "verification_directors_mismatch", + "verification_document_address_mismatch", + "verification_document_address_missing", + "verification_document_corrupt", + "verification_document_country_not_supported", + "verification_document_directors_mismatch", + "verification_document_dob_mismatch", + "verification_document_duplicate_type", + "verification_document_expired", + "verification_document_failed_copy", + "verification_document_failed_greyscale", + "verification_document_failed_other", + "verification_document_failed_test_mode", + "verification_document_fraudulent", + "verification_document_id_number_mismatch", + "verification_document_id_number_missing", + "verification_document_incomplete", + "verification_document_invalid", + "verification_document_issue_or_expiry_date_missing", + "verification_document_manipulated", + "verification_document_missing_back", + "verification_document_missing_front", + "verification_document_name_mismatch", + "verification_document_name_missing", + "verification_document_nationality_mismatch", + "verification_document_not_readable", + "verification_document_not_signed", + "verification_document_not_uploaded", + "verification_document_photo_mismatch", + "verification_document_too_large", + "verification_document_type_not_supported", + "verification_extraneous_directors", + "verification_failed_address_match", + "verification_failed_business_iec_number", + "verification_failed_document_match", + "verification_failed_id_number_match", + "verification_failed_keyed_identity", + "verification_failed_keyed_match", + "verification_failed_name_match", + "verification_failed_other", + "verification_failed_representative_authority", + "verification_failed_residential_address", + "verification_failed_tax_id_match", + "verification_failed_tax_id_not_issued", + "verification_missing_directors", + "verification_missing_executives", + "verification_missing_owners", + "verification_requires_additional_memorandum_of_associations", + "verification_requires_additional_proof_of_registration", + "verification_supportability" + ] + }, + "stripe.Stripe.Person.Requirements.Error": { + "properties": { + "code": { + "$ref": "#/components/schemas/stripe.Stripe.Person.Requirements.Error.Code", + "description": "The code for the type of error." + }, + "reason": { + "type": "string", + "description": "An informative message that indicates the error type and provides additional details about the error." + }, + "requirement": { + "type": "string", + "description": "The specific user onboarding requirement field (in the requirements hash) that needs to be resolved." } }, - "tags": [ - "Stripe" - ], - "security": [ - { - "api_key": [] - } + "required": [ + "code", + "reason", + "requirement" ], - "parameters": [] - } - }, - "/v1/stripe/subscription/free/usage": { - "get": { - "operationId": "GetFreeUsage", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "type": "number", - "format": "double" - } - } - } + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Person.Requirements": { + "properties": { + "alternatives": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Person.Requirements.Alternative" + }, + "type": "array", + "nullable": true, + "description": "Fields that are due and can be satisfied by providing the corresponding alternative fields instead." + }, + "currently_due": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Fields that need to be collected to keep the person's account enabled. If not collected by the account's `current_deadline`, these fields appear in `past_due` as well, and the account is disabled." + }, + "errors": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Person.Requirements.Error" + }, + "type": "array", + "description": "Fields that are `currently_due` and need to be collected again because validation or verification failed." + }, + "eventually_due": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Fields you must collect when all thresholds are reached. As they become required, they appear in `currently_due` as well, and the account's `current_deadline` becomes set." + }, + "past_due": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Fields that weren't collected by the account's `current_deadline`. These fields need to be collected to enable the person's account." + }, + "pending_verification": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Fields that might become required depending on the results of verification or review. It's an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due`, `currently_due`, or `past_due`. Fields might appear in `eventually_due`, `currently_due`, or `past_due` and in `pending_verification` if verification fails but another verification is still pending." } }, - "tags": [ - "Stripe" - ], - "security": [ - { - "api_key": [] - } + "required": [ + "alternatives", + "currently_due", + "errors", + "eventually_due", + "past_due", + "pending_verification" ], - "parameters": [] - } - }, - "/v1/stripe/cloud/checkout-session": { - "post": { - "operationId": "CreateCloudGatewayCheckoutSession", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "properties": { - "checkoutUrl": { - "type": "string" - } - }, - "required": [ - "checkoutUrl" - ], - "type": "object" - } + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Person.Verification.AdditionalDocument": { + "properties": { + "back": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.File" } - } + ], + "nullable": true, + "description": "The back of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`." + }, + "details": { + "type": "string", + "nullable": true, + "description": "A user-displayable string describing the verification state of this document. For example, if a document is uploaded and the picture is too fuzzy, this may say \"Identity document is too unclear to read\"." + }, + "details_code": { + "type": "string", + "nullable": true, + "description": "One of `document_corrupt`, `document_country_not_supported`, `document_expired`, `document_failed_copy`, `document_failed_other`, `document_failed_test_mode`, `document_fraudulent`, `document_failed_greyscale`, `document_incomplete`, `document_invalid`, `document_manipulated`, `document_missing_back`, `document_missing_front`, `document_not_readable`, `document_not_uploaded`, `document_photo_mismatch`, `document_too_large`, or `document_type_not_supported`. A machine-readable code specifying the verification state for this document." + }, + "front": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.File" + } + ], + "nullable": true, + "description": "The front of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`." } }, - "tags": [ - "Stripe" - ], - "security": [ - { - "api_key": [] - } + "required": [ + "back", + "details", + "details_code", + "front" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateCloudGatewayCheckoutSessionRequest" + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Person.Verification.Document": { + "properties": { + "back": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.File" } - } - } - } - } - }, - "/v1/stripe/subscription/new-customer/upgrade-to-pro": { - "post": { - "operationId": "UpgradeToPro", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "type": "string" - } + ], + "nullable": true, + "description": "The back of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`." + }, + "details": { + "type": "string", + "nullable": true, + "description": "A user-displayable string describing the verification state of this document. For example, if a document is uploaded and the picture is too fuzzy, this may say \"Identity document is too unclear to read\"." + }, + "details_code": { + "type": "string", + "nullable": true, + "description": "One of `document_corrupt`, `document_country_not_supported`, `document_expired`, `document_failed_copy`, `document_failed_other`, `document_failed_test_mode`, `document_fraudulent`, `document_failed_greyscale`, `document_incomplete`, `document_invalid`, `document_manipulated`, `document_missing_back`, `document_missing_front`, `document_not_readable`, `document_not_uploaded`, `document_photo_mismatch`, `document_too_large`, or `document_type_not_supported`. A machine-readable code specifying the verification state for this document." + }, + "front": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.File" } - } + ], + "nullable": true, + "description": "The front of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`." } }, - "tags": [ - "Stripe" + "required": [ + "back", + "details", + "details_code", + "front" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Person.Verification": { + "properties": { + "additional_document": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Person.Verification.AdditionalDocument" + } + ], + "nullable": true, + "description": "A document showing address, either a passport, local ID card, or utility bill from a well-known utility company." + }, + "details": { + "type": "string", + "nullable": true, + "description": "A user-displayable string describing the verification state for the person. For example, this may say \"Provided identity information could not be verified\"." + }, + "details_code": { + "type": "string", + "nullable": true, + "description": "One of `document_address_mismatch`, `document_dob_mismatch`, `document_duplicate_type`, `document_id_number_mismatch`, `document_name_mismatch`, `document_nationality_mismatch`, `failed_keyed_identity`, or `failed_other`. A machine-readable code specifying the verification state for the person." + }, + "document": { + "$ref": "#/components/schemas/stripe.Stripe.Person.Verification.Document" + }, + "status": { + "type": "string", + "description": "The state of verification for the person. Possible values are `unverified`, `pending`, or `verified`." } + }, + "required": [ + "status" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpgradeToProRequest" + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Person": { + "description": "This is an object representing a person associated with a Stripe account.\n\nA platform cannot access a person for an account where [account.controller.requirement_collection](https://stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `stripe`, which includes Standard and Express accounts, after creating an Account Link or Account Session to start Connect onboarding.\n\nSee the [Standard onboarding](https://stripe.com/connect/standard-accounts) or [Express onboarding](https://stripe.com/connect/express-accounts) documentation for information about prefilling information and account onboarding steps. Learn more about [handling identity verification with the API](https://stripe.com/connect/handling-api-verification#person-information).", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the object." + }, + "object": { + "type": "string", + "enum": [ + "person" + ], + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." + }, + "account": { + "type": "string", + "description": "The account the person is associated with." + }, + "additional_tos_acceptances": { + "$ref": "#/components/schemas/stripe.Stripe.Person.AdditionalTosAcceptances" + }, + "address": { + "$ref": "#/components/schemas/stripe.Stripe.Address" + }, + "address_kana": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Person.AddressKana" } - } - } - } - } - }, - "/v1/stripe/subscription/existing-customer/upgrade-to-pro": { - "post": { - "operationId": "UpgradeExistingCustomer", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "type": "string" - } + ], + "nullable": true, + "description": "The Kana variation of the person's address (Japan only)." + }, + "address_kanji": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Person.AddressKanji" } - } + ], + "nullable": true, + "description": "The Kanji variation of the person's address (Japan only)." + }, + "created": { + "type": "number", + "format": "double", + "description": "Time at which the object was created. Measured in seconds since the Unix epoch." + }, + "deleted": { + "description": "Always true for a deleted object" + }, + "dob": { + "$ref": "#/components/schemas/stripe.Stripe.Person.Dob" + }, + "email": { + "type": "string", + "nullable": true, + "description": "The person's email address." + }, + "first_name": { + "type": "string", + "nullable": true, + "description": "The person's first name." + }, + "first_name_kana": { + "type": "string", + "nullable": true, + "description": "The Kana variation of the person's first name (Japan only)." + }, + "first_name_kanji": { + "type": "string", + "nullable": true, + "description": "The Kanji variation of the person's first name (Japan only)." + }, + "full_name_aliases": { + "items": { + "type": "string" + }, + "type": "array", + "description": "A list of alternate names or aliases that the person is known by." + }, + "future_requirements": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Person.FutureRequirements" + } + ], + "nullable": true, + "description": "Information about the [upcoming new requirements for this person](https://stripe.com/docs/connect/custom-accounts/future-requirements), including what information needs to be collected, and by when." + }, + "gender": { + "type": "string", + "nullable": true, + "description": "The person's gender." + }, + "id_number_provided": { + "type": "boolean", + "description": "Whether the person's `id_number` was provided. True if either the full ID number was provided or if only the required part of the ID number was provided (ex. last four of an individual's SSN for the US indicated by `ssn_last_4_provided`)." + }, + "id_number_secondary_provided": { + "type": "boolean", + "description": "Whether the person's `id_number_secondary` was provided." + }, + "last_name": { + "type": "string", + "nullable": true, + "description": "The person's last name." + }, + "last_name_kana": { + "type": "string", + "nullable": true, + "description": "The Kana variation of the person's last name (Japan only)." + }, + "last_name_kanji": { + "type": "string", + "nullable": true, + "description": "The Kanji variation of the person's last name (Japan only)." + }, + "maiden_name": { + "type": "string", + "nullable": true, + "description": "The person's maiden name." + }, + "metadata": { + "$ref": "#/components/schemas/stripe.Stripe.Metadata", + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." + }, + "nationality": { + "type": "string", + "nullable": true, + "description": "The country where the person is a national." + }, + "phone": { + "type": "string", + "nullable": true, + "description": "The person's phone number." + }, + "political_exposure": { + "$ref": "#/components/schemas/stripe.Stripe.Person.PoliticalExposure", + "description": "Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction." + }, + "registered_address": { + "$ref": "#/components/schemas/stripe.Stripe.Address" + }, + "relationship": { + "$ref": "#/components/schemas/stripe.Stripe.Person.Relationship" + }, + "requirements": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Person.Requirements" + } + ], + "nullable": true, + "description": "Information about the requirements for this person, including what information needs to be collected, and by when." + }, + "ssn_last_4_provided": { + "type": "boolean", + "description": "Whether the last four digits of the person's Social Security number have been provided (U.S. only)." + }, + "verification": { + "$ref": "#/components/schemas/stripe.Stripe.Person.Verification" } }, - "tags": [ - "Stripe" - ], - "security": [ - { - "api_key": [] - } + "required": [ + "id", + "object", + "account", + "created" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpgradeToProRequest" - } - } - } - } - } - }, - "/v1/stripe/subscription/new-customer/upgrade-to-team-bundle": { - "post": { - "operationId": "UpgradeToTeamBundle", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "type": "string" - } - } - } + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Account.Requirements.Alternative": { + "properties": { + "alternative_fields_due": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Fields that can be provided to satisfy all fields in `original_fields_due`." + }, + "original_fields_due": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Fields that are due and can be satisfied by providing all fields in `alternative_fields_due`." } }, - "tags": [ - "Stripe" + "required": [ + "alternative_fields_due", + "original_fields_due" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Account.Requirements.DisabledReason": { + "type": "string", + "enum": [ + "action_required.requested_capabilities", + "listed", + "other", + "platform_paused", + "rejected.fraud", + "rejected.incomplete_verification", + "rejected.listed", + "rejected.other", + "rejected.platform_fraud", + "rejected.platform_other", + "rejected.platform_terms_of_service", + "rejected.terms_of_service", + "requirements.past_due", + "requirements.pending_verification", + "under_review" + ] + }, + "stripe.Stripe.Account.Requirements.Error.Code": { + "type": "string", + "enum": [ + "invalid_address_city_state_postal_code", + "invalid_address_highway_contract_box", + "invalid_address_private_mailbox", + "invalid_business_profile_name", + "invalid_business_profile_name_denylisted", + "invalid_company_name_denylisted", + "invalid_dob_age_over_maximum", + "invalid_dob_age_under_18", + "invalid_dob_age_under_minimum", + "invalid_product_description_length", + "invalid_product_description_url_match", + "invalid_representative_country", + "invalid_statement_descriptor_business_mismatch", + "invalid_statement_descriptor_denylisted", + "invalid_statement_descriptor_length", + "invalid_statement_descriptor_prefix_denylisted", + "invalid_statement_descriptor_prefix_mismatch", + "invalid_street_address", + "invalid_tax_id", + "invalid_tax_id_format", + "invalid_tos_acceptance", + "invalid_url_denylisted", + "invalid_url_format", + "invalid_url_length", + "invalid_url_web_presence_detected", + "invalid_url_website_business_information_mismatch", + "invalid_url_website_empty", + "invalid_url_website_inaccessible", + "invalid_url_website_inaccessible_geoblocked", + "invalid_url_website_inaccessible_password_protected", + "invalid_url_website_incomplete", + "invalid_url_website_incomplete_cancellation_policy", + "invalid_url_website_incomplete_customer_service_details", + "invalid_url_website_incomplete_legal_restrictions", + "invalid_url_website_incomplete_refund_policy", + "invalid_url_website_incomplete_return_policy", + "invalid_url_website_incomplete_terms_and_conditions", + "invalid_url_website_incomplete_under_construction", + "invalid_url_website_other", + "invalid_value_other", + "verification_directors_mismatch", + "verification_document_address_mismatch", + "verification_document_address_missing", + "verification_document_corrupt", + "verification_document_country_not_supported", + "verification_document_directors_mismatch", + "verification_document_dob_mismatch", + "verification_document_duplicate_type", + "verification_document_expired", + "verification_document_failed_copy", + "verification_document_failed_greyscale", + "verification_document_failed_other", + "verification_document_failed_test_mode", + "verification_document_fraudulent", + "verification_document_id_number_mismatch", + "verification_document_id_number_missing", + "verification_document_incomplete", + "verification_document_invalid", + "verification_document_issue_or_expiry_date_missing", + "verification_document_manipulated", + "verification_document_missing_back", + "verification_document_missing_front", + "verification_document_name_mismatch", + "verification_document_name_missing", + "verification_document_nationality_mismatch", + "verification_document_not_readable", + "verification_document_not_signed", + "verification_document_not_uploaded", + "verification_document_photo_mismatch", + "verification_document_too_large", + "verification_document_type_not_supported", + "verification_extraneous_directors", + "verification_failed_address_match", + "verification_failed_business_iec_number", + "verification_failed_document_match", + "verification_failed_id_number_match", + "verification_failed_keyed_identity", + "verification_failed_keyed_match", + "verification_failed_name_match", + "verification_failed_other", + "verification_failed_representative_authority", + "verification_failed_residential_address", + "verification_failed_tax_id_match", + "verification_failed_tax_id_not_issued", + "verification_missing_directors", + "verification_missing_executives", + "verification_missing_owners", + "verification_requires_additional_memorandum_of_associations", + "verification_requires_additional_proof_of_registration", + "verification_supportability" + ] + }, + "stripe.Stripe.Account.Requirements.Error": { + "properties": { + "code": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Requirements.Error.Code", + "description": "The code for the type of error." + }, + "reason": { + "type": "string", + "description": "An informative message that indicates the error type and provides additional details about the error." + }, + "requirement": { + "type": "string", + "description": "The specific user onboarding requirement field (in the requirements hash) that needs to be resolved." } + }, + "required": [ + "code", + "reason", + "requirement" ], - "parameters": [], - "requestBody": { - "required": false, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpgradeToTeamBundleRequest" - } - } - } - } - } - }, - "/v1/stripe/subscription/existing-customer/upgrade-to-team-bundle": { - "post": { - "operationId": "UpgradeExistingCustomerToTeamBundle", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "type": "string" - } + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Account.Requirements": { + "properties": { + "alternatives": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Requirements.Alternative" + }, + "type": "array", + "nullable": true, + "description": "Fields that are due and can be satisfied by providing the corresponding alternative fields instead." + }, + "current_deadline": { + "type": "number", + "format": "double", + "nullable": true, + "description": "Date by which the fields in `currently_due` must be collected to keep the account enabled. These fields may disable the account sooner if the next threshold is reached before they are collected." + }, + "currently_due": { + "items": { + "type": "string" + }, + "type": "array", + "nullable": true, + "description": "Fields that need to be collected to keep the account enabled. If not collected by `current_deadline`, these fields appear in `past_due` as well, and the account is disabled." + }, + "disabled_reason": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Account.Requirements.DisabledReason" } - } + ], + "nullable": true, + "description": "If the account is disabled, this enum describes why. [Learn more about handling verification issues](https://stripe.com/docs/connect/handling-api-verification)." + }, + "errors": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Requirements.Error" + }, + "type": "array", + "nullable": true, + "description": "Fields that are `currently_due` and need to be collected again because validation or verification failed." + }, + "eventually_due": { + "items": { + "type": "string" + }, + "type": "array", + "nullable": true, + "description": "Fields you must collect when all thresholds are reached. As they become required, they appear in `currently_due` as well, and `current_deadline` becomes set." + }, + "past_due": { + "items": { + "type": "string" + }, + "type": "array", + "nullable": true, + "description": "Fields that weren't collected by `current_deadline`. These fields need to be collected to enable the account." + }, + "pending_verification": { + "items": { + "type": "string" + }, + "type": "array", + "nullable": true, + "description": "Fields that might become required depending on the results of verification or review. It's an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due`, `currently_due`, or `past_due`. Fields might appear in `eventually_due`, `currently_due`, or `past_due` and in `pending_verification` if verification fails but another verification is still pending." } }, - "tags": [ - "Stripe" + "required": [ + "alternatives", + "current_deadline", + "currently_due", + "disabled_reason", + "errors", + "eventually_due", + "past_due", + "pending_verification" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Account.Settings.BacsDebitPayments": { + "properties": { + "display_name": { + "type": "string", + "nullable": true, + "description": "The Bacs Direct Debit display name for this account. For payments made with Bacs Direct Debit, this name appears on the mandate as the statement descriptor. Mobile banking apps display it as the name of the business. To use custom branding, set the Bacs Direct Debit Display Name during or right after creation. Custom branding incurs an additional monthly fee for the platform. The fee appears 5 business days after requesting Bacs. If you don't set the display name before requesting Bacs capability, it's automatically set as \"Stripe\" and the account is onboarded to Stripe branding, which is free." + }, + "service_user_number": { + "type": "string", + "nullable": true, + "description": "The Bacs Direct Debit Service user number for this account. For payments made with Bacs Direct Debit, this number is a unique identifier of the account with our banking partners." } + }, + "required": [ + "display_name", + "service_user_number" ], - "parameters": [], - "requestBody": { - "required": false, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpgradeToTeamBundleRequest" + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Account.Settings.Branding": { + "properties": { + "icon": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.File" } - } - } - } - } - }, - "/v1/stripe/subscription/manage-subscription": { - "post": { - "operationId": "ManageSubscription", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "type": "string" - } + ], + "nullable": true, + "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) An icon for the account. Must be square and at least 128px x 128px." + }, + "logo": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.File" } - } + ], + "nullable": true, + "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) A logo for the account that will be used in Checkout instead of the icon and without the account's name next to it if provided. Must be at least 128px x 128px." + }, + "primary_color": { + "type": "string", + "nullable": true, + "description": "A CSS hex color value representing the primary branding color for this account" + }, + "secondary_color": { + "type": "string", + "nullable": true, + "description": "A CSS hex color value representing the secondary branding color for this account" } }, - "tags": [ - "Stripe" - ], - "security": [ - { - "api_key": [] - } + "required": [ + "icon", + "logo", + "primary_color", + "secondary_color" ], - "parameters": [] - } - }, - "/v1/stripe/subscription/undo-cancel-subscription": { - "post": { - "operationId": "UndoCancelSubscription", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - } - } + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Account.Settings.CardIssuing.TosAcceptance": { + "properties": { + "date": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The Unix timestamp marking when the account representative accepted the service agreement." + }, + "ip": { + "type": "string", + "nullable": true, + "description": "The IP address from which the account representative accepted the service agreement." + }, + "user_agent": { + "type": "string", + "description": "The user agent of the browser from which the account representative accepted the service agreement." } }, - "tags": [ - "Stripe" - ], - "security": [ - { - "api_key": [] - } + "required": [ + "date", + "ip" ], - "parameters": [] - } - }, - "/v1/stripe/subscription/add-ons/{productType}": { - "post": { - "operationId": "AddOns", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - } - } + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Account.Settings.CardIssuing": { + "properties": { + "tos_acceptance": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Settings.CardIssuing.TosAcceptance" } }, - "tags": [ - "Stripe" - ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Account.Settings.CardPayments.DeclineOn": { + "properties": { + "avs_failure": { + "type": "boolean", + "description": "Whether Stripe automatically declines charges with an incorrect ZIP or postal code. This setting only applies when a ZIP or postal code is provided and they fail bank verification." + }, + "cvc_failure": { + "type": "boolean", + "description": "Whether Stripe automatically declines charges with an incorrect CVC. This setting only applies when a CVC is provided and it fails bank verification." } + }, + "required": [ + "avs_failure", + "cvc_failure" ], - "parameters": [ - { - "in": "path", - "name": "productType", - "required": true, - "schema": { - "type": "string", - "enum": [ - "alerts", - "prompts", - "experiments", - "evals" - ] - } - } - ] + "type": "object", + "additionalProperties": false }, - "delete": { - "operationId": "DeleteAddOns", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - } - } + "stripe.Stripe.Account.Settings.CardPayments": { + "properties": { + "decline_on": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Settings.CardPayments.DeclineOn" + }, + "statement_descriptor_prefix": { + "type": "string", + "nullable": true, + "description": "The default text that appears on credit card statements when a charge is made. This field prefixes any dynamic `statement_descriptor` specified on the charge. `statement_descriptor_prefix` is useful for maximizing descriptor space for the dynamic portion." + }, + "statement_descriptor_prefix_kana": { + "type": "string", + "nullable": true, + "description": "The Kana variation of the default text that appears on credit card statements when a charge is made (Japan only). This field prefixes any dynamic `statement_descriptor_suffix_kana` specified on the charge. `statement_descriptor_prefix_kana` is useful for maximizing descriptor space for the dynamic portion." + }, + "statement_descriptor_prefix_kanji": { + "type": "string", + "nullable": true, + "description": "The Kanji variation of the default text that appears on credit card statements when a charge is made (Japan only). This field prefixes any dynamic `statement_descriptor_suffix_kanji` specified on the charge. `statement_descriptor_prefix_kanji` is useful for maximizing descriptor space for the dynamic portion." } }, - "tags": [ - "Stripe" + "required": [ + "statement_descriptor_prefix", + "statement_descriptor_prefix_kana", + "statement_descriptor_prefix_kanji" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Account.Settings.Dashboard": { + "properties": { + "display_name": { + "type": "string", + "nullable": true, + "description": "The display name for this account. This is used on the Stripe Dashboard to differentiate between accounts." + }, + "timezone": { + "type": "string", + "nullable": true, + "description": "The timezone used in the Stripe Dashboard for this account. A list of possible time zone values is maintained at the [IANA Time Zone Database](http://www.iana.org/time-zones)." } + }, + "required": [ + "display_name", + "timezone" ], - "parameters": [ - { - "in": "path", - "name": "productType", - "required": true, - "schema": { - "type": "string", - "enum": [ - "alerts", - "prompts", - "experiments", - "evals" - ] - } - } - ] - } - }, - "/v1/stripe/subscription/preview-invoice": { - "get": { - "operationId": "PreviewInvoice", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "properties": { - "evaluators_usage": { - "items": { - "$ref": "#/components/schemas/LLMUsage" - }, - "type": "array" - }, - "experiments_usage": { - "items": { - "$ref": "#/components/schemas/LLMUsage" - }, - "type": "array" - }, - "total": { - "type": "number", - "format": "double" - }, - "tax": { - "type": "number", - "format": "double", - "nullable": true - }, - "subtotal": { - "type": "number", - "format": "double" - }, - "discount": { - "properties": { - "coupon": { - "properties": { - "amount_off": { - "type": "number", - "format": "double", - "nullable": true - }, - "percent_off": { - "type": "number", - "format": "double", - "nullable": true - }, - "name": { - "type": "string", - "nullable": true - } - }, - "required": [ - "amount_off", - "percent_off", - "name" - ], - "type": "object" - } - }, - "required": [ - "coupon" - ], - "type": "object", - "nullable": true - }, - "lines": { - "properties": { - "data": { - "items": { - "properties": { - "description": { - "type": "string", - "nullable": true - }, - "amount": { - "type": "number", - "format": "double", - "nullable": true - }, - "id": { - "type": "string", - "nullable": true - } - }, - "required": [ - "description", - "amount", - "id" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "data" - ], - "type": "object", - "nullable": true - }, - "next_payment_attempt": { - "type": "number", - "format": "double", - "nullable": true - }, - "currency": { - "type": "string", - "nullable": true - } - }, - "required": [ - "evaluators_usage", - "experiments_usage", - "total", - "tax", - "subtotal", - "discount", - "lines", - "next_payment_attempt", - "currency" - ], - "type": "object", - "nullable": true + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Account.Settings.Invoices": { + "properties": { + "default_account_tax_ids": { + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.TaxId" } - } - } + ] + }, + "type": "array", + "nullable": true, + "description": "The list of default Account Tax IDs to automatically include on invoices. Account Tax IDs get added when an invoice is finalized." } }, - "tags": [ - "Stripe" + "required": [ + "default_account_tax_ids" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Account.Settings.Payments": { + "properties": { + "statement_descriptor": { + "type": "string", + "nullable": true, + "description": "The default text that appears on credit card statements when a charge is made. This field prefixes any dynamic `statement_descriptor` specified on the charge." + }, + "statement_descriptor_kana": { + "type": "string", + "nullable": true, + "description": "The Kana variation of `statement_descriptor` used for charges in Japan. Japanese statement descriptors have [special requirements](https://docs.stripe.com/get-started/account/statement-descriptors#set-japanese-statement-descriptors)." + }, + "statement_descriptor_kanji": { + "type": "string", + "nullable": true, + "description": "The Kanji variation of `statement_descriptor` used for charges in Japan. Japanese statement descriptors have [special requirements](https://docs.stripe.com/get-started/account/statement-descriptors#set-japanese-statement-descriptors)." + }, + "statement_descriptor_prefix_kana": { + "type": "string", + "nullable": true, + "description": "The Kana variation of `statement_descriptor_prefix` used for card charges in Japan. Japanese statement descriptors have [special requirements](https://docs.stripe.com/get-started/account/statement-descriptors#set-japanese-statement-descriptors)." + }, + "statement_descriptor_prefix_kanji": { + "type": "string", + "nullable": true, + "description": "The Kanji variation of `statement_descriptor_prefix` used for card charges in Japan. Japanese statement descriptors have [special requirements](https://docs.stripe.com/get-started/account/statement-descriptors#set-japanese-statement-descriptors)." } + }, + "required": [ + "statement_descriptor", + "statement_descriptor_kana", + "statement_descriptor_kanji", + "statement_descriptor_prefix_kana", + "statement_descriptor_prefix_kanji" ], - "parameters": [] - } - }, - "/v1/stripe/subscription/cancel-subscription": { - "post": { - "operationId": "CancelSubscription", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - } - } + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Account.Settings.Payouts.Schedule": { + "properties": { + "delay_days": { + "type": "number", + "format": "double", + "description": "The number of days charges for the account will be held before being paid out." + }, + "interval": { + "type": "string", + "description": "How frequently funds will be paid out. One of `manual` (payouts only created via API call), `daily`, `weekly`, or `monthly`." + }, + "monthly_anchor": { + "type": "number", + "format": "double", + "description": "The day of the month funds will be paid out. Only shown if `interval` is monthly. Payouts scheduled between the 29th and 31st of the month are sent on the last day of shorter months." + }, + "weekly_anchor": { + "type": "string", + "description": "The day of the week funds will be paid out, of the style 'monday', 'tuesday', etc. Only shown if `interval` is weekly." } }, - "tags": [ - "Stripe" + "required": [ + "delay_days", + "interval" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Account.Settings.Payouts": { + "properties": { + "debit_negative_balances": { + "type": "boolean", + "description": "A Boolean indicating if Stripe should try to reclaim negative balances from an attached bank account. See [Understanding Connect account balances](https://stripe.com/connect/account-balances) for details. The default value is `false` when [controller.requirement_collection](https://stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts, otherwise `true`." + }, + "schedule": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Settings.Payouts.Schedule" + }, + "statement_descriptor": { + "type": "string", + "nullable": true, + "description": "The text that appears on the bank account statement for payouts. If not set, this defaults to the platform's bank descriptor as set in the Dashboard." } + }, + "required": [ + "debit_negative_balances", + "schedule", + "statement_descriptor" ], - "parameters": [] - } - }, - "/v1/stripe/subscription/migrate-to-pro": { - "post": { - "operationId": "MigrateToPro", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": {} - } - } + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Account.Settings.SepaDebitPayments": { + "properties": { + "creditor_id": { + "type": "string", + "description": "SEPA creditor identifier that identifies the company making the payment." } }, - "tags": [ - "Stripe" + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Account.Settings.Treasury.TosAcceptance": { + "properties": { + "date": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The Unix timestamp marking when the account representative accepted the service agreement." + }, + "ip": { + "type": "string", + "nullable": true, + "description": "The IP address from which the account representative accepted the service agreement." + }, + "user_agent": { + "type": "string", + "description": "The user agent of the browser from which the account representative accepted the service agreement." + } + }, + "required": [ + "date", + "ip" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Account.Settings.Treasury": { + "properties": { + "tos_acceptance": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Settings.Treasury.TosAcceptance" + } + }, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Account.Settings": { + "properties": { + "bacs_debit_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Settings.BacsDebitPayments" + }, + "branding": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Settings.Branding" + }, + "card_issuing": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Settings.CardIssuing" + }, + "card_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Settings.CardPayments" + }, + "dashboard": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Settings.Dashboard" + }, + "invoices": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Settings.Invoices" + }, + "payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Settings.Payments" + }, + "payouts": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Settings.Payouts" + }, + "sepa_debit_payments": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Settings.SepaDebitPayments" + }, + "treasury": { + "$ref": "#/components/schemas/stripe.Stripe.Account.Settings.Treasury" } + }, + "required": [ + "branding", + "card_payments", + "dashboard", + "payments" ], - "parameters": [] - } - }, - "/v1/stripe/payment-intents/search": { - "get": { - "operationId": "SearchPaymentIntents", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/StripePaymentIntentsResponse" - } + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Account.TosAcceptance": { + "properties": { + "date": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The Unix timestamp marking when the account representative accepted their service agreement" + }, + "ip": { + "type": "string", + "nullable": true, + "description": "The IP address from which the account representative accepted their service agreement" + }, + "service_agreement": { + "type": "string", + "description": "The user's service agreement type" + }, + "user_agent": { + "type": "string", + "nullable": true, + "description": "The user agent of the browser from which the account representative accepted their service agreement" + } + }, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Account.Type": { + "type": "string", + "enum": [ + "custom", + "express", + "none", + "standard" + ] + }, + "stripe.Stripe.Subscription.AutomaticTax.Liability.Type": { + "type": "string", + "enum": [ + "account", + "self" + ] + }, + "stripe.Stripe.Subscription.AutomaticTax.Liability": { + "properties": { + "account": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Account" } - } + ], + "description": "The connected account being referenced when `type` is `account`." + }, + "type": { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.AutomaticTax.Liability.Type", + "description": "Type of the account referenced." } }, - "tags": [ - "Stripe" + "required": [ + "type" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Subscription.AutomaticTax": { + "properties": { + "disabled_reason": { + "type": "string", + "enum": [ + "requires_location_inputs", + null + ], + "nullable": true, + "description": "If Stripe disabled automatic tax, this enum describes why." + }, + "enabled": { + "type": "boolean", + "description": "Whether Stripe automatically computes tax on this subscription." + }, + "liability": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.AutomaticTax.Liability" + } + ], + "nullable": true, + "description": "The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account." } + }, + "required": [ + "disabled_reason", + "enabled", + "liability" ], - "parameters": [ - { - "in": "query", - "name": "search_kind", - "required": true, - "schema": { - "type": "string" - } + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Subscription.BillingCycleAnchorConfig": { + "properties": { + "day_of_month": { + "type": "number", + "format": "double", + "description": "The day of the month of the billing_cycle_anchor." }, - { - "in": "query", - "name": "limit", - "required": false, - "schema": { - "format": "double", - "type": "number" - } + "hour": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The hour of the day of the billing_cycle_anchor." }, - { - "in": "query", - "name": "page", - "required": false, - "schema": { - "type": "string" - } + "minute": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The minute of the hour of the billing_cycle_anchor." + }, + "month": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The month to start full cycle billing periods." + }, + "second": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The second of the minute of the billing_cycle_anchor." } - ] - } - }, - "/v1/stripe/subscription": { - "get": { - "operationId": "GetSubscription", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "properties": { - "items": { - "items": { - "properties": { - "price": { - "properties": { - "product": { - "properties": { - "name": { - "type": "string", - "nullable": true - } - }, - "required": [ - "name" - ], - "type": "object", - "nullable": true - } - }, - "required": [ - "product" - ], - "type": "object" - }, - "quantity": { - "type": "number", - "format": "double" - } - }, - "required": [ - "price" - ], - "type": "object" - }, - "type": "array" - }, - "trial_end": { - "type": "number", - "format": "double", - "nullable": true - }, - "id": { - "type": "string" - }, - "current_period_start": { - "type": "number", - "format": "double" - }, - "current_period_end": { - "type": "number", - "format": "double" - }, - "cancel_at_period_end": { - "type": "boolean" - }, - "status": { - "type": "string" - } - }, - "required": [ - "items", - "trial_end", - "id", - "current_period_start", - "current_period_end", - "cancel_at_period_end", - "status" - ], - "type": "object", - "nullable": true - } + }, + "required": [ + "day_of_month", + "hour", + "minute", + "month", + "second" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Subscription.BillingThresholds": { + "properties": { + "amount_gte": { + "type": "number", + "format": "double", + "nullable": true, + "description": "Monetary threshold that triggers the subscription to create an invoice" + }, + "reset_billing_cycle_anchor": { + "type": "boolean", + "nullable": true, + "description": "Indicates if the `billing_cycle_anchor` should be reset when a threshold is reached. If true, `billing_cycle_anchor` will be updated to the date/time the threshold was last reached; otherwise, the value will remain unchanged. This value may not be `true` if the subscription contains items with plans that have `aggregate_usage=last_ever`." + } + }, + "required": [ + "amount_gte", + "reset_billing_cycle_anchor" + ], + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Subscription.CancellationDetails.Feedback": { + "type": "string", + "enum": [ + "customer_service", + "low_quality", + "missing_features", + "other", + "switched_service", + "too_complex", + "too_expensive", + "unused" + ] + }, + "stripe.Stripe.Subscription.CancellationDetails.Reason": { + "type": "string", + "enum": [ + "cancellation_requested", + "payment_disputed", + "payment_failed" + ] + }, + "stripe.Stripe.Subscription.CancellationDetails": { + "properties": { + "comment": { + "type": "string", + "nullable": true, + "description": "Additional comments about why the user canceled the subscription, if the subscription was canceled explicitly by the user." + }, + "feedback": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.CancellationDetails.Feedback" } - } + ], + "nullable": true, + "description": "The customer submitted reason for why they canceled, if the subscription was canceled explicitly by the user." + }, + "reason": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.CancellationDetails.Reason" + } + ], + "nullable": true, + "description": "Why this subscription was canceled." } }, - "tags": [ - "Stripe" - ], - "security": [ - { - "api_key": [] - } + "required": [ + "comment", + "feedback", + "reason" ], - "parameters": [] - } - }, - "/v1/stripe/auto-topoff/settings": { - "get": { - "operationId": "GetAutoTopoffSettings", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/AutoTopoffSettings" - } - ], - "nullable": true - } + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Subscription.CollectionMethod": { + "type": "string", + "enum": [ + "charge_automatically", + "send_invoice" + ] + }, + "stripe.Stripe.Subscription.InvoiceSettings.Issuer.Type": { + "type": "string", + "enum": [ + "account", + "self" + ] + }, + "stripe.Stripe.Subscription.InvoiceSettings.Issuer": { + "properties": { + "account": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Account" } - } + ], + "description": "The connected account being referenced when `type` is `account`." + }, + "type": { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.InvoiceSettings.Issuer.Type", + "description": "Type of the account referenced." } }, - "tags": [ - "Stripe" - ], - "security": [ - { - "api_key": [] - } + "required": [ + "type" ], - "parameters": [] + "type": "object", + "additionalProperties": false }, - "post": { - "operationId": "UpdateAutoTopoffSettings", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AutoTopoffSettings" + "stripe.Stripe.Subscription.InvoiceSettings": { + "properties": { + "account_tax_ids": { + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.TaxId" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedTaxId" } - } - } + ] + }, + "type": "array", + "nullable": true, + "description": "The account tax IDs associated with the subscription. Will be set on invoices generated by the subscription." + }, + "issuer": { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.InvoiceSettings.Issuer" } }, - "tags": [ - "Stripe" + "required": [ + "account_tax_ids", + "issuer" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.ApiList_stripe.Stripe.SubscriptionItem_": { + "description": "A container for paginated lists of objects.\nThe array of objects is on the `.data` property,\nand `.has_more` indicates whether there are additional objects beyond the end of this list.\n\nLearn more in Stripe's [pagination docs](https://stripe.com/docs/api/pagination?lang=node)\nor, when iterating over many items, try [auto-pagination](https://github.com/stripe/stripe-node#auto-pagination) instead.", + "properties": { + "object": { + "type": "string", + "enum": [ + "list" + ], + "nullable": false + }, + "data": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.SubscriptionItem" + }, + "type": "array" + }, + "has_more": { + "type": "boolean", + "description": "True if this list has another page of items after this one that can be fetched." + }, + "url": { + "type": "string", + "description": "The URL where this list can be accessed." } + }, + "required": [ + "object", + "data", + "has_more", + "url" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateAutoTopoffSettingsRequest" - } - } + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Subscription.PauseCollection.Behavior": { + "type": "string", + "enum": [ + "keep_as_draft", + "mark_uncollectible", + "void" + ] + }, + "stripe.Stripe.Subscription.PauseCollection": { + "properties": { + "behavior": { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.PauseCollection.Behavior", + "description": "The payment collection behavior for this subscription while paused. One of `keep_as_draft`, `mark_uncollectible`, or `void`." + }, + "resumes_at": { + "type": "number", + "format": "double", + "nullable": true, + "description": "The time after which the subscription will resume collecting payments." } - } + }, + "required": [ + "behavior", + "resumes_at" + ], + "type": "object", + "additionalProperties": false }, - "delete": { - "operationId": "DisableAutoTopoff", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "properties": { - "success": { - "type": "boolean" - } - }, - "required": [ - "success" - ], - "type": "object" - } + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.AcssDebit.MandateOptions.TransactionType": { + "type": "string", + "enum": [ + "business", + "personal" + ] + }, + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.AcssDebit.MandateOptions": { + "properties": { + "transaction_type": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.AcssDebit.MandateOptions.TransactionType" } - } + ], + "nullable": true, + "description": "Transaction type of the mandate." } }, - "tags": [ - "Stripe" + "required": [ + "transaction_type" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.AcssDebit.VerificationMethod": { + "type": "string", + "enum": [ + "automatic", + "instant", + "microdeposits" + ] + }, + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.AcssDebit": { + "properties": { + "mandate_options": { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.AcssDebit.MandateOptions" + }, + "verification_method": { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.AcssDebit.VerificationMethod", + "description": "Bank account verification method." } - ], - "parameters": [] - } - }, - "/v1/stripe/payment-methods": { - "get": { - "operationId": "GetPaymentMethods", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "items": { - "$ref": "#/components/schemas/PaymentMethod" - }, - "type": "array" - } - } - } + }, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Bancontact.PreferredLanguage": { + "type": "string", + "enum": [ + "de", + "en", + "fr", + "nl" + ] + }, + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Bancontact": { + "properties": { + "preferred_language": { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Bancontact.PreferredLanguage", + "description": "Preferred language of the Bancontact authorization page that the customer is redirected to." } }, - "tags": [ - "Stripe" + "required": [ + "preferred_language" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Card.MandateOptions.AmountType": { + "type": "string", + "enum": [ + "fixed", + "maximum" + ] + }, + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Card.MandateOptions": { + "properties": { + "amount": { + "type": "number", + "format": "double", + "nullable": true, + "description": "Amount to be charged for future payments." + }, + "amount_type": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Card.MandateOptions.AmountType" + } + ], + "nullable": true, + "description": "One of `fixed` or `maximum`. If `fixed`, the `amount` param refers to the exact amount to be charged in future payments. If `maximum`, the amount charged can be up to the value passed for the `amount` param." + }, + "description": { + "type": "string", + "nullable": true, + "description": "A description of the mandate or subscription that is meant to be displayed to the customer." } + }, + "required": [ + "amount", + "amount_type", + "description" ], - "parameters": [] - } - }, - "/v1/stripe/payment-methods/setup-session": { - "post": { - "operationId": "CreateSetupSession", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "properties": { - "setupUrl": { - "type": "string" - } - }, - "required": [ - "setupUrl" - ], - "type": "object" - } + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Card.Network": { + "type": "string", + "enum": [ + "amex", + "cartes_bancaires", + "diners", + "discover", + "eftpos_au", + "girocard", + "interac", + "jcb", + "link", + "mastercard", + "unionpay", + "unknown", + "visa" + ] + }, + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Card.RequestThreeDSecure": { + "type": "string", + "enum": [ + "any", + "automatic", + "challenge" + ] + }, + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Card": { + "properties": { + "mandate_options": { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Card.MandateOptions" + }, + "network": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Card.Network" } - } + ], + "nullable": true, + "description": "Selected network to process this Subscription on. Depends on the available networks of the card attached to the Subscription. Can be only set confirm-time." + }, + "request_three_d_secure": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Card.RequestThreeDSecure" + } + ], + "nullable": true, + "description": "We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine." } }, - "tags": [ - "Stripe" + "required": [ + "network", + "request_three_d_secure" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer.Country": { + "type": "string", + "enum": [ + "BE", + "DE", + "ES", + "FR", + "IE", + "NL" + ] + }, + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer": { + "properties": { + "country": { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer.Country", + "description": "The desired country code of the bank account information. Permitted values include: `BE`, `DE`, `ES`, `FR`, `IE`, or `NL`." } + }, + "required": [ + "country" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateSetupSessionRequest" - } - } - } - } - } - }, - "/v1/stripe/payment-methods/{paymentMethodId}": { - "delete": { - "operationId": "RemovePaymentMethod", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "properties": { - "success": { - "type": "boolean" - } - }, - "required": [ - "success" - ], - "type": "object" - } - } - } + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer": { + "properties": { + "eu_bank_transfer": { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer" + }, + "type": { + "type": "string", + "nullable": true, + "description": "The bank transfer type that can be used for funding. Permitted values include: `eu_bank_transfer`, `gb_bank_transfer`, `jp_bank_transfer`, `mx_bank_transfer`, or `us_bank_transfer`." } }, - "tags": [ - "Stripe" + "required": [ + "type" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.CustomerBalance": { + "properties": { + "bank_transfer": { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.CustomerBalance.BankTransfer" + }, + "funding_type": { + "type": "string", + "enum": [ + "bank_transfer", + null + ], + "nullable": true, + "description": "The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`." } + }, + "required": [ + "funding_type" ], - "parameters": [ - { - "in": "path", - "name": "paymentMethodId", - "required": true, - "schema": { - "type": "string" - } + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Konbini": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.SepaDebit": { + "properties": {}, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters.AccountSubcategory": { + "type": "string", + "enum": [ + "checking", + "savings" + ] + }, + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters": { + "properties": { + "account_subcategories": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters.AccountSubcategory" + }, + "type": "array", + "description": "The account subcategories to use to filter for possible accounts to link. Valid subcategories are `checking` and `savings`." } + }, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Permission": { + "type": "string", + "enum": [ + "balances", + "ownership", + "payment_method", + "transactions" ] - } - }, - "/v1/stripe/subscription/usage-stats": { - "get": { - "operationId": "GetUsageStats", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/UsageStatsResponse" - } - ], - "nullable": true - } - } - } + }, + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Prefetch": { + "type": "string", + "enum": [ + "balances", + "ownership", + "transactions" + ] + }, + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections": { + "properties": { + "filters": { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters" + }, + "permissions": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Permission" + }, + "type": "array", + "description": "The list of permissions to request. The `payment_method` permission must be included." + }, + "prefetch": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections.Prefetch" + }, + "type": "array", + "nullable": true, + "description": "Data features requested to be retrieved upon account creation." } }, - "tags": [ - "Stripe" + "required": [ + "prefetch" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.VerificationMethod": { + "type": "string", + "enum": [ + "automatic", + "instant", + "microdeposits" + ] + }, + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount": { + "properties": { + "financial_connections": { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.FinancialConnections" + }, + "verification_method": { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount.VerificationMethod", + "description": "Bank account verification method." } - ], - "parameters": [] - } - }, - "/v1/organization": { - "get": { - "operationId": "GetOrganizations", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result__40_Database-at-public_91_Tables_93_-at-organization_91_Row_93_-and-_role-string__41_-Array.string_" - } + }, + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions": { + "properties": { + "acss_debit": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.AcssDebit" } - } + ], + "nullable": true, + "description": "This sub-hash contains details about the Canadian pre-authorized debit payment method options to pass to invoices created by the subscription." + }, + "bancontact": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Bancontact" + } + ], + "nullable": true, + "description": "This sub-hash contains details about the Bancontact payment method options to pass to invoices created by the subscription." + }, + "card": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Card" + } + ], + "nullable": true, + "description": "This sub-hash contains details about the Card payment method options to pass to invoices created by the subscription." + }, + "customer_balance": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.CustomerBalance" + } + ], + "nullable": true, + "description": "This sub-hash contains details about the Bank transfer payment method options to pass to invoices created by the subscription." + }, + "konbini": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.Konbini" + } + ], + "nullable": true, + "description": "This sub-hash contains details about the Konbini payment method options to pass to invoices created by the subscription." + }, + "sepa_debit": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.SepaDebit" + } + ], + "nullable": true, + "description": "This sub-hash contains details about the SEPA Direct Debit payment method options to pass to invoices created by the subscription." + }, + "us_bank_account": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions.UsBankAccount" + } + ], + "nullable": true, + "description": "This sub-hash contains details about the ACH direct debit payment method options to pass to invoices created by the subscription." } }, - "tags": [ - "Organization" - ], - "security": [ - { - "api_key": [] - } + "required": [ + "acss_debit", + "bancontact", + "card", + "customer_balance", + "konbini", + "sepa_debit", + "us_bank_account" ], - "parameters": [] - } - }, - "/v1/organization/models": { - "get": { - "operationId": "GetModels", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result__model-string_-Array.string_" - } + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Subscription.PaymentSettings.PaymentMethodType": { + "type": "string", + "enum": [ + "ach_credit_transfer", + "ach_debit", + "acss_debit", + "amazon_pay", + "au_becs_debit", + "bacs_debit", + "bancontact", + "boleto", + "card", + "cashapp", + "customer_balance", + "eps", + "fpx", + "giropay", + "grabpay", + "ideal", + "jp_credit_transfer", + "kakao_pay", + "konbini", + "kr_card", + "link", + "multibanco", + "naver_pay", + "p24", + "payco", + "paynow", + "paypal", + "promptpay", + "revolut_pay", + "sepa_credit_transfer", + "sepa_debit", + "sofort", + "swish", + "us_bank_account", + "wechat_pay" + ] + }, + "stripe.Stripe.Subscription.PaymentSettings.SaveDefaultPaymentMethod": { + "type": "string", + "enum": [ + "off", + "on_subscription" + ] + }, + "stripe.Stripe.Subscription.PaymentSettings": { + "properties": { + "payment_method_options": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodOptions" } - } + ], + "nullable": true, + "description": "Payment-method-specific configuration to provide to invoices created by the subscription." + }, + "payment_method_types": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.PaymentMethodType" + }, + "type": "array", + "nullable": true, + "description": "The list of payment method types to provide to every invoice created by the subscription. If not set, Stripe attempts to automatically determine the types to use by looking at the invoice's default payment method, the subscription's default payment method, the customer's default payment method, and your [invoice template settings](https://dashboard.stripe.com/settings/billing/invoice)." + }, + "save_default_payment_method": { + "allOf": [ + { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.PaymentSettings.SaveDefaultPaymentMethod" + } + ], + "nullable": true, + "description": "Configure whether Stripe updates `subscription.default_payment_method` when payment succeeds. Defaults to `off`." } }, - "tags": [ - "Organization" - ], - "security": [ - { - "api_key": [] - } + "required": [ + "payment_method_options", + "payment_method_types", + "save_default_payment_method" ], - "parameters": [] - } - }, - "/v1/organization/{organizationId}": { - "get": { - "operationId": "GetOrganization", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_Database-at-public_91_Tables_93_-at-organization_91_Row_93_.string_" - } - } - } + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Subscription.PendingInvoiceItemInterval.Interval": { + "type": "string", + "enum": [ + "day", + "month", + "week", + "year" + ] + }, + "stripe.Stripe.Subscription.PendingInvoiceItemInterval": { + "properties": { + "interval": { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.PendingInvoiceItemInterval.Interval", + "description": "Specifies invoicing frequency. Either `day`, `week`, `month` or `year`." + }, + "interval_count": { + "type": "number", + "format": "double", + "description": "The number of intervals between invoices. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks)." } }, - "tags": [ - "Organization" + "required": [ + "interval", + "interval_count" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Subscription.PendingUpdate": { + "properties": { + "billing_cycle_anchor": { + "type": "number", + "format": "double", + "nullable": true, + "description": "If the update is applied, determines the date of the first full invoice, and, for plans with `month` or `year` intervals, the day of the month for subsequent invoices. The timestamp is in UTC format." + }, + "expires_at": { + "type": "number", + "format": "double", + "description": "The point after which the changes reflected by this update will be discarded and no longer applied." + }, + "subscription_items": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.SubscriptionItem" + }, + "type": "array", + "nullable": true, + "description": "List of subscription items, each with an attached plan, that will be set if the update is applied." + }, + "trial_end": { + "type": "number", + "format": "double", + "nullable": true, + "description": "Unix timestamp representing the end of the trial period the customer will get before being charged for the first time, if the update is applied." + }, + "trial_from_plan": { + "type": "boolean", + "nullable": true, + "description": "Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `trial_end` is not allowed. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more." } + }, + "required": [ + "billing_cycle_anchor", + "expires_at", + "subscription_items", + "trial_end", + "trial_from_plan" ], - "parameters": [ - { - "in": "path", - "name": "organizationId", - "required": true, - "schema": { - "type": "string" - } - } + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Subscription.Status": { + "type": "string", + "enum": [ + "active", + "canceled", + "incomplete", + "incomplete_expired", + "past_due", + "paused", + "trialing", + "unpaid" ] - } - }, - "/v1/organization/reseller/{resellerId}": { - "get": { - "operationId": "GetReseller", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_unknown_" - }, - { - "$ref": "#/components/schemas/ResultError_unknown_" - } - ] - } + }, + "stripe.Stripe.Subscription.TransferData": { + "properties": { + "amount_percent": { + "type": "number", + "format": "double", + "nullable": true, + "description": "A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount is transferred to the destination." + }, + "destination": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Account" } - } - } - }, - "tags": [ - "Organization" - ], - "security": [ - { - "api_key": [] + ], + "description": "The account where funds from the payment will be transferred to upon payment success." } + }, + "required": [ + "amount_percent", + "destination" ], - "parameters": [ - { - "in": "path", - "name": "resellerId", - "required": true, - "schema": { - "type": "string" - } - } + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Subscription.TrialSettings.EndBehavior.MissingPaymentMethod": { + "type": "string", + "enum": [ + "cancel", + "create_invoice", + "pause" ] - } - }, - "/v1/organization/user/accept_terms": { - "post": { - "operationId": "AcceptTerms", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } - } - } + }, + "stripe.Stripe.Subscription.TrialSettings.EndBehavior": { + "properties": { + "missing_payment_method": { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.TrialSettings.EndBehavior.MissingPaymentMethod", + "description": "Indicates how the subscription should change when the trial ends if the user did not provide a payment method." } }, - "tags": [ - "Organization" + "required": [ + "missing_payment_method" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "stripe.Stripe.Subscription.TrialSettings": { + "properties": { + "end_behavior": { + "$ref": "#/components/schemas/stripe.Stripe.Subscription.TrialSettings.EndBehavior", + "description": "Defines how a subscription behaves when a free trial ends." } + }, + "required": [ + "end_behavior" ], - "parameters": [] - } - }, - "/v1/organization/create": { - "post": { - "operationId": "CreateNewOrganization", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_string.string_" + "type": "object", + "additionalProperties": false + }, + "Record_string.stripe.Stripe.Discount_": { + "properties": {}, + "additionalProperties": { + "$ref": "#/components/schemas/stripe.Stripe.Discount" + }, + "type": "object", + "description": "Construct a type with a set of properties K of type T" + }, + "Pick_stripe.Stripe.Invoice.Exclude_keyofstripe.Stripe.Invoice.id__": { + "properties": { + "number": { + "type": "string", + "description": "A unique, identifying string that appears on emails sent to the customer for this invoice. This starts with the customer's unique invoice_prefix if it is specified." + }, + "object": { + "type": "string", + "enum": [ + "invoice" + ], + "nullable": false, + "description": "String representing the object's type. Objects of the same type share the same value." + }, + "status": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.Status", + "description": "The status of the invoice, one of `draft`, `open`, `paid`, `uncollectible`, or `void`. [Learn more](https://stripe.com/docs/billing/invoices/workflow#workflow-overview)" + }, + "application": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Application" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedApplication" + } + ], + "description": "ID of the Connect Application that created the invoice." + }, + "subscription": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Subscription" + } + ], + "description": "The subscription that this invoice was prepared for, if any." + }, + "customer": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Customer" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedCustomer" + } + ], + "description": "The ID of the customer who will be billed." + }, + "deleted": { + "description": "Always true for a deleted object" + }, + "issuer": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.Issuer" + }, + "charge": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Charge" + } + ], + "description": "ID of the latest charge generated for this invoice, if any." + }, + "paid": { + "type": "boolean", + "description": "Whether payment was successfully collected for this invoice. An invoice can be paid (most commonly) with a charge or with credit from the customer's account balance." + }, + "discount": { + "$ref": "#/components/schemas/stripe.Stripe.Discount", + "description": "Describes the current discount applied to this invoice, if there is one. Not populated if there are multiple discounts." + }, + "account_country": { + "type": "string", + "description": "The country of the business associated with this invoice, most often the business creating the invoice." + }, + "account_name": { + "type": "string", + "description": "The public name of the business associated with this invoice, most often the business creating the invoice." + }, + "account_tax_ids": { + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.TaxId" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedTaxId" } + ] + }, + "type": "array", + "description": "The account tax IDs associated with the invoice. Only editable when the invoice is a draft." + }, + "amount_due": { + "type": "number", + "format": "double", + "description": "Final amount due at this time for this invoice. If the invoice's total is smaller than the minimum charge amount, for example, or if there is account credit that can be applied to the invoice, the `amount_due` may be 0. If there is a positive `starting_balance` for the invoice (the customer owes money), the `amount_due` will also take that into account. The charge that gets generated for the invoice will be for the amount specified in `amount_due`." + }, + "amount_paid": { + "type": "number", + "format": "double", + "description": "The amount, in cents (or local equivalent), that was paid." + }, + "amount_remaining": { + "type": "number", + "format": "double", + "description": "The difference between amount_due and amount_paid, in cents (or local equivalent)." + }, + "amount_shipping": { + "type": "number", + "format": "double", + "description": "This is the sum of all the shipping amounts." + }, + "application_fee_amount": { + "type": "number", + "format": "double", + "description": "The fee in cents (or local equivalent) that will be applied to the invoice and transferred to the application owner's Stripe account when the invoice is paid." + }, + "attempt_count": { + "type": "number", + "format": "double", + "description": "Number of payment attempts made for this invoice, from the perspective of the payment retry schedule. Any payment attempt counts as the first attempt, and subsequently only automatic retries increment the attempt count. In other words, manual payment attempts after the first attempt do not affect the retry schedule. If a failure is returned with a non-retryable return code, the invoice can no longer be retried unless a new payment method is obtained. Retries will continue to be scheduled, and attempt_count will continue to increment, but retries will only be executed if a new payment method is obtained." + }, + "attempted": { + "type": "boolean", + "description": "Whether an attempt has been made to pay the invoice. An invoice is not attempted until 1 hour after the `invoice.created` webhook, for example, so you might not want to display that invoice as unpaid to your users." + }, + "auto_advance": { + "type": "boolean", + "description": "Controls whether Stripe performs [automatic collection](https://stripe.com/docs/invoicing/integration/automatic-advancement-collection) of the invoice. If `false`, the invoice's state doesn't automatically advance without an explicit action." + }, + "automatic_tax": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.AutomaticTax" + }, + "automatically_finalizes_at": { + "type": "number", + "format": "double", + "description": "The time when this invoice is currently scheduled to be automatically finalized. The field will be `null` if the invoice is not scheduled to finalize in the future. If the invoice is not in the draft state, this field will always be `null` - see `finalized_at` for the time when an already-finalized invoice was finalized." + }, + "billing_reason": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.BillingReason", + "description": "Indicates the reason why the invoice was created.\n\n* `manual`: Unrelated to a subscription, for example, created via the invoice editor.\n* `subscription`: No longer in use. Applies to subscriptions from before May 2018 where no distinction was made between updates, cycles, and thresholds.\n* `subscription_create`: A new subscription was created.\n* `subscription_cycle`: A subscription advanced into a new period.\n* `subscription_threshold`: A subscription reached a billing threshold.\n* `subscription_update`: A subscription was updated.\n* `upcoming`: Reserved for simulated invoices, per the upcoming invoice endpoint." + }, + "collection_method": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.CollectionMethod", + "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this invoice using the default source attached to the customer. When sending an invoice, Stripe will email this invoice to the customer with payment instructions." + }, + "created": { + "type": "number", + "format": "double", + "description": "Time at which the object was created. Measured in seconds since the Unix epoch." + }, + "currency": { + "type": "string", + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies)." + }, + "custom_fields": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.CustomField" + }, + "type": "array", + "description": "Custom fields displayed on the invoice." + }, + "customer_address": { + "$ref": "#/components/schemas/stripe.Stripe.Address", + "description": "The customer's address. Until the invoice is finalized, this field will equal `customer.address`. Once the invoice is finalized, this field will no longer be updated." + }, + "customer_email": { + "type": "string", + "description": "The customer's email. Until the invoice is finalized, this field will equal `customer.email`. Once the invoice is finalized, this field will no longer be updated." + }, + "customer_name": { + "type": "string", + "description": "The customer's name. Until the invoice is finalized, this field will equal `customer.name`. Once the invoice is finalized, this field will no longer be updated." + }, + "customer_phone": { + "type": "string", + "description": "The customer's phone number. Until the invoice is finalized, this field will equal `customer.phone`. Once the invoice is finalized, this field will no longer be updated." + }, + "customer_shipping": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.CustomerShipping", + "description": "The customer's shipping information. Until the invoice is finalized, this field will equal `customer.shipping`. Once the invoice is finalized, this field will no longer be updated." + }, + "customer_tax_exempt": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.CustomerTaxExempt", + "description": "The customer's tax exempt status. Until the invoice is finalized, this field will equal `customer.tax_exempt`. Once the invoice is finalized, this field will no longer be updated." + }, + "customer_tax_ids": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.CustomerTaxId" + }, + "type": "array", + "description": "The customer's tax IDs. Until the invoice is finalized, this field will contain the same tax IDs as `customer.tax_ids`. Once the invoice is finalized, this field will no longer be updated." + }, + "default_payment_method": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentMethod" } - } - } - }, - "tags": [ - "Organization" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NewOrganizationParams" + ], + "description": "ID of the default payment method for the invoice. It must belong to the customer associated with the invoice. If not set, defaults to the subscription's default payment method, if any, or to the default payment method in the customer's invoice settings." + }, + "default_source": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.CustomerSource" } - } - } - } - } - }, - "/v1/organization/{organizationId}/update": { - "post": { - "operationId": "UpdateOrganization", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" + ], + "description": "ID of the default payment source for the invoice. It must belong to the customer associated with the invoice and be in a chargeable state. If not set, defaults to the subscription's default source, if any, or to the customer's default source." + }, + "default_tax_rates": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.TaxRate" + }, + "type": "array", + "description": "The tax rates applied to this invoice, if any." + }, + "description": { + "type": "string", + "description": "An arbitrary string attached to the object. Often useful for displaying to users. Referenced as 'memo' in the Dashboard." + }, + "discounts": { + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Discount" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.DeletedDiscount" } + ] + }, + "type": "array", + "description": "The discounts applied to the invoice. Line item discounts are applied before invoice discounts. Use `expand[]=discounts` to expand each discount." + }, + "due_date": { + "type": "number", + "format": "double", + "description": "The date on which payment for this invoice is due. This value will be `null` for invoices where `collection_method=charge_automatically`." + }, + "effective_at": { + "type": "number", + "format": "double", + "description": "The date when this invoice is in effect. Same as `finalized_at` unless overwritten. When defined, this value replaces the system-generated 'Date of issue' printed on the invoice PDF and receipt." + }, + "ending_balance": { + "type": "number", + "format": "double", + "description": "Ending customer balance after the invoice is finalized. Invoices are finalized approximately an hour after successful webhook delivery or when payment collection is attempted for the invoice. If the invoice has not been finalized yet, this will be null." + }, + "footer": { + "type": "string", + "description": "Footer displayed on the invoice." + }, + "from_invoice": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.FromInvoice", + "description": "Details of the invoice that was cloned. See the [revision documentation](https://stripe.com/docs/invoicing/invoice-revisions) for more details." + }, + "hosted_invoice_url": { + "type": "string", + "description": "The URL for the hosted invoice page, which allows customers to view and pay an invoice. If the invoice has not been finalized yet, this will be null." + }, + "invoice_pdf": { + "type": "string", + "description": "The link to download the PDF for the invoice. If the invoice has not been finalized yet, this will be null." + }, + "last_finalization_error": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.LastFinalizationError", + "description": "The error encountered during the previous attempt to finalize the invoice. This field is cleared when the invoice is successfully finalized." + }, + "latest_revision": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Invoice" } - } - } - }, - "tags": [ - "Organization" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "organizationId", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateOrganizationParams" + ], + "description": "The ID of the most recent non-draft revision of this invoice" + }, + "lines": { + "$ref": "#/components/schemas/stripe.Stripe.ApiList_stripe.Stripe.InvoiceLineItem_", + "description": "The individual line items that make up the invoice. `lines` is sorted as follows: (1) pending invoice items (including prorations) in reverse chronological order, (2) subscription items in reverse chronological order, and (3) invoice items added after invoice creation in chronological order." + }, + "livemode": { + "type": "boolean", + "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode." + }, + "metadata": { + "$ref": "#/components/schemas/stripe.Stripe.Metadata", + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format." + }, + "next_payment_attempt": { + "type": "number", + "format": "double", + "description": "The time at which payment will next be attempted. This value will be `null` for invoices where `collection_method=send_invoice`." + }, + "on_behalf_of": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Account" + } + ], + "description": "The account (if any) for which the funds of the invoice payment are intended. If set, the invoice will be presented with the branding and support information of the specified account. See the [Invoices with Connect](https://stripe.com/docs/billing/invoices/connect) documentation for details." + }, + "paid_out_of_band": { + "type": "boolean", + "description": "Returns true if the invoice was manually marked paid, returns false if the invoice hasn't been paid yet or was paid on Stripe." + }, + "payment_intent": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.PaymentIntent" + } + ], + "description": "The PaymentIntent associated with this invoice. The PaymentIntent is generated when the invoice is finalized, and can then be used to pay the invoice. Note that voiding an invoice will cancel the PaymentIntent." + }, + "payment_settings": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.PaymentSettings" + }, + "period_end": { + "type": "number", + "format": "double", + "description": "End of the usage period during which invoice items were added to this invoice. This looks back one period for a subscription invoice. Use the [line item period](https://stripe.com/api/invoices/line_item#invoice_line_item_object-period) to get the service period for each price." + }, + "period_start": { + "type": "number", + "format": "double", + "description": "Start of the usage period during which invoice items were added to this invoice. This looks back one period for a subscription invoice. Use the [line item period](https://stripe.com/api/invoices/line_item#invoice_line_item_object-period) to get the service period for each price." + }, + "post_payment_credit_notes_amount": { + "type": "number", + "format": "double", + "description": "Total amount of all post-payment credit notes issued for this invoice." + }, + "pre_payment_credit_notes_amount": { + "type": "number", + "format": "double", + "description": "Total amount of all pre-payment credit notes issued for this invoice." + }, + "quote": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.Quote" } - } - } - } - } - }, - "/v1/organization/onboard": { - "post": { - "operationId": "OnboardOrganization", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } + ], + "description": "The quote this invoice was generated from." + }, + "receipt_number": { + "type": "string", + "description": "This is the transaction number that appears on email receipts sent for this invoice." + }, + "rendering": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.Rendering", + "description": "The rendering-related settings that control how the invoice is displayed on customer-facing surfaces such as PDF and Hosted Invoice Page." + }, + "shipping_cost": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.ShippingCost", + "description": "The details of the cost of shipping, including the ShippingRate applied on the invoice." + }, + "shipping_details": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.ShippingDetails", + "description": "Shipping details for the invoice. The Invoice PDF will use the `shipping_details` value if it is set, otherwise the PDF will render the shipping address from the customer." + }, + "starting_balance": { + "type": "number", + "format": "double", + "description": "Starting customer balance before the invoice is finalized. If the invoice has not been finalized yet, this will be the current customer balance. For revision invoices, this also includes any customer balance that was applied to the original invoice." + }, + "statement_descriptor": { + "type": "string", + "description": "Extra information about an invoice for the customer's credit card statement." + }, + "status_transitions": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.StatusTransitions" + }, + "subscription_details": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.SubscriptionDetails", + "description": "Details about the subscription that created this invoice." + }, + "subscription_proration_date": { + "type": "number", + "format": "double", + "description": "Only set for upcoming invoices that preview prorations. The time used to calculate prorations." + }, + "subtotal": { + "type": "number", + "format": "double", + "description": "Total of all subscriptions, invoice items, and prorations on the invoice before any invoice level discount or exclusive tax is applied. Item discounts are already incorporated" + }, + "subtotal_excluding_tax": { + "type": "number", + "format": "double", + "description": "The integer amount in cents (or local equivalent) representing the subtotal of the invoice before any invoice level discount or tax is applied. Item discounts are already incorporated" + }, + "tax": { + "type": "number", + "format": "double", + "description": "The amount of tax on this invoice. This is the sum of all the tax amounts on this invoice." + }, + "test_clock": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/stripe.Stripe.TestHelpers.TestClock" } - } + ], + "description": "ID of the test clock this invoice belongs to." + }, + "threshold_reason": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.ThresholdReason" + }, + "total": { + "type": "number", + "format": "double", + "description": "Total after discounts and taxes." + }, + "total_discount_amounts": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.TotalDiscountAmount" + }, + "type": "array", + "description": "The aggregate amounts calculated per discount across all line items." + }, + "total_excluding_tax": { + "type": "number", + "format": "double", + "description": "The integer amount in cents (or local equivalent) representing the total amount of the invoice including all discounts but excluding all tax." + }, + "total_pretax_credit_amounts": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.TotalPretaxCreditAmount" + }, + "type": "array", + "description": "Contains pretax credit amounts (ex: discount, credit grants, etc) that apply to this invoice. This is a combined list of total_pretax_credit_amounts across all invoice line items." + }, + "total_tax_amounts": { + "items": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.TotalTaxAmount" + }, + "type": "array", + "description": "The aggregate amounts calculated per tax rate for all line items." + }, + "transfer_data": { + "$ref": "#/components/schemas/stripe.Stripe.Invoice.TransferData", + "description": "The account (if any) the payment will be attributed to for tax reporting, and where funds from the payment will be transferred to for the invoice." + }, + "webhooks_delivered_at": { + "type": "number", + "format": "double", + "description": "Invoices are automatically paid or sent 1 hour after webhooks are delivered, or until all webhook delivery attempts have [been exhausted](https://stripe.com/docs/billing/webhooks#understand). This field tracks the time when webhooks for this invoice were successfully delivered. If the invoice had no webhooks to deliver, this will be set while the invoice is being created." } }, - "tags": [ - "Organization" - ], - "security": [ - { - "api_key": [] - } + "required": [ + "number", + "object", + "status", + "application", + "subscription", + "customer", + "issuer", + "charge", + "paid", + "discount", + "account_country", + "account_name", + "account_tax_ids", + "amount_due", + "amount_paid", + "amount_remaining", + "amount_shipping", + "application_fee_amount", + "attempt_count", + "attempted", + "automatic_tax", + "automatically_finalizes_at", + "billing_reason", + "collection_method", + "created", + "currency", + "custom_fields", + "customer_address", + "customer_email", + "customer_name", + "customer_phone", + "customer_shipping", + "customer_tax_exempt", + "default_payment_method", + "default_source", + "default_tax_rates", + "description", + "discounts", + "due_date", + "effective_at", + "ending_balance", + "footer", + "from_invoice", + "last_finalization_error", + "latest_revision", + "lines", + "livemode", + "metadata", + "next_payment_attempt", + "on_behalf_of", + "paid_out_of_band", + "payment_intent", + "payment_settings", + "period_end", + "period_start", + "post_payment_credit_notes_amount", + "pre_payment_credit_notes_amount", + "quote", + "receipt_number", + "rendering", + "shipping_cost", + "shipping_details", + "starting_balance", + "statement_descriptor", + "status_transitions", + "subscription_details", + "subtotal", + "subtotal_excluding_tax", + "tax", + "test_clock", + "total", + "total_discount_amounts", + "total_excluding_tax", + "total_pretax_credit_amounts", + "total_tax_amounts", + "transfer_data", + "webhooks_delivered_at" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": {}, - "type": "object" - } - } - } - } - } - }, - "/v1/organization/{organizationId}/add_member": { - "post": { - "operationId": "AddMemberToOrganization", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result__temporaryPassword_63_-string_-or-null.string_" - } - } - } + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "Omit_stripe.Stripe.Invoice.id_": { + "$ref": "#/components/schemas/Pick_stripe.Stripe.Invoice.Exclude_keyofstripe.Stripe.Invoice.id__", + "description": "Construct a type with the properties of T except for those in type K." + }, + "stripe.Stripe.UpcomingInvoice": { + "$ref": "#/components/schemas/Omit_stripe.Stripe.Invoice.id_" + }, + "TextOperator": { + "description": "\nDO NOT EDIT THIS FILE UNLESS IT IS IN /costs", + "properties": { + "operator": { + "type": "string", + "enum": [ + "equals", + "startsWith", + "includes" + ] + }, + "value": { + "type": "string" } }, - "tags": [ - "Organization" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "organizationId", - "required": true, - "schema": { - "type": "string" - } - } + "required": [ + "operator", + "value" ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "email": { - "type": "string" - } - }, - "required": [ - "email" - ], - "type": "object" + "type": "object", + "additionalProperties": false + }, + "ModelRow": { + "properties": { + "model": { + "$ref": "#/components/schemas/TextOperator" + }, + "cost": { + "properties": { + "prompt_cache_creation_1h": { + "type": "number", + "format": "double" + }, + "prompt_cache_creation_5m": { + "type": "number", + "format": "double" + }, + "completion_audio_token": { + "type": "number", + "format": "double" + }, + "prompt_audio_token": { + "type": "number", + "format": "double" + }, + "prompt_cache_read_token": { + "type": "number", + "format": "double" + }, + "prompt_cache_write_token": { + "type": "number", + "format": "double" + }, + "per_call": { + "type": "number", + "format": "double" + }, + "per_image": { + "type": "number", + "format": "double" + }, + "completion_token": { + "type": "number", + "format": "double" + }, + "prompt_token": { + "type": "number", + "format": "double" } - } - } - } - } - }, - "/v1/organization/{organizationId}/create_filter": { - "post": { - "operationId": "CreateOrganizationFilter", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } + }, + "required": [ + "completion_token", + "prompt_token" + ], + "type": "object" + }, + "showInPlayground": { + "type": "boolean" + }, + "targetUrl": { + "type": "string" + }, + "dateRange": { + "properties": { + "end": { + "type": "string" + }, + "start": { + "type": "string" } - } + }, + "required": [ + "end", + "start" + ], + "type": "object" } }, - "tags": [ - "Organization" - ], - "security": [ - { - "api_key": [] - } + "required": [ + "model", + "cost" ], - "parameters": [ - { - "in": "path", - "name": "organizationId", - "required": true, - "schema": { - "type": "string" - } + "type": "object", + "additionalProperties": false + }, + "ModelWithProvider": { + "properties": { + "modelRow": { + "$ref": "#/components/schemas/ModelRow" + }, + "provider": { + "type": "string" } + }, + "required": [ + "modelRow", + "provider" ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "filterType": { - "type": "string", - "enum": [ - "dashboard", - "requests" - ] - }, - "filters": { - "items": { - "$ref": "#/components/schemas/OrganizationFilter" - }, - "type": "array" - } - }, - "required": [ - "filterType", - "filters" - ], - "type": "object" - } - } + "type": "object" + }, + "HelixThreadSummary": { + "properties": { + "id": { + "type": "string" + }, + "user_id": { + "type": "string" + }, + "org_id": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "escalated": { + "type": "boolean" + }, + "message_count": { + "type": "number", + "format": "double" + }, + "first_message": { + "type": "string", + "nullable": true + }, + "last_message": { + "type": "string", + "nullable": true + }, + "user_email": { + "type": "string", + "nullable": true + }, + "org_name": { + "type": "string", + "nullable": true + }, + "org_tier": { + "type": "string", + "nullable": true } - } - } - }, - "/v1/organization/{organizationId}/update_filter": { - "post": { - "operationId": "UpdateOrganizationFilter", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } - } - } + }, + "required": [ + "id", + "user_id", + "org_id", + "created_at", + "updated_at", + "escalated", + "message_count", + "first_message", + "last_message", + "user_email", + "org_name", + "org_tier" + ], + "type": "object", + "additionalProperties": false + }, + "HelixThreadListResponse": { + "properties": { + "threads": { + "items": { + "$ref": "#/components/schemas/HelixThreadSummary" + }, + "type": "array" + }, + "total": { + "type": "number", + "format": "double" } }, - "tags": [ - "Organization" + "required": [ + "threads", + "total" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_HelixThreadListResponse_": { + "properties": { + "data": { + "$ref": "#/components/schemas/HelixThreadListResponse" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } + }, + "required": [ + "data", + "error" ], - "parameters": [ + "type": "object", + "additionalProperties": false + }, + "Result_HelixThreadListResponse.string_": { + "anyOf": [ { - "in": "path", - "name": "organizationId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultSuccess_HelixThreadListResponse_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "filterType": { - "type": "string", - "enum": [ - "dashboard", - "requests" - ] - }, - "filters": { - "items": { - "$ref": "#/components/schemas/OrganizationFilter" - }, - "type": "array" - } - }, - "required": [ - "filterType", - "filters" - ], - "type": "object" - } - } + ] + }, + "HelixThreadDetail": { + "properties": { + "id": { + "type": "string" + }, + "chat": {}, + "user_id": { + "type": "string" + }, + "org_id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "escalated": { + "type": "boolean" + }, + "metadata": {}, + "updated_at": { + "type": "string" + }, + "soft_delete": { + "type": "boolean" + }, + "user_email": { + "type": "string", + "nullable": true } - } - } - }, - "/v1/organization/delete": { - "delete": { - "operationId": "DeleteOrganization", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } - } - } + }, + "required": [ + "id", + "chat", + "user_id", + "org_id", + "created_at", + "escalated", + "metadata", + "updated_at", + "soft_delete", + "user_email" + ], + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_HelixThreadDetail_": { + "properties": { + "data": { + "$ref": "#/components/schemas/HelixThreadDetail" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Organization" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_HelixThreadDetail.string_": { + "anyOf": [ { - "api_key": [] + "$ref": "#/components/schemas/ResultSuccess_HelixThreadDetail_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } - ], - "parameters": [] - } - }, - "/v1/organization/{organizationId}/layout": { - "get": { - "operationId": "GetOrganizationLayout", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_OrganizationLayout.string_" - } - } - } + ] + }, + "InAppThread": { + "properties": { + "id": { + "type": "string" + }, + "chat": {}, + "user_id": { + "type": "string" + }, + "org_id": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "escalated": { + "type": "boolean" + }, + "metadata": {}, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "soft_delete": { + "type": "boolean" } }, - "tags": [ - "Organization" + "required": [ + "id", + "chat", + "user_id", + "org_id", + "created_at", + "escalated", + "metadata", + "updated_at", + "soft_delete" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_InAppThread_": { + "properties": { + "data": { + "$ref": "#/components/schemas/InAppThread" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } + }, + "required": [ + "data", + "error" ], - "parameters": [ + "type": "object", + "additionalProperties": false + }, + "Result_InAppThread.string_": { + "anyOf": [ { - "in": "path", - "name": "organizationId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultSuccess_InAppThread_" }, { - "in": "query", - "name": "filterType", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultError_string_" } ] - } - }, - "/v1/organization/{organizationId}/members": { - "get": { - "operationId": "GetOrganizationMembers", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_OrganizationMember-Array.string_" - } + }, + "ResultSuccess__rows-Record_string.any_-Array--elapsedMilliseconds-number--size-number--rowCount-number__": { + "properties": { + "data": { + "properties": { + "rowCount": { + "type": "number", + "format": "double" + }, + "size": { + "type": "number", + "format": "double" + }, + "elapsedMilliseconds": { + "type": "number", + "format": "double" + }, + "rows": { + "items": { + "$ref": "#/components/schemas/Record_string.any_" + }, + "type": "array" } - } + }, + "required": [ + "rowCount", + "size", + "elapsedMilliseconds", + "rows" + ], + "type": "object" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Organization" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result__rows-Record_string.any_-Array--elapsedMilliseconds-number--size-number--rowCount-number_.string_": { + "anyOf": [ { - "api_key": [] - } - ], - "parameters": [ + "$ref": "#/components/schemas/ResultSuccess__rows-Record_string.any_-Array--elapsedMilliseconds-number--size-number--rowCount-number__" + }, { - "in": "path", - "name": "organizationId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultError_string_" } ] - } - }, - "/v1/organization/{organizationId}/update_member": { - "post": { - "operationId": "UpdateOrganizationMember", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } + }, + "Record_string.number_": { + "properties": {}, + "additionalProperties": { + "type": "number", + "format": "double" + }, + "type": "object", + "description": "Construct a type with a set of properties K of type T" + }, + "ResultSuccess__previousTier-string--newTier-string--subscriptionId-string__": { + "properties": { + "data": { + "properties": { + "subscriptionId": { + "type": "string" + }, + "newTier": { + "type": "string" + }, + "previousTier": { + "type": "string" } - } + }, + "required": [ + "subscriptionId", + "newTier", + "previousTier" + ], + "type": "object" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Organization" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result__previousTier-string--newTier-string--subscriptionId-string_.string_": { + "anyOf": [ { - "api_key": [] - } - ], - "parameters": [ + "$ref": "#/components/schemas/ResultSuccess__previousTier-string--newTier-string--subscriptionId-string__" + }, { - "in": "path", - "name": "organizationId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultError_string_" } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { + ] + }, + "ResultSuccess__previousTier-string--newTier-string--subscriptionId-string--usage_58__requests-number--storageBytes-number--storageMb-number--source-clickhouse-or-override_--backfillResult_58__requestsEvent-string--storageEvent-string___": { + "properties": { + "data": { + "properties": { + "backfillResult": { "properties": { - "memberId": { + "storageEvent": { "type": "string" }, - "role": { + "requestsEvent": { "type": "string" } }, "required": [ - "memberId", - "role" + "storageEvent", + "requestsEvent" ], "type": "object" - } - } - } - } - } - }, - "/v1/organization/{organizationId}/update_owner": { - "post": { - "operationId": "UpdateOrganizationOwner", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } - } - } - } - }, - "tags": [ - "Organization" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "organizationId", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { + }, + "usage": { "properties": { - "memberId": { - "type": "string" + "source": { + "type": "string", + "enum": [ + "clickhouse", + "override" + ] + }, + "storageMb": { + "type": "number", + "format": "double" + }, + "storageBytes": { + "type": "number", + "format": "double" + }, + "requests": { + "type": "number", + "format": "double" } }, "required": [ - "memberId" + "source", + "storageMb", + "storageBytes", + "requests" ], "type": "object" + }, + "subscriptionId": { + "type": "string" + }, + "newTier": { + "type": "string" + }, + "previousTier": { + "type": "string" } - } - } - } - } - }, - "/v1/organization/{organizationId}/owner": { - "get": { - "operationId": "GetOrganizationOwner", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_OrganizationOwner-Array.string_" - } - } - } + }, + "required": [ + "backfillResult", + "usage", + "subscriptionId", + "newTier", + "previousTier" + ], + "type": "object" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Organization" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result__previousTier-string--newTier-string--subscriptionId-string--usage_58__requests-number--storageBytes-number--storageMb-number--source-clickhouse-or-override_--backfillResult_58__requestsEvent-string--storageEvent-string__.string_": { + "anyOf": [ { - "api_key": [] - } - ], - "parameters": [ + "$ref": "#/components/schemas/ResultSuccess__previousTier-string--newTier-string--subscriptionId-string--usage_58__requests-number--storageBytes-number--storageMb-number--source-clickhouse-or-override_--backfillResult_58__requestsEvent-string--storageEvent-string___" + }, { - "in": "path", - "name": "organizationId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultError_string_" } ] - } - }, - "/v1/organization/{organizationId}/remove_member": { - "delete": { - "operationId": "RemoveMemberFromOrganization", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } + }, + "ResultSuccess__previousTier-string--newTier-string--subscriptionId-string--scheduleId-string--scheduledFor-string__": { + "properties": { + "data": { + "properties": { + "scheduledFor": { + "type": "string" + }, + "scheduleId": { + "type": "string" + }, + "subscriptionId": { + "type": "string" + }, + "newTier": { + "type": "string" + }, + "previousTier": { + "type": "string" } - } + }, + "required": [ + "scheduledFor", + "scheduleId", + "subscriptionId", + "newTier", + "previousTier" + ], + "type": "object" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Organization" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result__previousTier-string--newTier-string--subscriptionId-string--scheduleId-string--scheduledFor-string_.string_": { + "anyOf": [ { - "api_key": [] + "$ref": "#/components/schemas/ResultSuccess__previousTier-string--newTier-string--subscriptionId-string--scheduleId-string--scheduledFor-string__" + }, + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "ResultSuccess__id-string--name-string--tier-string--stripe_customer_id-string-or-null--stripe_subscription_id-string-or-null--subscription_status-string-or-null--owner_email-string-or-null--created_at-string__": { + "properties": { + "data": { + "properties": { + "created_at": { + "type": "string" + }, + "owner_email": { + "type": "string", + "nullable": true + }, + "subscription_status": { + "type": "string", + "nullable": true + }, + "stripe_subscription_id": { + "type": "string", + "nullable": true + }, + "stripe_customer_id": { + "type": "string", + "nullable": true + }, + "tier": { + "type": "string" + }, + "name": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "created_at", + "owner_email", + "subscription_status", + "stripe_subscription_id", + "stripe_customer_id", + "tier", + "name", + "id" + ], + "type": "object" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } + }, + "required": [ + "data", + "error" ], - "parameters": [ + "type": "object", + "additionalProperties": false + }, + "Result__id-string--name-string--tier-string--stripe_customer_id-string-or-null--stripe_subscription_id-string-or-null--subscription_status-string-or-null--owner_email-string-or-null--created_at-string_.string_": { + "anyOf": [ { - "in": "path", - "name": "organizationId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultSuccess__id-string--name-string--tier-string--stripe_customer_id-string-or-null--stripe_subscription_id-string-or-null--subscription_status-string-or-null--owner_email-string-or-null--created_at-string__" }, { - "in": "query", - "name": "memberId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultError_string_" } ] - } - }, - "/v1/organization/setup-demo": { - "post": { - "operationId": "SetupDemo", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } + }, + "ResultSuccess__message-string__": { + "properties": { + "data": { + "properties": { + "message": { + "type": "string" } - } + }, + "required": [ + "message" + ], + "type": "object" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Organization" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result__message-string_.string_": { + "anyOf": [ { - "api_key": [] + "$ref": "#/components/schemas/ResultSuccess__message-string__" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } - ], - "parameters": [] - } - }, - "/v1/organization/update_onboarding": { - "post": { - "operationId": "UpdateOnboardingStatus", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } + ] + }, + "ResultSuccess__message-string--previousTier-string__": { + "properties": { + "data": { + "properties": { + "previousTier": { + "type": "string" + }, + "message": { + "type": "string" } - } + }, + "required": [ + "previousTier", + "message" + ], + "type": "object" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Organization" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result__message-string--previousTier-string_.string_": { + "anyOf": [ { - "api_key": [] + "$ref": "#/components/schemas/ResultSuccess__message-string--previousTier-string__" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } - ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "name": { - "type": "string" - }, - "onboarding_status": { - "$ref": "#/components/schemas/OnboardingStatus" - } - }, - "required": [ - "name", - "onboarding_status" - ], - "type": "object" - } - } + ] + }, + "CreditBalanceResponse": { + "properties": { + "totalCreditsPurchased": { + "type": "number", + "format": "double" + }, + "balance": { + "type": "number", + "format": "double" } - } - } - }, - "/v1/evaluator": { - "post": { - "operationId": "CreateEvaluator", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_EvaluatorResult.string_" - } - } - } + }, + "required": [ + "totalCreditsPurchased", + "balance" + ], + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_CreditBalanceResponse_": { + "properties": { + "data": { + "$ref": "#/components/schemas/CreditBalanceResponse" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Evaluator" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_CreditBalanceResponse.string_": { + "anyOf": [ { - "api_key": [] + "$ref": "#/components/schemas/ResultSuccess_CreditBalanceResponse_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "PurchasedCredits": { + "properties": { + "id": { + "type": "string" + }, + "createdAt": { + "type": "number", + "format": "double" + }, + "credits": { + "type": "number", + "format": "double" + }, + "referenceId": { + "type": "string" } + }, + "required": [ + "id", + "createdAt", + "credits", + "referenceId" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateEvaluatorParams" - } - } + "type": "object", + "additionalProperties": false + }, + "PaginatedPurchasedCredits": { + "properties": { + "purchases": { + "items": { + "$ref": "#/components/schemas/PurchasedCredits" + }, + "type": "array" + }, + "total": { + "type": "number", + "format": "double" + }, + "page": { + "type": "number", + "format": "double" + }, + "pageSize": { + "type": "number", + "format": "double" } - } - } - }, - "/v1/evaluator/{evaluatorId}": { - "get": { - "operationId": "GetEvaluator", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_EvaluatorResult.string_" - } + }, + "required": [ + "purchases", + "total", + "page", + "pageSize" + ], + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_PaginatedPurchasedCredits_": { + "properties": { + "data": { + "$ref": "#/components/schemas/PaginatedPurchasedCredits" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true + } + }, + "required": [ + "data", + "error" + ], + "type": "object", + "additionalProperties": false + }, + "Result_PaginatedPurchasedCredits.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_PaginatedPurchasedCredits_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "ResultSuccess__totalSpend-number__": { + "properties": { + "data": { + "properties": { + "totalSpend": { + "type": "number", + "format": "double" } - } + }, + "required": [ + "totalSpend" + ], + "type": "object" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Evaluator" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result__totalSpend-number_.string_": { + "anyOf": [ { - "api_key": [] - } - ], - "parameters": [ + "$ref": "#/components/schemas/ResultSuccess__totalSpend-number__" + }, { - "in": "path", - "name": "evaluatorId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultError_string_" } ] }, - "put": { - "operationId": "UpdateEvaluator", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_EvaluatorResult.string_" - } + "ModelSpend": { + "properties": { + "model": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "promptTokens": { + "type": "number", + "format": "double" + }, + "completionTokens": { + "type": "number", + "format": "double" + }, + "cacheReadTokens": { + "type": "number", + "format": "double" + }, + "cacheWriteTokens": { + "type": "number", + "format": "double" + }, + "pricing": { + "properties": { + "cacheWritePer1M": { + "type": "number", + "format": "double" + }, + "cacheReadPer1M": { + "type": "number", + "format": "double" + }, + "outputPer1M": { + "type": "number", + "format": "double" + }, + "inputPer1M": { + "type": "number", + "format": "double" } - } + }, + "required": [ + "outputPer1M", + "inputPer1M" + ], + "type": "object", + "nullable": true + }, + "subtotal": { + "type": "number", + "format": "double" + }, + "discountPercent": { + "type": "number", + "format": "double" + }, + "total": { + "type": "number", + "format": "double" + }, + "cacheAdjustment": { + "type": "number", + "format": "double" } }, - "tags": [ - "Evaluator" + "required": [ + "model", + "provider", + "promptTokens", + "completionTokens", + "cacheReadTokens", + "cacheWriteTokens", + "pricing", + "subtotal", + "discountPercent", + "total" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "SpendBreakdownResponse": { + "properties": { + "models": { + "items": { + "$ref": "#/components/schemas/ModelSpend" + }, + "type": "array" + }, + "totalCost": { + "type": "number", + "format": "double" + }, + "timeRange": { + "properties": { + "end": { + "type": "string" + }, + "start": { + "type": "string" + } + }, + "required": [ + "end", + "start" + ], + "type": "object" } + }, + "required": [ + "models", + "totalCost", + "timeRange" ], - "parameters": [ - { - "in": "path", - "name": "evaluatorId", - "required": true, - "schema": { - "type": "string" - } + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_SpendBreakdownResponse_": { + "properties": { + "data": { + "$ref": "#/components/schemas/SpendBreakdownResponse" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } + }, + "required": [ + "data", + "error" ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateEvaluatorParams" - } - } + "type": "object", + "additionalProperties": false + }, + "Result_SpendBreakdownResponse.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_SpendBreakdownResponse_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } - } + ] }, - "delete": { - "operationId": "DeleteEvaluator", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } - } - } + "PTBInvoice": { + "properties": { + "id": { + "type": "string" + }, + "organizationId": { + "type": "string" + }, + "stripeInvoiceId": { + "type": "string", + "nullable": true + }, + "hostedInvoiceUrl": { + "type": "string", + "nullable": true + }, + "startDate": { + "type": "string" + }, + "endDate": { + "type": "string" + }, + "amountCents": { + "type": "number", + "format": "double" + }, + "subtotalCents": { + "type": "number", + "format": "double", + "nullable": true + }, + "notes": { + "type": "string", + "nullable": true + }, + "createdAt": { + "type": "string" } }, - "tags": [ - "Evaluator" + "required": [ + "id", + "organizationId", + "stripeInvoiceId", + "hostedInvoiceUrl", + "startDate", + "endDate", + "amountCents", + "subtotalCents", + "notes", + "createdAt" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_PTBInvoice-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/PTBInvoice" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } + }, + "required": [ + "data", + "error" ], - "parameters": [ + "type": "object", + "additionalProperties": false + }, + "Result_PTBInvoice-Array.string_": { + "anyOf": [ { - "in": "path", - "name": "evaluatorId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultSuccess_PTBInvoice-Array_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } ] - } - }, - "/v1/evaluator/query": { - "post": { - "operationId": "QueryEvaluators", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_EvaluatorResult-Array.string_" - } - } - } + }, + "OrgDiscount": { + "properties": { + "provider": { + "type": "string", + "nullable": true + }, + "model": { + "type": "string", + "nullable": true + }, + "percent": { + "type": "number", + "format": "double" } }, - "tags": [ - "Evaluator" + "required": [ + "provider", + "model", + "percent" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_OrgDiscount-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/OrgDiscount" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } + }, + "required": [ + "data", + "error" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": {}, - "type": "object" - } - } + "type": "object", + "additionalProperties": false + }, + "Result_OrgDiscount-Array.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_OrgDiscount-Array_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } - } - } - }, - "/v1/evaluator/{evaluatorId}/experiments": { - "get": { - "operationId": "GetExperimentsForEvaluator", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_EvaluatorExperiment-Array.string_" + ] + }, + "DashboardData": { + "properties": { + "organizations": { + "items": { + "properties": { + "walletProcessedEventsCount": { + "type": "number", + "format": "double" + }, + "walletDisallowedModelCount": { + "type": "number", + "format": "double" + }, + "walletTotalDebits": { + "type": "number", + "format": "double" + }, + "walletTotalCredits": { + "type": "number", + "format": "double" + }, + "walletEffectiveBalance": { + "type": "number", + "format": "double" + }, + "walletBalance": { + "type": "number", + "format": "double" + }, + "creditLimit": { + "type": "number", + "format": "double" + }, + "allowNegativeBalance": { + "type": "boolean" + }, + "ownerEmail": { + "type": "string" + }, + "tier": { + "type": "string" + }, + "lastPaymentDate": { + "type": "number", + "format": "double", + "nullable": true + }, + "clickhouseTotalSpend": { + "type": "number", + "format": "double" + }, + "paymentsCount": { + "type": "number", + "format": "double" + }, + "totalPayments": { + "type": "number", + "format": "double" + }, + "stripeCustomerId": { + "type": "string" + }, + "orgName": { + "type": "string" + }, + "orgId": { + "type": "string" } + }, + "required": [ + "creditLimit", + "allowNegativeBalance", + "ownerEmail", + "tier", + "lastPaymentDate", + "clickhouseTotalSpend", + "paymentsCount", + "totalPayments", + "stripeCustomerId", + "orgName", + "orgId" + ], + "type": "object" + }, + "type": "array" + }, + "summary": { + "properties": { + "totalCreditsSpent": { + "type": "number", + "format": "double" + }, + "totalCreditsIssued": { + "type": "number", + "format": "double" + }, + "totalOrgsWithCredits": { + "type": "number", + "format": "double" } - } + }, + "required": [ + "totalCreditsSpent", + "totalCreditsIssued", + "totalOrgsWithCredits" + ], + "type": "object" + }, + "isProduction": { + "type": "boolean" } }, - "tags": [ - "Evaluator" + "required": [ + "organizations", + "summary", + "isProduction" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_DashboardData_": { + "properties": { + "data": { + "$ref": "#/components/schemas/DashboardData" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } + }, + "required": [ + "data", + "error" ], - "parameters": [ + "type": "object", + "additionalProperties": false + }, + "Result_DashboardData.string_": { + "anyOf": [ { - "in": "path", - "name": "evaluatorId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultSuccess_DashboardData_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } ] - } - }, - "/v1/evaluator/{evaluatorId}/onlineEvaluators": { - "get": { - "operationId": "GetOnlineEvaluators", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_OnlineEvaluatorByEvaluatorId-Array.string_" + }, + "WalletState": { + "properties": { + "balance": { + "type": "number", + "format": "double" + }, + "effectiveBalance": { + "type": "number", + "format": "double" + }, + "totalCredits": { + "type": "number", + "format": "double" + }, + "totalDebits": { + "type": "number", + "format": "double" + }, + "totalEscrow": { + "type": "number", + "format": "double" + }, + "disallowList": { + "items": { + "properties": { + "model": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "helicone_request_id": { + "type": "string" } - } - } + }, + "required": [ + "model", + "provider", + "helicone_request_id" + ], + "type": "object" + }, + "type": "array" } }, - "tags": [ - "Evaluator" + "required": [ + "balance", + "effectiveBalance", + "totalCredits", + "totalDebits", + "totalEscrow", + "disallowList" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_WalletState_": { + "properties": { + "data": { + "$ref": "#/components/schemas/WalletState" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } + }, + "required": [ + "data", + "error" ], - "parameters": [ + "type": "object", + "additionalProperties": false + }, + "Result_WalletState.string_": { + "anyOf": [ { - "in": "path", - "name": "evaluatorId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultSuccess_WalletState_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } ] }, - "post": { - "operationId": "CreateOnlineEvaluator", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } + "TableDataResponse": { + "properties": { + "pageSize": { + "type": "number", + "format": "double" + }, + "data": { + "properties": { + "message": { + "type": "string" + }, + "page": { + "type": "number", + "format": "double" + }, + "total": { + "type": "number", + "format": "double" + }, + "data": { + "items": {}, + "type": "array" } - } + }, + "required": [ + "page", + "total", + "data" + ], + "type": "object" } }, - "tags": [ - "Evaluator" + "required": [ + "pageSize", + "data" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_TableDataResponse_": { + "properties": { + "data": { + "$ref": "#/components/schemas/TableDataResponse" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } + }, + "required": [ + "data", + "error" ], - "parameters": [ + "type": "object", + "additionalProperties": false + }, + "Result_TableDataResponse.string_": { + "anyOf": [ { - "in": "path", - "name": "evaluatorId", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateOnlineEvaluatorParams" - } - } + "$ref": "#/components/schemas/ResultSuccess_TableDataResponse_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } - } - } - }, - "/v1/evaluator/{evaluatorId}/onlineEvaluators/{onlineEvaluatorId}": { - "delete": { - "operationId": "DeleteOnlineEvaluator", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } + ] + }, + "ResultSuccess__allowNegativeBalance-boolean--creditLimit-number__": { + "properties": { + "data": { + "properties": { + "creditLimit": { + "type": "number", + "format": "double" + }, + "allowNegativeBalance": { + "type": "boolean" } - } + }, + "required": [ + "creditLimit", + "allowNegativeBalance" + ], + "type": "object" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Evaluator" - ], - "security": [ - { - "api_key": [] - } + "required": [ + "data", + "error" ], - "parameters": [ + "type": "object", + "additionalProperties": false + }, + "Result__allowNegativeBalance-boolean--creditLimit-number_.string_": { + "anyOf": [ { - "in": "path", - "name": "evaluatorId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultSuccess__allowNegativeBalance-boolean--creditLimit-number__" }, { - "in": "path", - "name": "onlineEvaluatorId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultError_string_" } ] - } - }, - "/v1/evaluator/python/test": { - "post": { - "operationId": "TestPythonEvaluator", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result__output-string--traces-string-Array--statusCode_63_-number_.string_" - } - } - } + }, + "TimeSeriesDataPoint": { + "properties": { + "timestamp": { + "type": "string" + }, + "amount": { + "type": "number", + "format": "double" } }, - "tags": [ - "Evaluator" + "required": [ + "timestamp", + "amount" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "TimeSeriesResponse": { + "properties": { + "deposits": { + "items": { + "$ref": "#/components/schemas/TimeSeriesDataPoint" + }, + "type": "array" + }, + "spend": { + "items": { + "$ref": "#/components/schemas/TimeSeriesDataPoint" + }, + "type": "array" } + }, + "required": [ + "deposits", + "spend" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "testInput": { - "$ref": "#/components/schemas/TestInput" - }, - "code": { - "type": "string" - } - }, - "required": [ - "testInput", - "code" - ], - "type": "object" - } - } - } - } - } - }, - "/v1/evaluator/llm/test": { - "post": { - "operationId": "TestLLMEvaluator", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EvaluatorScoreResult" - } - } - } + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_TimeSeriesResponse_": { + "properties": { + "data": { + "$ref": "#/components/schemas/TimeSeriesResponse" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Evaluator" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_TimeSeriesResponse.string_": { + "anyOf": [ { - "api_key": [] + "$ref": "#/components/schemas/ResultSuccess_TimeSeriesResponse_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } - ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "evaluatorName": { - "type": "string" - }, - "testInput": { - "$ref": "#/components/schemas/TestInput" - }, - "evaluatorConfig": { - "$ref": "#/components/schemas/EvaluatorConfig" - } - }, - "required": [ - "evaluatorName", - "testInput", - "evaluatorConfig" - ], - "type": "object" - } - } + ] + }, + "ResultSuccess_ModelSpend-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/ModelSpend" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } - } - } - }, - "/v1/evaluator/lastmile/test": { - "post": { - "operationId": "TestLastMileEvaluator", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result__score-number--input-string--output-string--ground_truth_63_-string_.string_" - } + }, + "required": [ + "data", + "error" + ], + "type": "object", + "additionalProperties": false + }, + "Result_ModelSpend-Array.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_ModelSpend-Array_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "ResultSuccess__deleted-boolean__": { + "properties": { + "data": { + "properties": { + "deleted": { + "type": "boolean" } - } + }, + "required": [ + "deleted" + ], + "type": "object" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Evaluator" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result__deleted-boolean_.string_": { + "anyOf": [ { - "api_key": [] - } - ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "testInput": { - "$ref": "#/components/schemas/TestInput" - }, - "config": { - "$ref": "#/components/schemas/LastMileConfigForm" - } - }, - "required": [ - "testInput", - "config" - ], - "type": "object" - } - } + "$ref": "#/components/schemas/ResultSuccess__deleted-boolean__" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } - } - } - }, - "/v1/evaluator/{evaluatorId}/stats": { - "get": { - "operationId": "GetEvaluatorStats", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_EvaluatorStats.string_" - } + ] + }, + "ResultSuccess__updated-boolean__": { + "properties": { + "data": { + "properties": { + "updated": { + "type": "boolean" } - } + }, + "required": [ + "updated" + ], + "type": "object" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Evaluator" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result__updated-boolean_.string_": { + "anyOf": [ { - "api_key": [] - } - ], - "parameters": [ + "$ref": "#/components/schemas/ResultSuccess__updated-boolean__" + }, { - "in": "path", - "name": "evaluatorId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultError_string_" } ] - } - }, - "/v1/prompt-2025/id/{promptId}": { - "get": { - "operationId": "GetPrompt2025", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_Prompt2025.string_" - } - } - } + }, + "InvoiceSummary": { + "properties": { + "totalSpendCents": { + "type": "number", + "format": "double" + }, + "totalInvoicedCents": { + "type": "number", + "format": "double" + }, + "uninvoicedBalanceCents": { + "type": "number", + "format": "double" + }, + "lastInvoiceEndDate": { + "type": "string", + "nullable": true } }, - "tags": [ - "Prompt2025" + "required": [ + "totalSpendCents", + "totalInvoicedCents", + "uninvoicedBalanceCents", + "lastInvoiceEndDate" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_InvoiceSummary_": { + "properties": { + "data": { + "$ref": "#/components/schemas/InvoiceSummary" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } + }, + "required": [ + "data", + "error" ], - "parameters": [ + "type": "object", + "additionalProperties": false + }, + "Result_InvoiceSummary.string_": { + "anyOf": [ { - "in": "path", - "name": "promptId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultSuccess_InvoiceSummary_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } ] - } - }, - "/v1/prompt-2025/id/{promptId}/rename": { - "post": { - "operationId": "RenamePrompt2025", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } - } - } + }, + "CreateInvoiceResponse": { + "properties": { + "invoiceId": { + "type": "string" + }, + "hostedInvoiceUrl": { + "type": "string", + "nullable": true + }, + "dashboardUrl": { + "type": "string" + }, + "amountCents": { + "type": "number", + "format": "double" + }, + "subtotalCents": { + "type": "number", + "format": "double" + }, + "ptbInvoiceId": { + "type": "string" } }, - "tags": [ - "Prompt2025" + "required": [ + "invoiceId", + "hostedInvoiceUrl", + "dashboardUrl", + "amountCents", + "subtotalCents", + "ptbInvoiceId" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_CreateInvoiceResponse_": { + "properties": { + "data": { + "$ref": "#/components/schemas/CreateInvoiceResponse" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } + }, + "required": [ + "data", + "error" ], - "parameters": [ + "type": "object", + "additionalProperties": false + }, + "Result_CreateInvoiceResponse.string_": { + "anyOf": [ { - "in": "path", - "name": "promptId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultSuccess_CreateInvoiceResponse_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "ConvertToWavResponse": { + "properties": { + "data": { + "type": "string", + "nullable": true + }, + "error": { + "type": "string", + "nullable": true + } + }, + "required": [ + "data", + "error" + ], + "type": "object", + "additionalProperties": false + }, + "ConvertToWavRequestBody": { + "properties": { + "audioData": { + "type": "string" } + }, + "required": [ + "audioData" ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "name": { - "type": "string" - } - }, - "required": [ - "name" - ], - "type": "object" + "type": "object", + "additionalProperties": false + }, + "ResultSuccess__url-string__": { + "properties": { + "data": { + "properties": { + "url": { + "type": "string" } - } + }, + "required": [ + "url" + ], + "type": "object" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } - } + }, + "required": [ + "data", + "error" + ], + "type": "object", + "additionalProperties": false + }, + "Result__url-string_.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess__url-string__" + }, + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] } }, - "/v1/prompt-2025/id/{promptId}/tags": { - "patch": { - "operationId": "UpdatePrompt2025Tags", + "securitySchemes": { + "api_key": { + "type": "apiKey", + "name": "Authorization", + "in": "header", + "description": "Bearer token authentication. Format: 'Bearer YOUR_API_KEY'" + } + } + }, + "info": { + "title": "helicone-api", + "version": "1.0.0", + "license": { + "name": "MIT" + }, + "contact": {} + }, + "paths": { + "/v1/waitlist/feature": { + "post": { + "operationId": "AddToWaitlist", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_string-Array.string_" + "$ref": "#/components/schemas/Result__success-boolean--position_63_-number_.string_" } } } } }, "tags": [ - "Prompt2025" + "Waitlist" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "promptId", - "required": true, - "schema": { - "type": "string" - } - } - ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "properties": { - "tags": { - "items": { - "type": "string" - }, - "type": "array" + "organizationId": { + "type": "string" + }, + "feature": { + "type": "string" + }, + "email": { + "type": "string" } }, "required": [ - "tags" + "feature", + "email" ], "type": "object" } @@ -53906,101 +46302,23 @@ } } }, - "/v1/prompt-2025/{promptId}": { - "delete": { - "operationId": "DeletePrompt2025", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } - } - } - } - }, - "tags": [ - "Prompt2025" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "promptId", - "required": true, - "schema": { - "type": "string" - } - } - ] - } - }, - "/v1/prompt-2025/{promptId}/{versionId}": { - "delete": { - "operationId": "DeletePrompt2025Version", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } - } - } - } - }, - "tags": [ - "Prompt2025" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "promptId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "path", - "name": "versionId", - "required": true, - "schema": { - "type": "string" - } - } - ] - } - }, - "/v1/prompt-2025/id/{promptId}/{versionId}/inputs": { + "/v1/waitlist/feature/status": { "get": { - "operationId": "GetPrompt2025Inputs", + "operationId": "IsOnWaitlist", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_Prompt2025Input.string_" + "$ref": "#/components/schemas/Result__isOnWaitlist-boolean_.string_" } } } } }, "tags": [ - "Prompt2025" + "Waitlist" ], "security": [ { @@ -54009,16 +46327,8 @@ ], "parameters": [ { - "in": "path", - "name": "promptId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "path", - "name": "versionId", + "in": "query", + "name": "email", "required": true, "schema": { "type": "string" @@ -54026,84 +46336,100 @@ }, { "in": "query", - "name": "requestId", - "required": true, - "schema": { - "type": "string" - } - } - ] - } - }, - "/v1/prompt-2025/tags": { - "get": { - "operationId": "GetPrompt2025Tags", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_string-Array.string_" - } - } - } - } - }, - "tags": [ - "Prompt2025" - ], - "security": [ + "name": "feature", + "required": true, + "schema": { + "type": "string" + } + }, { - "api_key": [] + "in": "query", + "name": "organizationId", + "required": false, + "schema": { + "type": "string" + } } - ], - "parameters": [] + ] } }, - "/v1/prompt-2025/environments": { + "/v1/waitlist/feature/count": { "get": { - "operationId": "GetPrompt2025Environments", + "operationId": "GetWaitlistCount", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_string-Array.string_" + "$ref": "#/components/schemas/Result__count-number_.string_" } } } } }, "tags": [ - "Prompt2025" + "Waitlist" ], "security": [ { "api_key": [] } ], - "parameters": [] + "parameters": [ + { + "in": "query", + "name": "feature", + "required": true, + "schema": { + "type": "string" + } + } + ] } }, - "/v1/prompt-2025": { + "/v1/user-feedback": { "post": { - "operationId": "CreatePrompt2025", + "operationId": "PostUserFeedback", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_PromptCreateResponse.string_" + "anyOf": [ + { + "properties": { + "success": {}, + "error": { + "type": "string" + } + }, + "required": [ + "error" + ], + "type": "object" + }, + { + "properties": { + "error": {}, + "success": { + "type": "boolean" + } + }, + "required": [ + "success" + ], + "type": "object" + } + ] } } } } }, "tags": [ - "Prompt2025" + "User Feedback" ], "security": [ { @@ -54117,23 +46443,16 @@ "application/json": { "schema": { "properties": { - "promptBody": { - "$ref": "#/components/schemas/OpenAIChatRequest" - }, - "tags": { - "items": { - "type": "string" - }, - "type": "array" + "tag": { + "type": "string" }, - "name": { + "feedback": { "type": "string" } }, "required": [ - "promptBody", - "tags", - "name" + "tag", + "feedback" ], "type": "object" } @@ -54142,138 +46461,81 @@ } } }, - "/v1/prompt-2025/update": { - "post": { - "operationId": "UpdatePrompt2025", + "/v1/settings/query": { + "get": { + "operationId": "GetSettings", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__id-string_.string_" + "properties": { + "useAzureForExperiment": { + "type": "boolean" + } + }, + "required": [ + "useAzureForExperiment" + ], + "type": "object" } } } } }, "tags": [ - "Prompt2025" + "Settings" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "promptBody": { - "$ref": "#/components/schemas/OpenAIChatRequest" - }, - "commitMessage": { - "type": "string" - }, - "environment": { - "type": "string" - }, - "newMajorVersion": { - "type": "boolean" - }, - "promptVersionId": { - "type": "string" - }, - "promptId": { - "type": "string" - } - }, - "required": [ - "promptBody", - "commitMessage", - "newMajorVersion", - "promptVersionId", - "promptId" - ], - "type": "object" - } - } - } - } + "parameters": [] } }, - "/v1/prompt-2025/update/environment": { - "post": { - "operationId": "SetPromptVersionEnvironment", + "/v1/rate-limits": { + "get": { + "operationId": "GetRateLimits", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result_RateLimitRuleView-Array.string_" } } } } }, "tags": [ - "Prompt2025" + "Rate Limits" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "environment": { - "type": "string" - }, - "promptVersionId": { - "type": "string" - }, - "promptId": { - "type": "string" - } - }, - "required": [ - "environment", - "promptVersionId", - "promptId" - ], - "type": "object" - } - } - } - } - } - }, - "/v1/prompt-2025/remove/environment": { + "parameters": [] + }, "post": { - "operationId": "RemoveEnvironmentFromVersion", + "operationId": "CreateRateLimit", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result_RateLimitRuleView.string_" } } } } }, "tags": [ - "Prompt2025" + "Rate Limits" ], "security": [ { @@ -54286,273 +46548,303 @@ "content": { "application/json": { "schema": { - "properties": { - "environment": { - "type": "string" - }, - "promptVersionId": { - "type": "string" - }, - "promptId": { - "type": "string" - } - }, - "required": [ - "environment", - "promptVersionId", - "promptId" - ], - "type": "object" + "$ref": "#/components/schemas/CreateRateLimitRuleParams" } } } } } }, - "/v1/prompt-2025/count": { - "get": { - "operationId": "GetPrompt2025Count", + "/v1/rate-limits/{ruleId}": { + "put": { + "operationId": "UpdateRateLimit", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_number.string_" + "$ref": "#/components/schemas/Result_RateLimitRuleView.string_" } } } } }, "tags": [ - "Prompt2025" + "Rate Limits" ], "security": [ { "api_key": [] } ], - "parameters": [] - } - }, - "/v1/prompt-2025/query": { - "post": { - "operationId": "GetPrompts2025", + "parameters": [ + { + "in": "path", + "name": "ruleId", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateRateLimitRuleParams" + } + } + } + } + }, + "delete": { + "operationId": "DeleteRateLimit", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_Prompt2025-Array.string_" + "$ref": "#/components/schemas/Result_null.string_" } } } } }, "tags": [ - "Prompt2025" + "Rate Limits" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "pageSize": { - "type": "number", - "format": "double" - }, - "page": { - "type": "number", - "format": "double" - }, - "tagsFilter": { - "items": { - "type": "string" - }, - "type": "array" - }, - "search": { - "type": "string" - } - }, - "required": [ - "pageSize", - "page", - "tagsFilter", - "search" - ], - "type": "object" - } + "parameters": [ + { + "in": "path", + "name": "ruleId", + "required": true, + "schema": { + "type": "string" } } - } + ] } }, - "/v1/prompt-2025/query/version": { - "post": { - "operationId": "GetPrompt2025Version", + "/v1/api-keys/provider-key/{providerKeyId}": { + "delete": { + "operationId": "DeleteProviderKey", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_Prompt2025Version.string_" + "anyOf": [ + { + "properties": { + "providerName": { + "type": "string", + "enum": [ + "baseten", + "anthropic", + "azure", + "bedrock", + "canopywave", + "cerebras", + "chutes", + "deepinfra", + "deepseek", + "fireworks", + "google-ai-studio", + "groq", + "helicone", + "mistral", + "nebius", + "novita", + "openai", + "openrouter", + "perplexity", + "vertex", + "xai" + ] + } + }, + "required": [ + "providerName" + ], + "type": "object" + }, + { + "properties": { + "error": { + "type": "string" + } + }, + "required": [ + "error" + ], + "type": "object" + } + ] } } } } }, "tags": [ - "Prompt2025" + "API Key" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "promptVersionId": { - "type": "string" - } - }, - "required": [ - "promptVersionId" - ], - "type": "object" - } + "parameters": [ + { + "in": "path", + "name": "providerKeyId", + "required": true, + "schema": { + "type": "string" } } - } - } - }, - "/v1/prompt-2025/query/environment-version": { - "post": { - "operationId": "GetPrompt2025EnvironmentVersion", + ] + }, + "get": { + "operationId": "GetProviderKey", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_Prompt2025Version.string_" + "anyOf": [ + { + "$ref": "#/components/schemas/DecryptedProviderKey" + }, + { + "properties": { + "error": { + "type": "string" + } + }, + "required": [ + "error" + ], + "type": "object" + } + ] } } } } }, "tags": [ - "Prompt2025" + "API Key" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "environment": { - "type": "string" - }, - "promptId": { - "type": "string" - } - }, - "required": [ - "environment", - "promptId" - ], - "type": "object" - } + "parameters": [ + { + "in": "path", + "name": "providerKeyId", + "required": true, + "schema": { + "type": "string" } } - } - } - }, - "/v1/prompt-2025/query/versions": { - "post": { - "operationId": "GetPrompt2025Versions", + ] + }, + "patch": { + "operationId": "UpdateProviderKey", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_Prompt2025Version-Array.string_" + "$ref": "#/components/schemas/Result__id-string--providerName-string_.string_" } } } } }, "tags": [ - "Prompt2025" + "API Key" ], "security": [ { "api_key": [] } ], - "parameters": [], + "parameters": [ + { + "in": "path", + "name": "providerKeyId", + "required": true, + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "properties": { - "majorVersion": { - "type": "number", - "format": "double" - }, - "promptId": { - "type": "string" - } - }, - "required": [ - "promptId" - ], - "type": "object" + "$ref": "#/components/schemas/UpdateProviderKeyRequest" } } } } } }, - "/v1/prompt-2025/query/production-version": { + "/v1/api-keys/provider-key": { "post": { - "operationId": "GetPrompt2025ProductionVersion", + "operationId": "CreateProviderKey", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_Prompt2025Version.string_" + "anyOf": [ + { + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "properties": { + "error": { + "type": "string" + } + }, + "required": [ + "error" + ], + "type": "object" + } + ] } } } } }, "tags": [ - "Prompt2025" + "API Key" ], "security": [ { @@ -54565,118 +46857,129 @@ "content": { "application/json": { "schema": { - "properties": { - "promptId": { - "type": "string" - } - }, - "required": [ - "promptId" - ], - "type": "object" + "$ref": "#/components/schemas/CreateProviderKeyRequest" } } } } } }, - "/v1/prompt-2025/query/total-versions": { - "post": { - "operationId": "GetPrompt2025TotalVersions", + "/v1/api-keys/provider-keys": { + "get": { + "operationId": "GetProviderKeys", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_PromptVersionCounts.string_" + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/ProviderKeyRow" + }, + "type": "array" + }, + { + "properties": { + "error": { + "type": "string" + } + }, + "required": [ + "error" + ], + "type": "object" + } + ] } } } } }, "tags": [ - "Prompt2025" + "API Key" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "promptId": { - "type": "string" - } - }, - "required": [ - "promptId" - ], - "type": "object" - } - } - } - } + "parameters": [] } }, - "/v1/prompt-2025/{promptVersionId}/prompt-body": { + "/v1/api-keys": { "get": { - "operationId": "GetPrompt2025VersionBody", + "operationId": "GetAPIKeys", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_Prompt2025Version_91_prompt_body_93_.string_" + "$ref": "#/components/schemas/Result__api_key_hash-string--api_key_name-string--created_at-string--governance-boolean--id-number--key_permissions-string--organization_id-string--soft_delete-boolean--temp_key-boolean--updated_at-string--user_id-string_-Array.string_" } } } } }, - "description": "Get the full prompt body (messages, tools, etc.) for a specific prompt version.", "tags": [ - "Prompt2025" + "API Key" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "promptVersionId", - "required": true, - "schema": { - "type": "string" - } - } - ] - } - }, - "/v2/prompt-2025/query/version": { + "parameters": [] + }, "post": { - "operationId": "GetPrompt2025Version", + "operationId": "CreateAPIKey", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_Prompt2025Version.string_" + "anyOf": [ + { + "properties": { + "hashedKey": { + "type": "string" + }, + "apiKey": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "hashedKey", + "apiKey", + "id" + ], + "type": "object" + }, + { + "properties": { + "error": { + "type": "string" + } + }, + "required": [ + "error" + ], + "type": "object" + } + ] } } } } }, "tags": [ - "Prompt2025V2" + "API Key" ], "security": [ { @@ -54690,12 +46993,20 @@ "application/json": { "schema": { "properties": { - "promptVersionId": { + "key_permissions": { + "type": "string", + "enum": [ + "rw", + "r", + "w" + ] + }, + "api_key_name": { "type": "string" } }, "required": [ - "promptVersionId" + "api_key_name" ], "type": "object" } @@ -54704,23 +47015,50 @@ } } }, - "/v2/prompt-2025/query/environment-version": { + "/v1/api-keys/proxy-key": { "post": { - "operationId": "GetPrompt2025EnvironmentVersion", + "operationId": "CreateProxyKey", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_Prompt2025Version.string_" + "anyOf": [ + { + "properties": { + "proxyKeyId": { + "type": "string" + }, + "proxyKey": { + "type": "string" + } + }, + "required": [ + "proxyKeyId", + "proxyKey" + ], + "type": "object" + }, + { + "properties": { + "error": { + "type": "string" + } + }, + "required": [ + "error" + ], + "type": "object" + } + ] } } } } }, "tags": [ - "Prompt2025V2" + "API Key" ], "security": [ { @@ -54734,16 +47072,16 @@ "application/json": { "schema": { "properties": { - "environment": { + "proxyKeyName": { "type": "string" }, - "promptId": { + "providerKeyId": { "type": "string" } }, "required": [ - "environment", - "promptId" + "proxyKeyName", + "providerKeyId" ], "type": "object" } @@ -54752,42 +47090,132 @@ } } }, - "/v2/prompt-2025/query/production-version": { - "post": { - "operationId": "GetPrompt2025ProductionVersion", + "/v1/api-keys/{apiKeyId}": { + "delete": { + "operationId": "DeleteAPIKey", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_Prompt2025Version.string_" + "anyOf": [ + { + "properties": { + "hashedKey": { + "type": "string" + } + }, + "required": [ + "hashedKey" + ], + "type": "object" + }, + { + "properties": { + "error": { + "type": "string" + } + }, + "required": [ + "error" + ], + "type": "object" + } + ] } } } } }, "tags": [ - "Prompt2025V2" + "API Key" ], "security": [ { "api_key": [] } ], - "parameters": [], + "parameters": [ + { + "in": "path", + "name": "apiKeyId", + "required": true, + "schema": { + "format": "double", + "type": "number" + } + } + ] + }, + "patch": { + "operationId": "UpdateAPIKey", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "anyOf": [ + { + "properties": { + "hashedKey": { + "type": "string" + } + }, + "required": [ + "hashedKey" + ], + "type": "object" + }, + { + "properties": { + "error": { + "type": "string" + } + }, + "required": [ + "error" + ], + "type": "object" + } + ] + } + } + } + } + }, + "tags": [ + "API Key" + ], + "security": [ + { + "api_key": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "apiKeyId", + "required": true, + "schema": { + "format": "double", + "type": "number" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "properties": { - "promptId": { + "api_key_name": { "type": "string" } }, "required": [ - "promptId" + "api_key_name" ], "type": "object" } @@ -54796,74 +47224,58 @@ } } }, - "/v1/request/count/query": { - "post": { - "operationId": "GetRequestCount", + "/v1/stripe/subscription/free/usage": { + "get": { + "operationId": "GetFreeUsage", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_number.string_" + "type": "number", + "format": "double" } } } } }, "tags": [ - "Request" + "Stripe" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RequestQueryParams" - } - } - } - } + "parameters": [] } }, - "/v1/request/query": { + "/v1/stripe/cloud/checkout-session": { "post": { - "operationId": "GetRequests", + "operationId": "CreateCloudGatewayCheckoutSession", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_HeliconeRequest-Array.string_" - }, - "examples": { - "Example 1": { - "value": { - "filter": {}, - "isCached": false, - "limit": 10, - "offset": 0, - "sort": { - "created_at": "desc" - }, - "isScored": false, - "isPartOfExperiment": false + "properties": { + "checkoutUrl": { + "type": "string" } - } + }, + "required": [ + "checkoutUrl" + ], + "type": "object" } } } } }, "tags": [ - "Request" + "Stripe" ], "security": [ { @@ -54876,207 +47288,258 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/RequestQueryParams" + "$ref": "#/components/schemas/CreateCloudGatewayCheckoutSessionRequest" } } } } } }, - "/v1/request/query-clickhouse": { + "/v1/stripe/subscription/manage-subscription": { "post": { - "operationId": "GetRequestsClickhouse", + "operationId": "ManageSubscription", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_HeliconeRequest-Array.string_" - }, - "examples": { - "Example 1": { - "value": { - "filter": {}, - "isCached": false, - "limit": 10, - "offset": 0, - "sort": { - "created_at": "desc" - }, - "isScored": false, - "isPartOfExperiment": false - } - } + "type": "string" } } } } }, "tags": [ - "Request" + "Stripe" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RequestQueryParams" - } - } - } - } + "parameters": [] } }, - "/v1/request/{requestId}": { - "get": { - "operationId": "GetRequestById", + "/v1/stripe/subscription/undo-cancel-subscription": { + "post": { + "operationId": "UndoCancelSubscription", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_HeliconeRequest.string_" + "type": "number", + "enum": [ + null + ], + "nullable": true } } } } }, "tags": [ - "Request" + "Stripe" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "requestId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "query", - "name": "includeBody", - "required": false, - "schema": { - "default": false, - "type": "boolean" - } - } - ] + "parameters": [] } }, - "/v1/request/{requestId}/inputs": { + "/v1/stripe/subscription/preview-invoice": { "get": { - "operationId": "GetRequestInputs", + "operationId": "PreviewInvoice", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null.string_" + "properties": { + "evaluators_usage": { + "items": { + "$ref": "#/components/schemas/LLMUsage" + }, + "type": "array" + }, + "experiments_usage": { + "items": { + "$ref": "#/components/schemas/LLMUsage" + }, + "type": "array" + }, + "total": { + "type": "number", + "format": "double" + }, + "tax": { + "type": "number", + "format": "double", + "nullable": true + }, + "subtotal": { + "type": "number", + "format": "double" + }, + "discount": { + "properties": { + "coupon": { + "properties": { + "amount_off": { + "type": "number", + "format": "double", + "nullable": true + }, + "percent_off": { + "type": "number", + "format": "double", + "nullable": true + }, + "name": { + "type": "string", + "nullable": true + } + }, + "required": [ + "amount_off", + "percent_off", + "name" + ], + "type": "object" + } + }, + "required": [ + "coupon" + ], + "type": "object", + "nullable": true + }, + "lines": { + "properties": { + "data": { + "items": { + "properties": { + "description": { + "type": "string", + "nullable": true + }, + "amount": { + "type": "number", + "format": "double", + "nullable": true + }, + "id": { + "type": "string", + "nullable": true + } + }, + "required": [ + "description", + "amount", + "id" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "data" + ], + "type": "object", + "nullable": true + }, + "next_payment_attempt": { + "type": "number", + "format": "double", + "nullable": true + }, + "currency": { + "type": "string", + "nullable": true + } + }, + "required": [ + "evaluators_usage", + "experiments_usage", + "total", + "tax", + "subtotal", + "discount", + "lines", + "next_payment_attempt", + "currency" + ], + "type": "object", + "nullable": true } } } } }, "tags": [ - "Request" + "Stripe" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "requestId", - "required": true, - "schema": { - "type": "string" - } - } - ] + "parameters": [] } }, - "/v1/request/query-ids": { + "/v1/stripe/subscription/cancel-subscription": { "post": { - "operationId": "GetRequestsByIds", + "operationId": "CancelSubscription", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_HeliconeRequest-Array.string_" + "type": "number", + "enum": [ + null + ], + "nullable": true } } } } }, "tags": [ - "Request" + "Stripe" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "requestIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "requestIds" - ], - "type": "object" - } - } - } - } + "parameters": [] } }, - "/v1/request/{requestId}/feedback": { - "post": { - "operationId": "FeedbackRequest", + "/v1/stripe/payment-intents/search": { + "get": { + "operationId": "SearchPaymentIntents", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/StripePaymentIntentsResponse" } } } } }, "tags": [ - "Request" + "Stripe" ], "security": [ { @@ -55085,196 +47548,217 @@ ], "parameters": [ { - "in": "path", - "name": "requestId", + "in": "query", + "name": "search_kind", "required": true, "schema": { "type": "string" } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "rating": { - "type": "boolean" - } - }, - "required": [ - "rating" - ], - "type": "object" - } + }, + { + "in": "query", + "name": "limit", + "required": false, + "schema": { + "format": "double", + "type": "number" + } + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "string" } } - } + ] } }, - "/v1/request/{requestId}/property": { - "put": { - "operationId": "PutProperty", + "/v1/stripe/subscription": { + "get": { + "operationId": "GetSubscription", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "properties": { + "items": { + "items": { + "properties": { + "price": { + "properties": { + "product": { + "properties": { + "name": { + "type": "string", + "nullable": true + } + }, + "required": [ + "name" + ], + "type": "object", + "nullable": true + } + }, + "required": [ + "product" + ], + "type": "object" + }, + "quantity": { + "type": "number", + "format": "double" + } + }, + "required": [ + "price" + ], + "type": "object" + }, + "type": "array" + }, + "trial_end": { + "type": "number", + "format": "double", + "nullable": true + }, + "id": { + "type": "string" + }, + "current_period_start": { + "type": "number", + "format": "double" + }, + "current_period_end": { + "type": "number", + "format": "double" + }, + "cancel_at_period_end": { + "type": "boolean" + }, + "status": { + "type": "string" + } + }, + "required": [ + "items", + "trial_end", + "id", + "current_period_start", + "current_period_end", + "cancel_at_period_end", + "status" + ], + "type": "object", + "nullable": true } } } } }, "tags": [ - "Request" + "Stripe" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "requestId", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "value": { - "type": "string" - }, - "key": { - "type": "string" - } - }, - "required": [ - "value", - "key" - ], - "type": "object" - } - } - } - } + "parameters": [] } }, - "/v1/request/{requestId}/assets/{assetId}": { - "post": { - "operationId": "GetRequestAssetById", + "/v1/stripe/auto-topoff/settings": { + "get": { + "operationId": "GetAutoTopoffSettings", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_HeliconeRequestAsset.string_" + "allOf": [ + { + "$ref": "#/components/schemas/AutoTopoffSettings" + } + ], + "nullable": true } } } } }, "tags": [ - "Request" + "Stripe" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "requestId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "path", - "name": "assetId", - "required": true, - "schema": { - "type": "string" - } - } - ] - } - }, - "/v1/request/{requestId}/score": { + "parameters": [] + }, "post": { - "operationId": "AddScores", + "operationId": "UpdateAutoTopoffSettings", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/AutoTopoffSettings" } } } } }, "tags": [ - "Request" + "Stripe" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "requestId", - "required": true, - "schema": { - "type": "string" - } - } - ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ScoreRequest" + "$ref": "#/components/schemas/UpdateAutoTopoffSettingsRequest" } } } } - } - }, - "/v1/prompt/has-prompts": { - "get": { - "operationId": "HasPrompts", + }, + "delete": { + "operationId": "DisableAutoTopoff", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__hasPrompts-boolean_.string_" + "properties": { + "success": { + "type": "boolean" + } + }, + "required": [ + "success" + ], + "type": "object" } } } } }, "tags": [ - "Prompt" + "Stripe" ], "security": [ { @@ -55284,97 +47768,104 @@ "parameters": [] } }, - "/v1/prompt/query": { - "post": { - "operationId": "GetPrompts", + "/v1/stripe/payment-methods": { + "get": { + "operationId": "GetPaymentMethods", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_PromptsResult-Array.string_" + "items": { + "$ref": "#/components/schemas/PaymentMethod" + }, + "type": "array" } } } } }, "tags": [ - "Prompt" + "Stripe" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PromptsQueryParams" - } - } - } - } + "parameters": [] } }, - "/v1/prompt/{promptId}/query": { + "/v1/stripe/payment-methods/setup-session": { "post": { - "operationId": "GetPrompt", + "operationId": "CreateSetupSession", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_PromptResult.string_" + "properties": { + "setupUrl": { + "type": "string" + } + }, + "required": [ + "setupUrl" + ], + "type": "object" } } } } }, "tags": [ - "Prompt" + "Stripe" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "promptId", - "required": true, - "schema": { - "type": "string" - } - } - ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PromptQueryParams" + "$ref": "#/components/schemas/CreateSetupSessionRequest" } } } } } }, - "/v1/prompt/{promptId}": { + "/v1/stripe/payment-methods/{paymentMethodId}": { "delete": { - "operationId": "DeletePrompt", + "operationId": "RemovePaymentMethod", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "properties": { + "success": { + "type": "boolean" + } + }, + "required": [ + "success" + ], + "type": "object" + } + } + } } }, "tags": [ - "Prompt" + "Stripe" ], "security": [ { @@ -55384,7 +47875,7 @@ "parameters": [ { "in": "path", - "name": "promptId", + "name": "paymentMethodId", "required": true, "schema": { "type": "string" @@ -55393,171 +47884,106 @@ ] } }, - "/v1/prompt/create": { - "post": { - "operationId": "CreatePrompt", + "/v1/stripe/subscription/usage-stats": { + "get": { + "operationId": "GetUsageStats", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_CreatePromptResponse.string_" + "allOf": [ + { + "$ref": "#/components/schemas/UsageStatsResponse" + } + ], + "nullable": true } } } } }, "tags": [ - "Prompt" + "Stripe" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "metadata": { - "$ref": "#/components/schemas/Record_string.any_" - }, - "prompt": {}, - "userDefinedId": { - "type": "string" - } - }, - "required": [ - "metadata", - "prompt", - "userDefinedId" - ], - "type": "object" - } - } - } - } + "parameters": [] } }, - "/v1/prompt/{promptId}/user-defined-id": { - "patch": { - "operationId": "UpdatePromptUserDefinedId", + "/v1/organization": { + "get": { + "operationId": "GetOrganizations", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result__40_Database-at-public_91_Tables_93_-at-organization_91_Row_93_-and-_role-string__41_-Array.string_" } } } } }, "tags": [ - "Prompt" + "Organization" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "promptId", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "userDefinedId": { - "type": "string" - } - }, - "required": [ - "userDefinedId" - ], - "type": "object" - } - } - } - } + "parameters": [] } }, - "/v1/prompt/version/{promptVersionId}/edit-label": { - "post": { - "operationId": "EditPromptVersionLabel", + "/v1/organization/models": { + "get": { + "operationId": "GetModels", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__metadata-Record_string.any__.string_" + "$ref": "#/components/schemas/Result__model-string_-Array.string_" } } } } }, "tags": [ - "Prompt" + "Organization" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "promptVersionId", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PromptEditSubversionLabelParams" - } - } - } - } + "parameters": [] } }, - "/v1/prompt/version/{promptVersionId}/edit-template": { - "post": { - "operationId": "EditPromptVersionTemplate", + "/v1/organization/{organizationId}": { + "get": { + "operationId": "GetOrganization", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result_Database-at-public_91_Tables_93_-at-organization_91_Row_93_.string_" } } } } }, "tags": [ - "Prompt" + "Organization" ], "security": [ { @@ -55567,42 +47993,39 @@ "parameters": [ { "in": "path", - "name": "promptVersionId", + "name": "organizationId", "required": true, "schema": { "type": "string" } } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PromptEditSubversionTemplateParams" - } - } - } - } + ] } }, - "/v1/prompt/version/{promptVersionId}/subversion-from-ui": { - "post": { - "operationId": "CreateSubversionFromUi", + "/v1/organization/reseller/{resellerId}": { + "get": { + "operationId": "GetReseller", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_PromptVersionResult.string_" + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_unknown_" + }, + { + "$ref": "#/components/schemas/ResultError_unknown_" + } + ] } } } } }, "tags": [ - "Prompt" + "Organization" ], "security": [ { @@ -55612,140 +48035,94 @@ "parameters": [ { "in": "path", - "name": "promptVersionId", + "name": "resellerId", "required": true, "schema": { "type": "string" } } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PromptCreateSubversionParams" - } - } - } - } + ] } }, - "/v1/prompt/version/{promptVersionId}/subversion": { + "/v1/organization/user/accept_terms": { "post": { - "operationId": "CreateSubversion", + "operationId": "AcceptTerms", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_PromptVersionResult.string_" + "$ref": "#/components/schemas/Result_null.string_" } } } } }, "tags": [ - "Prompt" + "Organization" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "promptVersionId", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PromptCreateSubversionParams" - } - } - } - } + "parameters": [] } }, - "/v1/prompt/version/{promptVersionId}/promote": { + "/v1/organization/create": { "post": { - "operationId": "PromotePromptVersionToProduction", + "operationId": "CreateNewOrganization", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_PromptVersionResult.string_" + "$ref": "#/components/schemas/Result_string.string_" } } } } }, "tags": [ - "Prompt" + "Organization" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "promptVersionId", - "required": true, - "schema": { - "type": "string" - } - } - ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "properties": { - "previousProductionVersionId": { - "type": "string" - } - }, - "required": [ - "previousProductionVersionId" - ], - "type": "object" + "$ref": "#/components/schemas/NewOrganizationParams" } } } } } }, - "/v1/prompt/version/{promptVersionId}/inputs/query": { + "/v1/organization/{organizationId}/update": { "post": { - "operationId": "GetInputs", + "operationId": "UpdateOrganization", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_PromptInputRecord-Array.string_" + "$ref": "#/components/schemas/Result_null.string_" } } } } }, "tags": [ - "Prompt" + "Organization" ], "security": [ { @@ -55755,7 +48132,7 @@ "parameters": [ { "in": "path", - "name": "promptVersionId", + "name": "organizationId", "required": true, "schema": { "type": "string" @@ -55767,190 +48144,67 @@ "content": { "application/json": { "schema": { - "properties": { - "random": { - "type": "boolean" - }, - "limit": { - "type": "number", - "format": "double" - } - }, - "required": [ - "limit" - ], - "type": "object" + "$ref": "#/components/schemas/UpdateOrganizationParams" } } } } } }, - "/v1/prompt/{promptId}/experiments": { - "get": { - "operationId": "GetPromptExperiments", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array.string_" - } - } - } - } - }, - "tags": [ - "Prompt" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "promptId", - "required": true, - "schema": { - "type": "string" - } - } - ] - } - }, - "/v1/prompt/{promptId}/versions/query": { + "/v1/organization/onboard": { "post": { - "operationId": "GetPromptVersions", + "operationId": "OnboardOrganization", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_PromptVersionResult-Array.string_" + "$ref": "#/components/schemas/Result_null.string_" } } } } }, "tags": [ - "Prompt" + "Organization" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "promptId", - "required": true, - "schema": { - "type": "string" - } - } - ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PromptVersionsQueryParams" + "properties": {}, + "type": "object" } } } } } }, - "/v1/prompt/version/{promptVersionId}": { - "get": { - "operationId": "GetPromptVersion", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_PromptVersionResult.string_" - } - } - } - } - }, - "tags": [ - "Prompt" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "promptVersionId", - "required": true, - "schema": { - "type": "string" - } - } - ] - }, - "delete": { - "operationId": "DeletePromptVersion", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } - } - } - } - }, - "tags": [ - "Prompt" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "promptVersionId", - "required": true, - "schema": { - "type": "string" - } - } - ] - } - }, - "/v1/prompt/{user_defined_id}/compile": { + "/v1/organization/{organizationId}/add_member": { "post": { - "operationId": "GetPromptVersionsCompiled", + "operationId": "AddMemberToOrganization", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_PromptVersionResultCompiled.string_" + "$ref": "#/components/schemas/Result__temporaryPassword_63_-string_-or-null.string_" } } } } }, "tags": [ - "Prompt" + "Organization" ], "security": [ { @@ -55960,7 +48214,7 @@ "parameters": [ { "in": "path", - "name": "user_defined_id", + "name": "organizationId", "required": true, "schema": { "type": "string" @@ -55972,30 +48226,38 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PromptVersiosQueryParamsCompiled" + "properties": { + "email": { + "type": "string" + } + }, + "required": [ + "email" + ], + "type": "object" } } } } } }, - "/v1/prompt/{user_defined_id}/template": { + "/v1/organization/{organizationId}/create_filter": { "post": { - "operationId": "GetPromptVersionTemplates", + "operationId": "CreateOrganizationFilter", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_PromptVersionResultFilled.string_" + "$ref": "#/components/schemas/Result_null.string_" } } } } }, "tags": [ - "Prompt" + "Organization" ], "security": [ { @@ -56005,7 +48267,7 @@ "parameters": [ { "in": "path", - "name": "user_defined_id", + "name": "organizationId", "required": true, "schema": { "type": "string" @@ -56017,56 +48279,49 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PromptVersiosQueryParamsCompiled" - } - } - } - } - } - }, - "/v2/experiment/create/empty": { - "post": { - "operationId": "CreateEmptyExperiment", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result__experimentId-string_.string_" - } + "properties": { + "filterType": { + "type": "string", + "enum": [ + "dashboard", + "requests" + ] + }, + "filters": { + "items": { + "$ref": "#/components/schemas/OrganizationFilter" + }, + "type": "array" + } + }, + "required": [ + "filterType", + "filters" + ], + "type": "object" } } } - }, - "tags": [ - "Experiment" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [] + } } }, - "/v2/experiment/create/from-request/{requestId}": { + "/v1/organization/{organizationId}/update_filter": { "post": { - "operationId": "CreateExperimentFromRequest", + "operationId": "UpdateOrganizationFilter", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__experimentId-string_.string_" + "$ref": "#/components/schemas/Result_null.string_" } } } } }, "tags": [ - "Experiment" + "Organization" ], "security": [ { @@ -56076,55 +48331,36 @@ "parameters": [ { "in": "path", - "name": "requestId", + "name": "organizationId", "required": true, "schema": { "type": "string" } } - ] - } - }, - "/v2/experiment/new": { - "post": { - "operationId": "CreateNewExperiment", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result__experimentId-string_.string_" - } - } - } - } - }, - "tags": [ - "Experiment" - ], - "security": [ - { - "api_key": [] - } ], - "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "properties": { - "originalPromptVersion": { - "type": "string" + "filterType": { + "type": "string", + "enum": [ + "dashboard", + "requests" + ] }, - "name": { - "type": "string" + "filters": { + "items": { + "$ref": "#/components/schemas/OrganizationFilter" + }, + "type": "array" } }, "required": [ - "originalPromptVersion", - "name" + "filterType", + "filters" ], "type": "object" } @@ -56133,23 +48369,23 @@ } } }, - "/v2/experiment": { - "get": { - "operationId": "GetExperiments", + "/v1/organization/delete": { + "delete": { + "operationId": "DeleteOrganization", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_ExperimentV2-Array.string_" + "$ref": "#/components/schemas/Result_null.string_" } } } } }, "tags": [ - "Experiment" + "Organization" ], "security": [ { @@ -56159,23 +48395,23 @@ "parameters": [] } }, - "/v2/experiment/{experimentId}": { - "delete": { - "operationId": "DeleteExperiment", + "/v1/organization/{organizationId}/layout": { + "get": { + "operationId": "GetOrganizationLayout", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result_OrganizationLayout.string_" } } } } }, "tags": [ - "Experiment" + "Organization" ], "security": [ { @@ -56185,30 +48421,40 @@ "parameters": [ { "in": "path", - "name": "experimentId", + "name": "organizationId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "filterType", "required": true, "schema": { "type": "string" } } ] - }, + } + }, + "/v1/organization/{organizationId}/members": { "get": { - "operationId": "GetExperimentById", + "operationId": "GetOrganizationMembers", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_ExtendedExperimentData.string_" + "$ref": "#/components/schemas/Result_OrganizationMember-Array.string_" } } } } }, "tags": [ - "Experiment" + "Organization" ], "security": [ { @@ -56218,7 +48464,7 @@ "parameters": [ { "in": "path", - "name": "experimentId", + "name": "organizationId", "required": true, "schema": { "type": "string" @@ -56227,23 +48473,23 @@ ] } }, - "/v2/experiment/{experimentId}/prompt-version": { + "/v1/organization/{organizationId}/update_member": { "post": { - "operationId": "CreateNewPromptVersionForExperiment", + "operationId": "UpdateOrganizationMember", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_PromptVersionResult.string_" + "$ref": "#/components/schemas/Result_null.string_" } } } } }, "tags": [ - "Experiment" + "Organization" ], "security": [ { @@ -56253,7 +48499,7 @@ "parameters": [ { "in": "path", - "name": "experimentId", + "name": "organizationId", "required": true, "schema": { "type": "string" @@ -56265,16 +48511,28 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CreateNewPromptVersionForExperimentParams" + "properties": { + "memberId": { + "type": "string" + }, + "role": { + "type": "string" + } + }, + "required": [ + "memberId", + "role" + ], + "type": "object" } } } } } }, - "/v2/experiment/{experimentId}/prompt-version/{promptVersionId}": { - "delete": { - "operationId": "DeletePromptVersion", + "/v1/organization/{organizationId}/update_owner": { + "post": { + "operationId": "UpdateOrganizationOwner", "responses": { "200": { "description": "Ok", @@ -56288,7 +48546,7 @@ } }, "tags": [ - "Experiment" + "Organization" ], "security": [ { @@ -56298,40 +48556,50 @@ "parameters": [ { "in": "path", - "name": "experimentId", + "name": "organizationId", "required": true, "schema": { "type": "string" } - }, - { - "in": "path", - "name": "promptVersionId", - "required": true, - "schema": { - "type": "string" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "memberId": { + "type": "string" + } + }, + "required": [ + "memberId" + ], + "type": "object" + } } } - ] + } } }, - "/v2/experiment/{experimentId}/prompt-versions": { + "/v1/organization/{organizationId}/owner": { "get": { - "operationId": "GetPromptVersionsForExperiment", + "operationId": "GetOrganizationOwner", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_ExperimentV2PromptVersion-Array.string_" + "$ref": "#/components/schemas/Result_OrganizationOwner-Array.string_" } } } } }, "tags": [ - "Experiment" + "Organization" ], "security": [ { @@ -56341,7 +48609,7 @@ "parameters": [ { "in": "path", - "name": "experimentId", + "name": "organizationId", "required": true, "schema": { "type": "string" @@ -56350,23 +48618,23 @@ ] } }, - "/v2/experiment/{experimentId}/input-keys": { - "get": { - "operationId": "GetInputKeysForExperiment", + "/v1/organization/{organizationId}/remove_member": { + "delete": { + "operationId": "RemoveMemberFromOrganization", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_string-Array.string_" + "$ref": "#/components/schemas/Result_null.string_" } } } } }, "tags": [ - "Experiment" + "Organization" ], "security": [ { @@ -56376,7 +48644,15 @@ "parameters": [ { "in": "path", - "name": "experimentId", + "name": "organizationId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "memberId", "required": true, "schema": { "type": "string" @@ -56385,62 +48661,35 @@ ] } }, - "/v2/experiment/{experimentId}/add-manual-row": { + "/v1/organization/setup-demo": { "post": { - "operationId": "AddManualRowToExperiment", + "operationId": "SetupDemo", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_string.string_" + "$ref": "#/components/schemas/Result_null.string_" } } } } }, "tags": [ - "Experiment" + "Organization" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentId", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "inputs": { - "$ref": "#/components/schemas/Record_string.string_" - } - }, - "required": [ - "inputs" - ], - "type": "object" - } - } - } - } + "parameters": [] } }, - "/v2/experiment/{experimentId}/add-manual-rows-batch": { + "/v1/organization/update_onboarding": { "post": { - "operationId": "AddManualRowsToExperimentBatch", + "operationId": "UpdateOnboardingStatus", "responses": { "200": { "description": "Ok", @@ -56454,38 +48703,30 @@ } }, "tags": [ - "Experiment" + "Organization" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentId", - "required": true, - "schema": { - "type": "string" - } - } - ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "properties": { - "inputs": { - "items": { - "$ref": "#/components/schemas/Record_string.string_" - }, - "type": "array" + "name": { + "type": "string" + }, + "onboarding_status": { + "$ref": "#/components/schemas/OnboardingStatus" } }, "required": [ - "inputs" + "name", + "onboarding_status" ], "type": "object" } @@ -56494,79 +48735,59 @@ } } }, - "/v2/experiment/{experimentId}/rows": { - "delete": { - "operationId": "DeleteExperimentTableRows", + "/v1/evaluator": { + "post": { + "operationId": "CreateEvaluator", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result_EvaluatorResult.string_" } } } } }, "tags": [ - "Experiment" + "Evaluator" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentId", - "required": true, - "schema": { - "type": "string" - } - } - ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "properties": { - "inputRecordIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "inputRecordIds" - ], - "type": "object" + "$ref": "#/components/schemas/CreateEvaluatorParams" } } } } } }, - "/v2/experiment/{experimentId}/row/insert/batch": { - "post": { - "operationId": "CreateExperimentTableRowBatch", + "/v1/evaluator/{evaluatorId}": { + "get": { + "operationId": "GetEvaluator", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result_EvaluatorResult.string_" } } } } }, "tags": [ - "Experiment" + "Evaluator" ], "security": [ { @@ -56576,70 +48797,30 @@ "parameters": [ { "in": "path", - "name": "experimentId", + "name": "evaluatorId", "required": true, "schema": { "type": "string" } } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "rows": { - "items": { - "properties": { - "autoInputs": { - "items": {}, - "type": "array" - }, - "inputs": { - "$ref": "#/components/schemas/Record_string.string_" - }, - "inputRecordId": { - "type": "string" - } - }, - "required": [ - "autoInputs", - "inputs", - "inputRecordId" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "rows" - ], - "type": "object" - } - } - } - } - } - }, - "/v2/experiment/{experimentId}/row/insert/dataset/{datasetId}": { - "post": { - "operationId": "CreateExperimentTableRowFromDataset", + ] + }, + "put": { + "operationId": "UpdateEvaluator", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result_EvaluatorResult.string_" } } } } }, "tags": [ - "Experiment" + "Evaluator" ], "security": [ { @@ -56649,26 +48830,26 @@ "parameters": [ { "in": "path", - "name": "experimentId", + "name": "evaluatorId", "required": true, "schema": { "type": "string" } - }, - { - "in": "path", - "name": "datasetId", - "required": true, - "schema": { - "type": "string" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateEvaluatorParams" + } } } - ] - } - }, - "/v2/experiment/{experimentId}/row/update": { - "post": { - "operationId": "UpdateExperimentTableRow", + } + }, + "delete": { + "operationId": "DeleteEvaluator", "responses": { "200": { "description": "Ok", @@ -56682,7 +48863,7 @@ } }, "tags": [ - "Experiment" + "Evaluator" ], "security": [ { @@ -56692,87 +48873,45 @@ "parameters": [ { "in": "path", - "name": "experimentId", + "name": "evaluatorId", "required": true, "schema": { "type": "string" } } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "inputs": { - "$ref": "#/components/schemas/Record_string.string_" - }, - "inputRecordId": { - "type": "string" - } - }, - "required": [ - "inputs", - "inputRecordId" - ], - "type": "object" - } - } - } - } + ] } }, - "/v2/experiment/{experimentId}/run-hypothesis": { + "/v1/evaluator/query": { "post": { - "operationId": "RunHypothesis", + "operationId": "QueryEvaluators", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_string.string_" + "$ref": "#/components/schemas/Result_EvaluatorResult-Array.string_" } } } } }, "tags": [ - "Experiment" + "Evaluator" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentId", - "required": true, - "schema": { - "type": "string" - } - } - ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "properties": { - "inputRecordId": { - "type": "string" - }, - "promptVersionId": { - "type": "string" - } - }, - "required": [ - "inputRecordId", - "promptVersionId" - ], + "properties": {}, "type": "object" } } @@ -56780,23 +48919,23 @@ } } }, - "/v2/experiment/{experimentId}/evaluators": { + "/v1/evaluator/{evaluatorId}/onlineEvaluators": { "get": { - "operationId": "GetExperimentEvaluators", + "operationId": "GetOnlineEvaluators", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_EvaluatorResult-Array.string_" + "$ref": "#/components/schemas/Result_OnlineEvaluatorByEvaluatorId-Array.string_" } } } } }, "tags": [ - "Experiment" + "Evaluator" ], "security": [ { @@ -56806,7 +48945,7 @@ "parameters": [ { "in": "path", - "name": "experimentId", + "name": "evaluatorId", "required": true, "schema": { "type": "string" @@ -56815,7 +48954,7 @@ ] }, "post": { - "operationId": "CreateExperimentEvaluator", + "operationId": "CreateOnlineEvaluator", "responses": { "200": { "description": "Ok", @@ -56829,7 +48968,7 @@ } }, "tags": [ - "Experiment" + "Evaluator" ], "security": [ { @@ -56839,7 +48978,7 @@ "parameters": [ { "in": "path", - "name": "experimentId", + "name": "evaluatorId", "required": true, "schema": { "type": "string" @@ -56851,24 +48990,16 @@ "content": { "application/json": { "schema": { - "properties": { - "evaluatorId": { - "type": "string" - } - }, - "required": [ - "evaluatorId" - ], - "type": "object" + "$ref": "#/components/schemas/CreateOnlineEvaluatorParams" } } } } } }, - "/v2/experiment/{experimentId}/evaluators/{evaluatorId}": { + "/v1/evaluator/{evaluatorId}/onlineEvaluators/{onlineEvaluatorId}": { "delete": { - "operationId": "DeleteExperimentEvaluator", + "operationId": "DeleteOnlineEvaluator", "responses": { "200": { "description": "Ok", @@ -56882,7 +49013,7 @@ } }, "tags": [ - "Experiment" + "Evaluator" ], "security": [ { @@ -56892,7 +49023,7 @@ "parameters": [ { "in": "path", - "name": "experimentId", + "name": "evaluatorId", "required": true, "schema": { "type": "string" @@ -56900,7 +49031,7 @@ }, { "in": "path", - "name": "evaluatorId", + "name": "onlineEvaluatorId", "required": true, "schema": { "type": "string" @@ -56909,136 +49040,171 @@ ] } }, - "/v2/experiment/{experimentId}/evaluators/run": { + "/v1/evaluator/python/test": { "post": { - "operationId": "RunExperimentEvaluators", + "operationId": "TestPythonEvaluator", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result__output-string--traces-string-Array--statusCode_63_-number_.string_" } } } } }, "tags": [ - "Experiment" + "Evaluator" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentId", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "testInput": { + "$ref": "#/components/schemas/TestInput" + }, + "code": { + "type": "string" + } + }, + "required": [ + "testInput", + "code" + ], + "type": "object" + } } } - ] + } } }, - "/v2/experiment/{experimentId}/should-run-evaluators": { - "get": { - "operationId": "ShouldRunEvaluators", + "/v1/evaluator/llm/test": { + "post": { + "operationId": "TestLLMEvaluator", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_boolean.string_" + "$ref": "#/components/schemas/EvaluatorScoreResult" } } } } }, "tags": [ - "Experiment" + "Evaluator" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentId", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "evaluatorName": { + "type": "string" + }, + "testInput": { + "$ref": "#/components/schemas/TestInput" + }, + "evaluatorConfig": { + "$ref": "#/components/schemas/EvaluatorConfig" + } + }, + "required": [ + "evaluatorName", + "testInput", + "evaluatorConfig" + ], + "type": "object" + } } } - ] + } } }, - "/v2/experiment/{experimentId}/{promptVersionId}/scores": { - "get": { - "operationId": "GetExperimentPromptVersionScores", + "/v1/evaluator/lastmile/test": { + "post": { + "operationId": "TestLastMileEvaluator", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_Record_string.ScoreV2_.string_" + "$ref": "#/components/schemas/Result__score-number--input-string--output-string--ground_truth_63_-string_.string_" } } } } }, "tags": [ - "Experiment" + "Evaluator" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "path", - "name": "promptVersionId", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "testInput": { + "$ref": "#/components/schemas/TestInput" + }, + "config": { + "$ref": "#/components/schemas/LastMileConfigForm" + } + }, + "required": [ + "testInput", + "config" + ], + "type": "object" + } } } - ] + } } }, - "/v2/experiment/{experimentId}/{requestId}/{scoreKey}": { + "/v1/evaluator/{evaluatorId}/stats": { "get": { - "operationId": "GetExperimentScore", + "operationId": "GetEvaluatorStats", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_ScoreV2-or-null.string_" + "$ref": "#/components/schemas/Result_EvaluatorStats.string_" } } } } }, "tags": [ - "Experiment" + "Evaluator" ], "security": [ { @@ -57048,23 +49214,7 @@ "parameters": [ { "in": "path", - "name": "experimentId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "path", - "name": "requestId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "path", - "name": "scoreKey", + "name": "evaluatorId", "required": true, "schema": { "type": "string" @@ -62670,6 +54820,7 @@ } } }, + "description": "Dead endpoint. The route stays registered so existing callers keep getting\nthe same response, but the implementation is gone: it shelled out to\nffmpeg with input options built from request-derived values, which was an\nargument-injection sink. Do not reintroduce it -- if WAV conversion is\nneeded again, build it on a library that does not take a command line.", "tags": [ "Audio" ], diff --git a/valhalla/jawn/src/tsoa-build/public/routes.ts b/valhalla/jawn/src/tsoa-build/public/routes.ts index 29caf3ba8a..739ae4e13b 100644 --- a/valhalla/jawn/src/tsoa-build/public/routes.ts +++ b/valhalla/jawn/src/tsoa-build/public/routes.ts @@ -8,14 +8,6 @@ import { ApiKeyController } from './../../controllers/public/apiKeyController'; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa import { EvaluatorController } from './../../controllers/public/evaluatorController'; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa -import { Prompt2025Controller } from './../../controllers/public/prompt2025Controller'; -// WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa -import { Prompt2025V2Controller } from './../../controllers/public/prompt2025Controller'; -// WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa -import { PromptController } from './../../controllers/public/promptController'; -// WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa -import { ExperimentV2Controller } from './../../controllers/public/experimentV2Controller'; -// WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa import { StripeController } from './../../controllers/public/stripeController'; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa import { IntegrationController } from './../../controllers/public/integrationController'; @@ -42,6 +34,12 @@ import { ProviderController } from './../../controllers/public/providerControlle // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa import { PropertyController } from './../../controllers/public/propertyController'; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa +import { Prompt2025Controller } from './../../controllers/public/prompt2025Controller'; +// WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa +import { Prompt2025V2Controller } from './../../controllers/public/prompt2025Controller'; +// WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa +import { PromptController } from './../../controllers/public/promptController'; +// WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa import { PlaygroundController } from './../../controllers/public/playgroundController'; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa import { PiPublicController } from './../../controllers/public/piPublicController'; @@ -60,10 +58,6 @@ import { LLMSecurityController } from './../../controllers/public/llmSecurityCon // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa import { HeliconeSqlController } from './../../controllers/public/heliconeSqlController'; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa -import { ExperimentController } from './../../controllers/public/experimentController'; -// WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa -import { ExperimentDatasetController } from './../../controllers/public/experimentDatasetController'; -// WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa import { HeliconeDatasetController } from './../../controllers/public/heliconeDatasetController'; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa import { EvalController } from './../../controllers/public/evalController'; @@ -244,25 +238,6 @@ const models: TsoaRoute.Models = { "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_null_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "EvaluatorExperiment": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"experiment_name":{"dataType":"string","required":true},"experiment_created_at":{"dataType":"string","required":true},"experiment_id":{"dataType":"string","required":true}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_EvaluatorExperiment-Array_": { - "dataType": "refObject", - "properties": { - "data": {"dataType":"array","array":{"dataType":"refAlias","ref":"EvaluatorExperiment"},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_EvaluatorExperiment-Array.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_EvaluatorExperiment-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa "OnlineEvaluatorByEvaluatorId": { "dataType": "refAlias", "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"config":{"dataType":"any","required":true},"id":{"dataType":"string","required":true}},"validators":{}}, @@ -390,131 +365,116 @@ const models: TsoaRoute.Models = { "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_EvaluatorStats_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Prompt2025": { + "CreateCloudGatewayCheckoutSessionRequest": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "name": {"dataType":"string","required":true}, - "tags": {"dataType":"array","array":{"dataType":"string"},"required":true}, - "created_at": {"dataType":"string","required":true}, + "amount": {"dataType":"double","required":true}, + "returnUrl": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_Prompt2025_": { + "LLMUsage": { "dataType": "refObject", "properties": { - "data": {"ref":"Prompt2025","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "model": {"dataType":"string","required":true}, + "provider": {"dataType":"string","required":true}, + "prompt_tokens": {"dataType":"double","required":true}, + "completion_tokens": {"dataType":"double","required":true}, + "total_count": {"dataType":"double","required":true}, + "amount": {"dataType":"double","required":true}, + "description": {"dataType":"string","required":true}, + "totalCost": {"dataType":"nestedObjectLiteral","nestedProperties":{"prompt_token":{"dataType":"double","required":true},"completion_token":{"dataType":"double","required":true}},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_Prompt2025.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_Prompt2025_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_string-Array_": { + "PaymentIntentRecord": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"string"},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "id": {"dataType":"string","required":true}, + "amount": {"dataType":"double","required":true}, + "created": {"dataType":"double","required":true}, + "status": {"dataType":"string","required":true}, + "isRefunded": {"dataType":"boolean"}, + "refundedAmount": {"dataType":"double"}, + "refundIds": {"dataType":"array","array":{"dataType":"string"}}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_string-Array.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_string-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Prompt2025Input": { + "StripePaymentIntentsResponse": { "dataType": "refObject", "properties": { - "request_id": {"dataType":"string","required":true}, - "version_id": {"dataType":"string","required":true}, - "inputs": {"ref":"Record_string.any_","required":true}, + "data": {"dataType":"array","array":{"dataType":"refObject","ref":"PaymentIntentRecord"},"required":true}, + "has_more": {"dataType":"boolean","required":true}, + "next_page": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "count": {"dataType":"double","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_Prompt2025Input_": { + "AutoTopoffSettings": { "dataType": "refObject", "properties": { - "data": {"ref":"Prompt2025Input","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "enabled": {"dataType":"boolean","required":true}, + "thresholdCents": {"dataType":"double","required":true}, + "topoffAmountCents": {"dataType":"double","required":true}, + "stripePaymentMethodId": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "lastTopoffAt": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "consecutiveFailures": {"dataType":"double","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_Prompt2025Input.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_Prompt2025Input_"},{"ref":"ResultError_string_"}],"validators":{}}, + "UpdateAutoTopoffSettingsRequest": { + "dataType": "refObject", + "properties": { + "enabled": {"dataType":"boolean","required":true}, + "thresholdCents": {"dataType":"double","required":true}, + "topoffAmountCents": {"dataType":"double","required":true}, + "stripePaymentMethodId": {"dataType":"string","required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PromptCreateResponse": { + "PaymentMethod": { "dataType": "refObject", "properties": { "id": {"dataType":"string","required":true}, - "versionId": {"dataType":"string","required":true}, + "brand": {"dataType":"string","required":true}, + "last4": {"dataType":"string","required":true}, + "exp_month": {"dataType":"double","required":true}, + "exp_year": {"dataType":"double","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_PromptCreateResponse_": { + "CreateSetupSessionRequest": { "dataType": "refObject", "properties": { - "data": {"ref":"PromptCreateResponse","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "returnUrl": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_PromptCreateResponse.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_PromptCreateResponse_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Record_string.number_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"dataType":"double"},"validators":{}}, + "DailyUsageDataPoint": { + "dataType": "refObject", + "properties": { + "date": {"dataType":"string","required":true}, + "requests": {"dataType":"double","required":true}, + "bytes": {"dataType":"double","required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "OpenAIChatRequest": { + "UsageStatsResponse": { "dataType": "refObject", "properties": { - "model": {"dataType":"string"}, - "messages": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"tool_calls":{"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"type":{"dataType":"enum","enums":["function"],"required":true},"function":{"dataType":"nestedObjectLiteral","nestedProperties":{"arguments":{"dataType":"string","required":true},"name":{"dataType":"string","required":true}},"required":true},"id":{"dataType":"string","required":true}}}},"tool_call_id":{"dataType":"string"},"name":{"dataType":"string"},"content":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"image_url":{"dataType":"nestedObjectLiteral","nestedProperties":{"url":{"dataType":"string","required":true}}},"text":{"dataType":"string"},"type":{"dataType":"string","required":true}}}},{"dataType":"enum","enums":[null]}],"required":true},"role":{"dataType":"string","required":true}}}}, - "temperature": {"dataType":"double"}, - "top_p": {"dataType":"double"}, - "max_tokens": {"dataType":"double"}, - "max_completion_tokens": {"dataType":"double"}, - "stream": {"dataType":"boolean"}, - "stop": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"string"}]}, - "tools": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"function":{"dataType":"nestedObjectLiteral","nestedProperties":{"strict":{"dataType":"boolean"},"parameters":{"ref":"Record_string.any_"},"description":{"dataType":"string"},"name":{"dataType":"string","required":true}},"required":true},"type":{"dataType":"enum","enums":["function"],"required":true}}}}, - "tool_choice": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["auto"]},{"dataType":"enum","enums":["required"]},{"dataType":"nestedObjectLiteral","nestedProperties":{"function":{"dataType":"nestedObjectLiteral","nestedProperties":{"name":{"dataType":"string","required":true},"type":{"dataType":"enum","enums":["function"],"required":true}}},"type":{"dataType":"string","required":true}}}]}, - "parallel_tool_calls": {"dataType":"boolean"}, - "reasoning_effort": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["minimal"]},{"dataType":"enum","enums":["low"]},{"dataType":"enum","enums":["medium"]},{"dataType":"enum","enums":["high"]}]}, - "verbosity": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["low"]},{"dataType":"enum","enums":["medium"]},{"dataType":"enum","enums":["high"]}]}, - "frequency_penalty": {"dataType":"double"}, - "presence_penalty": {"dataType":"double"}, - "logit_bias": {"ref":"Record_string.number_"}, - "logprobs": {"dataType":"boolean"}, - "top_logprobs": {"dataType":"double"}, - "n": {"dataType":"double"}, - "modalities": {"dataType":"array","array":{"dataType":"string"}}, - "prediction": {"dataType":"any"}, - "audio": {"dataType":"any"}, - "response_format": {"dataType":"nestedObjectLiteral","nestedProperties":{"json_schema":{"dataType":"any"},"type":{"dataType":"string","required":true}}}, - "seed": {"dataType":"double"}, - "service_tier": {"dataType":"string"}, - "store": {"dataType":"boolean"}, - "stream_options": {"dataType":"any"}, - "metadata": {"ref":"Record_string.string_"}, - "user": {"dataType":"string"}, - "function_call": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"nestedObjectLiteral","nestedProperties":{"name":{"dataType":"string","required":true}}}]}, - "functions": {"dataType":"array","array":{"dataType":"any"}}, + "billingPeriod": {"dataType":"nestedObjectLiteral","nestedProperties":{"daysTotal":{"dataType":"double","required":true},"daysElapsed":{"dataType":"double","required":true},"end":{"dataType":"string","required":true},"start":{"dataType":"string","required":true}},"required":true}, + "usage": {"dataType":"nestedObjectLiteral","nestedProperties":{"totalGB":{"dataType":"double","required":true},"totalBytes":{"dataType":"double","required":true},"totalRequests":{"dataType":"double","required":true}},"required":true}, + "dailyData": {"dataType":"array","array":{"dataType":"refObject","ref":"DailyUsageDataPoint"},"required":true}, + "estimatedCost": {"dataType":"nestedObjectLiteral","nestedProperties":{"projectedMonthlyTotalCost":{"dataType":"double","required":true},"projectedMonthlyGBCost":{"dataType":"double","required":true},"projectedMonthlyRequestsCost":{"dataType":"double","required":true},"totalCost":{"dataType":"double","required":true},"gbCost":{"dataType":"double","required":true},"requestsCost":{"dataType":"double","required":true}},"required":true}, }, "additionalProperties": false, }, @@ -533,2210 +493,1996 @@ const models: TsoaRoute.Models = { "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__id-string__"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_number_": { + "Json": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"double"},{"dataType":"boolean"},{"dataType":"enum","enums":[null]},{"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"dataType":"union","subSchemas":[{"ref":"Json"},{"dataType":"undefined"}]}},{"dataType":"array","array":{"dataType":"refAlias","ref":"Json"}}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "IntegrationCreateParams": { "dataType": "refObject", "properties": { - "data": {"dataType":"double","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "integration_name": {"dataType":"string","required":true}, + "settings": {"ref":"Json"}, + "active": {"dataType":"boolean"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_number.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_number_"},{"ref":"ResultError_string_"}],"validators":{}}, + "Integration": { + "dataType": "refObject", + "properties": { + "integration_name": {"dataType":"string"}, + "settings": {"ref":"Json"}, + "active": {"dataType":"boolean"}, + "id": {"dataType":"string","required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_Prompt2025-Array_": { + "ResultSuccess_Array_Integration__": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"Prompt2025"},"required":true}, + "data": {"dataType":"array","array":{"dataType":"refObject","ref":"Integration"},"required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_Prompt2025-Array.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_Prompt2025-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Record_string.unknown_": { + "Result_Array_Integration_.string_": { "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"dataType":"any"},"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_Array_Integration__"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Prompt2025VersionPromptBody": { + "IntegrationUpdateParams": { "dataType": "refObject", "properties": { - "model": {"dataType":"string"}, - "messages": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"tool_calls":{"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"type":{"dataType":"enum","enums":["function"],"required":true},"function":{"dataType":"nestedObjectLiteral","nestedProperties":{"arguments":{"dataType":"string","required":true},"name":{"dataType":"string","required":true}},"required":true},"id":{"dataType":"string","required":true}}}},"tool_call_id":{"dataType":"string"},"name":{"dataType":"string"},"content":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"image_url":{"dataType":"nestedObjectLiteral","nestedProperties":{"url":{"dataType":"string","required":true}}},"text":{"dataType":"string"},"type":{"dataType":"string","required":true}}}},{"dataType":"enum","enums":[null]}],"required":true},"role":{"dataType":"string","required":true}}}}, - "temperature": {"dataType":"double"}, - "top_p": {"dataType":"double"}, - "max_tokens": {"dataType":"double"}, - "tools": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"function":{"dataType":"nestedObjectLiteral","nestedProperties":{"parameters":{"ref":"Record_string.unknown_","required":true},"description":{"dataType":"string","required":true},"name":{"dataType":"string","required":true}},"required":true},"type":{"dataType":"enum","enums":["function"],"required":true}}}}, - "tool_choice": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"nestedObjectLiteral","nestedProperties":{"function":{"dataType":"nestedObjectLiteral","nestedProperties":{"name":{"dataType":"string","required":true},"type":{"dataType":"enum","enums":["function"],"required":true}}},"type":{"dataType":"string","required":true}}}]}, + "integration_name": {"dataType":"string"}, + "settings": {"ref":"Json"}, + "active": {"dataType":"boolean"}, }, - "additionalProperties": {"dataType":"any"}, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Prompt2025Version": { + "ResultSuccess_Integration_": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "model": {"dataType":"string","required":true}, - "prompt_id": {"dataType":"string","required":true}, - "major_version": {"dataType":"double","required":true}, - "minor_version": {"dataType":"double","required":true}, - "commit_message": {"dataType":"string","required":true}, - "environments": {"dataType":"array","array":{"dataType":"string"}}, - "created_at": {"dataType":"string","required":true}, - "s3_url": {"dataType":"string"}, - "prompt_body": {"ref":"Prompt2025VersionPromptBody"}, + "data": {"ref":"Integration","required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_Prompt2025Version_": { + "Result_Integration.string_": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_Integration_"},{"ref":"ResultError_string_"}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "ResultSuccess_Array__id-string--name-string___": { "dataType": "refObject", "properties": { - "data": {"ref":"Prompt2025Version","required":true}, + "data": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"name":{"dataType":"string","required":true},"id":{"dataType":"string","required":true}}},"required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_Prompt2025Version.string_": { + "Result_Array__id-string--name-string__.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_Prompt2025Version_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_Array__id-string--name-string___"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_Prompt2025Version-Array_": { + "ResultSuccess_string_": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"Prompt2025Version"},"required":true}, + "data": {"dataType":"string","required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_Prompt2025Version-Array.string_": { + "Result_string.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_Prompt2025Version-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_string_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PromptVersionCounts": { + "TestStripeMeterEventRequest": { "dataType": "refObject", "properties": { - "totalVersions": {"dataType":"double","required":true}, - "majorVersions": {"dataType":"double","required":true}, - }, + "event_name": {"dataType":"string","required":true}, + "customer_id": {"dataType":"string","required":true}, + }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_PromptVersionCounts_": { + "ResultSuccess_number_": { "dataType": "refObject", "properties": { - "data": {"ref":"PromptVersionCounts","required":true}, + "data": {"dataType":"double","required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_PromptVersionCounts.string_": { + "Result_number.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_PromptVersionCounts_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_number_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_Prompt2025Version_91_prompt_body_93__": { - "dataType": "refObject", - "properties": { - "data": {"ref":"Prompt2025VersionPromptBody","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, + "Partial_TextOperators_": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_Prompt2025Version_91_prompt_body_93_.string_": { + "Partial_NumberOperators_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_Prompt2025Version_91_prompt_body_93__"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"not-equals":{"dataType":"double"},"equals":{"dataType":"double"},"gte":{"dataType":"double"},"lte":{"dataType":"double"},"lt":{"dataType":"double"},"gt":{"dataType":"double"}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__hasPrompts-boolean__": { - "dataType": "refObject", - "properties": { - "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"hasPrompts":{"dataType":"boolean","required":true}},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, + "Partial_TimestampOperators_": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"equals":{"dataType":"string"},"gte":{"dataType":"string"},"lte":{"dataType":"string"},"lt":{"dataType":"string"},"gt":{"dataType":"string"}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__hasPrompts-boolean_.string_": { + "Partial_BooleanOperators_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__hasPrompts-boolean__"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"equals":{"dataType":"boolean"}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PromptsResult": { - "dataType": "refObject", - "properties": { - "id": {"dataType":"string","required":true}, - "user_defined_id": {"dataType":"string","required":true}, - "description": {"dataType":"string","required":true}, - "pretty_name": {"dataType":"string","required":true}, - "created_at": {"dataType":"string","required":true}, - "major_version": {"dataType":"double","required":true}, - "metadata": {"ref":"Record_string.any_"}, - }, - "additionalProperties": false, + "Partial_FeedbackTableToOperators_": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"id":{"ref":"Partial_NumberOperators_"},"created_at":{"ref":"Partial_TimestampOperators_"},"rating":{"ref":"Partial_BooleanOperators_"},"response_id":{"ref":"Partial_TextOperators_"}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_PromptsResult-Array_": { - "dataType": "refObject", - "properties": { - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"PromptsResult"},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, + "Partial_RequestTableToOperators_": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"prompt":{"ref":"Partial_TextOperators_"},"created_at":{"ref":"Partial_TimestampOperators_"},"user_id":{"ref":"Partial_TextOperators_"},"auth_hash":{"ref":"Partial_TextOperators_"},"org_id":{"ref":"Partial_TextOperators_"},"id":{"ref":"Partial_TextOperators_"},"node_id":{"ref":"Partial_TextOperators_"},"model":{"ref":"Partial_TextOperators_"},"modelOverride":{"ref":"Partial_TextOperators_"},"path":{"ref":"Partial_TextOperators_"},"country_code":{"ref":"Partial_TextOperators_"},"prompt_id":{"ref":"Partial_TextOperators_"}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_PromptsResult-Array.string_": { + "Partial_ResponseTableToOperators_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_PromptsResult-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"body_tokens":{"ref":"Partial_NumberOperators_"},"body_model":{"ref":"Partial_TextOperators_"},"body_completion":{"ref":"Partial_TextOperators_"},"status":{"ref":"Partial_NumberOperators_"},"model":{"ref":"Partial_TextOperators_"}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Partial_TextOperators_": { + "Partial_TimestampOperatorsTyped_": { "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"not-equals":{"dataType":"string"},"equals":{"dataType":"string"},"like":{"dataType":"string"},"ilike":{"dataType":"string"},"contains":{"dataType":"string"},"not-contains":{"dataType":"string"}},"validators":{}}, + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"equals":{"dataType":"datetime"},"gte":{"dataType":"datetime"},"lte":{"dataType":"datetime"},"lt":{"dataType":"datetime"},"gt":{"dataType":"datetime"}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Partial_PromptToOperators_": { + "Partial_RequestResponseRMTToOperators_": { "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"id":{"ref":"Partial_TextOperators_"},"user_defined_id":{"ref":"Partial_TextOperators_"}},"validators":{}}, + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"country_code":{"ref":"Partial_TextOperators_"},"latency":{"ref":"Partial_NumberOperators_"},"cost":{"ref":"Partial_NumberOperators_"},"provider":{"ref":"Partial_TextOperators_"},"time_to_first_token":{"ref":"Partial_NumberOperators_"},"status":{"ref":"Partial_NumberOperators_"},"request_created_at":{"ref":"Partial_TimestampOperatorsTyped_"},"response_created_at":{"ref":"Partial_TimestampOperatorsTyped_"},"model":{"ref":"Partial_TextOperators_"},"user_id":{"ref":"Partial_TextOperators_"},"organization_id":{"ref":"Partial_TextOperators_"},"node_id":{"ref":"Partial_TextOperators_"},"job_id":{"ref":"Partial_TextOperators_"},"threat":{"ref":"Partial_BooleanOperators_"},"request_id":{"ref":"Partial_TextOperators_"},"prompt_tokens":{"ref":"Partial_NumberOperators_"},"completion_tokens":{"ref":"Partial_NumberOperators_"},"prompt_cache_read_tokens":{"ref":"Partial_NumberOperators_"},"prompt_cache_write_tokens":{"ref":"Partial_NumberOperators_"},"total_tokens":{"ref":"Partial_NumberOperators_"},"target_url":{"ref":"Partial_TextOperators_"},"property_key":{"dataType":"nestedObjectLiteral","nestedProperties":{"equals":{"dataType":"string","required":true}}},"properties":{"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"Partial_TextOperators_"}},"search_properties":{"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"Partial_TextOperators_"}},"scores":{"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"Partial_TextOperators_"}},"scores_column":{"ref":"Partial_TextOperators_"},"request_body":{"ref":"Partial_TextOperators_"},"response_body":{"ref":"Partial_TextOperators_"},"cache_enabled":{"ref":"Partial_BooleanOperators_"},"cache_reference_id":{"ref":"Partial_TextOperators_"},"cached":{"ref":"Partial_BooleanOperators_"},"assets":{"ref":"Partial_TextOperators_"},"helicone-score-feedback":{"ref":"Partial_BooleanOperators_"},"prompt_id":{"ref":"Partial_TextOperators_"},"prompt_version":{"ref":"Partial_TextOperators_"},"request_referrer":{"ref":"Partial_TextOperators_"},"is_passthrough_billing":{"ref":"Partial_BooleanOperators_"}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Pick_FilterLeaf.prompt_v2_": { + "Partial_SessionsRequestResponseRMTToOperators_": { "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"prompt_v2":{"ref":"Partial_PromptToOperators_"}},"validators":{}}, + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"session_session_id":{"ref":"Partial_TextOperators_"},"session_session_name":{"ref":"Partial_TextOperators_"},"session_total_cost":{"ref":"Partial_NumberOperators_"},"session_total_tokens":{"ref":"Partial_NumberOperators_"},"session_prompt_tokens":{"ref":"Partial_NumberOperators_"},"session_completion_tokens":{"ref":"Partial_NumberOperators_"},"session_total_requests":{"ref":"Partial_NumberOperators_"},"session_created_at":{"ref":"Partial_TimestampOperatorsTyped_"},"session_latest_request_created_at":{"ref":"Partial_TimestampOperatorsTyped_"},"session_tag":{"ref":"Partial_TextOperators_"}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "FilterLeafSubset_prompt_v2_": { + "Pick_FilterLeaf.feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_": { "dataType": "refAlias", - "type": {"ref":"Pick_FilterLeaf.prompt_v2_","validators":{}}, + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"values":{"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"Partial_TextOperators_"}},"feedback":{"ref":"Partial_FeedbackTableToOperators_"},"request":{"ref":"Partial_RequestTableToOperators_"},"response":{"ref":"Partial_ResponseTableToOperators_"},"properties":{"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"Partial_TextOperators_"}},"request_response_rmt":{"ref":"Partial_RequestResponseRMTToOperators_"},"sessions_request_response_rmt":{"ref":"Partial_SessionsRequestResponseRMTToOperators_"}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PromptsFilterNode": { + "FilterLeafSubset_feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"FilterLeafSubset_prompt_v2_"},{"ref":"PromptsFilterBranch"},{"dataType":"enum","enums":["all"]}],"validators":{}}, + "type": {"ref":"Pick_FilterLeaf.feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_","validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PromptsFilterBranch": { + "RequestFilterNode": { "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"right":{"ref":"PromptsFilterNode","required":true},"operator":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["or"]},{"dataType":"enum","enums":["and"]}],"required":true},"left":{"ref":"PromptsFilterNode","required":true}},"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"FilterLeafSubset_feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_"},{"ref":"RequestFilterBranch"},{"dataType":"enum","enums":["all"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PromptsQueryParams": { - "dataType": "refObject", - "properties": { - "filter": {"ref":"PromptsFilterNode","required":true}, - }, - "additionalProperties": false, + "RequestFilterBranch": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"right":{"ref":"RequestFilterNode","required":true},"operator":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["or"]},{"dataType":"enum","enums":["and"]}],"required":true},"left":{"ref":"RequestFilterNode","required":true}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PromptResult": { + "SortDirection": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["asc"]},{"dataType":"enum","enums":["desc"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "SortLeafRequest": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "user_defined_id": {"dataType":"string","required":true}, - "description": {"dataType":"string","required":true}, - "pretty_name": {"dataType":"string","required":true}, - "major_version": {"dataType":"double","required":true}, - "latest_version_id": {"dataType":"string","required":true}, - "latest_model_used": {"dataType":"string","required":true}, - "created_at": {"dataType":"string","required":true}, - "last_used": {"dataType":"string","required":true}, - "versions": {"dataType":"array","array":{"dataType":"string"},"required":true}, - "metadata": {"ref":"Record_string.any_"}, + "random": {"dataType":"enum","enums":[true]}, + "created_at": {"ref":"SortDirection"}, + "cache_created_at": {"ref":"SortDirection"}, + "latency": {"ref":"SortDirection"}, + "last_active": {"ref":"SortDirection"}, + "total_tokens": {"ref":"SortDirection"}, + "completion_tokens": {"ref":"SortDirection"}, + "prompt_tokens": {"ref":"SortDirection"}, + "user_id": {"ref":"SortDirection"}, + "body_model": {"ref":"SortDirection"}, + "is_cached": {"ref":"SortDirection"}, + "request_prompt": {"ref":"SortDirection"}, + "response_text": {"ref":"SortDirection"}, + "properties": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"SortDirection"}}, + "values": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"SortDirection"}}, + "cost": {"ref":"SortDirection"}, + "time_to_first_token": {"ref":"SortDirection"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_PromptResult_": { + "RequestQueryParams": { "dataType": "refObject", "properties": { - "data": {"ref":"PromptResult","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "filter": {"ref":"RequestFilterNode","required":true}, + "offset": {"dataType":"double"}, + "limit": {"dataType":"double"}, + "sort": {"ref":"SortLeafRequest"}, + "isCached": {"dataType":"boolean"}, + "includeInputs": {"dataType":"boolean"}, + "isPartOfExperiment": {"dataType":"boolean"}, + "isScored": {"dataType":"boolean"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_PromptResult.string_": { + "ProviderName": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_PromptResult_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PromptQueryParams": { - "dataType": "refObject", - "properties": { - "timeFilter": {"dataType":"nestedObjectLiteral","nestedProperties":{"end":{"dataType":"string","required":true},"start":{"dataType":"string","required":true}},"required":true}, - }, - "additionalProperties": false, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["OPENAI"]},{"dataType":"enum","enums":["ANTHROPIC"]},{"dataType":"enum","enums":["AZURE"]},{"dataType":"enum","enums":["LOCAL"]},{"dataType":"enum","enums":["HELICONE"]},{"dataType":"enum","enums":["AMDBARTEK"]},{"dataType":"enum","enums":["ANYSCALE"]},{"dataType":"enum","enums":["CLOUDFLARE"]},{"dataType":"enum","enums":["2YFV"]},{"dataType":"enum","enums":["TOGETHER"]},{"dataType":"enum","enums":["LEMONFOX"]},{"dataType":"enum","enums":["FIREWORKS"]},{"dataType":"enum","enums":["PERPLEXITY"]},{"dataType":"enum","enums":["GOOGLE"]},{"dataType":"enum","enums":["OPENROUTER"]},{"dataType":"enum","enums":["WISDOMINANUTSHELL"]},{"dataType":"enum","enums":["GROQ"]},{"dataType":"enum","enums":["COHERE"]},{"dataType":"enum","enums":["MISTRAL"]},{"dataType":"enum","enums":["DEEPINFRA"]},{"dataType":"enum","enums":["QSTASH"]},{"dataType":"enum","enums":["FIRECRAWL"]},{"dataType":"enum","enums":["AWS"]},{"dataType":"enum","enums":["BEDROCK"]},{"dataType":"enum","enums":["DEEPSEEK"]},{"dataType":"enum","enums":["X"]},{"dataType":"enum","enums":["AVIAN"]},{"dataType":"enum","enums":["NEBIUS"]},{"dataType":"enum","enums":["NOVITA"]},{"dataType":"enum","enums":["OPENPIPE"]},{"dataType":"enum","enums":["CHUTES"]},{"dataType":"enum","enums":["LLAMA"]},{"dataType":"enum","enums":["NVIDIA"]},{"dataType":"enum","enums":["VERCEL"]},{"dataType":"enum","enums":["CEREBRAS"]},{"dataType":"enum","enums":["BASETEN"]},{"dataType":"enum","enums":["CANOPYWAVE"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "CreatePromptResponse": { - "dataType": "refObject", - "properties": { - "id": {"dataType":"string","required":true}, - "prompt_version_id": {"dataType":"string","required":true}, - }, - "additionalProperties": false, + "ModelProviderName": { + "dataType": "refAlias", + "type": {"dataType":"enum","enums":["baseten","anthropic","azure","bedrock","canopywave","cerebras","chutes","deepinfra","deepseek","fireworks","google-ai-studio","groq","helicone","mistral","nebius","novita","openai","openrouter","perplexity","vertex","xai"],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_CreatePromptResponse_": { - "dataType": "refObject", - "properties": { - "data": {"ref":"CreatePromptResponse","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, + "Provider": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"ProviderName"},{"dataType":"enum","enums":["CUSTOM"]},{"ref":"ModelProviderName"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_CreatePromptResponse.string_": { + "LlmType": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_CreatePromptResponse_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["chat"]},{"dataType":"enum","enums":["completion"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__metadata-Record_string.any___": { + "FunctionCall": { "dataType": "refObject", "properties": { - "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"metadata":{"ref":"Record_string.any_","required":true}},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "id": {"dataType":"string"}, + "name": {"dataType":"string","required":true}, + "arguments": {"ref":"Record_string.any_","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__metadata-Record_string.any__.string_": { + "Message": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__metadata-Record_string.any___"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"ending_event_id":{"dataType":"string"},"trigger_event_id":{"dataType":"string"},"start_timestamp":{"dataType":"string"},"annotations":{"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"content":{"dataType":"string"},"title":{"dataType":"string","required":true},"url":{"dataType":"string","required":true},"type":{"dataType":"enum","enums":["url_citation"],"required":true}}}},"reasoning":{"dataType":"string"},"deleted":{"dataType":"boolean"},"contentArray":{"dataType":"array","array":{"dataType":"refAlias","ref":"Message"}},"idx":{"dataType":"double"},"detail":{"dataType":"string"},"filename":{"dataType":"string"},"file_id":{"dataType":"string"},"file_data":{"dataType":"string"},"type":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["input_image"]},{"dataType":"enum","enums":["input_text"]},{"dataType":"enum","enums":["input_file"]}]},"audio_data":{"dataType":"string"},"image_url":{"dataType":"string"},"timestamp":{"dataType":"string"},"tool_call_id":{"dataType":"string"},"tool_calls":{"dataType":"array","array":{"dataType":"refObject","ref":"FunctionCall"}},"mime_type":{"dataType":"string"},"content":{"dataType":"string"},"name":{"dataType":"string"},"instruction":{"dataType":"string"},"role":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":["user"]},{"dataType":"enum","enums":["assistant"]},{"dataType":"enum","enums":["system"]},{"dataType":"enum","enums":["developer"]}]},"id":{"dataType":"string"},"_type":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["functionCall"]},{"dataType":"enum","enums":["function"]},{"dataType":"enum","enums":["image"]},{"dataType":"enum","enums":["file"]},{"dataType":"enum","enums":["message"]},{"dataType":"enum","enums":["autoInput"]},{"dataType":"enum","enums":["contentArray"]},{"dataType":"enum","enums":["audio"]}],"required":true}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PromptEditSubversionLabelParams": { + "Tool": { "dataType": "refObject", "properties": { - "label": {"dataType":"string","required":true}, + "name": {"dataType":"string","required":true}, + "description": {"dataType":"string"}, + "parameters": {"ref":"Record_string.any_"}, + "strict": {"dataType":"boolean"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PromptEditSubversionTemplateParams": { + "HeliconeEventTool": { "dataType": "refObject", "properties": { - "heliconeTemplate": {"dataType":"any","required":true}, - "experimentId": {"dataType":"string"}, + "_type": {"dataType":"enum","enums":["tool"],"required":true}, + "toolName": {"dataType":"string","required":true}, + "input": {"dataType":"any","required":true}, }, - "additionalProperties": false, + "additionalProperties": {"dataType":"any"}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PromptVersionResult": { + "HeliconeEventVectorDB": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "minor_version": {"dataType":"double","required":true}, - "major_version": {"dataType":"double","required":true}, - "prompt_v2": {"dataType":"string","required":true}, - "model": {"dataType":"string","required":true}, - "helicone_template": {"dataType":"string","required":true}, - "created_at": {"dataType":"string","required":true}, - "metadata": {"ref":"Record_string.any_","required":true}, - "parent_prompt_version": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "experiment_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "updated_at": {"dataType":"string"}, + "_type": {"dataType":"enum","enums":["vector_db"],"required":true}, + "operation": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["search"]},{"dataType":"enum","enums":["insert"]},{"dataType":"enum","enums":["delete"]},{"dataType":"enum","enums":["update"]}],"required":true}, + "text": {"dataType":"string"}, + "vector": {"dataType":"array","array":{"dataType":"double"}}, + "topK": {"dataType":"double"}, + "filter": {"dataType":"object"}, + "databaseName": {"dataType":"string"}, }, - "additionalProperties": false, + "additionalProperties": {"dataType":"any"}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_PromptVersionResult_": { + "HeliconeEventData": { "dataType": "refObject", "properties": { - "data": {"ref":"PromptVersionResult","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "_type": {"dataType":"enum","enums":["data"],"required":true}, + "name": {"dataType":"string","required":true}, + "meta": {"ref":"Record_string.any_"}, }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_PromptVersionResult.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_PromptVersionResult_"},{"ref":"ResultError_string_"}],"validators":{}}, + "additionalProperties": {"dataType":"any"}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PromptCreateSubversionParams": { + "LLMRequestBody": { "dataType": "refObject", "properties": { - "newHeliconeTemplate": {"dataType":"any","required":true}, - "isMajorVersion": {"dataType":"boolean"}, - "metadata": {"ref":"Record_string.any_"}, - "experimentId": {"dataType":"string"}, - "bumpForMajorPromptVersionId": {"dataType":"string"}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PromptInputRecord": { - "dataType": "refObject", - "properties": { - "id": {"dataType":"string","required":true}, - "inputs": {"ref":"Record_string.string_","required":true}, - "dataset_row_id": {"dataType":"string"}, - "source_request": {"dataType":"string","required":true}, - "prompt_version": {"dataType":"string","required":true}, - "created_at": {"dataType":"string","required":true}, - "response_body": {"dataType":"string"}, - "request_body": {"dataType":"string"}, - "auto_prompt_inputs": {"dataType":"array","array":{"dataType":"any"},"required":true}, + "llm_type": {"ref":"LlmType"}, + "provider": {"dataType":"string"}, + "model": {"dataType":"string"}, + "messages": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"Message"}},{"dataType":"enum","enums":[null]}]}, + "prompt": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "instructions": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "max_tokens": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, + "temperature": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, + "top_p": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, + "seed": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, + "stream": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}]}, + "presence_penalty": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, + "frequency_penalty": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, + "stop": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "reasoning_effort": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["minimal"]},{"dataType":"enum","enums":["low"]},{"dataType":"enum","enums":["medium"]},{"dataType":"enum","enums":["high"]},{"dataType":"enum","enums":[null]}]}, + "verbosity": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["low"]},{"dataType":"enum","enums":["medium"]},{"dataType":"enum","enums":["high"]},{"dataType":"enum","enums":[null]}]}, + "tools": {"dataType":"array","array":{"dataType":"refObject","ref":"Tool"}}, + "parallel_tool_calls": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}]}, + "tool_choice": {"dataType":"nestedObjectLiteral","nestedProperties":{"name":{"dataType":"string"},"type":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["auto"]},{"dataType":"enum","enums":["any"]},{"dataType":"enum","enums":["tool"]}],"required":true}}}, + "response_format": {"dataType":"nestedObjectLiteral","nestedProperties":{"json_schema":{"dataType":"any"},"type":{"dataType":"string","required":true}}}, + "toolDetails": {"ref":"HeliconeEventTool"}, + "vectorDBDetails": {"ref":"HeliconeEventVectorDB"}, + "dataDetails": {"ref":"HeliconeEventData"}, + "input": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"array","array":{"dataType":"string"}}]}, + "n": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, + "size": {"dataType":"string"}, + "quality": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_PromptInputRecord-Array_": { + "Response": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"contentArray":{"dataType":"array","array":{"dataType":"refAlias","ref":"Response"}},"detail":{"dataType":"string"},"filename":{"dataType":"string"},"file_id":{"dataType":"string"},"file_data":{"dataType":"string"},"idx":{"dataType":"double"},"audio_data":{"dataType":"string"},"image_url":{"dataType":"string"},"timestamp":{"dataType":"string"},"tool_call_id":{"dataType":"string"},"tool_calls":{"dataType":"array","array":{"dataType":"refObject","ref":"FunctionCall"}},"text":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"undefined"}]},"type":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["input_image"]},{"dataType":"enum","enums":["input_text"]},{"dataType":"enum","enums":["input_file"]}],"required":true},"name":{"dataType":"string"},"role":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["user"]},{"dataType":"enum","enums":["assistant"]},{"dataType":"enum","enums":["system"]},{"dataType":"enum","enums":["developer"]}],"required":true},"id":{"dataType":"string"},"_type":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["functionCall"]},{"dataType":"enum","enums":["function"]},{"dataType":"enum","enums":["image"]},{"dataType":"enum","enums":["text"]},{"dataType":"enum","enums":["file"]},{"dataType":"enum","enums":["contentArray"]}],"required":true}},"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "LLMResponseBody": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"dataDetailsResponse":{"dataType":"nestedObjectLiteral","nestedProperties":{"name":{"dataType":"string","required":true},"_type":{"dataType":"enum","enums":["data"],"required":true},"metadata":{"dataType":"nestedObjectLiteral","nestedProperties":{"timestamp":{"dataType":"string","required":true}},"additionalProperties":{"dataType":"any"},"required":true},"message":{"dataType":"string","required":true},"status":{"dataType":"string","required":true}},"additionalProperties":{"dataType":"any"}},"vectorDBDetailsResponse":{"dataType":"nestedObjectLiteral","nestedProperties":{"_type":{"dataType":"enum","enums":["vector_db"],"required":true},"metadata":{"dataType":"nestedObjectLiteral","nestedProperties":{"timestamp":{"dataType":"string","required":true},"destination_parsed":{"dataType":"boolean"},"destination":{"dataType":"string"}},"required":true},"actualSimilarity":{"dataType":"double"},"similarityThreshold":{"dataType":"double"},"message":{"dataType":"string","required":true},"status":{"dataType":"string","required":true}}},"toolDetailsResponse":{"dataType":"nestedObjectLiteral","nestedProperties":{"toolName":{"dataType":"string","required":true},"_type":{"dataType":"enum","enums":["tool"],"required":true},"metadata":{"dataType":"nestedObjectLiteral","nestedProperties":{"timestamp":{"dataType":"string","required":true}},"required":true},"tips":{"dataType":"array","array":{"dataType":"string"},"required":true},"message":{"dataType":"string","required":true},"status":{"dataType":"string","required":true}}},"error":{"dataType":"nestedObjectLiteral","nestedProperties":{"heliconeMessage":{"dataType":"any","required":true}}},"model":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]},"instructions":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]},"responses":{"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"Response"}},{"dataType":"enum","enums":[null]}]},"messages":{"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"Message"}},{"dataType":"enum","enums":[null]}]}},"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "LlmSchema": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"PromptInputRecord"},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "request": {"ref":"LLMRequestBody","required":true}, + "response": {"dataType":"union","subSchemas":[{"ref":"LLMResponseBody"},{"dataType":"enum","enums":[null]}]}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_PromptInputRecord-Array.string_": { + "Record_string.number_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_PromptInputRecord-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"dataType":"double"},"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "HeliconeRequest": { + "dataType": "refObject", + "properties": { + "response_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "response_created_at": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "response_body": {"dataType":"any"}, + "response_status": {"dataType":"double","required":true}, + "response_model": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "request_id": {"dataType":"string","required":true}, + "request_created_at": {"dataType":"string","required":true}, + "request_body": {"dataType":"any","required":true}, + "request_path": {"dataType":"string","required":true}, + "request_user_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "request_properties": {"dataType":"union","subSchemas":[{"ref":"Record_string.string_"},{"dataType":"enum","enums":[null]}],"required":true}, + "request_model": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "model_override": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "helicone_user": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "provider": {"ref":"Provider","required":true}, + "delay_ms": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "time_to_first_token": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "total_tokens": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "prompt_tokens": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "prompt_cache_write_tokens": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "prompt_cache_read_tokens": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "completion_tokens": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "reasoning_tokens": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "prompt_audio_tokens": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "completion_audio_tokens": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "cost": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "prompt_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "prompt_version": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "feedback_created_at": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "feedback_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "feedback_rating": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}]}, + "signed_body_url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "llmSchema": {"dataType":"union","subSchemas":[{"ref":"LlmSchema"},{"dataType":"enum","enums":[null]}],"required":true}, + "country_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "asset_ids": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, + "asset_urls": {"dataType":"union","subSchemas":[{"ref":"Record_string.string_"},{"dataType":"enum","enums":[null]}],"required":true}, + "scores": {"dataType":"union","subSchemas":[{"ref":"Record_string.number_"},{"dataType":"enum","enums":[null]}],"required":true}, + "costUSD": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, + "properties": {"ref":"Record_string.string_","required":true}, + "assets": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "target_url": {"dataType":"string","required":true}, + "model": {"dataType":"string","required":true}, + "cache_reference_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "cache_enabled": {"dataType":"boolean","required":true}, + "updated_at": {"dataType":"string"}, + "request_referrer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "ai_gateway_body_mapping": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "storage_location": {"dataType":"string"}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array_": { + "ResultSuccess_HeliconeRequest-Array_": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"meta":{"ref":"Record_string.any_","required":true},"dataset":{"dataType":"string","required":true},"num_hypotheses":{"dataType":"double","required":true},"created_at":{"dataType":"string","required":true},"id":{"dataType":"string","required":true}}},"required":true}, + "data": {"dataType":"array","array":{"dataType":"refObject","ref":"HeliconeRequest"},"required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array.string_": { + "Result_HeliconeRequest-Array.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_HeliconeRequest-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_PromptVersionResult-Array_": { + "ResultSuccess_HeliconeRequest_": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"PromptVersionResult"},"required":true}, + "data": {"ref":"HeliconeRequest","required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_PromptVersionResult-Array.string_": { + "Result_HeliconeRequest.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_PromptVersionResult-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_HeliconeRequest_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Partial_NumberOperators_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"not-equals":{"dataType":"double"},"equals":{"dataType":"double"},"gte":{"dataType":"double"},"lte":{"dataType":"double"},"lt":{"dataType":"double"},"gt":{"dataType":"double"}},"validators":{}}, + "ResultSuccess__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null_": { + "dataType": "refObject", + "properties": { + "data": {"dataType":"union","subSchemas":[{"dataType":"nestedObjectLiteral","nestedProperties":{"environment":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true},"version_id":{"dataType":"string","required":true},"prompt_id":{"dataType":"string","required":true},"inputs":{"ref":"Record_string.any_","required":true}}},{"dataType":"enum","enums":[null]}],"required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Partial_PromptVersionsToOperators_": { + "Result__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null.string_": { "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"minor_version":{"ref":"Partial_NumberOperators_"},"major_version":{"ref":"Partial_NumberOperators_"},"id":{"ref":"Partial_TextOperators_"},"prompt_v2":{"ref":"Partial_TextOperators_"}},"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Pick_FilterLeaf.prompts_versions_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"prompts_versions":{"ref":"Partial_PromptVersionsToOperators_"}},"validators":{}}, + "HeliconeRequestAsset": { + "dataType": "refObject", + "properties": { + "assetUrl": {"dataType":"string","required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "FilterLeafSubset_prompts_versions_": { + "ResultSuccess_HeliconeRequestAsset_": { + "dataType": "refObject", + "properties": { + "data": {"ref":"HeliconeRequestAsset","required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, + }, + "additionalProperties": false, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "Result_HeliconeRequestAsset.string_": { "dataType": "refAlias", - "type": {"ref":"Pick_FilterLeaf.prompts_versions_","validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_HeliconeRequestAsset_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PromptVersionsFilterNode": { + "Record_string.number-or-boolean-or-undefined_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"FilterLeafSubset_prompts_versions_"},{"ref":"PromptVersionsFilterBranch"},{"dataType":"enum","enums":["all"]}],"validators":{}}, + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"boolean"}]},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PromptVersionsFilterBranch": { + "Scores": { "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"right":{"ref":"PromptVersionsFilterNode","required":true},"operator":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["or"]},{"dataType":"enum","enums":["and"]}],"required":true},"left":{"ref":"PromptVersionsFilterNode","required":true}},"validators":{}}, + "type": {"ref":"Record_string.number-or-boolean-or-undefined_","validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PromptVersionsQueryParams": { + "ScoreRequest": { "dataType": "refObject", "properties": { - "filter": {"ref":"PromptVersionsFilterNode"}, - "includeExperimentVersions": {"dataType":"boolean"}, + "scores": {"ref":"Scores","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PromptVersionResultCompiled": { + "ConversationMessage": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "minor_version": {"dataType":"double","required":true}, - "major_version": {"dataType":"double","required":true}, - "prompt_v2": {"dataType":"string","required":true}, - "model": {"dataType":"string","required":true}, - "prompt_compiled": {"dataType":"any","required":true}, + "role": {"dataType":"string","required":true}, + "content": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_PromptVersionResultCompiled_": { + "MostExpensiveRequest": { "dataType": "refObject", "properties": { - "data": {"ref":"PromptVersionResultCompiled","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "requestId": {"dataType":"string","required":true}, + "cost": {"dataType":"double","required":true}, + "model": {"dataType":"string","required":true}, + "provider": {"dataType":"string","required":true}, + "createdAt": {"dataType":"string","required":true}, + "promptTokens": {"dataType":"double","required":true}, + "completionTokens": {"dataType":"double","required":true}, + "conversation": {"dataType":"union","subSchemas":[{"dataType":"nestedObjectLiteral","nestedProperties":{"totalWords":{"dataType":"double","required":true},"turnCount":{"dataType":"double","required":true},"messages":{"dataType":"array","array":{"dataType":"refObject","ref":"ConversationMessage"},"required":true}}},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_PromptVersionResultCompiled.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_PromptVersionResultCompiled_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PromptVersiosQueryParamsCompiled": { + "WrappedStats": { "dataType": "refObject", "properties": { - "filter": {"ref":"PromptVersionsFilterNode"}, - "includeExperimentVersions": {"dataType":"boolean"}, - "inputs": {"ref":"Record_string.string_","required":true}, + "totalRequests": {"dataType":"double","required":true}, + "topProviders": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"count":{"dataType":"double","required":true},"provider":{"dataType":"string","required":true}}},"required":true}, + "topModels": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"count":{"dataType":"double","required":true},"model":{"dataType":"string","required":true}}},"required":true}, + "totalTokens": {"dataType":"nestedObjectLiteral","nestedProperties":{"total":{"dataType":"double","required":true},"cacheRead":{"dataType":"double","required":true},"cacheWrite":{"dataType":"double","required":true},"completion":{"dataType":"double","required":true},"prompt":{"dataType":"double","required":true}},"required":true}, + "mostExpensiveRequest": {"dataType":"union","subSchemas":[{"ref":"MostExpensiveRequest"},{"dataType":"enum","enums":[null]}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PromptVersionResultFilled": { + "ResultSuccess_WrappedStats_": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "minor_version": {"dataType":"double","required":true}, - "major_version": {"dataType":"double","required":true}, - "prompt_v2": {"dataType":"string","required":true}, - "model": {"dataType":"string","required":true}, - "filled_helicone_template": {"dataType":"any","required":true}, + "data": {"ref":"WrappedStats","required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_PromptVersionResultFilled_": { + "Result_WrappedStats.string_": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_WrappedStats_"},{"ref":"ResultError_string_"}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "ResultSuccess__hasData-boolean__": { "dataType": "refObject", "properties": { - "data": {"ref":"PromptVersionResultFilled","required":true}, + "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"hasData":{"dataType":"boolean","required":true}},"required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_PromptVersionResultFilled.string_": { + "Result__hasData-boolean_.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_PromptVersionResultFilled_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__hasData-boolean__"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__experimentId-string__": { + "ResultSuccess_unknown_": { "dataType": "refObject", "properties": { - "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"experimentId":{"dataType":"string","required":true}},"required":true}, + "data": {"dataType":"any","required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__experimentId-string_.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__experimentId-string__"},{"ref":"ResultError_string_"}],"validators":{}}, + "ResultError_unknown_": { + "dataType": "refObject", + "properties": { + "data": {"dataType":"enum","enums":[null],"required":true}, + "error": {"dataType":"any","required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ExperimentV2": { + "WebhookData": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "name": {"dataType":"string","required":true}, - "original_prompt_version": {"dataType":"string","required":true}, - "copied_original_prompt_version": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "input_keys": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, - "created_at": {"dataType":"string","required":true}, + "destination": {"dataType":"string","required":true}, + "config": {"ref":"Record_string.any_","required":true}, + "includeData": {"dataType":"boolean"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_ExperimentV2-Array_": { + "ResultSuccess__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array_": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"ExperimentV2"},"required":true}, + "data": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"hmac_key":{"dataType":"string","required":true},"config":{"dataType":"string","required":true},"version":{"dataType":"string","required":true},"destination":{"dataType":"string","required":true},"created_at":{"dataType":"string","required":true},"id":{"dataType":"string","required":true}}},"required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_ExperimentV2-Array.string_": { + "Result__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_ExperimentV2-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ExperimentV2Output": { + "ResultSuccess__success-boolean--message-string__": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "request_id": {"dataType":"string","required":true}, - "is_original": {"dataType":"boolean","required":true}, - "prompt_version_id": {"dataType":"string","required":true}, - "created_at": {"dataType":"string","required":true}, - "input_record_id": {"dataType":"string","required":true}, + "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true},"success":{"dataType":"boolean","required":true}},"required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ExperimentV2Row": { - "dataType": "refObject", - "properties": { - "id": {"dataType":"string","required":true}, - "inputs": {"ref":"Record_string.string_","required":true}, - "prompt_version": {"dataType":"string","required":true}, - "requests": {"dataType":"array","array":{"dataType":"refObject","ref":"ExperimentV2Output"},"required":true}, - "auto_prompt_inputs": {"dataType":"array","array":{"dataType":"any"},"required":true}, - }, - "additionalProperties": false, + "Result__success-boolean--message-string_.string_": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__success-boolean--message-string__"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ExtendedExperimentData": { + "AddVaultKeyParams": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "name": {"dataType":"string","required":true}, - "original_prompt_version": {"dataType":"string","required":true}, - "copied_original_prompt_version": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "input_keys": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, - "created_at": {"dataType":"string","required":true}, - "rows": {"dataType":"array","array":{"dataType":"refObject","ref":"ExperimentV2Row"},"required":true}, + "key": {"dataType":"string","required":true}, + "provider": {"dataType":"string","required":true}, + "name": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_ExtendedExperimentData_": { + "ResultSuccess_DecryptedProviderKey-Array_": { "dataType": "refObject", "properties": { - "data": {"ref":"ExtendedExperimentData","required":true}, + "data": {"dataType":"array","array":{"dataType":"refAlias","ref":"DecryptedProviderKey"},"required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_ExtendedExperimentData.string_": { + "Result_DecryptedProviderKey-Array.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_ExtendedExperimentData_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_DecryptedProviderKey-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "CreateNewPromptVersionForExperimentParams": { + "ResultSuccess_DecryptedProviderKey_": { "dataType": "refObject", "properties": { - "newHeliconeTemplate": {"dataType":"any","required":true}, - "isMajorVersion": {"dataType":"boolean"}, - "metadata": {"ref":"Record_string.any_"}, - "experimentId": {"dataType":"string"}, - "bumpForMajorPromptVersionId": {"dataType":"string"}, - "parentPromptVersionId": {"dataType":"string","required":true}, + "data": {"ref":"DecryptedProviderKey","required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Json": { + "Result_DecryptedProviderKey.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"double"},{"dataType":"boolean"},{"dataType":"enum","enums":[null]},{"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"dataType":"union","subSchemas":[{"ref":"Json"},{"dataType":"undefined"}]}},{"dataType":"array","array":{"dataType":"refAlias","ref":"Json"}}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_DecryptedProviderKey_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ExperimentV2PromptVersion": { + "HistogramRow": { "dataType": "refObject", "properties": { - "created_at": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "experiment_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "helicone_template": {"dataType":"union","subSchemas":[{"ref":"Json"},{"dataType":"enum","enums":[null]}],"required":true}, - "id": {"dataType":"string","required":true}, - "major_version": {"dataType":"double","required":true}, - "metadata": {"dataType":"union","subSchemas":[{"ref":"Json"},{"dataType":"enum","enums":[null]}],"required":true}, - "minor_version": {"dataType":"double","required":true}, - "model": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "organization": {"dataType":"string","required":true}, - "prompt_v2": {"dataType":"string","required":true}, - "soft_delete": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}],"required":true}, + "range_start": {"dataType":"string","required":true}, + "range_end": {"dataType":"string","required":true}, + "value": {"dataType":"double","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_ExperimentV2PromptVersion-Array_": { + "ResultSuccess__request_count-HistogramRow-Array--user_cost-HistogramRow-Array__": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"ExperimentV2PromptVersion"},"required":true}, + "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"user_cost":{"dataType":"array","array":{"dataType":"refObject","ref":"HistogramRow"},"required":true},"request_count":{"dataType":"array","array":{"dataType":"refObject","ref":"HistogramRow"},"required":true}},"required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_ExperimentV2PromptVersion-Array.string_": { + "Result__request_count-HistogramRow-Array--user_cost-HistogramRow-Array_.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_ExperimentV2PromptVersion-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__request_count-HistogramRow-Array--user_cost-HistogramRow-Array__"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_string_": { - "dataType": "refObject", - "properties": { - "data": {"dataType":"string","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, + "Partial_UserViewToOperators_": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"user_user_id":{"ref":"Partial_TextOperators_"},"user_active_for":{"ref":"Partial_NumberOperators_"},"user_first_active":{"ref":"Partial_TimestampOperatorsTyped_"},"user_last_active":{"ref":"Partial_TimestampOperatorsTyped_"},"user_total_requests":{"ref":"Partial_NumberOperators_"},"user_average_requests_per_day_active":{"ref":"Partial_NumberOperators_"},"user_average_tokens_per_request":{"ref":"Partial_NumberOperators_"},"user_total_completion_tokens":{"ref":"Partial_NumberOperators_"},"user_total_prompt_tokens":{"ref":"Partial_NumberOperators_"},"user_cost":{"ref":"Partial_NumberOperators_"}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_string.string_": { + "Pick_FilterLeaf.users_view-or-request_response_rmt_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_string_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"request_response_rmt":{"ref":"Partial_RequestResponseRMTToOperators_"},"users_view":{"ref":"Partial_UserViewToOperators_"}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_boolean_": { - "dataType": "refObject", - "properties": { - "data": {"dataType":"boolean","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, + "FilterLeafSubset_users_view-or-request_response_rmt_": { + "dataType": "refAlias", + "type": {"ref":"Pick_FilterLeaf.users_view-or-request_response_rmt_","validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_boolean.string_": { + "UserFilterNode": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_boolean_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"FilterLeafSubset_users_view-or-request_response_rmt_"},{"ref":"UserFilterBranch"},{"dataType":"enum","enums":["all"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ScoreV2": { - "dataType": "refObject", - "properties": { - "valueType": {"dataType":"string","required":true}, - "value": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"datetime"},{"dataType":"string"}],"required":true}, - "max": {"dataType":"double","required":true}, - "min": {"dataType":"double","required":true}, - }, - "additionalProperties": false, + "UserFilterBranch": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"right":{"ref":"UserFilterNode","required":true},"operator":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["or"]},{"dataType":"enum","enums":["and"]}],"required":true},"left":{"ref":"UserFilterNode","required":true}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Record_string.ScoreV2_": { + "PSize": { "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"ScoreV2"},"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["p50"]},{"dataType":"enum","enums":["p75"]},{"dataType":"enum","enums":["p95"]},{"dataType":"enum","enums":["p99"]},{"dataType":"enum","enums":["p99.9"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_Record_string.ScoreV2__": { + "UserMetricsResult": { "dataType": "refObject", "properties": { - "data": {"ref":"Record_string.ScoreV2_","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "id": {"dataType":"string","required":true}, + "user_id": {"dataType":"string","required":true}, + "active_for": {"dataType":"double","required":true}, + "first_active": {"dataType":"string","required":true}, + "last_active": {"dataType":"string","required":true}, + "total_requests": {"dataType":"double","required":true}, + "average_requests_per_day_active": {"dataType":"double","required":true}, + "average_tokens_per_request": {"dataType":"double","required":true}, + "total_completion_tokens": {"dataType":"double","required":true}, + "total_prompt_tokens": {"dataType":"double","required":true}, + "cost": {"dataType":"double","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_Record_string.ScoreV2_.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_Record_string.ScoreV2__"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_ScoreV2-or-null_": { + "ResultSuccess__users-UserMetricsResult-Array--count-number--hasUsers-boolean__": { "dataType": "refObject", "properties": { - "data": {"dataType":"union","subSchemas":[{"ref":"ScoreV2"},{"dataType":"enum","enums":[null]}],"required":true}, + "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"hasUsers":{"dataType":"boolean","required":true},"count":{"dataType":"double","required":true},"users":{"dataType":"array","array":{"dataType":"refObject","ref":"UserMetricsResult"},"required":true}},"required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_ScoreV2-or-null.string_": { + "Result__users-UserMetricsResult-Array--count-number--hasUsers-boolean_.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_ScoreV2-or-null_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__users-UserMetricsResult-Array--count-number--hasUsers-boolean__"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "CreateCloudGatewayCheckoutSessionRequest": { - "dataType": "refObject", - "properties": { - "amount": {"dataType":"double","required":true}, - "returnUrl": {"dataType":"string"}, - }, - "additionalProperties": false, + "SortLeafUsers": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"id":{"ref":"SortDirection"},"user_id":{"ref":"SortDirection"},"active_for":{"ref":"SortDirection"},"first_active":{"ref":"SortDirection"},"last_active":{"ref":"SortDirection"},"total_requests":{"ref":"SortDirection"},"average_requests_per_day_active":{"ref":"SortDirection"},"average_tokens_per_request":{"ref":"SortDirection"},"total_prompt_tokens":{"ref":"SortDirection"},"total_completion_tokens":{"ref":"SortDirection"},"cost":{"ref":"SortDirection"},"rate_limited_count":{"ref":"SortDirection"}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "UpgradeToProRequest": { + "UserMetricsQueryParams": { "dataType": "refObject", "properties": { - "addons": {"dataType":"nestedObjectLiteral","nestedProperties":{"evals":{"dataType":"boolean"},"experiments":{"dataType":"boolean"},"prompts":{"dataType":"boolean"},"alerts":{"dataType":"boolean"}}}, - "seats": {"dataType":"double"}, - "ui_mode": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["embedded"]},{"dataType":"enum","enums":["hosted"]}]}, + "filter": {"ref":"UserFilterNode","required":true}, + "offset": {"dataType":"double","required":true}, + "limit": {"dataType":"double","required":true}, + "timeFilter": {"dataType":"nestedObjectLiteral","nestedProperties":{"endTimeUnixSeconds":{"dataType":"double","required":true},"startTimeUnixSeconds":{"dataType":"double","required":true}}}, + "timeZoneDifferenceMinutes": {"dataType":"double"}, + "sort": {"ref":"SortLeafUsers"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "UpgradeToTeamBundleRequest": { + "ResultSuccess__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array_": { "dataType": "refObject", "properties": { - "ui_mode": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["embedded"]},{"dataType":"enum","enums":["hosted"]}]}, + "data": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"cost":{"dataType":"double","required":true},"user_id":{"dataType":"string","required":true},"completion_tokens":{"dataType":"double","required":true},"prompt_tokens":{"dataType":"double","required":true},"count":{"dataType":"double","required":true}}},"required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "LLMUsage": { + "Result__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array.string_": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "UserQueryParams": { "dataType": "refObject", "properties": { - "model": {"dataType":"string","required":true}, - "provider": {"dataType":"string","required":true}, - "prompt_tokens": {"dataType":"double","required":true}, - "completion_tokens": {"dataType":"double","required":true}, - "total_count": {"dataType":"double","required":true}, - "amount": {"dataType":"double","required":true}, - "description": {"dataType":"string","required":true}, - "totalCost": {"dataType":"nestedObjectLiteral","nestedProperties":{"prompt_token":{"dataType":"double","required":true},"completion_token":{"dataType":"double","required":true}},"required":true}, + "userIds": {"dataType":"array","array":{"dataType":"string"}}, + "timeFilter": {"dataType":"nestedObjectLiteral","nestedProperties":{"endTimeUnixSeconds":{"dataType":"double","required":true},"startTimeUnixSeconds":{"dataType":"double","required":true}}}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PaymentIntentRecord": { + "ValidationError": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "amount": {"dataType":"double","required":true}, - "created": {"dataType":"double","required":true}, - "status": {"dataType":"string","required":true}, - "isRefunded": {"dataType":"boolean"}, - "refundedAmount": {"dataType":"double"}, - "refundIds": {"dataType":"array","array":{"dataType":"string"}}, + "field": {"dataType":"string","required":true}, + "message": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "StripePaymentIntentsResponse": { + "ValidationResult": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"PaymentIntentRecord"},"required":true}, - "has_more": {"dataType":"boolean","required":true}, - "next_page": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "count": {"dataType":"double","required":true}, + "isValid": {"dataType":"boolean","required":true}, + "errors": {"dataType":"array","array":{"dataType":"refObject","ref":"ValidationError"},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "AutoTopoffSettings": { + "Record_string.unknown_": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"dataType":"any"},"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "TypedProviderRequest": { "dataType": "refObject", "properties": { - "enabled": {"dataType":"boolean","required":true}, - "thresholdCents": {"dataType":"double","required":true}, - "topoffAmountCents": {"dataType":"double","required":true}, - "stripePaymentMethodId": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "lastTopoffAt": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "consecutiveFailures": {"dataType":"double","required":true}, + "url": {"dataType":"string","required":true}, + "json": {"ref":"Record_string.unknown_","required":true}, + "meta": {"ref":"Record_string.string_","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "UpdateAutoTopoffSettingsRequest": { + "TypedProviderResponse": { "dataType": "refObject", "properties": { - "enabled": {"dataType":"boolean","required":true}, - "thresholdCents": {"dataType":"double","required":true}, - "topoffAmountCents": {"dataType":"double","required":true}, - "stripePaymentMethodId": {"dataType":"string","required":true}, + "json": {"ref":"Record_string.unknown_"}, + "textBody": {"dataType":"string"}, + "status": {"dataType":"double","required":true}, + "headers": {"ref":"Record_string.string_","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PaymentMethod": { + "TypedTiming": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "brand": {"dataType":"string","required":true}, - "last4": {"dataType":"string","required":true}, - "exp_month": {"dataType":"double","required":true}, - "exp_year": {"dataType":"double","required":true}, + "timeToFirstToken": {"dataType":"double"}, + "startTime": {"dataType":"string","required":true}, + "endTime": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "CreateSetupSessionRequest": { + "TypedAsyncLogModel": { "dataType": "refObject", "properties": { - "returnUrl": {"dataType":"string"}, + "providerRequest": {"ref":"TypedProviderRequest","required":true}, + "providerResponse": {"ref":"TypedProviderResponse","required":true}, + "timing": {"ref":"TypedTiming"}, + "provider": {"ref":"Provider"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "DailyUsageDataPoint": { + "OTELTrace": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"resourceSpans":{"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"scopeSpans":{"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"spans":{"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"droppedLinksCount":{"dataType":"double","required":true},"links":{"dataType":"array","array":{"dataType":"any"},"required":true},"status":{"dataType":"nestedObjectLiteral","nestedProperties":{"code":{"dataType":"double","required":true}},"required":true},"droppedEventsCount":{"dataType":"double","required":true},"events":{"dataType":"array","array":{"dataType":"any"},"required":true},"droppedAttributesCount":{"dataType":"double","required":true},"attributes":{"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"value":{"dataType":"nestedObjectLiteral","nestedProperties":{"intValue":{"dataType":"double"},"stringValue":{"dataType":"string"}},"required":true},"key":{"dataType":"string","required":true}}},"required":true},"endTimeUnixNano":{"dataType":"string","required":true},"startTimeUnixNano":{"dataType":"string","required":true},"kind":{"dataType":"double","required":true},"name":{"dataType":"string","required":true},"spanId":{"dataType":"string","required":true},"traceId":{"dataType":"string","required":true}}},"required":true},"scope":{"dataType":"nestedObjectLiteral","nestedProperties":{"version":{"dataType":"string","required":true},"name":{"dataType":"string","required":true}},"required":true}}},"required":true},"resource":{"dataType":"nestedObjectLiteral","nestedProperties":{"droppedAttributesCount":{"dataType":"double","required":true},"attributes":{"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"value":{"dataType":"nestedObjectLiteral","nestedProperties":{"arrayValue":{"dataType":"nestedObjectLiteral","nestedProperties":{"values":{"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"stringValue":{"dataType":"string","required":true}}},"required":true}}},"intValue":{"dataType":"double"},"stringValue":{"dataType":"string"}},"required":true},"key":{"dataType":"string","required":true}}},"required":true}},"required":true}}},"required":true}},"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "SendTestRequestResponse": { "dataType": "refObject", "properties": { - "date": {"dataType":"string","required":true}, - "requests": {"dataType":"double","required":true}, - "bytes": {"dataType":"double","required":true}, + "success": {"dataType":"boolean","required":true}, + "response": {"dataType":"string"}, + "requestId": {"dataType":"string"}, + "error": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "UsageStatsResponse": { + "SendTestRequestRequest": { "dataType": "refObject", "properties": { - "billingPeriod": {"dataType":"nestedObjectLiteral","nestedProperties":{"daysTotal":{"dataType":"double","required":true},"daysElapsed":{"dataType":"double","required":true},"end":{"dataType":"string","required":true},"start":{"dataType":"string","required":true}},"required":true}, - "usage": {"dataType":"nestedObjectLiteral","nestedProperties":{"totalGB":{"dataType":"double","required":true},"totalBytes":{"dataType":"double","required":true},"totalRequests":{"dataType":"double","required":true}},"required":true}, - "dailyData": {"dataType":"array","array":{"dataType":"refObject","ref":"DailyUsageDataPoint"},"required":true}, - "estimatedCost": {"dataType":"nestedObjectLiteral","nestedProperties":{"projectedMonthlyTotalCost":{"dataType":"double","required":true},"projectedMonthlyGBCost":{"dataType":"double","required":true},"projectedMonthlyRequestsCost":{"dataType":"double","required":true},"totalCost":{"dataType":"double","required":true},"gbCost":{"dataType":"double","required":true},"requestsCost":{"dataType":"double","required":true}},"required":true}, + "apiKey": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "IntegrationCreateParams": { + "SessionResult": { "dataType": "refObject", "properties": { - "integration_name": {"dataType":"string","required":true}, - "settings": {"ref":"Json"}, - "active": {"dataType":"boolean"}, + "created_at": {"dataType":"string","required":true}, + "latest_request_created_at": {"dataType":"string","required":true}, + "session_id": {"dataType":"string","required":true}, + "session_name": {"dataType":"string","required":true}, + "total_cost": {"dataType":"double","required":true}, + "total_requests": {"dataType":"double","required":true}, + "prompt_tokens": {"dataType":"double","required":true}, + "completion_tokens": {"dataType":"double","required":true}, + "total_tokens": {"dataType":"double","required":true}, + "avg_latency": {"dataType":"double","required":true}, + "user_ids": {"dataType":"array","array":{"dataType":"string"},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Integration": { + "ResultSuccess_SessionResult-Array_": { "dataType": "refObject", "properties": { - "integration_name": {"dataType":"string"}, - "settings": {"ref":"Json"}, - "active": {"dataType":"boolean"}, - "id": {"dataType":"string","required":true}, + "data": {"dataType":"array","array":{"dataType":"refObject","ref":"SessionResult"},"required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_Array_Integration__": { - "dataType": "refObject", - "properties": { - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"Integration"},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, + "Result_SessionResult-Array.string_": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_SessionResult-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_Array_Integration_.string_": { + "Pick_FilterLeaf.request_response_rmt-or-sessions_request_response_rmt_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_Array_Integration__"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"request_response_rmt":{"ref":"Partial_RequestResponseRMTToOperators_"},"sessions_request_response_rmt":{"ref":"Partial_SessionsRequestResponseRMTToOperators_"}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "IntegrationUpdateParams": { + "FilterLeafSubset_request_response_rmt-or-sessions_request_response_rmt_": { + "dataType": "refAlias", + "type": {"ref":"Pick_FilterLeaf.request_response_rmt-or-sessions_request_response_rmt_","validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "SessionFilterNode": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"FilterLeafSubset_request_response_rmt-or-sessions_request_response_rmt_"},{"ref":"SessionFilterBranch"},{"dataType":"enum","enums":["all"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "SessionFilterBranch": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"right":{"ref":"SessionFilterNode","required":true},"operator":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["or"]},{"dataType":"enum","enums":["and"]}],"required":true},"left":{"ref":"SessionFilterNode","required":true}},"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "SessionQueryParams": { "dataType": "refObject", "properties": { - "integration_name": {"dataType":"string"}, - "settings": {"ref":"Json"}, - "active": {"dataType":"boolean"}, + "search": {"dataType":"string","required":true}, + "timeFilter": {"dataType":"nestedObjectLiteral","nestedProperties":{"endTimeUnixMs":{"dataType":"double","required":true},"startTimeUnixMs":{"dataType":"double","required":true}},"required":true}, + "nameEquals": {"dataType":"string"}, + "timezoneDifference": {"dataType":"double","required":true}, + "filter": {"ref":"SessionFilterNode","required":true}, + "offset": {"dataType":"double"}, + "limit": {"dataType":"double"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_Integration_": { + "SessionsAggregateMetrics": { "dataType": "refObject", "properties": { - "data": {"ref":"Integration","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "count": {"dataType":"double","required":true}, + "total_cost": {"dataType":"double","required":true}, + "avg_cost": {"dataType":"double","required":true}, + "avg_latency": {"dataType":"double","required":true}, + "avg_requests": {"dataType":"double","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_Integration.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_Integration_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_Array__id-string--name-string___": { + "ResultSuccess_SessionsAggregateMetrics_": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"name":{"dataType":"string","required":true},"id":{"dataType":"string","required":true}}},"required":true}, + "data": {"ref":"SessionsAggregateMetrics","required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_Array__id-string--name-string__.string_": { + "Result_SessionsAggregateMetrics.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_Array__id-string--name-string___"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_SessionsAggregateMetrics_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "TestStripeMeterEventRequest": { + "SessionNameResult": { "dataType": "refObject", "properties": { - "event_name": {"dataType":"string","required":true}, - "customer_id": {"dataType":"string","required":true}, + "name": {"dataType":"string","required":true}, + "created_at": {"dataType":"string","required":true}, + "last_used": {"dataType":"string","required":true}, + "first_used": {"dataType":"string","required":true}, + "session_count": {"dataType":"double","required":true}, + "avg_latency": {"dataType":"double","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Partial_ResponseTableToOperators_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"body_tokens":{"ref":"Partial_NumberOperators_"},"body_model":{"ref":"Partial_TextOperators_"},"body_completion":{"ref":"Partial_TextOperators_"},"status":{"ref":"Partial_NumberOperators_"},"model":{"ref":"Partial_TextOperators_"}},"validators":{}}, + "ResultSuccess_SessionNameResult-Array_": { + "dataType": "refObject", + "properties": { + "data": {"dataType":"array","array":{"dataType":"refObject","ref":"SessionNameResult"},"required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Partial_TimestampOperators_": { + "Result_SessionNameResult-Array.string_": { "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"equals":{"dataType":"string"},"gte":{"dataType":"string"},"lte":{"dataType":"string"},"lt":{"dataType":"string"},"gt":{"dataType":"string"}},"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_SessionNameResult-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Partial_RequestTableToOperators_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"prompt":{"ref":"Partial_TextOperators_"},"created_at":{"ref":"Partial_TimestampOperators_"},"user_id":{"ref":"Partial_TextOperators_"},"auth_hash":{"ref":"Partial_TextOperators_"},"org_id":{"ref":"Partial_TextOperators_"},"id":{"ref":"Partial_TextOperators_"},"node_id":{"ref":"Partial_TextOperators_"},"model":{"ref":"Partial_TextOperators_"},"modelOverride":{"ref":"Partial_TextOperators_"},"path":{"ref":"Partial_TextOperators_"},"country_code":{"ref":"Partial_TextOperators_"},"prompt_id":{"ref":"Partial_TextOperators_"}},"validators":{}}, + "TimeFilterMs": { + "dataType": "refObject", + "properties": { + "startTimeUnixMs": {"dataType":"double","required":true}, + "endTimeUnixMs": {"dataType":"double","required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Partial_BooleanOperators_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"equals":{"dataType":"boolean"}},"validators":{}}, + "SessionNameQueryParams": { + "dataType": "refObject", + "properties": { + "nameContains": {"dataType":"string","required":true}, + "timezoneDifference": {"dataType":"double","required":true}, + "pSize": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["p50"]},{"dataType":"enum","enums":["p75"]},{"dataType":"enum","enums":["p95"]},{"dataType":"enum","enums":["p99"]},{"dataType":"enum","enums":["p99.9"]}]}, + "useInterquartile": {"dataType":"boolean"}, + "timeFilter": {"ref":"TimeFilterMs"}, + "filter": {"ref":"SessionFilterNode"}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Partial_FeedbackTableToOperators_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"id":{"ref":"Partial_NumberOperators_"},"created_at":{"ref":"Partial_TimestampOperators_"},"rating":{"ref":"Partial_BooleanOperators_"},"response_id":{"ref":"Partial_TextOperators_"}},"validators":{}}, + "AverageRow": { + "dataType": "refObject", + "properties": { + "average": {"dataType":"double","required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Partial_TimestampOperatorsTyped_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"equals":{"dataType":"datetime"},"gte":{"dataType":"datetime"},"lte":{"dataType":"datetime"},"lt":{"dataType":"datetime"},"gt":{"dataType":"datetime"}},"validators":{}}, + "SessionMetrics": { + "dataType": "refObject", + "properties": { + "session_count": {"dataType":"array","array":{"dataType":"refObject","ref":"HistogramRow"},"required":true}, + "session_duration": {"dataType":"array","array":{"dataType":"refObject","ref":"HistogramRow"},"required":true}, + "session_cost": {"dataType":"array","array":{"dataType":"refObject","ref":"HistogramRow"},"required":true}, + "average": {"dataType":"nestedObjectLiteral","nestedProperties":{"session_cost":{"dataType":"array","array":{"dataType":"refObject","ref":"AverageRow"},"required":true},"session_duration":{"dataType":"array","array":{"dataType":"refObject","ref":"AverageRow"},"required":true},"session_count":{"dataType":"array","array":{"dataType":"refObject","ref":"AverageRow"},"required":true}},"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Partial_RequestResponseRMTToOperators_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"country_code":{"ref":"Partial_TextOperators_"},"latency":{"ref":"Partial_NumberOperators_"},"cost":{"ref":"Partial_NumberOperators_"},"provider":{"ref":"Partial_TextOperators_"},"time_to_first_token":{"ref":"Partial_NumberOperators_"},"status":{"ref":"Partial_NumberOperators_"},"request_created_at":{"ref":"Partial_TimestampOperatorsTyped_"},"response_created_at":{"ref":"Partial_TimestampOperatorsTyped_"},"model":{"ref":"Partial_TextOperators_"},"user_id":{"ref":"Partial_TextOperators_"},"organization_id":{"ref":"Partial_TextOperators_"},"node_id":{"ref":"Partial_TextOperators_"},"job_id":{"ref":"Partial_TextOperators_"},"threat":{"ref":"Partial_BooleanOperators_"},"request_id":{"ref":"Partial_TextOperators_"},"prompt_tokens":{"ref":"Partial_NumberOperators_"},"completion_tokens":{"ref":"Partial_NumberOperators_"},"prompt_cache_read_tokens":{"ref":"Partial_NumberOperators_"},"prompt_cache_write_tokens":{"ref":"Partial_NumberOperators_"},"total_tokens":{"ref":"Partial_NumberOperators_"},"target_url":{"ref":"Partial_TextOperators_"},"property_key":{"dataType":"nestedObjectLiteral","nestedProperties":{"equals":{"dataType":"string","required":true}}},"properties":{"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"Partial_TextOperators_"}},"search_properties":{"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"Partial_TextOperators_"}},"scores":{"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"Partial_TextOperators_"}},"scores_column":{"ref":"Partial_TextOperators_"},"request_body":{"ref":"Partial_TextOperators_"},"response_body":{"ref":"Partial_TextOperators_"},"cache_enabled":{"ref":"Partial_BooleanOperators_"},"cache_reference_id":{"ref":"Partial_TextOperators_"},"cached":{"ref":"Partial_BooleanOperators_"},"assets":{"ref":"Partial_TextOperators_"},"helicone-score-feedback":{"ref":"Partial_BooleanOperators_"},"prompt_id":{"ref":"Partial_TextOperators_"},"prompt_version":{"ref":"Partial_TextOperators_"},"request_referrer":{"ref":"Partial_TextOperators_"},"is_passthrough_billing":{"ref":"Partial_BooleanOperators_"}},"validators":{}}, + "ResultSuccess_SessionMetrics_": { + "dataType": "refObject", + "properties": { + "data": {"ref":"SessionMetrics","required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Partial_SessionsRequestResponseRMTToOperators_": { + "Result_SessionMetrics.string_": { "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"session_session_id":{"ref":"Partial_TextOperators_"},"session_session_name":{"ref":"Partial_TextOperators_"},"session_total_cost":{"ref":"Partial_NumberOperators_"},"session_total_tokens":{"ref":"Partial_NumberOperators_"},"session_prompt_tokens":{"ref":"Partial_NumberOperators_"},"session_completion_tokens":{"ref":"Partial_NumberOperators_"},"session_total_requests":{"ref":"Partial_NumberOperators_"},"session_created_at":{"ref":"Partial_TimestampOperatorsTyped_"},"session_latest_request_created_at":{"ref":"Partial_TimestampOperatorsTyped_"},"session_tag":{"ref":"Partial_TextOperators_"}},"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_SessionMetrics_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Pick_FilterLeaf.feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"values":{"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"Partial_TextOperators_"}},"response":{"ref":"Partial_ResponseTableToOperators_"},"request":{"ref":"Partial_RequestTableToOperators_"},"feedback":{"ref":"Partial_FeedbackTableToOperators_"},"request_response_rmt":{"ref":"Partial_RequestResponseRMTToOperators_"},"sessions_request_response_rmt":{"ref":"Partial_SessionsRequestResponseRMTToOperators_"},"properties":{"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"Partial_TextOperators_"}}},"validators":{}}, + "SessionMetricsQueryParams": { + "dataType": "refObject", + "properties": { + "nameContains": {"dataType":"string","required":true}, + "timezoneDifference": {"dataType":"double","required":true}, + "pSize": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["p50"]},{"dataType":"enum","enums":["p75"]},{"dataType":"enum","enums":["p95"]},{"dataType":"enum","enums":["p99"]},{"dataType":"enum","enums":["p99.9"]}]}, + "useInterquartile": {"dataType":"boolean"}, + "timeFilter": {"ref":"TimeFilterMs"}, + "filter": {"ref":"SessionFilterNode"}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "FilterLeafSubset_feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_": { - "dataType": "refAlias", - "type": {"ref":"Pick_FilterLeaf.feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_","validators":{}}, + "ResultSuccess_string-or-null_": { + "dataType": "refObject", + "properties": { + "data": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "RequestFilterNode": { + "Result_string-or-null.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"FilterLeafSubset_feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_"},{"ref":"RequestFilterBranch"},{"dataType":"enum","enums":["all"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_string-or-null_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "RequestFilterBranch": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"right":{"ref":"RequestFilterNode","required":true},"operator":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["or"]},{"dataType":"enum","enums":["and"]}],"required":true},"left":{"ref":"RequestFilterNode","required":true}},"validators":{}}, + "MetricsData": { + "dataType": "refObject", + "properties": { + "totalRequests": {"dataType":"double","required":true}, + "requestCountPrevious24h": {"dataType":"double","required":true}, + "requestVolumeChange": {"dataType":"double","required":true}, + "errorRate24h": {"dataType":"double","required":true}, + "errorRatePrevious24h": {"dataType":"double","required":true}, + "errorRateChange": {"dataType":"double","required":true}, + "averageLatency": {"dataType":"double","required":true}, + "averageLatencyPerToken": {"dataType":"double","required":true}, + "latencyChange": {"dataType":"double","required":true}, + "latencyPerTokenChange": {"dataType":"double","required":true}, + "recentRequestCount": {"dataType":"double","required":true}, + "recentErrorCount": {"dataType":"double","required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "SortDirection": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["asc"]},{"dataType":"enum","enums":["desc"]}],"validators":{}}, + "TimeSeriesDataPoint": { + "dataType": "refObject", + "properties": { + "timestamp": {"dataType":"datetime","required":true}, + "errorCount": {"dataType":"double","required":true}, + "requestCount": {"dataType":"double","required":true}, + "averageLatency": {"dataType":"double","required":true}, + "averageLatencyPerCompletionToken": {"dataType":"double","required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "SortLeafRequest": { + "ProviderMetrics": { "dataType": "refObject", "properties": { - "random": {"dataType":"enum","enums":[true]}, - "created_at": {"ref":"SortDirection"}, - "cache_created_at": {"ref":"SortDirection"}, - "latency": {"ref":"SortDirection"}, - "last_active": {"ref":"SortDirection"}, - "total_tokens": {"ref":"SortDirection"}, - "completion_tokens": {"ref":"SortDirection"}, - "prompt_tokens": {"ref":"SortDirection"}, - "user_id": {"ref":"SortDirection"}, - "body_model": {"ref":"SortDirection"}, - "is_cached": {"ref":"SortDirection"}, - "request_prompt": {"ref":"SortDirection"}, - "response_text": {"ref":"SortDirection"}, - "properties": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"SortDirection"}}, - "values": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"SortDirection"}}, - "cost": {"ref":"SortDirection"}, - "time_to_first_token": {"ref":"SortDirection"}, + "providerName": {"dataType":"string","required":true}, + "metrics": {"dataType":"intersection","subSchemas":[{"ref":"MetricsData"},{"dataType":"nestedObjectLiteral","nestedProperties":{"timeSeriesData":{"dataType":"array","array":{"dataType":"refObject","ref":"TimeSeriesDataPoint"},"required":true}}}],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "RequestQueryParams": { + "ResultSuccess_ProviderMetrics-Array_": { "dataType": "refObject", "properties": { - "filter": {"ref":"RequestFilterNode","required":true}, - "offset": {"dataType":"double"}, - "limit": {"dataType":"double"}, - "sort": {"ref":"SortLeafRequest"}, - "isCached": {"dataType":"boolean"}, - "includeInputs": {"dataType":"boolean"}, - "isPartOfExperiment": {"dataType":"boolean"}, - "isScored": {"dataType":"boolean"}, + "data": {"dataType":"array","array":{"dataType":"refObject","ref":"ProviderMetrics"},"required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ProviderName": { + "Result_ProviderMetrics-Array.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["OPENAI"]},{"dataType":"enum","enums":["ANTHROPIC"]},{"dataType":"enum","enums":["AZURE"]},{"dataType":"enum","enums":["LOCAL"]},{"dataType":"enum","enums":["HELICONE"]},{"dataType":"enum","enums":["AMDBARTEK"]},{"dataType":"enum","enums":["ANYSCALE"]},{"dataType":"enum","enums":["CLOUDFLARE"]},{"dataType":"enum","enums":["2YFV"]},{"dataType":"enum","enums":["TOGETHER"]},{"dataType":"enum","enums":["LEMONFOX"]},{"dataType":"enum","enums":["FIREWORKS"]},{"dataType":"enum","enums":["PERPLEXITY"]},{"dataType":"enum","enums":["GOOGLE"]},{"dataType":"enum","enums":["OPENROUTER"]},{"dataType":"enum","enums":["WISDOMINANUTSHELL"]},{"dataType":"enum","enums":["GROQ"]},{"dataType":"enum","enums":["COHERE"]},{"dataType":"enum","enums":["MISTRAL"]},{"dataType":"enum","enums":["DEEPINFRA"]},{"dataType":"enum","enums":["QSTASH"]},{"dataType":"enum","enums":["FIRECRAWL"]},{"dataType":"enum","enums":["AWS"]},{"dataType":"enum","enums":["BEDROCK"]},{"dataType":"enum","enums":["DEEPSEEK"]},{"dataType":"enum","enums":["X"]},{"dataType":"enum","enums":["AVIAN"]},{"dataType":"enum","enums":["NEBIUS"]},{"dataType":"enum","enums":["NOVITA"]},{"dataType":"enum","enums":["OPENPIPE"]},{"dataType":"enum","enums":["CHUTES"]},{"dataType":"enum","enums":["LLAMA"]},{"dataType":"enum","enums":["NVIDIA"]},{"dataType":"enum","enums":["VERCEL"]},{"dataType":"enum","enums":["CEREBRAS"]},{"dataType":"enum","enums":["BASETEN"]},{"dataType":"enum","enums":["CANOPYWAVE"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_ProviderMetrics-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ModelProviderName": { - "dataType": "refAlias", - "type": {"dataType":"enum","enums":["baseten","anthropic","azure","bedrock","canopywave","cerebras","chutes","deepinfra","deepseek","fireworks","google-ai-studio","groq","helicone","mistral","nebius","novita","openai","openrouter","perplexity","vertex","xai"],"validators":{}}, + "ResultSuccess_ProviderMetrics_": { + "dataType": "refObject", + "properties": { + "data": {"ref":"ProviderMetrics","required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Provider": { + "Result_ProviderMetrics.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ProviderName"},{"dataType":"enum","enums":["CUSTOM"]},{"ref":"ModelProviderName"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_ProviderMetrics_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "LlmType": { + "TimeFrame": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["chat"]},{"dataType":"enum","enums":["completion"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["24h"]},{"dataType":"enum","enums":["7d"]},{"dataType":"enum","enums":["30d"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "FunctionCall": { + "ProviderMetric": { "dataType": "refObject", "properties": { - "id": {"dataType":"string"}, - "name": {"dataType":"string","required":true}, - "arguments": {"ref":"Record_string.any_","required":true}, + "provider": {"dataType":"string","required":true}, + "total_requests": {"dataType":"double","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Message": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"ending_event_id":{"dataType":"string"},"trigger_event_id":{"dataType":"string"},"start_timestamp":{"dataType":"string"},"annotations":{"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"content":{"dataType":"string"},"title":{"dataType":"string","required":true},"url":{"dataType":"string","required":true},"type":{"dataType":"enum","enums":["url_citation"],"required":true}}}},"reasoning":{"dataType":"string"},"deleted":{"dataType":"boolean"},"contentArray":{"dataType":"array","array":{"dataType":"refAlias","ref":"Message"}},"idx":{"dataType":"double"},"detail":{"dataType":"string"},"filename":{"dataType":"string"},"file_id":{"dataType":"string"},"file_data":{"dataType":"string"},"type":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["input_image"]},{"dataType":"enum","enums":["input_text"]},{"dataType":"enum","enums":["input_file"]}]},"audio_data":{"dataType":"string"},"image_url":{"dataType":"string"},"timestamp":{"dataType":"string"},"tool_call_id":{"dataType":"string"},"tool_calls":{"dataType":"array","array":{"dataType":"refObject","ref":"FunctionCall"}},"mime_type":{"dataType":"string"},"content":{"dataType":"string"},"name":{"dataType":"string"},"instruction":{"dataType":"string"},"role":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":["user"]},{"dataType":"enum","enums":["assistant"]},{"dataType":"enum","enums":["system"]},{"dataType":"enum","enums":["developer"]}]},"id":{"dataType":"string"},"_type":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["functionCall"]},{"dataType":"enum","enums":["function"]},{"dataType":"enum","enums":["image"]},{"dataType":"enum","enums":["file"]},{"dataType":"enum","enums":["message"]},{"dataType":"enum","enums":["autoInput"]},{"dataType":"enum","enums":["contentArray"]},{"dataType":"enum","enums":["audio"]}],"required":true}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Tool": { + "ResultSuccess_ProviderMetric-Array_": { "dataType": "refObject", "properties": { - "name": {"dataType":"string","required":true}, - "description": {"dataType":"string"}, - "parameters": {"ref":"Record_string.any_"}, - "strict": {"dataType":"boolean"}, + "data": {"dataType":"array","array":{"dataType":"refObject","ref":"ProviderMetric"},"required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "HeliconeEventTool": { - "dataType": "refObject", - "properties": { - "_type": {"dataType":"enum","enums":["tool"],"required":true}, - "toolName": {"dataType":"string","required":true}, - "input": {"dataType":"any","required":true}, - }, - "additionalProperties": {"dataType":"any"}, + "Result_ProviderMetric-Array.string_": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_ProviderMetric-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "HeliconeEventVectorDB": { - "dataType": "refObject", - "properties": { - "_type": {"dataType":"enum","enums":["vector_db"],"required":true}, - "operation": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["search"]},{"dataType":"enum","enums":["insert"]},{"dataType":"enum","enums":["delete"]},{"dataType":"enum","enums":["update"]}],"required":true}, - "text": {"dataType":"string"}, - "vector": {"dataType":"array","array":{"dataType":"double"}}, - "topK": {"dataType":"double"}, - "filter": {"dataType":"object"}, - "databaseName": {"dataType":"string"}, - }, - "additionalProperties": {"dataType":"any"}, + "Partial_UserMetricsToOperators_": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"user_id":{"ref":"Partial_TextOperators_"},"last_active":{"ref":"Partial_TimestampOperators_"},"total_requests":{"ref":"Partial_NumberOperators_"},"active_for":{"ref":"Partial_NumberOperators_"},"average_requests_per_day_active":{"ref":"Partial_NumberOperators_"},"average_tokens_per_request":{"ref":"Partial_NumberOperators_"},"total_completion_tokens":{"ref":"Partial_NumberOperators_"},"total_prompt_tokens":{"ref":"Partial_NumberOperators_"},"cost":{"ref":"Partial_NumberOperators_"}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "HeliconeEventData": { - "dataType": "refObject", - "properties": { - "_type": {"dataType":"enum","enums":["data"],"required":true}, - "name": {"dataType":"string","required":true}, - "meta": {"ref":"Record_string.any_"}, - }, - "additionalProperties": {"dataType":"any"}, + "Partial_UserApiKeysTableToOperators_": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"api_key_hash":{"ref":"Partial_TextOperators_"},"api_key_name":{"ref":"Partial_TextOperators_"}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "LLMRequestBody": { - "dataType": "refObject", - "properties": { - "llm_type": {"ref":"LlmType"}, - "provider": {"dataType":"string"}, - "model": {"dataType":"string"}, - "messages": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"Message"}},{"dataType":"enum","enums":[null]}]}, - "prompt": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "instructions": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "max_tokens": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, - "temperature": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, - "top_p": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, - "seed": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, - "stream": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}]}, - "presence_penalty": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, - "frequency_penalty": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, - "stop": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "reasoning_effort": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["minimal"]},{"dataType":"enum","enums":["low"]},{"dataType":"enum","enums":["medium"]},{"dataType":"enum","enums":["high"]},{"dataType":"enum","enums":[null]}]}, - "verbosity": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["low"]},{"dataType":"enum","enums":["medium"]},{"dataType":"enum","enums":["high"]},{"dataType":"enum","enums":[null]}]}, - "tools": {"dataType":"array","array":{"dataType":"refObject","ref":"Tool"}}, - "parallel_tool_calls": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}]}, - "tool_choice": {"dataType":"nestedObjectLiteral","nestedProperties":{"name":{"dataType":"string"},"type":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["auto"]},{"dataType":"enum","enums":["any"]},{"dataType":"enum","enums":["tool"]}],"required":true}}}, - "response_format": {"dataType":"nestedObjectLiteral","nestedProperties":{"json_schema":{"dataType":"any"},"type":{"dataType":"string","required":true}}}, - "toolDetails": {"ref":"HeliconeEventTool"}, - "vectorDBDetails": {"ref":"HeliconeEventVectorDB"}, - "dataDetails": {"ref":"HeliconeEventData"}, - "input": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"array","array":{"dataType":"string"}}]}, - "n": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, - "size": {"dataType":"string"}, - "quality": {"dataType":"string"}, - }, - "additionalProperties": false, + "Partial_PropertiesTableToOperators_": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"auth_hash":{"ref":"Partial_TextOperators_"},"key":{"ref":"Partial_TextOperators_"},"value":{"ref":"Partial_TextOperators_"}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Response": { + "Partial_PromptToOperators_": { "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"contentArray":{"dataType":"array","array":{"dataType":"refAlias","ref":"Response"}},"detail":{"dataType":"string"},"filename":{"dataType":"string"},"file_id":{"dataType":"string"},"file_data":{"dataType":"string"},"idx":{"dataType":"double"},"audio_data":{"dataType":"string"},"image_url":{"dataType":"string"},"timestamp":{"dataType":"string"},"tool_call_id":{"dataType":"string"},"tool_calls":{"dataType":"array","array":{"dataType":"refObject","ref":"FunctionCall"}},"text":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"undefined"}]},"type":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["input_image"]},{"dataType":"enum","enums":["input_text"]},{"dataType":"enum","enums":["input_file"]}],"required":true},"name":{"dataType":"string"},"role":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["user"]},{"dataType":"enum","enums":["assistant"]},{"dataType":"enum","enums":["system"]},{"dataType":"enum","enums":["developer"]}],"required":true},"id":{"dataType":"string"},"_type":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["functionCall"]},{"dataType":"enum","enums":["function"]},{"dataType":"enum","enums":["image"]},{"dataType":"enum","enums":["text"]},{"dataType":"enum","enums":["file"]},{"dataType":"enum","enums":["contentArray"]}],"required":true}},"validators":{}}, + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"id":{"ref":"Partial_TextOperators_"},"user_defined_id":{"ref":"Partial_TextOperators_"}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "LLMResponseBody": { + "Partial_PromptVersionsToOperators_": { "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"dataDetailsResponse":{"dataType":"nestedObjectLiteral","nestedProperties":{"name":{"dataType":"string","required":true},"_type":{"dataType":"enum","enums":["data"],"required":true},"metadata":{"dataType":"nestedObjectLiteral","nestedProperties":{"timestamp":{"dataType":"string","required":true}},"additionalProperties":{"dataType":"any"},"required":true},"message":{"dataType":"string","required":true},"status":{"dataType":"string","required":true}},"additionalProperties":{"dataType":"any"}},"vectorDBDetailsResponse":{"dataType":"nestedObjectLiteral","nestedProperties":{"_type":{"dataType":"enum","enums":["vector_db"],"required":true},"metadata":{"dataType":"nestedObjectLiteral","nestedProperties":{"timestamp":{"dataType":"string","required":true},"destination_parsed":{"dataType":"boolean"},"destination":{"dataType":"string"}},"required":true},"actualSimilarity":{"dataType":"double"},"similarityThreshold":{"dataType":"double"},"message":{"dataType":"string","required":true},"status":{"dataType":"string","required":true}}},"toolDetailsResponse":{"dataType":"nestedObjectLiteral","nestedProperties":{"toolName":{"dataType":"string","required":true},"_type":{"dataType":"enum","enums":["tool"],"required":true},"metadata":{"dataType":"nestedObjectLiteral","nestedProperties":{"timestamp":{"dataType":"string","required":true}},"required":true},"tips":{"dataType":"array","array":{"dataType":"string"},"required":true},"message":{"dataType":"string","required":true},"status":{"dataType":"string","required":true}}},"error":{"dataType":"nestedObjectLiteral","nestedProperties":{"heliconeMessage":{"dataType":"any","required":true}}},"model":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]},"instructions":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]},"responses":{"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"Response"}},{"dataType":"enum","enums":[null]}]},"messages":{"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"refAlias","ref":"Message"}},{"dataType":"enum","enums":[null]}]}},"validators":{}}, + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"minor_version":{"ref":"Partial_NumberOperators_"},"major_version":{"ref":"Partial_NumberOperators_"},"id":{"ref":"Partial_TextOperators_"},"prompt_v2":{"ref":"Partial_TextOperators_"}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "LlmSchema": { - "dataType": "refObject", - "properties": { - "request": {"ref":"LLMRequestBody","required":true}, - "response": {"dataType":"union","subSchemas":[{"ref":"LLMResponseBody"},{"dataType":"enum","enums":[null]}]}, - }, - "additionalProperties": false, + "Partial_ExperimentToOperators_": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"id":{"ref":"Partial_TextOperators_"},"prompt_v2":{"ref":"Partial_TextOperators_"}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "HeliconeRequest": { - "dataType": "refObject", - "properties": { - "response_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "response_created_at": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "response_body": {"dataType":"any"}, - "response_status": {"dataType":"double","required":true}, - "response_model": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "request_id": {"dataType":"string","required":true}, - "request_created_at": {"dataType":"string","required":true}, - "request_body": {"dataType":"any","required":true}, - "request_path": {"dataType":"string","required":true}, - "request_user_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "request_properties": {"dataType":"union","subSchemas":[{"ref":"Record_string.string_"},{"dataType":"enum","enums":[null]}],"required":true}, - "request_model": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "model_override": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "helicone_user": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "provider": {"ref":"Provider","required":true}, - "delay_ms": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "time_to_first_token": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "total_tokens": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "prompt_tokens": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "prompt_cache_write_tokens": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "prompt_cache_read_tokens": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "completion_tokens": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "reasoning_tokens": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "prompt_audio_tokens": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "completion_audio_tokens": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "cost": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "prompt_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "prompt_version": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "feedback_created_at": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "feedback_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "feedback_rating": {"dataType":"union","subSchemas":[{"dataType":"boolean"},{"dataType":"enum","enums":[null]}]}, - "signed_body_url": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "llmSchema": {"dataType":"union","subSchemas":[{"ref":"LlmSchema"},{"dataType":"enum","enums":[null]}],"required":true}, - "country_code": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "asset_ids": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"enum","enums":[null]}],"required":true}, - "asset_urls": {"dataType":"union","subSchemas":[{"ref":"Record_string.string_"},{"dataType":"enum","enums":[null]}],"required":true}, - "scores": {"dataType":"union","subSchemas":[{"ref":"Record_string.number_"},{"dataType":"enum","enums":[null]}],"required":true}, - "costUSD": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}]}, - "properties": {"ref":"Record_string.string_","required":true}, - "assets": {"dataType":"array","array":{"dataType":"string"},"required":true}, - "target_url": {"dataType":"string","required":true}, - "model": {"dataType":"string","required":true}, - "cache_reference_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "cache_enabled": {"dataType":"boolean","required":true}, - "updated_at": {"dataType":"string"}, - "request_referrer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, - "ai_gateway_body_mapping": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "storage_location": {"dataType":"string"}, - }, - "additionalProperties": false, + "Partial_ExperimentHypothesisRunToOperator_": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"result_request_id":{"ref":"Partial_TextOperators_"}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_HeliconeRequest-Array_": { - "dataType": "refObject", - "properties": { - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"HeliconeRequest"},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, + "Partial_ScoreValueToOperator_": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"request_id":{"ref":"Partial_TextOperators_"}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_HeliconeRequest-Array.string_": { + "Partial_RequestResponseLogToOperators_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_HeliconeRequest-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"latency":{"ref":"Partial_NumberOperators_"},"status":{"ref":"Partial_NumberOperators_"},"request_created_at":{"ref":"Partial_TimestampOperatorsTyped_"},"response_created_at":{"ref":"Partial_TimestampOperatorsTyped_"},"auth_hash":{"ref":"Partial_TextOperators_"},"model":{"ref":"Partial_TextOperators_"},"user_id":{"ref":"Partial_TextOperators_"},"organization_id":{"ref":"Partial_TextOperators_"},"node_id":{"ref":"Partial_TextOperators_"},"job_id":{"ref":"Partial_TextOperators_"},"threat":{"ref":"Partial_BooleanOperators_"}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_HeliconeRequest_": { - "dataType": "refObject", - "properties": { - "data": {"ref":"HeliconeRequest","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, + "Partial_PropertiesV3ToOperators_": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"key":{"ref":"Partial_TextOperators_"},"value":{"ref":"Partial_TextOperators_"},"organization_id":{"ref":"Partial_TextOperators_"}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_HeliconeRequest.string_": { + "Partial_PropertyWithResponseV1ToOperators_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_HeliconeRequest_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"property_key":{"ref":"Partial_TextOperators_"},"property_value":{"ref":"Partial_TextOperators_"},"request_created_at":{"ref":"Partial_TimestampOperatorsTyped_"},"organization_id":{"ref":"Partial_TextOperators_"},"threat":{"ref":"Partial_BooleanOperators_"}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null_": { - "dataType": "refObject", - "properties": { - "data": {"dataType":"union","subSchemas":[{"dataType":"nestedObjectLiteral","nestedProperties":{"environment":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true},"version_id":{"dataType":"string","required":true},"prompt_id":{"dataType":"string","required":true},"inputs":{"ref":"Record_string.any_","required":true}}},{"dataType":"enum","enums":[null]}],"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, + "Partial_JobToOperators_": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"id":{"ref":"Partial_TextOperators_"},"name":{"ref":"Partial_TextOperators_"},"description":{"ref":"Partial_TextOperators_"},"status":{"ref":"Partial_TextOperators_"},"created_at":{"ref":"Partial_TimestampOperators_"},"updated_at":{"ref":"Partial_TimestampOperators_"},"timeout_seconds":{"ref":"Partial_NumberOperators_"},"custom_properties":{"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"Partial_TextOperators_"}},"org_id":{"ref":"Partial_TextOperators_"}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null.string_": { + "Partial_NodesToOperators_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"id":{"ref":"Partial_TextOperators_"},"name":{"ref":"Partial_TextOperators_"},"description":{"ref":"Partial_TextOperators_"},"job_id":{"ref":"Partial_TextOperators_"},"status":{"ref":"Partial_TextOperators_"},"created_at":{"ref":"Partial_TimestampOperators_"},"updated_at":{"ref":"Partial_TimestampOperators_"},"timeout_seconds":{"ref":"Partial_NumberOperators_"},"custom_properties":{"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"Partial_TextOperators_"}},"org_id":{"ref":"Partial_TextOperators_"}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "HeliconeRequestAsset": { - "dataType": "refObject", - "properties": { - "assetUrl": {"dataType":"string","required":true}, - }, - "additionalProperties": false, + "Partial_CacheMetricsTableToOperators_": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"organization_id":{"ref":"Partial_TextOperators_"},"request_id":{"ref":"Partial_TextOperators_"},"date":{"ref":"Partial_TimestampOperatorsTyped_"},"hour":{"ref":"Partial_NumberOperators_"},"model":{"ref":"Partial_TextOperators_"},"cache_hit_count":{"ref":"Partial_NumberOperators_"},"saved_latency_ms":{"ref":"Partial_NumberOperators_"},"saved_completion_tokens":{"ref":"Partial_NumberOperators_"},"saved_prompt_tokens":{"ref":"Partial_NumberOperators_"},"saved_completion_audio_tokens":{"ref":"Partial_NumberOperators_"},"saved_prompt_audio_tokens":{"ref":"Partial_NumberOperators_"},"saved_prompt_cache_write_tokens":{"ref":"Partial_NumberOperators_"},"saved_prompt_cache_read_tokens":{"ref":"Partial_NumberOperators_"},"first_hit":{"ref":"Partial_TimestampOperatorsTyped_"},"last_hit":{"ref":"Partial_TimestampOperatorsTyped_"},"request_body":{"ref":"Partial_TextOperators_"},"response_body":{"ref":"Partial_TextOperators_"}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_HeliconeRequestAsset_": { - "dataType": "refObject", - "properties": { - "data": {"ref":"HeliconeRequestAsset","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, + "Partial_RateLimitTableToOperators_": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"organization_id":{"ref":"Partial_TextOperators_"},"created_at":{"ref":"Partial_TimestampOperatorsTyped_"}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_HeliconeRequestAsset.string_": { + "Partial_OrganizationPropertiesToOperators_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_HeliconeRequestAsset_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"organization_id":{"ref":"Partial_TextOperators_"},"property_key":{"ref":"Partial_TextOperators_"}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Record_string.number-or-boolean-or-undefined_": { + "Partial_TablesAndViews_": { "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"boolean"}]},"validators":{}}, + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"user_metrics":{"ref":"Partial_UserMetricsToOperators_"},"user_api_keys":{"ref":"Partial_UserApiKeysTableToOperators_"},"response":{"ref":"Partial_ResponseTableToOperators_"},"request":{"ref":"Partial_RequestTableToOperators_"},"feedback":{"ref":"Partial_FeedbackTableToOperators_"},"properties_table":{"ref":"Partial_PropertiesTableToOperators_"},"prompt_v2":{"ref":"Partial_PromptToOperators_"},"prompts_versions":{"ref":"Partial_PromptVersionsToOperators_"},"experiment":{"ref":"Partial_ExperimentToOperators_"},"experiment_hypothesis_run":{"ref":"Partial_ExperimentHypothesisRunToOperator_"},"score_value":{"ref":"Partial_ScoreValueToOperator_"},"request_response_log":{"ref":"Partial_RequestResponseLogToOperators_"},"request_response_rmt":{"ref":"Partial_RequestResponseRMTToOperators_"},"sessions_request_response_rmt":{"ref":"Partial_SessionsRequestResponseRMTToOperators_"},"users_view":{"ref":"Partial_UserViewToOperators_"},"properties_v3":{"ref":"Partial_PropertiesV3ToOperators_"},"property_with_response_v1":{"ref":"Partial_PropertyWithResponseV1ToOperators_"},"job":{"ref":"Partial_JobToOperators_"},"job_node":{"ref":"Partial_NodesToOperators_"},"cache_metrics":{"ref":"Partial_CacheMetricsTableToOperators_"},"rate_limit_log":{"ref":"Partial_RateLimitTableToOperators_"},"organization_properties":{"ref":"Partial_OrganizationPropertiesToOperators_"},"properties":{"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"Partial_TextOperators_"}},"values":{"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"Partial_TextOperators_"}}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Scores": { + "SingleKey_TablesAndViews_": { "dataType": "refAlias", - "type": {"ref":"Record_string.number-or-boolean-or-undefined_","validators":{}}, + "type": {"ref":"Partial_TablesAndViews_","validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ScoreRequest": { - "dataType": "refObject", - "properties": { - "scores": {"ref":"Scores","required":true}, - }, - "additionalProperties": false, + "FilterLeaf": { + "dataType": "refAlias", + "type": {"ref":"SingleKey_TablesAndViews_","validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ConversationMessage": { - "dataType": "refObject", - "properties": { - "role": {"dataType":"string","required":true}, - "content": {"dataType":"string","required":true}, - }, - "additionalProperties": false, + "FilterNode": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"FilterLeaf"},{"ref":"FilterBranch"},{"dataType":"enum","enums":["all"]},{"dataType":"nestedObjectLiteral","nestedProperties":{}}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "MostExpensiveRequest": { + "FilterBranch": { "dataType": "refObject", "properties": { - "requestId": {"dataType":"string","required":true}, - "cost": {"dataType":"double","required":true}, - "model": {"dataType":"string","required":true}, - "provider": {"dataType":"string","required":true}, - "createdAt": {"dataType":"string","required":true}, - "promptTokens": {"dataType":"double","required":true}, - "completionTokens": {"dataType":"double","required":true}, - "conversation": {"dataType":"union","subSchemas":[{"dataType":"nestedObjectLiteral","nestedProperties":{"totalWords":{"dataType":"double","required":true},"turnCount":{"dataType":"double","required":true},"messages":{"dataType":"array","array":{"dataType":"refObject","ref":"ConversationMessage"},"required":true}}},{"dataType":"enum","enums":[null]}],"required":true}, + "left": {"ref":"FilterNode","required":true}, + "operator": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["or"]},{"dataType":"enum","enums":["and"]}],"required":true}, + "right": {"ref":"FilterNode","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "WrappedStats": { + "ProviderQueryParams": { "dataType": "refObject", "properties": { - "totalRequests": {"dataType":"double","required":true}, - "topProviders": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"count":{"dataType":"double","required":true},"provider":{"dataType":"string","required":true}}},"required":true}, - "topModels": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"count":{"dataType":"double","required":true},"model":{"dataType":"string","required":true}}},"required":true}, - "totalTokens": {"dataType":"nestedObjectLiteral","nestedProperties":{"total":{"dataType":"double","required":true},"cacheRead":{"dataType":"double","required":true},"cacheWrite":{"dataType":"double","required":true},"completion":{"dataType":"double","required":true},"prompt":{"dataType":"double","required":true}},"required":true}, - "mostExpensiveRequest": {"dataType":"union","subSchemas":[{"ref":"MostExpensiveRequest"},{"dataType":"enum","enums":[null]}],"required":true}, + "filter": {"ref":"FilterNode","required":true}, + "offset": {"dataType":"double","required":true}, + "limit": {"dataType":"double","required":true}, + "timeFilter": {"dataType":"nestedObjectLiteral","nestedProperties":{"end":{"dataType":"string","required":true},"start":{"dataType":"string","required":true}},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_WrappedStats_": { + "ResultSuccess__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array_": { "dataType": "refObject", "properties": { - "data": {"ref":"WrappedStats","required":true}, + "data": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"created_at_trunc":{"dataType":"string","required":true},"request_count":{"dataType":"double","required":true},"total_cost":{"dataType":"double","required":true},"property":{"dataType":"string","required":true}}},"required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_WrappedStats.string_": { + "Result__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_WrappedStats_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__hasData-boolean__": { - "dataType": "refObject", - "properties": { - "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"hasData":{"dataType":"boolean","required":true}},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, + "Pick_FilterLeaf.request_response_rmt_": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"request_response_rmt":{"ref":"Partial_RequestResponseRMTToOperators_"}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__hasData-boolean_.string_": { + "FilterLeafSubset_request_response_rmt_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__hasData-boolean__"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"ref":"Pick_FilterLeaf.request_response_rmt_","validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_unknown_": { - "dataType": "refObject", - "properties": { - "data": {"dataType":"any","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, + "RequestClickhouseFilterNode": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"FilterLeafSubset_request_response_rmt_"},{"ref":"RequestClickhouseFilterBranch"},{"dataType":"enum","enums":["all"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultError_unknown_": { - "dataType": "refObject", - "properties": { - "data": {"dataType":"enum","enums":[null],"required":true}, - "error": {"dataType":"any","required":true}, - }, - "additionalProperties": false, + "RequestClickhouseFilterBranch": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"right":{"ref":"RequestClickhouseFilterNode","required":true},"operator":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["or"]},{"dataType":"enum","enums":["and"]}],"required":true},"left":{"ref":"RequestClickhouseFilterNode","required":true}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "WebhookData": { + "TimeIncrement": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["min"]},{"dataType":"enum","enums":["hour"]},{"dataType":"enum","enums":["day"]},{"dataType":"enum","enums":["week"]},{"dataType":"enum","enums":["month"]},{"dataType":"enum","enums":["year"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "DataOverTimeRequest": { "dataType": "refObject", "properties": { - "destination": {"dataType":"string","required":true}, - "config": {"ref":"Record_string.any_","required":true}, - "includeData": {"dataType":"boolean"}, + "timeFilter": {"dataType":"nestedObjectLiteral","nestedProperties":{"end":{"dataType":"string","required":true},"start":{"dataType":"string","required":true}},"required":true}, + "userFilter": {"ref":"RequestClickhouseFilterNode","required":true}, + "dbIncrement": {"ref":"TimeIncrement","required":true}, + "timeZoneDifference": {"dataType":"double","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array_": { + "Property": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"hmac_key":{"dataType":"string","required":true},"config":{"dataType":"string","required":true},"version":{"dataType":"string","required":true},"destination":{"dataType":"string","required":true},"created_at":{"dataType":"string","required":true},"id":{"dataType":"string","required":true}}},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "property": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__success-boolean--message-string__": { + "ResultSuccess_Property-Array_": { "dataType": "refObject", "properties": { - "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true},"success":{"dataType":"boolean","required":true}},"required":true}, + "data": {"dataType":"array","array":{"dataType":"refObject","ref":"Property"},"required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__success-boolean--message-string_.string_": { + "Result_Property-Array.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__success-boolean--message-string__"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_Property-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "AddVaultKeyParams": { + "ResultSuccess_unknown-Array_": { "dataType": "refObject", "properties": { - "key": {"dataType":"string","required":true}, - "provider": {"dataType":"string","required":true}, - "name": {"dataType":"string"}, + "data": {"dataType":"array","array":{"dataType":"any"},"required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_DecryptedProviderKey-Array_": { + "ResultSuccess_string-Array_": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"refAlias","ref":"DecryptedProviderKey"},"required":true}, + "data": {"dataType":"array","array":{"dataType":"string"},"required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_DecryptedProviderKey-Array.string_": { + "Result_string-Array.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_DecryptedProviderKey-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_string-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_DecryptedProviderKey_": { + "ResultSuccess__value-string--cost-number_-Array_": { "dataType": "refObject", "properties": { - "data": {"ref":"DecryptedProviderKey","required":true}, + "data": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"cost":{"dataType":"double","required":true},"value":{"dataType":"string","required":true}}},"required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_DecryptedProviderKey.string_": { + "Result__value-string--cost-number_-Array.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_DecryptedProviderKey_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__value-string--cost-number_-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "HistogramRow": { + "TimeFilterRequest": { "dataType": "refObject", "properties": { - "range_start": {"dataType":"string","required":true}, - "range_end": {"dataType":"string","required":true}, - "value": {"dataType":"double","required":true}, + "timeFilter": {"dataType":"nestedObjectLiteral","nestedProperties":{"end":{"dataType":"string","required":true},"start":{"dataType":"string","required":true}},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__request_count-HistogramRow-Array--user_cost-HistogramRow-Array__": { + "ResultSuccess__value-string--count-number_-Array_": { "dataType": "refObject", "properties": { - "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"user_cost":{"dataType":"array","array":{"dataType":"refObject","ref":"HistogramRow"},"required":true},"request_count":{"dataType":"array","array":{"dataType":"refObject","ref":"HistogramRow"},"required":true}},"required":true}, + "data": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"count":{"dataType":"double","required":true},"value":{"dataType":"string","required":true}}},"required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__request_count-HistogramRow-Array--user_cost-HistogramRow-Array_.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__request_count-HistogramRow-Array--user_cost-HistogramRow-Array__"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Partial_UserViewToOperators_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"user_user_id":{"ref":"Partial_TextOperators_"},"user_active_for":{"ref":"Partial_NumberOperators_"},"user_first_active":{"ref":"Partial_TimestampOperatorsTyped_"},"user_last_active":{"ref":"Partial_TimestampOperatorsTyped_"},"user_total_requests":{"ref":"Partial_NumberOperators_"},"user_average_requests_per_day_active":{"ref":"Partial_NumberOperators_"},"user_average_tokens_per_request":{"ref":"Partial_NumberOperators_"},"user_total_completion_tokens":{"ref":"Partial_NumberOperators_"},"user_total_prompt_tokens":{"ref":"Partial_NumberOperators_"},"user_cost":{"ref":"Partial_NumberOperators_"}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Pick_FilterLeaf.users_view-or-request_response_rmt_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"request_response_rmt":{"ref":"Partial_RequestResponseRMTToOperators_"},"users_view":{"ref":"Partial_UserViewToOperators_"}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "FilterLeafSubset_users_view-or-request_response_rmt_": { - "dataType": "refAlias", - "type": {"ref":"Pick_FilterLeaf.users_view-or-request_response_rmt_","validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "UserFilterNode": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"FilterLeafSubset_users_view-or-request_response_rmt_"},{"ref":"UserFilterBranch"},{"dataType":"enum","enums":["all"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "UserFilterBranch": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"right":{"ref":"UserFilterNode","required":true},"operator":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["or"]},{"dataType":"enum","enums":["and"]}],"required":true},"left":{"ref":"UserFilterNode","required":true}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PSize": { + "Result__value-string--count-number_-Array.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["p50"]},{"dataType":"enum","enums":["p75"]},{"dataType":"enum","enums":["p95"]},{"dataType":"enum","enums":["p99"]},{"dataType":"enum","enums":["p99.9"]}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__value-string--count-number_-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "UserMetricsResult": { + "Prompt2025": { "dataType": "refObject", "properties": { "id": {"dataType":"string","required":true}, - "user_id": {"dataType":"string","required":true}, - "active_for": {"dataType":"double","required":true}, - "first_active": {"dataType":"string","required":true}, - "last_active": {"dataType":"string","required":true}, - "total_requests": {"dataType":"double","required":true}, - "average_requests_per_day_active": {"dataType":"double","required":true}, - "average_tokens_per_request": {"dataType":"double","required":true}, - "total_completion_tokens": {"dataType":"double","required":true}, - "total_prompt_tokens": {"dataType":"double","required":true}, - "cost": {"dataType":"double","required":true}, + "name": {"dataType":"string","required":true}, + "tags": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "created_at": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__users-UserMetricsResult-Array--count-number--hasUsers-boolean__": { + "ResultSuccess_Prompt2025_": { "dataType": "refObject", "properties": { - "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"hasUsers":{"dataType":"boolean","required":true},"count":{"dataType":"double","required":true},"users":{"dataType":"array","array":{"dataType":"refObject","ref":"UserMetricsResult"},"required":true}},"required":true}, + "data": {"ref":"Prompt2025","required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__users-UserMetricsResult-Array--count-number--hasUsers-boolean_.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__users-UserMetricsResult-Array--count-number--hasUsers-boolean__"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "SortLeafUsers": { + "Result_Prompt2025.string_": { "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"id":{"ref":"SortDirection"},"user_id":{"ref":"SortDirection"},"active_for":{"ref":"SortDirection"},"first_active":{"ref":"SortDirection"},"last_active":{"ref":"SortDirection"},"total_requests":{"ref":"SortDirection"},"average_requests_per_day_active":{"ref":"SortDirection"},"average_tokens_per_request":{"ref":"SortDirection"},"total_prompt_tokens":{"ref":"SortDirection"},"total_completion_tokens":{"ref":"SortDirection"},"cost":{"ref":"SortDirection"},"rate_limited_count":{"ref":"SortDirection"}},"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_Prompt2025_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "UserMetricsQueryParams": { + "Prompt2025Input": { "dataType": "refObject", "properties": { - "filter": {"ref":"UserFilterNode","required":true}, - "offset": {"dataType":"double","required":true}, - "limit": {"dataType":"double","required":true}, - "timeFilter": {"dataType":"nestedObjectLiteral","nestedProperties":{"endTimeUnixSeconds":{"dataType":"double","required":true},"startTimeUnixSeconds":{"dataType":"double","required":true}}}, - "timeZoneDifferenceMinutes": {"dataType":"double"}, - "sort": {"ref":"SortLeafUsers"}, + "request_id": {"dataType":"string","required":true}, + "version_id": {"dataType":"string","required":true}, + "inputs": {"ref":"Record_string.any_","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array_": { + "ResultSuccess_Prompt2025Input_": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"cost":{"dataType":"double","required":true},"user_id":{"dataType":"string","required":true},"completion_tokens":{"dataType":"double","required":true},"prompt_tokens":{"dataType":"double","required":true},"count":{"dataType":"double","required":true}}},"required":true}, + "data": {"ref":"Prompt2025Input","required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array.string_": { + "Result_Prompt2025Input.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "UserQueryParams": { - "dataType": "refObject", - "properties": { - "userIds": {"dataType":"array","array":{"dataType":"string"}}, - "timeFilter": {"dataType":"nestedObjectLiteral","nestedProperties":{"endTimeUnixSeconds":{"dataType":"double","required":true},"startTimeUnixSeconds":{"dataType":"double","required":true}}}, - }, - "additionalProperties": false, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_Prompt2025Input_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ValidationError": { + "PromptCreateResponse": { "dataType": "refObject", "properties": { - "field": {"dataType":"string","required":true}, - "message": {"dataType":"string","required":true}, + "id": {"dataType":"string","required":true}, + "versionId": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ValidationResult": { + "ResultSuccess_PromptCreateResponse_": { "dataType": "refObject", "properties": { - "isValid": {"dataType":"boolean","required":true}, - "errors": {"dataType":"array","array":{"dataType":"refObject","ref":"ValidationError"},"required":true}, + "data": {"ref":"PromptCreateResponse","required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "TypedProviderRequest": { - "dataType": "refObject", - "properties": { - "url": {"dataType":"string","required":true}, - "json": {"ref":"Record_string.unknown_","required":true}, - "meta": {"ref":"Record_string.string_","required":true}, - }, - "additionalProperties": false, + "Result_PromptCreateResponse.string_": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_PromptCreateResponse_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "TypedProviderResponse": { + "OpenAIChatRequest": { "dataType": "refObject", "properties": { - "json": {"ref":"Record_string.unknown_"}, - "textBody": {"dataType":"string"}, - "status": {"dataType":"double","required":true}, - "headers": {"ref":"Record_string.string_","required":true}, + "model": {"dataType":"string"}, + "messages": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"tool_calls":{"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"type":{"dataType":"enum","enums":["function"],"required":true},"function":{"dataType":"nestedObjectLiteral","nestedProperties":{"arguments":{"dataType":"string","required":true},"name":{"dataType":"string","required":true}},"required":true},"id":{"dataType":"string","required":true}}}},"tool_call_id":{"dataType":"string"},"name":{"dataType":"string"},"content":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"image_url":{"dataType":"nestedObjectLiteral","nestedProperties":{"url":{"dataType":"string","required":true}}},"text":{"dataType":"string"},"type":{"dataType":"string","required":true}}}},{"dataType":"enum","enums":[null]}],"required":true},"role":{"dataType":"string","required":true}}}}, + "temperature": {"dataType":"double"}, + "top_p": {"dataType":"double"}, + "max_tokens": {"dataType":"double"}, + "max_completion_tokens": {"dataType":"double"}, + "stream": {"dataType":"boolean"}, + "stop": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"dataType":"string"}]}, + "tools": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"function":{"dataType":"nestedObjectLiteral","nestedProperties":{"strict":{"dataType":"boolean"},"parameters":{"ref":"Record_string.any_"},"description":{"dataType":"string"},"name":{"dataType":"string","required":true}},"required":true},"type":{"dataType":"enum","enums":["function"],"required":true}}}}, + "tool_choice": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["none"]},{"dataType":"enum","enums":["auto"]},{"dataType":"enum","enums":["required"]},{"dataType":"nestedObjectLiteral","nestedProperties":{"function":{"dataType":"nestedObjectLiteral","nestedProperties":{"name":{"dataType":"string","required":true},"type":{"dataType":"enum","enums":["function"],"required":true}}},"type":{"dataType":"string","required":true}}}]}, + "parallel_tool_calls": {"dataType":"boolean"}, + "reasoning_effort": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["minimal"]},{"dataType":"enum","enums":["low"]},{"dataType":"enum","enums":["medium"]},{"dataType":"enum","enums":["high"]}]}, + "verbosity": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["low"]},{"dataType":"enum","enums":["medium"]},{"dataType":"enum","enums":["high"]}]}, + "frequency_penalty": {"dataType":"double"}, + "presence_penalty": {"dataType":"double"}, + "logit_bias": {"ref":"Record_string.number_"}, + "logprobs": {"dataType":"boolean"}, + "top_logprobs": {"dataType":"double"}, + "n": {"dataType":"double"}, + "modalities": {"dataType":"array","array":{"dataType":"string"}}, + "prediction": {"dataType":"any"}, + "audio": {"dataType":"any"}, + "response_format": {"dataType":"nestedObjectLiteral","nestedProperties":{"json_schema":{"dataType":"any"},"type":{"dataType":"string","required":true}}}, + "seed": {"dataType":"double"}, + "service_tier": {"dataType":"string"}, + "store": {"dataType":"boolean"}, + "stream_options": {"dataType":"any"}, + "metadata": {"ref":"Record_string.string_"}, + "user": {"dataType":"string"}, + "function_call": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"nestedObjectLiteral","nestedProperties":{"name":{"dataType":"string","required":true}}}]}, + "functions": {"dataType":"array","array":{"dataType":"any"}}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "TypedTiming": { + "ResultSuccess_Prompt2025-Array_": { "dataType": "refObject", "properties": { - "timeToFirstToken": {"dataType":"double"}, - "startTime": {"dataType":"string","required":true}, - "endTime": {"dataType":"string","required":true}, + "data": {"dataType":"array","array":{"dataType":"refObject","ref":"Prompt2025"},"required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "TypedAsyncLogModel": { + "Result_Prompt2025-Array.string_": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_Prompt2025-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "Prompt2025VersionPromptBody": { "dataType": "refObject", "properties": { - "providerRequest": {"ref":"TypedProviderRequest","required":true}, - "providerResponse": {"ref":"TypedProviderResponse","required":true}, - "timing": {"ref":"TypedTiming"}, - "provider": {"ref":"Provider"}, + "model": {"dataType":"string"}, + "messages": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"tool_calls":{"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"type":{"dataType":"enum","enums":["function"],"required":true},"function":{"dataType":"nestedObjectLiteral","nestedProperties":{"arguments":{"dataType":"string","required":true},"name":{"dataType":"string","required":true}},"required":true},"id":{"dataType":"string","required":true}}}},"tool_call_id":{"dataType":"string"},"name":{"dataType":"string"},"content":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"image_url":{"dataType":"nestedObjectLiteral","nestedProperties":{"url":{"dataType":"string","required":true}}},"text":{"dataType":"string"},"type":{"dataType":"string","required":true}}}},{"dataType":"enum","enums":[null]}],"required":true},"role":{"dataType":"string","required":true}}}}, + "temperature": {"dataType":"double"}, + "top_p": {"dataType":"double"}, + "max_tokens": {"dataType":"double"}, + "tools": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"function":{"dataType":"nestedObjectLiteral","nestedProperties":{"parameters":{"ref":"Record_string.unknown_","required":true},"description":{"dataType":"string","required":true},"name":{"dataType":"string","required":true}},"required":true},"type":{"dataType":"enum","enums":["function"],"required":true}}}}, + "tool_choice": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"nestedObjectLiteral","nestedProperties":{"function":{"dataType":"nestedObjectLiteral","nestedProperties":{"name":{"dataType":"string","required":true},"type":{"dataType":"enum","enums":["function"],"required":true}}},"type":{"dataType":"string","required":true}}}]}, }, - "additionalProperties": false, + "additionalProperties": {"dataType":"any"}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "OTELTrace": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"resourceSpans":{"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"scopeSpans":{"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"spans":{"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"droppedLinksCount":{"dataType":"double","required":true},"links":{"dataType":"array","array":{"dataType":"any"},"required":true},"status":{"dataType":"nestedObjectLiteral","nestedProperties":{"code":{"dataType":"double","required":true}},"required":true},"droppedEventsCount":{"dataType":"double","required":true},"events":{"dataType":"array","array":{"dataType":"any"},"required":true},"droppedAttributesCount":{"dataType":"double","required":true},"attributes":{"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"value":{"dataType":"nestedObjectLiteral","nestedProperties":{"intValue":{"dataType":"double"},"stringValue":{"dataType":"string"}},"required":true},"key":{"dataType":"string","required":true}}},"required":true},"endTimeUnixNano":{"dataType":"string","required":true},"startTimeUnixNano":{"dataType":"string","required":true},"kind":{"dataType":"double","required":true},"name":{"dataType":"string","required":true},"spanId":{"dataType":"string","required":true},"traceId":{"dataType":"string","required":true}}},"required":true},"scope":{"dataType":"nestedObjectLiteral","nestedProperties":{"version":{"dataType":"string","required":true},"name":{"dataType":"string","required":true}},"required":true}}},"required":true},"resource":{"dataType":"nestedObjectLiteral","nestedProperties":{"droppedAttributesCount":{"dataType":"double","required":true},"attributes":{"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"value":{"dataType":"nestedObjectLiteral","nestedProperties":{"arrayValue":{"dataType":"nestedObjectLiteral","nestedProperties":{"values":{"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"stringValue":{"dataType":"string","required":true}}},"required":true}}},"intValue":{"dataType":"double"},"stringValue":{"dataType":"string"}},"required":true},"key":{"dataType":"string","required":true}}},"required":true}},"required":true}}},"required":true}},"validators":{}}, + "Prompt2025Version": { + "dataType": "refObject", + "properties": { + "id": {"dataType":"string","required":true}, + "model": {"dataType":"string","required":true}, + "prompt_id": {"dataType":"string","required":true}, + "major_version": {"dataType":"double","required":true}, + "minor_version": {"dataType":"double","required":true}, + "commit_message": {"dataType":"string","required":true}, + "environments": {"dataType":"array","array":{"dataType":"string"}}, + "created_at": {"dataType":"string","required":true}, + "s3_url": {"dataType":"string"}, + "prompt_body": {"ref":"Prompt2025VersionPromptBody"}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "SendTestRequestResponse": { + "ResultSuccess_Prompt2025Version_": { "dataType": "refObject", "properties": { - "success": {"dataType":"boolean","required":true}, - "response": {"dataType":"string"}, - "requestId": {"dataType":"string"}, - "error": {"dataType":"string"}, + "data": {"ref":"Prompt2025Version","required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "SendTestRequestRequest": { + "Result_Prompt2025Version.string_": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_Prompt2025Version_"},{"ref":"ResultError_string_"}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "ResultSuccess_Prompt2025Version-Array_": { "dataType": "refObject", "properties": { - "apiKey": {"dataType":"string","required":true}, + "data": {"dataType":"array","array":{"dataType":"refObject","ref":"Prompt2025Version"},"required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "SessionResult": { + "Result_Prompt2025Version-Array.string_": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_Prompt2025Version-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "PromptVersionCounts": { "dataType": "refObject", "properties": { - "created_at": {"dataType":"string","required":true}, - "latest_request_created_at": {"dataType":"string","required":true}, - "session_id": {"dataType":"string","required":true}, - "session_name": {"dataType":"string","required":true}, - "total_cost": {"dataType":"double","required":true}, - "total_requests": {"dataType":"double","required":true}, - "prompt_tokens": {"dataType":"double","required":true}, - "completion_tokens": {"dataType":"double","required":true}, - "total_tokens": {"dataType":"double","required":true}, - "avg_latency": {"dataType":"double","required":true}, - "user_ids": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "totalVersions": {"dataType":"double","required":true}, + "majorVersions": {"dataType":"double","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_SessionResult-Array_": { + "ResultSuccess_PromptVersionCounts_": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"SessionResult"},"required":true}, + "data": {"ref":"PromptVersionCounts","required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_SessionResult-Array.string_": { + "Result_PromptVersionCounts.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_SessionResult-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_PromptVersionCounts_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Pick_FilterLeaf.request_response_rmt-or-sessions_request_response_rmt_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"request_response_rmt":{"ref":"Partial_RequestResponseRMTToOperators_"},"sessions_request_response_rmt":{"ref":"Partial_SessionsRequestResponseRMTToOperators_"}},"validators":{}}, + "ResultSuccess_Prompt2025Version_91_prompt_body_93__": { + "dataType": "refObject", + "properties": { + "data": {"ref":"Prompt2025VersionPromptBody","required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "FilterLeafSubset_request_response_rmt-or-sessions_request_response_rmt_": { + "Result_Prompt2025Version_91_prompt_body_93_.string_": { "dataType": "refAlias", - "type": {"ref":"Pick_FilterLeaf.request_response_rmt-or-sessions_request_response_rmt_","validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_Prompt2025Version_91_prompt_body_93__"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "SessionFilterNode": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"FilterLeafSubset_request_response_rmt-or-sessions_request_response_rmt_"},{"ref":"SessionFilterBranch"},{"dataType":"enum","enums":["all"]}],"validators":{}}, + "ResultSuccess__hasPrompts-boolean__": { + "dataType": "refObject", + "properties": { + "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"hasPrompts":{"dataType":"boolean","required":true}},"required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "SessionFilterBranch": { + "Result__hasPrompts-boolean_.string_": { "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"right":{"ref":"SessionFilterNode","required":true},"operator":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["or"]},{"dataType":"enum","enums":["and"]}],"required":true},"left":{"ref":"SessionFilterNode","required":true}},"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__hasPrompts-boolean__"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "SessionQueryParams": { + "PromptsResult": { "dataType": "refObject", "properties": { - "search": {"dataType":"string","required":true}, - "timeFilter": {"dataType":"nestedObjectLiteral","nestedProperties":{"endTimeUnixMs":{"dataType":"double","required":true},"startTimeUnixMs":{"dataType":"double","required":true}},"required":true}, - "nameEquals": {"dataType":"string"}, - "timezoneDifference": {"dataType":"double","required":true}, - "filter": {"ref":"SessionFilterNode","required":true}, - "offset": {"dataType":"double"}, - "limit": {"dataType":"double"}, + "id": {"dataType":"string","required":true}, + "user_defined_id": {"dataType":"string","required":true}, + "description": {"dataType":"string","required":true}, + "pretty_name": {"dataType":"string","required":true}, + "created_at": {"dataType":"string","required":true}, + "major_version": {"dataType":"double","required":true}, + "metadata": {"ref":"Record_string.any_"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "SessionsAggregateMetrics": { + "ResultSuccess_PromptsResult-Array_": { "dataType": "refObject", "properties": { - "count": {"dataType":"double","required":true}, - "total_cost": {"dataType":"double","required":true}, - "avg_cost": {"dataType":"double","required":true}, - "avg_latency": {"dataType":"double","required":true}, - "avg_requests": {"dataType":"double","required":true}, + "data": {"dataType":"array","array":{"dataType":"refObject","ref":"PromptsResult"},"required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_SessionsAggregateMetrics_": { + "Result_PromptsResult-Array.string_": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_PromptsResult-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "Pick_FilterLeaf.prompt_v2_": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"prompt_v2":{"ref":"Partial_PromptToOperators_"}},"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "FilterLeafSubset_prompt_v2_": { + "dataType": "refAlias", + "type": {"ref":"Pick_FilterLeaf.prompt_v2_","validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "PromptsFilterNode": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"FilterLeafSubset_prompt_v2_"},{"ref":"PromptsFilterBranch"},{"dataType":"enum","enums":["all"]}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "PromptsFilterBranch": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"right":{"ref":"PromptsFilterNode","required":true},"operator":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["or"]},{"dataType":"enum","enums":["and"]}],"required":true},"left":{"ref":"PromptsFilterNode","required":true}},"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "PromptsQueryParams": { "dataType": "refObject", "properties": { - "data": {"ref":"SessionsAggregateMetrics","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "filter": {"ref":"PromptsFilterNode","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_SessionsAggregateMetrics.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_SessionsAggregateMetrics_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "SessionNameResult": { + "PromptResult": { "dataType": "refObject", "properties": { - "name": {"dataType":"string","required":true}, + "id": {"dataType":"string","required":true}, + "user_defined_id": {"dataType":"string","required":true}, + "description": {"dataType":"string","required":true}, + "pretty_name": {"dataType":"string","required":true}, + "major_version": {"dataType":"double","required":true}, + "latest_version_id": {"dataType":"string","required":true}, + "latest_model_used": {"dataType":"string","required":true}, "created_at": {"dataType":"string","required":true}, "last_used": {"dataType":"string","required":true}, - "first_used": {"dataType":"string","required":true}, - "session_count": {"dataType":"double","required":true}, - "avg_latency": {"dataType":"double","required":true}, + "versions": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "metadata": {"ref":"Record_string.any_"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_SessionNameResult-Array_": { + "ResultSuccess_PromptResult_": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"SessionNameResult"},"required":true}, + "data": {"ref":"PromptResult","required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_SessionNameResult-Array.string_": { + "Result_PromptResult.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_SessionNameResult-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_PromptResult_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "TimeFilterMs": { + "PromptQueryParams": { "dataType": "refObject", "properties": { - "startTimeUnixMs": {"dataType":"double","required":true}, - "endTimeUnixMs": {"dataType":"double","required":true}, + "timeFilter": {"dataType":"nestedObjectLiteral","nestedProperties":{"end":{"dataType":"string","required":true},"start":{"dataType":"string","required":true}},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "SessionNameQueryParams": { + "CreatePromptResponse": { "dataType": "refObject", "properties": { - "nameContains": {"dataType":"string","required":true}, - "timezoneDifference": {"dataType":"double","required":true}, - "pSize": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["p50"]},{"dataType":"enum","enums":["p75"]},{"dataType":"enum","enums":["p95"]},{"dataType":"enum","enums":["p99"]},{"dataType":"enum","enums":["p99.9"]}]}, - "useInterquartile": {"dataType":"boolean"}, - "timeFilter": {"ref":"TimeFilterMs"}, - "filter": {"ref":"SessionFilterNode"}, + "id": {"dataType":"string","required":true}, + "prompt_version_id": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "AverageRow": { + "ResultSuccess_CreatePromptResponse_": { "dataType": "refObject", "properties": { - "average": {"dataType":"double","required":true}, + "data": {"ref":"CreatePromptResponse","required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "SessionMetrics": { - "dataType": "refObject", - "properties": { - "session_count": {"dataType":"array","array":{"dataType":"refObject","ref":"HistogramRow"},"required":true}, - "session_duration": {"dataType":"array","array":{"dataType":"refObject","ref":"HistogramRow"},"required":true}, - "session_cost": {"dataType":"array","array":{"dataType":"refObject","ref":"HistogramRow"},"required":true}, - "average": {"dataType":"nestedObjectLiteral","nestedProperties":{"session_cost":{"dataType":"array","array":{"dataType":"refObject","ref":"AverageRow"},"required":true},"session_duration":{"dataType":"array","array":{"dataType":"refObject","ref":"AverageRow"},"required":true},"session_count":{"dataType":"array","array":{"dataType":"refObject","ref":"AverageRow"},"required":true}},"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_SessionMetrics_": { - "dataType": "refObject", - "properties": { - "data": {"ref":"SessionMetrics","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_SessionMetrics.string_": { + "Result_CreatePromptResponse.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_SessionMetrics_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "SessionMetricsQueryParams": { - "dataType": "refObject", - "properties": { - "nameContains": {"dataType":"string","required":true}, - "timezoneDifference": {"dataType":"double","required":true}, - "pSize": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["p50"]},{"dataType":"enum","enums":["p75"]},{"dataType":"enum","enums":["p95"]},{"dataType":"enum","enums":["p99"]},{"dataType":"enum","enums":["p99.9"]}]}, - "useInterquartile": {"dataType":"boolean"}, - "timeFilter": {"ref":"TimeFilterMs"}, - "filter": {"ref":"SessionFilterNode"}, - }, - "additionalProperties": false, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_CreatePromptResponse_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_string-or-null_": { + "ResultSuccess__metadata-Record_string.any___": { "dataType": "refObject", "properties": { - "data": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"metadata":{"ref":"Record_string.any_","required":true}},"required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_string-or-null.string_": { + "Result__metadata-Record_string.any__.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_string-or-null_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__metadata-Record_string.any___"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "MetricsData": { + "PromptEditSubversionLabelParams": { "dataType": "refObject", "properties": { - "totalRequests": {"dataType":"double","required":true}, - "requestCountPrevious24h": {"dataType":"double","required":true}, - "requestVolumeChange": {"dataType":"double","required":true}, - "errorRate24h": {"dataType":"double","required":true}, - "errorRatePrevious24h": {"dataType":"double","required":true}, - "errorRateChange": {"dataType":"double","required":true}, - "averageLatency": {"dataType":"double","required":true}, - "averageLatencyPerToken": {"dataType":"double","required":true}, - "latencyChange": {"dataType":"double","required":true}, - "latencyPerTokenChange": {"dataType":"double","required":true}, - "recentRequestCount": {"dataType":"double","required":true}, - "recentErrorCount": {"dataType":"double","required":true}, + "label": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "TimeSeriesDataPoint": { + "PromptEditSubversionTemplateParams": { "dataType": "refObject", "properties": { - "timestamp": {"dataType":"datetime","required":true}, - "errorCount": {"dataType":"double","required":true}, - "requestCount": {"dataType":"double","required":true}, - "averageLatency": {"dataType":"double","required":true}, - "averageLatencyPerCompletionToken": {"dataType":"double","required":true}, + "heliconeTemplate": {"dataType":"any","required":true}, + "experimentId": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ProviderMetrics": { + "PromptVersionResult": { "dataType": "refObject", "properties": { - "providerName": {"dataType":"string","required":true}, - "metrics": {"dataType":"intersection","subSchemas":[{"ref":"MetricsData"},{"dataType":"nestedObjectLiteral","nestedProperties":{"timeSeriesData":{"dataType":"array","array":{"dataType":"refObject","ref":"TimeSeriesDataPoint"},"required":true}}}],"required":true}, + "id": {"dataType":"string","required":true}, + "minor_version": {"dataType":"double","required":true}, + "major_version": {"dataType":"double","required":true}, + "prompt_v2": {"dataType":"string","required":true}, + "model": {"dataType":"string","required":true}, + "helicone_template": {"dataType":"string","required":true}, + "created_at": {"dataType":"string","required":true}, + "metadata": {"ref":"Record_string.any_","required":true}, + "parent_prompt_version": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "experiment_id": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}]}, + "updated_at": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_ProviderMetrics-Array_": { + "ResultSuccess_PromptVersionResult_": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"ProviderMetrics"},"required":true}, + "data": {"ref":"PromptVersionResult","required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_ProviderMetrics-Array.string_": { + "Result_PromptVersionResult.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_ProviderMetrics-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_PromptVersionResult_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_ProviderMetrics_": { + "PromptCreateSubversionParams": { "dataType": "refObject", "properties": { - "data": {"ref":"ProviderMetrics","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "newHeliconeTemplate": {"dataType":"any","required":true}, + "isMajorVersion": {"dataType":"boolean"}, + "metadata": {"ref":"Record_string.any_"}, + "experimentId": {"dataType":"string"}, + "bumpForMajorPromptVersionId": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_ProviderMetrics.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_ProviderMetrics_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "TimeFrame": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["24h"]},{"dataType":"enum","enums":["7d"]},{"dataType":"enum","enums":["30d"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ProviderMetric": { + "PromptInputRecord": { "dataType": "refObject", "properties": { - "provider": {"dataType":"string","required":true}, - "total_requests": {"dataType":"double","required":true}, + "id": {"dataType":"string","required":true}, + "inputs": {"ref":"Record_string.string_","required":true}, + "dataset_row_id": {"dataType":"string"}, + "source_request": {"dataType":"string","required":true}, + "prompt_version": {"dataType":"string","required":true}, + "created_at": {"dataType":"string","required":true}, + "response_body": {"dataType":"string"}, + "request_body": {"dataType":"string"}, + "auto_prompt_inputs": {"dataType":"array","array":{"dataType":"any"},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_ProviderMetric-Array_": { + "ResultSuccess_PromptInputRecord-Array_": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"ProviderMetric"},"required":true}, + "data": {"dataType":"array","array":{"dataType":"refObject","ref":"PromptInputRecord"},"required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_ProviderMetric-Array.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_ProviderMetric-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Partial_UserMetricsToOperators_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"user_id":{"ref":"Partial_TextOperators_"},"last_active":{"ref":"Partial_TimestampOperators_"},"total_requests":{"ref":"Partial_NumberOperators_"},"active_for":{"ref":"Partial_NumberOperators_"},"average_requests_per_day_active":{"ref":"Partial_NumberOperators_"},"average_tokens_per_request":{"ref":"Partial_NumberOperators_"},"total_completion_tokens":{"ref":"Partial_NumberOperators_"},"total_prompt_tokens":{"ref":"Partial_NumberOperators_"},"cost":{"ref":"Partial_NumberOperators_"}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Partial_UserApiKeysTableToOperators_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"api_key_hash":{"ref":"Partial_TextOperators_"},"api_key_name":{"ref":"Partial_TextOperators_"}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Partial_PropertiesTableToOperators_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"auth_hash":{"ref":"Partial_TextOperators_"},"key":{"ref":"Partial_TextOperators_"},"value":{"ref":"Partial_TextOperators_"}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Partial_ExperimentToOperators_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"id":{"ref":"Partial_TextOperators_"},"prompt_v2":{"ref":"Partial_TextOperators_"}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Partial_ExperimentHypothesisRunToOperator_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"result_request_id":{"ref":"Partial_TextOperators_"}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Partial_ScoreValueToOperator_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"request_id":{"ref":"Partial_TextOperators_"}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Partial_RequestResponseLogToOperators_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"latency":{"ref":"Partial_NumberOperators_"},"status":{"ref":"Partial_NumberOperators_"},"request_created_at":{"ref":"Partial_TimestampOperatorsTyped_"},"response_created_at":{"ref":"Partial_TimestampOperatorsTyped_"},"auth_hash":{"ref":"Partial_TextOperators_"},"model":{"ref":"Partial_TextOperators_"},"user_id":{"ref":"Partial_TextOperators_"},"organization_id":{"ref":"Partial_TextOperators_"},"node_id":{"ref":"Partial_TextOperators_"},"job_id":{"ref":"Partial_TextOperators_"},"threat":{"ref":"Partial_BooleanOperators_"}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Partial_PropertiesV3ToOperators_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"key":{"ref":"Partial_TextOperators_"},"value":{"ref":"Partial_TextOperators_"},"organization_id":{"ref":"Partial_TextOperators_"}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Partial_PropertyWithResponseV1ToOperators_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"property_key":{"ref":"Partial_TextOperators_"},"property_value":{"ref":"Partial_TextOperators_"},"request_created_at":{"ref":"Partial_TimestampOperatorsTyped_"},"organization_id":{"ref":"Partial_TextOperators_"},"threat":{"ref":"Partial_BooleanOperators_"}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Partial_JobToOperators_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"id":{"ref":"Partial_TextOperators_"},"name":{"ref":"Partial_TextOperators_"},"description":{"ref":"Partial_TextOperators_"},"status":{"ref":"Partial_TextOperators_"},"created_at":{"ref":"Partial_TimestampOperators_"},"updated_at":{"ref":"Partial_TimestampOperators_"},"timeout_seconds":{"ref":"Partial_NumberOperators_"},"custom_properties":{"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"Partial_TextOperators_"}},"org_id":{"ref":"Partial_TextOperators_"}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Partial_NodesToOperators_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"id":{"ref":"Partial_TextOperators_"},"name":{"ref":"Partial_TextOperators_"},"description":{"ref":"Partial_TextOperators_"},"job_id":{"ref":"Partial_TextOperators_"},"status":{"ref":"Partial_TextOperators_"},"created_at":{"ref":"Partial_TimestampOperators_"},"updated_at":{"ref":"Partial_TimestampOperators_"},"timeout_seconds":{"ref":"Partial_NumberOperators_"},"custom_properties":{"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"Partial_TextOperators_"}},"org_id":{"ref":"Partial_TextOperators_"}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Partial_CacheMetricsTableToOperators_": { + "Result_PromptInputRecord-Array.string_": { "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"organization_id":{"ref":"Partial_TextOperators_"},"request_id":{"ref":"Partial_TextOperators_"},"date":{"ref":"Partial_TimestampOperatorsTyped_"},"hour":{"ref":"Partial_NumberOperators_"},"model":{"ref":"Partial_TextOperators_"},"cache_hit_count":{"ref":"Partial_NumberOperators_"},"saved_latency_ms":{"ref":"Partial_NumberOperators_"},"saved_completion_tokens":{"ref":"Partial_NumberOperators_"},"saved_prompt_tokens":{"ref":"Partial_NumberOperators_"},"saved_completion_audio_tokens":{"ref":"Partial_NumberOperators_"},"saved_prompt_audio_tokens":{"ref":"Partial_NumberOperators_"},"saved_prompt_cache_write_tokens":{"ref":"Partial_NumberOperators_"},"saved_prompt_cache_read_tokens":{"ref":"Partial_NumberOperators_"},"first_hit":{"ref":"Partial_TimestampOperatorsTyped_"},"last_hit":{"ref":"Partial_TimestampOperatorsTyped_"},"request_body":{"ref":"Partial_TextOperators_"},"response_body":{"ref":"Partial_TextOperators_"}},"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_PromptInputRecord-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Partial_RateLimitTableToOperators_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"organization_id":{"ref":"Partial_TextOperators_"},"created_at":{"ref":"Partial_TimestampOperatorsTyped_"}},"validators":{}}, + "ResultSuccess_PromptVersionResult-Array_": { + "dataType": "refObject", + "properties": { + "data": {"dataType":"array","array":{"dataType":"refObject","ref":"PromptVersionResult"},"required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Partial_OrganizationPropertiesToOperators_": { + "Result_PromptVersionResult-Array.string_": { "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"organization_id":{"ref":"Partial_TextOperators_"},"property_key":{"ref":"Partial_TextOperators_"}},"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_PromptVersionResult-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Partial_TablesAndViews_": { + "Pick_FilterLeaf.prompts_versions_": { "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"user_metrics":{"ref":"Partial_UserMetricsToOperators_"},"user_api_keys":{"ref":"Partial_UserApiKeysTableToOperators_"},"response":{"ref":"Partial_ResponseTableToOperators_"},"request":{"ref":"Partial_RequestTableToOperators_"},"feedback":{"ref":"Partial_FeedbackTableToOperators_"},"properties_table":{"ref":"Partial_PropertiesTableToOperators_"},"prompt_v2":{"ref":"Partial_PromptToOperators_"},"prompts_versions":{"ref":"Partial_PromptVersionsToOperators_"},"experiment":{"ref":"Partial_ExperimentToOperators_"},"experiment_hypothesis_run":{"ref":"Partial_ExperimentHypothesisRunToOperator_"},"score_value":{"ref":"Partial_ScoreValueToOperator_"},"request_response_log":{"ref":"Partial_RequestResponseLogToOperators_"},"request_response_rmt":{"ref":"Partial_RequestResponseRMTToOperators_"},"sessions_request_response_rmt":{"ref":"Partial_SessionsRequestResponseRMTToOperators_"},"users_view":{"ref":"Partial_UserViewToOperators_"},"properties_v3":{"ref":"Partial_PropertiesV3ToOperators_"},"property_with_response_v1":{"ref":"Partial_PropertyWithResponseV1ToOperators_"},"job":{"ref":"Partial_JobToOperators_"},"job_node":{"ref":"Partial_NodesToOperators_"},"cache_metrics":{"ref":"Partial_CacheMetricsTableToOperators_"},"rate_limit_log":{"ref":"Partial_RateLimitTableToOperators_"},"organization_properties":{"ref":"Partial_OrganizationPropertiesToOperators_"},"properties":{"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"Partial_TextOperators_"}},"values":{"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"Partial_TextOperators_"}}},"validators":{}}, + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"prompts_versions":{"ref":"Partial_PromptVersionsToOperators_"}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "SingleKey_TablesAndViews_": { + "FilterLeafSubset_prompts_versions_": { "dataType": "refAlias", - "type": {"ref":"Partial_TablesAndViews_","validators":{}}, + "type": {"ref":"Pick_FilterLeaf.prompts_versions_","validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "FilterLeaf": { + "PromptVersionsFilterNode": { "dataType": "refAlias", - "type": {"ref":"SingleKey_TablesAndViews_","validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"FilterLeafSubset_prompts_versions_"},{"ref":"PromptVersionsFilterBranch"},{"dataType":"enum","enums":["all"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "FilterNode": { + "PromptVersionsFilterBranch": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"FilterLeaf"},{"ref":"FilterBranch"},{"dataType":"enum","enums":["all"]},{"dataType":"nestedObjectLiteral","nestedProperties":{}}],"validators":{}}, + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"right":{"ref":"PromptVersionsFilterNode","required":true},"operator":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["or"]},{"dataType":"enum","enums":["and"]}],"required":true},"left":{"ref":"PromptVersionsFilterNode","required":true}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "FilterBranch": { + "PromptVersionsQueryParams": { "dataType": "refObject", "properties": { - "left": {"ref":"FilterNode","required":true}, - "operator": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["or"]},{"dataType":"enum","enums":["and"]}],"required":true}, - "right": {"ref":"FilterNode","required":true}, + "filter": {"ref":"PromptVersionsFilterNode"}, + "includeExperimentVersions": {"dataType":"boolean"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ProviderQueryParams": { + "PromptVersionResultCompiled": { "dataType": "refObject", "properties": { - "filter": {"ref":"FilterNode","required":true}, - "offset": {"dataType":"double","required":true}, - "limit": {"dataType":"double","required":true}, - "timeFilter": {"dataType":"nestedObjectLiteral","nestedProperties":{"end":{"dataType":"string","required":true},"start":{"dataType":"string","required":true}},"required":true}, + "id": {"dataType":"string","required":true}, + "minor_version": {"dataType":"double","required":true}, + "major_version": {"dataType":"double","required":true}, + "prompt_v2": {"dataType":"string","required":true}, + "model": {"dataType":"string","required":true}, + "prompt_compiled": {"dataType":"any","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array_": { + "ResultSuccess_PromptVersionResultCompiled_": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"created_at_trunc":{"dataType":"string","required":true},"request_count":{"dataType":"double","required":true},"total_cost":{"dataType":"double","required":true},"property":{"dataType":"string","required":true}}},"required":true}, + "data": {"ref":"PromptVersionResultCompiled","required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Pick_FilterLeaf.request_response_rmt_": { + "Result_PromptVersionResultCompiled.string_": { "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"request_response_rmt":{"ref":"Partial_RequestResponseRMTToOperators_"}},"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_PromptVersionResultCompiled_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "FilterLeafSubset_request_response_rmt_": { - "dataType": "refAlias", - "type": {"ref":"Pick_FilterLeaf.request_response_rmt_","validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "RequestClickhouseFilterNode": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"FilterLeafSubset_request_response_rmt_"},{"ref":"RequestClickhouseFilterBranch"},{"dataType":"enum","enums":["all"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "RequestClickhouseFilterBranch": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"right":{"ref":"RequestClickhouseFilterNode","required":true},"operator":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["or"]},{"dataType":"enum","enums":["and"]}],"required":true},"left":{"ref":"RequestClickhouseFilterNode","required":true}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "TimeIncrement": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["min"]},{"dataType":"enum","enums":["hour"]},{"dataType":"enum","enums":["day"]},{"dataType":"enum","enums":["week"]},{"dataType":"enum","enums":["month"]},{"dataType":"enum","enums":["year"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "DataOverTimeRequest": { - "dataType": "refObject", - "properties": { - "timeFilter": {"dataType":"nestedObjectLiteral","nestedProperties":{"end":{"dataType":"string","required":true},"start":{"dataType":"string","required":true}},"required":true}, - "userFilter": {"ref":"RequestClickhouseFilterNode","required":true}, - "dbIncrement": {"ref":"TimeIncrement","required":true}, - "timeZoneDifference": {"dataType":"double","required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Property": { - "dataType": "refObject", - "properties": { - "property": {"dataType":"string","required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_Property-Array_": { - "dataType": "refObject", - "properties": { - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"Property"},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_Property-Array.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_Property-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_unknown-Array_": { - "dataType": "refObject", - "properties": { - "data": {"dataType":"array","array":{"dataType":"any"},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__value-string--cost-number_-Array_": { + "PromptVersiosQueryParamsCompiled": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"cost":{"dataType":"double","required":true},"value":{"dataType":"string","required":true}}},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "filter": {"ref":"PromptVersionsFilterNode"}, + "includeExperimentVersions": {"dataType":"boolean"}, + "inputs": {"ref":"Record_string.string_","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__value-string--cost-number_-Array.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__value-string--cost-number_-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "TimeFilterRequest": { + "PromptVersionResultFilled": { "dataType": "refObject", "properties": { - "timeFilter": {"dataType":"nestedObjectLiteral","nestedProperties":{"end":{"dataType":"string","required":true},"start":{"dataType":"string","required":true}},"required":true}, + "id": {"dataType":"string","required":true}, + "minor_version": {"dataType":"double","required":true}, + "major_version": {"dataType":"double","required":true}, + "prompt_v2": {"dataType":"string","required":true}, + "model": {"dataType":"string","required":true}, + "filled_helicone_template": {"dataType":"any","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__value-string--count-number_-Array_": { + "ResultSuccess_PromptVersionResultFilled_": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"count":{"dataType":"double","required":true},"value":{"dataType":"string","required":true}}},"required":true}, + "data": {"ref":"PromptVersionResultFilled","required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__value-string--count-number_-Array.string_": { + "Result_PromptVersionResultFilled.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__value-string--count-number_-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_PromptVersionResultFilled_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa "ChatCompletionTokenLogprob.TopLogprob": { @@ -2938,6 +2684,20 @@ const models: TsoaRoute.Models = { "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_ChatCompletion-or-_content-string--reasoning-string--calls-any__"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "ResultSuccess_boolean_": { + "dataType": "refObject", + "properties": { + "data": {"dataType":"boolean","required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, + }, + "additionalProperties": false, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "Result_boolean.string_": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_boolean_"},{"ref":"ResultError_string_"}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa "ResultSuccess__apiKey-string__": { "dataType": "refObject", "properties": { @@ -3810,818 +3570,461 @@ const models: TsoaRoute.Models = { "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_HqlSavedQuery_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__tableId-string--experimentId-string__": { + "ResultSuccess__datasetId-string__": { "dataType": "refObject", "properties": { - "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"experimentId":{"dataType":"string","required":true},"tableId":{"dataType":"string","required":true}},"required":true}, + "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"datasetId":{"dataType":"string","required":true}},"required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__tableId-string--experimentId-string_.string_": { + "Result__datasetId-string_.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__tableId-string--experimentId-string__"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__datasetId-string__"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "CreateExperimentTableParams": { + "HeliconeDatasetMetadata": { "dataType": "refObject", "properties": { - "datasetId": {"dataType":"string","required":true}, - "experimentMetadata": {"ref":"Record_string.any_","required":true}, - "promptVersionId": {"dataType":"string","required":true}, - "newHeliconeTemplate": {"dataType":"string","required":true}, - "isMajorVersion": {"dataType":"boolean","required":true}, - "promptSubversionMetadata": {"ref":"Record_string.any_","required":true}, - "experimentTableMetadata": {"ref":"Record_string.any_"}, + "promptVersionId": {"dataType":"string"}, + "inputRecordsIds": {"dataType":"array","array":{"dataType":"string"}}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ExperimentTableColumn": { + "NewHeliconeDatasetParams": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "columnName": {"dataType":"string","required":true}, - "columnType": {"dataType":"string","required":true}, - "hypothesisId": {"dataType":"string"}, - "cells": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"metadata":{"ref":"Record_string.any_"},"value":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true},"requestId":{"dataType":"string"},"rowIndex":{"dataType":"double","required":true},"id":{"dataType":"string","required":true}}},"required":true}, - "metadata": {"ref":"Record_string.any_"}, + "datasetName": {"dataType":"string","required":true}, + "requestIds": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "meta": {"ref":"HeliconeDatasetMetadata"}, + }, + "additionalProperties": false, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "MutateParams": { + "dataType": "refObject", + "properties": { + "addRequests": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "removeRequests": {"dataType":"array","array":{"dataType":"string"},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ExperimentTable": { + "HeliconeDatasetRow": { "dataType": "refObject", "properties": { "id": {"dataType":"string","required":true}, - "name": {"dataType":"string","required":true}, - "experimentId": {"dataType":"string","required":true}, - "columns": {"dataType":"array","array":{"dataType":"refObject","ref":"ExperimentTableColumn"},"required":true}, - "metadata": {"ref":"Record_string.any_"}, + "origin_request_id": {"dataType":"string","required":true}, + "dataset_id": {"dataType":"string","required":true}, + "created_at": {"dataType":"string","required":true}, + "signed_url": {"ref":"Result_string.string_","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_ExperimentTable_": { + "ResultSuccess_HeliconeDatasetRow-Array_": { "dataType": "refObject", "properties": { - "data": {"ref":"ExperimentTable","required":true}, + "data": {"dataType":"array","array":{"dataType":"refObject","ref":"HeliconeDatasetRow"},"required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_ExperimentTable.string_": { + "Result_HeliconeDatasetRow-Array.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_ExperimentTable_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_HeliconeDatasetRow-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ExperimentTableSimplified": { + "HeliconeDataset": { "dataType": "refObject", "properties": { + "created_at": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "dataset_type": {"dataType":"string","required":true}, "id": {"dataType":"string","required":true}, - "name": {"dataType":"string","required":true}, - "experimentId": {"dataType":"string","required":true}, - "createdAt": {"dataType":"string","required":true}, - "metadata": {"dataType":"any"}, - "columns": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"columnType":{"dataType":"string","required":true},"columnName":{"dataType":"string","required":true},"id":{"dataType":"string","required":true}}},"required":true}, + "meta": {"dataType":"union","subSchemas":[{"ref":"Json"},{"dataType":"enum","enums":[null]}],"required":true}, + "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "organization": {"dataType":"string","required":true}, + "requests_count": {"dataType":"double","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_ExperimentTableSimplified_": { + "ResultSuccess_HeliconeDataset-Array_": { "dataType": "refObject", "properties": { - "data": {"ref":"ExperimentTableSimplified","required":true}, + "data": {"dataType":"array","array":{"dataType":"refObject","ref":"HeliconeDataset"},"required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_ExperimentTableSimplified.string_": { + "Result_HeliconeDataset-Array.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_ExperimentTableSimplified_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_HeliconeDataset-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_ExperimentTableSimplified-Array_": { + "ResultSuccess_any_": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"ExperimentTableSimplified"},"required":true}, + "data": {"dataType":"any","required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_ExperimentTableSimplified-Array.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_ExperimentTableSimplified-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "NewExperimentParams": { + "Eval": { "dataType": "refObject", "properties": { - "datasetId": {"dataType":"string","required":true}, - "promptVersion": {"dataType":"string","required":true}, - "model": {"dataType":"string","required":true}, - "providerKeyId": {"dataType":"string","required":true}, - "meta": {"dataType":"any"}, + "name": {"dataType":"string","required":true}, + "averageScore": {"dataType":"double","required":true}, + "minScore": {"dataType":"double","required":true}, + "maxScore": {"dataType":"double","required":true}, + "count": {"dataType":"double","required":true}, + "overTime": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"count":{"dataType":"double","required":true},"date":{"dataType":"string","required":true}}},"required":true}, + "averageOverTime": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"value":{"dataType":"double","required":true},"date":{"dataType":"string","required":true}}},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__hypothesisId-string__": { + "ResultSuccess_Eval-Array_": { "dataType": "refObject", "properties": { - "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"hypothesisId":{"dataType":"string","required":true}},"required":true}, + "data": {"dataType":"array","array":{"dataType":"refObject","ref":"Eval"},"required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__hypothesisId-string_.string_": { + "Result_Eval-Array.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__hypothesisId-string__"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_Eval-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Score": { - "dataType": "refObject", - "properties": { - "valueType": {"dataType":"string","required":true}, - "value": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"datetime"},{"dataType":"string"}],"required":true}, - }, - "additionalProperties": false, + "EvalFilterNode": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"FilterLeafSubset_request_response_rmt_"},{"ref":"EvalFilterBranch"},{"dataType":"enum","enums":["all"]}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Record_string.Score_": { + "EvalFilterBranch": { "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"Score"},"validators":{}}, + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"right":{"ref":"EvalFilterNode","required":true},"operator":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["or"]},{"dataType":"enum","enums":["and"]}],"required":true},"left":{"ref":"EvalFilterNode","required":true}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__runsCount-number--scores-Record_string.Score___": { + "EvalQueryParams": { "dataType": "refObject", "properties": { - "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"scores":{"ref":"Record_string.Score_","required":true},"runsCount":{"dataType":"double","required":true}},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "filter": {"ref":"EvalFilterNode","required":true}, + "timeFilter": {"dataType":"nestedObjectLiteral","nestedProperties":{"end":{"dataType":"string","required":true},"start":{"dataType":"string","required":true}},"required":true}, + "offset": {"dataType":"double"}, + "limit": {"dataType":"double"}, + "timeZoneDifference": {"dataType":"double"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__runsCount-number--scores-Record_string.Score__.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__runsCount-number--scores-Record_string.Score___"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResponseObj": { + "ScoreDistribution": { "dataType": "refObject", "properties": { - "body": {"dataType":"any","required":true}, - "createdAt": {"dataType":"string","required":true}, - "completionTokens": {"dataType":"double","required":true}, - "promptTokens": {"dataType":"double","required":true}, - "promptCacheWriteTokens": {"dataType":"double","required":true}, - "promptCacheReadTokens": {"dataType":"double","required":true}, - "delayMs": {"dataType":"double","required":true}, - "model": {"dataType":"string","required":true}, + "name": {"dataType":"string","required":true}, + "distribution": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"value":{"dataType":"double","required":true},"upper":{"dataType":"double","required":true},"lower":{"dataType":"double","required":true}}},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "RequestObj": { + "ResultSuccess_ScoreDistribution-Array_": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "provider": {"dataType":"string","required":true}, + "data": {"dataType":"array","array":{"dataType":"refObject","ref":"ScoreDistribution"},"required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ExperimentDatasetRow": { - "dataType": "refObject", - "properties": { - "rowId": {"dataType":"string","required":true}, - "inputRecord": {"dataType":"nestedObjectLiteral","nestedProperties":{"request":{"ref":"RequestObj","required":true},"response":{"ref":"ResponseObj","required":true},"autoInputs":{"dataType":"array","array":{"dataType":"refAlias","ref":"Record_string.string_"},"required":true},"inputs":{"ref":"Record_string.string_","required":true},"requestPath":{"dataType":"string","required":true},"requestId":{"dataType":"string","required":true},"id":{"dataType":"string","required":true}},"required":true}, - "rowIndex": {"dataType":"double","required":true}, - "columnId": {"dataType":"string","required":true}, - "scores": {"ref":"Record_string.Score_","required":true}, - }, - "additionalProperties": false, + "Result_ScoreDistribution-Array.string_": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_ScoreDistribution-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ExperimentScores": { + "ResultSuccess__score_key-string--score_sum-number--created_at_trunc-string_-Array_": { "dataType": "refObject", "properties": { - "dataset": {"dataType":"nestedObjectLiteral","nestedProperties":{"scores":{"ref":"Record_string.Score_","required":true}},"required":true}, - "hypothesis": {"dataType":"nestedObjectLiteral","nestedProperties":{"scores":{"ref":"Record_string.Score_","required":true},"runsCount":{"dataType":"double","required":true}},"required":true}, + "data": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"created_at_trunc":{"dataType":"string","required":true},"score_sum":{"dataType":"double","required":true},"score_key":{"dataType":"string","required":true}}},"required":true}, + "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Experiment": { + "Result__score_key-string--score_sum-number--created_at_trunc-string_-Array.string_": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__score_key-string--score_sum-number--created_at_trunc-string_-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "CustomerUsage": { "dataType": "refObject", "properties": { "id": {"dataType":"string","required":true}, - "organization": {"dataType":"string","required":true}, - "dataset": {"dataType":"nestedObjectLiteral","nestedProperties":{"rows":{"dataType":"array","array":{"dataType":"refObject","ref":"ExperimentDatasetRow"},"required":true},"name":{"dataType":"string","required":true},"id":{"dataType":"string","required":true}},"required":true}, - "meta": {"dataType":"any","required":true}, - "createdAt": {"dataType":"string","required":true}, - "hypotheses": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"runs":{"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"request":{"ref":"RequestObj"},"scores":{"ref":"Record_string.Score_","required":true},"response":{"ref":"ResponseObj"},"resultRequestId":{"dataType":"string","required":true},"datasetRowId":{"dataType":"string","required":true}}},"required":true},"providerKey":{"dataType":"string","required":true},"createdAt":{"dataType":"string","required":true},"status":{"dataType":"string","required":true},"model":{"dataType":"string","required":true},"parentPromptVersion":{"dataType":"nestedObjectLiteral","nestedProperties":{"template":{"dataType":"any","required":true}}},"promptVersion":{"dataType":"nestedObjectLiteral","nestedProperties":{"template":{"dataType":"any","required":true}}},"promptVersionId":{"dataType":"string","required":true},"id":{"dataType":"string","required":true}}},"required":true}, - "scores": {"dataType":"union","subSchemas":[{"ref":"ExperimentScores"},{"dataType":"enum","enums":[null]}],"required":true}, - "tableId": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "name": {"dataType":"string","required":true}, + "cost": {"dataType":"double","required":true}, + "count": {"dataType":"double","required":true}, + "prompt_tokens": {"dataType":"double","required":true}, + "completion_tokens": {"dataType":"double","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_Experiment-Array_": { + "Customer": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"Experiment"},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, + "id": {"dataType":"string","required":true}, + "name": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_Experiment-Array.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_Experiment-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Pick_FilterLeaf.experiment_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"experiment":{"ref":"Partial_ExperimentToOperators_"}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "FilterLeafSubset_experiment_": { - "dataType": "refAlias", - "type": {"ref":"Pick_FilterLeaf.experiment_","validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ExperimentFilterNode": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"FilterLeafSubset_experiment_"},{"ref":"ExperimentFilterBranch"},{"dataType":"enum","enums":["all"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ExperimentFilterBranch": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"right":{"ref":"ExperimentFilterNode","required":true},"operator":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["or"]},{"dataType":"enum","enums":["and"]}],"required":true},"left":{"ref":"ExperimentFilterNode","required":true}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "IncludeExperimentKeys": { + "CreditBalanceResponse": { "dataType": "refObject", "properties": { - "inputs": {"dataType":"enum","enums":[true]}, - "promptVersion": {"dataType":"enum","enums":[true]}, - "responseBodies": {"dataType":"enum","enums":[true]}, - "score": {"dataType":"enum","enums":[true]}, + "totalCreditsPurchased": {"dataType":"double","required":true}, + "balance": {"dataType":"double","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__datasetId-string__": { + "ResultSuccess_CreditBalanceResponse_": { "dataType": "refObject", "properties": { - "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"datasetId":{"dataType":"string","required":true}},"required":true}, + "data": {"ref":"CreditBalanceResponse","required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__datasetId-string_.string_": { + "Result_CreditBalanceResponse.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__datasetId-string__"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_CreditBalanceResponse_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "DatasetMetadata": { + "PurchasedCredits": { "dataType": "refObject", "properties": { - "promptVersionId": {"dataType":"string"}, - "inputRecordsIds": {"dataType":"array","array":{"dataType":"string"}}, + "id": {"dataType":"string","required":true}, + "createdAt": {"dataType":"double","required":true}, + "credits": {"dataType":"double","required":true}, + "referenceId": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "NewDatasetParams": { - "dataType": "refObject", - "properties": { - "datasetName": {"dataType":"string","required":true}, - "requestIds": {"dataType":"array","array":{"dataType":"string"},"required":true}, - "datasetType": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["experiment"]},{"dataType":"enum","enums":["helicone"]}],"required":true}, - "meta": {"ref":"DatasetMetadata"}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Pick_FilterLeaf.request-or-prompts_versions_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"request":{"ref":"Partial_RequestTableToOperators_"},"prompts_versions":{"ref":"Partial_PromptVersionsToOperators_"}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "FilterLeafSubset_request-or-prompts_versions_": { - "dataType": "refAlias", - "type": {"ref":"Pick_FilterLeaf.request-or-prompts_versions_","validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "DatasetFilterNode": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"FilterLeafSubset_request-or-prompts_versions_"},{"ref":"DatasetFilterBranch"},{"dataType":"enum","enums":["all"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "DatasetFilterBranch": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"right":{"ref":"DatasetFilterNode","required":true},"operator":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["or"]},{"dataType":"enum","enums":["and"]}],"required":true},"left":{"ref":"DatasetFilterNode","required":true}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "RandomDatasetParams": { - "dataType": "refObject", - "properties": { - "datasetName": {"dataType":"string","required":true}, - "filter": {"ref":"DatasetFilterNode","required":true}, - "offset": {"dataType":"double"}, - "limit": {"dataType":"double"}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "DatasetResult": { + "PaginatedPurchasedCredits": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "name": {"dataType":"string","required":true}, - "created_at": {"dataType":"string","required":true}, - "meta": {"ref":"DatasetMetadata"}, + "purchases": {"dataType":"array","array":{"dataType":"refObject","ref":"PurchasedCredits"},"required":true}, + "total": {"dataType":"double","required":true}, + "page": {"dataType":"double","required":true}, + "pageSize": {"dataType":"double","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_DatasetResult-Array_": { + "ResultSuccess_PaginatedPurchasedCredits_": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"DatasetResult"},"required":true}, + "data": {"ref":"PaginatedPurchasedCredits","required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_DatasetResult-Array.string_": { + "Result_PaginatedPurchasedCredits.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_DatasetResult-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_PaginatedPurchasedCredits_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess___-Array_": { + "ResultSuccess__totalSpend-number__": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{}},"required":true}, + "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"totalSpend":{"dataType":"double","required":true}},"required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result___-Array.string_": { + "Result__totalSpend-number_.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess___-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "HeliconeDatasetMetadata": { - "dataType": "refObject", - "properties": { - "promptVersionId": {"dataType":"string"}, - "inputRecordsIds": {"dataType":"array","array":{"dataType":"string"}}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "NewHeliconeDatasetParams": { - "dataType": "refObject", - "properties": { - "datasetName": {"dataType":"string","required":true}, - "requestIds": {"dataType":"array","array":{"dataType":"string"},"required":true}, - "meta": {"ref":"HeliconeDatasetMetadata"}, - }, - "additionalProperties": false, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__totalSpend-number__"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "MutateParams": { + "ModelSpend": { "dataType": "refObject", "properties": { - "addRequests": {"dataType":"array","array":{"dataType":"string"},"required":true}, - "removeRequests": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "model": {"dataType":"string","required":true}, + "provider": {"dataType":"string","required":true}, + "promptTokens": {"dataType":"double","required":true}, + "completionTokens": {"dataType":"double","required":true}, + "cacheReadTokens": {"dataType":"double","required":true}, + "cacheWriteTokens": {"dataType":"double","required":true}, + "pricing": {"dataType":"union","subSchemas":[{"dataType":"nestedObjectLiteral","nestedProperties":{"cacheWritePer1M":{"dataType":"double"},"cacheReadPer1M":{"dataType":"double"},"outputPer1M":{"dataType":"double","required":true},"inputPer1M":{"dataType":"double","required":true}}},{"dataType":"enum","enums":[null]}],"required":true}, + "subtotal": {"dataType":"double","required":true}, + "discountPercent": {"dataType":"double","required":true}, + "total": {"dataType":"double","required":true}, + "cacheAdjustment": {"dataType":"double"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "HeliconeDatasetRow": { + "SpendBreakdownResponse": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "origin_request_id": {"dataType":"string","required":true}, - "dataset_id": {"dataType":"string","required":true}, - "created_at": {"dataType":"string","required":true}, - "signed_url": {"ref":"Result_string.string_","required":true}, + "models": {"dataType":"array","array":{"dataType":"refObject","ref":"ModelSpend"},"required":true}, + "totalCost": {"dataType":"double","required":true}, + "timeRange": {"dataType":"nestedObjectLiteral","nestedProperties":{"end":{"dataType":"string","required":true},"start":{"dataType":"string","required":true}},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_HeliconeDatasetRow-Array_": { + "ResultSuccess_SpendBreakdownResponse_": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"HeliconeDatasetRow"},"required":true}, + "data": {"ref":"SpendBreakdownResponse","required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_HeliconeDatasetRow-Array.string_": { + "Result_SpendBreakdownResponse.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_HeliconeDatasetRow-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_SpendBreakdownResponse_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "HeliconeDataset": { + "PTBInvoice": { "dataType": "refObject", "properties": { - "created_at": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "dataset_type": {"dataType":"string","required":true}, "id": {"dataType":"string","required":true}, - "meta": {"dataType":"union","subSchemas":[{"ref":"Json"},{"dataType":"enum","enums":[null]}],"required":true}, - "name": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "organization": {"dataType":"string","required":true}, - "requests_count": {"dataType":"double","required":true}, + "organizationId": {"dataType":"string","required":true}, + "stripeInvoiceId": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "hostedInvoiceUrl": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "startDate": {"dataType":"string","required":true}, + "endDate": {"dataType":"string","required":true}, + "amountCents": {"dataType":"double","required":true}, + "subtotalCents": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, + "notes": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "createdAt": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_HeliconeDataset-Array_": { + "ResultSuccess_PTBInvoice-Array_": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"HeliconeDataset"},"required":true}, + "data": {"dataType":"array","array":{"dataType":"refObject","ref":"PTBInvoice"},"required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_HeliconeDataset-Array.string_": { + "Result_PTBInvoice-Array.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_HeliconeDataset-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_any_": { - "dataType": "refObject", - "properties": { - "data": {"dataType":"any","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_PTBInvoice-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Eval": { + "OrgDiscount": { "dataType": "refObject", "properties": { - "name": {"dataType":"string","required":true}, - "averageScore": {"dataType":"double","required":true}, - "minScore": {"dataType":"double","required":true}, - "maxScore": {"dataType":"double","required":true}, - "count": {"dataType":"double","required":true}, - "overTime": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"count":{"dataType":"double","required":true},"date":{"dataType":"string","required":true}}},"required":true}, - "averageOverTime": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"value":{"dataType":"double","required":true},"date":{"dataType":"string","required":true}}},"required":true}, + "provider": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "model": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, + "percent": {"dataType":"double","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_Eval-Array_": { + "ResultSuccess_OrgDiscount-Array_": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"Eval"},"required":true}, + "data": {"dataType":"array","array":{"dataType":"refObject","ref":"OrgDiscount"},"required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_Eval-Array.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_Eval-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "EvalFilterNode": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"FilterLeafSubset_request_response_rmt_"},{"ref":"EvalFilterBranch"},{"dataType":"enum","enums":["all"]}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "EvalFilterBranch": { + "Result_OrgDiscount-Array.string_": { "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"right":{"ref":"EvalFilterNode","required":true},"operator":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["or"]},{"dataType":"enum","enums":["and"]}],"required":true},"left":{"ref":"EvalFilterNode","required":true}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "EvalQueryParams": { - "dataType": "refObject", - "properties": { - "filter": {"ref":"EvalFilterNode","required":true}, - "timeFilter": {"dataType":"nestedObjectLiteral","nestedProperties":{"end":{"dataType":"string","required":true},"start":{"dataType":"string","required":true}},"required":true}, - "offset": {"dataType":"double"}, - "limit": {"dataType":"double"}, - "timeZoneDifference": {"dataType":"double"}, - }, - "additionalProperties": false, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_OrgDiscount-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ScoreDistribution": { + "InAppThread": { "dataType": "refObject", "properties": { - "name": {"dataType":"string","required":true}, - "distribution": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"value":{"dataType":"double","required":true},"upper":{"dataType":"double","required":true},"lower":{"dataType":"double","required":true}}},"required":true}, + "id": {"dataType":"string","required":true}, + "chat": {"dataType":"any","required":true}, + "user_id": {"dataType":"string","required":true}, + "org_id": {"dataType":"string","required":true}, + "created_at": {"dataType":"datetime","required":true}, + "escalated": {"dataType":"boolean","required":true}, + "metadata": {"dataType":"any","required":true}, + "updated_at": {"dataType":"datetime","required":true}, + "soft_delete": {"dataType":"boolean","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_ScoreDistribution-Array_": { + "ResultSuccess_InAppThread_": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"ScoreDistribution"},"required":true}, + "data": {"ref":"InAppThread","required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_ScoreDistribution-Array.string_": { + "Result_InAppThread.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_ScoreDistribution-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_InAppThread_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__score_key-string--score_sum-number--created_at_trunc-string_-Array_": { + "ResultSuccess__success-boolean__": { "dataType": "refObject", "properties": { - "data": {"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"created_at_trunc":{"dataType":"string","required":true},"score_sum":{"dataType":"double","required":true},"score_key":{"dataType":"string","required":true}}},"required":true}, + "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"success":{"dataType":"boolean","required":true}},"required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__score_key-string--score_sum-number--created_at_trunc-string_-Array.string_": { + "Result__success-boolean_.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__score_key-string--score_sum-number--created_at_trunc-string_-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "CustomerUsage": { - "dataType": "refObject", - "properties": { - "id": {"dataType":"string","required":true}, - "name": {"dataType":"string","required":true}, - "cost": {"dataType":"double","required":true}, - "count": {"dataType":"double","required":true}, - "prompt_tokens": {"dataType":"double","required":true}, - "completion_tokens": {"dataType":"double","required":true}, - }, - "additionalProperties": false, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__success-boolean__"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Customer": { + "ThreadSummary": { "dataType": "refObject", "properties": { "id": {"dataType":"string","required":true}, - "name": {"dataType":"string","required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "CreditBalanceResponse": { - "dataType": "refObject", - "properties": { - "totalCreditsPurchased": {"dataType":"double","required":true}, - "balance": {"dataType":"double","required":true}, + "created_at": {"dataType":"datetime","required":true}, + "updated_at": {"dataType":"datetime","required":true}, + "escalated": {"dataType":"boolean","required":true}, + "message_count": {"dataType":"double","required":true}, + "first_message": {"dataType":"string"}, + "last_message": {"dataType":"string"}, + "soft_delete": {"dataType":"boolean"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_CreditBalanceResponse_": { + "ResultSuccess_ThreadSummary-Array_": { "dataType": "refObject", "properties": { - "data": {"ref":"CreditBalanceResponse","required":true}, + "data": {"dataType":"array","array":{"dataType":"refObject","ref":"ThreadSummary"},"required":true}, "error": {"dataType":"enum","enums":[null],"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_CreditBalanceResponse.string_": { + "Result_ThreadSummary-Array.string_": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_CreditBalanceResponse_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PurchasedCredits": { - "dataType": "refObject", - "properties": { - "id": {"dataType":"string","required":true}, - "createdAt": {"dataType":"double","required":true}, - "credits": {"dataType":"double","required":true}, - "referenceId": {"dataType":"string","required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PaginatedPurchasedCredits": { - "dataType": "refObject", - "properties": { - "purchases": {"dataType":"array","array":{"dataType":"refObject","ref":"PurchasedCredits"},"required":true}, - "total": {"dataType":"double","required":true}, - "page": {"dataType":"double","required":true}, - "pageSize": {"dataType":"double","required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_PaginatedPurchasedCredits_": { - "dataType": "refObject", - "properties": { - "data": {"ref":"PaginatedPurchasedCredits","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_PaginatedPurchasedCredits.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_PaginatedPurchasedCredits_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__totalSpend-number__": { - "dataType": "refObject", - "properties": { - "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"totalSpend":{"dataType":"double","required":true}},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__totalSpend-number_.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__totalSpend-number__"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ModelSpend": { - "dataType": "refObject", - "properties": { - "model": {"dataType":"string","required":true}, - "provider": {"dataType":"string","required":true}, - "promptTokens": {"dataType":"double","required":true}, - "completionTokens": {"dataType":"double","required":true}, - "cacheReadTokens": {"dataType":"double","required":true}, - "cacheWriteTokens": {"dataType":"double","required":true}, - "pricing": {"dataType":"union","subSchemas":[{"dataType":"nestedObjectLiteral","nestedProperties":{"cacheWritePer1M":{"dataType":"double"},"cacheReadPer1M":{"dataType":"double"},"outputPer1M":{"dataType":"double","required":true},"inputPer1M":{"dataType":"double","required":true}}},{"dataType":"enum","enums":[null]}],"required":true}, - "subtotal": {"dataType":"double","required":true}, - "discountPercent": {"dataType":"double","required":true}, - "total": {"dataType":"double","required":true}, - "cacheAdjustment": {"dataType":"double"}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "SpendBreakdownResponse": { - "dataType": "refObject", - "properties": { - "models": {"dataType":"array","array":{"dataType":"refObject","ref":"ModelSpend"},"required":true}, - "totalCost": {"dataType":"double","required":true}, - "timeRange": {"dataType":"nestedObjectLiteral","nestedProperties":{"end":{"dataType":"string","required":true},"start":{"dataType":"string","required":true}},"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_SpendBreakdownResponse_": { - "dataType": "refObject", - "properties": { - "data": {"ref":"SpendBreakdownResponse","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_SpendBreakdownResponse.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_SpendBreakdownResponse_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PTBInvoice": { - "dataType": "refObject", - "properties": { - "id": {"dataType":"string","required":true}, - "organizationId": {"dataType":"string","required":true}, - "stripeInvoiceId": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "hostedInvoiceUrl": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "startDate": {"dataType":"string","required":true}, - "endDate": {"dataType":"string","required":true}, - "amountCents": {"dataType":"double","required":true}, - "subtotalCents": {"dataType":"union","subSchemas":[{"dataType":"double"},{"dataType":"enum","enums":[null]}],"required":true}, - "notes": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "createdAt": {"dataType":"string","required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_PTBInvoice-Array_": { - "dataType": "refObject", - "properties": { - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"PTBInvoice"},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_PTBInvoice-Array.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_PTBInvoice-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "OrgDiscount": { - "dataType": "refObject", - "properties": { - "provider": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "model": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true}, - "percent": {"dataType":"double","required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_OrgDiscount-Array_": { - "dataType": "refObject", - "properties": { - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"OrgDiscount"},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_OrgDiscount-Array.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_OrgDiscount-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "InAppThread": { - "dataType": "refObject", - "properties": { - "id": {"dataType":"string","required":true}, - "chat": {"dataType":"any","required":true}, - "user_id": {"dataType":"string","required":true}, - "org_id": {"dataType":"string","required":true}, - "created_at": {"dataType":"datetime","required":true}, - "escalated": {"dataType":"boolean","required":true}, - "metadata": {"dataType":"any","required":true}, - "updated_at": {"dataType":"datetime","required":true}, - "soft_delete": {"dataType":"boolean","required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_InAppThread_": { - "dataType": "refObject", - "properties": { - "data": {"ref":"InAppThread","required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_InAppThread.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_InAppThread_"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess__success-boolean__": { - "dataType": "refObject", - "properties": { - "data": {"dataType":"nestedObjectLiteral","nestedProperties":{"success":{"dataType":"boolean","required":true}},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result__success-boolean_.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess__success-boolean__"},{"ref":"ResultError_string_"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ThreadSummary": { - "dataType": "refObject", - "properties": { - "id": {"dataType":"string","required":true}, - "created_at": {"dataType":"datetime","required":true}, - "updated_at": {"dataType":"datetime","required":true}, - "escalated": {"dataType":"boolean","required":true}, - "message_count": {"dataType":"double","required":true}, - "first_message": {"dataType":"string"}, - "last_message": {"dataType":"string"}, - "soft_delete": {"dataType":"boolean"}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ResultSuccess_ThreadSummary-Array_": { - "dataType": "refObject", - "properties": { - "data": {"dataType":"array","array":{"dataType":"refObject","ref":"ThreadSummary"},"required":true}, - "error": {"dataType":"enum","enums":[null],"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Result_ThreadSummary-Array.string_": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_ThreadSummary-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"ref":"ResultSuccess_ThreadSummary-Array_"},{"ref":"ResultError_string_"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa }; @@ -4725,2037 +4128,7 @@ export function RegisterRoutes(app: Router) { const controller = new ApiKeyController(); await templateService.apiHandler({ - methodName: 'getProviderKey', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsApiKeyController_getProviderKeys: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.get('/v1/api-keys/provider-keys', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ApiKeyController)), - ...(fetchMiddlewares(ApiKeyController.prototype.getProviderKeys)), - - async function ApiKeyController_getProviderKeys(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsApiKeyController_getProviderKeys, request, response }); - - const controller = new ApiKeyController(); - - await templateService.apiHandler({ - methodName: 'getProviderKeys', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsApiKeyController_updateProviderKey: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - providerKeyId: {"in":"path","name":"providerKeyId","required":true,"dataType":"string"}, - body: {"in":"body","name":"body","required":true,"ref":"UpdateProviderKeyRequest"}, - }; - app.patch('/v1/api-keys/provider-key/:providerKeyId', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ApiKeyController)), - ...(fetchMiddlewares(ApiKeyController.prototype.updateProviderKey)), - - async function ApiKeyController_updateProviderKey(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsApiKeyController_updateProviderKey, request, response }); - - const controller = new ApiKeyController(); - - await templateService.apiHandler({ - methodName: 'updateProviderKey', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsApiKeyController_getAPIKeys: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.get('/v1/api-keys', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ApiKeyController)), - ...(fetchMiddlewares(ApiKeyController.prototype.getAPIKeys)), - - async function ApiKeyController_getAPIKeys(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsApiKeyController_getAPIKeys, request, response }); - - const controller = new ApiKeyController(); - - await templateService.apiHandler({ - methodName: 'getAPIKeys', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsApiKeyController_createAPIKey: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - body: {"in":"body","name":"body","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"key_permissions":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["rw"]},{"dataType":"enum","enums":["r"]},{"dataType":"enum","enums":["w"]}]},"api_key_name":{"dataType":"string","required":true}}}, - }; - app.post('/v1/api-keys', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ApiKeyController)), - ...(fetchMiddlewares(ApiKeyController.prototype.createAPIKey)), - - async function ApiKeyController_createAPIKey(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsApiKeyController_createAPIKey, request, response }); - - const controller = new ApiKeyController(); - - await templateService.apiHandler({ - methodName: 'createAPIKey', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsApiKeyController_createProxyKey: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - body: {"in":"body","name":"body","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"proxyKeyName":{"dataType":"string","required":true},"providerKeyId":{"dataType":"string","required":true}}}, - }; - app.post('/v1/api-keys/proxy-key', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ApiKeyController)), - ...(fetchMiddlewares(ApiKeyController.prototype.createProxyKey)), - - async function ApiKeyController_createProxyKey(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsApiKeyController_createProxyKey, request, response }); - - const controller = new ApiKeyController(); - - await templateService.apiHandler({ - methodName: 'createProxyKey', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsApiKeyController_deleteAPIKey: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - apiKeyId: {"in":"path","name":"apiKeyId","required":true,"dataType":"double"}, - }; - app.delete('/v1/api-keys/:apiKeyId', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ApiKeyController)), - ...(fetchMiddlewares(ApiKeyController.prototype.deleteAPIKey)), - - async function ApiKeyController_deleteAPIKey(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsApiKeyController_deleteAPIKey, request, response }); - - const controller = new ApiKeyController(); - - await templateService.apiHandler({ - methodName: 'deleteAPIKey', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsApiKeyController_updateAPIKey: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - apiKeyId: {"in":"path","name":"apiKeyId","required":true,"dataType":"double"}, - body: {"in":"body","name":"body","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"api_key_name":{"dataType":"string","required":true}}}, - }; - app.patch('/v1/api-keys/:apiKeyId', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ApiKeyController)), - ...(fetchMiddlewares(ApiKeyController.prototype.updateAPIKey)), - - async function ApiKeyController_updateAPIKey(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsApiKeyController_updateAPIKey, request, response }); - - const controller = new ApiKeyController(); - - await templateService.apiHandler({ - methodName: 'updateAPIKey', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsEvaluatorController_createEvaluator: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"CreateEvaluatorParams"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v1/evaluator', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(EvaluatorController)), - ...(fetchMiddlewares(EvaluatorController.prototype.createEvaluator)), - - async function EvaluatorController_createEvaluator(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_createEvaluator, request, response }); - - const controller = new EvaluatorController(); - - await templateService.apiHandler({ - methodName: 'createEvaluator', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsEvaluatorController_getEvaluator: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - evaluatorId: {"in":"path","name":"evaluatorId","required":true,"dataType":"string"}, - }; - app.get('/v1/evaluator/:evaluatorId', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(EvaluatorController)), - ...(fetchMiddlewares(EvaluatorController.prototype.getEvaluator)), - - async function EvaluatorController_getEvaluator(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_getEvaluator, request, response }); - - const controller = new EvaluatorController(); - - await templateService.apiHandler({ - methodName: 'getEvaluator', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsEvaluatorController_queryEvaluators: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{}}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v1/evaluator/query', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(EvaluatorController)), - ...(fetchMiddlewares(EvaluatorController.prototype.queryEvaluators)), - - async function EvaluatorController_queryEvaluators(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_queryEvaluators, request, response }); - - const controller = new EvaluatorController(); - - await templateService.apiHandler({ - methodName: 'queryEvaluators', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsEvaluatorController_updateEvaluator: Record = { - evaluatorId: {"in":"path","name":"evaluatorId","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"UpdateEvaluatorParams"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.put('/v1/evaluator/:evaluatorId', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(EvaluatorController)), - ...(fetchMiddlewares(EvaluatorController.prototype.updateEvaluator)), - - async function EvaluatorController_updateEvaluator(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_updateEvaluator, request, response }); - - const controller = new EvaluatorController(); - - await templateService.apiHandler({ - methodName: 'updateEvaluator', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsEvaluatorController_deleteEvaluator: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - evaluatorId: {"in":"path","name":"evaluatorId","required":true,"dataType":"string"}, - }; - app.delete('/v1/evaluator/:evaluatorId', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(EvaluatorController)), - ...(fetchMiddlewares(EvaluatorController.prototype.deleteEvaluator)), - - async function EvaluatorController_deleteEvaluator(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_deleteEvaluator, request, response }); - - const controller = new EvaluatorController(); - - await templateService.apiHandler({ - methodName: 'deleteEvaluator', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsEvaluatorController_getExperimentsForEvaluator: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - evaluatorId: {"in":"path","name":"evaluatorId","required":true,"dataType":"string"}, - }; - app.get('/v1/evaluator/:evaluatorId/experiments', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(EvaluatorController)), - ...(fetchMiddlewares(EvaluatorController.prototype.getExperimentsForEvaluator)), - - async function EvaluatorController_getExperimentsForEvaluator(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_getExperimentsForEvaluator, request, response }); - - const controller = new EvaluatorController(); - - await templateService.apiHandler({ - methodName: 'getExperimentsForEvaluator', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsEvaluatorController_getOnlineEvaluators: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - evaluatorId: {"in":"path","name":"evaluatorId","required":true,"dataType":"string"}, - }; - app.get('/v1/evaluator/:evaluatorId/onlineEvaluators', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(EvaluatorController)), - ...(fetchMiddlewares(EvaluatorController.prototype.getOnlineEvaluators)), - - async function EvaluatorController_getOnlineEvaluators(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_getOnlineEvaluators, request, response }); - - const controller = new EvaluatorController(); - - await templateService.apiHandler({ - methodName: 'getOnlineEvaluators', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsEvaluatorController_createOnlineEvaluator: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - evaluatorId: {"in":"path","name":"evaluatorId","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"CreateOnlineEvaluatorParams"}, - }; - app.post('/v1/evaluator/:evaluatorId/onlineEvaluators', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(EvaluatorController)), - ...(fetchMiddlewares(EvaluatorController.prototype.createOnlineEvaluator)), - - async function EvaluatorController_createOnlineEvaluator(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_createOnlineEvaluator, request, response }); - - const controller = new EvaluatorController(); - - await templateService.apiHandler({ - methodName: 'createOnlineEvaluator', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsEvaluatorController_deleteOnlineEvaluator: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - evaluatorId: {"in":"path","name":"evaluatorId","required":true,"dataType":"string"}, - onlineEvaluatorId: {"in":"path","name":"onlineEvaluatorId","required":true,"dataType":"string"}, - }; - app.delete('/v1/evaluator/:evaluatorId/onlineEvaluators/:onlineEvaluatorId', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(EvaluatorController)), - ...(fetchMiddlewares(EvaluatorController.prototype.deleteOnlineEvaluator)), - - async function EvaluatorController_deleteOnlineEvaluator(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_deleteOnlineEvaluator, request, response }); - - const controller = new EvaluatorController(); - - await templateService.apiHandler({ - methodName: 'deleteOnlineEvaluator', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsEvaluatorController_testPythonEvaluator: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"testInput":{"ref":"TestInput","required":true},"code":{"dataType":"string","required":true}}}, - }; - app.post('/v1/evaluator/python/test', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(EvaluatorController)), - ...(fetchMiddlewares(EvaluatorController.prototype.testPythonEvaluator)), - - async function EvaluatorController_testPythonEvaluator(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_testPythonEvaluator, request, response }); - - const controller = new EvaluatorController(); - - await templateService.apiHandler({ - methodName: 'testPythonEvaluator', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsEvaluatorController_testLLMEvaluator: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"evaluatorName":{"dataType":"string","required":true},"testInput":{"ref":"TestInput","required":true},"evaluatorConfig":{"ref":"EvaluatorConfig","required":true}}}, - }; - app.post('/v1/evaluator/llm/test', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(EvaluatorController)), - ...(fetchMiddlewares(EvaluatorController.prototype.testLLMEvaluator)), - - async function EvaluatorController_testLLMEvaluator(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_testLLMEvaluator, request, response }); - - const controller = new EvaluatorController(); - - await templateService.apiHandler({ - methodName: 'testLLMEvaluator', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsEvaluatorController_testLastMileEvaluator: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"testInput":{"ref":"TestInput","required":true},"config":{"ref":"LastMileConfigForm","required":true}}}, - }; - app.post('/v1/evaluator/lastmile/test', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(EvaluatorController)), - ...(fetchMiddlewares(EvaluatorController.prototype.testLastMileEvaluator)), - - async function EvaluatorController_testLastMileEvaluator(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_testLastMileEvaluator, request, response }); - - const controller = new EvaluatorController(); - - await templateService.apiHandler({ - methodName: 'testLastMileEvaluator', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsEvaluatorController_getEvaluatorStats: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - evaluatorId: {"in":"path","name":"evaluatorId","required":true,"dataType":"string"}, - }; - app.get('/v1/evaluator/:evaluatorId/stats', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(EvaluatorController)), - ...(fetchMiddlewares(EvaluatorController.prototype.getEvaluatorStats)), - - async function EvaluatorController_getEvaluatorStats(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_getEvaluatorStats, request, response }); - - const controller = new EvaluatorController(); - - await templateService.apiHandler({ - methodName: 'getEvaluatorStats', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025Controller_getPrompt2025: Record = { - promptId: {"in":"path","name":"promptId","required":true,"dataType":"string"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.get('/v1/prompt-2025/id/:promptId', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025Controller)), - ...(fetchMiddlewares(Prompt2025Controller.prototype.getPrompt2025)), - - async function Prompt2025Controller_getPrompt2025(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_getPrompt2025, request, response }); - - const controller = new Prompt2025Controller(); - - await templateService.apiHandler({ - methodName: 'getPrompt2025', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025Controller_renamePrompt2025: Record = { - promptId: {"in":"path","name":"promptId","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"name":{"dataType":"string","required":true}}}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v1/prompt-2025/id/:promptId/rename', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025Controller)), - ...(fetchMiddlewares(Prompt2025Controller.prototype.renamePrompt2025)), - - async function Prompt2025Controller_renamePrompt2025(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_renamePrompt2025, request, response }); - - const controller = new Prompt2025Controller(); - - await templateService.apiHandler({ - methodName: 'renamePrompt2025', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025Controller_updatePrompt2025Tags: Record = { - promptId: {"in":"path","name":"promptId","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"tags":{"dataType":"array","array":{"dataType":"string"},"required":true}}}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.patch('/v1/prompt-2025/id/:promptId/tags', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025Controller)), - ...(fetchMiddlewares(Prompt2025Controller.prototype.updatePrompt2025Tags)), - - async function Prompt2025Controller_updatePrompt2025Tags(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_updatePrompt2025Tags, request, response }); - - const controller = new Prompt2025Controller(); - - await templateService.apiHandler({ - methodName: 'updatePrompt2025Tags', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025Controller_deletePrompt2025: Record = { - promptId: {"in":"path","name":"promptId","required":true,"dataType":"string"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.delete('/v1/prompt-2025/:promptId', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025Controller)), - ...(fetchMiddlewares(Prompt2025Controller.prototype.deletePrompt2025)), - - async function Prompt2025Controller_deletePrompt2025(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_deletePrompt2025, request, response }); - - const controller = new Prompt2025Controller(); - - await templateService.apiHandler({ - methodName: 'deletePrompt2025', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025Controller_deletePrompt2025Version: Record = { - promptId: {"in":"path","name":"promptId","required":true,"dataType":"string"}, - versionId: {"in":"path","name":"versionId","required":true,"dataType":"string"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.delete('/v1/prompt-2025/:promptId/:versionId', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025Controller)), - ...(fetchMiddlewares(Prompt2025Controller.prototype.deletePrompt2025Version)), - - async function Prompt2025Controller_deletePrompt2025Version(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_deletePrompt2025Version, request, response }); - - const controller = new Prompt2025Controller(); - - await templateService.apiHandler({ - methodName: 'deletePrompt2025Version', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025Controller_getPrompt2025Inputs: Record = { - promptId: {"in":"path","name":"promptId","required":true,"dataType":"string"}, - versionId: {"in":"path","name":"versionId","required":true,"dataType":"string"}, - requestId: {"in":"query","name":"requestId","required":true,"dataType":"string"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.get('/v1/prompt-2025/id/:promptId/:versionId/inputs', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025Controller)), - ...(fetchMiddlewares(Prompt2025Controller.prototype.getPrompt2025Inputs)), - - async function Prompt2025Controller_getPrompt2025Inputs(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_getPrompt2025Inputs, request, response }); - - const controller = new Prompt2025Controller(); - - await templateService.apiHandler({ - methodName: 'getPrompt2025Inputs', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025Controller_getPrompt2025Tags: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.get('/v1/prompt-2025/tags', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025Controller)), - ...(fetchMiddlewares(Prompt2025Controller.prototype.getPrompt2025Tags)), - - async function Prompt2025Controller_getPrompt2025Tags(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_getPrompt2025Tags, request, response }); - - const controller = new Prompt2025Controller(); - - await templateService.apiHandler({ - methodName: 'getPrompt2025Tags', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025Controller_getPrompt2025Environments: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.get('/v1/prompt-2025/environments', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025Controller)), - ...(fetchMiddlewares(Prompt2025Controller.prototype.getPrompt2025Environments)), - - async function Prompt2025Controller_getPrompt2025Environments(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_getPrompt2025Environments, request, response }); - - const controller = new Prompt2025Controller(); - - await templateService.apiHandler({ - methodName: 'getPrompt2025Environments', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025Controller_createPrompt2025: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"promptBody":{"ref":"OpenAIChatRequest","required":true},"tags":{"dataType":"array","array":{"dataType":"string"},"required":true},"name":{"dataType":"string","required":true}}}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v1/prompt-2025', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025Controller)), - ...(fetchMiddlewares(Prompt2025Controller.prototype.createPrompt2025)), - - async function Prompt2025Controller_createPrompt2025(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_createPrompt2025, request, response }); - - const controller = new Prompt2025Controller(); - - await templateService.apiHandler({ - methodName: 'createPrompt2025', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025Controller_updatePrompt2025: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"promptBody":{"ref":"OpenAIChatRequest","required":true},"commitMessage":{"dataType":"string","required":true},"environment":{"dataType":"string"},"newMajorVersion":{"dataType":"boolean","required":true},"promptVersionId":{"dataType":"string","required":true},"promptId":{"dataType":"string","required":true}}}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v1/prompt-2025/update', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025Controller)), - ...(fetchMiddlewares(Prompt2025Controller.prototype.updatePrompt2025)), - - async function Prompt2025Controller_updatePrompt2025(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_updatePrompt2025, request, response }); - - const controller = new Prompt2025Controller(); - - await templateService.apiHandler({ - methodName: 'updatePrompt2025', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025Controller_setPromptVersionEnvironment: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"environment":{"dataType":"string","required":true},"promptVersionId":{"dataType":"string","required":true},"promptId":{"dataType":"string","required":true}}}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v1/prompt-2025/update/environment', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025Controller)), - ...(fetchMiddlewares(Prompt2025Controller.prototype.setPromptVersionEnvironment)), - - async function Prompt2025Controller_setPromptVersionEnvironment(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_setPromptVersionEnvironment, request, response }); - - const controller = new Prompt2025Controller(); - - await templateService.apiHandler({ - methodName: 'setPromptVersionEnvironment', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025Controller_removeEnvironmentFromVersion: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"environment":{"dataType":"string","required":true},"promptVersionId":{"dataType":"string","required":true},"promptId":{"dataType":"string","required":true}}}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v1/prompt-2025/remove/environment', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025Controller)), - ...(fetchMiddlewares(Prompt2025Controller.prototype.removeEnvironmentFromVersion)), - - async function Prompt2025Controller_removeEnvironmentFromVersion(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_removeEnvironmentFromVersion, request, response }); - - const controller = new Prompt2025Controller(); - - await templateService.apiHandler({ - methodName: 'removeEnvironmentFromVersion', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025Controller_getPrompt2025Count: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.get('/v1/prompt-2025/count', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025Controller)), - ...(fetchMiddlewares(Prompt2025Controller.prototype.getPrompt2025Count)), - - async function Prompt2025Controller_getPrompt2025Count(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_getPrompt2025Count, request, response }); - - const controller = new Prompt2025Controller(); - - await templateService.apiHandler({ - methodName: 'getPrompt2025Count', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025Controller_getPrompts2025: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"pageSize":{"dataType":"double","required":true},"page":{"dataType":"double","required":true},"tagsFilter":{"dataType":"array","array":{"dataType":"string"},"required":true},"search":{"dataType":"string","required":true}}}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v1/prompt-2025/query', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025Controller)), - ...(fetchMiddlewares(Prompt2025Controller.prototype.getPrompts2025)), - - async function Prompt2025Controller_getPrompts2025(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_getPrompts2025, request, response }); - - const controller = new Prompt2025Controller(); - - await templateService.apiHandler({ - methodName: 'getPrompts2025', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025Controller_getPrompt2025Version: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"promptVersionId":{"dataType":"string","required":true}}}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v1/prompt-2025/query/version', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025Controller)), - ...(fetchMiddlewares(Prompt2025Controller.prototype.getPrompt2025Version)), - - async function Prompt2025Controller_getPrompt2025Version(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_getPrompt2025Version, request, response }); - - const controller = new Prompt2025Controller(); - - await templateService.apiHandler({ - methodName: 'getPrompt2025Version', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025Controller_getPrompt2025EnvironmentVersion: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"environment":{"dataType":"string","required":true},"promptId":{"dataType":"string","required":true}}}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v1/prompt-2025/query/environment-version', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025Controller)), - ...(fetchMiddlewares(Prompt2025Controller.prototype.getPrompt2025EnvironmentVersion)), - - async function Prompt2025Controller_getPrompt2025EnvironmentVersion(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_getPrompt2025EnvironmentVersion, request, response }); - - const controller = new Prompt2025Controller(); - - await templateService.apiHandler({ - methodName: 'getPrompt2025EnvironmentVersion', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025Controller_getPrompt2025Versions: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"majorVersion":{"dataType":"double"},"promptId":{"dataType":"string","required":true}}}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v1/prompt-2025/query/versions', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025Controller)), - ...(fetchMiddlewares(Prompt2025Controller.prototype.getPrompt2025Versions)), - - async function Prompt2025Controller_getPrompt2025Versions(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_getPrompt2025Versions, request, response }); - - const controller = new Prompt2025Controller(); - - await templateService.apiHandler({ - methodName: 'getPrompt2025Versions', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025Controller_getPrompt2025ProductionVersion: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"promptId":{"dataType":"string","required":true}}}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v1/prompt-2025/query/production-version', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025Controller)), - ...(fetchMiddlewares(Prompt2025Controller.prototype.getPrompt2025ProductionVersion)), - - async function Prompt2025Controller_getPrompt2025ProductionVersion(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_getPrompt2025ProductionVersion, request, response }); - - const controller = new Prompt2025Controller(); - - await templateService.apiHandler({ - methodName: 'getPrompt2025ProductionVersion', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025Controller_getPrompt2025TotalVersions: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"promptId":{"dataType":"string","required":true}}}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v1/prompt-2025/query/total-versions', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025Controller)), - ...(fetchMiddlewares(Prompt2025Controller.prototype.getPrompt2025TotalVersions)), - - async function Prompt2025Controller_getPrompt2025TotalVersions(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_getPrompt2025TotalVersions, request, response }); - - const controller = new Prompt2025Controller(); - - await templateService.apiHandler({ - methodName: 'getPrompt2025TotalVersions', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025Controller_getPrompt2025VersionBody: Record = { - promptVersionId: {"in":"path","name":"promptVersionId","required":true,"dataType":"string"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.get('/v1/prompt-2025/:promptVersionId/prompt-body', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025Controller)), - ...(fetchMiddlewares(Prompt2025Controller.prototype.getPrompt2025VersionBody)), - - async function Prompt2025Controller_getPrompt2025VersionBody(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_getPrompt2025VersionBody, request, response }); - - const controller = new Prompt2025Controller(); - - await templateService.apiHandler({ - methodName: 'getPrompt2025VersionBody', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025V2Controller_getPrompt2025Version: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"promptVersionId":{"dataType":"string","required":true}}}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v2/prompt-2025/query/version', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025V2Controller)), - ...(fetchMiddlewares(Prompt2025V2Controller.prototype.getPrompt2025Version)), - - async function Prompt2025V2Controller_getPrompt2025Version(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025V2Controller_getPrompt2025Version, request, response }); - - const controller = new Prompt2025V2Controller(); - - await templateService.apiHandler({ - methodName: 'getPrompt2025Version', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025V2Controller_getPrompt2025EnvironmentVersion: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"environment":{"dataType":"string","required":true},"promptId":{"dataType":"string","required":true}}}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v2/prompt-2025/query/environment-version', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025V2Controller)), - ...(fetchMiddlewares(Prompt2025V2Controller.prototype.getPrompt2025EnvironmentVersion)), - - async function Prompt2025V2Controller_getPrompt2025EnvironmentVersion(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025V2Controller_getPrompt2025EnvironmentVersion, request, response }); - - const controller = new Prompt2025V2Controller(); - - await templateService.apiHandler({ - methodName: 'getPrompt2025EnvironmentVersion', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPrompt2025V2Controller_getPrompt2025ProductionVersion: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"promptId":{"dataType":"string","required":true}}}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v2/prompt-2025/query/production-version', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(Prompt2025V2Controller)), - ...(fetchMiddlewares(Prompt2025V2Controller.prototype.getPrompt2025ProductionVersion)), - - async function Prompt2025V2Controller_getPrompt2025ProductionVersion(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025V2Controller_getPrompt2025ProductionVersion, request, response }); - - const controller = new Prompt2025V2Controller(); - - await templateService.apiHandler({ - methodName: 'getPrompt2025ProductionVersion', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPromptController_hasPrompts: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.get('/v1/prompt/has-prompts', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PromptController)), - ...(fetchMiddlewares(PromptController.prototype.hasPrompts)), - - async function PromptController_hasPrompts(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_hasPrompts, request, response }); - - const controller = new PromptController(); - - await templateService.apiHandler({ - methodName: 'hasPrompts', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPromptController_getPrompts: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"PromptsQueryParams"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v1/prompt/query', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PromptController)), - ...(fetchMiddlewares(PromptController.prototype.getPrompts)), - - async function PromptController_getPrompts(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_getPrompts, request, response }); - - const controller = new PromptController(); - - await templateService.apiHandler({ - methodName: 'getPrompts', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPromptController_getPrompt: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"PromptQueryParams"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - promptId: {"in":"path","name":"promptId","required":true,"dataType":"string"}, - }; - app.post('/v1/prompt/:promptId/query', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PromptController)), - ...(fetchMiddlewares(PromptController.prototype.getPrompt)), - - async function PromptController_getPrompt(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_getPrompt, request, response }); - - const controller = new PromptController(); - - await templateService.apiHandler({ - methodName: 'getPrompt', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPromptController_deletePrompt: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - promptId: {"in":"path","name":"promptId","required":true,"dataType":"string"}, - }; - app.delete('/v1/prompt/:promptId', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PromptController)), - ...(fetchMiddlewares(PromptController.prototype.deletePrompt)), - - async function PromptController_deletePrompt(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_deletePrompt, request, response }); - - const controller = new PromptController(); - - await templateService.apiHandler({ - methodName: 'deletePrompt', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPromptController_createPrompt: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"metadata":{"ref":"Record_string.any_","required":true},"prompt":{"dataType":"any","required":true},"userDefinedId":{"dataType":"string","required":true}}}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v1/prompt/create', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PromptController)), - ...(fetchMiddlewares(PromptController.prototype.createPrompt)), - - async function PromptController_createPrompt(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_createPrompt, request, response }); - - const controller = new PromptController(); - - await templateService.apiHandler({ - methodName: 'createPrompt', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPromptController_updatePromptUserDefinedId: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - promptId: {"in":"path","name":"promptId","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"userDefinedId":{"dataType":"string","required":true}}}, - }; - app.patch('/v1/prompt/:promptId/user-defined-id', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PromptController)), - ...(fetchMiddlewares(PromptController.prototype.updatePromptUserDefinedId)), - - async function PromptController_updatePromptUserDefinedId(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_updatePromptUserDefinedId, request, response }); - - const controller = new PromptController(); - - await templateService.apiHandler({ - methodName: 'updatePromptUserDefinedId', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPromptController_editPromptVersionLabel: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"PromptEditSubversionLabelParams"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - promptVersionId: {"in":"path","name":"promptVersionId","required":true,"dataType":"string"}, - }; - app.post('/v1/prompt/version/:promptVersionId/edit-label', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PromptController)), - ...(fetchMiddlewares(PromptController.prototype.editPromptVersionLabel)), - - async function PromptController_editPromptVersionLabel(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_editPromptVersionLabel, request, response }); - - const controller = new PromptController(); - - await templateService.apiHandler({ - methodName: 'editPromptVersionLabel', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPromptController_editPromptVersionTemplate: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"PromptEditSubversionTemplateParams"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - promptVersionId: {"in":"path","name":"promptVersionId","required":true,"dataType":"string"}, - }; - app.post('/v1/prompt/version/:promptVersionId/edit-template', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PromptController)), - ...(fetchMiddlewares(PromptController.prototype.editPromptVersionTemplate)), - - async function PromptController_editPromptVersionTemplate(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_editPromptVersionTemplate, request, response }); - - const controller = new PromptController(); - - await templateService.apiHandler({ - methodName: 'editPromptVersionTemplate', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPromptController_createSubversionFromUi: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"PromptCreateSubversionParams"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - promptVersionId: {"in":"path","name":"promptVersionId","required":true,"dataType":"string"}, - }; - app.post('/v1/prompt/version/:promptVersionId/subversion-from-ui', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PromptController)), - ...(fetchMiddlewares(PromptController.prototype.createSubversionFromUi)), - - async function PromptController_createSubversionFromUi(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_createSubversionFromUi, request, response }); - - const controller = new PromptController(); - - await templateService.apiHandler({ - methodName: 'createSubversionFromUi', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPromptController_createSubversion: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"PromptCreateSubversionParams"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - promptVersionId: {"in":"path","name":"promptVersionId","required":true,"dataType":"string"}, - }; - app.post('/v1/prompt/version/:promptVersionId/subversion', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PromptController)), - ...(fetchMiddlewares(PromptController.prototype.createSubversion)), - - async function PromptController_createSubversion(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_createSubversion, request, response }); - - const controller = new PromptController(); - - await templateService.apiHandler({ - methodName: 'createSubversion', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPromptController_promotePromptVersionToProduction: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - promptVersionId: {"in":"path","name":"promptVersionId","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"previousProductionVersionId":{"dataType":"string","required":true}}}, - }; - app.post('/v1/prompt/version/:promptVersionId/promote', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PromptController)), - ...(fetchMiddlewares(PromptController.prototype.promotePromptVersionToProduction)), - - async function PromptController_promotePromptVersionToProduction(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_promotePromptVersionToProduction, request, response }); - - const controller = new PromptController(); - - await templateService.apiHandler({ - methodName: 'promotePromptVersionToProduction', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPromptController_getInputs: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"random":{"dataType":"boolean"},"limit":{"dataType":"double","required":true}}}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - promptVersionId: {"in":"path","name":"promptVersionId","required":true,"dataType":"string"}, - }; - app.post('/v1/prompt/version/:promptVersionId/inputs/query', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PromptController)), - ...(fetchMiddlewares(PromptController.prototype.getInputs)), - - async function PromptController_getInputs(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_getInputs, request, response }); - - const controller = new PromptController(); - - await templateService.apiHandler({ - methodName: 'getInputs', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPromptController_getPromptExperiments: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - promptId: {"in":"path","name":"promptId","required":true,"dataType":"string"}, - }; - app.get('/v1/prompt/:promptId/experiments', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PromptController)), - ...(fetchMiddlewares(PromptController.prototype.getPromptExperiments)), - - async function PromptController_getPromptExperiments(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_getPromptExperiments, request, response }); - - const controller = new PromptController(); - - await templateService.apiHandler({ - methodName: 'getPromptExperiments', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPromptController_getPromptVersions: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"PromptVersionsQueryParams"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - promptId: {"in":"path","name":"promptId","required":true,"dataType":"string"}, - }; - app.post('/v1/prompt/:promptId/versions/query', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PromptController)), - ...(fetchMiddlewares(PromptController.prototype.getPromptVersions)), - - async function PromptController_getPromptVersions(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_getPromptVersions, request, response }); - - const controller = new PromptController(); - - await templateService.apiHandler({ - methodName: 'getPromptVersions', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPromptController_getPromptVersion: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - promptVersionId: {"in":"path","name":"promptVersionId","required":true,"dataType":"string"}, - }; - app.get('/v1/prompt/version/:promptVersionId', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PromptController)), - ...(fetchMiddlewares(PromptController.prototype.getPromptVersion)), - - async function PromptController_getPromptVersion(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_getPromptVersion, request, response }); - - const controller = new PromptController(); - - await templateService.apiHandler({ - methodName: 'getPromptVersion', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPromptController_deletePromptVersion: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - promptVersionId: {"in":"path","name":"promptVersionId","required":true,"dataType":"string"}, - }; - app.delete('/v1/prompt/version/:promptVersionId', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PromptController)), - ...(fetchMiddlewares(PromptController.prototype.deletePromptVersion)), - - async function PromptController_deletePromptVersion(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_deletePromptVersion, request, response }); - - const controller = new PromptController(); - - await templateService.apiHandler({ - methodName: 'deletePromptVersion', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPromptController_getPromptVersionsCompiled: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"PromptVersiosQueryParamsCompiled"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - user_defined_id: {"in":"path","name":"user_defined_id","required":true,"dataType":"string"}, - }; - app.post('/v1/prompt/:user_defined_id/compile', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PromptController)), - ...(fetchMiddlewares(PromptController.prototype.getPromptVersionsCompiled)), - - async function PromptController_getPromptVersionsCompiled(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_getPromptVersionsCompiled, request, response }); - - const controller = new PromptController(); - - await templateService.apiHandler({ - methodName: 'getPromptVersionsCompiled', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPromptController_getPromptVersionTemplates: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"PromptVersiosQueryParamsCompiled"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - user_defined_id: {"in":"path","name":"user_defined_id","required":true,"dataType":"string"}, - }; - app.post('/v1/prompt/:user_defined_id/template', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PromptController)), - ...(fetchMiddlewares(PromptController.prototype.getPromptVersionTemplates)), - - async function PromptController_getPromptVersionTemplates(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_getPromptVersionTemplates, request, response }); - - const controller = new PromptController(); - - await templateService.apiHandler({ - methodName: 'getPromptVersionTemplates', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_createEmptyExperiment: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v2/experiment/create/empty', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.createEmptyExperiment)), - - async function ExperimentV2Controller_createEmptyExperiment(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_createEmptyExperiment, request, response }); - - const controller = new ExperimentV2Controller(); - - await templateService.apiHandler({ - methodName: 'createEmptyExperiment', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_createExperimentFromRequest: Record = { - requestId: {"in":"path","name":"requestId","required":true,"dataType":"string"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, - }; - app.post('/v2/experiment/create/from-request/:requestId', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.createExperimentFromRequest)), - - async function ExperimentV2Controller_createExperimentFromRequest(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_createExperimentFromRequest, request, response }); - - const controller = new ExperimentV2Controller(); - - await templateService.apiHandler({ - methodName: 'createExperimentFromRequest', + methodName: 'getProviderKey', controller, response, next, @@ -6767,27 +4140,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_createNewExperiment: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"originalPromptVersion":{"dataType":"string","required":true},"name":{"dataType":"string","required":true}}}, + const argsApiKeyController_getProviderKeys: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v2/experiment/new', + app.get('/v1/api-keys/provider-keys', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.createNewExperiment)), + ...(fetchMiddlewares(ApiKeyController)), + ...(fetchMiddlewares(ApiKeyController.prototype.getProviderKeys)), - async function ExperimentV2Controller_createNewExperiment(request: ExRequest, response: ExResponse, next: any) { + async function ApiKeyController_getProviderKeys(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_createNewExperiment, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsApiKeyController_getProviderKeys, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new ApiKeyController(); await templateService.apiHandler({ - methodName: 'createNewExperiment', + methodName: 'getProviderKeys', controller, response, next, @@ -6799,26 +4171,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_getExperiments: Record = { + const argsApiKeyController_updateProviderKey: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + providerKeyId: {"in":"path","name":"providerKeyId","required":true,"dataType":"string"}, + body: {"in":"body","name":"body","required":true,"ref":"UpdateProviderKeyRequest"}, }; - app.get('/v2/experiment', + app.patch('/v1/api-keys/provider-key/:providerKeyId', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.getExperiments)), + ...(fetchMiddlewares(ApiKeyController)), + ...(fetchMiddlewares(ApiKeyController.prototype.updateProviderKey)), - async function ExperimentV2Controller_getExperiments(request: ExRequest, response: ExResponse, next: any) { + async function ApiKeyController_updateProviderKey(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_getExperiments, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsApiKeyController_updateProviderKey, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new ApiKeyController(); await templateService.apiHandler({ - methodName: 'getExperiments', + methodName: 'updateProviderKey', controller, response, next, @@ -6830,27 +4204,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_deleteExperiment: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, + const argsApiKeyController_getAPIKeys: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.delete('/v2/experiment/:experimentId', + app.get('/v1/api-keys', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.deleteExperiment)), + ...(fetchMiddlewares(ApiKeyController)), + ...(fetchMiddlewares(ApiKeyController.prototype.getAPIKeys)), - async function ExperimentV2Controller_deleteExperiment(request: ExRequest, response: ExResponse, next: any) { + async function ApiKeyController_getAPIKeys(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_deleteExperiment, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsApiKeyController_getAPIKeys, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new ApiKeyController(); await templateService.apiHandler({ - methodName: 'deleteExperiment', + methodName: 'getAPIKeys', controller, response, next, @@ -6862,27 +4235,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_getExperimentById: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, + const argsApiKeyController_createAPIKey: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + body: {"in":"body","name":"body","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"key_permissions":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["rw"]},{"dataType":"enum","enums":["r"]},{"dataType":"enum","enums":["w"]}]},"api_key_name":{"dataType":"string","required":true}}}, }; - app.get('/v2/experiment/:experimentId', + app.post('/v1/api-keys', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.getExperimentById)), + ...(fetchMiddlewares(ApiKeyController)), + ...(fetchMiddlewares(ApiKeyController.prototype.createAPIKey)), - async function ExperimentV2Controller_getExperimentById(request: ExRequest, response: ExResponse, next: any) { + async function ApiKeyController_createAPIKey(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_getExperimentById, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsApiKeyController_createAPIKey, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new ApiKeyController(); await templateService.apiHandler({ - methodName: 'getExperimentById', + methodName: 'createAPIKey', controller, response, next, @@ -6894,28 +4267,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_createNewPromptVersionForExperiment: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"CreateNewPromptVersionForExperimentParams"}, + const argsApiKeyController_createProxyKey: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + body: {"in":"body","name":"body","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"proxyKeyName":{"dataType":"string","required":true},"providerKeyId":{"dataType":"string","required":true}}}, }; - app.post('/v2/experiment/:experimentId/prompt-version', + app.post('/v1/api-keys/proxy-key', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.createNewPromptVersionForExperiment)), + ...(fetchMiddlewares(ApiKeyController)), + ...(fetchMiddlewares(ApiKeyController.prototype.createProxyKey)), - async function ExperimentV2Controller_createNewPromptVersionForExperiment(request: ExRequest, response: ExResponse, next: any) { + async function ApiKeyController_createProxyKey(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_createNewPromptVersionForExperiment, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsApiKeyController_createProxyKey, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new ApiKeyController(); await templateService.apiHandler({ - methodName: 'createNewPromptVersionForExperiment', + methodName: 'createProxyKey', controller, response, next, @@ -6927,28 +4299,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_deletePromptVersion: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, - promptVersionId: {"in":"path","name":"promptVersionId","required":true,"dataType":"string"}, + const argsApiKeyController_deleteAPIKey: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + apiKeyId: {"in":"path","name":"apiKeyId","required":true,"dataType":"double"}, }; - app.delete('/v2/experiment/:experimentId/prompt-version/:promptVersionId', + app.delete('/v1/api-keys/:apiKeyId', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.deletePromptVersion)), + ...(fetchMiddlewares(ApiKeyController)), + ...(fetchMiddlewares(ApiKeyController.prototype.deleteAPIKey)), - async function ExperimentV2Controller_deletePromptVersion(request: ExRequest, response: ExResponse, next: any) { + async function ApiKeyController_deleteAPIKey(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_deletePromptVersion, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsApiKeyController_deleteAPIKey, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new ApiKeyController(); await templateService.apiHandler({ - methodName: 'deletePromptVersion', + methodName: 'deleteAPIKey', controller, response, next, @@ -6960,27 +4331,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_getPromptVersionsForExperiment: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, + const argsApiKeyController_updateAPIKey: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + apiKeyId: {"in":"path","name":"apiKeyId","required":true,"dataType":"double"}, + body: {"in":"body","name":"body","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"api_key_name":{"dataType":"string","required":true}}}, }; - app.get('/v2/experiment/:experimentId/prompt-versions', + app.patch('/v1/api-keys/:apiKeyId', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.getPromptVersionsForExperiment)), + ...(fetchMiddlewares(ApiKeyController)), + ...(fetchMiddlewares(ApiKeyController.prototype.updateAPIKey)), - async function ExperimentV2Controller_getPromptVersionsForExperiment(request: ExRequest, response: ExResponse, next: any) { + async function ApiKeyController_updateAPIKey(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_getPromptVersionsForExperiment, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsApiKeyController_updateAPIKey, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new ApiKeyController(); await templateService.apiHandler({ - methodName: 'getPromptVersionsForExperiment', + methodName: 'updateAPIKey', controller, response, next, @@ -6992,27 +4364,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_getInputKeysForExperiment: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, + const argsEvaluatorController_createEvaluator: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"CreateEvaluatorParams"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.get('/v2/experiment/:experimentId/input-keys', + app.post('/v1/evaluator', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.getInputKeysForExperiment)), + ...(fetchMiddlewares(EvaluatorController)), + ...(fetchMiddlewares(EvaluatorController.prototype.createEvaluator)), - async function ExperimentV2Controller_getInputKeysForExperiment(request: ExRequest, response: ExResponse, next: any) { + async function EvaluatorController_createEvaluator(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_getInputKeysForExperiment, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_createEvaluator, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new EvaluatorController(); await templateService.apiHandler({ - methodName: 'getInputKeysForExperiment', + methodName: 'createEvaluator', controller, response, next, @@ -7024,28 +4396,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_addManualRowToExperiment: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"inputs":{"ref":"Record_string.string_","required":true}}}, + const argsEvaluatorController_getEvaluator: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + evaluatorId: {"in":"path","name":"evaluatorId","required":true,"dataType":"string"}, }; - app.post('/v2/experiment/:experimentId/add-manual-row', + app.get('/v1/evaluator/:evaluatorId', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.addManualRowToExperiment)), + ...(fetchMiddlewares(EvaluatorController)), + ...(fetchMiddlewares(EvaluatorController.prototype.getEvaluator)), - async function ExperimentV2Controller_addManualRowToExperiment(request: ExRequest, response: ExResponse, next: any) { + async function EvaluatorController_getEvaluator(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_addManualRowToExperiment, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_getEvaluator, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new EvaluatorController(); await templateService.apiHandler({ - methodName: 'addManualRowToExperiment', + methodName: 'getEvaluator', controller, response, next, @@ -7057,28 +4428,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_addManualRowsToExperimentBatch: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"inputs":{"dataType":"array","array":{"dataType":"refAlias","ref":"Record_string.string_"},"required":true}}}, + const argsEvaluatorController_queryEvaluators: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{}}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v2/experiment/:experimentId/add-manual-rows-batch', + app.post('/v1/evaluator/query', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.addManualRowsToExperimentBatch)), + ...(fetchMiddlewares(EvaluatorController)), + ...(fetchMiddlewares(EvaluatorController.prototype.queryEvaluators)), - async function ExperimentV2Controller_addManualRowsToExperimentBatch(request: ExRequest, response: ExResponse, next: any) { + async function EvaluatorController_queryEvaluators(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_addManualRowsToExperimentBatch, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_queryEvaluators, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new EvaluatorController(); await templateService.apiHandler({ - methodName: 'addManualRowsToExperimentBatch', + methodName: 'queryEvaluators', controller, response, next, @@ -7090,28 +4460,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_deleteExperimentTableRows: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"inputRecordIds":{"dataType":"array","array":{"dataType":"string"},"required":true}}}, + const argsEvaluatorController_updateEvaluator: Record = { + evaluatorId: {"in":"path","name":"evaluatorId","required":true,"dataType":"string"}, + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"UpdateEvaluatorParams"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.delete('/v2/experiment/:experimentId/rows', + app.put('/v1/evaluator/:evaluatorId', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.deleteExperimentTableRows)), + ...(fetchMiddlewares(EvaluatorController)), + ...(fetchMiddlewares(EvaluatorController.prototype.updateEvaluator)), - async function ExperimentV2Controller_deleteExperimentTableRows(request: ExRequest, response: ExResponse, next: any) { + async function EvaluatorController_updateEvaluator(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_deleteExperimentTableRows, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_updateEvaluator, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new EvaluatorController(); await templateService.apiHandler({ - methodName: 'deleteExperimentTableRows', + methodName: 'updateEvaluator', controller, response, next, @@ -7123,28 +4493,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_createExperimentTableRowBatch: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"rows":{"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"autoInputs":{"dataType":"array","array":{"dataType":"any"},"required":true},"inputs":{"ref":"Record_string.string_","required":true},"inputRecordId":{"dataType":"string","required":true}}},"required":true}}}, + const argsEvaluatorController_deleteEvaluator: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + evaluatorId: {"in":"path","name":"evaluatorId","required":true,"dataType":"string"}, }; - app.post('/v2/experiment/:experimentId/row/insert/batch', + app.delete('/v1/evaluator/:evaluatorId', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.createExperimentTableRowBatch)), + ...(fetchMiddlewares(EvaluatorController)), + ...(fetchMiddlewares(EvaluatorController.prototype.deleteEvaluator)), - async function ExperimentV2Controller_createExperimentTableRowBatch(request: ExRequest, response: ExResponse, next: any) { + async function EvaluatorController_deleteEvaluator(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_createExperimentTableRowBatch, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_deleteEvaluator, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new EvaluatorController(); await templateService.apiHandler({ - methodName: 'createExperimentTableRowBatch', + methodName: 'deleteEvaluator', controller, response, next, @@ -7156,28 +4525,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_createExperimentTableRowFromDataset: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, - datasetId: {"in":"path","name":"datasetId","required":true,"dataType":"string"}, + const argsEvaluatorController_getOnlineEvaluators: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + evaluatorId: {"in":"path","name":"evaluatorId","required":true,"dataType":"string"}, }; - app.post('/v2/experiment/:experimentId/row/insert/dataset/:datasetId', + app.get('/v1/evaluator/:evaluatorId/onlineEvaluators', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.createExperimentTableRowFromDataset)), + ...(fetchMiddlewares(EvaluatorController)), + ...(fetchMiddlewares(EvaluatorController.prototype.getOnlineEvaluators)), - async function ExperimentV2Controller_createExperimentTableRowFromDataset(request: ExRequest, response: ExResponse, next: any) { + async function EvaluatorController_getOnlineEvaluators(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_createExperimentTableRowFromDataset, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_getOnlineEvaluators, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new EvaluatorController(); await templateService.apiHandler({ - methodName: 'createExperimentTableRowFromDataset', + methodName: 'getOnlineEvaluators', controller, response, next, @@ -7189,28 +4557,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_updateExperimentTableRow: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"inputs":{"ref":"Record_string.string_","required":true},"inputRecordId":{"dataType":"string","required":true}}}, + const argsEvaluatorController_createOnlineEvaluator: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + evaluatorId: {"in":"path","name":"evaluatorId","required":true,"dataType":"string"}, + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"CreateOnlineEvaluatorParams"}, }; - app.post('/v2/experiment/:experimentId/row/update', + app.post('/v1/evaluator/:evaluatorId/onlineEvaluators', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.updateExperimentTableRow)), + ...(fetchMiddlewares(EvaluatorController)), + ...(fetchMiddlewares(EvaluatorController.prototype.createOnlineEvaluator)), - async function ExperimentV2Controller_updateExperimentTableRow(request: ExRequest, response: ExResponse, next: any) { + async function EvaluatorController_createOnlineEvaluator(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_updateExperimentTableRow, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_createOnlineEvaluator, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new EvaluatorController(); await templateService.apiHandler({ - methodName: 'updateExperimentTableRow', + methodName: 'createOnlineEvaluator', controller, response, next, @@ -7222,28 +4590,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_runHypothesis: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"inputRecordId":{"dataType":"string","required":true},"promptVersionId":{"dataType":"string","required":true}}}, + const argsEvaluatorController_deleteOnlineEvaluator: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + evaluatorId: {"in":"path","name":"evaluatorId","required":true,"dataType":"string"}, + onlineEvaluatorId: {"in":"path","name":"onlineEvaluatorId","required":true,"dataType":"string"}, }; - app.post('/v2/experiment/:experimentId/run-hypothesis', + app.delete('/v1/evaluator/:evaluatorId/onlineEvaluators/:onlineEvaluatorId', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.runHypothesis)), + ...(fetchMiddlewares(EvaluatorController)), + ...(fetchMiddlewares(EvaluatorController.prototype.deleteOnlineEvaluator)), - async function ExperimentV2Controller_runHypothesis(request: ExRequest, response: ExResponse, next: any) { + async function EvaluatorController_deleteOnlineEvaluator(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_runHypothesis, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_deleteOnlineEvaluator, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new EvaluatorController(); await templateService.apiHandler({ - methodName: 'runHypothesis', + methodName: 'deleteOnlineEvaluator', controller, response, next, @@ -7255,27 +4623,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_getExperimentEvaluators: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, + const argsEvaluatorController_testPythonEvaluator: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"testInput":{"ref":"TestInput","required":true},"code":{"dataType":"string","required":true}}}, }; - app.get('/v2/experiment/:experimentId/evaluators', + app.post('/v1/evaluator/python/test', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.getExperimentEvaluators)), + ...(fetchMiddlewares(EvaluatorController)), + ...(fetchMiddlewares(EvaluatorController.prototype.testPythonEvaluator)), - async function ExperimentV2Controller_getExperimentEvaluators(request: ExRequest, response: ExResponse, next: any) { + async function EvaluatorController_testPythonEvaluator(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_getExperimentEvaluators, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_testPythonEvaluator, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new EvaluatorController(); await templateService.apiHandler({ - methodName: 'getExperimentEvaluators', + methodName: 'testPythonEvaluator', controller, response, next, @@ -7287,28 +4655,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_createExperimentEvaluator: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"evaluatorId":{"dataType":"string","required":true}}}, + const argsEvaluatorController_testLLMEvaluator: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"evaluatorName":{"dataType":"string","required":true},"testInput":{"ref":"TestInput","required":true},"evaluatorConfig":{"ref":"EvaluatorConfig","required":true}}}, }; - app.post('/v2/experiment/:experimentId/evaluators', + app.post('/v1/evaluator/llm/test', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.createExperimentEvaluator)), + ...(fetchMiddlewares(EvaluatorController)), + ...(fetchMiddlewares(EvaluatorController.prototype.testLLMEvaluator)), - async function ExperimentV2Controller_createExperimentEvaluator(request: ExRequest, response: ExResponse, next: any) { + async function EvaluatorController_testLLMEvaluator(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_createExperimentEvaluator, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_testLLMEvaluator, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new EvaluatorController(); await templateService.apiHandler({ - methodName: 'createExperimentEvaluator', + methodName: 'testLLMEvaluator', controller, response, next, @@ -7320,28 +4687,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_deleteExperimentEvaluator: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, - evaluatorId: {"in":"path","name":"evaluatorId","required":true,"dataType":"string"}, + const argsEvaluatorController_testLastMileEvaluator: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"testInput":{"ref":"TestInput","required":true},"config":{"ref":"LastMileConfigForm","required":true}}}, }; - app.delete('/v2/experiment/:experimentId/evaluators/:evaluatorId', + app.post('/v1/evaluator/lastmile/test', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.deleteExperimentEvaluator)), + ...(fetchMiddlewares(EvaluatorController)), + ...(fetchMiddlewares(EvaluatorController.prototype.testLastMileEvaluator)), - async function ExperimentV2Controller_deleteExperimentEvaluator(request: ExRequest, response: ExResponse, next: any) { + async function EvaluatorController_testLastMileEvaluator(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_deleteExperimentEvaluator, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_testLastMileEvaluator, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new EvaluatorController(); await templateService.apiHandler({ - methodName: 'deleteExperimentEvaluator', + methodName: 'testLastMileEvaluator', controller, response, next, @@ -7353,27 +4719,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_runExperimentEvaluators: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, + const argsEvaluatorController_getEvaluatorStats: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + evaluatorId: {"in":"path","name":"evaluatorId","required":true,"dataType":"string"}, }; - app.post('/v2/experiment/:experimentId/evaluators/run', + app.get('/v1/evaluator/:evaluatorId/stats', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.runExperimentEvaluators)), + ...(fetchMiddlewares(EvaluatorController)), + ...(fetchMiddlewares(EvaluatorController.prototype.getEvaluatorStats)), - async function ExperimentV2Controller_runExperimentEvaluators(request: ExRequest, response: ExResponse, next: any) { + async function EvaluatorController_getEvaluatorStats(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_runExperimentEvaluators, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsEvaluatorController_getEvaluatorStats, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new EvaluatorController(); await templateService.apiHandler({ - methodName: 'runExperimentEvaluators', + methodName: 'getEvaluatorStats', controller, response, next, @@ -7385,27 +4751,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_shouldRunEvaluators: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, + const argsStripeController_getFreeUsage: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.get('/v2/experiment/:experimentId/should-run-evaluators', + app.get('/v1/stripe/subscription/free/usage', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.shouldRunEvaluators)), + ...(fetchMiddlewares(StripeController)), + ...(fetchMiddlewares(StripeController.prototype.getFreeUsage)), - async function ExperimentV2Controller_shouldRunEvaluators(request: ExRequest, response: ExResponse, next: any) { + async function StripeController_getFreeUsage(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_shouldRunEvaluators, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_getFreeUsage, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new StripeController(); await templateService.apiHandler({ - methodName: 'shouldRunEvaluators', + methodName: 'getFreeUsage', controller, response, next, @@ -7417,28 +4782,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_getExperimentPromptVersionScores: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, - promptVersionId: {"in":"path","name":"promptVersionId","required":true,"dataType":"string"}, + const argsStripeController_createCloudGatewayCheckoutSession: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + body: {"in":"body","name":"body","required":true,"ref":"CreateCloudGatewayCheckoutSessionRequest"}, }; - app.get('/v2/experiment/:experimentId/:promptVersionId/scores', + app.post('/v1/stripe/cloud/checkout-session', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.getExperimentPromptVersionScores)), + ...(fetchMiddlewares(StripeController)), + ...(fetchMiddlewares(StripeController.prototype.createCloudGatewayCheckoutSession)), - async function ExperimentV2Controller_getExperimentPromptVersionScores(request: ExRequest, response: ExResponse, next: any) { + async function StripeController_createCloudGatewayCheckoutSession(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_getExperimentPromptVersionScores, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_createCloudGatewayCheckoutSession, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new StripeController(); await templateService.apiHandler({ - methodName: 'getExperimentPromptVersionScores', + methodName: 'createCloudGatewayCheckoutSession', controller, response, next, @@ -7450,29 +4814,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentV2Controller_getExperimentScore: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, - requestId: {"in":"path","name":"requestId","required":true,"dataType":"string"}, - scoreKey: {"in":"path","name":"scoreKey","required":true,"dataType":"string"}, + const argsStripeController_manageSubscription: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.get('/v2/experiment/:experimentId/:requestId/:scoreKey', + app.post('/v1/stripe/subscription/manage-subscription', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentV2Controller)), - ...(fetchMiddlewares(ExperimentV2Controller.prototype.getExperimentScore)), + ...(fetchMiddlewares(StripeController)), + ...(fetchMiddlewares(StripeController.prototype.manageSubscription)), - async function ExperimentV2Controller_getExperimentScore(request: ExRequest, response: ExResponse, next: any) { + async function StripeController_manageSubscription(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentV2Controller_getExperimentScore, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_manageSubscription, request, response }); - const controller = new ExperimentV2Controller(); + const controller = new StripeController(); await templateService.apiHandler({ - methodName: 'getExperimentScore', + methodName: 'manageSubscription', controller, response, next, @@ -7484,26 +4845,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_getCostForPrompts: Record = { + const argsStripeController_undoCancelSubscription: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.get('/v1/stripe/subscription/cost-for-prompts', + app.post('/v1/stripe/subscription/undo-cancel-subscription', authenticateMiddleware([{"api_key":[]}]), ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.getCostForPrompts)), + ...(fetchMiddlewares(StripeController.prototype.undoCancelSubscription)), - async function StripeController_getCostForPrompts(request: ExRequest, response: ExResponse, next: any) { + async function StripeController_undoCancelSubscription(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_getCostForPrompts, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_undoCancelSubscription, request, response }); const controller = new StripeController(); await templateService.apiHandler({ - methodName: 'getCostForPrompts', + methodName: 'undoCancelSubscription', controller, response, next, @@ -7515,26 +4876,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_getCostForEvals: Record = { + const argsStripeController_previewInvoice: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.get('/v1/stripe/subscription/cost-for-evals', + app.get('/v1/stripe/subscription/preview-invoice', authenticateMiddleware([{"api_key":[]}]), ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.getCostForEvals)), + ...(fetchMiddlewares(StripeController.prototype.previewInvoice)), - async function StripeController_getCostForEvals(request: ExRequest, response: ExResponse, next: any) { + async function StripeController_previewInvoice(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_getCostForEvals, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_previewInvoice, request, response }); const controller = new StripeController(); await templateService.apiHandler({ - methodName: 'getCostForEvals', + methodName: 'previewInvoice', controller, response, next, @@ -7546,26 +4907,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_getCostForExperiments: Record = { + const argsStripeController_cancelSubscription: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.get('/v1/stripe/subscription/cost-for-experiments', + app.post('/v1/stripe/subscription/cancel-subscription', authenticateMiddleware([{"api_key":[]}]), ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.getCostForExperiments)), + ...(fetchMiddlewares(StripeController.prototype.cancelSubscription)), - async function StripeController_getCostForExperiments(request: ExRequest, response: ExResponse, next: any) { + async function StripeController_cancelSubscription(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_getCostForExperiments, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_cancelSubscription, request, response }); const controller = new StripeController(); await templateService.apiHandler({ - methodName: 'getCostForExperiments', + methodName: 'cancelSubscription', controller, response, next, @@ -7577,26 +4938,29 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_getFreeUsage: Record = { + const argsStripeController_searchPaymentIntents: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + search_kind: {"in":"query","name":"search_kind","required":true,"dataType":"string"}, + limit: {"in":"query","name":"limit","dataType":"double"}, + page: {"in":"query","name":"page","dataType":"string"}, }; - app.get('/v1/stripe/subscription/free/usage', + app.get('/v1/stripe/payment-intents/search', authenticateMiddleware([{"api_key":[]}]), ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.getFreeUsage)), + ...(fetchMiddlewares(StripeController.prototype.searchPaymentIntents)), - async function StripeController_getFreeUsage(request: ExRequest, response: ExResponse, next: any) { + async function StripeController_searchPaymentIntents(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_getFreeUsage, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_searchPaymentIntents, request, response }); const controller = new StripeController(); await templateService.apiHandler({ - methodName: 'getFreeUsage', + methodName: 'searchPaymentIntents', controller, response, next, @@ -7608,27 +4972,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_createCloudGatewayCheckoutSession: Record = { + const argsStripeController_getSubscription: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, - body: {"in":"body","name":"body","required":true,"ref":"CreateCloudGatewayCheckoutSessionRequest"}, }; - app.post('/v1/stripe/cloud/checkout-session', + app.get('/v1/stripe/subscription', authenticateMiddleware([{"api_key":[]}]), ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.createCloudGatewayCheckoutSession)), + ...(fetchMiddlewares(StripeController.prototype.getSubscription)), - async function StripeController_createCloudGatewayCheckoutSession(request: ExRequest, response: ExResponse, next: any) { + async function StripeController_getSubscription(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_createCloudGatewayCheckoutSession, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_getSubscription, request, response }); const controller = new StripeController(); await templateService.apiHandler({ - methodName: 'createCloudGatewayCheckoutSession', + methodName: 'getSubscription', controller, response, next, @@ -7640,27 +5003,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_upgradeToPro: Record = { + const argsStripeController_getAutoTopoffSettings: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, - body: {"in":"body","name":"body","required":true,"ref":"UpgradeToProRequest"}, }; - app.post('/v1/stripe/subscription/new-customer/upgrade-to-pro', + app.get('/v1/stripe/auto-topoff/settings', authenticateMiddleware([{"api_key":[]}]), ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.upgradeToPro)), + ...(fetchMiddlewares(StripeController.prototype.getAutoTopoffSettings)), - async function StripeController_upgradeToPro(request: ExRequest, response: ExResponse, next: any) { + async function StripeController_getAutoTopoffSettings(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_upgradeToPro, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_getAutoTopoffSettings, request, response }); const controller = new StripeController(); await templateService.apiHandler({ - methodName: 'upgradeToPro', + methodName: 'getAutoTopoffSettings', controller, response, next, @@ -7672,27 +5034,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_upgradeExistingCustomer: Record = { + const argsStripeController_updateAutoTopoffSettings: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, - body: {"in":"body","name":"body","required":true,"ref":"UpgradeToProRequest"}, + body: {"in":"body","name":"body","required":true,"ref":"UpdateAutoTopoffSettingsRequest"}, }; - app.post('/v1/stripe/subscription/existing-customer/upgrade-to-pro', + app.post('/v1/stripe/auto-topoff/settings', authenticateMiddleware([{"api_key":[]}]), ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.upgradeExistingCustomer)), + ...(fetchMiddlewares(StripeController.prototype.updateAutoTopoffSettings)), - async function StripeController_upgradeExistingCustomer(request: ExRequest, response: ExResponse, next: any) { + async function StripeController_updateAutoTopoffSettings(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_upgradeExistingCustomer, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_updateAutoTopoffSettings, request, response }); const controller = new StripeController(); await templateService.apiHandler({ - methodName: 'upgradeExistingCustomer', + methodName: 'updateAutoTopoffSettings', controller, response, next, @@ -7704,27 +5066,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_upgradeToTeamBundle: Record = { + const argsStripeController_disableAutoTopoff: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, - body: {"in":"body","name":"body","ref":"UpgradeToTeamBundleRequest"}, }; - app.post('/v1/stripe/subscription/new-customer/upgrade-to-team-bundle', + app.delete('/v1/stripe/auto-topoff/settings', authenticateMiddleware([{"api_key":[]}]), ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.upgradeToTeamBundle)), + ...(fetchMiddlewares(StripeController.prototype.disableAutoTopoff)), - async function StripeController_upgradeToTeamBundle(request: ExRequest, response: ExResponse, next: any) { + async function StripeController_disableAutoTopoff(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_upgradeToTeamBundle, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_disableAutoTopoff, request, response }); const controller = new StripeController(); await templateService.apiHandler({ - methodName: 'upgradeToTeamBundle', + methodName: 'disableAutoTopoff', controller, response, next, @@ -7736,27 +5097,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_upgradeExistingCustomerToTeamBundle: Record = { + const argsStripeController_getPaymentMethods: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, - body: {"in":"body","name":"body","ref":"UpgradeToTeamBundleRequest"}, }; - app.post('/v1/stripe/subscription/existing-customer/upgrade-to-team-bundle', + app.get('/v1/stripe/payment-methods', authenticateMiddleware([{"api_key":[]}]), ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.upgradeExistingCustomerToTeamBundle)), + ...(fetchMiddlewares(StripeController.prototype.getPaymentMethods)), - async function StripeController_upgradeExistingCustomerToTeamBundle(request: ExRequest, response: ExResponse, next: any) { + async function StripeController_getPaymentMethods(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_upgradeExistingCustomerToTeamBundle, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_getPaymentMethods, request, response }); const controller = new StripeController(); await templateService.apiHandler({ - methodName: 'upgradeExistingCustomerToTeamBundle', + methodName: 'getPaymentMethods', controller, response, next, @@ -7768,26 +5128,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_manageSubscription: Record = { + const argsStripeController_createSetupSession: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + body: {"in":"body","name":"body","required":true,"ref":"CreateSetupSessionRequest"}, }; - app.post('/v1/stripe/subscription/manage-subscription', + app.post('/v1/stripe/payment-methods/setup-session', authenticateMiddleware([{"api_key":[]}]), ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.manageSubscription)), + ...(fetchMiddlewares(StripeController.prototype.createSetupSession)), - async function StripeController_manageSubscription(request: ExRequest, response: ExResponse, next: any) { + async function StripeController_createSetupSession(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_manageSubscription, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_createSetupSession, request, response }); const controller = new StripeController(); await templateService.apiHandler({ - methodName: 'manageSubscription', + methodName: 'createSetupSession', controller, response, next, @@ -7799,26 +5160,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_undoCancelSubscription: Record = { + const argsStripeController_removePaymentMethod: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + paymentMethodId: {"in":"path","name":"paymentMethodId","required":true,"dataType":"string"}, }; - app.post('/v1/stripe/subscription/undo-cancel-subscription', + app.delete('/v1/stripe/payment-methods/:paymentMethodId', authenticateMiddleware([{"api_key":[]}]), ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.undoCancelSubscription)), + ...(fetchMiddlewares(StripeController.prototype.removePaymentMethod)), - async function StripeController_undoCancelSubscription(request: ExRequest, response: ExResponse, next: any) { + async function StripeController_removePaymentMethod(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_undoCancelSubscription, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_removePaymentMethod, request, response }); const controller = new StripeController(); await templateService.apiHandler({ - methodName: 'undoCancelSubscription', + methodName: 'removePaymentMethod', controller, response, next, @@ -7830,27 +5192,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_addOns: Record = { + const argsStripeController_getUsageStats: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, - productType: {"in":"path","name":"productType","required":true,"dataType":"union","subSchemas":[{"dataType":"enum","enums":["alerts"]},{"dataType":"enum","enums":["prompts"]},{"dataType":"enum","enums":["experiments"]},{"dataType":"enum","enums":["evals"]}]}, }; - app.post('/v1/stripe/subscription/add-ons/:productType', + app.get('/v1/stripe/subscription/usage-stats', authenticateMiddleware([{"api_key":[]}]), ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.addOns)), + ...(fetchMiddlewares(StripeController.prototype.getUsageStats)), - async function StripeController_addOns(request: ExRequest, response: ExResponse, next: any) { + async function StripeController_getUsageStats(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_addOns, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_getUsageStats, request, response }); const controller = new StripeController(); await templateService.apiHandler({ - methodName: 'addOns', + methodName: 'getUsageStats', controller, response, next, @@ -7862,27 +5223,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_deleteAddOns: Record = { + const argsIntegrationController_createIntegration: Record = { + params: {"in":"body","name":"params","required":true,"ref":"IntegrationCreateParams"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, - productType: {"in":"path","name":"productType","required":true,"dataType":"union","subSchemas":[{"dataType":"enum","enums":["alerts"]},{"dataType":"enum","enums":["prompts"]},{"dataType":"enum","enums":["experiments"]},{"dataType":"enum","enums":["evals"]}]}, }; - app.delete('/v1/stripe/subscription/add-ons/:productType', + app.post('/v1/integration', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.deleteAddOns)), + ...(fetchMiddlewares(IntegrationController)), + ...(fetchMiddlewares(IntegrationController.prototype.createIntegration)), - async function StripeController_deleteAddOns(request: ExRequest, response: ExResponse, next: any) { + async function IntegrationController_createIntegration(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_deleteAddOns, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsIntegrationController_createIntegration, request, response }); - const controller = new StripeController(); + const controller = new IntegrationController(); await templateService.apiHandler({ - methodName: 'deleteAddOns', + methodName: 'createIntegration', controller, response, next, @@ -7894,26 +5255,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_previewInvoice: Record = { + const argsIntegrationController_getIntegrations: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.get('/v1/stripe/subscription/preview-invoice', + app.get('/v1/integration', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.previewInvoice)), + ...(fetchMiddlewares(IntegrationController)), + ...(fetchMiddlewares(IntegrationController.prototype.getIntegrations)), - async function StripeController_previewInvoice(request: ExRequest, response: ExResponse, next: any) { + async function IntegrationController_getIntegrations(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_previewInvoice, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsIntegrationController_getIntegrations, request, response }); - const controller = new StripeController(); + const controller = new IntegrationController(); await templateService.apiHandler({ - methodName: 'previewInvoice', + methodName: 'getIntegrations', controller, response, next, @@ -7925,26 +5286,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_cancelSubscription: Record = { + const argsIntegrationController_updateIntegration: Record = { + integrationId: {"in":"path","name":"integrationId","required":true,"dataType":"string"}, + params: {"in":"body","name":"params","required":true,"ref":"IntegrationUpdateParams"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/stripe/subscription/cancel-subscription', + app.post('/v1/integration/:integrationId', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.cancelSubscription)), + ...(fetchMiddlewares(IntegrationController)), + ...(fetchMiddlewares(IntegrationController.prototype.updateIntegration)), - async function StripeController_cancelSubscription(request: ExRequest, response: ExResponse, next: any) { + async function IntegrationController_updateIntegration(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_cancelSubscription, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsIntegrationController_updateIntegration, request, response }); - const controller = new StripeController(); + const controller = new IntegrationController(); await templateService.apiHandler({ - methodName: 'cancelSubscription', + methodName: 'updateIntegration', controller, response, next, @@ -7956,26 +5319,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_migrateToPro: Record = { + const argsIntegrationController_getIntegration: Record = { + integrationId: {"in":"path","name":"integrationId","required":true,"dataType":"string"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/stripe/subscription/migrate-to-pro', + app.get('/v1/integration/:integrationId', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.migrateToPro)), + ...(fetchMiddlewares(IntegrationController)), + ...(fetchMiddlewares(IntegrationController.prototype.getIntegration)), - async function StripeController_migrateToPro(request: ExRequest, response: ExResponse, next: any) { + async function IntegrationController_getIntegration(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_migrateToPro, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsIntegrationController_getIntegration, request, response }); - const controller = new StripeController(); + const controller = new IntegrationController(); await templateService.apiHandler({ - methodName: 'migrateToPro', + methodName: 'getIntegration', controller, response, next, @@ -7987,29 +5351,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_searchPaymentIntents: Record = { + const argsIntegrationController_getIntegrationByType: Record = { + type: {"in":"path","name":"type","required":true,"dataType":"string"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, - search_kind: {"in":"query","name":"search_kind","required":true,"dataType":"string"}, - limit: {"in":"query","name":"limit","dataType":"double"}, - page: {"in":"query","name":"page","dataType":"string"}, }; - app.get('/v1/stripe/payment-intents/search', + app.get('/v1/integration/type/:type', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.searchPaymentIntents)), + ...(fetchMiddlewares(IntegrationController)), + ...(fetchMiddlewares(IntegrationController.prototype.getIntegrationByType)), - async function StripeController_searchPaymentIntents(request: ExRequest, response: ExResponse, next: any) { + async function IntegrationController_getIntegrationByType(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_searchPaymentIntents, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsIntegrationController_getIntegrationByType, request, response }); - const controller = new StripeController(); + const controller = new IntegrationController(); await templateService.apiHandler({ - methodName: 'searchPaymentIntents', + methodName: 'getIntegrationByType', controller, response, next, @@ -8021,26 +5383,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_getSubscription: Record = { + const argsIntegrationController_getSlackSettings: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.get('/v1/stripe/subscription', + app.get('/v1/integration/slack/settings', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.getSubscription)), + ...(fetchMiddlewares(IntegrationController)), + ...(fetchMiddlewares(IntegrationController.prototype.getSlackSettings)), - async function StripeController_getSubscription(request: ExRequest, response: ExResponse, next: any) { + async function IntegrationController_getSlackSettings(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_getSubscription, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsIntegrationController_getSlackSettings, request, response }); - const controller = new StripeController(); + const controller = new IntegrationController(); await templateService.apiHandler({ - methodName: 'getSubscription', + methodName: 'getSlackSettings', controller, response, next, @@ -8052,26 +5414,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_getAutoTopoffSettings: Record = { + const argsIntegrationController_getSlackChannels: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.get('/v1/stripe/auto-topoff/settings', + app.get('/v1/integration/slack/channels', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.getAutoTopoffSettings)), + ...(fetchMiddlewares(IntegrationController)), + ...(fetchMiddlewares(IntegrationController.prototype.getSlackChannels)), - async function StripeController_getAutoTopoffSettings(request: ExRequest, response: ExResponse, next: any) { + async function IntegrationController_getSlackChannels(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_getAutoTopoffSettings, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsIntegrationController_getSlackChannels, request, response }); - const controller = new StripeController(); + const controller = new IntegrationController(); await templateService.apiHandler({ - methodName: 'getAutoTopoffSettings', + methodName: 'getSlackChannels', controller, response, next, @@ -8083,27 +5445,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_updateAutoTopoffSettings: Record = { + const argsIntegrationController_testStripeMeterEvent: Record = { + integrationId: {"in":"path","name":"integrationId","required":true,"dataType":"string"}, + body: {"in":"body","name":"body","required":true,"ref":"TestStripeMeterEventRequest"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, - body: {"in":"body","name":"body","required":true,"ref":"UpdateAutoTopoffSettingsRequest"}, }; - app.post('/v1/stripe/auto-topoff/settings', + app.post('/v1/integration/:integrationId/stripe/test-meter-event', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.updateAutoTopoffSettings)), + ...(fetchMiddlewares(IntegrationController)), + ...(fetchMiddlewares(IntegrationController.prototype.testStripeMeterEvent)), - async function StripeController_updateAutoTopoffSettings(request: ExRequest, response: ExResponse, next: any) { + async function IntegrationController_testStripeMeterEvent(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_updateAutoTopoffSettings, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsIntegrationController_testStripeMeterEvent, request, response }); - const controller = new StripeController(); + const controller = new IntegrationController(); await templateService.apiHandler({ - methodName: 'updateAutoTopoffSettings', + methodName: 'testStripeMeterEvent', controller, response, next, @@ -8115,26 +5478,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_disableAutoTopoff: Record = { + const argsRequestController_getRequestCount: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"RequestQueryParams"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.delete('/v1/stripe/auto-topoff/settings', + app.post('/v1/request/count/query', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.disableAutoTopoff)), + ...(fetchMiddlewares(RequestController)), + ...(fetchMiddlewares(RequestController.prototype.getRequestCount)), - async function StripeController_disableAutoTopoff(request: ExRequest, response: ExResponse, next: any) { + async function RequestController_getRequestCount(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_disableAutoTopoff, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsRequestController_getRequestCount, request, response }); - const controller = new StripeController(); + const controller = new RequestController(); await templateService.apiHandler({ - methodName: 'disableAutoTopoff', + methodName: 'getRequestCount', controller, response, next, @@ -8146,26 +5510,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_getPaymentMethods: Record = { + const argsRequestController_getRequests: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"RequestQueryParams"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.get('/v1/stripe/payment-methods', + app.post('/v1/request/query', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.getPaymentMethods)), + ...(fetchMiddlewares(RequestController)), + ...(fetchMiddlewares(RequestController.prototype.getRequests)), - async function StripeController_getPaymentMethods(request: ExRequest, response: ExResponse, next: any) { + async function RequestController_getRequests(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_getPaymentMethods, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsRequestController_getRequests, request, response }); - const controller = new StripeController(); + const controller = new RequestController(); await templateService.apiHandler({ - methodName: 'getPaymentMethods', + methodName: 'getRequests', controller, response, next, @@ -8177,27 +5542,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_createSetupSession: Record = { + const argsRequestController_getRequestsClickhouse: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"RequestQueryParams"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, - body: {"in":"body","name":"body","required":true,"ref":"CreateSetupSessionRequest"}, }; - app.post('/v1/stripe/payment-methods/setup-session', + app.post('/v1/request/query-clickhouse', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.createSetupSession)), + ...(fetchMiddlewares(RequestController)), + ...(fetchMiddlewares(RequestController.prototype.getRequestsClickhouse)), - async function StripeController_createSetupSession(request: ExRequest, response: ExResponse, next: any) { + async function RequestController_getRequestsClickhouse(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_createSetupSession, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsRequestController_getRequestsClickhouse, request, response }); - const controller = new StripeController(); + const controller = new RequestController(); await templateService.apiHandler({ - methodName: 'createSetupSession', + methodName: 'getRequestsClickhouse', controller, response, next, @@ -8209,27 +5574,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_removePaymentMethod: Record = { + const argsRequestController_getRequestById: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, - paymentMethodId: {"in":"path","name":"paymentMethodId","required":true,"dataType":"string"}, + requestId: {"in":"path","name":"requestId","required":true,"dataType":"string"}, + includeBody: {"default":false,"in":"query","name":"includeBody","dataType":"boolean"}, }; - app.delete('/v1/stripe/payment-methods/:paymentMethodId', + app.get('/v1/request/:requestId', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.removePaymentMethod)), + ...(fetchMiddlewares(RequestController)), + ...(fetchMiddlewares(RequestController.prototype.getRequestById)), - async function StripeController_removePaymentMethod(request: ExRequest, response: ExResponse, next: any) { + async function RequestController_getRequestById(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_removePaymentMethod, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsRequestController_getRequestById, request, response }); - const controller = new StripeController(); + const controller = new RequestController(); await templateService.apiHandler({ - methodName: 'removePaymentMethod', + methodName: 'getRequestById', controller, response, next, @@ -8241,26 +5607,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStripeController_getUsageStats: Record = { + const argsRequestController_getRequestInputs: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + requestId: {"in":"path","name":"requestId","required":true,"dataType":"string"}, }; - app.get('/v1/stripe/subscription/usage-stats', + app.get('/v1/request/:requestId/inputs', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(StripeController)), - ...(fetchMiddlewares(StripeController.prototype.getUsageStats)), + ...(fetchMiddlewares(RequestController)), + ...(fetchMiddlewares(RequestController.prototype.getRequestInputs)), - async function StripeController_getUsageStats(request: ExRequest, response: ExResponse, next: any) { + async function RequestController_getRequestInputs(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsStripeController_getUsageStats, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsRequestController_getRequestInputs, request, response }); - const controller = new StripeController(); + const controller = new RequestController(); await templateService.apiHandler({ - methodName: 'getUsageStats', + methodName: 'getRequestInputs', controller, response, next, @@ -8272,27 +5639,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsIntegrationController_createIntegration: Record = { - params: {"in":"body","name":"params","required":true,"ref":"IntegrationCreateParams"}, + const argsRequestController_getRequestsByIds: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"requestIds":{"dataType":"array","array":{"dataType":"string"},"required":true}}}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/integration', + app.post('/v1/request/query-ids', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(IntegrationController)), - ...(fetchMiddlewares(IntegrationController.prototype.createIntegration)), + ...(fetchMiddlewares(RequestController)), + ...(fetchMiddlewares(RequestController.prototype.getRequestsByIds)), - async function IntegrationController_createIntegration(request: ExRequest, response: ExResponse, next: any) { + async function RequestController_getRequestsByIds(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsIntegrationController_createIntegration, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsRequestController_getRequestsByIds, request, response }); - const controller = new IntegrationController(); + const controller = new RequestController(); await templateService.apiHandler({ - methodName: 'createIntegration', + methodName: 'getRequestsByIds', controller, response, next, @@ -8304,26 +5671,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsIntegrationController_getIntegrations: Record = { + const argsRequestController_feedbackRequest: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"rating":{"dataType":"boolean","required":true}}}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, + requestId: {"in":"path","name":"requestId","required":true,"dataType":"string"}, }; - app.get('/v1/integration', + app.post('/v1/request/:requestId/feedback', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(IntegrationController)), - ...(fetchMiddlewares(IntegrationController.prototype.getIntegrations)), + ...(fetchMiddlewares(RequestController)), + ...(fetchMiddlewares(RequestController.prototype.feedbackRequest)), - async function IntegrationController_getIntegrations(request: ExRequest, response: ExResponse, next: any) { + async function RequestController_feedbackRequest(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsIntegrationController_getIntegrations, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsRequestController_feedbackRequest, request, response }); - const controller = new IntegrationController(); + const controller = new RequestController(); await templateService.apiHandler({ - methodName: 'getIntegrations', + methodName: 'feedbackRequest', controller, response, next, @@ -8335,28 +5704,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsIntegrationController_updateIntegration: Record = { - integrationId: {"in":"path","name":"integrationId","required":true,"dataType":"string"}, - params: {"in":"body","name":"params","required":true,"ref":"IntegrationUpdateParams"}, + const argsRequestController_putProperty: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"value":{"dataType":"string","required":true},"key":{"dataType":"string","required":true}}}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, + requestId: {"in":"path","name":"requestId","required":true,"dataType":"string"}, }; - app.post('/v1/integration/:integrationId', + app.put('/v1/request/:requestId/property', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(IntegrationController)), - ...(fetchMiddlewares(IntegrationController.prototype.updateIntegration)), + ...(fetchMiddlewares(RequestController)), + ...(fetchMiddlewares(RequestController.prototype.putProperty)), - async function IntegrationController_updateIntegration(request: ExRequest, response: ExResponse, next: any) { + async function RequestController_putProperty(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsIntegrationController_updateIntegration, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsRequestController_putProperty, request, response }); - const controller = new IntegrationController(); + const controller = new RequestController(); await templateService.apiHandler({ - methodName: 'updateIntegration', + methodName: 'putProperty', controller, response, next, @@ -8368,27 +5737,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsIntegrationController_getIntegration: Record = { - integrationId: {"in":"path","name":"integrationId","required":true,"dataType":"string"}, + const argsRequestController_getRequestAssetById: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + requestId: {"in":"path","name":"requestId","required":true,"dataType":"string"}, + assetId: {"in":"path","name":"assetId","required":true,"dataType":"string"}, }; - app.get('/v1/integration/:integrationId', + app.post('/v1/request/:requestId/assets/:assetId', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(IntegrationController)), - ...(fetchMiddlewares(IntegrationController.prototype.getIntegration)), + ...(fetchMiddlewares(RequestController)), + ...(fetchMiddlewares(RequestController.prototype.getRequestAssetById)), - async function IntegrationController_getIntegration(request: ExRequest, response: ExResponse, next: any) { + async function RequestController_getRequestAssetById(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsIntegrationController_getIntegration, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsRequestController_getRequestAssetById, request, response }); - const controller = new IntegrationController(); + const controller = new RequestController(); await templateService.apiHandler({ - methodName: 'getIntegration', + methodName: 'getRequestAssetById', controller, response, next, @@ -8400,27 +5770,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsIntegrationController_getIntegrationByType: Record = { - type: {"in":"path","name":"type","required":true,"dataType":"string"}, + const argsRequestController_addScores: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"ScoreRequest"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, + requestId: {"in":"path","name":"requestId","required":true,"dataType":"string"}, }; - app.get('/v1/integration/type/:type', + app.post('/v1/request/:requestId/score', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(IntegrationController)), - ...(fetchMiddlewares(IntegrationController.prototype.getIntegrationByType)), + ...(fetchMiddlewares(RequestController)), + ...(fetchMiddlewares(RequestController.prototype.addScores)), - async function IntegrationController_getIntegrationByType(request: ExRequest, response: ExResponse, next: any) { + async function RequestController_addScores(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsIntegrationController_getIntegrationByType, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsRequestController_addScores, request, response }); - const controller = new IntegrationController(); + const controller = new RequestController(); await templateService.apiHandler({ - methodName: 'getIntegrationByType', + methodName: 'addScores', controller, response, next, @@ -8432,26 +5803,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsIntegrationController_getSlackSettings: Record = { + const argsWrappedController_getWrapped2025Stats: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.get('/v1/integration/slack/settings', + app.get('/v1/wrapped/2025', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(IntegrationController)), - ...(fetchMiddlewares(IntegrationController.prototype.getSlackSettings)), + ...(fetchMiddlewares(WrappedController)), + ...(fetchMiddlewares(WrappedController.prototype.getWrapped2025Stats)), - async function IntegrationController_getSlackSettings(request: ExRequest, response: ExResponse, next: any) { + async function WrappedController_getWrapped2025Stats(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsIntegrationController_getSlackSettings, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsWrappedController_getWrapped2025Stats, request, response }); - const controller = new IntegrationController(); + const controller = new WrappedController(); await templateService.apiHandler({ - methodName: 'getSlackSettings', + methodName: 'getWrapped2025Stats', controller, response, next, @@ -8463,26 +5834,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsIntegrationController_getSlackChannels: Record = { + const argsWrappedController_checkHasWrapped2025Data: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.get('/v1/integration/slack/channels', + app.get('/v1/wrapped/2025/check', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(IntegrationController)), - ...(fetchMiddlewares(IntegrationController.prototype.getSlackChannels)), + ...(fetchMiddlewares(WrappedController)), + ...(fetchMiddlewares(WrappedController.prototype.checkHasWrapped2025Data)), - async function IntegrationController_getSlackChannels(request: ExRequest, response: ExResponse, next: any) { + async function WrappedController_checkHasWrapped2025Data(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsIntegrationController_getSlackChannels, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsWrappedController_checkHasWrapped2025Data, request, response }); - const controller = new IntegrationController(); + const controller = new WrappedController(); await templateService.apiHandler({ - methodName: 'getSlackChannels', + methodName: 'checkHasWrapped2025Data', controller, response, next, @@ -8494,28 +5865,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsIntegrationController_testStripeMeterEvent: Record = { - integrationId: {"in":"path","name":"integrationId","required":true,"dataType":"string"}, - body: {"in":"body","name":"body","required":true,"ref":"TestStripeMeterEventRequest"}, + const argsWebhookController_newWebhook: Record = { + webhookData: {"in":"body","name":"webhookData","required":true,"ref":"WebhookData"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/integration/:integrationId/stripe/test-meter-event', + app.post('/v1/webhooks', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(IntegrationController)), - ...(fetchMiddlewares(IntegrationController.prototype.testStripeMeterEvent)), + ...(fetchMiddlewares(WebhookController)), + ...(fetchMiddlewares(WebhookController.prototype.newWebhook)), - async function IntegrationController_testStripeMeterEvent(request: ExRequest, response: ExResponse, next: any) { + async function WebhookController_newWebhook(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsIntegrationController_testStripeMeterEvent, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsWebhookController_newWebhook, request, response }); - const controller = new IntegrationController(); + const controller = new WebhookController(); await templateService.apiHandler({ - methodName: 'testStripeMeterEvent', + methodName: 'newWebhook', controller, response, next, @@ -8527,27 +5897,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsRequestController_getRequestCount: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"RequestQueryParams"}, + const argsWebhookController_getWebhooks: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/request/count/query', + app.get('/v1/webhooks', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(RequestController)), - ...(fetchMiddlewares(RequestController.prototype.getRequestCount)), + ...(fetchMiddlewares(WebhookController)), + ...(fetchMiddlewares(WebhookController.prototype.getWebhooks)), - async function RequestController_getRequestCount(request: ExRequest, response: ExResponse, next: any) { + async function WebhookController_getWebhooks(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsRequestController_getRequestCount, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsWebhookController_getWebhooks, request, response }); - const controller = new RequestController(); + const controller = new WebhookController(); await templateService.apiHandler({ - methodName: 'getRequestCount', + methodName: 'getWebhooks', controller, response, next, @@ -8559,27 +5928,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsRequestController_getRequests: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"RequestQueryParams"}, + const argsWebhookController_deleteWebhook: Record = { + webhookId: {"in":"path","name":"webhookId","required":true,"dataType":"string"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/request/query', + app.delete('/v1/webhooks/:webhookId', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(RequestController)), - ...(fetchMiddlewares(RequestController.prototype.getRequests)), + ...(fetchMiddlewares(WebhookController)), + ...(fetchMiddlewares(WebhookController.prototype.deleteWebhook)), - async function RequestController_getRequests(request: ExRequest, response: ExResponse, next: any) { + async function WebhookController_deleteWebhook(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsRequestController_getRequests, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsWebhookController_deleteWebhook, request, response }); - const controller = new RequestController(); + const controller = new WebhookController(); await templateService.apiHandler({ - methodName: 'getRequests', + methodName: 'deleteWebhook', controller, response, next, @@ -8591,27 +5960,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsRequestController_getRequestsClickhouse: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"RequestQueryParams"}, + const argsWebhookController_testWebhook: Record = { + webhookId: {"in":"path","name":"webhookId","required":true,"dataType":"string"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/request/query-clickhouse', + app.post('/v1/webhooks/:webhookId/test', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(RequestController)), - ...(fetchMiddlewares(RequestController.prototype.getRequestsClickhouse)), + ...(fetchMiddlewares(WebhookController)), + ...(fetchMiddlewares(WebhookController.prototype.testWebhook)), - async function RequestController_getRequestsClickhouse(request: ExRequest, response: ExResponse, next: any) { + async function WebhookController_testWebhook(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsRequestController_getRequestsClickhouse, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsWebhookController_testWebhook, request, response }); - const controller = new RequestController(); + const controller = new WebhookController(); await templateService.apiHandler({ - methodName: 'getRequestsClickhouse', + methodName: 'testWebhook', controller, response, next, @@ -8623,28 +5992,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsRequestController_getRequestById: Record = { + const argsVaultController_addKey: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"AddVaultKeyParams"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, - requestId: {"in":"path","name":"requestId","required":true,"dataType":"string"}, - includeBody: {"default":false,"in":"query","name":"includeBody","dataType":"boolean"}, }; - app.get('/v1/request/:requestId', + app.post('/v1/vault/add', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(RequestController)), - ...(fetchMiddlewares(RequestController.prototype.getRequestById)), + ...(fetchMiddlewares(VaultController)), + ...(fetchMiddlewares(VaultController.prototype.addKey)), - async function RequestController_getRequestById(request: ExRequest, response: ExResponse, next: any) { + async function VaultController_addKey(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsRequestController_getRequestById, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsVaultController_addKey, request, response }); - const controller = new RequestController(); + const controller = new VaultController(); await templateService.apiHandler({ - methodName: 'getRequestById', + methodName: 'addKey', controller, response, next, @@ -8656,27 +6024,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsRequestController_getRequestInputs: Record = { + const argsVaultController_getKeys: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, - requestId: {"in":"path","name":"requestId","required":true,"dataType":"string"}, }; - app.get('/v1/request/:requestId/inputs', + app.get('/v1/vault/keys', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(RequestController)), - ...(fetchMiddlewares(RequestController.prototype.getRequestInputs)), + ...(fetchMiddlewares(VaultController)), + ...(fetchMiddlewares(VaultController.prototype.getKeys)), - async function RequestController_getRequestInputs(request: ExRequest, response: ExResponse, next: any) { + async function VaultController_getKeys(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsRequestController_getRequestInputs, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsVaultController_getKeys, request, response }); - const controller = new RequestController(); + const controller = new VaultController(); await templateService.apiHandler({ - methodName: 'getRequestInputs', + methodName: 'getKeys', controller, response, next, @@ -8688,27 +6055,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsRequestController_getRequestsByIds: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"requestIds":{"dataType":"array","array":{"dataType":"string"},"required":true}}}, + const argsVaultController_getKeyById: Record = { + providerKeyId: {"in":"path","name":"providerKeyId","required":true,"dataType":"string"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/request/query-ids', + app.get('/v1/vault/key/:providerKeyId', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(RequestController)), - ...(fetchMiddlewares(RequestController.prototype.getRequestsByIds)), + ...(fetchMiddlewares(VaultController)), + ...(fetchMiddlewares(VaultController.prototype.getKeyById)), - async function RequestController_getRequestsByIds(request: ExRequest, response: ExResponse, next: any) { + async function VaultController_getKeyById(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsRequestController_getRequestsByIds, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsVaultController_getKeyById, request, response }); - const controller = new RequestController(); + const controller = new VaultController(); await templateService.apiHandler({ - methodName: 'getRequestsByIds', + methodName: 'getKeyById', controller, response, next, @@ -8720,28 +6087,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsRequestController_feedbackRequest: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"rating":{"dataType":"boolean","required":true}}}, + const argsVaultController_updateKey: Record = { + id: {"in":"path","name":"id","required":true,"dataType":"string"}, + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"active":{"dataType":"boolean"},"name":{"dataType":"string"},"key":{"dataType":"string"}}}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, - requestId: {"in":"path","name":"requestId","required":true,"dataType":"string"}, }; - app.post('/v1/request/:requestId/feedback', + app.patch('/v1/vault/update/:id', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(RequestController)), - ...(fetchMiddlewares(RequestController.prototype.feedbackRequest)), + ...(fetchMiddlewares(VaultController)), + ...(fetchMiddlewares(VaultController.prototype.updateKey)), - async function RequestController_feedbackRequest(request: ExRequest, response: ExResponse, next: any) { + async function VaultController_updateKey(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsRequestController_feedbackRequest, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsVaultController_updateKey, request, response }); - const controller = new RequestController(); + const controller = new VaultController(); await templateService.apiHandler({ - methodName: 'feedbackRequest', + methodName: 'updateKey', controller, response, next, @@ -8753,28 +6120,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsRequestController_putProperty: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"value":{"dataType":"string","required":true},"key":{"dataType":"string","required":true}}}, + const argsUserController_getUserMetricsOverview: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"useInterquartile":{"dataType":"boolean","required":true},"pSize":{"ref":"PSize","required":true},"filter":{"ref":"UserFilterNode","required":true}}}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, - requestId: {"in":"path","name":"requestId","required":true,"dataType":"string"}, }; - app.put('/v1/request/:requestId/property', + app.post('/v1/user/metrics-overview/query', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(RequestController)), - ...(fetchMiddlewares(RequestController.prototype.putProperty)), + ...(fetchMiddlewares(UserController)), + ...(fetchMiddlewares(UserController.prototype.getUserMetricsOverview)), - async function RequestController_putProperty(request: ExRequest, response: ExResponse, next: any) { + async function UserController_getUserMetricsOverview(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsRequestController_putProperty, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsUserController_getUserMetricsOverview, request, response }); - const controller = new RequestController(); + const controller = new UserController(); await templateService.apiHandler({ - methodName: 'putProperty', + methodName: 'getUserMetricsOverview', controller, response, next, @@ -8786,28 +6152,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsRequestController_getRequestAssetById: Record = { + const argsUserController_getUserMetrics: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"UserMetricsQueryParams"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, - requestId: {"in":"path","name":"requestId","required":true,"dataType":"string"}, - assetId: {"in":"path","name":"assetId","required":true,"dataType":"string"}, }; - app.post('/v1/request/:requestId/assets/:assetId', + app.post('/v1/user/metrics/query', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(RequestController)), - ...(fetchMiddlewares(RequestController.prototype.getRequestAssetById)), + ...(fetchMiddlewares(UserController)), + ...(fetchMiddlewares(UserController.prototype.getUserMetrics)), - async function RequestController_getRequestAssetById(request: ExRequest, response: ExResponse, next: any) { + async function UserController_getUserMetrics(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsRequestController_getRequestAssetById, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsUserController_getUserMetrics, request, response }); - const controller = new RequestController(); + const controller = new UserController(); await templateService.apiHandler({ - methodName: 'getRequestAssetById', + methodName: 'getUserMetrics', controller, response, next, @@ -8819,28 +6184,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsRequestController_addScores: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"ScoreRequest"}, + const argsUserController_getUsers: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"UserQueryParams"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, - requestId: {"in":"path","name":"requestId","required":true,"dataType":"string"}, }; - app.post('/v1/request/:requestId/score', + app.post('/v1/user/query', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(RequestController)), - ...(fetchMiddlewares(RequestController.prototype.addScores)), + ...(fetchMiddlewares(UserController)), + ...(fetchMiddlewares(UserController.prototype.getUsers)), - async function RequestController_addScores(request: ExRequest, response: ExResponse, next: any) { + async function UserController_getUsers(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsRequestController_addScores, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsUserController_getUsers, request, response }); - const controller = new RequestController(); + const controller = new UserController(); await templateService.apiHandler({ - methodName: 'addScores', + methodName: 'getUsers', controller, response, next, @@ -8852,26 +6216,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsWrappedController_getWrapped2025Stats: Record = { + const argsTraceController_logCustomTraceLegacy: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + traceBody: {"in":"body","name":"traceBody","required":true,"dataType":"any"}, }; - app.get('/v1/wrapped/2025', + app.post('/v1/trace/custom/v1/log', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(WrappedController)), - ...(fetchMiddlewares(WrappedController.prototype.getWrapped2025Stats)), + ...(fetchMiddlewares(TraceController)), + ...(fetchMiddlewares(TraceController.prototype.logCustomTraceLegacy)), - async function WrappedController_getWrapped2025Stats(request: ExRequest, response: ExResponse, next: any) { + async function TraceController_logCustomTraceLegacy(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsWrappedController_getWrapped2025Stats, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsTraceController_logCustomTraceLegacy, request, response }); - const controller = new WrappedController(); + const controller = new TraceController(); await templateService.apiHandler({ - methodName: 'getWrapped2025Stats', + methodName: 'logCustomTraceLegacy', controller, response, next, @@ -8883,26 +6248,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsWrappedController_checkHasWrapped2025Data: Record = { + const argsTraceController_logCustomTrace: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + traceBody: {"in":"body","name":"traceBody","required":true,"dataType":"any"}, }; - app.get('/v1/wrapped/2025/check', + app.post('/v1/trace/custom/log', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(WrappedController)), - ...(fetchMiddlewares(WrappedController.prototype.checkHasWrapped2025Data)), + ...(fetchMiddlewares(TraceController)), + ...(fetchMiddlewares(TraceController.prototype.logCustomTrace)), - async function WrappedController_checkHasWrapped2025Data(request: ExRequest, response: ExResponse, next: any) { + async function TraceController_logCustomTrace(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsWrappedController_checkHasWrapped2025Data, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsTraceController_logCustomTrace, request, response }); - const controller = new WrappedController(); + const controller = new TraceController(); await templateService.apiHandler({ - methodName: 'checkHasWrapped2025Data', + methodName: 'logCustomTrace', controller, response, next, @@ -8914,27 +6280,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsWebhookController_newWebhook: Record = { - webhookData: {"in":"body","name":"webhookData","required":true,"ref":"WebhookData"}, + const argsTraceController_logCustomTraceTyped: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + traceBody: {"in":"body","name":"traceBody","required":true,"ref":"TypedAsyncLogModel"}, }; - app.post('/v1/webhooks', + app.post('/v1/trace/custom/log/typed', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(WebhookController)), - ...(fetchMiddlewares(WebhookController.prototype.newWebhook)), + ...(fetchMiddlewares(TraceController)), + ...(fetchMiddlewares(TraceController.prototype.logCustomTraceTyped)), - async function WebhookController_newWebhook(request: ExRequest, response: ExResponse, next: any) { + async function TraceController_logCustomTraceTyped(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsWebhookController_newWebhook, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsTraceController_logCustomTraceTyped, request, response }); - const controller = new WebhookController(); + const controller = new TraceController(); await templateService.apiHandler({ - methodName: 'newWebhook', + methodName: 'logCustomTraceTyped', controller, response, next, @@ -8946,26 +6312,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsWebhookController_getWebhooks: Record = { + const argsTraceController_logTrace: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + traceBody: {"in":"body","name":"traceBody","required":true,"ref":"OTELTrace"}, }; - app.get('/v1/webhooks', + app.post('/v1/trace/log', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(WebhookController)), - ...(fetchMiddlewares(WebhookController.prototype.getWebhooks)), + ...(fetchMiddlewares(TraceController)), + ...(fetchMiddlewares(TraceController.prototype.logTrace)), - async function WebhookController_getWebhooks(request: ExRequest, response: ExResponse, next: any) { + async function TraceController_logTrace(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsWebhookController_getWebhooks, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsTraceController_logTrace, request, response }); - const controller = new WebhookController(); + const controller = new TraceController(); await templateService.apiHandler({ - methodName: 'getWebhooks', + methodName: 'logTrace', controller, response, next, @@ -8977,27 +6344,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsWebhookController_deleteWebhook: Record = { - webhookId: {"in":"path","name":"webhookId","required":true,"dataType":"string"}, + const argsTraceController_logPythonTrace: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + traceBody: {"in":"body","name":"traceBody","required":true,"dataType":"any"}, }; - app.delete('/v1/webhooks/:webhookId', + app.post('/v1/trace/log-python', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(WebhookController)), - ...(fetchMiddlewares(WebhookController.prototype.deleteWebhook)), + ...(fetchMiddlewares(TraceController)), + ...(fetchMiddlewares(TraceController.prototype.logPythonTrace)), - async function WebhookController_deleteWebhook(request: ExRequest, response: ExResponse, next: any) { + async function TraceController_logPythonTrace(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsWebhookController_deleteWebhook, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsTraceController_logPythonTrace, request, response }); - const controller = new WebhookController(); + const controller = new TraceController(); await templateService.apiHandler({ - methodName: 'deleteWebhook', + methodName: 'logPythonTrace', controller, response, next, @@ -9009,27 +6376,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsWebhookController_testWebhook: Record = { - webhookId: {"in":"path","name":"webhookId","required":true,"dataType":"string"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, + const argsTestController_sendTestRequest: Record = { + body: {"in":"body","name":"body","required":true,"ref":"SendTestRequestRequest"}, }; - app.post('/v1/webhooks/:webhookId/test', + app.post('/v1/test/gateway-request', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(WebhookController)), - ...(fetchMiddlewares(WebhookController.prototype.testWebhook)), + ...(fetchMiddlewares(TestController)), + ...(fetchMiddlewares(TestController.prototype.sendTestRequest)), - async function WebhookController_testWebhook(request: ExRequest, response: ExResponse, next: any) { + async function TestController_sendTestRequest(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsWebhookController_testWebhook, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsTestController_sendTestRequest, request, response }); - const controller = new WebhookController(); + const controller = new TestController(); await templateService.apiHandler({ - methodName: 'testWebhook', + methodName: 'sendTestRequest', controller, response, next, @@ -9041,27 +6407,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsVaultController_addKey: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"AddVaultKeyParams"}, + const argsSessionController_getSessions: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"SessionQueryParams"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/vault/add', + app.post('/v1/session/query', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(VaultController)), - ...(fetchMiddlewares(VaultController.prototype.addKey)), + ...(fetchMiddlewares(SessionController)), + ...(fetchMiddlewares(SessionController.prototype.getSessions)), - async function VaultController_addKey(request: ExRequest, response: ExResponse, next: any) { + async function SessionController_getSessions(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsVaultController_addKey, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsSessionController_getSessions, request, response }); - const controller = new VaultController(); + const controller = new SessionController(); await templateService.apiHandler({ - methodName: 'addKey', + methodName: 'getSessions', controller, response, next, @@ -9073,26 +6439,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsVaultController_getKeys: Record = { + const argsSessionController_getSessionsCount: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"SessionQueryParams"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.get('/v1/vault/keys', + app.post('/v1/session/count', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(VaultController)), - ...(fetchMiddlewares(VaultController.prototype.getKeys)), + ...(fetchMiddlewares(SessionController)), + ...(fetchMiddlewares(SessionController.prototype.getSessionsCount)), - async function VaultController_getKeys(request: ExRequest, response: ExResponse, next: any) { + async function SessionController_getSessionsCount(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsVaultController_getKeys, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsSessionController_getSessionsCount, request, response }); - const controller = new VaultController(); + const controller = new SessionController(); await templateService.apiHandler({ - methodName: 'getKeys', + methodName: 'getSessionsCount', controller, response, next, @@ -9104,27 +6471,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsVaultController_getKeyById: Record = { - providerKeyId: {"in":"path","name":"providerKeyId","required":true,"dataType":"string"}, + const argsSessionController_getNames: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"SessionNameQueryParams"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.get('/v1/vault/key/:providerKeyId', + app.post('/v1/session/name/query', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(VaultController)), - ...(fetchMiddlewares(VaultController.prototype.getKeyById)), + ...(fetchMiddlewares(SessionController)), + ...(fetchMiddlewares(SessionController.prototype.getNames)), - async function VaultController_getKeyById(request: ExRequest, response: ExResponse, next: any) { + async function SessionController_getNames(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsVaultController_getKeyById, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsSessionController_getNames, request, response }); - const controller = new VaultController(); + const controller = new SessionController(); await templateService.apiHandler({ - methodName: 'getKeyById', + methodName: 'getNames', controller, response, next, @@ -9136,28 +6503,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsVaultController_updateKey: Record = { - id: {"in":"path","name":"id","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"active":{"dataType":"boolean"},"name":{"dataType":"string"},"key":{"dataType":"string"}}}, + const argsSessionController_getMetrics: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"SessionMetricsQueryParams"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.patch('/v1/vault/update/:id', + app.post('/v1/session/metrics/query', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(VaultController)), - ...(fetchMiddlewares(VaultController.prototype.updateKey)), + ...(fetchMiddlewares(SessionController)), + ...(fetchMiddlewares(SessionController.prototype.getMetrics)), - async function VaultController_updateKey(request: ExRequest, response: ExResponse, next: any) { + async function SessionController_getMetrics(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsVaultController_updateKey, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsSessionController_getMetrics, request, response }); - const controller = new VaultController(); + const controller = new SessionController(); await templateService.apiHandler({ - methodName: 'updateKey', + methodName: 'getMetrics', controller, response, next, @@ -9169,27 +6535,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsUserController_getUserMetricsOverview: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"useInterquartile":{"dataType":"boolean","required":true},"pSize":{"ref":"PSize","required":true},"filter":{"ref":"UserFilterNode","required":true}}}, + const argsSessionController_updateSessionFeedback: Record = { + sessionId: {"in":"path","name":"sessionId","required":true,"dataType":"string"}, + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"rating":{"dataType":"boolean","required":true}}}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/user/metrics-overview/query', + app.post('/v1/session/:sessionId/feedback', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(UserController)), - ...(fetchMiddlewares(UserController.prototype.getUserMetricsOverview)), + ...(fetchMiddlewares(SessionController)), + ...(fetchMiddlewares(SessionController.prototype.updateSessionFeedback)), - async function UserController_getUserMetricsOverview(request: ExRequest, response: ExResponse, next: any) { + async function SessionController_updateSessionFeedback(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsUserController_getUserMetricsOverview, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsSessionController_updateSessionFeedback, request, response }); - const controller = new UserController(); + const controller = new SessionController(); await templateService.apiHandler({ - methodName: 'getUserMetricsOverview', + methodName: 'updateSessionFeedback', controller, response, next, @@ -9201,27 +6568,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsUserController_getUserMetrics: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"UserMetricsQueryParams"}, + const argsSessionController_getSessionTag: Record = { + sessionId: {"in":"path","name":"sessionId","required":true,"dataType":"string"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/user/metrics/query', + app.get('/v1/session/:sessionId/tag', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(UserController)), - ...(fetchMiddlewares(UserController.prototype.getUserMetrics)), + ...(fetchMiddlewares(SessionController)), + ...(fetchMiddlewares(SessionController.prototype.getSessionTag)), - async function UserController_getUserMetrics(request: ExRequest, response: ExResponse, next: any) { + async function SessionController_getSessionTag(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsUserController_getUserMetrics, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsSessionController_getSessionTag, request, response }); - const controller = new UserController(); + const controller = new SessionController(); await templateService.apiHandler({ - methodName: 'getUserMetrics', + methodName: 'getSessionTag', controller, response, next, @@ -9233,27 +6600,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsUserController_getUsers: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"UserQueryParams"}, + const argsSessionController_updateSessionTag: Record = { + sessionId: {"in":"path","name":"sessionId","required":true,"dataType":"string"}, + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"tag":{"dataType":"string","required":true}}}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/user/query', + app.post('/v1/session/:sessionId/tag', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(UserController)), - ...(fetchMiddlewares(UserController.prototype.getUsers)), + ...(fetchMiddlewares(SessionController)), + ...(fetchMiddlewares(SessionController.prototype.updateSessionTag)), - async function UserController_getUsers(request: ExRequest, response: ExResponse, next: any) { + async function SessionController_updateSessionTag(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsUserController_getUsers, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsSessionController_updateSessionTag, request, response }); - const controller = new UserController(); + const controller = new SessionController(); await templateService.apiHandler({ - methodName: 'getUsers', + methodName: 'updateSessionTag', controller, response, next, @@ -9265,27 +6633,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsTraceController_logCustomTraceLegacy: Record = { + const argsStatusController_getAllProviderStatus: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, - traceBody: {"in":"body","name":"traceBody","required":true,"dataType":"any"}, }; - app.post('/v1/trace/custom/v1/log', + app.get('/v1/public/status/provider', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(TraceController)), - ...(fetchMiddlewares(TraceController.prototype.logCustomTraceLegacy)), + ...(fetchMiddlewares(StatusController)), + ...(fetchMiddlewares(StatusController.prototype.getAllProviderStatus)), - async function TraceController_logCustomTraceLegacy(request: ExRequest, response: ExResponse, next: any) { + async function StatusController_getAllProviderStatus(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsTraceController_logCustomTraceLegacy, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsStatusController_getAllProviderStatus, request, response }); - const controller = new TraceController(); + const controller = new StatusController(); await templateService.apiHandler({ - methodName: 'logCustomTraceLegacy', + methodName: 'getAllProviderStatus', controller, response, next, @@ -9297,27 +6664,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsTraceController_logCustomTrace: Record = { + const argsStatusController_getProviderStatus: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, - traceBody: {"in":"body","name":"traceBody","required":true,"dataType":"any"}, + provider: {"in":"path","name":"provider","required":true,"dataType":"string"}, + timeFrame: {"in":"query","name":"timeFrame","required":true,"ref":"TimeFrame"}, }; - app.post('/v1/trace/custom/log', + app.get('/v1/public/status/provider/:provider', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(TraceController)), - ...(fetchMiddlewares(TraceController.prototype.logCustomTrace)), + ...(fetchMiddlewares(StatusController)), + ...(fetchMiddlewares(StatusController.prototype.getProviderStatus)), - async function TraceController_logCustomTrace(request: ExRequest, response: ExResponse, next: any) { + async function StatusController_getProviderStatus(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsTraceController_logCustomTrace, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsStatusController_getProviderStatus, request, response }); - const controller = new TraceController(); + const controller = new StatusController(); await templateService.apiHandler({ - methodName: 'logCustomTrace', + methodName: 'getProviderStatus', controller, response, next, @@ -9329,27 +6697,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsTraceController_logCustomTraceTyped: Record = { + const argsProviderController_getProviders: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, - traceBody: {"in":"body","name":"traceBody","required":true,"ref":"TypedAsyncLogModel"}, + body: {"in":"body","name":"body","required":true,"ref":"ProviderQueryParams"}, }; - app.post('/v1/trace/custom/log/typed', + app.post('/v1/providers', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(TraceController)), - ...(fetchMiddlewares(TraceController.prototype.logCustomTraceTyped)), + ...(fetchMiddlewares(ProviderController)), + ...(fetchMiddlewares(ProviderController.prototype.getProviders)), - async function TraceController_logCustomTraceTyped(request: ExRequest, response: ExResponse, next: any) { + async function ProviderController_getProviders(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsTraceController_logCustomTraceTyped, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsProviderController_getProviders, request, response }); - const controller = new TraceController(); + const controller = new ProviderController(); await templateService.apiHandler({ - methodName: 'logCustomTraceTyped', + methodName: 'getProviders', controller, response, next, @@ -9361,27 +6729,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsTraceController_logTrace: Record = { + const argsPropertyController_getPropertiesOverTime: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"intersection","subSchemas":[{"ref":"DataOverTimeRequest"},{"dataType":"nestedObjectLiteral","nestedProperties":{"propertyKey":{"dataType":"string","required":true}}}]}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, - traceBody: {"in":"body","name":"traceBody","required":true,"ref":"OTELTrace"}, }; - app.post('/v1/trace/log', + app.post('/v1/property/properties/over-time', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(TraceController)), - ...(fetchMiddlewares(TraceController.prototype.logTrace)), + ...(fetchMiddlewares(PropertyController)), + ...(fetchMiddlewares(PropertyController.prototype.getPropertiesOverTime)), - async function TraceController_logTrace(request: ExRequest, response: ExResponse, next: any) { + async function PropertyController_getPropertiesOverTime(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsTraceController_logTrace, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPropertyController_getPropertiesOverTime, request, response }); - const controller = new TraceController(); + const controller = new PropertyController(); await templateService.apiHandler({ - methodName: 'logTrace', + methodName: 'getPropertiesOverTime', controller, response, next, @@ -9393,27 +6761,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsTraceController_logPythonTrace: Record = { + const argsPropertyController_getProperties: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{}}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, - traceBody: {"in":"body","name":"traceBody","required":true,"dataType":"any"}, }; - app.post('/v1/trace/log-python', + app.post('/v1/property/query', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(TraceController)), - ...(fetchMiddlewares(TraceController.prototype.logPythonTrace)), + ...(fetchMiddlewares(PropertyController)), + ...(fetchMiddlewares(PropertyController.prototype.getProperties)), - async function TraceController_logPythonTrace(request: ExRequest, response: ExResponse, next: any) { + async function PropertyController_getProperties(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsTraceController_logPythonTrace, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPropertyController_getProperties, request, response }); - const controller = new TraceController(); + const controller = new PropertyController(); await templateService.apiHandler({ - methodName: 'logPythonTrace', + methodName: 'getProperties', controller, response, next, @@ -9425,26 +6793,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsTestController_sendTestRequest: Record = { - body: {"in":"body","name":"body","required":true,"ref":"SendTestRequestRequest"}, + const argsPropertyController_hideProperty: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"key":{"dataType":"string","required":true}}}, + request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/test/gateway-request', + app.post('/v1/property/hide', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(TestController)), - ...(fetchMiddlewares(TestController.prototype.sendTestRequest)), + ...(fetchMiddlewares(PropertyController)), + ...(fetchMiddlewares(PropertyController.prototype.hideProperty)), - async function TestController_sendTestRequest(request: ExRequest, response: ExResponse, next: any) { + async function PropertyController_hideProperty(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsTestController_sendTestRequest, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPropertyController_hideProperty, request, response }); - const controller = new TestController(); + const controller = new PropertyController(); await templateService.apiHandler({ - methodName: 'sendTestRequest', + methodName: 'hideProperty', controller, response, next, @@ -9456,27 +6825,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsSessionController_getSessions: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"SessionQueryParams"}, + const argsPropertyController_getHiddenProperties: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/session/query', + app.post('/v1/property/hidden/query', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(SessionController)), - ...(fetchMiddlewares(SessionController.prototype.getSessions)), + ...(fetchMiddlewares(PropertyController)), + ...(fetchMiddlewares(PropertyController.prototype.getHiddenProperties)), - async function SessionController_getSessions(request: ExRequest, response: ExResponse, next: any) { + async function PropertyController_getHiddenProperties(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsSessionController_getSessions, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPropertyController_getHiddenProperties, request, response }); - const controller = new SessionController(); + const controller = new PropertyController(); await templateService.apiHandler({ - methodName: 'getSessions', + methodName: 'getHiddenProperties', controller, response, next, @@ -9488,27 +6856,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsSessionController_getSessionsCount: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"SessionQueryParams"}, + const argsPropertyController_restoreProperty: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"key":{"dataType":"string","required":true}}}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/session/count', + app.post('/v1/property/restore', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(SessionController)), - ...(fetchMiddlewares(SessionController.prototype.getSessionsCount)), + ...(fetchMiddlewares(PropertyController)), + ...(fetchMiddlewares(PropertyController.prototype.restoreProperty)), - async function SessionController_getSessionsCount(request: ExRequest, response: ExResponse, next: any) { + async function PropertyController_restoreProperty(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsSessionController_getSessionsCount, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPropertyController_restoreProperty, request, response }); - const controller = new SessionController(); + const controller = new PropertyController(); await templateService.apiHandler({ - methodName: 'getSessionsCount', + methodName: 'restoreProperty', controller, response, next, @@ -9520,27 +6888,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsSessionController_getNames: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"SessionNameQueryParams"}, + const argsPropertyController_searchProperties: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + propertyKey: {"in":"path","name":"propertyKey","required":true,"dataType":"string"}, + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"searchTerm":{"dataType":"string","required":true}}}, }; - app.post('/v1/session/name/query', + app.post('/v1/property/:propertyKey/search', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(SessionController)), - ...(fetchMiddlewares(SessionController.prototype.getNames)), + ...(fetchMiddlewares(PropertyController)), + ...(fetchMiddlewares(PropertyController.prototype.searchProperties)), - async function SessionController_getNames(request: ExRequest, response: ExResponse, next: any) { + async function PropertyController_searchProperties(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsSessionController_getNames, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPropertyController_searchProperties, request, response }); - const controller = new SessionController(); + const controller = new PropertyController(); await templateService.apiHandler({ - methodName: 'getNames', + methodName: 'searchProperties', controller, response, next, @@ -9552,27 +6921,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsSessionController_getMetrics: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"SessionMetricsQueryParams"}, + const argsPropertyController_getTopCosts: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + propertyKey: {"in":"path","name":"propertyKey","required":true,"dataType":"string"}, + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"TimeFilterRequest"}, }; - app.post('/v1/session/metrics/query', + app.post('/v1/property/:propertyKey/top-costs/query', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(SessionController)), - ...(fetchMiddlewares(SessionController.prototype.getMetrics)), + ...(fetchMiddlewares(PropertyController)), + ...(fetchMiddlewares(PropertyController.prototype.getTopCosts)), - async function SessionController_getMetrics(request: ExRequest, response: ExResponse, next: any) { + async function PropertyController_getTopCosts(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsSessionController_getMetrics, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPropertyController_getTopCosts, request, response }); - const controller = new SessionController(); + const controller = new PropertyController(); await templateService.apiHandler({ - methodName: 'getMetrics', + methodName: 'getTopCosts', controller, response, next, @@ -9584,28 +6954,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsSessionController_updateSessionFeedback: Record = { - sessionId: {"in":"path","name":"sessionId","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"rating":{"dataType":"boolean","required":true}}}, + const argsPropertyController_getTopRequests: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + propertyKey: {"in":"path","name":"propertyKey","required":true,"dataType":"string"}, + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"TimeFilterRequest"}, }; - app.post('/v1/session/:sessionId/feedback', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(SessionController)), - ...(fetchMiddlewares(SessionController.prototype.updateSessionFeedback)), + app.post('/v1/property/:propertyKey/top-requests/query', + authenticateMiddleware([{"api_key":[]}]), + ...(fetchMiddlewares(PropertyController)), + ...(fetchMiddlewares(PropertyController.prototype.getTopRequests)), - async function SessionController_updateSessionFeedback(request: ExRequest, response: ExResponse, next: any) { + async function PropertyController_getTopRequests(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsSessionController_updateSessionFeedback, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPropertyController_getTopRequests, request, response }); - const controller = new SessionController(); + const controller = new PropertyController(); await templateService.apiHandler({ - methodName: 'updateSessionFeedback', + methodName: 'getTopRequests', controller, response, next, @@ -9617,27 +6987,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsSessionController_getSessionTag: Record = { - sessionId: {"in":"path","name":"sessionId","required":true,"dataType":"string"}, + const argsPrompt2025Controller_getPrompt2025: Record = { + promptId: {"in":"path","name":"promptId","required":true,"dataType":"string"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.get('/v1/session/:sessionId/tag', + app.get('/v1/prompt-2025/id/:promptId', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(SessionController)), - ...(fetchMiddlewares(SessionController.prototype.getSessionTag)), + ...(fetchMiddlewares(Prompt2025Controller)), + ...(fetchMiddlewares(Prompt2025Controller.prototype.getPrompt2025)), - async function SessionController_getSessionTag(request: ExRequest, response: ExResponse, next: any) { + async function Prompt2025Controller_getPrompt2025(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsSessionController_getSessionTag, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_getPrompt2025, request, response }); - const controller = new SessionController(); + const controller = new Prompt2025Controller(); await templateService.apiHandler({ - methodName: 'getSessionTag', + methodName: 'getPrompt2025', controller, response, next, @@ -9649,28 +7019,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsSessionController_updateSessionTag: Record = { - sessionId: {"in":"path","name":"sessionId","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"tag":{"dataType":"string","required":true}}}, + const argsPrompt2025Controller_renamePrompt2025: Record = { + promptId: {"in":"path","name":"promptId","required":true,"dataType":"string"}, + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"name":{"dataType":"string","required":true}}}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/session/:sessionId/tag', + app.post('/v1/prompt-2025/id/:promptId/rename', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(SessionController)), - ...(fetchMiddlewares(SessionController.prototype.updateSessionTag)), + ...(fetchMiddlewares(Prompt2025Controller)), + ...(fetchMiddlewares(Prompt2025Controller.prototype.renamePrompt2025)), - async function SessionController_updateSessionTag(request: ExRequest, response: ExResponse, next: any) { + async function Prompt2025Controller_renamePrompt2025(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsSessionController_updateSessionTag, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_renamePrompt2025, request, response }); - const controller = new SessionController(); + const controller = new Prompt2025Controller(); await templateService.apiHandler({ - methodName: 'updateSessionTag', + methodName: 'renamePrompt2025', controller, response, next, @@ -9682,26 +7052,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStatusController_getAllProviderStatus: Record = { + const argsPrompt2025Controller_updatePrompt2025Tags: Record = { + promptId: {"in":"path","name":"promptId","required":true,"dataType":"string"}, + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"tags":{"dataType":"array","array":{"dataType":"string"},"required":true}}}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.get('/v1/public/status/provider', + app.patch('/v1/prompt-2025/id/:promptId/tags', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(StatusController)), - ...(fetchMiddlewares(StatusController.prototype.getAllProviderStatus)), + ...(fetchMiddlewares(Prompt2025Controller)), + ...(fetchMiddlewares(Prompt2025Controller.prototype.updatePrompt2025Tags)), - async function StatusController_getAllProviderStatus(request: ExRequest, response: ExResponse, next: any) { + async function Prompt2025Controller_updatePrompt2025Tags(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsStatusController_getAllProviderStatus, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_updatePrompt2025Tags, request, response }); - const controller = new StatusController(); + const controller = new Prompt2025Controller(); await templateService.apiHandler({ - methodName: 'getAllProviderStatus', + methodName: 'updatePrompt2025Tags', controller, response, next, @@ -9713,28 +7085,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsStatusController_getProviderStatus: Record = { + const argsPrompt2025Controller_deletePrompt2025: Record = { + promptId: {"in":"path","name":"promptId","required":true,"dataType":"string"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, - provider: {"in":"path","name":"provider","required":true,"dataType":"string"}, - timeFrame: {"in":"query","name":"timeFrame","required":true,"ref":"TimeFrame"}, }; - app.get('/v1/public/status/provider/:provider', + app.delete('/v1/prompt-2025/:promptId', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(StatusController)), - ...(fetchMiddlewares(StatusController.prototype.getProviderStatus)), + ...(fetchMiddlewares(Prompt2025Controller)), + ...(fetchMiddlewares(Prompt2025Controller.prototype.deletePrompt2025)), - async function StatusController_getProviderStatus(request: ExRequest, response: ExResponse, next: any) { + async function Prompt2025Controller_deletePrompt2025(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsStatusController_getProviderStatus, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_deletePrompt2025, request, response }); - const controller = new StatusController(); + const controller = new Prompt2025Controller(); await templateService.apiHandler({ - methodName: 'getProviderStatus', + methodName: 'deletePrompt2025', controller, response, next, @@ -9746,27 +7117,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsProviderController_getProviders: Record = { + const argsPrompt2025Controller_deletePrompt2025Version: Record = { + promptId: {"in":"path","name":"promptId","required":true,"dataType":"string"}, + versionId: {"in":"path","name":"versionId","required":true,"dataType":"string"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, - body: {"in":"body","name":"body","required":true,"ref":"ProviderQueryParams"}, }; - app.post('/v1/providers', + app.delete('/v1/prompt-2025/:promptId/:versionId', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ProviderController)), - ...(fetchMiddlewares(ProviderController.prototype.getProviders)), + ...(fetchMiddlewares(Prompt2025Controller)), + ...(fetchMiddlewares(Prompt2025Controller.prototype.deletePrompt2025Version)), - async function ProviderController_getProviders(request: ExRequest, response: ExResponse, next: any) { + async function Prompt2025Controller_deletePrompt2025Version(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsProviderController_getProviders, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_deletePrompt2025Version, request, response }); - const controller = new ProviderController(); + const controller = new Prompt2025Controller(); await templateService.apiHandler({ - methodName: 'getProviders', + methodName: 'deletePrompt2025Version', controller, response, next, @@ -9778,27 +7150,29 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPropertyController_getPropertiesOverTime: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"intersection","subSchemas":[{"ref":"DataOverTimeRequest"},{"dataType":"nestedObjectLiteral","nestedProperties":{"propertyKey":{"dataType":"string","required":true}}}]}, + const argsPrompt2025Controller_getPrompt2025Inputs: Record = { + promptId: {"in":"path","name":"promptId","required":true,"dataType":"string"}, + versionId: {"in":"path","name":"versionId","required":true,"dataType":"string"}, + requestId: {"in":"query","name":"requestId","required":true,"dataType":"string"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/property/properties/over-time', + app.get('/v1/prompt-2025/id/:promptId/:versionId/inputs', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PropertyController)), - ...(fetchMiddlewares(PropertyController.prototype.getPropertiesOverTime)), + ...(fetchMiddlewares(Prompt2025Controller)), + ...(fetchMiddlewares(Prompt2025Controller.prototype.getPrompt2025Inputs)), - async function PropertyController_getPropertiesOverTime(request: ExRequest, response: ExResponse, next: any) { + async function Prompt2025Controller_getPrompt2025Inputs(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPropertyController_getPropertiesOverTime, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_getPrompt2025Inputs, request, response }); - const controller = new PropertyController(); + const controller = new Prompt2025Controller(); await templateService.apiHandler({ - methodName: 'getPropertiesOverTime', + methodName: 'getPrompt2025Inputs', controller, response, next, @@ -9810,27 +7184,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPropertyController_getProperties: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{}}, + const argsPrompt2025Controller_getPrompt2025Tags: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/property/query', + app.get('/v1/prompt-2025/tags', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PropertyController)), - ...(fetchMiddlewares(PropertyController.prototype.getProperties)), + ...(fetchMiddlewares(Prompt2025Controller)), + ...(fetchMiddlewares(Prompt2025Controller.prototype.getPrompt2025Tags)), - async function PropertyController_getProperties(request: ExRequest, response: ExResponse, next: any) { + async function Prompt2025Controller_getPrompt2025Tags(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPropertyController_getProperties, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_getPrompt2025Tags, request, response }); - const controller = new PropertyController(); + const controller = new Prompt2025Controller(); await templateService.apiHandler({ - methodName: 'getProperties', + methodName: 'getPrompt2025Tags', controller, response, next, @@ -9842,27 +7215,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPropertyController_hideProperty: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"key":{"dataType":"string","required":true}}}, + const argsPrompt2025Controller_getPrompt2025Environments: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/property/hide', + app.get('/v1/prompt-2025/environments', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PropertyController)), - ...(fetchMiddlewares(PropertyController.prototype.hideProperty)), + ...(fetchMiddlewares(Prompt2025Controller)), + ...(fetchMiddlewares(Prompt2025Controller.prototype.getPrompt2025Environments)), - async function PropertyController_hideProperty(request: ExRequest, response: ExResponse, next: any) { + async function Prompt2025Controller_getPrompt2025Environments(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPropertyController_hideProperty, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_getPrompt2025Environments, request, response }); - const controller = new PropertyController(); + const controller = new Prompt2025Controller(); await templateService.apiHandler({ - methodName: 'hideProperty', + methodName: 'getPrompt2025Environments', controller, response, next, @@ -9874,26 +7246,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPropertyController_getHiddenProperties: Record = { + const argsPrompt2025Controller_createPrompt2025: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"promptBody":{"ref":"OpenAIChatRequest","required":true},"tags":{"dataType":"array","array":{"dataType":"string"},"required":true},"name":{"dataType":"string","required":true}}}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/property/hidden/query', + app.post('/v1/prompt-2025', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PropertyController)), - ...(fetchMiddlewares(PropertyController.prototype.getHiddenProperties)), + ...(fetchMiddlewares(Prompt2025Controller)), + ...(fetchMiddlewares(Prompt2025Controller.prototype.createPrompt2025)), - async function PropertyController_getHiddenProperties(request: ExRequest, response: ExResponse, next: any) { + async function Prompt2025Controller_createPrompt2025(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPropertyController_getHiddenProperties, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_createPrompt2025, request, response }); - const controller = new PropertyController(); + const controller = new Prompt2025Controller(); await templateService.apiHandler({ - methodName: 'getHiddenProperties', + methodName: 'createPrompt2025', controller, response, next, @@ -9905,27 +7278,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPropertyController_restoreProperty: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"key":{"dataType":"string","required":true}}}, + const argsPrompt2025Controller_updatePrompt2025: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"promptBody":{"ref":"OpenAIChatRequest","required":true},"commitMessage":{"dataType":"string","required":true},"environment":{"dataType":"string"},"newMajorVersion":{"dataType":"boolean","required":true},"promptVersionId":{"dataType":"string","required":true},"promptId":{"dataType":"string","required":true}}}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/property/restore', + app.post('/v1/prompt-2025/update', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PropertyController)), - ...(fetchMiddlewares(PropertyController.prototype.restoreProperty)), + ...(fetchMiddlewares(Prompt2025Controller)), + ...(fetchMiddlewares(Prompt2025Controller.prototype.updatePrompt2025)), - async function PropertyController_restoreProperty(request: ExRequest, response: ExResponse, next: any) { + async function Prompt2025Controller_updatePrompt2025(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPropertyController_restoreProperty, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_updatePrompt2025, request, response }); - const controller = new PropertyController(); + const controller = new Prompt2025Controller(); await templateService.apiHandler({ - methodName: 'restoreProperty', + methodName: 'updatePrompt2025', controller, response, next, @@ -9937,28 +7310,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPropertyController_searchProperties: Record = { + const argsPrompt2025Controller_setPromptVersionEnvironment: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"environment":{"dataType":"string","required":true},"promptVersionId":{"dataType":"string","required":true},"promptId":{"dataType":"string","required":true}}}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, - propertyKey: {"in":"path","name":"propertyKey","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"searchTerm":{"dataType":"string","required":true}}}, }; - app.post('/v1/property/:propertyKey/search', + app.post('/v1/prompt-2025/update/environment', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PropertyController)), - ...(fetchMiddlewares(PropertyController.prototype.searchProperties)), + ...(fetchMiddlewares(Prompt2025Controller)), + ...(fetchMiddlewares(Prompt2025Controller.prototype.setPromptVersionEnvironment)), - async function PropertyController_searchProperties(request: ExRequest, response: ExResponse, next: any) { + async function Prompt2025Controller_setPromptVersionEnvironment(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPropertyController_searchProperties, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_setPromptVersionEnvironment, request, response }); - const controller = new PropertyController(); + const controller = new Prompt2025Controller(); await templateService.apiHandler({ - methodName: 'searchProperties', + methodName: 'setPromptVersionEnvironment', controller, response, next, @@ -9970,28 +7342,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPropertyController_getTopCosts: Record = { + const argsPrompt2025Controller_removeEnvironmentFromVersion: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"environment":{"dataType":"string","required":true},"promptVersionId":{"dataType":"string","required":true},"promptId":{"dataType":"string","required":true}}}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, - propertyKey: {"in":"path","name":"propertyKey","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"TimeFilterRequest"}, }; - app.post('/v1/property/:propertyKey/top-costs/query', + app.post('/v1/prompt-2025/remove/environment', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PropertyController)), - ...(fetchMiddlewares(PropertyController.prototype.getTopCosts)), + ...(fetchMiddlewares(Prompt2025Controller)), + ...(fetchMiddlewares(Prompt2025Controller.prototype.removeEnvironmentFromVersion)), - async function PropertyController_getTopCosts(request: ExRequest, response: ExResponse, next: any) { + async function Prompt2025Controller_removeEnvironmentFromVersion(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPropertyController_getTopCosts, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_removeEnvironmentFromVersion, request, response }); - const controller = new PropertyController(); + const controller = new Prompt2025Controller(); await templateService.apiHandler({ - methodName: 'getTopCosts', + methodName: 'removeEnvironmentFromVersion', controller, response, next, @@ -10003,28 +7374,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPropertyController_getTopRequests: Record = { + const argsPrompt2025Controller_getPrompt2025Count: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, - propertyKey: {"in":"path","name":"propertyKey","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"TimeFilterRequest"}, }; - app.post('/v1/property/:propertyKey/top-requests/query', + app.get('/v1/prompt-2025/count', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PropertyController)), - ...(fetchMiddlewares(PropertyController.prototype.getTopRequests)), + ...(fetchMiddlewares(Prompt2025Controller)), + ...(fetchMiddlewares(Prompt2025Controller.prototype.getPrompt2025Count)), - async function PropertyController_getTopRequests(request: ExRequest, response: ExResponse, next: any) { + async function Prompt2025Controller_getPrompt2025Count(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPropertyController_getTopRequests, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_getPrompt2025Count, request, response }); - const controller = new PropertyController(); + const controller = new Prompt2025Controller(); await templateService.apiHandler({ - methodName: 'getTopRequests', + methodName: 'getPrompt2025Count', controller, response, next, @@ -10036,27 +7405,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPlaygroundController_generate: Record = { - bodyParams: {"in":"body","name":"bodyParams","required":true,"dataType":"intersection","subSchemas":[{"ref":"OpenAIChatRequest"},{"dataType":"nestedObjectLiteral","nestedProperties":{"logRequest":{"dataType":"boolean"},"useAIGateway":{"dataType":"boolean"}}}]}, + const argsPrompt2025Controller_getPrompts2025: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"pageSize":{"dataType":"double","required":true},"page":{"dataType":"double","required":true},"tagsFilter":{"dataType":"array","array":{"dataType":"string"},"required":true},"search":{"dataType":"string","required":true}}}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/playground/generate', + app.post('/v1/prompt-2025/query', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PlaygroundController)), - ...(fetchMiddlewares(PlaygroundController.prototype.generate)), + ...(fetchMiddlewares(Prompt2025Controller)), + ...(fetchMiddlewares(Prompt2025Controller.prototype.getPrompts2025)), - async function PlaygroundController_generate(request: ExRequest, response: ExResponse, next: any) { + async function Prompt2025Controller_getPrompts2025(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPlaygroundController_generate, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_getPrompts2025, request, response }); - const controller = new PlaygroundController(); + const controller = new Prompt2025Controller(); await templateService.apiHandler({ - methodName: 'generate', + methodName: 'getPrompts2025', controller, response, next, @@ -10068,27 +7437,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPlaygroundController_requestsThroughHelicone: Record = { - params: {"in":"body","name":"params","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"requestsThroughHelicone":{"dataType":"boolean","required":true}}}, + const argsPrompt2025Controller_getPrompt2025Version: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"promptVersionId":{"dataType":"string","required":true}}}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/playground/requests-through-helicone', + app.post('/v1/prompt-2025/query/version', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PlaygroundController)), - ...(fetchMiddlewares(PlaygroundController.prototype.requestsThroughHelicone)), + ...(fetchMiddlewares(Prompt2025Controller)), + ...(fetchMiddlewares(Prompt2025Controller.prototype.getPrompt2025Version)), - async function PlaygroundController_requestsThroughHelicone(request: ExRequest, response: ExResponse, next: any) { + async function Prompt2025Controller_getPrompt2025Version(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPlaygroundController_requestsThroughHelicone, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_getPrompt2025Version, request, response }); - const controller = new PlaygroundController(); + const controller = new Prompt2025Controller(); await templateService.apiHandler({ - methodName: 'requestsThroughHelicone', + methodName: 'getPrompt2025Version', controller, response, next, @@ -10100,26 +7469,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPlaygroundController_getRequestsThroughHelicone: Record = { + const argsPrompt2025Controller_getPrompt2025EnvironmentVersion: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"environment":{"dataType":"string","required":true},"promptId":{"dataType":"string","required":true}}}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.get('/v1/playground/requests-through-helicone', + app.post('/v1/prompt-2025/query/environment-version', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PlaygroundController)), - ...(fetchMiddlewares(PlaygroundController.prototype.getRequestsThroughHelicone)), + ...(fetchMiddlewares(Prompt2025Controller)), + ...(fetchMiddlewares(Prompt2025Controller.prototype.getPrompt2025EnvironmentVersion)), - async function PlaygroundController_getRequestsThroughHelicone(request: ExRequest, response: ExResponse, next: any) { + async function Prompt2025Controller_getPrompt2025EnvironmentVersion(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPlaygroundController_getRequestsThroughHelicone, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_getPrompt2025EnvironmentVersion, request, response }); - const controller = new PlaygroundController(); + const controller = new Prompt2025Controller(); await templateService.apiHandler({ - methodName: 'getRequestsThroughHelicone', + methodName: 'getPrompt2025EnvironmentVersion', controller, response, next, @@ -10131,27 +7501,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPiPublicController_getApiKey: Record = { - body: {"in":"body","name":"body","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"sessionUUID":{"dataType":"string","required":true}}}, + const argsPrompt2025Controller_getPrompt2025Versions: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"majorVersion":{"dataType":"double"},"promptId":{"dataType":"string","required":true}}}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/public/pi/get-api-key', + app.post('/v1/prompt-2025/query/versions', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PiPublicController)), - ...(fetchMiddlewares(PiPublicController.prototype.getApiKey)), + ...(fetchMiddlewares(Prompt2025Controller)), + ...(fetchMiddlewares(Prompt2025Controller.prototype.getPrompt2025Versions)), - async function PiPublicController_getApiKey(request: ExRequest, response: ExResponse, next: any) { + async function Prompt2025Controller_getPrompt2025Versions(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPiPublicController_getApiKey, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_getPrompt2025Versions, request, response }); - const controller = new PiPublicController(); + const controller = new Prompt2025Controller(); await templateService.apiHandler({ - methodName: 'getApiKey', + methodName: 'getPrompt2025Versions', controller, response, next, @@ -10163,27 +7533,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPiController_addSession: Record = { - body: {"in":"body","name":"body","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"sessionUUID":{"dataType":"string","required":true}}}, + const argsPrompt2025Controller_getPrompt2025ProductionVersion: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"promptId":{"dataType":"string","required":true}}}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/pi/session', + app.post('/v1/prompt-2025/query/production-version', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PiController)), - ...(fetchMiddlewares(PiController.prototype.addSession)), + ...(fetchMiddlewares(Prompt2025Controller)), + ...(fetchMiddlewares(Prompt2025Controller.prototype.getPrompt2025ProductionVersion)), - async function PiController_addSession(request: ExRequest, response: ExResponse, next: any) { + async function Prompt2025Controller_getPrompt2025ProductionVersion(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPiController_addSession, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_getPrompt2025ProductionVersion, request, response }); - const controller = new PiController(); + const controller = new Prompt2025Controller(); await templateService.apiHandler({ - methodName: 'addSession', + methodName: 'getPrompt2025ProductionVersion', controller, response, next, @@ -10195,26 +7565,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPiController_getOrgName: Record = { + const argsPrompt2025Controller_getPrompt2025TotalVersions: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"promptId":{"dataType":"string","required":true}}}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/pi/org-name/query', + app.post('/v1/prompt-2025/query/total-versions', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PiController)), - ...(fetchMiddlewares(PiController.prototype.getOrgName)), + ...(fetchMiddlewares(Prompt2025Controller)), + ...(fetchMiddlewares(Prompt2025Controller.prototype.getPrompt2025TotalVersions)), - async function PiController_getOrgName(request: ExRequest, response: ExResponse, next: any) { + async function Prompt2025Controller_getPrompt2025TotalVersions(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPiController_getOrgName, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_getPrompt2025TotalVersions, request, response }); - const controller = new PiController(); + const controller = new Prompt2025Controller(); await templateService.apiHandler({ - methodName: 'getOrgName', + methodName: 'getPrompt2025TotalVersions', controller, response, next, @@ -10226,26 +7597,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPiController_getTotalCosts: Record = { + const argsPrompt2025Controller_getPrompt2025VersionBody: Record = { + promptVersionId: {"in":"path","name":"promptVersionId","required":true,"dataType":"string"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/pi/total-costs', + app.get('/v1/prompt-2025/:promptVersionId/prompt-body', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PiController)), - ...(fetchMiddlewares(PiController.prototype.getTotalCosts)), + ...(fetchMiddlewares(Prompt2025Controller)), + ...(fetchMiddlewares(Prompt2025Controller.prototype.getPrompt2025VersionBody)), - async function PiController_getTotalCosts(request: ExRequest, response: ExResponse, next: any) { + async function Prompt2025Controller_getPrompt2025VersionBody(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPiController_getTotalCosts, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025Controller_getPrompt2025VersionBody, request, response }); - const controller = new PiController(); + const controller = new Prompt2025Controller(); await templateService.apiHandler({ - methodName: 'getTotalCosts', + methodName: 'getPrompt2025VersionBody', controller, response, next, @@ -10257,26 +7629,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPiController_piGetTotalRequests: Record = { + const argsPrompt2025V2Controller_getPrompt2025Version: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"promptVersionId":{"dataType":"string","required":true}}}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/pi/total_requests', + app.post('/v2/prompt-2025/query/version', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PiController)), - ...(fetchMiddlewares(PiController.prototype.piGetTotalRequests)), + ...(fetchMiddlewares(Prompt2025V2Controller)), + ...(fetchMiddlewares(Prompt2025V2Controller.prototype.getPrompt2025Version)), - async function PiController_piGetTotalRequests(request: ExRequest, response: ExResponse, next: any) { + async function Prompt2025V2Controller_getPrompt2025Version(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPiController_piGetTotalRequests, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025V2Controller_getPrompt2025Version, request, response }); - const controller = new PiController(); + const controller = new Prompt2025V2Controller(); await templateService.apiHandler({ - methodName: 'piGetTotalRequests', + methodName: 'getPrompt2025Version', controller, response, next, @@ -10288,27 +7661,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPiController_getCostsOverTime: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"DataOverTimeRequest"}, + const argsPrompt2025V2Controller_getPrompt2025EnvironmentVersion: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"environment":{"dataType":"string","required":true},"promptId":{"dataType":"string","required":true}}}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/pi/costs-over-time/query', + app.post('/v2/prompt-2025/query/environment-version', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(PiController)), - ...(fetchMiddlewares(PiController.prototype.getCostsOverTime)), + ...(fetchMiddlewares(Prompt2025V2Controller)), + ...(fetchMiddlewares(Prompt2025V2Controller.prototype.getPrompt2025EnvironmentVersion)), - async function PiController_getCostsOverTime(request: ExRequest, response: ExResponse, next: any) { + async function Prompt2025V2Controller_getPrompt2025EnvironmentVersion(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsPiController_getCostsOverTime, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025V2Controller_getPrompt2025EnvironmentVersion, request, response }); - const controller = new PiController(); + const controller = new Prompt2025V2Controller(); await templateService.apiHandler({ - methodName: 'getCostsOverTime', + methodName: 'getPrompt2025EnvironmentVersion', controller, response, next, @@ -10320,24 +7693,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsModelRegistryController_getModelRegistry: Record = { + const argsPrompt2025V2Controller_getPrompt2025ProductionVersion: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"promptId":{"dataType":"string","required":true}}}, + request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.get('/v1/public/model-registry/models', - ...(fetchMiddlewares(ModelRegistryController)), - ...(fetchMiddlewares(ModelRegistryController.prototype.getModelRegistry)), + app.post('/v2/prompt-2025/query/production-version', + authenticateMiddleware([{"api_key":[]}]), + ...(fetchMiddlewares(Prompt2025V2Controller)), + ...(fetchMiddlewares(Prompt2025V2Controller.prototype.getPrompt2025ProductionVersion)), - async function ModelRegistryController_getModelRegistry(request: ExRequest, response: ExResponse, next: any) { + async function Prompt2025V2Controller_getPrompt2025ProductionVersion(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsModelRegistryController_getModelRegistry, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPrompt2025V2Controller_getPrompt2025ProductionVersion, request, response }); - const controller = new ModelRegistryController(); + const controller = new Prompt2025V2Controller(); await templateService.apiHandler({ - methodName: 'getModelRegistry', + methodName: 'getPrompt2025ProductionVersion', controller, response, next, @@ -10349,24 +7725,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsModelController_getModels: Record = { + const argsPromptController_hasPrompts: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.get('/v1/models', - ...(fetchMiddlewares(ModelController)), - ...(fetchMiddlewares(ModelController.prototype.getModels)), + app.get('/v1/prompt/has-prompts', + authenticateMiddleware([{"api_key":[]}]), + ...(fetchMiddlewares(PromptController)), + ...(fetchMiddlewares(PromptController.prototype.hasPrompts)), - async function ModelController_getModels(request: ExRequest, response: ExResponse, next: any) { + async function PromptController_hasPrompts(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsModelController_getModels, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_hasPrompts, request, response }); - const controller = new ModelController(); + const controller = new PromptController(); await templateService.apiHandler({ - methodName: 'getModels', + methodName: 'hasPrompts', controller, response, next, @@ -10378,24 +7756,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsModelController_getMultimodalModels: Record = { + const argsPromptController_getPrompts: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"PromptsQueryParams"}, + request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.get('/v1/models/multimodal', - ...(fetchMiddlewares(ModelController)), - ...(fetchMiddlewares(ModelController.prototype.getMultimodalModels)), + app.post('/v1/prompt/query', + authenticateMiddleware([{"api_key":[]}]), + ...(fetchMiddlewares(PromptController)), + ...(fetchMiddlewares(PromptController.prototype.getPrompts)), - async function ModelController_getMultimodalModels(request: ExRequest, response: ExResponse, next: any) { + async function PromptController_getPrompts(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsModelController_getMultimodalModels, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_getPrompts, request, response }); - const controller = new ModelController(); + const controller = new PromptController(); await templateService.apiHandler({ - methodName: 'getMultimodalModels', + methodName: 'getPrompts', controller, response, next, @@ -10407,27 +7788,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsModelComparisonController_getModelComparison: Record = { + const argsPromptController_getPrompt: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"PromptQueryParams"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, - modelsToCompare: {"in":"body","name":"modelsToCompare","required":true,"dataType":"array","array":{"dataType":"refAlias","ref":"ModelsToCompare"}}, + promptId: {"in":"path","name":"promptId","required":true,"dataType":"string"}, }; - app.post('/v1/public/compare/models', + app.post('/v1/prompt/:promptId/query', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ModelComparisonController)), - ...(fetchMiddlewares(ModelComparisonController.prototype.getModelComparison)), + ...(fetchMiddlewares(PromptController)), + ...(fetchMiddlewares(PromptController.prototype.getPrompt)), - async function ModelComparisonController_getModelComparison(request: ExRequest, response: ExResponse, next: any) { + async function PromptController_getPrompt(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsModelComparisonController_getModelComparison, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_getPrompt, request, response }); - const controller = new ModelComparisonController(); + const controller = new PromptController(); await templateService.apiHandler({ - methodName: 'getModelComparison', + methodName: 'getPrompt', controller, response, next, @@ -10439,27 +7821,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMetricsController_getTotalRequests: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"MetricsFilterBody"}, + const argsPromptController_deletePrompt: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + promptId: {"in":"path","name":"promptId","required":true,"dataType":"string"}, }; - app.post('/v1/metrics/totalRequests', + app.delete('/v1/prompt/:promptId', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(MetricsController)), - ...(fetchMiddlewares(MetricsController.prototype.getTotalRequests)), + ...(fetchMiddlewares(PromptController)), + ...(fetchMiddlewares(PromptController.prototype.deletePrompt)), - async function MetricsController_getTotalRequests(request: ExRequest, response: ExResponse, next: any) { + async function PromptController_deletePrompt(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMetricsController_getTotalRequests, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_deletePrompt, request, response }); - const controller = new MetricsController(); + const controller = new PromptController(); await templateService.apiHandler({ - methodName: 'getTotalRequests', + methodName: 'deletePrompt', controller, response, next, @@ -10471,27 +7853,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMetricsController_getTotalCost: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"MetricsFilterBody"}, + const argsPromptController_createPrompt: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"metadata":{"ref":"Record_string.any_","required":true},"prompt":{"dataType":"any","required":true},"userDefinedId":{"dataType":"string","required":true}}}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/metrics/totalCost', + app.post('/v1/prompt/create', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(MetricsController)), - ...(fetchMiddlewares(MetricsController.prototype.getTotalCost)), + ...(fetchMiddlewares(PromptController)), + ...(fetchMiddlewares(PromptController.prototype.createPrompt)), - async function MetricsController_getTotalCost(request: ExRequest, response: ExResponse, next: any) { + async function PromptController_createPrompt(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMetricsController_getTotalCost, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_createPrompt, request, response }); - const controller = new MetricsController(); + const controller = new PromptController(); await templateService.apiHandler({ - methodName: 'getTotalCost', + methodName: 'createPrompt', controller, response, next, @@ -10503,27 +7885,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMetricsController_getAverageLatency: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"MetricsFilterBody"}, + const argsPromptController_updatePromptUserDefinedId: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + promptId: {"in":"path","name":"promptId","required":true,"dataType":"string"}, + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"userDefinedId":{"dataType":"string","required":true}}}, }; - app.post('/v1/metrics/averageLatency', + app.patch('/v1/prompt/:promptId/user-defined-id', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(MetricsController)), - ...(fetchMiddlewares(MetricsController.prototype.getAverageLatency)), + ...(fetchMiddlewares(PromptController)), + ...(fetchMiddlewares(PromptController.prototype.updatePromptUserDefinedId)), - async function MetricsController_getAverageLatency(request: ExRequest, response: ExResponse, next: any) { + async function PromptController_updatePromptUserDefinedId(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMetricsController_getAverageLatency, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_updatePromptUserDefinedId, request, response }); - const controller = new MetricsController(); + const controller = new PromptController(); await templateService.apiHandler({ - methodName: 'getAverageLatency', + methodName: 'updatePromptUserDefinedId', controller, response, next, @@ -10535,27 +7918,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMetricsController_getAverageTimeToFirstToken: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"MetricsFilterBody"}, + const argsPromptController_editPromptVersionLabel: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"PromptEditSubversionLabelParams"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, + promptVersionId: {"in":"path","name":"promptVersionId","required":true,"dataType":"string"}, }; - app.post('/v1/metrics/averageTimeToFirstToken', + app.post('/v1/prompt/version/:promptVersionId/edit-label', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(MetricsController)), - ...(fetchMiddlewares(MetricsController.prototype.getAverageTimeToFirstToken)), + ...(fetchMiddlewares(PromptController)), + ...(fetchMiddlewares(PromptController.prototype.editPromptVersionLabel)), - async function MetricsController_getAverageTimeToFirstToken(request: ExRequest, response: ExResponse, next: any) { + async function PromptController_editPromptVersionLabel(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMetricsController_getAverageTimeToFirstToken, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_editPromptVersionLabel, request, response }); - const controller = new MetricsController(); + const controller = new PromptController(); await templateService.apiHandler({ - methodName: 'getAverageTimeToFirstToken', + methodName: 'editPromptVersionLabel', controller, response, next, @@ -10567,27 +7951,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMetricsController_getAverageTokensPerRequest: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"MetricsFilterBody"}, + const argsPromptController_editPromptVersionTemplate: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"PromptEditSubversionTemplateParams"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, + promptVersionId: {"in":"path","name":"promptVersionId","required":true,"dataType":"string"}, }; - app.post('/v1/metrics/averageTokensPerRequest', + app.post('/v1/prompt/version/:promptVersionId/edit-template', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(MetricsController)), - ...(fetchMiddlewares(MetricsController.prototype.getAverageTokensPerRequest)), + ...(fetchMiddlewares(PromptController)), + ...(fetchMiddlewares(PromptController.prototype.editPromptVersionTemplate)), - async function MetricsController_getAverageTokensPerRequest(request: ExRequest, response: ExResponse, next: any) { + async function PromptController_editPromptVersionTemplate(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMetricsController_getAverageTokensPerRequest, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_editPromptVersionTemplate, request, response }); - const controller = new MetricsController(); + const controller = new PromptController(); await templateService.apiHandler({ - methodName: 'getAverageTokensPerRequest', + methodName: 'editPromptVersionTemplate', controller, response, next, @@ -10599,27 +7984,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMetricsController_getTotalThreats: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"MetricsFilterBody"}, + const argsPromptController_createSubversionFromUi: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"PromptCreateSubversionParams"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, + promptVersionId: {"in":"path","name":"promptVersionId","required":true,"dataType":"string"}, }; - app.post('/v1/metrics/totalThreats', + app.post('/v1/prompt/version/:promptVersionId/subversion-from-ui', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(MetricsController)), - ...(fetchMiddlewares(MetricsController.prototype.getTotalThreats)), + ...(fetchMiddlewares(PromptController)), + ...(fetchMiddlewares(PromptController.prototype.createSubversionFromUi)), - async function MetricsController_getTotalThreats(request: ExRequest, response: ExResponse, next: any) { + async function PromptController_createSubversionFromUi(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMetricsController_getTotalThreats, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_createSubversionFromUi, request, response }); - const controller = new MetricsController(); + const controller = new PromptController(); await templateService.apiHandler({ - methodName: 'getTotalThreats', + methodName: 'createSubversionFromUi', controller, response, next, @@ -10631,27 +8017,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMetricsController_getActiveUsers: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"MetricsFilterBody"}, + const argsPromptController_createSubversion: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"PromptCreateSubversionParams"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, + promptVersionId: {"in":"path","name":"promptVersionId","required":true,"dataType":"string"}, }; - app.post('/v1/metrics/activeUsers', + app.post('/v1/prompt/version/:promptVersionId/subversion', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(MetricsController)), - ...(fetchMiddlewares(MetricsController.prototype.getActiveUsers)), + ...(fetchMiddlewares(PromptController)), + ...(fetchMiddlewares(PromptController.prototype.createSubversion)), - async function MetricsController_getActiveUsers(request: ExRequest, response: ExResponse, next: any) { + async function PromptController_createSubversion(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMetricsController_getActiveUsers, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_createSubversion, request, response }); - const controller = new MetricsController(); + const controller = new PromptController(); await templateService.apiHandler({ - methodName: 'getActiveUsers', + methodName: 'createSubversion', controller, response, next, @@ -10663,27 +8050,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMetricsController_getRequestsOverTime: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"MetricsOverTimeBody"}, + const argsPromptController_promotePromptVersionToProduction: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + promptVersionId: {"in":"path","name":"promptVersionId","required":true,"dataType":"string"}, + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"previousProductionVersionId":{"dataType":"string","required":true}}}, }; - app.post('/v1/metrics/requestOverTime', + app.post('/v1/prompt/version/:promptVersionId/promote', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(MetricsController)), - ...(fetchMiddlewares(MetricsController.prototype.getRequestsOverTime)), + ...(fetchMiddlewares(PromptController)), + ...(fetchMiddlewares(PromptController.prototype.promotePromptVersionToProduction)), - async function MetricsController_getRequestsOverTime(request: ExRequest, response: ExResponse, next: any) { + async function PromptController_promotePromptVersionToProduction(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMetricsController_getRequestsOverTime, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_promotePromptVersionToProduction, request, response }); - const controller = new MetricsController(); + const controller = new PromptController(); await templateService.apiHandler({ - methodName: 'getRequestsOverTime', + methodName: 'promotePromptVersionToProduction', controller, response, next, @@ -10695,27 +8083,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMetricsController_getCostOverTime: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"MetricsOverTimeBody"}, + const argsPromptController_getInputs: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"random":{"dataType":"boolean"},"limit":{"dataType":"double","required":true}}}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, + promptVersionId: {"in":"path","name":"promptVersionId","required":true,"dataType":"string"}, }; - app.post('/v1/metrics/costOverTime', + app.post('/v1/prompt/version/:promptVersionId/inputs/query', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(MetricsController)), - ...(fetchMiddlewares(MetricsController.prototype.getCostOverTime)), + ...(fetchMiddlewares(PromptController)), + ...(fetchMiddlewares(PromptController.prototype.getInputs)), - async function MetricsController_getCostOverTime(request: ExRequest, response: ExResponse, next: any) { + async function PromptController_getInputs(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMetricsController_getCostOverTime, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_getInputs, request, response }); - const controller = new MetricsController(); + const controller = new PromptController(); await templateService.apiHandler({ - methodName: 'getCostOverTime', + methodName: 'getInputs', controller, response, next, @@ -10727,27 +8116,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMetricsController_getTokensOverTime: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"MetricsOverTimeBody"}, + const argsPromptController_getPromptVersions: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"PromptVersionsQueryParams"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, + promptId: {"in":"path","name":"promptId","required":true,"dataType":"string"}, }; - app.post('/v1/metrics/tokensOverTime', + app.post('/v1/prompt/:promptId/versions/query', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(MetricsController)), - ...(fetchMiddlewares(MetricsController.prototype.getTokensOverTime)), + ...(fetchMiddlewares(PromptController)), + ...(fetchMiddlewares(PromptController.prototype.getPromptVersions)), - async function MetricsController_getTokensOverTime(request: ExRequest, response: ExResponse, next: any) { + async function PromptController_getPromptVersions(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMetricsController_getTokensOverTime, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_getPromptVersions, request, response }); - const controller = new MetricsController(); + const controller = new PromptController(); await templateService.apiHandler({ - methodName: 'getTokensOverTime', + methodName: 'getPromptVersions', controller, response, next, @@ -10759,27 +8149,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMetricsController_getLatencyOverTime: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"MetricsOverTimeBody"}, + const argsPromptController_getPromptVersion: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + promptVersionId: {"in":"path","name":"promptVersionId","required":true,"dataType":"string"}, }; - app.post('/v1/metrics/latencyOverTime', + app.get('/v1/prompt/version/:promptVersionId', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(MetricsController)), - ...(fetchMiddlewares(MetricsController.prototype.getLatencyOverTime)), + ...(fetchMiddlewares(PromptController)), + ...(fetchMiddlewares(PromptController.prototype.getPromptVersion)), - async function MetricsController_getLatencyOverTime(request: ExRequest, response: ExResponse, next: any) { + async function PromptController_getPromptVersion(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMetricsController_getLatencyOverTime, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_getPromptVersion, request, response }); - const controller = new MetricsController(); + const controller = new PromptController(); await templateService.apiHandler({ - methodName: 'getLatencyOverTime', + methodName: 'getPromptVersion', controller, response, next, @@ -10791,27 +8181,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMetricsController_getTimeToFirstTokenOverTime: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"MetricsOverTimeBody"}, + const argsPromptController_deletePromptVersion: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + promptVersionId: {"in":"path","name":"promptVersionId","required":true,"dataType":"string"}, }; - app.post('/v1/metrics/timeToFirstToken', + app.delete('/v1/prompt/version/:promptVersionId', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(MetricsController)), - ...(fetchMiddlewares(MetricsController.prototype.getTimeToFirstTokenOverTime)), + ...(fetchMiddlewares(PromptController)), + ...(fetchMiddlewares(PromptController.prototype.deletePromptVersion)), - async function MetricsController_getTimeToFirstTokenOverTime(request: ExRequest, response: ExResponse, next: any) { + async function PromptController_deletePromptVersion(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMetricsController_getTimeToFirstTokenOverTime, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_deletePromptVersion, request, response }); - const controller = new MetricsController(); + const controller = new PromptController(); await templateService.apiHandler({ - methodName: 'getTimeToFirstTokenOverTime', + methodName: 'deletePromptVersion', controller, response, next, @@ -10823,27 +8213,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMetricsController_getUsersOverTime: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"MetricsOverTimeBody"}, + const argsPromptController_getPromptVersionsCompiled: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"PromptVersiosQueryParamsCompiled"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, + user_defined_id: {"in":"path","name":"user_defined_id","required":true,"dataType":"string"}, }; - app.post('/v1/metrics/usersOverTime', + app.post('/v1/prompt/:user_defined_id/compile', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(MetricsController)), - ...(fetchMiddlewares(MetricsController.prototype.getUsersOverTime)), + ...(fetchMiddlewares(PromptController)), + ...(fetchMiddlewares(PromptController.prototype.getPromptVersionsCompiled)), - async function MetricsController_getUsersOverTime(request: ExRequest, response: ExResponse, next: any) { + async function PromptController_getPromptVersionsCompiled(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMetricsController_getUsersOverTime, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_getPromptVersionsCompiled, request, response }); - const controller = new MetricsController(); + const controller = new PromptController(); await templateService.apiHandler({ - methodName: 'getUsersOverTime', + methodName: 'getPromptVersionsCompiled', controller, response, next, @@ -10855,27 +8246,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMetricsController_getThreatsOverTime: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"MetricsOverTimeBody"}, + const argsPromptController_getPromptVersionTemplates: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"PromptVersiosQueryParamsCompiled"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, + user_defined_id: {"in":"path","name":"user_defined_id","required":true,"dataType":"string"}, }; - app.post('/v1/metrics/threatsOverTime', + app.post('/v1/prompt/:user_defined_id/template', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(MetricsController)), - ...(fetchMiddlewares(MetricsController.prototype.getThreatsOverTime)), + ...(fetchMiddlewares(PromptController)), + ...(fetchMiddlewares(PromptController.prototype.getPromptVersionTemplates)), - async function MetricsController_getThreatsOverTime(request: ExRequest, response: ExResponse, next: any) { + async function PromptController_getPromptVersionTemplates(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMetricsController_getThreatsOverTime, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPromptController_getPromptVersionTemplates, request, response }); - const controller = new MetricsController(); + const controller = new PromptController(); await templateService.apiHandler({ - methodName: 'getThreatsOverTime', + methodName: 'getPromptVersionTemplates', controller, response, next, @@ -10887,27 +8279,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMetricsController_getErrorsOverTime: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"MetricsOverTimeBody"}, + const argsPlaygroundController_generate: Record = { + bodyParams: {"in":"body","name":"bodyParams","required":true,"dataType":"intersection","subSchemas":[{"ref":"OpenAIChatRequest"},{"dataType":"nestedObjectLiteral","nestedProperties":{"logRequest":{"dataType":"boolean"},"useAIGateway":{"dataType":"boolean"}}}]}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/metrics/errorOverTime', + app.post('/v1/playground/generate', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(MetricsController)), - ...(fetchMiddlewares(MetricsController.prototype.getErrorsOverTime)), + ...(fetchMiddlewares(PlaygroundController)), + ...(fetchMiddlewares(PlaygroundController.prototype.generate)), - async function MetricsController_getErrorsOverTime(request: ExRequest, response: ExResponse, next: any) { + async function PlaygroundController_generate(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMetricsController_getErrorsOverTime, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPlaygroundController_generate, request, response }); - const controller = new MetricsController(); + const controller = new PlaygroundController(); await templateService.apiHandler({ - methodName: 'getErrorsOverTime', + methodName: 'generate', controller, response, next, @@ -10919,27 +8311,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMetricsController_getRequestStatusOverTime: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"MetricsOverTimeBody"}, + const argsPlaygroundController_requestsThroughHelicone: Record = { + params: {"in":"body","name":"params","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"requestsThroughHelicone":{"dataType":"boolean","required":true}}}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/metrics/requestStatusOverTime', + app.post('/v1/playground/requests-through-helicone', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(MetricsController)), - ...(fetchMiddlewares(MetricsController.prototype.getRequestStatusOverTime)), + ...(fetchMiddlewares(PlaygroundController)), + ...(fetchMiddlewares(PlaygroundController.prototype.requestsThroughHelicone)), - async function MetricsController_getRequestStatusOverTime(request: ExRequest, response: ExResponse, next: any) { + async function PlaygroundController_requestsThroughHelicone(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMetricsController_getRequestStatusOverTime, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPlaygroundController_requestsThroughHelicone, request, response }); - const controller = new MetricsController(); + const controller = new PlaygroundController(); await templateService.apiHandler({ - methodName: 'getRequestStatusOverTime', + methodName: 'requestsThroughHelicone', controller, response, next, @@ -10951,27 +8343,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMetricsController_getRequestCount: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"RequestCountBody"}, + const argsPlaygroundController_getRequestsThroughHelicone: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/metrics/requestCount', + app.get('/v1/playground/requests-through-helicone', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(MetricsController)), - ...(fetchMiddlewares(MetricsController.prototype.getRequestCount)), + ...(fetchMiddlewares(PlaygroundController)), + ...(fetchMiddlewares(PlaygroundController.prototype.getRequestsThroughHelicone)), - async function MetricsController_getRequestCount(request: ExRequest, response: ExResponse, next: any) { + async function PlaygroundController_getRequestsThroughHelicone(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMetricsController_getRequestCount, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPlaygroundController_getRequestsThroughHelicone, request, response }); - const controller = new MetricsController(); + const controller = new PlaygroundController(); await templateService.apiHandler({ - methodName: 'getRequestCount', + methodName: 'getRequestsThroughHelicone', controller, response, next, @@ -10983,27 +8374,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMetricsController_getModelMetrics: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"ModelMetricsBody"}, + const argsPiPublicController_getApiKey: Record = { + body: {"in":"body","name":"body","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"sessionUUID":{"dataType":"string","required":true}}}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/metrics/models', + app.post('/v1/public/pi/get-api-key', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(MetricsController)), - ...(fetchMiddlewares(MetricsController.prototype.getModelMetrics)), + ...(fetchMiddlewares(PiPublicController)), + ...(fetchMiddlewares(PiPublicController.prototype.getApiKey)), - async function MetricsController_getModelMetrics(request: ExRequest, response: ExResponse, next: any) { + async function PiPublicController_getApiKey(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMetricsController_getModelMetrics, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPiPublicController_getApiKey, request, response }); - const controller = new MetricsController(); + const controller = new PiPublicController(); await templateService.apiHandler({ - methodName: 'getModelMetrics', + methodName: 'getApiKey', controller, response, next, @@ -11015,27 +8406,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMetricsController_getCountryMetrics: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"CountryMetricsBody"}, + const argsPiController_addSession: Record = { + body: {"in":"body","name":"body","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"sessionUUID":{"dataType":"string","required":true}}}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/metrics/country', + app.post('/v1/pi/session', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(MetricsController)), - ...(fetchMiddlewares(MetricsController.prototype.getCountryMetrics)), + ...(fetchMiddlewares(PiController)), + ...(fetchMiddlewares(PiController.prototype.addSession)), - async function MetricsController_getCountryMetrics(request: ExRequest, response: ExResponse, next: any) { + async function PiController_addSession(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMetricsController_getCountryMetrics, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPiController_addSession, request, response }); - const controller = new MetricsController(); + const controller = new PiController(); await templateService.apiHandler({ - methodName: 'getCountryMetrics', + methodName: 'addSession', controller, response, next, @@ -11047,27 +8438,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMetricsController_getQuantiles: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"QuantilesBody"}, + const argsPiController_getOrgName: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/metrics/quantiles', + app.post('/v1/pi/org-name/query', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(MetricsController)), - ...(fetchMiddlewares(MetricsController.prototype.getQuantiles)), + ...(fetchMiddlewares(PiController)), + ...(fetchMiddlewares(PiController.prototype.getOrgName)), - async function MetricsController_getQuantiles(request: ExRequest, response: ExResponse, next: any) { + async function PiController_getOrgName(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMetricsController_getQuantiles, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPiController_getOrgName, request, response }); - const controller = new MetricsController(); + const controller = new PiController(); await templateService.apiHandler({ - methodName: 'getQuantiles', + methodName: 'getOrgName', controller, response, next, @@ -11079,26 +8469,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsLLMSecurityController_getSecurity: Record = { - body: {"in":"body","name":"body","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"text":{"dataType":"string","required":true},"advanced":{"dataType":"boolean","required":true}}}, + const argsPiController_getTotalCosts: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/public/security', - ...(fetchMiddlewares(LLMSecurityController)), - ...(fetchMiddlewares(LLMSecurityController.prototype.getSecurity)), + app.post('/v1/pi/total-costs', + authenticateMiddleware([{"api_key":[]}]), + ...(fetchMiddlewares(PiController)), + ...(fetchMiddlewares(PiController.prototype.getTotalCosts)), - async function LLMSecurityController_getSecurity(request: ExRequest, response: ExResponse, next: any) { + async function PiController_getTotalCosts(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsLLMSecurityController_getSecurity, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPiController_getTotalCosts, request, response }); - const controller = new LLMSecurityController(); + const controller = new PiController(); await templateService.apiHandler({ - methodName: 'getSecurity', + methodName: 'getTotalCosts', controller, response, next, @@ -11110,26 +8500,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsHeliconeSqlController_getClickHouseSchema: Record = { + const argsPiController_piGetTotalRequests: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.get('/v1/helicone-sql/schema', + app.post('/v1/pi/total_requests', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(HeliconeSqlController)), - ...(fetchMiddlewares(HeliconeSqlController.prototype.getClickHouseSchema)), + ...(fetchMiddlewares(PiController)), + ...(fetchMiddlewares(PiController.prototype.piGetTotalRequests)), - async function HeliconeSqlController_getClickHouseSchema(request: ExRequest, response: ExResponse, next: any) { + async function PiController_piGetTotalRequests(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsHeliconeSqlController_getClickHouseSchema, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPiController_piGetTotalRequests, request, response }); - const controller = new HeliconeSqlController(); + const controller = new PiController(); await templateService.apiHandler({ - methodName: 'getClickHouseSchema', + methodName: 'piGetTotalRequests', controller, response, next, @@ -11141,27 +8531,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsHeliconeSqlController_executeSql: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"ExecuteSqlRequest"}, + const argsPiController_getCostsOverTime: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"DataOverTimeRequest"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/helicone-sql/execute', + app.post('/v1/pi/costs-over-time/query', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(HeliconeSqlController)), - ...(fetchMiddlewares(HeliconeSqlController.prototype.executeSql)), + ...(fetchMiddlewares(PiController)), + ...(fetchMiddlewares(PiController.prototype.getCostsOverTime)), - async function HeliconeSqlController_executeSql(request: ExRequest, response: ExResponse, next: any) { + async function PiController_getCostsOverTime(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsHeliconeSqlController_executeSql, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPiController_getCostsOverTime, request, response }); - const controller = new HeliconeSqlController(); + const controller = new PiController(); await templateService.apiHandler({ - methodName: 'executeSql', + methodName: 'getCostsOverTime', controller, response, next, @@ -11173,27 +8563,24 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsHeliconeSqlController_downloadCsv: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"ExecuteSqlRequest"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, + const argsModelRegistryController_getModelRegistry: Record = { }; - app.post('/v1/helicone-sql/download', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(HeliconeSqlController)), - ...(fetchMiddlewares(HeliconeSqlController.prototype.downloadCsv)), + app.get('/v1/public/model-registry/models', + ...(fetchMiddlewares(ModelRegistryController)), + ...(fetchMiddlewares(ModelRegistryController.prototype.getModelRegistry)), - async function HeliconeSqlController_downloadCsv(request: ExRequest, response: ExResponse, next: any) { + async function ModelRegistryController_getModelRegistry(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsHeliconeSqlController_downloadCsv, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsModelRegistryController_getModelRegistry, request, response }); - const controller = new HeliconeSqlController(); + const controller = new ModelRegistryController(); await templateService.apiHandler({ - methodName: 'downloadCsv', + methodName: 'getModelRegistry', controller, response, next, @@ -11205,26 +8592,24 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsHeliconeSqlController_getSavedQueries: Record = { - request: {"in":"request","name":"request","required":true,"dataType":"object"}, + const argsModelController_getModels: Record = { }; - app.get('/v1/helicone-sql/saved-queries', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(HeliconeSqlController)), - ...(fetchMiddlewares(HeliconeSqlController.prototype.getSavedQueries)), + app.get('/v1/models', + ...(fetchMiddlewares(ModelController)), + ...(fetchMiddlewares(ModelController.prototype.getModels)), - async function HeliconeSqlController_getSavedQueries(request: ExRequest, response: ExResponse, next: any) { + async function ModelController_getModels(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsHeliconeSqlController_getSavedQueries, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsModelController_getModels, request, response }); - const controller = new HeliconeSqlController(); + const controller = new ModelController(); await templateService.apiHandler({ - methodName: 'getSavedQueries', + methodName: 'getModels', controller, response, next, @@ -11236,27 +8621,24 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsHeliconeSqlController_getSavedQuery: Record = { - queryId: {"in":"path","name":"queryId","required":true,"dataType":"string"}, - request: {"in":"request","name":"request","required":true,"dataType":"object"}, + const argsModelController_getMultimodalModels: Record = { }; - app.get('/v1/helicone-sql/saved-query/:queryId', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(HeliconeSqlController)), - ...(fetchMiddlewares(HeliconeSqlController.prototype.getSavedQuery)), + app.get('/v1/models/multimodal', + ...(fetchMiddlewares(ModelController)), + ...(fetchMiddlewares(ModelController.prototype.getMultimodalModels)), - async function HeliconeSqlController_getSavedQuery(request: ExRequest, response: ExResponse, next: any) { + async function ModelController_getMultimodalModels(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsHeliconeSqlController_getSavedQuery, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsModelController_getMultimodalModels, request, response }); - const controller = new HeliconeSqlController(); + const controller = new ModelController(); await templateService.apiHandler({ - methodName: 'getSavedQuery', + methodName: 'getMultimodalModels', controller, response, next, @@ -11268,27 +8650,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsHeliconeSqlController_deleteSavedQuery: Record = { - queryId: {"in":"path","name":"queryId","required":true,"dataType":"string"}, + const argsModelComparisonController_getModelComparison: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, + modelsToCompare: {"in":"body","name":"modelsToCompare","required":true,"dataType":"array","array":{"dataType":"refAlias","ref":"ModelsToCompare"}}, }; - app.delete('/v1/helicone-sql/saved-query/:queryId', + app.post('/v1/public/compare/models', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(HeliconeSqlController)), - ...(fetchMiddlewares(HeliconeSqlController.prototype.deleteSavedQuery)), + ...(fetchMiddlewares(ModelComparisonController)), + ...(fetchMiddlewares(ModelComparisonController.prototype.getModelComparison)), - async function HeliconeSqlController_deleteSavedQuery(request: ExRequest, response: ExResponse, next: any) { + async function ModelComparisonController_getModelComparison(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsHeliconeSqlController_deleteSavedQuery, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsModelComparisonController_getModelComparison, request, response }); - const controller = new HeliconeSqlController(); + const controller = new ModelComparisonController(); await templateService.apiHandler({ - methodName: 'deleteSavedQuery', + methodName: 'getModelComparison', controller, response, next, @@ -11300,27 +8682,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsHeliconeSqlController_bulkDeleteSavedQueries: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"BulkDeleteSavedQueriesRequest"}, + const argsMetricsController_getTotalRequests: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"MetricsFilterBody"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/helicone-sql/saved-queries/bulk-delete', + app.post('/v1/metrics/totalRequests', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(HeliconeSqlController)), - ...(fetchMiddlewares(HeliconeSqlController.prototype.bulkDeleteSavedQueries)), + ...(fetchMiddlewares(MetricsController)), + ...(fetchMiddlewares(MetricsController.prototype.getTotalRequests)), - async function HeliconeSqlController_bulkDeleteSavedQueries(request: ExRequest, response: ExResponse, next: any) { + async function MetricsController_getTotalRequests(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsHeliconeSqlController_bulkDeleteSavedQueries, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMetricsController_getTotalRequests, request, response }); - const controller = new HeliconeSqlController(); + const controller = new MetricsController(); await templateService.apiHandler({ - methodName: 'bulkDeleteSavedQueries', + methodName: 'getTotalRequests', controller, response, next, @@ -11332,27 +8714,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsHeliconeSqlController_createSavedQuery: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"CreateSavedQueryRequest"}, + const argsMetricsController_getTotalCost: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"MetricsFilterBody"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/helicone-sql/saved-query', + app.post('/v1/metrics/totalCost', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(HeliconeSqlController)), - ...(fetchMiddlewares(HeliconeSqlController.prototype.createSavedQuery)), + ...(fetchMiddlewares(MetricsController)), + ...(fetchMiddlewares(MetricsController.prototype.getTotalCost)), - async function HeliconeSqlController_createSavedQuery(request: ExRequest, response: ExResponse, next: any) { + async function MetricsController_getTotalCost(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsHeliconeSqlController_createSavedQuery, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMetricsController_getTotalCost, request, response }); - const controller = new HeliconeSqlController(); + const controller = new MetricsController(); await templateService.apiHandler({ - methodName: 'createSavedQuery', + methodName: 'getTotalCost', controller, response, next, @@ -11364,28 +8746,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsHeliconeSqlController_updateSavedQuery: Record = { - queryId: {"in":"path","name":"queryId","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"CreateSavedQueryRequest"}, + const argsMetricsController_getAverageLatency: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"MetricsFilterBody"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.put('/v1/helicone-sql/saved-query/:queryId', + app.post('/v1/metrics/averageLatency', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(HeliconeSqlController)), - ...(fetchMiddlewares(HeliconeSqlController.prototype.updateSavedQuery)), + ...(fetchMiddlewares(MetricsController)), + ...(fetchMiddlewares(MetricsController.prototype.getAverageLatency)), - async function HeliconeSqlController_updateSavedQuery(request: ExRequest, response: ExResponse, next: any) { + async function MetricsController_getAverageLatency(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsHeliconeSqlController_updateSavedQuery, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMetricsController_getAverageLatency, request, response }); - const controller = new HeliconeSqlController(); + const controller = new MetricsController(); await templateService.apiHandler({ - methodName: 'updateSavedQuery', + methodName: 'getAverageLatency', controller, response, next, @@ -11397,27 +8778,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentController_createNewEmptyExperiment: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"datasetId":{"dataType":"string","required":true},"metadata":{"ref":"Record_string.string_","required":true}}}, + const argsMetricsController_getAverageTimeToFirstToken: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"MetricsFilterBody"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/experiment/new-empty', + app.post('/v1/metrics/averageTimeToFirstToken', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentController)), - ...(fetchMiddlewares(ExperimentController.prototype.createNewEmptyExperiment)), + ...(fetchMiddlewares(MetricsController)), + ...(fetchMiddlewares(MetricsController.prototype.getAverageTimeToFirstToken)), - async function ExperimentController_createNewEmptyExperiment(request: ExRequest, response: ExResponse, next: any) { + async function MetricsController_getAverageTimeToFirstToken(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentController_createNewEmptyExperiment, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMetricsController_getAverageTimeToFirstToken, request, response }); - const controller = new ExperimentController(); + const controller = new MetricsController(); await templateService.apiHandler({ - methodName: 'createNewEmptyExperiment', + methodName: 'getAverageTimeToFirstToken', controller, response, next, @@ -11429,27 +8810,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentController_createNewExperimentTable: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"CreateExperimentTableParams"}, + const argsMetricsController_getAverageTokensPerRequest: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"MetricsFilterBody"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/experiment/table/new', + app.post('/v1/metrics/averageTokensPerRequest', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentController)), - ...(fetchMiddlewares(ExperimentController.prototype.createNewExperimentTable)), + ...(fetchMiddlewares(MetricsController)), + ...(fetchMiddlewares(MetricsController.prototype.getAverageTokensPerRequest)), - async function ExperimentController_createNewExperimentTable(request: ExRequest, response: ExResponse, next: any) { + async function MetricsController_getAverageTokensPerRequest(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentController_createNewExperimentTable, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMetricsController_getAverageTokensPerRequest, request, response }); - const controller = new ExperimentController(); + const controller = new MetricsController(); await templateService.apiHandler({ - methodName: 'createNewExperimentTable', + methodName: 'getAverageTokensPerRequest', controller, response, next, @@ -11461,27 +8842,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentController_getExperimentTableById: Record = { - experimentTableId: {"in":"path","name":"experimentTableId","required":true,"dataType":"string"}, + const argsMetricsController_getTotalThreats: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"MetricsFilterBody"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/experiment/table/:experimentTableId/query', + app.post('/v1/metrics/totalThreats', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentController)), - ...(fetchMiddlewares(ExperimentController.prototype.getExperimentTableById)), + ...(fetchMiddlewares(MetricsController)), + ...(fetchMiddlewares(MetricsController.prototype.getTotalThreats)), - async function ExperimentController_getExperimentTableById(request: ExRequest, response: ExResponse, next: any) { + async function MetricsController_getTotalThreats(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentController_getExperimentTableById, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMetricsController_getTotalThreats, request, response }); - const controller = new ExperimentController(); + const controller = new MetricsController(); await templateService.apiHandler({ - methodName: 'getExperimentTableById', + methodName: 'getTotalThreats', controller, response, next, @@ -11493,27 +8874,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentController_getExperimentTableMetadata: Record = { - experimentTableId: {"in":"path","name":"experimentTableId","required":true,"dataType":"string"}, + const argsMetricsController_getActiveUsers: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"MetricsFilterBody"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/experiment/table/:experimentTableId/metadata/query', + app.post('/v1/metrics/activeUsers', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentController)), - ...(fetchMiddlewares(ExperimentController.prototype.getExperimentTableMetadata)), + ...(fetchMiddlewares(MetricsController)), + ...(fetchMiddlewares(MetricsController.prototype.getActiveUsers)), - async function ExperimentController_getExperimentTableMetadata(request: ExRequest, response: ExResponse, next: any) { + async function MetricsController_getActiveUsers(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentController_getExperimentTableMetadata, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMetricsController_getActiveUsers, request, response }); - const controller = new ExperimentController(); + const controller = new MetricsController(); await templateService.apiHandler({ - methodName: 'getExperimentTableMetadata', + methodName: 'getActiveUsers', controller, response, next, @@ -11525,26 +8906,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentController_getExperimentTables: Record = { + const argsMetricsController_getRequestsOverTime: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"MetricsOverTimeBody"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/experiment/tables/query', + app.post('/v1/metrics/requestOverTime', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentController)), - ...(fetchMiddlewares(ExperimentController.prototype.getExperimentTables)), + ...(fetchMiddlewares(MetricsController)), + ...(fetchMiddlewares(MetricsController.prototype.getRequestsOverTime)), - async function ExperimentController_getExperimentTables(request: ExRequest, response: ExResponse, next: any) { + async function MetricsController_getRequestsOverTime(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentController_getExperimentTables, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMetricsController_getRequestsOverTime, request, response }); - const controller = new ExperimentController(); + const controller = new MetricsController(); await templateService.apiHandler({ - methodName: 'getExperimentTables', + methodName: 'getRequestsOverTime', controller, response, next, @@ -11556,28 +8938,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentController_createExperimentCell: Record = { - experimentTableId: {"in":"path","name":"experimentTableId","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"value":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true},"rowIndex":{"dataType":"double","required":true},"columnId":{"dataType":"string","required":true}}}, + const argsMetricsController_getCostOverTime: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"MetricsOverTimeBody"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/experiment/table/:experimentTableId/cell', + app.post('/v1/metrics/costOverTime', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentController)), - ...(fetchMiddlewares(ExperimentController.prototype.createExperimentCell)), + ...(fetchMiddlewares(MetricsController)), + ...(fetchMiddlewares(MetricsController.prototype.getCostOverTime)), - async function ExperimentController_createExperimentCell(request: ExRequest, response: ExResponse, next: any) { + async function MetricsController_getCostOverTime(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentController_createExperimentCell, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMetricsController_getCostOverTime, request, response }); - const controller = new ExperimentController(); + const controller = new MetricsController(); await templateService.apiHandler({ - methodName: 'createExperimentCell', + methodName: 'getCostOverTime', controller, response, next, @@ -11589,28 +8970,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentController_updateExperimentCell: Record = { - experimentTableId: {"in":"path","name":"experimentTableId","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"updateInputs":{"dataType":"boolean"},"metadata":{"dataType":"string"},"value":{"dataType":"string"},"status":{"dataType":"string"},"cellId":{"dataType":"string","required":true}}}, + const argsMetricsController_getTokensOverTime: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"MetricsOverTimeBody"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.patch('/v1/experiment/table/:experimentTableId/cell', + app.post('/v1/metrics/tokensOverTime', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentController)), - ...(fetchMiddlewares(ExperimentController.prototype.updateExperimentCell)), + ...(fetchMiddlewares(MetricsController)), + ...(fetchMiddlewares(MetricsController.prototype.getTokensOverTime)), - async function ExperimentController_updateExperimentCell(request: ExRequest, response: ExResponse, next: any) { + async function MetricsController_getTokensOverTime(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentController_updateExperimentCell, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMetricsController_getTokensOverTime, request, response }); - const controller = new ExperimentController(); + const controller = new MetricsController(); await templateService.apiHandler({ - methodName: 'updateExperimentCell', + methodName: 'getTokensOverTime', controller, response, next, @@ -11622,28 +9002,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentController_createExperimentColumn: Record = { - experimentTableId: {"in":"path","name":"experimentTableId","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"inputKeys":{"dataType":"array","array":{"dataType":"string"}},"promptVersionId":{"dataType":"string"},"hypothesisId":{"dataType":"string"},"columnType":{"dataType":"string","required":true},"columnName":{"dataType":"string","required":true}}}, + const argsMetricsController_getLatencyOverTime: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"MetricsOverTimeBody"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/experiment/table/:experimentTableId/column', + app.post('/v1/metrics/latencyOverTime', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentController)), - ...(fetchMiddlewares(ExperimentController.prototype.createExperimentColumn)), + ...(fetchMiddlewares(MetricsController)), + ...(fetchMiddlewares(MetricsController.prototype.getLatencyOverTime)), - async function ExperimentController_createExperimentColumn(request: ExRequest, response: ExResponse, next: any) { + async function MetricsController_getLatencyOverTime(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentController_createExperimentColumn, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMetricsController_getLatencyOverTime, request, response }); - const controller = new ExperimentController(); + const controller = new MetricsController(); await templateService.apiHandler({ - methodName: 'createExperimentColumn', + methodName: 'getLatencyOverTime', controller, response, next, @@ -11655,28 +9034,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentController_createExperimentTableRow: Record = { - experimentTableId: {"in":"path","name":"experimentTableId","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"inputs":{"ref":"Record_string.string_"},"sourceRequest":{"dataType":"string"},"promptVersionId":{"dataType":"string","required":true}}}, + const argsMetricsController_getTimeToFirstTokenOverTime: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"MetricsOverTimeBody"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/experiment/table/:experimentTableId/row/new', + app.post('/v1/metrics/timeToFirstToken', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentController)), - ...(fetchMiddlewares(ExperimentController.prototype.createExperimentTableRow)), + ...(fetchMiddlewares(MetricsController)), + ...(fetchMiddlewares(MetricsController.prototype.getTimeToFirstTokenOverTime)), - async function ExperimentController_createExperimentTableRow(request: ExRequest, response: ExResponse, next: any) { + async function MetricsController_getTimeToFirstTokenOverTime(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentController_createExperimentTableRow, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMetricsController_getTimeToFirstTokenOverTime, request, response }); - const controller = new ExperimentController(); + const controller = new MetricsController(); await templateService.apiHandler({ - methodName: 'createExperimentTableRow', + methodName: 'getTimeToFirstTokenOverTime', controller, response, next, @@ -11688,28 +9066,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentController_deleteExperimentTableRow: Record = { - experimentTableId: {"in":"path","name":"experimentTableId","required":true,"dataType":"string"}, - rowIndex: {"in":"path","name":"rowIndex","required":true,"dataType":"double"}, + const argsMetricsController_getUsersOverTime: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"MetricsOverTimeBody"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.delete('/v1/experiment/table/:experimentTableId/row/:rowIndex', + app.post('/v1/metrics/usersOverTime', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentController)), - ...(fetchMiddlewares(ExperimentController.prototype.deleteExperimentTableRow)), + ...(fetchMiddlewares(MetricsController)), + ...(fetchMiddlewares(MetricsController.prototype.getUsersOverTime)), - async function ExperimentController_deleteExperimentTableRow(request: ExRequest, response: ExResponse, next: any) { + async function MetricsController_getUsersOverTime(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentController_deleteExperimentTableRow, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMetricsController_getUsersOverTime, request, response }); - const controller = new ExperimentController(); + const controller = new MetricsController(); await templateService.apiHandler({ - methodName: 'deleteExperimentTableRow', + methodName: 'getUsersOverTime', controller, response, next, @@ -11721,28 +9098,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentController_createExperimentTableRowWithCellsBatch: Record = { - experimentTableId: {"in":"path","name":"experimentTableId","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"rows":{"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"sourceRequest":{"dataType":"string"},"cells":{"dataType":"array","array":{"dataType":"nestedObjectLiteral","nestedProperties":{"metadata":{"dataType":"any"},"value":{"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"enum","enums":[null]}],"required":true},"columnId":{"dataType":"string","required":true}}},"required":true},"datasetId":{"dataType":"string","required":true},"inputs":{"ref":"Record_string.string_","required":true},"inputRecordId":{"dataType":"string","required":true}}},"required":true}}}, + const argsMetricsController_getThreatsOverTime: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"MetricsOverTimeBody"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/experiment/table/:experimentTableId/row/insert/batch', + app.post('/v1/metrics/threatsOverTime', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentController)), - ...(fetchMiddlewares(ExperimentController.prototype.createExperimentTableRowWithCellsBatch)), + ...(fetchMiddlewares(MetricsController)), + ...(fetchMiddlewares(MetricsController.prototype.getThreatsOverTime)), - async function ExperimentController_createExperimentTableRowWithCellsBatch(request: ExRequest, response: ExResponse, next: any) { + async function MetricsController_getThreatsOverTime(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentController_createExperimentTableRowWithCellsBatch, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMetricsController_getThreatsOverTime, request, response }); - const controller = new ExperimentController(); + const controller = new MetricsController(); await templateService.apiHandler({ - methodName: 'createExperimentTableRowWithCellsBatch', + methodName: 'getThreatsOverTime', controller, response, next, @@ -11754,27 +9130,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentController_updateExperimentMeta: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"meta":{"ref":"Record_string.string_","required":true},"experimentId":{"dataType":"string","required":true}}}, + const argsMetricsController_getErrorsOverTime: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"MetricsOverTimeBody"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/experiment/update-meta', + app.post('/v1/metrics/errorOverTime', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentController)), - ...(fetchMiddlewares(ExperimentController.prototype.updateExperimentMeta)), + ...(fetchMiddlewares(MetricsController)), + ...(fetchMiddlewares(MetricsController.prototype.getErrorsOverTime)), - async function ExperimentController_updateExperimentMeta(request: ExRequest, response: ExResponse, next: any) { + async function MetricsController_getErrorsOverTime(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentController_updateExperimentMeta, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMetricsController_getErrorsOverTime, request, response }); - const controller = new ExperimentController(); + const controller = new MetricsController(); await templateService.apiHandler({ - methodName: 'updateExperimentMeta', + methodName: 'getErrorsOverTime', controller, response, next, @@ -11786,27 +9162,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentController_createNewExperimentOld: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"NewExperimentParams"}, + const argsMetricsController_getRequestStatusOverTime: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"MetricsOverTimeBody"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/experiment', + app.post('/v1/metrics/requestStatusOverTime', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentController)), - ...(fetchMiddlewares(ExperimentController.prototype.createNewExperimentOld)), + ...(fetchMiddlewares(MetricsController)), + ...(fetchMiddlewares(MetricsController.prototype.getRequestStatusOverTime)), - async function ExperimentController_createNewExperimentOld(request: ExRequest, response: ExResponse, next: any) { + async function MetricsController_getRequestStatusOverTime(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentController_createNewExperimentOld, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMetricsController_getRequestStatusOverTime, request, response }); - const controller = new ExperimentController(); + const controller = new MetricsController(); await templateService.apiHandler({ - methodName: 'createNewExperimentOld', + methodName: 'getRequestStatusOverTime', controller, response, next, @@ -11818,27 +9194,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentController_createNewExperimentHypothesis: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"status":{"dataType":"union","subSchemas":[{"dataType":"enum","enums":["PENDING"]},{"dataType":"enum","enums":["RUNNING"]},{"dataType":"enum","enums":["COMPLETED"]},{"dataType":"enum","enums":["FAILED"]}],"required":true},"providerKeyId":{"dataType":"string","required":true},"promptVersion":{"dataType":"string","required":true},"model":{"dataType":"string","required":true},"experimentId":{"dataType":"string","required":true}}}, + const argsMetricsController_getRequestCount: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"RequestCountBody"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/experiment/hypothesis', + app.post('/v1/metrics/requestCount', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentController)), - ...(fetchMiddlewares(ExperimentController.prototype.createNewExperimentHypothesis)), + ...(fetchMiddlewares(MetricsController)), + ...(fetchMiddlewares(MetricsController.prototype.getRequestCount)), - async function ExperimentController_createNewExperimentHypothesis(request: ExRequest, response: ExResponse, next: any) { + async function MetricsController_getRequestCount(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentController_createNewExperimentHypothesis, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMetricsController_getRequestCount, request, response }); - const controller = new ExperimentController(); + const controller = new MetricsController(); await templateService.apiHandler({ - methodName: 'createNewExperimentHypothesis', + methodName: 'getRequestCount', controller, response, next, @@ -11850,27 +9226,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentController_getExperimentHypothesisScores: Record = { - hypothesisId: {"in":"path","name":"hypothesisId","required":true,"dataType":"string"}, + const argsMetricsController_getModelMetrics: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"ModelMetricsBody"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/experiment/hypothesis/:hypothesisId/scores/query', + app.post('/v1/metrics/models', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentController)), - ...(fetchMiddlewares(ExperimentController.prototype.getExperimentHypothesisScores)), + ...(fetchMiddlewares(MetricsController)), + ...(fetchMiddlewares(MetricsController.prototype.getModelMetrics)), - async function ExperimentController_getExperimentHypothesisScores(request: ExRequest, response: ExResponse, next: any) { + async function MetricsController_getModelMetrics(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentController_getExperimentHypothesisScores, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMetricsController_getModelMetrics, request, response }); - const controller = new ExperimentController(); + const controller = new MetricsController(); await templateService.apiHandler({ - methodName: 'getExperimentHypothesisScores', + methodName: 'getModelMetrics', controller, response, next, @@ -11882,27 +9258,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentController_getExperimentEvaluators: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, + const argsMetricsController_getCountryMetrics: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"CountryMetricsBody"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.get('/v1/experiment/:experimentId/evaluators', + app.post('/v1/metrics/country', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentController)), - ...(fetchMiddlewares(ExperimentController.prototype.getExperimentEvaluators)), + ...(fetchMiddlewares(MetricsController)), + ...(fetchMiddlewares(MetricsController.prototype.getCountryMetrics)), - async function ExperimentController_getExperimentEvaluators(request: ExRequest, response: ExResponse, next: any) { + async function MetricsController_getCountryMetrics(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentController_getExperimentEvaluators, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMetricsController_getCountryMetrics, request, response }); - const controller = new ExperimentController(); + const controller = new MetricsController(); await templateService.apiHandler({ - methodName: 'getExperimentEvaluators', + methodName: 'getCountryMetrics', controller, response, next, @@ -11914,27 +9290,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentController_runExperimentEvaluatorsOld: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, + const argsMetricsController_getQuantiles: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"QuantilesBody"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/experiment/:experimentId/evaluators/run', + app.post('/v1/metrics/quantiles', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentController)), - ...(fetchMiddlewares(ExperimentController.prototype.runExperimentEvaluatorsOld)), + ...(fetchMiddlewares(MetricsController)), + ...(fetchMiddlewares(MetricsController.prototype.getQuantiles)), - async function ExperimentController_runExperimentEvaluatorsOld(request: ExRequest, response: ExResponse, next: any) { + async function MetricsController_getQuantiles(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentController_runExperimentEvaluatorsOld, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMetricsController_getQuantiles, request, response }); - const controller = new ExperimentController(); + const controller = new MetricsController(); await templateService.apiHandler({ - methodName: 'runExperimentEvaluatorsOld', + methodName: 'getQuantiles', controller, response, next, @@ -11946,28 +9322,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentController_createExperimentEvaluatorOld: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"evaluatorId":{"dataType":"string","required":true}}}, + const argsLLMSecurityController_getSecurity: Record = { + body: {"in":"body","name":"body","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"text":{"dataType":"string","required":true},"advanced":{"dataType":"boolean","required":true}}}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/experiment/:experimentId/evaluators', - authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentController)), - ...(fetchMiddlewares(ExperimentController.prototype.createExperimentEvaluatorOld)), + app.post('/v1/public/security', + ...(fetchMiddlewares(LLMSecurityController)), + ...(fetchMiddlewares(LLMSecurityController.prototype.getSecurity)), - async function ExperimentController_createExperimentEvaluatorOld(request: ExRequest, response: ExResponse, next: any) { + async function LLMSecurityController_getSecurity(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentController_createExperimentEvaluatorOld, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsLLMSecurityController_getSecurity, request, response }); - const controller = new ExperimentController(); + const controller = new LLMSecurityController(); await templateService.apiHandler({ - methodName: 'createExperimentEvaluatorOld', + methodName: 'getSecurity', controller, response, next, @@ -11979,28 +9353,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentController_deleteExperimentEvaluatorOld: Record = { - experimentId: {"in":"path","name":"experimentId","required":true,"dataType":"string"}, - evaluatorId: {"in":"path","name":"evaluatorId","required":true,"dataType":"string"}, + const argsHeliconeSqlController_getClickHouseSchema: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.delete('/v1/experiment/:experimentId/evaluators/:evaluatorId', + app.get('/v1/helicone-sql/schema', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentController)), - ...(fetchMiddlewares(ExperimentController.prototype.deleteExperimentEvaluatorOld)), + ...(fetchMiddlewares(HeliconeSqlController)), + ...(fetchMiddlewares(HeliconeSqlController.prototype.getClickHouseSchema)), - async function ExperimentController_deleteExperimentEvaluatorOld(request: ExRequest, response: ExResponse, next: any) { + async function HeliconeSqlController_getClickHouseSchema(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentController_deleteExperimentEvaluatorOld, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsHeliconeSqlController_getClickHouseSchema, request, response }); - const controller = new ExperimentController(); + const controller = new HeliconeSqlController(); await templateService.apiHandler({ - methodName: 'deleteExperimentEvaluatorOld', + methodName: 'getClickHouseSchema', controller, response, next, @@ -12012,27 +9384,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentController_getExperimentsOld: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"include":{"ref":"IncludeExperimentKeys"},"filter":{"ref":"ExperimentFilterNode","required":true}}}, + const argsHeliconeSqlController_executeSql: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"ExecuteSqlRequest"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/experiment/query', + app.post('/v1/helicone-sql/execute', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentController)), - ...(fetchMiddlewares(ExperimentController.prototype.getExperimentsOld)), + ...(fetchMiddlewares(HeliconeSqlController)), + ...(fetchMiddlewares(HeliconeSqlController.prototype.executeSql)), - async function ExperimentController_getExperimentsOld(request: ExRequest, response: ExResponse, next: any) { + async function HeliconeSqlController_executeSql(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentController_getExperimentsOld, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsHeliconeSqlController_executeSql, request, response }); - const controller = new ExperimentController(); + const controller = new HeliconeSqlController(); await templateService.apiHandler({ - methodName: 'getExperimentsOld', + methodName: 'executeSql', controller, response, next, @@ -12044,27 +9416,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentDatasetController_addDataset: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"NewDatasetParams"}, + const argsHeliconeSqlController_downloadCsv: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"ExecuteSqlRequest"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/experiment/dataset', + app.post('/v1/helicone-sql/download', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentDatasetController)), - ...(fetchMiddlewares(ExperimentDatasetController.prototype.addDataset)), + ...(fetchMiddlewares(HeliconeSqlController)), + ...(fetchMiddlewares(HeliconeSqlController.prototype.downloadCsv)), - async function ExperimentDatasetController_addDataset(request: ExRequest, response: ExResponse, next: any) { + async function HeliconeSqlController_downloadCsv(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentDatasetController_addDataset, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsHeliconeSqlController_downloadCsv, request, response }); - const controller = new ExperimentDatasetController(); + const controller = new HeliconeSqlController(); await templateService.apiHandler({ - methodName: 'addDataset', + methodName: 'downloadCsv', controller, response, next, @@ -12076,27 +9448,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentDatasetController_addRandomDataset: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"ref":"RandomDatasetParams"}, + const argsHeliconeSqlController_getSavedQueries: Record = { request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/experiment/dataset/random', + app.get('/v1/helicone-sql/saved-queries', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentDatasetController)), - ...(fetchMiddlewares(ExperimentDatasetController.prototype.addRandomDataset)), + ...(fetchMiddlewares(HeliconeSqlController)), + ...(fetchMiddlewares(HeliconeSqlController.prototype.getSavedQueries)), - async function ExperimentDatasetController_addRandomDataset(request: ExRequest, response: ExResponse, next: any) { + async function HeliconeSqlController_getSavedQueries(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentDatasetController_addRandomDataset, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsHeliconeSqlController_getSavedQueries, request, response }); - const controller = new ExperimentDatasetController(); + const controller = new HeliconeSqlController(); await templateService.apiHandler({ - methodName: 'addRandomDataset', + methodName: 'getSavedQueries', controller, response, next, @@ -12108,27 +9479,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentDatasetController_getDatasets: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"promptVersionId":{"dataType":"string"}}}, + const argsHeliconeSqlController_getSavedQuery: Record = { + queryId: {"in":"path","name":"queryId","required":true,"dataType":"string"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/experiment/dataset/query', + app.get('/v1/helicone-sql/saved-query/:queryId', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentDatasetController)), - ...(fetchMiddlewares(ExperimentDatasetController.prototype.getDatasets)), + ...(fetchMiddlewares(HeliconeSqlController)), + ...(fetchMiddlewares(HeliconeSqlController.prototype.getSavedQuery)), - async function ExperimentDatasetController_getDatasets(request: ExRequest, response: ExResponse, next: any) { + async function HeliconeSqlController_getSavedQuery(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentDatasetController_getDatasets, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsHeliconeSqlController_getSavedQuery, request, response }); - const controller = new ExperimentDatasetController(); + const controller = new HeliconeSqlController(); await templateService.apiHandler({ - methodName: 'getDatasets', + methodName: 'getSavedQuery', controller, response, next, @@ -12140,28 +9511,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentDatasetController_insertDatasetRow: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"originalColumnId":{"dataType":"string"},"inputs":{"ref":"Record_string.string_","required":true},"inputRecordId":{"dataType":"string","required":true}}}, + const argsHeliconeSqlController_deleteSavedQuery: Record = { + queryId: {"in":"path","name":"queryId","required":true,"dataType":"string"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, - datasetId: {"in":"path","name":"datasetId","required":true,"dataType":"string"}, }; - app.post('/v1/experiment/dataset/:datasetId/row/insert', + app.delete('/v1/helicone-sql/saved-query/:queryId', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentDatasetController)), - ...(fetchMiddlewares(ExperimentDatasetController.prototype.insertDatasetRow)), + ...(fetchMiddlewares(HeliconeSqlController)), + ...(fetchMiddlewares(HeliconeSqlController.prototype.deleteSavedQuery)), - async function ExperimentDatasetController_insertDatasetRow(request: ExRequest, response: ExResponse, next: any) { + async function HeliconeSqlController_deleteSavedQuery(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentDatasetController_insertDatasetRow, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsHeliconeSqlController_deleteSavedQuery, request, response }); - const controller = new ExperimentDatasetController(); + const controller = new HeliconeSqlController(); await templateService.apiHandler({ - methodName: 'insertDatasetRow', + methodName: 'deleteSavedQuery', controller, response, next, @@ -12173,29 +9543,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentDatasetController_createDatasetRow: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"sourceRequest":{"dataType":"string"},"inputs":{"ref":"Record_string.string_","required":true}}}, + const argsHeliconeSqlController_bulkDeleteSavedQueries: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"BulkDeleteSavedQueriesRequest"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, - datasetId: {"in":"path","name":"datasetId","required":true,"dataType":"string"}, - promptVersionId: {"in":"path","name":"promptVersionId","required":true,"dataType":"string"}, }; - app.post('/v1/experiment/dataset/:datasetId/version/:promptVersionId/row/new', + app.post('/v1/helicone-sql/saved-queries/bulk-delete', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentDatasetController)), - ...(fetchMiddlewares(ExperimentDatasetController.prototype.createDatasetRow)), + ...(fetchMiddlewares(HeliconeSqlController)), + ...(fetchMiddlewares(HeliconeSqlController.prototype.bulkDeleteSavedQueries)), - async function ExperimentDatasetController_createDatasetRow(request: ExRequest, response: ExResponse, next: any) { + async function HeliconeSqlController_bulkDeleteSavedQueries(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentDatasetController_createDatasetRow, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsHeliconeSqlController_bulkDeleteSavedQueries, request, response }); - const controller = new ExperimentDatasetController(); + const controller = new HeliconeSqlController(); await templateService.apiHandler({ - methodName: 'createDatasetRow', + methodName: 'bulkDeleteSavedQueries', controller, response, next, @@ -12207,27 +9575,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentDatasetController_getDataset: Record = { + const argsHeliconeSqlController_createSavedQuery: Record = { + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"CreateSavedQueryRequest"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, - datasetId: {"in":"path","name":"datasetId","required":true,"dataType":"string"}, }; - app.post('/v1/experiment/dataset/:datasetId/inputs/query', + app.post('/v1/helicone-sql/saved-query', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentDatasetController)), - ...(fetchMiddlewares(ExperimentDatasetController.prototype.getDataset)), + ...(fetchMiddlewares(HeliconeSqlController)), + ...(fetchMiddlewares(HeliconeSqlController.prototype.createSavedQuery)), - async function ExperimentDatasetController_getDataset(request: ExRequest, response: ExResponse, next: any) { + async function HeliconeSqlController_createSavedQuery(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentDatasetController_getDataset, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsHeliconeSqlController_createSavedQuery, request, response }); - const controller = new ExperimentDatasetController(); + const controller = new HeliconeSqlController(); await templateService.apiHandler({ - methodName: 'getDataset', + methodName: 'createSavedQuery', controller, response, next, @@ -12239,27 +9607,28 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsExperimentDatasetController_mutateDataset: Record = { - requestBody: {"in":"body","name":"requestBody","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"removeRequests":{"dataType":"array","array":{"dataType":"string"},"required":true},"addRequests":{"dataType":"array","array":{"dataType":"string"},"required":true}}}, + const argsHeliconeSqlController_updateSavedQuery: Record = { + queryId: {"in":"path","name":"queryId","required":true,"dataType":"string"}, + requestBody: {"in":"body","name":"requestBody","required":true,"ref":"CreateSavedQueryRequest"}, request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/v1/experiment/dataset/:datasetId/mutate', + app.put('/v1/helicone-sql/saved-query/:queryId', authenticateMiddleware([{"api_key":[]}]), - ...(fetchMiddlewares(ExperimentDatasetController)), - ...(fetchMiddlewares(ExperimentDatasetController.prototype.mutateDataset)), + ...(fetchMiddlewares(HeliconeSqlController)), + ...(fetchMiddlewares(HeliconeSqlController.prototype.updateSavedQuery)), - async function ExperimentDatasetController_mutateDataset(request: ExRequest, response: ExResponse, next: any) { + async function HeliconeSqlController_updateSavedQuery(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsExperimentDatasetController_mutateDataset, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsHeliconeSqlController_updateSavedQuery, request, response }); - const controller = new ExperimentDatasetController(); + const controller = new HeliconeSqlController(); await templateService.apiHandler({ - methodName: 'mutateDataset', + methodName: 'updateSavedQuery', controller, response, next, diff --git a/valhalla/jawn/src/tsoa-build/public/swagger.json b/valhalla/jawn/src/tsoa-build/public/swagger.json index 01fb750e03..d3f8784ed8 100644 --- a/valhalla/jawn/src/tsoa-build/public/swagger.json +++ b/valhalla/jawn/src/tsoa-build/public/swagger.json @@ -458,58 +458,6 @@ } ] }, - "EvaluatorExperiment": { - "properties": { - "experiment_name": { - "type": "string" - }, - "experiment_created_at": { - "type": "string" - }, - "experiment_id": { - "type": "string" - } - }, - "required": [ - "experiment_name", - "experiment_created_at", - "experiment_id" - ], - "type": "object" - }, - "ResultSuccess_EvaluatorExperiment-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/EvaluatorExperiment" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_EvaluatorExperiment-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_EvaluatorExperiment-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, "OnlineEvaluatorByEvaluatorId": { "properties": { "config": {}, @@ -1013,166 +961,386 @@ } ] }, - "Prompt2025": { + "CreateCloudGatewayCheckoutSessionRequest": { "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "tags": { - "items": { - "type": "string" - }, - "type": "array" + "amount": { + "type": "number", + "format": "double" }, - "created_at": { + "returnUrl": { "type": "string" } }, "required": [ - "id", - "name", - "tags", - "created_at" + "amount" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_Prompt2025_": { + "LLMUsage": { "properties": { - "data": { - "$ref": "#/components/schemas/Prompt2025" + "model": { + "type": "string" }, - "error": { + "provider": { + "type": "string" + }, + "prompt_tokens": { "type": "number", - "enum": [ - null + "format": "double" + }, + "completion_tokens": { + "type": "number", + "format": "double" + }, + "total_count": { + "type": "number", + "format": "double" + }, + "amount": { + "type": "number", + "format": "double" + }, + "description": { + "type": "string" + }, + "totalCost": { + "properties": { + "prompt_token": { + "type": "number", + "format": "double" + }, + "completion_token": { + "type": "number", + "format": "double" + } + }, + "required": [ + "prompt_token", + "completion_token" ], - "nullable": true + "type": "object" } }, "required": [ - "data", - "error" + "model", + "provider", + "prompt_tokens", + "completion_tokens", + "total_count", + "amount", + "description", + "totalCost" ], "type": "object", "additionalProperties": false }, - "Result_Prompt2025.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_Prompt2025_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess_string-Array_": { + "PaymentIntentRecord": { "properties": { - "data": { + "id": { + "type": "string" + }, + "amount": { + "type": "number", + "format": "double" + }, + "created": { + "type": "number", + "format": "double" + }, + "status": { + "type": "string" + }, + "isRefunded": { + "type": "boolean" + }, + "refundedAmount": { + "type": "number", + "format": "double" + }, + "refundIds": { "items": { "type": "string" }, "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true } }, "required": [ - "data", - "error" + "id", + "amount", + "created", + "status" ], "type": "object", "additionalProperties": false }, - "Result_string-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_string-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "Prompt2025Input": { + "StripePaymentIntentsResponse": { "properties": { - "request_id": { - "type": "string" + "data": { + "items": { + "$ref": "#/components/schemas/PaymentIntentRecord" + }, + "type": "array" }, - "version_id": { - "type": "string" + "has_more": { + "type": "boolean" }, - "inputs": { - "$ref": "#/components/schemas/Record_string.any_" + "next_page": { + "type": "string", + "nullable": true + }, + "count": { + "type": "number", + "format": "double" } }, "required": [ - "request_id", - "version_id", - "inputs" + "data", + "has_more", + "next_page", + "count" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_Prompt2025Input_": { + "AutoTopoffSettings": { "properties": { - "data": { - "$ref": "#/components/schemas/Prompt2025Input" + "enabled": { + "type": "boolean" }, - "error": { + "thresholdCents": { "type": "number", - "enum": [ - null - ], + "format": "double" + }, + "topoffAmountCents": { + "type": "number", + "format": "double" + }, + "stripePaymentMethodId": { + "type": "string", + "nullable": true + }, + "lastTopoffAt": { + "type": "string", "nullable": true + }, + "consecutiveFailures": { + "type": "number", + "format": "double" } }, "required": [ - "data", - "error" + "enabled", + "thresholdCents", + "topoffAmountCents", + "stripePaymentMethodId", + "lastTopoffAt", + "consecutiveFailures" ], "type": "object", "additionalProperties": false }, - "Result_Prompt2025Input.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_Prompt2025Input_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "PromptCreateResponse": { + "UpdateAutoTopoffSettingsRequest": { "properties": { - "id": { + "enabled": { + "type": "boolean" + }, + "thresholdCents": { + "type": "number", + "format": "double" + }, + "topoffAmountCents": { + "type": "number", + "format": "double" + }, + "stripePaymentMethodId": { + "type": "string" + } + }, + "required": [ + "enabled", + "thresholdCents", + "topoffAmountCents", + "stripePaymentMethodId" + ], + "type": "object", + "additionalProperties": false + }, + "PaymentMethod": { + "properties": { + "id": { "type": "string" }, - "versionId": { + "brand": { + "type": "string" + }, + "last4": { "type": "string" + }, + "exp_month": { + "type": "number", + "format": "double" + }, + "exp_year": { + "type": "number", + "format": "double" } }, "required": [ "id", - "versionId" + "brand", + "last4", + "exp_month", + "exp_year" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_PromptCreateResponse_": { + "CreateSetupSessionRequest": { + "properties": { + "returnUrl": { + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "DailyUsageDataPoint": { + "properties": { + "date": { + "type": "string" + }, + "requests": { + "type": "number", + "format": "double" + }, + "bytes": { + "type": "number", + "format": "double" + } + }, + "required": [ + "date", + "requests", + "bytes" + ], + "type": "object", + "additionalProperties": false + }, + "UsageStatsResponse": { + "properties": { + "billingPeriod": { + "properties": { + "daysTotal": { + "type": "number", + "format": "double" + }, + "daysElapsed": { + "type": "number", + "format": "double" + }, + "end": { + "type": "string" + }, + "start": { + "type": "string" + } + }, + "required": [ + "daysTotal", + "daysElapsed", + "end", + "start" + ], + "type": "object" + }, + "usage": { + "properties": { + "totalGB": { + "type": "number", + "format": "double" + }, + "totalBytes": { + "type": "number", + "format": "double" + }, + "totalRequests": { + "type": "number", + "format": "double" + } + }, + "required": [ + "totalGB", + "totalBytes", + "totalRequests" + ], + "type": "object" + }, + "dailyData": { + "items": { + "$ref": "#/components/schemas/DailyUsageDataPoint" + }, + "type": "array" + }, + "estimatedCost": { + "properties": { + "projectedMonthlyTotalCost": { + "type": "number", + "format": "double" + }, + "projectedMonthlyGBCost": { + "type": "number", + "format": "double" + }, + "projectedMonthlyRequestsCost": { + "type": "number", + "format": "double" + }, + "totalCost": { + "type": "number", + "format": "double" + }, + "gbCost": { + "type": "number", + "format": "double" + }, + "requestsCost": { + "type": "number", + "format": "double" + } + }, + "required": [ + "projectedMonthlyTotalCost", + "projectedMonthlyGBCost", + "projectedMonthlyRequestsCost", + "totalCost", + "gbCost", + "requestsCost" + ], + "type": "object" + } + }, + "required": [ + "billingPeriod", + "usage", + "dailyData", + "estimatedCost" + ], + "type": "object", + "additionalProperties": false + }, + "ResultSuccess__id-string__": { "properties": { "data": { - "$ref": "#/components/schemas/PromptCreateResponse" + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "type": "object" }, "error": { "type": "number", @@ -1189,357 +1357,181 @@ "type": "object", "additionalProperties": false }, - "Result_PromptCreateResponse.string_": { + "Result__id-string_.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_PromptCreateResponse_" + "$ref": "#/components/schemas/ResultSuccess__id-string__" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "Record_string.number_": { - "properties": {}, - "additionalProperties": { - "type": "number", - "format": "double" + "Json": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number", + "format": "double" + }, + { + "type": "boolean" + }, + { + "properties": {}, + "additionalProperties": { + "$ref": "#/components/schemas/Json" + }, + "type": "object" + }, + { + "items": { + "$ref": "#/components/schemas/Json" + }, + "type": "array" + } + ], + "nullable": true + }, + "IntegrationCreateParams": { + "properties": { + "integration_name": { + "type": "string" + }, + "settings": { + "$ref": "#/components/schemas/Json" + }, + "active": { + "type": "boolean" + } }, + "required": [ + "integration_name" + ], "type": "object", - "description": "Construct a type with a set of properties K of type T" + "additionalProperties": false }, - "OpenAIChatRequest": { - "description": "Simplified interface for the OpenAI Chat request format", + "Integration": { "properties": { - "model": { + "integration_name": { "type": "string" }, - "messages": { - "items": { - "properties": { - "tool_calls": { - "items": { - "properties": { - "type": { - "type": "string", - "enum": [ - "function" - ], - "nullable": false - }, - "function": { - "properties": { - "arguments": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "arguments", - "name" - ], - "type": "object" - }, - "id": { - "type": "string" - } - }, - "required": [ - "type", - "function", - "id" - ], - "type": "object" - }, - "type": "array" - }, - "tool_call_id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "content": { - "anyOf": [ - { - "type": "string" - }, - { - "items": { - "properties": { - "image_url": { - "properties": { - "url": { - "type": "string" - } - }, - "required": [ - "url" - ], - "type": "object" - }, - "text": { - "type": "string" - }, - "type": { - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "type": "array" - } - ], - "nullable": true - }, - "role": { - "type": "string" - } - }, - "required": [ - "content", - "role" - ], - "type": "object" + "settings": { + "$ref": "#/components/schemas/Json" + }, + "active": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_Array_Integration__": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/Integration" }, "type": "array" }, - "temperature": { - "type": "number", - "format": "double" - }, - "top_p": { + "error": { "type": "number", - "format": "double" + "enum": [ + null + ], + "nullable": true + } + }, + "required": [ + "data", + "error" + ], + "type": "object", + "additionalProperties": false + }, + "Result_Array_Integration_.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_Array_Integration__" }, - "max_tokens": { - "type": "number", - "format": "double" + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "IntegrationUpdateParams": { + "properties": { + "integration_name": { + "type": "string" }, - "max_completion_tokens": { - "type": "number", - "format": "double" + "settings": { + "$ref": "#/components/schemas/Json" }, - "stream": { + "active": { "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_Integration_": { + "properties": { + "data": { + "$ref": "#/components/schemas/Integration" }, - "stop": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "string" - } - ] + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true + } + }, + "required": [ + "data", + "error" + ], + "type": "object", + "additionalProperties": false + }, + "Result_Integration.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_Integration_" }, - "tools": { + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "ResultSuccess_Array__id-string--name-string___": { + "properties": { + "data": { "items": { "properties": { - "function": { - "properties": { - "strict": { - "type": "boolean" - }, - "parameters": { - "$ref": "#/components/schemas/Record_string.any_" - }, - "description": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "name" - ], - "type": "object" + "name": { + "type": "string" }, - "type": { - "type": "string", - "enum": [ - "function" - ], - "nullable": false + "id": { + "type": "string" } }, "required": [ - "function", - "type" + "name", + "id" ], "type": "object" }, "type": "array" }, - "tool_choice": { - "anyOf": [ - { - "properties": { - "function": { - "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "function" - ], - "nullable": false - } - }, - "required": [ - "name", - "type" - ], - "type": "object" - }, - "type": { - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "type": "string", - "enum": [ - "none", - "auto", - "required" - ] - } - ] - }, - "parallel_tool_calls": { - "type": "boolean" - }, - "reasoning_effort": { - "type": "string", - "enum": [ - "minimal", - "low", - "medium", - "high" - ] - }, - "verbosity": { - "type": "string", - "enum": [ - "low", - "medium", - "high" - ] - }, - "frequency_penalty": { - "type": "number", - "format": "double" - }, - "presence_penalty": { - "type": "number", - "format": "double" - }, - "logit_bias": { - "$ref": "#/components/schemas/Record_string.number_" - }, - "logprobs": { - "type": "boolean" - }, - "top_logprobs": { - "type": "number", - "format": "double" - }, - "n": { - "type": "number", - "format": "double" - }, - "modalities": { - "items": { - "type": "string" - }, - "type": "array" - }, - "prediction": {}, - "audio": {}, - "response_format": { - "properties": { - "json_schema": {}, - "type": { - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "seed": { - "type": "number", - "format": "double" - }, - "service_tier": { - "type": "string" - }, - "store": { - "type": "boolean" - }, - "stream_options": {}, - "metadata": { - "$ref": "#/components/schemas/Record_string.string_" - }, - "user": { - "type": "string" - }, - "function_call": { - "anyOf": [ - { - "type": "string" - }, - { - "properties": { - "name": { - "type": "string" - } - }, - "required": [ - "name" - ], - "type": "object" - } - ] - }, - "functions": { - "items": {}, - "type": "array" - } - }, - "type": "object", - "additionalProperties": false - }, - "ResultSuccess__id-string__": { - "properties": { - "data": { - "properties": { - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "type": "object" - }, "error": { "type": "number", "enum": [ @@ -1555,21 +1547,20 @@ "type": "object", "additionalProperties": false }, - "Result__id-string_.string_": { + "Result_Array__id-string--name-string__.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess__id-string__" + "$ref": "#/components/schemas/ResultSuccess_Array__id-string--name-string___" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "ResultSuccess_number_": { + "ResultSuccess_string_": { "properties": { "data": { - "type": "number", - "format": "double" + "type": "string" }, "error": { "type": "number", @@ -1586,23 +1577,37 @@ "type": "object", "additionalProperties": false }, - "Result_number.string_": { + "Result_string.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_number_" + "$ref": "#/components/schemas/ResultSuccess_string_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "ResultSuccess_Prompt2025-Array_": { + "TestStripeMeterEventRequest": { + "properties": { + "event_name": { + "type": "string" + }, + "customer_id": { + "type": "string" + } + }, + "required": [ + "event_name", + "customer_id" + ], + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_number_": { "properties": { "data": { - "items": { - "$ref": "#/components/schemas/Prompt2025" - }, - "type": "array" + "type": "number", + "format": "double" }, "error": { "type": "number", @@ -1619,567 +1624,425 @@ "type": "object", "additionalProperties": false }, - "Result_Prompt2025-Array.string_": { + "Result_number.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_Prompt2025-Array_" + "$ref": "#/components/schemas/ResultSuccess_number_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "Record_string.unknown_": { - "properties": {}, - "additionalProperties": {}, + "Partial_TextOperators_": { + "properties": { + "not-equals": { + "type": "string" + }, + "equals": { + "type": "string" + }, + "like": { + "type": "string" + }, + "ilike": { + "type": "string" + }, + "contains": { + "type": "string" + }, + "not-contains": { + "type": "string" + } + }, "type": "object", - "description": "Construct a type with a set of properties K of type T" + "description": "Make all properties in T optional" }, - "Prompt2025VersionPromptBody": { + "Partial_NumberOperators_": { "properties": { - "model": { + "not-equals": { + "type": "number", + "format": "double" + }, + "equals": { + "type": "number", + "format": "double" + }, + "gte": { + "type": "number", + "format": "double" + }, + "lte": { + "type": "number", + "format": "double" + }, + "lt": { + "type": "number", + "format": "double" + }, + "gt": { + "type": "number", + "format": "double" + } + }, + "type": "object", + "description": "Make all properties in T optional" + }, + "Partial_TimestampOperators_": { + "properties": { + "equals": { "type": "string" }, - "messages": { - "items": { - "properties": { - "tool_calls": { - "items": { - "properties": { - "type": { - "type": "string", - "enum": [ - "function" - ], - "nullable": false - }, - "function": { - "properties": { - "arguments": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "arguments", - "name" - ], - "type": "object" - }, - "id": { - "type": "string" - } - }, - "required": [ - "type", - "function", - "id" - ], - "type": "object" - }, - "type": "array" - }, - "tool_call_id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "content": { - "anyOf": [ - { - "type": "string" - }, - { - "items": { - "properties": { - "image_url": { - "properties": { - "url": { - "type": "string" - } - }, - "required": [ - "url" - ], - "type": "object" - }, - "text": { - "type": "string" - }, - "type": { - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "type": "array" - } - ], - "nullable": true - }, - "role": { - "type": "string" - } - }, - "required": [ - "content", - "role" - ], - "type": "object" - }, - "type": "array" + "gte": { + "type": "string" }, - "temperature": { - "type": "number", - "format": "double" + "lte": { + "type": "string" }, - "top_p": { - "type": "number", - "format": "double" + "lt": { + "type": "string" }, - "max_tokens": { - "type": "number", - "format": "double" + "gt": { + "type": "string" + } + }, + "type": "object", + "description": "Make all properties in T optional" + }, + "Partial_BooleanOperators_": { + "properties": { + "equals": { + "type": "boolean" + } + }, + "type": "object", + "description": "Make all properties in T optional" + }, + "Partial_FeedbackTableToOperators_": { + "properties": { + "id": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - "tools": { - "items": { - "properties": { - "function": { - "properties": { - "parameters": { - "$ref": "#/components/schemas/Record_string.unknown_" - }, - "description": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "parameters", - "description", - "name" - ], - "type": "object" - }, - "type": { - "type": "string", - "enum": [ - "function" - ], - "nullable": false - } - }, - "required": [ - "function", - "type" - ], - "type": "object" - }, - "type": "array" + "created_at": { + "$ref": "#/components/schemas/Partial_TimestampOperators_" }, - "tool_choice": { - "anyOf": [ - { - "type": "string" - }, - { - "properties": { - "function": { - "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "function" - ], - "nullable": false - } - }, - "required": [ - "name", - "type" - ], - "type": "object" - }, - "type": { - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - } - ] + "rating": { + "$ref": "#/components/schemas/Partial_BooleanOperators_" + }, + "response_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" } }, "type": "object", - "additionalProperties": {} + "description": "Make all properties in T optional" }, - "Prompt2025Version": { + "Partial_RequestTableToOperators_": { "properties": { - "id": { - "type": "string" + "prompt": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "model": { - "type": "string" + "created_at": { + "$ref": "#/components/schemas/Partial_TimestampOperators_" }, - "prompt_id": { - "type": "string" + "user_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "major_version": { - "type": "number", - "format": "double" + "auth_hash": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "minor_version": { - "type": "number", - "format": "double" + "org_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "commit_message": { - "type": "string" + "id": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "environments": { - "items": { - "type": "string" - }, - "type": "array" + "node_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "created_at": { - "type": "string" + "model": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "s3_url": { - "type": "string" + "modelOverride": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "prompt_body": { - "$ref": "#/components/schemas/Prompt2025VersionPromptBody", - "description": "The full prompt body including messages. Only included when explicitly requested\nvia the `includePromptBody` parameter to avoid unnecessary data transfer." + "path": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "country_code": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "prompt_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" } }, - "required": [ - "id", - "model", - "prompt_id", - "major_version", - "minor_version", - "commit_message", - "created_at" - ], "type": "object", - "additionalProperties": false + "description": "Make all properties in T optional" }, - "ResultSuccess_Prompt2025Version_": { + "Partial_ResponseTableToOperators_": { "properties": { - "data": { - "$ref": "#/components/schemas/Prompt2025Version" + "body_tokens": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_Prompt2025Version.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_Prompt2025Version_" + "body_model": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess_Prompt2025Version-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/Prompt2025Version" - }, - "type": "array" + "body_completion": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true + "status": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "model": { + "$ref": "#/components/schemas/Partial_TextOperators_" } }, - "required": [ - "data", - "error" - ], "type": "object", - "additionalProperties": false - }, - "Result_Prompt2025Version-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_Prompt2025Version-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] + "description": "Make all properties in T optional" }, - "PromptVersionCounts": { + "Partial_TimestampOperatorsTyped_": { "properties": { - "totalVersions": { - "type": "number", - "format": "double" + "equals": { + "type": "string", + "format": "date-time" }, - "majorVersions": { - "type": "number", - "format": "double" + "gte": { + "type": "string", + "format": "date-time" + }, + "lte": { + "type": "string", + "format": "date-time" + }, + "lt": { + "type": "string", + "format": "date-time" + }, + "gt": { + "type": "string", + "format": "date-time" } }, - "required": [ - "totalVersions", - "majorVersions" - ], "type": "object", - "additionalProperties": false + "description": "Make all properties in T optional" }, - "ResultSuccess_PromptVersionCounts_": { + "Partial_RequestResponseRMTToOperators_": { "properties": { - "data": { - "$ref": "#/components/schemas/PromptVersionCounts" + "country_code": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_PromptVersionCounts.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_PromptVersionCounts_" + "latency": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess_Prompt2025Version_91_prompt_body_93__": { - "properties": { - "data": { - "$ref": "#/components/schemas/Prompt2025VersionPromptBody" + "cost": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_Prompt2025Version_91_prompt_body_93_.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_Prompt2025Version_91_prompt_body_93__" + "provider": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess__hasPrompts-boolean__": { - "properties": { - "data": { - "properties": { - "hasPrompts": { - "type": "boolean" - } - }, - "required": [ - "hasPrompts" - ], - "type": "object" + "time_to_first_token": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result__hasPrompts-boolean_.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__hasPrompts-boolean__" + "status": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "PromptsResult": { - "properties": { - "id": { - "type": "string" + "request_created_at": { + "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" }, - "user_defined_id": { - "type": "string" + "response_created_at": { + "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" }, - "description": { - "type": "string" + "model": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "pretty_name": { - "type": "string" + "user_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "created_at": { - "type": "string" + "organization_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "major_version": { - "type": "number", - "format": "double" + "node_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "metadata": { - "$ref": "#/components/schemas/Record_string.any_" - } - }, - "required": [ - "id", - "user_defined_id", - "description", - "pretty_name", - "created_at", - "major_version" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_PromptsResult-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/PromptsResult" - }, - "type": "array" + "job_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "error": { - "type": "number", - "enum": [ - null + "threat": { + "$ref": "#/components/schemas/Partial_BooleanOperators_" + }, + "request_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "prompt_tokens": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "completion_tokens": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "prompt_cache_read_tokens": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "prompt_cache_write_tokens": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "total_tokens": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "target_url": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "property_key": { + "properties": { + "equals": { + "type": "string" + } + }, + "required": [ + "equals" ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_PromptsResult-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_PromptsResult-Array_" + "type": "object" }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "Partial_TextOperators_": { - "properties": { - "not-equals": { - "type": "string" + "properties": { + "properties": {}, + "additionalProperties": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "type": "object" }, - "equals": { - "type": "string" + "search_properties": { + "properties": {}, + "additionalProperties": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "type": "object" }, - "like": { - "type": "string" + "scores": { + "properties": {}, + "additionalProperties": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "type": "object" }, - "ilike": { - "type": "string" + "scores_column": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "contains": { - "type": "string" + "request_body": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "not-contains": { - "type": "string" + "response_body": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "cache_enabled": { + "$ref": "#/components/schemas/Partial_BooleanOperators_" + }, + "cache_reference_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "cached": { + "$ref": "#/components/schemas/Partial_BooleanOperators_" + }, + "assets": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "helicone-score-feedback": { + "$ref": "#/components/schemas/Partial_BooleanOperators_" + }, + "prompt_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "prompt_version": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "request_referrer": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "is_passthrough_billing": { + "$ref": "#/components/schemas/Partial_BooleanOperators_" } }, "type": "object", "description": "Make all properties in T optional" }, - "Partial_PromptToOperators_": { + "Partial_SessionsRequestResponseRMTToOperators_": { "properties": { - "id": { + "session_session_id": { "$ref": "#/components/schemas/Partial_TextOperators_" }, - "user_defined_id": { + "session_session_name": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "session_total_cost": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "session_total_tokens": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "session_prompt_tokens": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "session_completion_tokens": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "session_total_requests": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "session_created_at": { + "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" + }, + "session_latest_request_created_at": { + "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" + }, + "session_tag": { "$ref": "#/components/schemas/Partial_TextOperators_" } }, "type": "object", "description": "Make all properties in T optional" }, - "Pick_FilterLeaf.prompt_v2_": { + "Pick_FilterLeaf.feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_": { "properties": { - "prompt_v2": { - "$ref": "#/components/schemas/Partial_PromptToOperators_" + "values": { + "properties": {}, + "additionalProperties": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "type": "object" + }, + "feedback": { + "$ref": "#/components/schemas/Partial_FeedbackTableToOperators_" + }, + "request": { + "$ref": "#/components/schemas/Partial_RequestTableToOperators_" + }, + "response": { + "$ref": "#/components/schemas/Partial_ResponseTableToOperators_" + }, + "properties": { + "properties": {}, + "additionalProperties": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "type": "object" + }, + "request_response_rmt": { + "$ref": "#/components/schemas/Partial_RequestResponseRMTToOperators_" + }, + "sessions_request_response_rmt": { + "$ref": "#/components/schemas/Partial_SessionsRequestResponseRMTToOperators_" } }, "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" }, - "FilterLeafSubset_prompt_v2_": { - "$ref": "#/components/schemas/Pick_FilterLeaf.prompt_v2_" + "FilterLeafSubset_feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_": { + "$ref": "#/components/schemas/Pick_FilterLeaf.feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_" }, - "PromptsFilterNode": { + "RequestFilterNode": { "anyOf": [ { - "$ref": "#/components/schemas/FilterLeafSubset_prompt_v2_" + "$ref": "#/components/schemas/FilterLeafSubset_feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_" }, { - "$ref": "#/components/schemas/PromptsFilterBranch" + "$ref": "#/components/schemas/RequestFilterBranch" }, { "type": "string", @@ -2189,10 +2052,10 @@ } ] }, - "PromptsFilterBranch": { + "RequestFilterBranch": { "properties": { "right": { - "$ref": "#/components/schemas/PromptsFilterNode" + "$ref": "#/components/schemas/RequestFilterNode" }, "operator": { "type": "string", @@ -2202,7 +2065,7 @@ ] }, "left": { - "$ref": "#/components/schemas/PromptsFilterNode" + "$ref": "#/components/schemas/RequestFilterNode" } }, "required": [ @@ -2212,1133 +2075,1208 @@ ], "type": "object" }, - "PromptsQueryParams": { - "properties": { - "filter": { - "$ref": "#/components/schemas/PromptsFilterNode" - } - }, - "required": [ - "filter" - ], - "type": "object", - "additionalProperties": false + "SortDirection": { + "type": "string", + "enum": [ + "asc", + "desc" + ] }, - "PromptResult": { + "SortLeafRequest": { "properties": { - "id": { - "type": "string" - }, - "user_defined_id": { - "type": "string" + "random": { + "type": "boolean", + "enum": [ + true + ], + "nullable": false }, - "description": { - "type": "string" + "created_at": { + "$ref": "#/components/schemas/SortDirection" }, - "pretty_name": { - "type": "string" + "cache_created_at": { + "$ref": "#/components/schemas/SortDirection" }, - "major_version": { - "type": "number", - "format": "double" + "latency": { + "$ref": "#/components/schemas/SortDirection" }, - "latest_version_id": { - "type": "string" + "last_active": { + "$ref": "#/components/schemas/SortDirection" }, - "latest_model_used": { - "type": "string" + "total_tokens": { + "$ref": "#/components/schemas/SortDirection" }, - "created_at": { - "type": "string" + "completion_tokens": { + "$ref": "#/components/schemas/SortDirection" }, - "last_used": { - "type": "string" + "prompt_tokens": { + "$ref": "#/components/schemas/SortDirection" }, - "versions": { - "items": { - "type": "string" + "user_id": { + "$ref": "#/components/schemas/SortDirection" + }, + "body_model": { + "$ref": "#/components/schemas/SortDirection" + }, + "is_cached": { + "$ref": "#/components/schemas/SortDirection" + }, + "request_prompt": { + "$ref": "#/components/schemas/SortDirection" + }, + "response_text": { + "$ref": "#/components/schemas/SortDirection" + }, + "properties": { + "properties": {}, + "additionalProperties": { + "$ref": "#/components/schemas/SortDirection" }, - "type": "array" + "type": "object" }, - "metadata": { - "$ref": "#/components/schemas/Record_string.any_" + "values": { + "properties": {}, + "additionalProperties": { + "$ref": "#/components/schemas/SortDirection" + }, + "type": "object" + }, + "cost": { + "$ref": "#/components/schemas/SortDirection" + }, + "time_to_first_token": { + "$ref": "#/components/schemas/SortDirection" } }, - "required": [ - "id", - "user_defined_id", - "description", - "pretty_name", - "major_version", - "latest_version_id", - "latest_model_used", - "created_at", - "last_used", - "versions" - ], "type": "object", "additionalProperties": false }, - "ResultSuccess_PromptResult_": { + "RequestQueryParams": { "properties": { - "data": { - "$ref": "#/components/schemas/PromptResult" + "filter": { + "$ref": "#/components/schemas/RequestFilterNode" }, - "error": { + "offset": { "type": "number", - "enum": [ - null - ], - "nullable": true + "format": "double" + }, + "limit": { + "type": "number", + "format": "double" + }, + "sort": { + "$ref": "#/components/schemas/SortLeafRequest" + }, + "isCached": { + "type": "boolean" + }, + "includeInputs": { + "type": "boolean" + }, + "isPartOfExperiment": { + "type": "boolean" + }, + "isScored": { + "type": "boolean" } }, "required": [ - "data", - "error" + "filter" ], "type": "object", "additionalProperties": false }, - "Result_PromptResult.string_": { + "ProviderName": { + "type": "string", + "enum": [ + "OPENAI", + "ANTHROPIC", + "AZURE", + "LOCAL", + "HELICONE", + "AMDBARTEK", + "ANYSCALE", + "CLOUDFLARE", + "2YFV", + "TOGETHER", + "LEMONFOX", + "FIREWORKS", + "PERPLEXITY", + "GOOGLE", + "OPENROUTER", + "WISDOMINANUTSHELL", + "GROQ", + "COHERE", + "MISTRAL", + "DEEPINFRA", + "QSTASH", + "FIRECRAWL", + "AWS", + "BEDROCK", + "DEEPSEEK", + "X", + "AVIAN", + "NEBIUS", + "NOVITA", + "OPENPIPE", + "CHUTES", + "LLAMA", + "NVIDIA", + "VERCEL", + "CEREBRAS", + "BASETEN", + "CANOPYWAVE" + ] + }, + "ModelProviderName": { + "type": "string", + "enum": [ + "baseten", + "anthropic", + "azure", + "bedrock", + "canopywave", + "cerebras", + "chutes", + "deepinfra", + "deepseek", + "fireworks", + "google-ai-studio", + "groq", + "helicone", + "mistral", + "nebius", + "novita", + "openai", + "openrouter", + "perplexity", + "vertex", + "xai" + ], + "nullable": false + }, + "Provider": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_PromptResult_" + "$ref": "#/components/schemas/ProviderName" }, { - "$ref": "#/components/schemas/ResultError_string_" + "$ref": "#/components/schemas/ModelProviderName" + }, + { + "type": "string", + "enum": [ + "CUSTOM" + ] } ] }, - "PromptQueryParams": { - "properties": { - "timeFilter": { - "properties": { - "end": { - "type": "string" - }, - "start": { - "type": "string" - } - }, - "required": [ - "end", - "start" - ], - "type": "object" - } - }, - "required": [ - "timeFilter" - ], - "type": "object", - "additionalProperties": false + "LlmType": { + "type": "string", + "enum": [ + "chat", + "completion" + ] }, - "CreatePromptResponse": { + "FunctionCall": { "properties": { "id": { "type": "string" }, - "prompt_version_id": { + "name": { "type": "string" + }, + "arguments": { + "$ref": "#/components/schemas/Record_string.any_" } }, "required": [ - "id", - "prompt_version_id" + "name", + "arguments" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_CreatePromptResponse_": { + "Message": { "properties": { - "data": { - "$ref": "#/components/schemas/CreatePromptResponse" + "ending_event_id": { + "type": "string" }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_CreatePromptResponse.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_CreatePromptResponse_" + "trigger_event_id": { + "type": "string" }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess__metadata-Record_string.any___": { - "properties": { - "data": { - "properties": { - "metadata": { - "$ref": "#/components/schemas/Record_string.any_" - } - }, - "required": [ - "metadata" - ], - "type": "object" + "start_timestamp": { + "type": "string" }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result__metadata-Record_string.any__.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__metadata-Record_string.any___" + "annotations": { + "items": { + "properties": { + "content": { + "type": "string" + }, + "title": { + "type": "string" + }, + "url": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "url_citation" + ], + "nullable": false + } + }, + "required": [ + "title", + "url", + "type" + ], + "type": "object" + }, + "type": "array" }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "PromptEditSubversionLabelParams": { - "properties": { - "label": { - "type": "string" - } - }, - "required": [ - "label" - ], - "type": "object", - "additionalProperties": false - }, - "PromptEditSubversionTemplateParams": { - "properties": { - "heliconeTemplate": {}, - "experimentId": { - "type": "string" - } - }, - "required": [ - "heliconeTemplate" - ], - "type": "object", - "additionalProperties": false - }, - "PromptVersionResult": { - "properties": { - "id": { + "reasoning": { "type": "string" }, - "minor_version": { - "type": "number", - "format": "double" + "deleted": { + "type": "boolean" }, - "major_version": { + "contentArray": { + "items": { + "$ref": "#/components/schemas/Message" + }, + "type": "array" + }, + "idx": { "type": "number", "format": "double" }, - "prompt_v2": { + "detail": { "type": "string" }, - "model": { + "filename": { "type": "string" }, - "helicone_template": { + "file_id": { "type": "string" }, - "created_at": { + "file_data": { "type": "string" }, - "metadata": { - "$ref": "#/components/schemas/Record_string.any_" - }, - "parent_prompt_version": { + "type": { "type": "string", - "nullable": true + "enum": [ + "input_image", + "input_text", + "input_file" + ] }, - "experiment_id": { - "type": "string", - "nullable": true + "audio_data": { + "type": "string" }, - "updated_at": { + "image_url": { + "type": "string" + }, + "timestamp": { + "type": "string" + }, + "tool_call_id": { + "type": "string" + }, + "tool_calls": { + "items": { + "$ref": "#/components/schemas/FunctionCall" + }, + "type": "array" + }, + "mime_type": { + "type": "string" + }, + "content": { + "type": "string" + }, + "name": { + "type": "string" + }, + "instruction": { + "type": "string" + }, + "role": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "string", + "enum": [ + "user", + "assistant", + "system", + "developer" + ] + } + ] + }, + "id": { "type": "string" + }, + "_type": { + "type": "string", + "enum": [ + "functionCall", + "function", + "image", + "file", + "message", + "autoInput", + "contentArray", + "audio" + ] } }, "required": [ - "id", - "minor_version", - "major_version", - "prompt_v2", - "model", - "helicone_template", - "created_at", - "metadata" + "_type" ], - "type": "object", - "additionalProperties": false + "type": "object" }, - "ResultSuccess_PromptVersionResult_": { + "Tool": { "properties": { - "data": { - "$ref": "#/components/schemas/PromptVersionResult" + "name": { + "type": "string" }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true + "description": { + "type": "string" + }, + "parameters": { + "$ref": "#/components/schemas/Record_string.any_" + }, + "strict": { + "type": "boolean" } }, "required": [ - "data", - "error" + "name" ], "type": "object", "additionalProperties": false }, - "Result_PromptVersionResult.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_PromptVersionResult_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "PromptCreateSubversionParams": { + "HeliconeEventTool": { "properties": { - "newHeliconeTemplate": {}, - "isMajorVersion": { - "type": "boolean" - }, - "metadata": { - "$ref": "#/components/schemas/Record_string.any_" + "_type": { + "type": "string", + "enum": [ + "tool" + ], + "nullable": false }, - "experimentId": { + "toolName": { "type": "string" }, - "bumpForMajorPromptVersionId": { - "type": "string" - } + "input": {} }, "required": [ - "newHeliconeTemplate" + "_type", + "toolName", + "input" ], "type": "object", - "additionalProperties": false + "additionalProperties": {} }, - "PromptInputRecord": { + "HeliconeEventVectorDB": { "properties": { - "id": { - "type": "string" - }, - "inputs": { - "$ref": "#/components/schemas/Record_string.string_" + "_type": { + "type": "string", + "enum": [ + "vector_db" + ], + "nullable": false }, - "dataset_row_id": { - "type": "string" + "operation": { + "type": "string", + "enum": [ + "search", + "insert", + "delete", + "update" + ] }, - "source_request": { + "text": { "type": "string" }, - "prompt_version": { - "type": "string" + "vector": { + "items": { + "type": "number", + "format": "double" + }, + "type": "array" }, - "created_at": { - "type": "string" + "topK": { + "type": "number", + "format": "double" }, - "response_body": { - "type": "string" + "filter": { + "additionalProperties": false, + "type": "object" }, - "request_body": { + "databaseName": { "type": "string" - }, - "auto_prompt_inputs": { - "items": {}, - "type": "array" } }, "required": [ - "id", - "inputs", - "source_request", - "prompt_version", - "created_at", - "auto_prompt_inputs" + "_type", + "operation" ], "type": "object", - "additionalProperties": false + "additionalProperties": {} }, - "ResultSuccess_PromptInputRecord-Array_": { + "HeliconeEventData": { "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/PromptInputRecord" - }, - "type": "array" - }, - "error": { - "type": "number", + "_type": { + "type": "string", "enum": [ - null + "data" ], - "nullable": true + "nullable": false + }, + "name": { + "type": "string" + }, + "meta": { + "$ref": "#/components/schemas/Record_string.any_" } }, "required": [ - "data", - "error" + "_type", + "name" ], "type": "object", - "additionalProperties": false - }, - "Result_PromptInputRecord-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_PromptInputRecord-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] + "additionalProperties": {} }, - "ResultSuccess__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array_": { + "LLMRequestBody": { "properties": { - "data": { + "llm_type": { + "$ref": "#/components/schemas/LlmType" + }, + "provider": { + "type": "string" + }, + "model": { + "type": "string" + }, + "messages": { "items": { - "properties": { - "meta": { - "$ref": "#/components/schemas/Record_string.any_" - }, - "dataset": { - "type": "string" - }, - "num_hypotheses": { - "type": "number", - "format": "double" - }, - "created_at": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "meta", - "dataset", - "num_hypotheses", - "created_at", - "id" - ], - "type": "object" + "$ref": "#/components/schemas/Message" }, - "type": "array" + "type": "array", + "nullable": true }, - "error": { - "type": "number", - "enum": [ - null - ], + "prompt": { + "type": "string", "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array_" }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess_PromptVersionResult-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/PromptVersionResult" - }, - "type": "array" + "instructions": { + "type": "string", + "nullable": true }, - "error": { + "max_tokens": { "type": "number", - "enum": [ - null - ], + "format": "double", "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_PromptVersionResult-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_PromptVersionResult-Array_" }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "Partial_NumberOperators_": { - "properties": { - "not-equals": { + "temperature": { "type": "number", - "format": "double" + "format": "double", + "nullable": true }, - "equals": { + "top_p": { "type": "number", - "format": "double" + "format": "double", + "nullable": true }, - "gte": { + "seed": { "type": "number", - "format": "double" + "format": "double", + "nullable": true }, - "lte": { - "type": "number", - "format": "double" + "stream": { + "type": "boolean", + "nullable": true }, - "lt": { + "presence_penalty": { "type": "number", - "format": "double" + "format": "double", + "nullable": true }, - "gt": { + "frequency_penalty": { "type": "number", - "format": "double" - } - }, - "type": "object", - "description": "Make all properties in T optional" - }, - "Partial_PromptVersionsToOperators_": { - "properties": { - "minor_version": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "format": "double", + "nullable": true }, - "major_version": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "stop": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "string" + } + ], + "nullable": true }, - "id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "reasoning_effort": { + "type": "string", + "enum": [ + "minimal", + "low", + "medium", + "high", + null + ], + "nullable": true }, - "prompt_v2": { - "$ref": "#/components/schemas/Partial_TextOperators_" - } - }, - "type": "object", - "description": "Make all properties in T optional" - }, - "Pick_FilterLeaf.prompts_versions_": { - "properties": { - "prompts_versions": { - "$ref": "#/components/schemas/Partial_PromptVersionsToOperators_" - } - }, - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "FilterLeafSubset_prompts_versions_": { - "$ref": "#/components/schemas/Pick_FilterLeaf.prompts_versions_" - }, - "PromptVersionsFilterNode": { - "anyOf": [ - { - "$ref": "#/components/schemas/FilterLeafSubset_prompts_versions_" - }, - { - "$ref": "#/components/schemas/PromptVersionsFilterBranch" - }, - { + "verbosity": { "type": "string", "enum": [ - "all" - ] - } - ] - }, - "PromptVersionsFilterBranch": { - "properties": { - "right": { - "$ref": "#/components/schemas/PromptVersionsFilterNode" + "low", + "medium", + "high", + null + ], + "nullable": true }, - "operator": { - "type": "string", - "enum": [ - "or", - "and" - ] + "tools": { + "items": { + "$ref": "#/components/schemas/Tool" + }, + "type": "array" }, - "left": { - "$ref": "#/components/schemas/PromptVersionsFilterNode" - } - }, - "required": [ - "right", - "operator", - "left" - ], - "type": "object" - }, - "PromptVersionsQueryParams": { - "properties": { - "filter": { - "$ref": "#/components/schemas/PromptVersionsFilterNode" + "parallel_tool_calls": { + "type": "boolean", + "nullable": true }, - "includeExperimentVersions": { - "type": "boolean" - } - }, - "type": "object", - "additionalProperties": false - }, - "PromptVersionResultCompiled": { - "properties": { - "id": { - "type": "string" + "tool_choice": { + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "none", + "auto", + "any", + "tool" + ] + } + }, + "required": [ + "type" + ], + "type": "object" }, - "minor_version": { - "type": "number", - "format": "double" + "response_format": { + "properties": { + "json_schema": {}, + "type": { + "type": "string" + } + }, + "required": [ + "type" + ], + "type": "object" }, - "major_version": { - "type": "number", - "format": "double" + "toolDetails": { + "$ref": "#/components/schemas/HeliconeEventTool" }, - "prompt_v2": { - "type": "string" + "vectorDBDetails": { + "$ref": "#/components/schemas/HeliconeEventVectorDB" }, - "model": { - "type": "string" + "dataDetails": { + "$ref": "#/components/schemas/HeliconeEventData" }, - "prompt_compiled": {} - }, - "required": [ - "id", - "minor_version", - "major_version", - "prompt_v2", - "model", - "prompt_compiled" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_PromptVersionResultCompiled_": { - "properties": { - "data": { - "$ref": "#/components/schemas/PromptVersionResultCompiled" + "input": { + "anyOf": [ + { + "type": "string" + }, + { + "items": { + "type": "string" + }, + "type": "array" + } + ] }, - "error": { + "n": { "type": "number", - "enum": [ - null - ], + "format": "double", "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_PromptVersionResultCompiled.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_PromptVersionResultCompiled_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "PromptVersiosQueryParamsCompiled": { - "properties": { - "filter": { - "$ref": "#/components/schemas/PromptVersionsFilterNode" }, - "includeExperimentVersions": { - "type": "boolean" + "size": { + "type": "string" }, - "inputs": { - "$ref": "#/components/schemas/Record_string.string_" + "quality": { + "type": "string" } }, - "required": [ - "inputs" - ], "type": "object", "additionalProperties": false }, - "PromptVersionResultFilled": { + "Response": { "properties": { - "id": { + "contentArray": { + "items": { + "$ref": "#/components/schemas/Response" + }, + "type": "array" + }, + "detail": { "type": "string" }, - "minor_version": { - "type": "number", - "format": "double" + "filename": { + "type": "string" }, - "major_version": { + "file_id": { + "type": "string" + }, + "file_data": { + "type": "string" + }, + "idx": { "type": "number", "format": "double" }, - "prompt_v2": { + "audio_data": { "type": "string" }, - "model": { + "image_url": { "type": "string" }, - "filled_helicone_template": {} - }, - "required": [ - "id", - "minor_version", - "major_version", - "prompt_v2", - "model", - "filled_helicone_template" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_PromptVersionResultFilled_": { - "properties": { - "data": { - "$ref": "#/components/schemas/PromptVersionResultFilled" + "timestamp": { + "type": "string" }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_PromptVersionResultFilled.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_PromptVersionResultFilled_" + "tool_call_id": { + "type": "string" }, - { - "$ref": "#/components/schemas/ResultError_string_" + "tool_calls": { + "items": { + "$ref": "#/components/schemas/FunctionCall" + }, + "type": "array" + }, + "text": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "input_image", + "input_text", + "input_file" + ] + }, + "name": { + "type": "string" + }, + "role": { + "type": "string", + "enum": [ + "user", + "assistant", + "system", + "developer" + ] + }, + "id": { + "type": "string" + }, + "_type": { + "type": "string", + "enum": [ + "functionCall", + "function", + "image", + "text", + "file", + "contentArray" + ] } - ] + }, + "required": [ + "type", + "role", + "_type" + ], + "type": "object" }, - "ResultSuccess__experimentId-string__": { + "LLMResponseBody": { "properties": { - "data": { + "dataDetailsResponse": { "properties": { - "experimentId": { + "name": { + "type": "string" + }, + "_type": { + "type": "string", + "enum": [ + "data" + ], + "nullable": false + }, + "metadata": { + "properties": { + "timestamp": { + "type": "string" + } + }, + "additionalProperties": {}, + "required": [ + "timestamp" + ], + "type": "object" + }, + "message": { + "type": "string" + }, + "status": { "type": "string" } }, + "additionalProperties": {}, "required": [ - "experimentId" + "name", + "_type", + "metadata", + "message", + "status" ], "type": "object" }, - "error": { - "type": "number", - "enum": [ - null + "vectorDBDetailsResponse": { + "properties": { + "_type": { + "type": "string", + "enum": [ + "vector_db" + ], + "nullable": false + }, + "metadata": { + "properties": { + "timestamp": { + "type": "string" + }, + "destination_parsed": { + "type": "boolean" + }, + "destination": { + "type": "string" + } + }, + "required": [ + "timestamp" + ], + "type": "object" + }, + "actualSimilarity": { + "type": "number", + "format": "double" + }, + "similarityThreshold": { + "type": "number", + "format": "double" + }, + "message": { + "type": "string" + }, + "status": { + "type": "string" + } + }, + "required": [ + "_type", + "metadata", + "message", + "status" ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result__experimentId-string_.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__experimentId-string__" + "type": "object" }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ExperimentV2": { - "properties": { - "id": { - "type": "string" + "toolDetailsResponse": { + "properties": { + "toolName": { + "type": "string" + }, + "_type": { + "type": "string", + "enum": [ + "tool" + ], + "nullable": false + }, + "metadata": { + "properties": { + "timestamp": { + "type": "string" + } + }, + "required": [ + "timestamp" + ], + "type": "object" + }, + "tips": { + "items": { + "type": "string" + }, + "type": "array" + }, + "message": { + "type": "string" + }, + "status": { + "type": "string" + } + }, + "required": [ + "toolName", + "_type", + "metadata", + "tips", + "message", + "status" + ], + "type": "object" }, - "name": { - "type": "string" + "error": { + "properties": { + "heliconeMessage": {} + }, + "required": [ + "heliconeMessage" + ], + "type": "object" }, - "original_prompt_version": { - "type": "string" + "model": { + "type": "string", + "nullable": true }, - "copied_original_prompt_version": { + "instructions": { "type": "string", "nullable": true }, - "input_keys": { + "responses": { "items": { - "type": "string" + "$ref": "#/components/schemas/Response" }, "type": "array", "nullable": true }, - "created_at": { - "type": "string" + "messages": { + "items": { + "$ref": "#/components/schemas/Message" + }, + "type": "array", + "nullable": true } }, - "required": [ - "id", - "name", - "original_prompt_version", - "copied_original_prompt_version", - "input_keys", - "created_at" - ], - "type": "object", - "additionalProperties": false + "type": "object" }, - "ResultSuccess_ExperimentV2-Array_": { + "LlmSchema": { "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/ExperimentV2" - }, - "type": "array" + "request": { + "$ref": "#/components/schemas/LLMRequestBody" }, - "error": { - "type": "number", - "enum": [ - null + "response": { + "allOf": [ + { + "$ref": "#/components/schemas/LLMResponseBody" + } ], "nullable": true } }, "required": [ - "data", - "error" + "request" ], "type": "object", "additionalProperties": false }, - "Result_ExperimentV2-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_ExperimentV2-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] + "Record_string.number_": { + "properties": {}, + "additionalProperties": { + "type": "number", + "format": "double" + }, + "type": "object", + "description": "Construct a type with a set of properties K of type T" }, - "ExperimentV2Output": { + "HeliconeRequest": { "properties": { - "id": { - "type": "string" + "response_id": { + "type": "string", + "nullable": true }, - "request_id": { - "type": "string" + "response_created_at": { + "type": "string", + "nullable": true }, - "is_original": { - "type": "boolean" + "response_body": {}, + "response_status": { + "type": "number", + "format": "double" }, - "prompt_version_id": { - "type": "string" + "response_model": { + "type": "string", + "nullable": true }, - "created_at": { + "request_id": { "type": "string" }, - "input_record_id": { - "type": "string" - } - }, - "required": [ - "id", - "request_id", - "is_original", - "prompt_version_id", - "created_at", - "input_record_id" - ], - "type": "object", - "additionalProperties": false - }, - "ExperimentV2Row": { - "properties": { - "id": { + "request_created_at": { "type": "string" }, - "inputs": { - "$ref": "#/components/schemas/Record_string.string_" - }, - "prompt_version": { + "request_body": {}, + "request_path": { "type": "string" }, - "requests": { - "items": { - "$ref": "#/components/schemas/ExperimentV2Output" - }, - "type": "array" + "request_user_id": { + "type": "string", + "nullable": true }, - "auto_prompt_inputs": { - "items": {}, - "type": "array" - } - }, - "required": [ - "id", - "inputs", - "prompt_version", - "requests", - "auto_prompt_inputs" - ], - "type": "object", - "additionalProperties": false - }, - "ExtendedExperimentData": { - "properties": { - "id": { - "type": "string" + "request_properties": { + "allOf": [ + { + "$ref": "#/components/schemas/Record_string.string_" + } + ], + "nullable": true }, - "name": { - "type": "string" + "request_model": { + "type": "string", + "nullable": true }, - "original_prompt_version": { - "type": "string" + "model_override": { + "type": "string", + "nullable": true }, - "copied_original_prompt_version": { + "helicone_user": { "type": "string", "nullable": true }, - "input_keys": { - "items": { - "type": "string" - }, - "type": "array", + "provider": { + "$ref": "#/components/schemas/Provider" + }, + "delay_ms": { + "type": "number", + "format": "double", "nullable": true }, - "created_at": { - "type": "string" + "time_to_first_token": { + "type": "number", + "format": "double", + "nullable": true }, - "rows": { - "items": { - "$ref": "#/components/schemas/ExperimentV2Row" - }, - "type": "array" - } - }, - "required": [ - "id", - "name", - "original_prompt_version", - "copied_original_prompt_version", - "input_keys", - "created_at", - "rows" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_ExtendedExperimentData_": { - "properties": { - "data": { - "$ref": "#/components/schemas/ExtendedExperimentData" + "total_tokens": { + "type": "number", + "format": "double", + "nullable": true }, - "error": { + "prompt_tokens": { "type": "number", - "enum": [ - null - ], + "format": "double", "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_ExtendedExperimentData.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_ExtendedExperimentData_" }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "CreateNewPromptVersionForExperimentParams": { - "properties": { - "newHeliconeTemplate": {}, - "isMajorVersion": { - "type": "boolean" + "prompt_cache_write_tokens": { + "type": "number", + "format": "double", + "nullable": true }, - "metadata": { - "$ref": "#/components/schemas/Record_string.any_" + "prompt_cache_read_tokens": { + "type": "number", + "format": "double", + "nullable": true }, - "experimentId": { - "type": "string" + "completion_tokens": { + "type": "number", + "format": "double", + "nullable": true }, - "bumpForMajorPromptVersionId": { - "type": "string" + "reasoning_tokens": { + "type": "number", + "format": "double", + "nullable": true }, - "parentPromptVersionId": { - "type": "string" - } - }, - "required": [ - "newHeliconeTemplate", - "parentPromptVersionId" - ], - "type": "object", - "additionalProperties": false - }, - "Json": { - "anyOf": [ - { - "type": "string" + "prompt_audio_tokens": { + "type": "number", + "format": "double", + "nullable": true }, - { + "completion_audio_tokens": { "type": "number", - "format": "double" + "format": "double", + "nullable": true }, - { - "type": "boolean" + "cost": { + "type": "number", + "format": "double", + "nullable": true }, - { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/Json" - }, - "type": "object" + "prompt_id": { + "type": "string", + "nullable": true }, - { - "items": { - "$ref": "#/components/schemas/Json" - }, - "type": "array" - } - ], - "nullable": true - }, - "ExperimentV2PromptVersion": { - "properties": { - "created_at": { + "prompt_version": { "type": "string", "nullable": true }, - "experiment_id": { + "feedback_created_at": { "type": "string", "nullable": true }, - "helicone_template": { + "feedback_id": { + "type": "string", + "nullable": true + }, + "feedback_rating": { + "type": "boolean", + "nullable": true + }, + "signed_body_url": { + "type": "string", + "nullable": true + }, + "llmSchema": { "allOf": [ { - "$ref": "#/components/schemas/Json" + "$ref": "#/components/schemas/LlmSchema" } ], "nullable": true }, - "id": { - "type": "string" + "country_code": { + "type": "string", + "nullable": true }, - "major_version": { - "type": "number", - "format": "double" + "asset_ids": { + "items": { + "type": "string" + }, + "type": "array", + "nullable": true }, - "metadata": { + "asset_urls": { "allOf": [ { - "$ref": "#/components/schemas/Json" + "$ref": "#/components/schemas/Record_string.string_" } ], "nullable": true }, - "minor_version": { + "scores": { + "allOf": [ + { + "$ref": "#/components/schemas/Record_string.number_" + } + ], + "nullable": true + }, + "costUSD": { "type": "number", - "format": "double" + "format": "double", + "nullable": true + }, + "properties": { + "$ref": "#/components/schemas/Record_string.string_" + }, + "assets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "target_url": { + "type": "string" }, "model": { + "type": "string" + }, + "cache_reference_id": { "type": "string", "nullable": true }, - "organization": { - "type": "string" + "cache_enabled": { + "type": "boolean" }, - "prompt_v2": { + "updated_at": { "type": "string" }, - "soft_delete": { - "type": "boolean", + "request_referrer": { + "type": "string", + "nullable": true + }, + "ai_gateway_body_mapping": { + "type": "string", "nullable": true + }, + "storage_location": { + "type": "string" } }, "required": [ - "created_at", - "experiment_id", - "helicone_template", - "id", - "major_version", - "metadata", - "minor_version", + "response_id", + "response_created_at", + "response_status", + "response_model", + "request_id", + "request_created_at", + "request_body", + "request_path", + "request_user_id", + "request_properties", + "request_model", + "model_override", + "helicone_user", + "provider", + "delay_ms", + "time_to_first_token", + "total_tokens", + "prompt_tokens", + "prompt_cache_write_tokens", + "prompt_cache_read_tokens", + "completion_tokens", + "reasoning_tokens", + "prompt_audio_tokens", + "completion_audio_tokens", + "cost", + "prompt_id", + "prompt_version", + "llmSchema", + "country_code", + "asset_ids", + "asset_urls", + "scores", + "properties", + "assets", + "target_url", "model", - "organization", - "prompt_v2", - "soft_delete" + "cache_reference_id", + "cache_enabled", + "ai_gateway_body_mapping" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_ExperimentV2PromptVersion-Array_": { + "ResultSuccess_HeliconeRequest-Array_": { "properties": { "data": { "items": { - "$ref": "#/components/schemas/ExperimentV2PromptVersion" + "$ref": "#/components/schemas/HeliconeRequest" }, "type": "array" }, @@ -3357,20 +3295,20 @@ "type": "object", "additionalProperties": false }, - "Result_ExperimentV2PromptVersion-Array.string_": { + "Result_HeliconeRequest-Array.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_ExperimentV2PromptVersion-Array_" + "$ref": "#/components/schemas/ResultSuccess_HeliconeRequest-Array_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "ResultSuccess_string_": { + "ResultSuccess_HeliconeRequest_": { "properties": { "data": { - "type": "string" + "$ref": "#/components/schemas/HeliconeRequest" }, "error": { "type": "number", @@ -3387,20 +3325,42 @@ "type": "object", "additionalProperties": false }, - "Result_string.string_": { + "Result_HeliconeRequest.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_string_" + "$ref": "#/components/schemas/ResultSuccess_HeliconeRequest_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "ResultSuccess_boolean_": { + "ResultSuccess__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null_": { "properties": { "data": { - "type": "boolean" + "properties": { + "environment": { + "type": "string", + "nullable": true + }, + "version_id": { + "type": "string" + }, + "prompt_id": { + "type": "string" + }, + "inputs": { + "$ref": "#/components/schemas/Record_string.any_" + } + }, + "required": [ + "environment", + "version_id", + "prompt_id", + "inputs" + ], + "type": "object", + "nullable": true }, "error": { "type": "number", @@ -3417,66 +3377,32 @@ "type": "object", "additionalProperties": false }, - "Result_boolean.string_": { + "Result__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_boolean_" + "$ref": "#/components/schemas/ResultSuccess__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "ScoreV2": { + "HeliconeRequestAsset": { "properties": { - "valueType": { + "assetUrl": { "type": "string" - }, - "value": { - "anyOf": [ - { - "type": "number", - "format": "double" - }, - { - "type": "string", - "format": "date-time" - }, - { - "type": "string" - } - ] - }, - "max": { - "type": "number", - "format": "double" - }, - "min": { - "type": "number", - "format": "double" } }, "required": [ - "valueType", - "value", - "max", - "min" + "assetUrl" ], "type": "object", "additionalProperties": false }, - "Record_string.ScoreV2_": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/ScoreV2" - }, - "type": "object", - "description": "Construct a type with a set of properties K of type T" - }, - "ResultSuccess_Record_string.ScoreV2__": { + "ResultSuccess_HeliconeRequestAsset_": { "properties": { "data": { - "$ref": "#/components/schemas/Record_string.ScoreV2_" + "$ref": "#/components/schemas/HeliconeRequestAsset" }, "error": { "type": "number", @@ -3493,510 +3419,379 @@ "type": "object", "additionalProperties": false }, - "Result_Record_string.ScoreV2_.string_": { + "Result_HeliconeRequestAsset.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_Record_string.ScoreV2__" + "$ref": "#/components/schemas/ResultSuccess_HeliconeRequestAsset_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "ResultSuccess_ScoreV2-or-null_": { + "Record_string.number-or-boolean-or-undefined_": { + "properties": {}, + "additionalProperties": { + "anyOf": [ + { + "type": "number", + "format": "double" + }, + { + "type": "boolean" + } + ] + }, + "type": "object", + "description": "Construct a type with a set of properties K of type T" + }, + "Scores": { + "$ref": "#/components/schemas/Record_string.number-or-boolean-or-undefined_" + }, + "ScoreRequest": { "properties": { - "data": { - "allOf": [ - { - "$ref": "#/components/schemas/ScoreV2" - } - ], - "nullable": true - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true + "scores": { + "$ref": "#/components/schemas/Scores" } }, "required": [ - "data", - "error" + "scores" ], "type": "object", "additionalProperties": false }, - "Result_ScoreV2-or-null.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_ScoreV2-or-null_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "CreateCloudGatewayCheckoutSessionRequest": { + "ConversationMessage": { "properties": { - "amount": { - "type": "number", - "format": "double" + "role": { + "type": "string" }, - "returnUrl": { + "content": { "type": "string" } }, "required": [ - "amount" + "role", + "content" ], "type": "object", "additionalProperties": false }, - "UpgradeToProRequest": { + "MostExpensiveRequest": { "properties": { - "addons": { - "properties": { - "evals": { - "type": "boolean" - }, - "experiments": { - "type": "boolean" - }, - "prompts": { - "type": "boolean" - }, - "alerts": { - "type": "boolean" - } - }, - "type": "object" + "requestId": { + "type": "string" }, - "seats": { + "cost": { "type": "number", "format": "double" }, - "ui_mode": { - "type": "string", - "enum": [ - "embedded", - "hosted" - ] - } - }, - "type": "object", - "additionalProperties": false - }, - "UpgradeToTeamBundleRequest": { - "properties": { - "ui_mode": { - "type": "string", - "enum": [ - "embedded", - "hosted" - ] - } - }, - "type": "object", - "additionalProperties": false - }, - "LLMUsage": { - "properties": { "model": { "type": "string" }, "provider": { "type": "string" }, - "prompt_tokens": { - "type": "number", - "format": "double" - }, - "completion_tokens": { - "type": "number", - "format": "double" + "createdAt": { + "type": "string" }, - "total_count": { + "promptTokens": { "type": "number", "format": "double" }, - "amount": { + "completionTokens": { "type": "number", "format": "double" }, - "description": { - "type": "string" - }, - "totalCost": { + "conversation": { "properties": { - "prompt_token": { + "totalWords": { "type": "number", "format": "double" }, - "completion_token": { + "turnCount": { "type": "number", "format": "double" + }, + "messages": { + "items": { + "$ref": "#/components/schemas/ConversationMessage" + }, + "type": "array" } }, "required": [ - "prompt_token", - "completion_token" + "totalWords", + "turnCount", + "messages" ], - "type": "object" + "type": "object", + "nullable": true } }, "required": [ + "requestId", + "cost", "model", "provider", - "prompt_tokens", - "completion_tokens", - "total_count", - "amount", - "description", - "totalCost" + "createdAt", + "promptTokens", + "completionTokens", + "conversation" ], "type": "object", "additionalProperties": false }, - "PaymentIntentRecord": { + "WrappedStats": { "properties": { - "id": { - "type": "string" - }, - "amount": { - "type": "number", - "format": "double" - }, - "created": { + "totalRequests": { "type": "number", "format": "double" }, - "status": { - "type": "string" - }, - "isRefunded": { - "type": "boolean" - }, - "refundedAmount": { - "type": "number", - "format": "double" + "topProviders": { + "items": { + "properties": { + "count": { + "type": "number", + "format": "double" + }, + "provider": { + "type": "string" + } + }, + "required": [ + "count", + "provider" + ], + "type": "object" + }, + "type": "array" }, - "refundIds": { + "topModels": { "items": { - "type": "string" + "properties": { + "count": { + "type": "number", + "format": "double" + }, + "model": { + "type": "string" + } + }, + "required": [ + "count", + "model" + ], + "type": "object" }, "type": "array" + }, + "totalTokens": { + "properties": { + "total": { + "type": "number", + "format": "double" + }, + "cacheRead": { + "type": "number", + "format": "double" + }, + "cacheWrite": { + "type": "number", + "format": "double" + }, + "completion": { + "type": "number", + "format": "double" + }, + "prompt": { + "type": "number", + "format": "double" + } + }, + "required": [ + "total", + "cacheRead", + "cacheWrite", + "completion", + "prompt" + ], + "type": "object" + }, + "mostExpensiveRequest": { + "allOf": [ + { + "$ref": "#/components/schemas/MostExpensiveRequest" + } + ], + "nullable": true } }, "required": [ - "id", - "amount", - "created", - "status" + "totalRequests", + "topProviders", + "topModels", + "totalTokens", + "mostExpensiveRequest" ], "type": "object", "additionalProperties": false }, - "StripePaymentIntentsResponse": { + "ResultSuccess_WrappedStats_": { "properties": { "data": { - "items": { - "$ref": "#/components/schemas/PaymentIntentRecord" - }, - "type": "array" - }, - "has_more": { - "type": "boolean" - }, - "next_page": { - "type": "string", - "nullable": true + "$ref": "#/components/schemas/WrappedStats" }, - "count": { + "error": { "type": "number", - "format": "double" + "enum": [ + null + ], + "nullable": true } }, "required": [ "data", - "has_more", - "next_page", - "count" + "error" ], "type": "object", "additionalProperties": false }, - "AutoTopoffSettings": { - "properties": { - "enabled": { - "type": "boolean" + "Result_WrappedStats.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_WrappedStats_" }, - "thresholdCents": { - "type": "number", - "format": "double" + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "ResultSuccess__hasData-boolean__": { + "properties": { + "data": { + "properties": { + "hasData": { + "type": "boolean" + } + }, + "required": [ + "hasData" + ], + "type": "object" }, - "topoffAmountCents": { + "error": { "type": "number", - "format": "double" - }, - "stripePaymentMethodId": { - "type": "string", - "nullable": true - }, - "lastTopoffAt": { - "type": "string", + "enum": [ + null + ], "nullable": true - }, - "consecutiveFailures": { - "type": "number", - "format": "double" } }, "required": [ - "enabled", - "thresholdCents", - "topoffAmountCents", - "stripePaymentMethodId", - "lastTopoffAt", - "consecutiveFailures" + "data", + "error" ], "type": "object", "additionalProperties": false }, - "UpdateAutoTopoffSettingsRequest": { - "properties": { - "enabled": { - "type": "boolean" - }, - "thresholdCents": { - "type": "number", - "format": "double" - }, - "topoffAmountCents": { - "type": "number", - "format": "double" + "Result__hasData-boolean_.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess__hasData-boolean__" }, - "stripePaymentMethodId": { - "type": "string" + { + "$ref": "#/components/schemas/ResultError_string_" } - }, - "required": [ - "enabled", - "thresholdCents", - "topoffAmountCents", - "stripePaymentMethodId" - ], - "type": "object", - "additionalProperties": false + ] }, - "PaymentMethod": { + "ResultSuccess_unknown_": { "properties": { - "id": { - "type": "string" - }, - "brand": { - "type": "string" - }, - "last4": { - "type": "string" - }, - "exp_month": { - "type": "number", - "format": "double" - }, - "exp_year": { + "data": {}, + "error": { "type": "number", - "format": "double" + "enum": [ + null + ], + "nullable": true } }, "required": [ - "id", - "brand", - "last4", - "exp_month", - "exp_year" + "data", + "error" ], "type": "object", "additionalProperties": false }, - "CreateSetupSessionRequest": { - "properties": { - "returnUrl": { - "type": "string" - } - }, - "type": "object", - "additionalProperties": false - }, - "DailyUsageDataPoint": { + "ResultError_unknown_": { "properties": { - "date": { - "type": "string" - }, - "requests": { - "type": "number", - "format": "double" - }, - "bytes": { + "data": { "type": "number", - "format": "double" - } - }, - "required": [ - "date", - "requests", - "bytes" - ], - "type": "object", - "additionalProperties": false - }, - "UsageStatsResponse": { - "properties": { - "billingPeriod": { - "properties": { - "daysTotal": { - "type": "number", - "format": "double" - }, - "daysElapsed": { - "type": "number", - "format": "double" - }, - "end": { - "type": "string" - }, - "start": { - "type": "string" - } - }, - "required": [ - "daysTotal", - "daysElapsed", - "end", - "start" - ], - "type": "object" - }, - "usage": { - "properties": { - "totalGB": { - "type": "number", - "format": "double" - }, - "totalBytes": { - "type": "number", - "format": "double" - }, - "totalRequests": { - "type": "number", - "format": "double" - } - }, - "required": [ - "totalGB", - "totalBytes", - "totalRequests" - ], - "type": "object" - }, - "dailyData": { - "items": { - "$ref": "#/components/schemas/DailyUsageDataPoint" - }, - "type": "array" - }, - "estimatedCost": { - "properties": { - "projectedMonthlyTotalCost": { - "type": "number", - "format": "double" - }, - "projectedMonthlyGBCost": { - "type": "number", - "format": "double" - }, - "projectedMonthlyRequestsCost": { - "type": "number", - "format": "double" - }, - "totalCost": { - "type": "number", - "format": "double" - }, - "gbCost": { - "type": "number", - "format": "double" - }, - "requestsCost": { - "type": "number", - "format": "double" - } - }, - "required": [ - "projectedMonthlyTotalCost", - "projectedMonthlyGBCost", - "projectedMonthlyRequestsCost", - "totalCost", - "gbCost", - "requestsCost" + "enum": [ + null ], - "type": "object" - } - }, - "required": [ - "billingPeriod", - "usage", - "dailyData", - "estimatedCost" - ], - "type": "object", - "additionalProperties": false - }, - "IntegrationCreateParams": { - "properties": { - "integration_name": { - "type": "string" - }, - "settings": { - "$ref": "#/components/schemas/Json" + "nullable": true }, - "active": { - "type": "boolean" - } + "error": {} }, "required": [ - "integration_name" + "data", + "error" ], "type": "object", "additionalProperties": false }, - "Integration": { + "WebhookData": { "properties": { - "integration_name": { + "destination": { "type": "string" }, - "settings": { - "$ref": "#/components/schemas/Json" + "config": { + "$ref": "#/components/schemas/Record_string.any_" }, - "active": { + "includeData": { "type": "boolean" - }, - "id": { - "type": "string" } }, "required": [ - "id" + "destination", + "config" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_Array_Integration__": { + "ResultSuccess__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array_": { "properties": { "data": { "items": { - "$ref": "#/components/schemas/Integration" + "properties": { + "hmac_key": { + "type": "string" + }, + "config": { + "type": "string" + }, + "version": { + "type": "string" + }, + "destination": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "hmac_key", + "config", + "version", + "destination", + "created_at", + "id" + ], + "type": "object" }, "type": "array" }, @@ -4015,35 +3810,84 @@ "type": "object", "additionalProperties": false }, - "Result_Array_Integration_.string_": { + "Result__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_Array_Integration__" + "$ref": "#/components/schemas/ResultSuccess__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "IntegrationUpdateParams": { + "ResultSuccess__success-boolean--message-string__": { "properties": { - "integration_name": { + "data": { + "properties": { + "message": { + "type": "string" + }, + "success": { + "type": "boolean" + } + }, + "required": [ + "message", + "success" + ], + "type": "object" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true + } + }, + "required": [ + "data", + "error" + ], + "type": "object", + "additionalProperties": false + }, + "Result__success-boolean--message-string_.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess__success-boolean--message-string__" + }, + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "AddVaultKeyParams": { + "properties": { + "key": { "type": "string" }, - "settings": { - "$ref": "#/components/schemas/Json" + "provider": { + "type": "string" }, - "active": { - "type": "boolean" + "name": { + "type": "string" } }, + "required": [ + "key", + "provider" + ], "type": "object", "additionalProperties": false }, - "ResultSuccess_Integration_": { + "ResultSuccess_DecryptedProviderKey-Array_": { "properties": { "data": { - "$ref": "#/components/schemas/Integration" + "items": { + "$ref": "#/components/schemas/DecryptedProviderKey" + }, + "type": "array" }, "error": { "type": "number", @@ -4060,35 +3904,20 @@ "type": "object", "additionalProperties": false }, - "Result_Integration.string_": { + "Result_DecryptedProviderKey-Array.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_Integration_" + "$ref": "#/components/schemas/ResultSuccess_DecryptedProviderKey-Array_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "ResultSuccess_Array__id-string--name-string___": { + "ResultSuccess_DecryptedProviderKey_": { "properties": { "data": { - "items": { - "properties": { - "name": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "name", - "id" - ], - "type": "object" - }, - "type": "array" + "$ref": "#/components/schemas/DecryptedProviderKey" }, "error": { "type": "number", @@ -4105,2014 +3934,2347 @@ "type": "object", "additionalProperties": false }, - "Result_Array__id-string--name-string__.string_": { + "Result_DecryptedProviderKey.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_Array__id-string--name-string___" + "$ref": "#/components/schemas/ResultSuccess_DecryptedProviderKey_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "TestStripeMeterEventRequest": { + "HistogramRow": { "properties": { - "event_name": { + "range_start": { "type": "string" }, - "customer_id": { + "range_end": { "type": "string" + }, + "value": { + "type": "number", + "format": "double" } }, "required": [ - "event_name", - "customer_id" + "range_start", + "range_end", + "value" ], "type": "object", "additionalProperties": false }, - "Partial_ResponseTableToOperators_": { + "ResultSuccess__request_count-HistogramRow-Array--user_cost-HistogramRow-Array__": { "properties": { - "body_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "body_model": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "body_completion": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "status": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "data": { + "properties": { + "user_cost": { + "items": { + "$ref": "#/components/schemas/HistogramRow" + }, + "type": "array" + }, + "request_count": { + "items": { + "$ref": "#/components/schemas/HistogramRow" + }, + "type": "array" + } + }, + "required": [ + "user_cost", + "request_count" + ], + "type": "object" }, - "model": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, + "required": [ + "data", + "error" + ], "type": "object", - "description": "Make all properties in T optional" + "additionalProperties": false }, - "Partial_TimestampOperators_": { - "properties": { - "equals": { - "type": "string" - }, - "gte": { - "type": "string" - }, - "lte": { - "type": "string" - }, - "lt": { - "type": "string" + "Result__request_count-HistogramRow-Array--user_cost-HistogramRow-Array_.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess__request_count-HistogramRow-Array--user_cost-HistogramRow-Array__" }, - "gt": { - "type": "string" + { + "$ref": "#/components/schemas/ResultError_string_" } - }, - "type": "object", - "description": "Make all properties in T optional" + ] }, - "Partial_RequestTableToOperators_": { + "Partial_UserViewToOperators_": { "properties": { - "prompt": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "created_at": { - "$ref": "#/components/schemas/Partial_TimestampOperators_" - }, - "user_id": { + "user_user_id": { "$ref": "#/components/schemas/Partial_TextOperators_" }, - "auth_hash": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "user_active_for": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - "org_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "user_first_active": { + "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" }, - "id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "user_last_active": { + "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" }, - "node_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "user_total_requests": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - "model": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "user_average_requests_per_day_active": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - "modelOverride": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "user_average_tokens_per_request": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - "path": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "user_total_completion_tokens": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - "country_code": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "user_total_prompt_tokens": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - "prompt_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "user_cost": { + "$ref": "#/components/schemas/Partial_NumberOperators_" } }, "type": "object", "description": "Make all properties in T optional" }, - "Partial_BooleanOperators_": { + "Pick_FilterLeaf.users_view-or-request_response_rmt_": { "properties": { - "equals": { - "type": "boolean" + "request_response_rmt": { + "$ref": "#/components/schemas/Partial_RequestResponseRMTToOperators_" + }, + "users_view": { + "$ref": "#/components/schemas/Partial_UserViewToOperators_" } }, "type": "object", - "description": "Make all properties in T optional" + "description": "From T, pick a set of properties whose keys are in the union K" }, - "Partial_FeedbackTableToOperators_": { - "properties": { - "id": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "created_at": { - "$ref": "#/components/schemas/Partial_TimestampOperators_" + "FilterLeafSubset_users_view-or-request_response_rmt_": { + "$ref": "#/components/schemas/Pick_FilterLeaf.users_view-or-request_response_rmt_" + }, + "UserFilterNode": { + "anyOf": [ + { + "$ref": "#/components/schemas/FilterLeafSubset_users_view-or-request_response_rmt_" }, - "rating": { - "$ref": "#/components/schemas/Partial_BooleanOperators_" + { + "$ref": "#/components/schemas/UserFilterBranch" }, - "response_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" - } - }, - "type": "object", - "description": "Make all properties in T optional" + { + "type": "string", + "enum": [ + "all" + ] + } + ] }, - "Partial_TimestampOperatorsTyped_": { + "UserFilterBranch": { "properties": { - "equals": { - "type": "string", - "format": "date-time" - }, - "gte": { - "type": "string", - "format": "date-time" - }, - "lte": { - "type": "string", - "format": "date-time" + "right": { + "$ref": "#/components/schemas/UserFilterNode" }, - "lt": { + "operator": { "type": "string", - "format": "date-time" + "enum": [ + "or", + "and" + ] }, - "gt": { - "type": "string", - "format": "date-time" + "left": { + "$ref": "#/components/schemas/UserFilterNode" } }, - "type": "object", - "description": "Make all properties in T optional" + "required": [ + "right", + "operator", + "left" + ], + "type": "object" }, - "Partial_RequestResponseRMTToOperators_": { + "PSize": { + "type": "string", + "enum": [ + "p50", + "p75", + "p95", + "p99", + "p99.9" + ] + }, + "UserMetricsResult": { "properties": { - "country_code": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "latency": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "cost": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "provider": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "time_to_first_token": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "status": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "request_created_at": { - "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" - }, - "response_created_at": { - "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" - }, - "model": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "id": { + "type": "string" }, "user_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "organization_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "node_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "job_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "type": "string" }, - "threat": { - "$ref": "#/components/schemas/Partial_BooleanOperators_" + "active_for": { + "type": "number", + "format": "double" }, - "request_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "first_active": { + "type": "string" }, - "prompt_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "last_active": { + "type": "string" }, - "completion_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "total_requests": { + "type": "number", + "format": "double" }, - "prompt_cache_read_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "average_requests_per_day_active": { + "type": "number", + "format": "double" }, - "prompt_cache_write_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "average_tokens_per_request": { + "type": "number", + "format": "double" }, - "total_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "total_completion_tokens": { + "type": "number", + "format": "double" }, - "target_url": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "total_prompt_tokens": { + "type": "number", + "format": "double" }, - "property_key": { + "cost": { + "type": "number", + "format": "double" + } + }, + "required": [ + "id", + "user_id", + "active_for", + "first_active", + "last_active", + "total_requests", + "average_requests_per_day_active", + "average_tokens_per_request", + "total_completion_tokens", + "total_prompt_tokens", + "cost" + ], + "type": "object", + "additionalProperties": false + }, + "ResultSuccess__users-UserMetricsResult-Array--count-number--hasUsers-boolean__": { + "properties": { + "data": { "properties": { - "equals": { - "type": "string" + "hasUsers": { + "type": "boolean" + }, + "count": { + "type": "number", + "format": "double" + }, + "users": { + "items": { + "$ref": "#/components/schemas/UserMetricsResult" + }, + "type": "array" } }, "required": [ - "equals" + "hasUsers", + "count", + "users" ], "type": "object" }, - "properties": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "type": "object" + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true + } + }, + "required": [ + "data", + "error" + ], + "type": "object", + "additionalProperties": false + }, + "Result__users-UserMetricsResult-Array--count-number--hasUsers-boolean_.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess__users-UserMetricsResult-Array--count-number--hasUsers-boolean__" }, - "search_properties": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "type": "object" + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "SortLeafUsers": { + "properties": { + "id": { + "$ref": "#/components/schemas/SortDirection" }, - "scores": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "type": "object" + "user_id": { + "$ref": "#/components/schemas/SortDirection" }, - "scores_column": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "active_for": { + "$ref": "#/components/schemas/SortDirection" }, - "request_body": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "first_active": { + "$ref": "#/components/schemas/SortDirection" }, - "response_body": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "last_active": { + "$ref": "#/components/schemas/SortDirection" }, - "cache_enabled": { - "$ref": "#/components/schemas/Partial_BooleanOperators_" + "total_requests": { + "$ref": "#/components/schemas/SortDirection" }, - "cache_reference_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "average_requests_per_day_active": { + "$ref": "#/components/schemas/SortDirection" }, - "cached": { - "$ref": "#/components/schemas/Partial_BooleanOperators_" + "average_tokens_per_request": { + "$ref": "#/components/schemas/SortDirection" }, - "assets": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "total_prompt_tokens": { + "$ref": "#/components/schemas/SortDirection" }, - "helicone-score-feedback": { - "$ref": "#/components/schemas/Partial_BooleanOperators_" + "total_completion_tokens": { + "$ref": "#/components/schemas/SortDirection" }, - "prompt_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "prompt_version": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "request_referrer": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "cost": { + "$ref": "#/components/schemas/SortDirection" }, - "is_passthrough_billing": { - "$ref": "#/components/schemas/Partial_BooleanOperators_" + "rate_limited_count": { + "$ref": "#/components/schemas/SortDirection" } }, - "type": "object", - "description": "Make all properties in T optional" + "type": "object" }, - "Partial_SessionsRequestResponseRMTToOperators_": { + "UserMetricsQueryParams": { "properties": { - "session_session_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "session_session_name": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "session_total_cost": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "session_total_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "session_prompt_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "filter": { + "$ref": "#/components/schemas/UserFilterNode" }, - "session_completion_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "offset": { + "type": "number", + "format": "double" }, - "session_total_requests": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "limit": { + "type": "number", + "format": "double" }, - "session_created_at": { - "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" + "timeFilter": { + "properties": { + "endTimeUnixSeconds": { + "type": "number", + "format": "double" + }, + "startTimeUnixSeconds": { + "type": "number", + "format": "double" + } + }, + "required": [ + "endTimeUnixSeconds", + "startTimeUnixSeconds" + ], + "type": "object" }, - "session_latest_request_created_at": { - "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" + "timeZoneDifferenceMinutes": { + "type": "number", + "format": "double" }, - "session_tag": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "sort": { + "$ref": "#/components/schemas/SortLeafUsers" } }, + "required": [ + "filter", + "offset", + "limit" + ], "type": "object", - "description": "Make all properties in T optional" + "additionalProperties": false }, - "Pick_FilterLeaf.feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_": { + "ResultSuccess__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array_": { "properties": { - "values": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "data": { + "items": { + "properties": { + "cost": { + "type": "number", + "format": "double" + }, + "user_id": { + "type": "string" + }, + "completion_tokens": { + "type": "number", + "format": "double" + }, + "prompt_tokens": { + "type": "number", + "format": "double" + }, + "count": { + "type": "number", + "format": "double" + } + }, + "required": [ + "cost", + "user_id", + "completion_tokens", + "prompt_tokens", + "count" + ], + "type": "object" }, - "type": "object" - }, - "response": { - "$ref": "#/components/schemas/Partial_ResponseTableToOperators_" - }, - "request": { - "$ref": "#/components/schemas/Partial_RequestTableToOperators_" - }, - "feedback": { - "$ref": "#/components/schemas/Partial_FeedbackTableToOperators_" - }, - "request_response_rmt": { - "$ref": "#/components/schemas/Partial_RequestResponseRMTToOperators_" - }, - "sessions_request_response_rmt": { - "$ref": "#/components/schemas/Partial_SessionsRequestResponseRMTToOperators_" + "type": "array" }, - "properties": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "type": "object" + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, + "required": [ + "data", + "error" + ], "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "FilterLeafSubset_feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_": { - "$ref": "#/components/schemas/Pick_FilterLeaf.feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_" + "additionalProperties": false }, - "RequestFilterNode": { + "Result__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array.string_": { "anyOf": [ { - "$ref": "#/components/schemas/FilterLeafSubset_feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_" - }, - { - "$ref": "#/components/schemas/RequestFilterBranch" + "$ref": "#/components/schemas/ResultSuccess__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array_" }, { - "type": "string", - "enum": [ - "all" - ] + "$ref": "#/components/schemas/ResultError_string_" } ] }, - "RequestFilterBranch": { + "UserQueryParams": { "properties": { - "right": { - "$ref": "#/components/schemas/RequestFilterNode" + "userIds": { + "items": { + "type": "string" + }, + "type": "array" }, - "operator": { - "type": "string", - "enum": [ - "or", - "and" - ] + "timeFilter": { + "properties": { + "endTimeUnixSeconds": { + "type": "number", + "format": "double" + }, + "startTimeUnixSeconds": { + "type": "number", + "format": "double" + } + }, + "required": [ + "endTimeUnixSeconds", + "startTimeUnixSeconds" + ], + "type": "object" + } + }, + "type": "object", + "additionalProperties": false + }, + "ValidationError": { + "properties": { + "field": { + "type": "string" }, - "left": { - "$ref": "#/components/schemas/RequestFilterNode" + "message": { + "type": "string" } }, "required": [ - "right", - "operator", - "left" + "field", + "message" ], - "type": "object" - }, - "SortDirection": { - "type": "string", - "enum": [ - "asc", - "desc" - ] + "type": "object", + "additionalProperties": false }, - "SortLeafRequest": { + "ValidationResult": { "properties": { - "random": { - "type": "boolean", - "enum": [ - true - ], - "nullable": false - }, - "created_at": { - "$ref": "#/components/schemas/SortDirection" - }, - "cache_created_at": { - "$ref": "#/components/schemas/SortDirection" - }, - "latency": { - "$ref": "#/components/schemas/SortDirection" - }, - "last_active": { - "$ref": "#/components/schemas/SortDirection" - }, - "total_tokens": { - "$ref": "#/components/schemas/SortDirection" - }, - "completion_tokens": { - "$ref": "#/components/schemas/SortDirection" - }, - "prompt_tokens": { - "$ref": "#/components/schemas/SortDirection" + "isValid": { + "type": "boolean" }, - "user_id": { - "$ref": "#/components/schemas/SortDirection" - }, - "body_model": { - "$ref": "#/components/schemas/SortDirection" - }, - "is_cached": { - "$ref": "#/components/schemas/SortDirection" - }, - "request_prompt": { - "$ref": "#/components/schemas/SortDirection" - }, - "response_text": { - "$ref": "#/components/schemas/SortDirection" - }, - "properties": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/SortDirection" - }, - "type": "object" - }, - "values": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/SortDirection" + "errors": { + "items": { + "$ref": "#/components/schemas/ValidationError" }, - "type": "object" + "type": "array" + } + }, + "required": [ + "isValid", + "errors" + ], + "type": "object", + "additionalProperties": false + }, + "Record_string.unknown_": { + "properties": {}, + "additionalProperties": {}, + "type": "object", + "description": "Construct a type with a set of properties K of type T" + }, + "TypedProviderRequest": { + "properties": { + "url": { + "type": "string" }, - "cost": { - "$ref": "#/components/schemas/SortDirection" + "json": { + "$ref": "#/components/schemas/Record_string.unknown_" }, - "time_to_first_token": { - "$ref": "#/components/schemas/SortDirection" + "meta": { + "$ref": "#/components/schemas/Record_string.string_" } }, + "required": [ + "url", + "json", + "meta" + ], "type": "object", "additionalProperties": false }, - "RequestQueryParams": { + "TypedProviderResponse": { "properties": { - "filter": { - "$ref": "#/components/schemas/RequestFilterNode" + "json": { + "$ref": "#/components/schemas/Record_string.unknown_" }, - "offset": { - "type": "number", - "format": "double" + "textBody": { + "type": "string" }, - "limit": { + "status": { "type": "number", "format": "double" }, - "sort": { - "$ref": "#/components/schemas/SortLeafRequest" - }, - "isCached": { - "type": "boolean" - }, - "includeInputs": { - "type": "boolean" - }, - "isPartOfExperiment": { - "type": "boolean" - }, - "isScored": { - "type": "boolean" + "headers": { + "$ref": "#/components/schemas/Record_string.string_" } }, "required": [ - "filter" + "status", + "headers" ], "type": "object", "additionalProperties": false }, - "ProviderName": { - "type": "string", - "enum": [ - "OPENAI", - "ANTHROPIC", - "AZURE", - "LOCAL", - "HELICONE", - "AMDBARTEK", - "ANYSCALE", - "CLOUDFLARE", - "2YFV", - "TOGETHER", - "LEMONFOX", - "FIREWORKS", - "PERPLEXITY", - "GOOGLE", - "OPENROUTER", - "WISDOMINANUTSHELL", - "GROQ", - "COHERE", - "MISTRAL", - "DEEPINFRA", - "QSTASH", - "FIRECRAWL", - "AWS", - "BEDROCK", - "DEEPSEEK", - "X", - "AVIAN", - "NEBIUS", - "NOVITA", - "OPENPIPE", - "CHUTES", - "LLAMA", - "NVIDIA", - "VERCEL", - "CEREBRAS", - "BASETEN", - "CANOPYWAVE" - ] - }, - "ModelProviderName": { - "type": "string", - "enum": [ - "baseten", - "anthropic", - "azure", - "bedrock", - "canopywave", - "cerebras", - "chutes", - "deepinfra", - "deepseek", - "fireworks", - "google-ai-studio", - "groq", - "helicone", - "mistral", - "nebius", - "novita", - "openai", - "openrouter", - "perplexity", - "vertex", - "xai" - ], - "nullable": false - }, - "Provider": { - "anyOf": [ - { - "$ref": "#/components/schemas/ProviderName" - }, - { - "$ref": "#/components/schemas/ModelProviderName" - }, - { - "type": "string", - "enum": [ - "CUSTOM" - ] - } - ] - }, - "LlmType": { - "type": "string", - "enum": [ - "chat", - "completion" - ] - }, - "FunctionCall": { + "TypedTiming": { "properties": { - "id": { - "type": "string" + "timeToFirstToken": { + "type": "number", + "format": "double" }, - "name": { + "startTime": { "type": "string" }, - "arguments": { - "$ref": "#/components/schemas/Record_string.any_" + "endTime": { + "type": "string" } }, "required": [ - "name", - "arguments" + "startTime", + "endTime" ], "type": "object", "additionalProperties": false }, - "Message": { + "TypedAsyncLogModel": { "properties": { - "ending_event_id": { - "type": "string" + "providerRequest": { + "$ref": "#/components/schemas/TypedProviderRequest" }, - "trigger_event_id": { - "type": "string" + "providerResponse": { + "$ref": "#/components/schemas/TypedProviderResponse" }, - "start_timestamp": { - "type": "string" + "timing": { + "$ref": "#/components/schemas/TypedTiming" }, - "annotations": { + "provider": { + "$ref": "#/components/schemas/Provider" + } + }, + "required": [ + "providerRequest", + "providerResponse" + ], + "type": "object", + "additionalProperties": false + }, + "OTELTrace": { + "properties": { + "resourceSpans": { "items": { "properties": { - "content": { - "type": "string" - }, - "title": { - "type": "string" - }, - "url": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "url_citation" - ], - "nullable": false - } - }, - "required": [ - "title", - "url", - "type" - ], - "type": "object" + "scopeSpans": { + "items": { + "properties": { + "spans": { + "items": { + "properties": { + "droppedLinksCount": { + "type": "number", + "format": "double" + }, + "links": { + "items": {}, + "type": "array" + }, + "status": { + "properties": { + "code": { + "type": "number", + "format": "double" + } + }, + "required": [ + "code" + ], + "type": "object" + }, + "droppedEventsCount": { + "type": "number", + "format": "double" + }, + "events": { + "items": {}, + "type": "array" + }, + "droppedAttributesCount": { + "type": "number", + "format": "double" + }, + "attributes": { + "items": { + "properties": { + "value": { + "properties": { + "intValue": { + "type": "number", + "format": "double" + }, + "stringValue": { + "type": "string" + } + }, + "type": "object" + }, + "key": { + "type": "string" + } + }, + "required": [ + "value", + "key" + ], + "type": "object" + }, + "type": "array" + }, + "endTimeUnixNano": { + "type": "string" + }, + "startTimeUnixNano": { + "type": "string" + }, + "kind": { + "type": "number", + "format": "double" + }, + "name": { + "type": "string" + }, + "spanId": { + "type": "string" + }, + "traceId": { + "type": "string" + } + }, + "required": [ + "droppedLinksCount", + "links", + "status", + "droppedEventsCount", + "events", + "droppedAttributesCount", + "attributes", + "endTimeUnixNano", + "startTimeUnixNano", + "kind", + "name", + "spanId", + "traceId" + ], + "type": "object" + }, + "type": "array" + }, + "scope": { + "properties": { + "version": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "version", + "name" + ], + "type": "object" + } + }, + "required": [ + "spans", + "scope" + ], + "type": "object" + }, + "type": "array" + }, + "resource": { + "properties": { + "droppedAttributesCount": { + "type": "number", + "format": "double" + }, + "attributes": { + "items": { + "properties": { + "value": { + "properties": { + "arrayValue": { + "properties": { + "values": { + "items": { + "properties": { + "stringValue": { + "type": "string" + } + }, + "required": [ + "stringValue" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "values" + ], + "type": "object" + }, + "intValue": { + "type": "number", + "format": "double" + }, + "stringValue": { + "type": "string" + } + }, + "type": "object" + }, + "key": { + "type": "string" + } + }, + "required": [ + "value", + "key" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "droppedAttributesCount", + "attributes" + ], + "type": "object" + } + }, + "required": [ + "scopeSpans", + "resource" + ], + "type": "object" }, "type": "array" - }, - "reasoning": { - "type": "string" - }, - "deleted": { + } + }, + "required": [ + "resourceSpans" + ], + "type": "object" + }, + "SendTestRequestResponse": { + "properties": { + "success": { "type": "boolean" }, - "contentArray": { - "items": { - "$ref": "#/components/schemas/Message" - }, - "type": "array" + "response": { + "type": "string" }, - "idx": { - "type": "number", - "format": "double" + "requestId": { + "type": "string" }, - "detail": { + "error": { + "type": "string" + } + }, + "required": [ + "success" + ], + "type": "object", + "additionalProperties": false + }, + "SendTestRequestRequest": { + "properties": { + "apiKey": { + "type": "string" + } + }, + "required": [ + "apiKey" + ], + "type": "object", + "additionalProperties": false + }, + "SessionResult": { + "properties": { + "created_at": { "type": "string" }, - "filename": { + "latest_request_created_at": { "type": "string" }, - "file_id": { + "session_id": { "type": "string" }, - "file_data": { + "session_name": { "type": "string" }, - "type": { - "type": "string", - "enum": [ - "input_image", - "input_text", - "input_file" - ] + "total_cost": { + "type": "number", + "format": "double" }, - "audio_data": { - "type": "string" + "total_requests": { + "type": "number", + "format": "double" }, - "image_url": { - "type": "string" + "prompt_tokens": { + "type": "number", + "format": "double" }, - "timestamp": { - "type": "string" + "completion_tokens": { + "type": "number", + "format": "double" }, - "tool_call_id": { - "type": "string" + "total_tokens": { + "type": "number", + "format": "double" }, - "tool_calls": { + "avg_latency": { + "type": "number", + "format": "double" + }, + "user_ids": { "items": { - "$ref": "#/components/schemas/FunctionCall" + "type": "string" }, "type": "array" - }, - "mime_type": { - "type": "string" - }, - "content": { - "type": "string" - }, - "name": { - "type": "string" - }, - "instruction": { - "type": "string" - }, - "role": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "string", - "enum": [ - "user", - "assistant", - "system", - "developer" - ] - } - ] - }, - "id": { - "type": "string" - }, - "_type": { - "type": "string", - "enum": [ - "functionCall", - "function", - "image", - "file", - "message", - "autoInput", - "contentArray", - "audio" - ] } }, "required": [ - "_type" + "created_at", + "latest_request_created_at", + "session_id", + "session_name", + "total_cost", + "total_requests", + "prompt_tokens", + "completion_tokens", + "total_tokens", + "avg_latency", + "user_ids" ], - "type": "object" + "type": "object", + "additionalProperties": false }, - "Tool": { + "ResultSuccess_SessionResult-Array_": { "properties": { - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "parameters": { - "$ref": "#/components/schemas/Record_string.any_" + "data": { + "items": { + "$ref": "#/components/schemas/SessionResult" + }, + "type": "array" }, - "strict": { - "type": "boolean" + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, "required": [ - "name" + "data", + "error" ], "type": "object", "additionalProperties": false }, - "HeliconeEventTool": { - "properties": { - "_type": { - "type": "string", - "enum": [ - "tool" - ], - "nullable": false + "Result_SessionResult-Array.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_SessionResult-Array_" }, - "toolName": { - "type": "string" + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "Pick_FilterLeaf.request_response_rmt-or-sessions_request_response_rmt_": { + "properties": { + "request_response_rmt": { + "$ref": "#/components/schemas/Partial_RequestResponseRMTToOperators_" }, - "input": {} + "sessions_request_response_rmt": { + "$ref": "#/components/schemas/Partial_SessionsRequestResponseRMTToOperators_" + } }, - "required": [ - "_type", - "toolName", - "input" - ], "type": "object", - "additionalProperties": {} + "description": "From T, pick a set of properties whose keys are in the union K" }, - "HeliconeEventVectorDB": { - "properties": { - "_type": { + "FilterLeafSubset_request_response_rmt-or-sessions_request_response_rmt_": { + "$ref": "#/components/schemas/Pick_FilterLeaf.request_response_rmt-or-sessions_request_response_rmt_" + }, + "SessionFilterNode": { + "anyOf": [ + { + "$ref": "#/components/schemas/FilterLeafSubset_request_response_rmt-or-sessions_request_response_rmt_" + }, + { + "$ref": "#/components/schemas/SessionFilterBranch" + }, + { "type": "string", "enum": [ - "vector_db" - ], - "nullable": false + "all" + ] + } + ] + }, + "SessionFilterBranch": { + "properties": { + "right": { + "$ref": "#/components/schemas/SessionFilterNode" }, - "operation": { + "operator": { "type": "string", "enum": [ - "search", - "insert", - "delete", - "update" + "or", + "and" ] }, - "text": { + "left": { + "$ref": "#/components/schemas/SessionFilterNode" + } + }, + "required": [ + "right", + "operator", + "left" + ], + "type": "object" + }, + "SessionQueryParams": { + "properties": { + "search": { "type": "string" }, - "vector": { - "items": { - "type": "number", - "format": "double" + "timeFilter": { + "properties": { + "endTimeUnixMs": { + "type": "number", + "format": "double" + }, + "startTimeUnixMs": { + "type": "number", + "format": "double" + } }, - "type": "array" + "required": [ + "endTimeUnixMs", + "startTimeUnixMs" + ], + "type": "object" }, - "topK": { + "nameEquals": { + "type": "string" + }, + "timezoneDifference": { "type": "number", "format": "double" }, "filter": { - "additionalProperties": false, - "type": "object" + "$ref": "#/components/schemas/SessionFilterNode" }, - "databaseName": { - "type": "string" + "offset": { + "type": "number", + "format": "double" + }, + "limit": { + "type": "number", + "format": "double" } }, "required": [ - "_type", - "operation" + "search", + "timeFilter", + "timezoneDifference", + "filter" ], "type": "object", - "additionalProperties": {} + "additionalProperties": false }, - "HeliconeEventData": { + "SessionsAggregateMetrics": { "properties": { - "_type": { - "type": "string", - "enum": [ - "data" - ], - "nullable": false + "count": { + "type": "number", + "format": "double" }, - "name": { - "type": "string" + "total_cost": { + "type": "number", + "format": "double" }, - "meta": { - "$ref": "#/components/schemas/Record_string.any_" + "avg_cost": { + "type": "number", + "format": "double" + }, + "avg_latency": { + "type": "number", + "format": "double" + }, + "avg_requests": { + "type": "number", + "format": "double" } }, "required": [ - "_type", - "name" + "count", + "total_cost", + "avg_cost", + "avg_latency", + "avg_requests" ], "type": "object", - "additionalProperties": {} + "additionalProperties": false }, - "LLMRequestBody": { + "ResultSuccess_SessionsAggregateMetrics_": { "properties": { - "llm_type": { - "$ref": "#/components/schemas/LlmType" + "data": { + "$ref": "#/components/schemas/SessionsAggregateMetrics" }, - "provider": { - "type": "string" + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true + } + }, + "required": [ + "data", + "error" + ], + "type": "object", + "additionalProperties": false + }, + "Result_SessionsAggregateMetrics.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_SessionsAggregateMetrics_" }, - "model": { + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "SessionNameResult": { + "properties": { + "name": { "type": "string" }, - "messages": { - "items": { - "$ref": "#/components/schemas/Message" - }, - "type": "array", - "nullable": true + "created_at": { + "type": "string" }, - "prompt": { - "type": "string", - "nullable": true + "last_used": { + "type": "string" }, - "instructions": { - "type": "string", - "nullable": true + "first_used": { + "type": "string" }, - "max_tokens": { + "session_count": { "type": "number", - "format": "double", - "nullable": true + "format": "double" }, - "temperature": { + "avg_latency": { "type": "number", - "format": "double", - "nullable": true + "format": "double" + } + }, + "required": [ + "name", + "created_at", + "last_used", + "first_used", + "session_count", + "avg_latency" + ], + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_SessionNameResult-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/SessionNameResult" + }, + "type": "array" }, - "top_p": { + "error": { "type": "number", - "format": "double", + "enum": [ + null + ], "nullable": true + } + }, + "required": [ + "data", + "error" + ], + "type": "object", + "additionalProperties": false + }, + "Result_SessionNameResult-Array.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_SessionNameResult-Array_" }, - "seed": { + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "TimeFilterMs": { + "properties": { + "startTimeUnixMs": { "type": "number", - "format": "double", - "nullable": true - }, - "stream": { - "type": "boolean", - "nullable": true + "format": "double" }, - "presence_penalty": { + "endTimeUnixMs": { "type": "number", - "format": "double", - "nullable": true + "format": "double" + } + }, + "required": [ + "startTimeUnixMs", + "endTimeUnixMs" + ], + "type": "object", + "additionalProperties": false + }, + "SessionNameQueryParams": { + "properties": { + "nameContains": { + "type": "string" }, - "frequency_penalty": { + "timezoneDifference": { "type": "number", - "format": "double", - "nullable": true - }, - "stop": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "string" - } - ], - "nullable": true + "format": "double" }, - "reasoning_effort": { + "pSize": { "type": "string", "enum": [ - "minimal", - "low", - "medium", - "high", - null - ], - "nullable": true + "p50", + "p75", + "p95", + "p99", + "p99.9" + ] }, - "verbosity": { - "type": "string", - "enum": [ - "low", - "medium", - "high", - null - ], - "nullable": true + "useInterquartile": { + "type": "boolean" }, - "tools": { + "timeFilter": { + "$ref": "#/components/schemas/TimeFilterMs" + }, + "filter": { + "$ref": "#/components/schemas/SessionFilterNode" + } + }, + "required": [ + "nameContains", + "timezoneDifference" + ], + "type": "object", + "additionalProperties": false + }, + "AverageRow": { + "properties": { + "average": { + "type": "number", + "format": "double" + } + }, + "required": [ + "average" + ], + "type": "object", + "additionalProperties": false + }, + "SessionMetrics": { + "properties": { + "session_count": { "items": { - "$ref": "#/components/schemas/Tool" + "$ref": "#/components/schemas/HistogramRow" }, "type": "array" }, - "parallel_tool_calls": { - "type": "boolean", - "nullable": true + "session_duration": { + "items": { + "$ref": "#/components/schemas/HistogramRow" + }, + "type": "array" }, - "tool_choice": { - "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "none", - "auto", - "any", - "tool" - ] - } + "session_cost": { + "items": { + "$ref": "#/components/schemas/HistogramRow" }, - "required": [ - "type" - ], - "type": "object" + "type": "array" }, - "response_format": { + "average": { "properties": { - "json_schema": {}, - "type": { - "type": "string" + "session_cost": { + "items": { + "$ref": "#/components/schemas/AverageRow" + }, + "type": "array" + }, + "session_duration": { + "items": { + "$ref": "#/components/schemas/AverageRow" + }, + "type": "array" + }, + "session_count": { + "items": { + "$ref": "#/components/schemas/AverageRow" + }, + "type": "array" } }, "required": [ - "type" + "session_cost", + "session_duration", + "session_count" ], "type": "object" + } + }, + "required": [ + "session_count", + "session_duration", + "session_cost", + "average" + ], + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_SessionMetrics_": { + "properties": { + "data": { + "$ref": "#/components/schemas/SessionMetrics" }, - "toolDetails": { - "$ref": "#/components/schemas/HeliconeEventTool" + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true + } + }, + "required": [ + "data", + "error" + ], + "type": "object", + "additionalProperties": false + }, + "Result_SessionMetrics.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_SessionMetrics_" }, - "vectorDBDetails": { - "$ref": "#/components/schemas/HeliconeEventVectorDB" + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "SessionMetricsQueryParams": { + "properties": { + "nameContains": { + "type": "string" }, - "dataDetails": { - "$ref": "#/components/schemas/HeliconeEventData" + "timezoneDifference": { + "type": "number", + "format": "double" }, - "input": { - "anyOf": [ - { - "type": "string" - }, - { - "items": { - "type": "string" - }, - "type": "array" - } + "pSize": { + "type": "string", + "enum": [ + "p50", + "p75", + "p95", + "p99", + "p99.9" ] }, - "n": { - "type": "number", - "format": "double", - "nullable": true + "useInterquartile": { + "type": "boolean" }, - "size": { - "type": "string" + "timeFilter": { + "$ref": "#/components/schemas/TimeFilterMs" }, - "quality": { - "type": "string" + "filter": { + "$ref": "#/components/schemas/SessionFilterNode" } }, + "required": [ + "nameContains", + "timezoneDifference" + ], "type": "object", "additionalProperties": false }, - "Response": { + "ResultSuccess_string-or-null_": { "properties": { - "contentArray": { - "items": { - "$ref": "#/components/schemas/Response" - }, - "type": "array" - }, - "detail": { - "type": "string" - }, - "filename": { - "type": "string" - }, - "file_id": { - "type": "string" + "data": { + "type": "string", + "nullable": true }, - "file_data": { - "type": "string" + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true + } + }, + "required": [ + "data", + "error" + ], + "type": "object", + "additionalProperties": false + }, + "Result_string-or-null.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_string-or-null_" }, - "idx": { + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "MetricsData": { + "properties": { + "totalRequests": { "type": "number", "format": "double" }, - "audio_data": { - "type": "string" + "requestCountPrevious24h": { + "type": "number", + "format": "double" }, - "image_url": { - "type": "string" + "requestVolumeChange": { + "type": "number", + "format": "double" }, - "timestamp": { - "type": "string" + "errorRate24h": { + "type": "number", + "format": "double" }, - "tool_call_id": { - "type": "string" + "errorRatePrevious24h": { + "type": "number", + "format": "double" }, - "tool_calls": { - "items": { - "$ref": "#/components/schemas/FunctionCall" - }, - "type": "array" + "errorRateChange": { + "type": "number", + "format": "double" }, - "text": { - "type": "string" + "averageLatency": { + "type": "number", + "format": "double" }, - "type": { - "type": "string", - "enum": [ - "input_image", - "input_text", - "input_file" - ] + "averageLatencyPerToken": { + "type": "number", + "format": "double" }, - "name": { - "type": "string" + "latencyChange": { + "type": "number", + "format": "double" }, - "role": { - "type": "string", - "enum": [ - "user", - "assistant", - "system", - "developer" - ] + "latencyPerTokenChange": { + "type": "number", + "format": "double" }, - "id": { - "type": "string" + "recentRequestCount": { + "type": "number", + "format": "double" }, - "_type": { - "type": "string", - "enum": [ - "functionCall", - "function", - "image", - "text", - "file", - "contentArray" - ] + "recentErrorCount": { + "type": "number", + "format": "double" } }, "required": [ - "type", - "role", - "_type" + "totalRequests", + "requestCountPrevious24h", + "requestVolumeChange", + "errorRate24h", + "errorRatePrevious24h", + "errorRateChange", + "averageLatency", + "averageLatencyPerToken", + "latencyChange", + "latencyPerTokenChange", + "recentRequestCount", + "recentErrorCount" ], - "type": "object" + "type": "object", + "additionalProperties": false }, - "LLMResponseBody": { + "TimeSeriesDataPoint": { "properties": { - "dataDetailsResponse": { - "properties": { - "name": { - "type": "string" - }, - "_type": { - "type": "string", - "enum": [ - "data" - ], - "nullable": false - }, - "metadata": { - "properties": { - "timestamp": { - "type": "string" - } - }, - "additionalProperties": {}, - "required": [ - "timestamp" - ], - "type": "object" - }, - "message": { - "type": "string" - }, - "status": { - "type": "string" - } - }, - "additionalProperties": {}, - "required": [ - "name", - "_type", - "metadata", - "message", - "status" - ], - "type": "object" - }, - "vectorDBDetailsResponse": { - "properties": { - "_type": { - "type": "string", - "enum": [ - "vector_db" - ], - "nullable": false - }, - "metadata": { - "properties": { - "timestamp": { - "type": "string" - }, - "destination_parsed": { - "type": "boolean" - }, - "destination": { - "type": "string" - } - }, - "required": [ - "timestamp" - ], - "type": "object" - }, - "actualSimilarity": { - "type": "number", - "format": "double" - }, - "similarityThreshold": { - "type": "number", - "format": "double" - }, - "message": { - "type": "string" - }, - "status": { - "type": "string" - } - }, - "required": [ - "_type", - "metadata", - "message", - "status" - ], - "type": "object" - }, - "toolDetailsResponse": { - "properties": { - "toolName": { - "type": "string" - }, - "_type": { - "type": "string", - "enum": [ - "tool" - ], - "nullable": false - }, - "metadata": { - "properties": { - "timestamp": { - "type": "string" - } - }, - "required": [ - "timestamp" - ], - "type": "object" - }, - "tips": { - "items": { - "type": "string" - }, - "type": "array" - }, - "message": { - "type": "string" - }, - "status": { - "type": "string" - } - }, - "required": [ - "toolName", - "_type", - "metadata", - "tips", - "message", - "status" - ], - "type": "object" - }, - "error": { - "properties": { - "heliconeMessage": {} - }, - "required": [ - "heliconeMessage" - ], - "type": "object" - }, - "model": { + "timestamp": { "type": "string", - "nullable": true + "format": "date-time" }, - "instructions": { - "type": "string", - "nullable": true + "errorCount": { + "type": "number", + "format": "double" }, - "responses": { - "items": { - "$ref": "#/components/schemas/Response" - }, - "type": "array", - "nullable": true + "requestCount": { + "type": "number", + "format": "double" }, - "messages": { - "items": { - "$ref": "#/components/schemas/Message" - }, - "type": "array", - "nullable": true + "averageLatency": { + "type": "number", + "format": "double" + }, + "averageLatencyPerCompletionToken": { + "type": "number", + "format": "double" } }, - "type": "object" + "required": [ + "timestamp", + "errorCount", + "requestCount", + "averageLatency", + "averageLatencyPerCompletionToken" + ], + "type": "object", + "additionalProperties": false }, - "LlmSchema": { + "ProviderMetrics": { "properties": { - "request": { - "$ref": "#/components/schemas/LLMRequestBody" + "providerName": { + "type": "string" }, - "response": { + "metrics": { "allOf": [ { - "$ref": "#/components/schemas/LLMResponseBody" + "$ref": "#/components/schemas/MetricsData" + }, + { + "properties": { + "timeSeriesData": { + "items": { + "$ref": "#/components/schemas/TimeSeriesDataPoint" + }, + "type": "array" + } + }, + "required": [ + "timeSeriesData" + ], + "type": "object" } - ], - "nullable": true + ] } }, "required": [ - "request" + "providerName", + "metrics" ], "type": "object", "additionalProperties": false }, - "HeliconeRequest": { + "ResultSuccess_ProviderMetrics-Array_": { "properties": { - "response_id": { - "type": "string", - "nullable": true + "data": { + "items": { + "$ref": "#/components/schemas/ProviderMetrics" + }, + "type": "array" }, - "response_created_at": { - "type": "string", - "nullable": true - }, - "response_body": {}, - "response_status": { + "error": { "type": "number", - "format": "double" - }, - "response_model": { - "type": "string", - "nullable": true - }, - "request_id": { - "type": "string" - }, - "request_created_at": { - "type": "string" - }, - "request_body": {}, - "request_path": { - "type": "string" - }, - "request_user_id": { - "type": "string", - "nullable": true - }, - "request_properties": { - "allOf": [ - { - "$ref": "#/components/schemas/Record_string.string_" - } + "enum": [ + null ], "nullable": true + } + }, + "required": [ + "data", + "error" + ], + "type": "object", + "additionalProperties": false + }, + "Result_ProviderMetrics-Array.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_ProviderMetrics-Array_" }, - "request_model": { - "type": "string", - "nullable": true - }, - "model_override": { - "type": "string", - "nullable": true + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "ResultSuccess_ProviderMetrics_": { + "properties": { + "data": { + "$ref": "#/components/schemas/ProviderMetrics" }, - "helicone_user": { - "type": "string", + "error": { + "type": "number", + "enum": [ + null + ], "nullable": true + } + }, + "required": [ + "data", + "error" + ], + "type": "object", + "additionalProperties": false + }, + "Result_ProviderMetrics.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_ProviderMetrics_" }, + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "TimeFrame": { + "type": "string", + "enum": [ + "24h", + "7d", + "30d" + ] + }, + "ProviderMetric": { + "properties": { "provider": { - "$ref": "#/components/schemas/Provider" + "type": "string" }, - "delay_ms": { + "total_requests": { "type": "number", - "format": "double", - "nullable": true + "format": "double" + } + }, + "required": [ + "provider", + "total_requests" + ], + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_ProviderMetric-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/ProviderMetric" + }, + "type": "array" }, - "time_to_first_token": { + "error": { "type": "number", - "format": "double", + "enum": [ + null + ], "nullable": true + } + }, + "required": [ + "data", + "error" + ], + "type": "object", + "additionalProperties": false + }, + "Result_ProviderMetric-Array.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_ProviderMetric-Array_" }, - "total_tokens": { - "type": "number", - "format": "double", - "nullable": true + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "Partial_UserMetricsToOperators_": { + "properties": { + "user_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "prompt_tokens": { - "type": "number", - "format": "double", - "nullable": true + "last_active": { + "$ref": "#/components/schemas/Partial_TimestampOperators_" }, - "prompt_cache_write_tokens": { - "type": "number", - "format": "double", - "nullable": true + "total_requests": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - "prompt_cache_read_tokens": { - "type": "number", - "format": "double", - "nullable": true + "active_for": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - "completion_tokens": { - "type": "number", - "format": "double", - "nullable": true + "average_requests_per_day_active": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - "reasoning_tokens": { - "type": "number", - "format": "double", - "nullable": true + "average_tokens_per_request": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - "prompt_audio_tokens": { - "type": "number", - "format": "double", - "nullable": true + "total_completion_tokens": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - "completion_audio_tokens": { - "type": "number", - "format": "double", - "nullable": true + "total_prompt_tokens": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, "cost": { - "type": "number", - "format": "double", - "nullable": true + "$ref": "#/components/schemas/Partial_NumberOperators_" + } + }, + "type": "object", + "description": "Make all properties in T optional" + }, + "Partial_UserApiKeysTableToOperators_": { + "properties": { + "api_key_hash": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "prompt_id": { - "type": "string", - "nullable": true + "api_key_name": { + "$ref": "#/components/schemas/Partial_TextOperators_" + } + }, + "type": "object", + "description": "Make all properties in T optional" + }, + "Partial_PropertiesTableToOperators_": { + "properties": { + "auth_hash": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "prompt_version": { - "type": "string", - "nullable": true + "key": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "feedback_created_at": { - "type": "string", - "nullable": true + "value": { + "$ref": "#/components/schemas/Partial_TextOperators_" + } + }, + "type": "object", + "description": "Make all properties in T optional" + }, + "Partial_PromptToOperators_": { + "properties": { + "id": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "feedback_id": { - "type": "string", - "nullable": true + "user_defined_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" + } + }, + "type": "object", + "description": "Make all properties in T optional" + }, + "Partial_PromptVersionsToOperators_": { + "properties": { + "minor_version": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - "feedback_rating": { - "type": "boolean", - "nullable": true - }, - "signed_body_url": { - "type": "string", - "nullable": true - }, - "llmSchema": { - "allOf": [ - { - "$ref": "#/components/schemas/LlmSchema" - } - ], - "nullable": true - }, - "country_code": { - "type": "string", - "nullable": true + "major_version": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - "asset_ids": { - "items": { - "type": "string" - }, - "type": "array", - "nullable": true + "id": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "asset_urls": { - "allOf": [ - { - "$ref": "#/components/schemas/Record_string.string_" - } - ], - "nullable": true + "prompt_v2": { + "$ref": "#/components/schemas/Partial_TextOperators_" + } + }, + "type": "object", + "description": "Make all properties in T optional" + }, + "Partial_ExperimentToOperators_": { + "properties": { + "id": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "scores": { - "allOf": [ - { - "$ref": "#/components/schemas/Record_string.number_" - } - ], - "nullable": true + "prompt_v2": { + "$ref": "#/components/schemas/Partial_TextOperators_" + } + }, + "type": "object", + "description": "Make all properties in T optional" + }, + "Partial_ExperimentHypothesisRunToOperator_": { + "properties": { + "result_request_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" + } + }, + "type": "object", + "description": "Make all properties in T optional" + }, + "Partial_ScoreValueToOperator_": { + "properties": { + "request_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" + } + }, + "type": "object", + "description": "Make all properties in T optional" + }, + "Partial_RequestResponseLogToOperators_": { + "properties": { + "latency": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - "costUSD": { - "type": "number", - "format": "double", - "nullable": true + "status": { + "$ref": "#/components/schemas/Partial_NumberOperators_" }, - "properties": { - "$ref": "#/components/schemas/Record_string.string_" + "request_created_at": { + "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" }, - "assets": { - "items": { - "type": "string" - }, - "type": "array" + "response_created_at": { + "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" }, - "target_url": { - "type": "string" + "auth_hash": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, "model": { - "type": "string" - }, - "cache_reference_id": { - "type": "string", - "nullable": true + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "cache_enabled": { - "type": "boolean" + "user_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "updated_at": { - "type": "string" + "organization_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "request_referrer": { - "type": "string", - "nullable": true + "node_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "ai_gateway_body_mapping": { - "type": "string", - "nullable": true + "job_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "storage_location": { - "type": "string" + "threat": { + "$ref": "#/components/schemas/Partial_BooleanOperators_" } }, - "required": [ - "response_id", - "response_created_at", - "response_status", - "response_model", - "request_id", - "request_created_at", - "request_body", - "request_path", - "request_user_id", - "request_properties", - "request_model", - "model_override", - "helicone_user", - "provider", - "delay_ms", - "time_to_first_token", - "total_tokens", - "prompt_tokens", - "prompt_cache_write_tokens", - "prompt_cache_read_tokens", - "completion_tokens", - "reasoning_tokens", - "prompt_audio_tokens", - "completion_audio_tokens", - "cost", - "prompt_id", - "prompt_version", - "llmSchema", - "country_code", - "asset_ids", - "asset_urls", - "scores", - "properties", - "assets", - "target_url", - "model", - "cache_reference_id", - "cache_enabled", - "ai_gateway_body_mapping" - ], "type": "object", - "additionalProperties": false + "description": "Make all properties in T optional" }, - "ResultSuccess_HeliconeRequest-Array_": { + "Partial_PropertiesV3ToOperators_": { "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/HeliconeRequest" - }, - "type": "array" + "key": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true + "value": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "organization_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" } }, - "required": [ - "data", - "error" - ], "type": "object", - "additionalProperties": false - }, - "Result_HeliconeRequest-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_HeliconeRequest-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] + "description": "Make all properties in T optional" }, - "ResultSuccess_HeliconeRequest_": { + "Partial_PropertyWithResponseV1ToOperators_": { "properties": { - "data": { - "$ref": "#/components/schemas/HeliconeRequest" + "property_key": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true + "property_value": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "request_created_at": { + "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" + }, + "organization_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "threat": { + "$ref": "#/components/schemas/Partial_BooleanOperators_" } }, - "required": [ - "data", - "error" - ], "type": "object", - "additionalProperties": false - }, - "Result_HeliconeRequest.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_HeliconeRequest_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] + "description": "Make all properties in T optional" }, - "ResultSuccess__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null_": { + "Partial_JobToOperators_": { "properties": { - "data": { - "properties": { - "environment": { - "type": "string", - "nullable": true - }, - "version_id": { - "type": "string" - }, - "prompt_id": { - "type": "string" - }, - "inputs": { - "$ref": "#/components/schemas/Record_string.any_" - } + "id": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "name": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "description": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "status": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "created_at": { + "$ref": "#/components/schemas/Partial_TimestampOperators_" + }, + "updated_at": { + "$ref": "#/components/schemas/Partial_TimestampOperators_" + }, + "timeout_seconds": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "custom_properties": { + "properties": {}, + "additionalProperties": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "required": [ - "environment", - "version_id", - "prompt_id", - "inputs" - ], - "type": "object", - "nullable": true + "type": "object" }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true + "org_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" } }, - "required": [ - "data", - "error" - ], "type": "object", - "additionalProperties": false - }, - "Result__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] + "description": "Make all properties in T optional" }, - "HeliconeRequestAsset": { + "Partial_NodesToOperators_": { "properties": { - "assetUrl": { - "type": "string" + "id": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "name": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "description": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "job_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "status": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "created_at": { + "$ref": "#/components/schemas/Partial_TimestampOperators_" + }, + "updated_at": { + "$ref": "#/components/schemas/Partial_TimestampOperators_" + }, + "timeout_seconds": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "custom_properties": { + "properties": {}, + "additionalProperties": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "type": "object" + }, + "org_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" } }, - "required": [ - "assetUrl" - ], "type": "object", - "additionalProperties": false + "description": "Make all properties in T optional" }, - "ResultSuccess_HeliconeRequestAsset_": { + "Partial_CacheMetricsTableToOperators_": { "properties": { - "data": { - "$ref": "#/components/schemas/HeliconeRequestAsset" + "organization_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_HeliconeRequestAsset.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_HeliconeRequestAsset_" + "request_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - { - "$ref": "#/components/schemas/ResultError_string_" + "date": { + "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" + }, + "hour": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "model": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "cache_hit_count": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "saved_latency_ms": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "saved_completion_tokens": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "saved_prompt_tokens": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "saved_completion_audio_tokens": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "saved_prompt_audio_tokens": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "saved_prompt_cache_write_tokens": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "saved_prompt_cache_read_tokens": { + "$ref": "#/components/schemas/Partial_NumberOperators_" + }, + "first_hit": { + "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" + }, + "last_hit": { + "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" + }, + "request_body": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "response_body": { + "$ref": "#/components/schemas/Partial_TextOperators_" } - ] - }, - "Record_string.number-or-boolean-or-undefined_": { - "properties": {}, - "additionalProperties": { - "anyOf": [ - { - "type": "number", - "format": "double" - }, - { - "type": "boolean" - } - ] }, "type": "object", - "description": "Construct a type with a set of properties K of type T" - }, - "Scores": { - "$ref": "#/components/schemas/Record_string.number-or-boolean-or-undefined_" + "description": "Make all properties in T optional" }, - "ScoreRequest": { + "Partial_RateLimitTableToOperators_": { "properties": { - "scores": { - "$ref": "#/components/schemas/Scores" + "organization_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "created_at": { + "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" } }, - "required": [ - "scores" - ], "type": "object", - "additionalProperties": false + "description": "Make all properties in T optional" }, - "ConversationMessage": { + "Partial_OrganizationPropertiesToOperators_": { "properties": { - "role": { - "type": "string" + "organization_id": { + "$ref": "#/components/schemas/Partial_TextOperators_" }, - "content": { - "type": "string" + "property_key": { + "$ref": "#/components/schemas/Partial_TextOperators_" } }, - "required": [ - "role", - "content" - ], "type": "object", - "additionalProperties": false + "description": "Make all properties in T optional" }, - "MostExpensiveRequest": { + "Partial_TablesAndViews_": { "properties": { - "requestId": { - "type": "string" + "user_metrics": { + "$ref": "#/components/schemas/Partial_UserMetricsToOperators_" }, - "cost": { - "type": "number", - "format": "double" + "user_api_keys": { + "$ref": "#/components/schemas/Partial_UserApiKeysTableToOperators_" }, - "model": { - "type": "string" + "response": { + "$ref": "#/components/schemas/Partial_ResponseTableToOperators_" }, - "provider": { - "type": "string" + "request": { + "$ref": "#/components/schemas/Partial_RequestTableToOperators_" }, - "createdAt": { - "type": "string" + "feedback": { + "$ref": "#/components/schemas/Partial_FeedbackTableToOperators_" }, - "promptTokens": { - "type": "number", - "format": "double" + "properties_table": { + "$ref": "#/components/schemas/Partial_PropertiesTableToOperators_" }, - "completionTokens": { + "prompt_v2": { + "$ref": "#/components/schemas/Partial_PromptToOperators_" + }, + "prompts_versions": { + "$ref": "#/components/schemas/Partial_PromptVersionsToOperators_" + }, + "experiment": { + "$ref": "#/components/schemas/Partial_ExperimentToOperators_" + }, + "experiment_hypothesis_run": { + "$ref": "#/components/schemas/Partial_ExperimentHypothesisRunToOperator_" + }, + "score_value": { + "$ref": "#/components/schemas/Partial_ScoreValueToOperator_" + }, + "request_response_log": { + "$ref": "#/components/schemas/Partial_RequestResponseLogToOperators_" + }, + "request_response_rmt": { + "$ref": "#/components/schemas/Partial_RequestResponseRMTToOperators_" + }, + "sessions_request_response_rmt": { + "$ref": "#/components/schemas/Partial_SessionsRequestResponseRMTToOperators_" + }, + "users_view": { + "$ref": "#/components/schemas/Partial_UserViewToOperators_" + }, + "properties_v3": { + "$ref": "#/components/schemas/Partial_PropertiesV3ToOperators_" + }, + "property_with_response_v1": { + "$ref": "#/components/schemas/Partial_PropertyWithResponseV1ToOperators_" + }, + "job": { + "$ref": "#/components/schemas/Partial_JobToOperators_" + }, + "job_node": { + "$ref": "#/components/schemas/Partial_NodesToOperators_" + }, + "cache_metrics": { + "$ref": "#/components/schemas/Partial_CacheMetricsTableToOperators_" + }, + "rate_limit_log": { + "$ref": "#/components/schemas/Partial_RateLimitTableToOperators_" + }, + "organization_properties": { + "$ref": "#/components/schemas/Partial_OrganizationPropertiesToOperators_" + }, + "properties": { + "properties": {}, + "additionalProperties": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "type": "object" + }, + "values": { + "properties": {}, + "additionalProperties": { + "$ref": "#/components/schemas/Partial_TextOperators_" + }, + "type": "object" + } + }, + "type": "object", + "description": "Make all properties in T optional" + }, + "SingleKey_TablesAndViews_": { + "$ref": "#/components/schemas/Partial_TablesAndViews_" + }, + "FilterLeaf": { + "$ref": "#/components/schemas/SingleKey_TablesAndViews_" + }, + "FilterNode": { + "anyOf": [ + { + "$ref": "#/components/schemas/FilterLeaf" + }, + { + "$ref": "#/components/schemas/FilterBranch" + }, + { + "properties": {}, + "type": "object" + }, + { + "type": "string", + "enum": [ + "all" + ] + } + ] + }, + "FilterBranch": { + "properties": { + "left": { + "$ref": "#/components/schemas/FilterNode" + }, + "operator": { + "type": "string", + "enum": [ + "or", + "and" + ] + }, + "right": { + "$ref": "#/components/schemas/FilterNode" + } + }, + "required": [ + "left", + "operator", + "right" + ], + "type": "object", + "additionalProperties": false + }, + "ProviderQueryParams": { + "properties": { + "filter": { + "$ref": "#/components/schemas/FilterNode" + }, + "offset": { "type": "number", "format": "double" }, - "conversation": { + "limit": { + "type": "number", + "format": "double" + }, + "timeFilter": { "properties": { - "totalWords": { - "type": "number", - "format": "double" - }, - "turnCount": { - "type": "number", - "format": "double" + "end": { + "type": "string" }, - "messages": { - "items": { - "$ref": "#/components/schemas/ConversationMessage" - }, - "type": "array" + "start": { + "type": "string" } }, "required": [ - "totalWords", - "turnCount", - "messages" + "end", + "start" ], - "type": "object", - "nullable": true + "type": "object" } }, "required": [ - "requestId", - "cost", - "model", - "provider", - "createdAt", - "promptTokens", - "completionTokens", - "conversation" + "filter", + "offset", + "limit", + "timeFilter" ], "type": "object", "additionalProperties": false }, - "WrappedStats": { + "ResultSuccess__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array_": { "properties": { - "totalRequests": { - "type": "number", - "format": "double" - }, - "topProviders": { + "data": { "items": { "properties": { - "count": { + "created_at_trunc": { + "type": "string" + }, + "request_count": { "type": "number", "format": "double" }, - "provider": { - "type": "string" - } - }, - "required": [ - "count", - "provider" - ], - "type": "object" - }, - "type": "array" - }, - "topModels": { - "items": { - "properties": { - "count": { + "total_cost": { "type": "number", "format": "double" }, - "model": { + "property": { "type": "string" } }, "required": [ - "count", - "model" + "created_at_trunc", + "request_count", + "total_cost", + "property" ], "type": "object" }, "type": "array" }, - "totalTokens": { - "properties": { - "total": { - "type": "number", - "format": "double" - }, - "cacheRead": { - "type": "number", - "format": "double" - }, - "cacheWrite": { - "type": "number", - "format": "double" - }, - "completion": { - "type": "number", - "format": "double" - }, - "prompt": { - "type": "number", - "format": "double" - } - }, - "required": [ - "total", - "cacheRead", - "cacheWrite", - "completion", - "prompt" - ], - "type": "object" - }, - "mostExpensiveRequest": { - "allOf": [ - { - "$ref": "#/components/schemas/MostExpensiveRequest" - } + "error": { + "type": "number", + "enum": [ + null ], "nullable": true } }, "required": [ - "totalRequests", - "topProviders", - "topModels", - "totalTokens", - "mostExpensiveRequest" + "data", + "error" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_WrappedStats_": { - "properties": { - "data": { - "$ref": "#/components/schemas/WrappedStats" + "Result__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array_" }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "Pick_FilterLeaf.request_response_rmt_": { + "properties": { + "request_response_rmt": { + "$ref": "#/components/schemas/Partial_RequestResponseRMTToOperators_" } }, - "required": [ - "data", - "error" - ], "type": "object", - "additionalProperties": false + "description": "From T, pick a set of properties whose keys are in the union K" }, - "Result_WrappedStats.string_": { + "FilterLeafSubset_request_response_rmt_": { + "$ref": "#/components/schemas/Pick_FilterLeaf.request_response_rmt_" + }, + "RequestClickhouseFilterNode": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_WrappedStats_" + "$ref": "#/components/schemas/FilterLeafSubset_request_response_rmt_" }, { - "$ref": "#/components/schemas/ResultError_string_" + "$ref": "#/components/schemas/RequestClickhouseFilterBranch" + }, + { + "type": "string", + "enum": [ + "all" + ] } ] }, - "ResultSuccess__hasData-boolean__": { + "RequestClickhouseFilterBranch": { "properties": { - "data": { + "right": { + "$ref": "#/components/schemas/RequestClickhouseFilterNode" + }, + "operator": { + "type": "string", + "enum": [ + "or", + "and" + ] + }, + "left": { + "$ref": "#/components/schemas/RequestClickhouseFilterNode" + } + }, + "required": [ + "right", + "operator", + "left" + ], + "type": "object" + }, + "TimeIncrement": { + "type": "string", + "enum": [ + "min", + "hour", + "day", + "week", + "month", + "year" + ] + }, + "DataOverTimeRequest": { + "properties": { + "timeFilter": { "properties": { - "hasData": { - "type": "boolean" + "end": { + "type": "string" + }, + "start": { + "type": "string" } }, "required": [ - "hasData" + "end", + "start" ], "type": "object" }, + "userFilter": { + "$ref": "#/components/schemas/RequestClickhouseFilterNode" + }, + "dbIncrement": { + "$ref": "#/components/schemas/TimeIncrement" + }, + "timeZoneDifference": { + "type": "number", + "format": "double" + } + }, + "required": [ + "timeFilter", + "userFilter", + "dbIncrement", + "timeZoneDifference" + ], + "type": "object", + "additionalProperties": false + }, + "Property": { + "properties": { + "property": { + "type": "string" + } + }, + "required": [ + "property" + ], + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_Property-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/Property" + }, + "type": "array" + }, "error": { "type": "number", "enum": [ @@ -6128,19 +6290,22 @@ "type": "object", "additionalProperties": false }, - "Result__hasData-boolean_.string_": { + "Result_Property-Array.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess__hasData-boolean__" + "$ref": "#/components/schemas/ResultSuccess_Property-Array_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "ResultSuccess_unknown_": { + "ResultSuccess_unknown-Array_": { "properties": { - "data": {}, + "data": { + "items": {}, + "type": "array" + }, "error": { "type": "number", "enum": [ @@ -6156,16 +6321,21 @@ "type": "object", "additionalProperties": false }, - "ResultError_unknown_": { + "ResultSuccess_string-Array_": { "properties": { "data": { + "items": { + "type": "string" + }, + "type": "array" + }, + "error": { "type": "number", "enum": [ null ], "nullable": true - }, - "error": {} + } }, "required": [ "data", @@ -6174,56 +6344,32 @@ "type": "object", "additionalProperties": false }, - "WebhookData": { - "properties": { - "destination": { - "type": "string" - }, - "config": { - "$ref": "#/components/schemas/Record_string.any_" + "Result_string-Array.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_string-Array_" }, - "includeData": { - "type": "boolean" + { + "$ref": "#/components/schemas/ResultError_string_" } - }, - "required": [ - "destination", - "config" - ], - "type": "object", - "additionalProperties": false + ] }, - "ResultSuccess__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array_": { + "ResultSuccess__value-string--cost-number_-Array_": { "properties": { "data": { "items": { "properties": { - "hmac_key": { - "type": "string" - }, - "config": { - "type": "string" - }, - "version": { - "type": "string" - }, - "destination": { - "type": "string" - }, - "created_at": { - "type": "string" + "cost": { + "type": "number", + "format": "double" }, - "id": { + "value": { "type": "string" } }, "required": [ - "hmac_key", - "config", - "version", - "destination", - "created_at", - "id" + "cost", + "value" ], "type": "object" }, @@ -6244,32 +6390,60 @@ "type": "object", "additionalProperties": false }, - "Result__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array.string_": { + "Result__value-string--cost-number_-Array.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array_" + "$ref": "#/components/schemas/ResultSuccess__value-string--cost-number_-Array_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "ResultSuccess__success-boolean--message-string__": { + "TimeFilterRequest": { "properties": { - "data": { + "timeFilter": { "properties": { - "message": { + "end": { "type": "string" }, - "success": { - "type": "boolean" + "start": { + "type": "string" } }, "required": [ - "message", - "success" + "end", + "start" ], "type": "object" + } + }, + "required": [ + "timeFilter" + ], + "type": "object", + "additionalProperties": false + }, + "ResultSuccess__value-string--count-number_-Array_": { + "properties": { + "data": { + "items": { + "properties": { + "count": { + "type": "number", + "format": "double" + }, + "value": { + "type": "string" + } + }, + "required": [ + "count", + "value" + ], + "type": "object" + }, + "type": "array" }, "error": { "type": "number", @@ -6286,42 +6460,47 @@ "type": "object", "additionalProperties": false }, - "Result__success-boolean--message-string_.string_": { + "Result__value-string--count-number_-Array.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess__success-boolean--message-string__" + "$ref": "#/components/schemas/ResultSuccess__value-string--count-number_-Array_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "AddVaultKeyParams": { + "Prompt2025": { "properties": { - "key": { + "id": { "type": "string" }, - "provider": { + "name": { "type": "string" }, - "name": { + "tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "created_at": { "type": "string" } }, "required": [ - "key", - "provider" + "id", + "name", + "tags", + "created_at" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_DecryptedProviderKey-Array_": { + "ResultSuccess_Prompt2025_": { "properties": { "data": { - "items": { - "$ref": "#/components/schemas/DecryptedProviderKey" - }, - "type": "array" + "$ref": "#/components/schemas/Prompt2025" }, "error": { "type": "number", @@ -6338,20 +6517,40 @@ "type": "object", "additionalProperties": false }, - "Result_DecryptedProviderKey-Array.string_": { + "Result_Prompt2025.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_DecryptedProviderKey-Array_" + "$ref": "#/components/schemas/ResultSuccess_Prompt2025_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "ResultSuccess_DecryptedProviderKey_": { + "Prompt2025Input": { + "properties": { + "request_id": { + "type": "string" + }, + "version_id": { + "type": "string" + }, + "inputs": { + "$ref": "#/components/schemas/Record_string.any_" + } + }, + "required": [ + "request_id", + "version_id", + "inputs" + ], + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_Prompt2025Input_": { "properties": { "data": { - "$ref": "#/components/schemas/DecryptedProviderKey" + "$ref": "#/components/schemas/Prompt2025Input" }, "error": { "type": "number", @@ -6368,59 +6567,36 @@ "type": "object", "additionalProperties": false }, - "Result_DecryptedProviderKey.string_": { + "Result_Prompt2025Input.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_DecryptedProviderKey_" + "$ref": "#/components/schemas/ResultSuccess_Prompt2025Input_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "HistogramRow": { + "PromptCreateResponse": { "properties": { - "range_start": { + "id": { "type": "string" }, - "range_end": { + "versionId": { "type": "string" - }, - "value": { - "type": "number", - "format": "double" } }, "required": [ - "range_start", - "range_end", - "value" + "id", + "versionId" ], "type": "object", "additionalProperties": false }, - "ResultSuccess__request_count-HistogramRow-Array--user_cost-HistogramRow-Array__": { + "ResultSuccess_PromptCreateResponse_": { "properties": { "data": { - "properties": { - "user_cost": { - "items": { - "$ref": "#/components/schemas/HistogramRow" - }, - "type": "array" - }, - "request_count": { - "items": { - "$ref": "#/components/schemas/HistogramRow" - }, - "type": "array" - } - }, - "required": [ - "user_cost", - "request_count" - ], - "type": "object" + "$ref": "#/components/schemas/PromptCreateResponse" }, "error": { "type": "number", @@ -6437,345 +6613,340 @@ "type": "object", "additionalProperties": false }, - "Result__request_count-HistogramRow-Array--user_cost-HistogramRow-Array_.string_": { + "Result_PromptCreateResponse.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess__request_count-HistogramRow-Array--user_cost-HistogramRow-Array__" + "$ref": "#/components/schemas/ResultSuccess_PromptCreateResponse_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "Partial_UserViewToOperators_": { + "OpenAIChatRequest": { + "description": "Simplified interface for the OpenAI Chat request format", "properties": { - "user_user_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "user_active_for": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "user_first_active": { - "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" + "model": { + "type": "string" }, - "user_last_active": { - "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" + "messages": { + "items": { + "properties": { + "tool_calls": { + "items": { + "properties": { + "type": { + "type": "string", + "enum": [ + "function" + ], + "nullable": false + }, + "function": { + "properties": { + "arguments": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "arguments", + "name" + ], + "type": "object" + }, + "id": { + "type": "string" + } + }, + "required": [ + "type", + "function", + "id" + ], + "type": "object" + }, + "type": "array" + }, + "tool_call_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "content": { + "anyOf": [ + { + "type": "string" + }, + { + "items": { + "properties": { + "image_url": { + "properties": { + "url": { + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" + }, + "text": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + "type": "array" + } + ], + "nullable": true + }, + "role": { + "type": "string" + } + }, + "required": [ + "content", + "role" + ], + "type": "object" + }, + "type": "array" }, - "user_total_requests": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "temperature": { + "type": "number", + "format": "double" }, - "user_average_requests_per_day_active": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "top_p": { + "type": "number", + "format": "double" }, - "user_average_tokens_per_request": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "max_tokens": { + "type": "number", + "format": "double" }, - "user_total_completion_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "max_completion_tokens": { + "type": "number", + "format": "double" }, - "user_total_prompt_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "stream": { + "type": "boolean" }, - "user_cost": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - } - }, - "type": "object", - "description": "Make all properties in T optional" - }, - "Pick_FilterLeaf.users_view-or-request_response_rmt_": { - "properties": { - "request_response_rmt": { - "$ref": "#/components/schemas/Partial_RequestResponseRMTToOperators_" + "stop": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "string" + } + ] }, - "users_view": { - "$ref": "#/components/schemas/Partial_UserViewToOperators_" - } - }, - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "FilterLeafSubset_users_view-or-request_response_rmt_": { - "$ref": "#/components/schemas/Pick_FilterLeaf.users_view-or-request_response_rmt_" - }, - "UserFilterNode": { - "anyOf": [ - { - "$ref": "#/components/schemas/FilterLeafSubset_users_view-or-request_response_rmt_" + "tools": { + "items": { + "properties": { + "function": { + "properties": { + "strict": { + "type": "boolean" + }, + "parameters": { + "$ref": "#/components/schemas/Record_string.any_" + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "type": { + "type": "string", + "enum": [ + "function" + ], + "nullable": false + } + }, + "required": [ + "function", + "type" + ], + "type": "object" + }, + "type": "array" }, - { - "$ref": "#/components/schemas/UserFilterBranch" + "tool_choice": { + "anyOf": [ + { + "properties": { + "function": { + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "function" + ], + "nullable": false + } + }, + "required": [ + "name", + "type" + ], + "type": "object" + }, + "type": { + "type": "string" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + { + "type": "string", + "enum": [ + "none", + "auto", + "required" + ] + } + ] }, - { + "parallel_tool_calls": { + "type": "boolean" + }, + "reasoning_effort": { "type": "string", "enum": [ - "all" + "minimal", + "low", + "medium", + "high" ] - } - ] - }, - "UserFilterBranch": { - "properties": { - "right": { - "$ref": "#/components/schemas/UserFilterNode" }, - "operator": { + "verbosity": { "type": "string", "enum": [ - "or", - "and" + "low", + "medium", + "high" ] }, - "left": { - "$ref": "#/components/schemas/UserFilterNode" - } - }, - "required": [ - "right", - "operator", - "left" - ], - "type": "object" - }, - "PSize": { - "type": "string", - "enum": [ - "p50", - "p75", - "p95", - "p99", - "p99.9" - ] - }, - "UserMetricsResult": { - "properties": { - "id": { - "type": "string" - }, - "user_id": { - "type": "string" - }, - "active_for": { + "frequency_penalty": { "type": "number", "format": "double" }, - "first_active": { - "type": "string" - }, - "last_active": { - "type": "string" - }, - "total_requests": { + "presence_penalty": { "type": "number", "format": "double" }, - "average_requests_per_day_active": { - "type": "number", - "format": "double" + "logit_bias": { + "$ref": "#/components/schemas/Record_string.number_" }, - "average_tokens_per_request": { - "type": "number", - "format": "double" + "logprobs": { + "type": "boolean" }, - "total_completion_tokens": { + "top_logprobs": { "type": "number", "format": "double" }, - "total_prompt_tokens": { + "n": { "type": "number", "format": "double" }, - "cost": { - "type": "number", - "format": "double" - } - }, - "required": [ - "id", - "user_id", - "active_for", - "first_active", - "last_active", - "total_requests", - "average_requests_per_day_active", - "average_tokens_per_request", - "total_completion_tokens", - "total_prompt_tokens", - "cost" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess__users-UserMetricsResult-Array--count-number--hasUsers-boolean__": { - "properties": { - "data": { + "modalities": { + "items": { + "type": "string" + }, + "type": "array" + }, + "prediction": {}, + "audio": {}, + "response_format": { "properties": { - "hasUsers": { - "type": "boolean" - }, - "count": { - "type": "number", - "format": "double" - }, - "users": { - "items": { - "$ref": "#/components/schemas/UserMetricsResult" - }, - "type": "array" + "json_schema": {}, + "type": { + "type": "string" } }, "required": [ - "hasUsers", - "count", - "users" + "type" ], "type": "object" }, - "error": { + "seed": { "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result__users-UserMetricsResult-Array--count-number--hasUsers-boolean_.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__users-UserMetricsResult-Array--count-number--hasUsers-boolean__" + "format": "double" }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "SortLeafUsers": { - "properties": { - "id": { - "$ref": "#/components/schemas/SortDirection" + "service_tier": { + "type": "string" }, - "user_id": { - "$ref": "#/components/schemas/SortDirection" + "store": { + "type": "boolean" }, - "active_for": { - "$ref": "#/components/schemas/SortDirection" - }, - "first_active": { - "$ref": "#/components/schemas/SortDirection" - }, - "last_active": { - "$ref": "#/components/schemas/SortDirection" - }, - "total_requests": { - "$ref": "#/components/schemas/SortDirection" - }, - "average_requests_per_day_active": { - "$ref": "#/components/schemas/SortDirection" - }, - "average_tokens_per_request": { - "$ref": "#/components/schemas/SortDirection" - }, - "total_prompt_tokens": { - "$ref": "#/components/schemas/SortDirection" - }, - "total_completion_tokens": { - "$ref": "#/components/schemas/SortDirection" - }, - "cost": { - "$ref": "#/components/schemas/SortDirection" - }, - "rate_limited_count": { - "$ref": "#/components/schemas/SortDirection" - } - }, - "type": "object" - }, - "UserMetricsQueryParams": { - "properties": { - "filter": { - "$ref": "#/components/schemas/UserFilterNode" - }, - "offset": { - "type": "number", - "format": "double" + "stream_options": {}, + "metadata": { + "$ref": "#/components/schemas/Record_string.string_" }, - "limit": { - "type": "number", - "format": "double" + "user": { + "type": "string" }, - "timeFilter": { - "properties": { - "endTimeUnixSeconds": { - "type": "number", - "format": "double" + "function_call": { + "anyOf": [ + { + "type": "string" }, - "startTimeUnixSeconds": { - "type": "number", - "format": "double" + { + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" } - }, - "required": [ - "endTimeUnixSeconds", - "startTimeUnixSeconds" - ], - "type": "object" - }, - "timeZoneDifferenceMinutes": { - "type": "number", - "format": "double" + ] }, - "sort": { - "$ref": "#/components/schemas/SortLeafUsers" + "functions": { + "items": {}, + "type": "array" } }, - "required": [ - "filter", - "offset", - "limit" - ], "type": "object", "additionalProperties": false }, - "ResultSuccess__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array_": { + "ResultSuccess_Prompt2025-Array_": { "properties": { "data": { "items": { - "properties": { - "cost": { - "type": "number", - "format": "double" - }, - "user_id": { - "type": "string" - }, - "completion_tokens": { - "type": "number", - "format": "double" - }, - "prompt_tokens": { - "type": "number", - "format": "double" - }, - "count": { - "type": "number", - "format": "double" - } - }, - "required": [ - "cost", - "user_id", - "completion_tokens", - "prompt_tokens", - "count" - ], - "type": "object" + "$ref": "#/components/schemas/Prompt2025" }, "type": "array" }, @@ -6794,474 +6965,478 @@ "type": "object", "additionalProperties": false }, - "Result__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array.string_": { + "Result_Prompt2025-Array.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array_" + "$ref": "#/components/schemas/ResultSuccess_Prompt2025-Array_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "UserQueryParams": { + "Prompt2025VersionPromptBody": { "properties": { - "userIds": { + "model": { + "type": "string" + }, + "messages": { "items": { - "type": "string" + "properties": { + "tool_calls": { + "items": { + "properties": { + "type": { + "type": "string", + "enum": [ + "function" + ], + "nullable": false + }, + "function": { + "properties": { + "arguments": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "arguments", + "name" + ], + "type": "object" + }, + "id": { + "type": "string" + } + }, + "required": [ + "type", + "function", + "id" + ], + "type": "object" + }, + "type": "array" + }, + "tool_call_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "content": { + "anyOf": [ + { + "type": "string" + }, + { + "items": { + "properties": { + "image_url": { + "properties": { + "url": { + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" + }, + "text": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + "type": "array" + } + ], + "nullable": true + }, + "role": { + "type": "string" + } + }, + "required": [ + "content", + "role" + ], + "type": "object" }, "type": "array" }, - "timeFilter": { - "properties": { - "endTimeUnixSeconds": { - "type": "number", - "format": "double" - }, - "startTimeUnixSeconds": { - "type": "number", - "format": "double" - } - }, - "required": [ - "endTimeUnixSeconds", - "startTimeUnixSeconds" - ], - "type": "object" - } - }, - "type": "object", - "additionalProperties": false - }, - "ValidationError": { - "properties": { - "field": { - "type": "string" + "temperature": { + "type": "number", + "format": "double" }, - "message": { - "type": "string" + "top_p": { + "type": "number", + "format": "double" + }, + "max_tokens": { + "type": "number", + "format": "double" + }, + "tools": { + "items": { + "properties": { + "function": { + "properties": { + "parameters": { + "$ref": "#/components/schemas/Record_string.unknown_" + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "parameters", + "description", + "name" + ], + "type": "object" + }, + "type": { + "type": "string", + "enum": [ + "function" + ], + "nullable": false + } + }, + "required": [ + "function", + "type" + ], + "type": "object" + }, + "type": "array" + }, + "tool_choice": { + "anyOf": [ + { + "type": "string" + }, + { + "properties": { + "function": { + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "function" + ], + "nullable": false + } + }, + "required": [ + "name", + "type" + ], + "type": "object" + }, + "type": { + "type": "string" + } + }, + "required": [ + "type" + ], + "type": "object" + } + ] } }, - "required": [ - "field", - "message" - ], "type": "object", - "additionalProperties": false + "additionalProperties": {} }, - "ValidationResult": { + "Prompt2025Version": { "properties": { - "isValid": { - "type": "boolean" + "id": { + "type": "string" }, - "errors": { + "model": { + "type": "string" + }, + "prompt_id": { + "type": "string" + }, + "major_version": { + "type": "number", + "format": "double" + }, + "minor_version": { + "type": "number", + "format": "double" + }, + "commit_message": { + "type": "string" + }, + "environments": { "items": { - "$ref": "#/components/schemas/ValidationError" + "type": "string" }, "type": "array" + }, + "created_at": { + "type": "string" + }, + "s3_url": { + "type": "string" + }, + "prompt_body": { + "$ref": "#/components/schemas/Prompt2025VersionPromptBody", + "description": "The full prompt body including messages. Only included when explicitly requested\nvia the `includePromptBody` parameter to avoid unnecessary data transfer." } }, "required": [ - "isValid", - "errors" + "id", + "model", + "prompt_id", + "major_version", + "minor_version", + "commit_message", + "created_at" ], "type": "object", "additionalProperties": false }, - "TypedProviderRequest": { + "ResultSuccess_Prompt2025Version_": { "properties": { - "url": { - "type": "string" - }, - "json": { - "$ref": "#/components/schemas/Record_string.unknown_" + "data": { + "$ref": "#/components/schemas/Prompt2025Version" }, - "meta": { - "$ref": "#/components/schemas/Record_string.string_" + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, "required": [ - "url", - "json", - "meta" + "data", + "error" ], "type": "object", "additionalProperties": false }, - "TypedProviderResponse": { - "properties": { - "json": { - "$ref": "#/components/schemas/Record_string.unknown_" + "Result_Prompt2025Version.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_Prompt2025Version_" }, - "textBody": { - "type": "string" + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "ResultSuccess_Prompt2025Version-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/Prompt2025Version" + }, + "type": "array" }, - "status": { + "error": { "type": "number", - "format": "double" - }, - "headers": { - "$ref": "#/components/schemas/Record_string.string_" + "enum": [ + null + ], + "nullable": true } }, "required": [ - "status", - "headers" + "data", + "error" ], "type": "object", "additionalProperties": false }, - "TypedTiming": { + "Result_Prompt2025Version-Array.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_Prompt2025Version-Array_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "PromptVersionCounts": { "properties": { - "timeToFirstToken": { + "totalVersions": { "type": "number", "format": "double" }, - "startTime": { - "type": "string" - }, - "endTime": { - "type": "string" + "majorVersions": { + "type": "number", + "format": "double" } }, "required": [ - "startTime", - "endTime" + "totalVersions", + "majorVersions" ], "type": "object", "additionalProperties": false }, - "TypedAsyncLogModel": { + "ResultSuccess_PromptVersionCounts_": { "properties": { - "providerRequest": { - "$ref": "#/components/schemas/TypedProviderRequest" - }, - "providerResponse": { - "$ref": "#/components/schemas/TypedProviderResponse" - }, - "timing": { - "$ref": "#/components/schemas/TypedTiming" + "data": { + "$ref": "#/components/schemas/PromptVersionCounts" }, - "provider": { - "$ref": "#/components/schemas/Provider" + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, "required": [ - "providerRequest", - "providerResponse" + "data", + "error" ], "type": "object", "additionalProperties": false }, - "OTELTrace": { + "Result_PromptVersionCounts.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_PromptVersionCounts_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "ResultSuccess_Prompt2025Version_91_prompt_body_93__": { "properties": { - "resourceSpans": { - "items": { - "properties": { - "scopeSpans": { - "items": { - "properties": { - "spans": { - "items": { - "properties": { - "droppedLinksCount": { - "type": "number", - "format": "double" - }, - "links": { - "items": {}, - "type": "array" - }, - "status": { - "properties": { - "code": { - "type": "number", - "format": "double" - } - }, - "required": [ - "code" - ], - "type": "object" - }, - "droppedEventsCount": { - "type": "number", - "format": "double" - }, - "events": { - "items": {}, - "type": "array" - }, - "droppedAttributesCount": { - "type": "number", - "format": "double" - }, - "attributes": { - "items": { - "properties": { - "value": { - "properties": { - "intValue": { - "type": "number", - "format": "double" - }, - "stringValue": { - "type": "string" - } - }, - "type": "object" - }, - "key": { - "type": "string" - } - }, - "required": [ - "value", - "key" - ], - "type": "object" - }, - "type": "array" - }, - "endTimeUnixNano": { - "type": "string" - }, - "startTimeUnixNano": { - "type": "string" - }, - "kind": { - "type": "number", - "format": "double" - }, - "name": { - "type": "string" - }, - "spanId": { - "type": "string" - }, - "traceId": { - "type": "string" - } - }, - "required": [ - "droppedLinksCount", - "links", - "status", - "droppedEventsCount", - "events", - "droppedAttributesCount", - "attributes", - "endTimeUnixNano", - "startTimeUnixNano", - "kind", - "name", - "spanId", - "traceId" - ], - "type": "object" - }, - "type": "array" - }, - "scope": { - "properties": { - "version": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "version", - "name" - ], - "type": "object" - } - }, - "required": [ - "spans", - "scope" - ], - "type": "object" - }, - "type": "array" - }, - "resource": { - "properties": { - "droppedAttributesCount": { - "type": "number", - "format": "double" - }, - "attributes": { - "items": { - "properties": { - "value": { - "properties": { - "arrayValue": { - "properties": { - "values": { - "items": { - "properties": { - "stringValue": { - "type": "string" - } - }, - "required": [ - "stringValue" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "values" - ], - "type": "object" - }, - "intValue": { - "type": "number", - "format": "double" - }, - "stringValue": { - "type": "string" - } - }, - "type": "object" - }, - "key": { - "type": "string" - } - }, - "required": [ - "value", - "key" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "droppedAttributesCount", - "attributes" - ], - "type": "object" - } - }, - "required": [ - "scopeSpans", - "resource" - ], - "type": "object" - }, - "type": "array" + "data": { + "$ref": "#/components/schemas/Prompt2025VersionPromptBody" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, "required": [ - "resourceSpans" + "data", + "error" ], - "type": "object" + "type": "object", + "additionalProperties": false }, - "SendTestRequestResponse": { - "properties": { - "success": { - "type": "boolean" - }, - "response": { - "type": "string" + "Result_Prompt2025Version_91_prompt_body_93_.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_Prompt2025Version_91_prompt_body_93__" }, - "requestId": { - "type": "string" + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "ResultSuccess__hasPrompts-boolean__": { + "properties": { + "data": { + "properties": { + "hasPrompts": { + "type": "boolean" + } + }, + "required": [ + "hasPrompts" + ], + "type": "object" }, "error": { - "type": "string" + "type": "number", + "enum": [ + null + ], + "nullable": true } }, "required": [ - "success" + "data", + "error" ], "type": "object", "additionalProperties": false }, - "SendTestRequestRequest": { - "properties": { - "apiKey": { - "type": "string" + "Result__hasPrompts-boolean_.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess__hasPrompts-boolean__" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } - }, - "required": [ - "apiKey" - ], - "type": "object", - "additionalProperties": false + ] }, - "SessionResult": { + "PromptsResult": { "properties": { - "created_at": { + "id": { "type": "string" }, - "latest_request_created_at": { + "user_defined_id": { "type": "string" }, - "session_id": { + "description": { "type": "string" }, - "session_name": { + "pretty_name": { "type": "string" }, - "total_cost": { - "type": "number", - "format": "double" - }, - "total_requests": { - "type": "number", - "format": "double" - }, - "prompt_tokens": { - "type": "number", - "format": "double" - }, - "completion_tokens": { - "type": "number", - "format": "double" - }, - "total_tokens": { - "type": "number", - "format": "double" + "created_at": { + "type": "string" }, - "avg_latency": { + "major_version": { "type": "number", "format": "double" }, - "user_ids": { - "items": { - "type": "string" - }, - "type": "array" + "metadata": { + "$ref": "#/components/schemas/Record_string.any_" } }, "required": [ + "id", + "user_defined_id", + "description", + "pretty_name", "created_at", - "latest_request_created_at", - "session_id", - "session_name", - "total_cost", - "total_requests", - "prompt_tokens", - "completion_tokens", - "total_tokens", - "avg_latency", - "user_ids" + "major_version" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_SessionResult-Array_": { + "ResultSuccess_PromptsResult-Array_": { "properties": { "data": { "items": { - "$ref": "#/components/schemas/SessionResult" + "$ref": "#/components/schemas/PromptsResult" }, "type": "array" }, @@ -7280,38 +7455,35 @@ "type": "object", "additionalProperties": false }, - "Result_SessionResult-Array.string_": { + "Result_PromptsResult-Array.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_SessionResult-Array_" + "$ref": "#/components/schemas/ResultSuccess_PromptsResult-Array_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "Pick_FilterLeaf.request_response_rmt-or-sessions_request_response_rmt_": { + "Pick_FilterLeaf.prompt_v2_": { "properties": { - "request_response_rmt": { - "$ref": "#/components/schemas/Partial_RequestResponseRMTToOperators_" - }, - "sessions_request_response_rmt": { - "$ref": "#/components/schemas/Partial_SessionsRequestResponseRMTToOperators_" + "prompt_v2": { + "$ref": "#/components/schemas/Partial_PromptToOperators_" } }, "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" }, - "FilterLeafSubset_request_response_rmt-or-sessions_request_response_rmt_": { - "$ref": "#/components/schemas/Pick_FilterLeaf.request_response_rmt-or-sessions_request_response_rmt_" + "FilterLeafSubset_prompt_v2_": { + "$ref": "#/components/schemas/Pick_FilterLeaf.prompt_v2_" }, - "SessionFilterNode": { + "PromptsFilterNode": { "anyOf": [ { - "$ref": "#/components/schemas/FilterLeafSubset_request_response_rmt-or-sessions_request_response_rmt_" + "$ref": "#/components/schemas/FilterLeafSubset_prompt_v2_" }, { - "$ref": "#/components/schemas/SessionFilterBranch" + "$ref": "#/components/schemas/PromptsFilterBranch" }, { "type": "string", @@ -7321,10 +7493,10 @@ } ] }, - "SessionFilterBranch": { + "PromptsFilterBranch": { "properties": { "right": { - "$ref": "#/components/schemas/SessionFilterNode" + "$ref": "#/components/schemas/PromptsFilterNode" }, "operator": { "type": "string", @@ -7334,7 +7506,7 @@ ] }, "left": { - "$ref": "#/components/schemas/SessionFilterNode" + "$ref": "#/components/schemas/PromptsFilterNode" } }, "required": [ @@ -7344,122 +7516,40 @@ ], "type": "object" }, - "SessionQueryParams": { + "PromptsQueryParams": { "properties": { - "search": { - "type": "string" - }, - "timeFilter": { - "properties": { - "endTimeUnixMs": { - "type": "number", - "format": "double" - }, - "startTimeUnixMs": { - "type": "number", - "format": "double" - } - }, - "required": [ - "endTimeUnixMs", - "startTimeUnixMs" - ], - "type": "object" - }, - "nameEquals": { - "type": "string" - }, - "timezoneDifference": { - "type": "number", - "format": "double" - }, "filter": { - "$ref": "#/components/schemas/SessionFilterNode" - }, - "offset": { - "type": "number", - "format": "double" - }, - "limit": { - "type": "number", - "format": "double" + "$ref": "#/components/schemas/PromptsFilterNode" } }, "required": [ - "search", - "timeFilter", - "timezoneDifference", "filter" ], "type": "object", "additionalProperties": false }, - "SessionsAggregateMetrics": { + "PromptResult": { "properties": { - "count": { - "type": "number", - "format": "double" + "id": { + "type": "string" }, - "total_cost": { - "type": "number", - "format": "double" + "user_defined_id": { + "type": "string" }, - "avg_cost": { - "type": "number", - "format": "double" + "description": { + "type": "string" }, - "avg_latency": { - "type": "number", - "format": "double" + "pretty_name": { + "type": "string" }, - "avg_requests": { + "major_version": { "type": "number", "format": "double" - } - }, - "required": [ - "count", - "total_cost", - "avg_cost", - "avg_latency", - "avg_requests" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_SessionsAggregateMetrics_": { - "properties": { - "data": { - "$ref": "#/components/schemas/SessionsAggregateMetrics" }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_SessionsAggregateMetrics.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_SessionsAggregateMetrics_" + "latest_version_id": { + "type": "string" }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "SessionNameResult": { - "properties": { - "name": { + "latest_model_used": { "type": "string" }, "created_at": { @@ -7468,36 +7558,35 @@ "last_used": { "type": "string" }, - "first_used": { - "type": "string" - }, - "session_count": { - "type": "number", - "format": "double" + "versions": { + "items": { + "type": "string" + }, + "type": "array" }, - "avg_latency": { - "type": "number", - "format": "double" + "metadata": { + "$ref": "#/components/schemas/Record_string.any_" } }, "required": [ - "name", + "id", + "user_defined_id", + "description", + "pretty_name", + "major_version", + "latest_version_id", + "latest_model_used", "created_at", "last_used", - "first_used", - "session_count", - "avg_latency" + "versions" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_SessionNameResult-Array_": { + "ResultSuccess_PromptResult_": { "properties": { "data": { - "items": { - "$ref": "#/components/schemas/SessionNameResult" - }, - "type": "array" + "$ref": "#/components/schemas/PromptResult" }, "error": { "type": "number", @@ -7514,145 +7603,98 @@ "type": "object", "additionalProperties": false }, - "Result_SessionNameResult-Array.string_": { + "Result_PromptResult.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_SessionNameResult-Array_" + "$ref": "#/components/schemas/ResultSuccess_PromptResult_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "TimeFilterMs": { + "PromptQueryParams": { "properties": { - "startTimeUnixMs": { - "type": "number", - "format": "double" - }, - "endTimeUnixMs": { - "type": "number", - "format": "double" + "timeFilter": { + "properties": { + "end": { + "type": "string" + }, + "start": { + "type": "string" + } + }, + "required": [ + "end", + "start" + ], + "type": "object" } }, "required": [ - "startTimeUnixMs", - "endTimeUnixMs" + "timeFilter" ], "type": "object", "additionalProperties": false }, - "SessionNameQueryParams": { + "CreatePromptResponse": { "properties": { - "nameContains": { + "id": { "type": "string" }, - "timezoneDifference": { - "type": "number", - "format": "double" - }, - "pSize": { - "type": "string", - "enum": [ - "p50", - "p75", - "p95", - "p99", - "p99.9" - ] - }, - "useInterquartile": { - "type": "boolean" - }, - "timeFilter": { - "$ref": "#/components/schemas/TimeFilterMs" - }, - "filter": { - "$ref": "#/components/schemas/SessionFilterNode" + "prompt_version_id": { + "type": "string" } }, "required": [ - "nameContains", - "timezoneDifference" + "id", + "prompt_version_id" ], "type": "object", "additionalProperties": false }, - "AverageRow": { + "ResultSuccess_CreatePromptResponse_": { "properties": { - "average": { + "data": { + "$ref": "#/components/schemas/CreatePromptResponse" + }, + "error": { "type": "number", - "format": "double" + "enum": [ + null + ], + "nullable": true } }, "required": [ - "average" + "data", + "error" ], "type": "object", "additionalProperties": false }, - "SessionMetrics": { - "properties": { - "session_count": { - "items": { - "$ref": "#/components/schemas/HistogramRow" - }, - "type": "array" - }, - "session_duration": { - "items": { - "$ref": "#/components/schemas/HistogramRow" - }, - "type": "array" - }, - "session_cost": { - "items": { - "$ref": "#/components/schemas/HistogramRow" - }, - "type": "array" + "Result_CreatePromptResponse.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_CreatePromptResponse_" }, - "average": { + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "ResultSuccess__metadata-Record_string.any___": { + "properties": { + "data": { "properties": { - "session_cost": { - "items": { - "$ref": "#/components/schemas/AverageRow" - }, - "type": "array" - }, - "session_duration": { - "items": { - "$ref": "#/components/schemas/AverageRow" - }, - "type": "array" - }, - "session_count": { - "items": { - "$ref": "#/components/schemas/AverageRow" - }, - "type": "array" + "metadata": { + "$ref": "#/components/schemas/Record_string.any_" } }, "required": [ - "session_cost", - "session_duration", - "session_count" + "metadata" ], "type": "object" - } - }, - "required": [ - "session_count", - "session_duration", - "session_cost", - "average" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_SessionMetrics_": { - "properties": { - "data": { - "$ref": "#/components/schemas/SessionMetrics" }, "error": { "type": "number", @@ -7669,57 +7711,98 @@ "type": "object", "additionalProperties": false }, - "Result_SessionMetrics.string_": { + "Result__metadata-Record_string.any__.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_SessionMetrics_" + "$ref": "#/components/schemas/ResultSuccess__metadata-Record_string.any___" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "SessionMetricsQueryParams": { + "PromptEditSubversionLabelParams": { "properties": { - "nameContains": { + "label": { + "type": "string" + } + }, + "required": [ + "label" + ], + "type": "object", + "additionalProperties": false + }, + "PromptEditSubversionTemplateParams": { + "properties": { + "heliconeTemplate": {}, + "experimentId": { + "type": "string" + } + }, + "required": [ + "heliconeTemplate" + ], + "type": "object", + "additionalProperties": false + }, + "PromptVersionResult": { + "properties": { + "id": { "type": "string" }, - "timezoneDifference": { + "minor_version": { "type": "number", "format": "double" }, - "pSize": { - "type": "string", - "enum": [ - "p50", - "p75", - "p95", - "p99", - "p99.9" - ] + "major_version": { + "type": "number", + "format": "double" }, - "useInterquartile": { - "type": "boolean" + "prompt_v2": { + "type": "string" }, - "timeFilter": { - "$ref": "#/components/schemas/TimeFilterMs" + "model": { + "type": "string" }, - "filter": { - "$ref": "#/components/schemas/SessionFilterNode" + "helicone_template": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "metadata": { + "$ref": "#/components/schemas/Record_string.any_" + }, + "parent_prompt_version": { + "type": "string", + "nullable": true + }, + "experiment_id": { + "type": "string", + "nullable": true + }, + "updated_at": { + "type": "string" } }, "required": [ - "nameContains", - "timezoneDifference" + "id", + "minor_version", + "major_version", + "prompt_v2", + "model", + "helicone_template", + "created_at", + "metadata" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_string-or-null_": { + "ResultSuccess_PromptVersionResult_": { "properties": { "data": { - "type": "string", - "nullable": true + "$ref": "#/components/schemas/PromptVersionResult" }, "error": { "type": "number", @@ -7736,156 +7819,85 @@ "type": "object", "additionalProperties": false }, - "Result_string-or-null.string_": { + "Result_PromptVersionResult.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_string-or-null_" + "$ref": "#/components/schemas/ResultSuccess_PromptVersionResult_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "MetricsData": { + "PromptCreateSubversionParams": { "properties": { - "totalRequests": { - "type": "number", - "format": "double" + "newHeliconeTemplate": {}, + "isMajorVersion": { + "type": "boolean" }, - "requestCountPrevious24h": { - "type": "number", - "format": "double" + "metadata": { + "$ref": "#/components/schemas/Record_string.any_" }, - "requestVolumeChange": { - "type": "number", - "format": "double" + "experimentId": { + "type": "string" }, - "errorRate24h": { - "type": "number", - "format": "double" - }, - "errorRatePrevious24h": { - "type": "number", - "format": "double" - }, - "errorRateChange": { - "type": "number", - "format": "double" - }, - "averageLatency": { - "type": "number", - "format": "double" - }, - "averageLatencyPerToken": { - "type": "number", - "format": "double" - }, - "latencyChange": { - "type": "number", - "format": "double" - }, - "latencyPerTokenChange": { - "type": "number", - "format": "double" - }, - "recentRequestCount": { - "type": "number", - "format": "double" - }, - "recentErrorCount": { - "type": "number", - "format": "double" + "bumpForMajorPromptVersionId": { + "type": "string" } }, "required": [ - "totalRequests", - "requestCountPrevious24h", - "requestVolumeChange", - "errorRate24h", - "errorRatePrevious24h", - "errorRateChange", - "averageLatency", - "averageLatencyPerToken", - "latencyChange", - "latencyPerTokenChange", - "recentRequestCount", - "recentErrorCount" + "newHeliconeTemplate" ], "type": "object", "additionalProperties": false }, - "TimeSeriesDataPoint": { + "PromptInputRecord": { "properties": { - "timestamp": { - "type": "string", - "format": "date-time" + "id": { + "type": "string" }, - "errorCount": { - "type": "number", - "format": "double" + "inputs": { + "$ref": "#/components/schemas/Record_string.string_" }, - "requestCount": { - "type": "number", - "format": "double" + "dataset_row_id": { + "type": "string" }, - "averageLatency": { - "type": "number", - "format": "double" + "source_request": { + "type": "string" }, - "averageLatencyPerCompletionToken": { - "type": "number", - "format": "double" - } - }, - "required": [ - "timestamp", - "errorCount", - "requestCount", - "averageLatency", - "averageLatencyPerCompletionToken" - ], - "type": "object", - "additionalProperties": false - }, - "ProviderMetrics": { - "properties": { - "providerName": { + "prompt_version": { "type": "string" }, - "metrics": { - "allOf": [ - { - "$ref": "#/components/schemas/MetricsData" - }, - { - "properties": { - "timeSeriesData": { - "items": { - "$ref": "#/components/schemas/TimeSeriesDataPoint" - }, - "type": "array" - } - }, - "required": [ - "timeSeriesData" - ], - "type": "object" - } - ] + "created_at": { + "type": "string" + }, + "response_body": { + "type": "string" + }, + "request_body": { + "type": "string" + }, + "auto_prompt_inputs": { + "items": {}, + "type": "array" } }, "required": [ - "providerName", - "metrics" + "id", + "inputs", + "source_request", + "prompt_version", + "created_at", + "auto_prompt_inputs" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_ProviderMetrics-Array_": { + "ResultSuccess_PromptInputRecord-Array_": { "properties": { "data": { "items": { - "$ref": "#/components/schemas/ProviderMetrics" + "$ref": "#/components/schemas/PromptInputRecord" }, "type": "array" }, @@ -7904,20 +7916,23 @@ "type": "object", "additionalProperties": false }, - "Result_ProviderMetrics-Array.string_": { + "Result_PromptInputRecord-Array.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_ProviderMetrics-Array_" + "$ref": "#/components/schemas/ResultSuccess_PromptInputRecord-Array_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "ResultSuccess_ProviderMetrics_": { + "ResultSuccess_PromptVersionResult-Array_": { "properties": { "data": { - "$ref": "#/components/schemas/ProviderMetrics" + "items": { + "$ref": "#/components/schemas/PromptVersionResult" + }, + "type": "array" }, "error": { "type": "number", @@ -7934,48 +7949,115 @@ "type": "object", "additionalProperties": false }, - "Result_ProviderMetrics.string_": { + "Result_PromptVersionResult-Array.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_ProviderMetrics_" + "$ref": "#/components/schemas/ResultSuccess_PromptVersionResult-Array_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "TimeFrame": { - "type": "string", - "enum": [ - "24h", - "7d", - "30d" + "Pick_FilterLeaf.prompts_versions_": { + "properties": { + "prompts_versions": { + "$ref": "#/components/schemas/Partial_PromptVersionsToOperators_" + } + }, + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "FilterLeafSubset_prompts_versions_": { + "$ref": "#/components/schemas/Pick_FilterLeaf.prompts_versions_" + }, + "PromptVersionsFilterNode": { + "anyOf": [ + { + "$ref": "#/components/schemas/FilterLeafSubset_prompts_versions_" + }, + { + "$ref": "#/components/schemas/PromptVersionsFilterBranch" + }, + { + "type": "string", + "enum": [ + "all" + ] + } ] }, - "ProviderMetric": { + "PromptVersionsFilterBranch": { "properties": { - "provider": { + "right": { + "$ref": "#/components/schemas/PromptVersionsFilterNode" + }, + "operator": { + "type": "string", + "enum": [ + "or", + "and" + ] + }, + "left": { + "$ref": "#/components/schemas/PromptVersionsFilterNode" + } + }, + "required": [ + "right", + "operator", + "left" + ], + "type": "object" + }, + "PromptVersionsQueryParams": { + "properties": { + "filter": { + "$ref": "#/components/schemas/PromptVersionsFilterNode" + }, + "includeExperimentVersions": { + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "PromptVersionResultCompiled": { + "properties": { + "id": { "type": "string" }, - "total_requests": { + "minor_version": { "type": "number", "format": "double" - } + }, + "major_version": { + "type": "number", + "format": "double" + }, + "prompt_v2": { + "type": "string" + }, + "model": { + "type": "string" + }, + "prompt_compiled": {} }, "required": [ - "provider", - "total_requests" + "id", + "minor_version", + "major_version", + "prompt_v2", + "model", + "prompt_compiled" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_ProviderMetric-Array_": { + "ResultSuccess_PromptVersionResultCompiled_": { "properties": { "data": { - "items": { - "$ref": "#/components/schemas/ProviderMetric" - }, - "type": "array" + "$ref": "#/components/schemas/PromptVersionResultCompiled" }, "error": { "type": "number", @@ -7992,686 +8074,667 @@ "type": "object", "additionalProperties": false }, - "Result_ProviderMetric-Array.string_": { + "Result_PromptVersionResultCompiled.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_ProviderMetric-Array_" + "$ref": "#/components/schemas/ResultSuccess_PromptVersionResultCompiled_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "Partial_UserMetricsToOperators_": { + "PromptVersiosQueryParamsCompiled": { "properties": { - "user_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "last_active": { - "$ref": "#/components/schemas/Partial_TimestampOperators_" + "filter": { + "$ref": "#/components/schemas/PromptVersionsFilterNode" }, - "total_requests": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "includeExperimentVersions": { + "type": "boolean" }, - "active_for": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "inputs": { + "$ref": "#/components/schemas/Record_string.string_" + } + }, + "required": [ + "inputs" + ], + "type": "object", + "additionalProperties": false + }, + "PromptVersionResultFilled": { + "properties": { + "id": { + "type": "string" }, - "average_requests_per_day_active": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "minor_version": { + "type": "number", + "format": "double" }, - "average_tokens_per_request": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "major_version": { + "type": "number", + "format": "double" }, - "total_completion_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "prompt_v2": { + "type": "string" }, - "total_prompt_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" + "model": { + "type": "string" }, - "cost": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - } + "filled_helicone_template": {} }, + "required": [ + "id", + "minor_version", + "major_version", + "prompt_v2", + "model", + "filled_helicone_template" + ], "type": "object", - "description": "Make all properties in T optional" + "additionalProperties": false }, - "Partial_UserApiKeysTableToOperators_": { + "ResultSuccess_PromptVersionResultFilled_": { "properties": { - "api_key_hash": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "data": { + "$ref": "#/components/schemas/PromptVersionResultFilled" }, - "api_key_name": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, + "required": [ + "data", + "error" + ], "type": "object", - "description": "Make all properties in T optional" + "additionalProperties": false }, - "Partial_PropertiesTableToOperators_": { - "properties": { - "auth_hash": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "key": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "Result_PromptVersionResultFilled.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_PromptVersionResultFilled_" }, - "value": { - "$ref": "#/components/schemas/Partial_TextOperators_" + { + "$ref": "#/components/schemas/ResultError_string_" } - }, - "type": "object", - "description": "Make all properties in T optional" + ] }, - "Partial_ExperimentToOperators_": { + "ChatCompletionTokenLogprob.TopLogprob": { "properties": { - "id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "token": { + "type": "string", + "description": "The token." }, - "prompt_v2": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "bytes": { + "items": { + "type": "number", + "format": "double" + }, + "type": "array", + "nullable": true, + "description": "A list of integers representing the UTF-8 bytes representation of the token.\nUseful in instances where characters are represented by multiple tokens and\ntheir byte representations must be combined to generate the correct text\nrepresentation. Can be `null` if there is no bytes representation for the token." + }, + "logprob": { + "type": "number", + "format": "double", + "description": "The log probability of this token, if it is within the top 20 most likely\ntokens. Otherwise, the value `-9999.0` is used to signify that the token is very\nunlikely." } }, + "required": [ + "token", + "bytes", + "logprob" + ], "type": "object", - "description": "Make all properties in T optional" + "additionalProperties": false }, - "Partial_ExperimentHypothesisRunToOperator_": { + "ChatCompletionTokenLogprob": { "properties": { - "result_request_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "token": { + "type": "string", + "description": "The token." + }, + "bytes": { + "items": { + "type": "number", + "format": "double" + }, + "type": "array", + "nullable": true, + "description": "A list of integers representing the UTF-8 bytes representation of the token.\nUseful in instances where characters are represented by multiple tokens and\ntheir byte representations must be combined to generate the correct text\nrepresentation. Can be `null` if there is no bytes representation for the token." + }, + "logprob": { + "type": "number", + "format": "double", + "description": "The log probability of this token, if it is within the top 20 most likely\ntokens. Otherwise, the value `-9999.0` is used to signify that the token is very\nunlikely." + }, + "top_logprobs": { + "items": { + "$ref": "#/components/schemas/ChatCompletionTokenLogprob.TopLogprob" + }, + "type": "array", + "description": "List of the most likely tokens and their log probability, at this token\nposition. In rare cases, there may be fewer than the number of requested\n`top_logprobs` returned." } }, + "required": [ + "token", + "bytes", + "logprob", + "top_logprobs" + ], "type": "object", - "description": "Make all properties in T optional" + "additionalProperties": false }, - "Partial_ScoreValueToOperator_": { + "ChatCompletion.Choice.Logprobs": { + "description": "Log probability information for the choice.", "properties": { - "request_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "content": { + "items": { + "$ref": "#/components/schemas/ChatCompletionTokenLogprob" + }, + "type": "array", + "nullable": true, + "description": "A list of message content tokens with log probability information." + }, + "refusal": { + "items": { + "$ref": "#/components/schemas/ChatCompletionTokenLogprob" + }, + "type": "array", + "nullable": true, + "description": "A list of message refusal tokens with log probability information." } }, + "required": [ + "content", + "refusal" + ], "type": "object", - "description": "Make all properties in T optional" + "additionalProperties": false }, - "Partial_RequestResponseLogToOperators_": { + "ChatCompletionMessage.Annotation.URLCitation": { + "description": "A URL citation when using web search.", "properties": { - "latency": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "status": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "request_created_at": { - "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" - }, - "response_created_at": { - "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" - }, - "auth_hash": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "model": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "user_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "organization_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "end_index": { + "type": "number", + "format": "double", + "description": "The index of the last character of the URL citation in the message." }, - "node_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "start_index": { + "type": "number", + "format": "double", + "description": "The index of the first character of the URL citation in the message." }, - "job_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "title": { + "type": "string", + "description": "The title of the web resource." }, - "threat": { - "$ref": "#/components/schemas/Partial_BooleanOperators_" + "url": { + "type": "string", + "description": "The URL of the web resource." } }, + "required": [ + "end_index", + "start_index", + "title", + "url" + ], "type": "object", - "description": "Make all properties in T optional" + "additionalProperties": false }, - "Partial_PropertiesV3ToOperators_": { + "ChatCompletionMessage.Annotation": { + "description": "A URL citation when using web search.", "properties": { - "key": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "type": { + "type": "string", + "enum": [ + "url_citation" + ], + "nullable": false, + "description": "The type of the URL citation. Always `url_citation`." }, - "value": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "organization_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "url_citation": { + "$ref": "#/components/schemas/ChatCompletionMessage.Annotation.URLCitation", + "description": "A URL citation when using web search." } }, + "required": [ + "type", + "url_citation" + ], "type": "object", - "description": "Make all properties in T optional" + "additionalProperties": false }, - "Partial_PropertyWithResponseV1ToOperators_": { + "ChatCompletionAudio": { + "description": "If the audio output modality is requested, this object contains data about the\naudio response from the model.\n[Learn more](https://platform.openai.com/docs/guides/audio).", "properties": { - "property_key": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "property_value": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "id": { + "type": "string", + "description": "Unique identifier for this audio response." }, - "request_created_at": { - "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" + "data": { + "type": "string", + "description": "Base64 encoded audio bytes generated by the model, in the format specified in\nthe request." }, - "organization_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "expires_at": { + "type": "number", + "format": "double", + "description": "The Unix timestamp (in seconds) for when this audio response will no longer be\naccessible on the server for use in multi-turn conversations." }, - "threat": { - "$ref": "#/components/schemas/Partial_BooleanOperators_" + "transcript": { + "type": "string", + "description": "Transcript of the audio generated by the model." } }, + "required": [ + "id", + "data", + "expires_at", + "transcript" + ], "type": "object", - "description": "Make all properties in T optional" + "additionalProperties": false }, - "Partial_JobToOperators_": { + "ChatCompletionMessage.FunctionCall": { "properties": { - "id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "arguments": { + "type": "string", + "description": "The arguments to call the function with, as generated by the model in JSON\nformat. Note that the model does not always generate valid JSON, and may\nhallucinate parameters not defined by your function schema. Validate the\narguments in your code before calling your function." }, "name": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "description": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "status": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "created_at": { - "$ref": "#/components/schemas/Partial_TimestampOperators_" - }, - "updated_at": { - "$ref": "#/components/schemas/Partial_TimestampOperators_" - }, - "timeout_seconds": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "custom_properties": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "type": "object" - }, - "org_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "type": "string", + "description": "The name of the function to call." } }, + "required": [ + "arguments", + "name" + ], "type": "object", - "description": "Make all properties in T optional" + "additionalProperties": false, + "deprecated": true }, - "Partial_NodesToOperators_": { + "ChatCompletionMessageFunctionToolCall.Function": { + "description": "The function that the model called.", "properties": { - "id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "arguments": { + "type": "string", + "description": "The arguments to call the function with, as generated by the model in JSON\nformat. Note that the model does not always generate valid JSON, and may\nhallucinate parameters not defined by your function schema. Validate the\narguments in your code before calling your function." }, "name": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "description": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "job_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "status": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "created_at": { - "$ref": "#/components/schemas/Partial_TimestampOperators_" - }, - "updated_at": { - "$ref": "#/components/schemas/Partial_TimestampOperators_" - }, - "timeout_seconds": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "custom_properties": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "type": "object" - }, - "org_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "type": "string", + "description": "The name of the function to call." } }, + "required": [ + "arguments", + "name" + ], "type": "object", - "description": "Make all properties in T optional" + "additionalProperties": false }, - "Partial_CacheMetricsTableToOperators_": { + "ChatCompletionMessageFunctionToolCall": { + "description": "A call to a function tool created by the model.", "properties": { - "organization_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "request_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "date": { - "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" - }, - "hour": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "model": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "cache_hit_count": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "saved_latency_ms": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "saved_completion_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "saved_prompt_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "saved_completion_audio_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "saved_prompt_audio_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "saved_prompt_cache_write_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "saved_prompt_cache_read_tokens": { - "$ref": "#/components/schemas/Partial_NumberOperators_" - }, - "first_hit": { - "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" - }, - "last_hit": { - "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" + "id": { + "type": "string", + "description": "The ID of the tool call." }, - "request_body": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "function": { + "$ref": "#/components/schemas/ChatCompletionMessageFunctionToolCall.Function", + "description": "The function that the model called." }, - "response_body": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "type": { + "type": "string", + "enum": [ + "function" + ], + "nullable": false, + "description": "The type of the tool. Currently, only `function` is supported." } }, + "required": [ + "id", + "function", + "type" + ], "type": "object", - "description": "Make all properties in T optional" + "additionalProperties": false }, - "Partial_RateLimitTableToOperators_": { + "ChatCompletionMessageCustomToolCall.Custom": { + "description": "The custom tool that the model called.", "properties": { - "organization_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "input": { + "type": "string", + "description": "The input for the custom tool call generated by the model." }, - "created_at": { - "$ref": "#/components/schemas/Partial_TimestampOperatorsTyped_" + "name": { + "type": "string", + "description": "The name of the custom tool to call." } }, + "required": [ + "input", + "name" + ], "type": "object", - "description": "Make all properties in T optional" + "additionalProperties": false }, - "Partial_OrganizationPropertiesToOperators_": { + "ChatCompletionMessageCustomToolCall": { + "description": "A call to a custom tool created by the model.", "properties": { - "organization_id": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "id": { + "type": "string", + "description": "The ID of the tool call." }, - "property_key": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "custom": { + "$ref": "#/components/schemas/ChatCompletionMessageCustomToolCall.Custom", + "description": "The custom tool that the model called." + }, + "type": { + "type": "string", + "enum": [ + "custom" + ], + "nullable": false, + "description": "The type of the tool. Always `custom`." } }, + "required": [ + "id", + "custom", + "type" + ], "type": "object", - "description": "Make all properties in T optional" + "additionalProperties": false }, - "Partial_TablesAndViews_": { - "properties": { - "user_metrics": { - "$ref": "#/components/schemas/Partial_UserMetricsToOperators_" - }, - "user_api_keys": { - "$ref": "#/components/schemas/Partial_UserApiKeysTableToOperators_" - }, - "response": { - "$ref": "#/components/schemas/Partial_ResponseTableToOperators_" - }, - "request": { - "$ref": "#/components/schemas/Partial_RequestTableToOperators_" - }, - "feedback": { - "$ref": "#/components/schemas/Partial_FeedbackTableToOperators_" - }, - "properties_table": { - "$ref": "#/components/schemas/Partial_PropertiesTableToOperators_" - }, - "prompt_v2": { - "$ref": "#/components/schemas/Partial_PromptToOperators_" - }, - "prompts_versions": { - "$ref": "#/components/schemas/Partial_PromptVersionsToOperators_" - }, - "experiment": { - "$ref": "#/components/schemas/Partial_ExperimentToOperators_" - }, - "experiment_hypothesis_run": { - "$ref": "#/components/schemas/Partial_ExperimentHypothesisRunToOperator_" - }, - "score_value": { - "$ref": "#/components/schemas/Partial_ScoreValueToOperator_" - }, - "request_response_log": { - "$ref": "#/components/schemas/Partial_RequestResponseLogToOperators_" - }, - "request_response_rmt": { - "$ref": "#/components/schemas/Partial_RequestResponseRMTToOperators_" - }, - "sessions_request_response_rmt": { - "$ref": "#/components/schemas/Partial_SessionsRequestResponseRMTToOperators_" - }, - "users_view": { - "$ref": "#/components/schemas/Partial_UserViewToOperators_" - }, - "properties_v3": { - "$ref": "#/components/schemas/Partial_PropertiesV3ToOperators_" - }, - "property_with_response_v1": { - "$ref": "#/components/schemas/Partial_PropertyWithResponseV1ToOperators_" + "ChatCompletionMessageToolCall": { + "anyOf": [ + { + "$ref": "#/components/schemas/ChatCompletionMessageFunctionToolCall" }, - "job": { - "$ref": "#/components/schemas/Partial_JobToOperators_" + { + "$ref": "#/components/schemas/ChatCompletionMessageCustomToolCall" + } + ], + "description": "A call to a function tool created by the model." + }, + "ChatCompletionMessage": { + "description": "A chat completion message generated by the model.", + "properties": { + "content": { + "type": "string", + "nullable": true, + "description": "The contents of the message." }, - "job_node": { - "$ref": "#/components/schemas/Partial_NodesToOperators_" + "refusal": { + "type": "string", + "nullable": true, + "description": "The refusal message generated by the model." }, - "cache_metrics": { - "$ref": "#/components/schemas/Partial_CacheMetricsTableToOperators_" + "role": { + "type": "string", + "enum": [ + "assistant" + ], + "nullable": false, + "description": "The role of the author of this message." }, - "rate_limit_log": { - "$ref": "#/components/schemas/Partial_RateLimitTableToOperators_" + "annotations": { + "items": { + "$ref": "#/components/schemas/ChatCompletionMessage.Annotation" + }, + "type": "array", + "description": "Annotations for the message, when applicable, as when using the\n[web search tool](https://platform.openai.com/docs/guides/tools-web-search?api-mode=chat)." }, - "organization_properties": { - "$ref": "#/components/schemas/Partial_OrganizationPropertiesToOperators_" + "audio": { + "allOf": [ + { + "$ref": "#/components/schemas/ChatCompletionAudio" + } + ], + "nullable": true, + "description": "If the audio output modality is requested, this object contains data about the\naudio response from the model.\n[Learn more](https://platform.openai.com/docs/guides/audio)." }, - "properties": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/Partial_TextOperators_" - }, - "type": "object" + "function_call": { + "allOf": [ + { + "$ref": "#/components/schemas/ChatCompletionMessage.FunctionCall" + } + ], + "nullable": true, + "deprecated": true }, - "values": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/Partial_TextOperators_" + "tool_calls": { + "items": { + "$ref": "#/components/schemas/ChatCompletionMessageToolCall" }, - "type": "object" + "type": "array", + "description": "The tool calls generated by the model, such as function calls." } }, + "required": [ + "content", + "refusal", + "role" + ], "type": "object", - "description": "Make all properties in T optional" - }, - "SingleKey_TablesAndViews_": { - "$ref": "#/components/schemas/Partial_TablesAndViews_" - }, - "FilterLeaf": { - "$ref": "#/components/schemas/SingleKey_TablesAndViews_" - }, - "FilterNode": { - "anyOf": [ - { - "$ref": "#/components/schemas/FilterLeaf" - }, - { - "$ref": "#/components/schemas/FilterBranch" - }, - { - "properties": {}, - "type": "object" - }, - { - "type": "string", - "enum": [ - "all" - ] - } - ] + "additionalProperties": false }, - "FilterBranch": { + "ChatCompletion.Choice": { "properties": { - "left": { - "$ref": "#/components/schemas/FilterNode" - }, - "operator": { + "finish_reason": { "type": "string", "enum": [ - "or", - "and" - ] + "stop", + "length", + "tool_calls", + "content_filter", + "function_call" + ], + "description": "The reason the model stopped generating tokens. This will be `stop` if the model\nhit a natural stop point or a provided stop sequence, `length` if the maximum\nnumber of tokens specified in the request was reached, `content_filter` if\ncontent was omitted due to a flag from our content filters, `tool_calls` if the\nmodel called a tool, or `function_call` (deprecated) if the model called a\nfunction." }, - "right": { - "$ref": "#/components/schemas/FilterNode" + "index": { + "type": "number", + "format": "double", + "description": "The index of the choice in the list of choices." + }, + "logprobs": { + "allOf": [ + { + "$ref": "#/components/schemas/ChatCompletion.Choice.Logprobs" + } + ], + "nullable": true, + "description": "Log probability information for the choice." + }, + "message": { + "$ref": "#/components/schemas/ChatCompletionMessage", + "description": "A chat completion message generated by the model." } }, "required": [ - "left", - "operator", - "right" + "finish_reason", + "index", + "logprobs", + "message" ], "type": "object", "additionalProperties": false }, - "ProviderQueryParams": { + "CompletionUsage.CompletionTokensDetails": { + "description": "Breakdown of tokens used in a completion.", "properties": { - "filter": { - "$ref": "#/components/schemas/FilterNode" + "accepted_prediction_tokens": { + "type": "number", + "format": "double", + "description": "When using Predicted Outputs, the number of tokens in the prediction that\nappeared in the completion." }, - "offset": { + "audio_tokens": { "type": "number", - "format": "double" + "format": "double", + "description": "Audio input tokens generated by the model." }, - "limit": { + "reasoning_tokens": { "type": "number", - "format": "double" + "format": "double", + "description": "Tokens generated by the model for reasoning." }, - "timeFilter": { - "properties": { - "end": { - "type": "string" - }, - "start": { - "type": "string" - } - }, - "required": [ - "end", - "start" - ], - "type": "object" + "rejected_prediction_tokens": { + "type": "number", + "format": "double", + "description": "When using Predicted Outputs, the number of tokens in the prediction that did\nnot appear in the completion. However, like reasoning tokens, these tokens are\nstill counted in the total completion tokens for purposes of billing, output,\nand context window limits." } }, - "required": [ - "filter", - "offset", - "limit", - "timeFilter" - ], "type": "object", "additionalProperties": false }, - "ResultSuccess__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array_": { + "CompletionUsage.PromptTokensDetails": { + "description": "Breakdown of tokens used in the prompt.", "properties": { - "data": { - "items": { - "properties": { - "created_at_trunc": { - "type": "string" - }, - "request_count": { - "type": "number", - "format": "double" - }, - "total_cost": { - "type": "number", - "format": "double" - }, - "property": { - "type": "string" - } - }, - "required": [ - "created_at_trunc", - "request_count", - "total_cost", - "property" - ], - "type": "object" - }, - "type": "array" + "audio_tokens": { + "type": "number", + "format": "double", + "description": "Audio input tokens present in the prompt." }, - "error": { + "cached_tokens": { "type": "number", - "enum": [ - null - ], - "nullable": true + "format": "double", + "description": "Cached tokens present in the prompt." } }, - "required": [ - "data", - "error" - ], "type": "object", "additionalProperties": false }, - "Result__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "Pick_FilterLeaf.request_response_rmt_": { + "CompletionUsage": { + "description": "Usage statistics for the completion request.", "properties": { - "request_response_rmt": { - "$ref": "#/components/schemas/Partial_RequestResponseRMTToOperators_" - } - }, - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "FilterLeafSubset_request_response_rmt_": { - "$ref": "#/components/schemas/Pick_FilterLeaf.request_response_rmt_" - }, - "RequestClickhouseFilterNode": { - "anyOf": [ - { - "$ref": "#/components/schemas/FilterLeafSubset_request_response_rmt_" + "completion_tokens": { + "type": "number", + "format": "double", + "description": "Number of tokens in the generated completion." }, - { - "$ref": "#/components/schemas/RequestClickhouseFilterBranch" + "prompt_tokens": { + "type": "number", + "format": "double", + "description": "Number of tokens in the prompt." }, - { - "type": "string", - "enum": [ - "all" - ] - } - ] - }, - "RequestClickhouseFilterBranch": { - "properties": { - "right": { - "$ref": "#/components/schemas/RequestClickhouseFilterNode" + "total_tokens": { + "type": "number", + "format": "double", + "description": "Total number of tokens used in the request (prompt + completion)." }, - "operator": { - "type": "string", - "enum": [ - "or", - "and" - ] + "completion_tokens_details": { + "$ref": "#/components/schemas/CompletionUsage.CompletionTokensDetails", + "description": "Breakdown of tokens used in a completion." }, - "left": { - "$ref": "#/components/schemas/RequestClickhouseFilterNode" + "prompt_tokens_details": { + "$ref": "#/components/schemas/CompletionUsage.PromptTokensDetails", + "description": "Breakdown of tokens used in the prompt." } }, "required": [ - "right", - "operator", - "left" + "completion_tokens", + "prompt_tokens", + "total_tokens" ], - "type": "object" - }, - "TimeIncrement": { - "type": "string", - "enum": [ - "min", - "hour", - "day", - "week", - "month", - "year" - ] + "type": "object", + "additionalProperties": false }, - "DataOverTimeRequest": { + "ChatCompletion": { + "description": "Represents a chat completion response returned by model, based on the provided\ninput.", "properties": { - "timeFilter": { - "properties": { - "end": { - "type": "string" - }, - "start": { - "type": "string" - } + "id": { + "type": "string", + "description": "A unique identifier for the chat completion." + }, + "choices": { + "items": { + "$ref": "#/components/schemas/ChatCompletion.Choice" }, - "required": [ - "end", - "start" + "type": "array", + "description": "A list of chat completion choices. Can be more than one if `n` is greater\nthan 1." + }, + "created": { + "type": "number", + "format": "double", + "description": "The Unix timestamp (in seconds) of when the chat completion was created." + }, + "model": { + "type": "string", + "description": "The model used for the chat completion." + }, + "object": { + "type": "string", + "enum": [ + "chat.completion" ], - "type": "object" + "nullable": false, + "description": "The object type, which is always `chat.completion`." }, - "userFilter": { - "$ref": "#/components/schemas/RequestClickhouseFilterNode" + "service_tier": { + "type": "string", + "enum": [ + "auto", + "default", + "flex", + "scale", + "priority", + null + ], + "nullable": true, + "description": "Specifies the processing type used for serving the request.\n\n- If set to 'auto', then the request will be processed with the service tier\n configured in the Project settings. Unless otherwise configured, the Project\n will use 'default'.\n- If set to 'default', then the request will be processed with the standard\n pricing and performance for the selected model.\n- If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)' or\n 'priority', then the request will be processed with the corresponding service\n tier. [Contact sales](https://openai.com/contact-sales) to learn more about\n Priority processing.\n- When not set, the default behavior is 'auto'.\n\nWhen the `service_tier` parameter is set, the response body will include the\n`service_tier` value based on the processing mode actually used to serve the\nrequest. This response value may be different from the value set in the\nparameter." }, - "dbIncrement": { - "$ref": "#/components/schemas/TimeIncrement" + "system_fingerprint": { + "type": "string", + "description": "This fingerprint represents the backend configuration that the model runs with.\n\nCan be used in conjunction with the `seed` request parameter to understand when\nbackend changes have been made that might impact determinism." }, - "timeZoneDifference": { - "type": "number", - "format": "double" - } - }, - "required": [ - "timeFilter", - "userFilter", - "dbIncrement", - "timeZoneDifference" - ], - "type": "object", - "additionalProperties": false - }, - "Property": { - "properties": { - "property": { - "type": "string" + "usage": { + "$ref": "#/components/schemas/CompletionUsage", + "description": "Usage statistics for the completion request." } }, "required": [ - "property" + "id", + "choices", + "created", + "model", + "object" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_Property-Array_": { + "ResultSuccess_ChatCompletion-or-_content-string--reasoning-string--calls-any__": { "properties": { "data": { - "items": { - "$ref": "#/components/schemas/Property" - }, - "type": "array" + "anyOf": [ + { + "$ref": "#/components/schemas/ChatCompletion" + }, + { + "properties": { + "calls": {}, + "reasoning": { + "type": "string" + }, + "content": { + "type": "string" + } + }, + "required": [ + "calls", + "reasoning", + "content" + ], + "type": "object" + } + ] }, "error": { "type": "number", @@ -8688,21 +8751,20 @@ "type": "object", "additionalProperties": false }, - "Result_Property-Array.string_": { + "Result_ChatCompletion-or-_content-string--reasoning-string--calls-any_.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess_Property-Array_" + "$ref": "#/components/schemas/ResultSuccess_ChatCompletion-or-_content-string--reasoning-string--calls-any__" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "ResultSuccess_unknown-Array_": { + "ResultSuccess_boolean_": { "properties": { "data": { - "items": {}, - "type": "array" + "type": "boolean" }, "error": { "type": "number", @@ -8719,26 +8781,28 @@ "type": "object", "additionalProperties": false }, - "ResultSuccess__value-string--cost-number_-Array_": { + "Result_boolean.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_boolean_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "ResultSuccess__apiKey-string__": { "properties": { "data": { - "items": { - "properties": { - "cost": { - "type": "number", - "format": "double" - }, - "value": { - "type": "string" - } - }, - "required": [ - "cost", - "value" - ], - "type": "object" + "properties": { + "apiKey": { + "type": "string" + } }, - "type": "array" + "required": [ + "apiKey" + ], + "type": "object" }, "error": { "type": "number", @@ -8755,56 +8819,32 @@ "type": "object", "additionalProperties": false }, - "Result__value-string--cost-number_-Array.string_": { + "Result__apiKey-string_.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess__value-string--cost-number_-Array_" + "$ref": "#/components/schemas/ResultSuccess__apiKey-string__" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "TimeFilterRequest": { - "properties": { - "timeFilter": { - "properties": { - "end": { - "type": "string" - }, - "start": { - "type": "string" - } - }, - "required": [ - "end", - "start" - ], - "type": "object" - } - }, - "required": [ - "timeFilter" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess__value-string--count-number_-Array_": { + "ResultSuccess__cost-number--created_at_trunc-string_-Array_": { "properties": { "data": { "items": { "properties": { - "count": { + "created_at_trunc": { + "type": "string" + }, + "cost": { "type": "number", "format": "double" - }, - "value": { - "type": "string" } }, "required": [ - "count", - "value" + "created_at_trunc", + "cost" ], "type": "object" }, @@ -8825,8184 +8865,3714 @@ "type": "object", "additionalProperties": false }, - "Result__value-string--count-number_-Array.string_": { + "Result__cost-number--created_at_trunc-string_-Array.string_": { "anyOf": [ { - "$ref": "#/components/schemas/ResultSuccess__value-string--count-number_-Array_" + "$ref": "#/components/schemas/ResultSuccess__cost-number--created_at_trunc-string_-Array_" }, { "$ref": "#/components/schemas/ResultError_string_" } ] }, - "ChatCompletionTokenLogprob.TopLogprob": { - "properties": { - "token": { - "type": "string", - "description": "The token." - }, - "bytes": { - "items": { - "type": "number", - "format": "double" - }, - "type": "array", - "nullable": true, - "description": "A list of integers representing the UTF-8 bytes representation of the token.\nUseful in instances where characters are represented by multiple tokens and\ntheir byte representations must be combined to generate the correct text\nrepresentation. Can be `null` if there is no bytes representation for the token." - }, - "logprob": { - "type": "number", - "format": "double", - "description": "The log probability of this token, if it is within the top 20 most likely\ntokens. Otherwise, the value `-9999.0` is used to signify that the token is very\nunlikely." - } - }, - "required": [ - "token", - "bytes", - "logprob" + "AuthorName": { + "type": "string", + "enum": [ + "anthropic", + "deepseek", + "mistral", + "openai", + "perplexity", + "xai", + "google", + "meta-llama", + "amazon", + "microsoft", + "nvidia", + "qwen", + "moonshotai", + "alibaba", + "zai", + "baidu", + "passthrough" + ] + }, + "StandardParameter": { + "type": "string", + "enum": [ + "max_tokens", + "max_completion_tokens", + "temperature", + "top_p", + "top_k", + "stop", + "stream", + "frequency_penalty", + "presence_penalty", + "repetition_penalty", + "seed", + "tools", + "tool_choice", + "functions", + "function_call", + "reasoning", + "include_reasoning", + "thinking", + "response_format", + "json_mode", + "truncate", + "min_p", + "logit_bias", + "logprobs", + "top_logprobs", + "structured_outputs", + "verbosity", + "n" + ] + }, + "PluginId": { + "type": "string", + "enum": [ + "web" ], - "type": "object", - "additionalProperties": false + "nullable": false }, - "ChatCompletionTokenLogprob": { + "RateLimits": { "properties": { - "token": { - "type": "string", - "description": "The token." - }, - "bytes": { - "items": { - "type": "number", - "format": "double" - }, - "type": "array", - "nullable": true, - "description": "A list of integers representing the UTF-8 bytes representation of the token.\nUseful in instances where characters are represented by multiple tokens and\ntheir byte representations must be combined to generate the correct text\nrepresentation. Can be `null` if there is no bytes representation for the token." + "rpm": { + "type": "number", + "format": "double" }, - "logprob": { + "tpm": { "type": "number", - "format": "double", - "description": "The log probability of this token, if it is within the top 20 most likely\ntokens. Otherwise, the value `-9999.0` is used to signify that the token is very\nunlikely." + "format": "double" }, - "top_logprobs": { - "items": { - "$ref": "#/components/schemas/ChatCompletionTokenLogprob.TopLogprob" - }, - "type": "array", - "description": "List of the most likely tokens and their log probability, at this token\nposition. In rare cases, there may be fewer than the number of requested\n`top_logprobs` returned." + "tpd": { + "type": "number", + "format": "double" } }, - "required": [ - "token", - "bytes", - "logprob", - "top_logprobs" - ], "type": "object", "additionalProperties": false }, - "ChatCompletion.Choice.Logprobs": { - "description": "Log probability information for the choice.", + "ModalityPricing": { + "description": "Per-modality pricing configuration.\nSupports input, cached input (as multiplier), and output rates.", "properties": { - "content": { - "items": { - "$ref": "#/components/schemas/ChatCompletionTokenLogprob" - }, - "type": "array", - "nullable": true, - "description": "A list of message content tokens with log probability information." + "input": { + "type": "number", + "format": "double" }, - "refusal": { - "items": { - "$ref": "#/components/schemas/ChatCompletionTokenLogprob" - }, - "type": "array", - "nullable": true, - "description": "A list of message refusal tokens with log probability information." + "cachedInputMultiplier": { + "type": "number", + "format": "double" + }, + "output": { + "type": "number", + "format": "double" } }, - "required": [ - "content", - "refusal" - ], "type": "object", "additionalProperties": false }, - "ChatCompletionMessage.Annotation.URLCitation": { - "description": "A URL citation when using web search.", + "ModelPricing": { "properties": { - "end_index": { + "threshold": { "type": "number", - "format": "double", - "description": "The index of the last character of the URL citation in the message." + "format": "double" }, - "start_index": { + "input": { "type": "number", - "format": "double", - "description": "The index of the first character of the URL citation in the message." + "format": "double" }, - "title": { - "type": "string", - "description": "The title of the web resource." + "output": { + "type": "number", + "format": "double" }, - "url": { - "type": "string", - "description": "The URL of the web resource." - } - }, - "required": [ - "end_index", - "start_index", - "title", - "url" - ], - "type": "object", - "additionalProperties": false - }, - "ChatCompletionMessage.Annotation": { - "description": "A URL citation when using web search.", - "properties": { - "type": { - "type": "string", - "enum": [ - "url_citation" + "cacheMultipliers": { + "properties": { + "write1h": { + "type": "number", + "format": "double" + }, + "write5m": { + "type": "number", + "format": "double" + }, + "cachedInput": { + "type": "number", + "format": "double" + } + }, + "required": [ + "cachedInput" ], - "nullable": false, - "description": "The type of the URL citation. Always `url_citation`." + "type": "object" }, - "url_citation": { - "$ref": "#/components/schemas/ChatCompletionMessage.Annotation.URLCitation", - "description": "A URL citation when using web search." - } - }, - "required": [ - "type", - "url_citation" - ], - "type": "object", - "additionalProperties": false - }, - "ChatCompletionAudio": { - "description": "If the audio output modality is requested, this object contains data about the\naudio response from the model.\n[Learn more](https://platform.openai.com/docs/guides/audio).", - "properties": { - "id": { - "type": "string", - "description": "Unique identifier for this audio response." + "cacheStoragePerHour": { + "type": "number", + "format": "double" }, - "data": { - "type": "string", - "description": "Base64 encoded audio bytes generated by the model, in the format specified in\nthe request." + "thinking": { + "type": "number", + "format": "double" }, - "expires_at": { + "request": { "type": "number", - "format": "double", - "description": "The Unix timestamp (in seconds) for when this audio response will no longer be\naccessible on the server for use in multi-turn conversations." + "format": "double" }, - "transcript": { - "type": "string", - "description": "Transcript of the audio generated by the model." - } - }, - "required": [ - "id", - "data", - "expires_at", - "transcript" - ], - "type": "object", - "additionalProperties": false - }, - "ChatCompletionMessage.FunctionCall": { - "properties": { - "arguments": { - "type": "string", - "description": "The arguments to call the function with, as generated by the model in JSON\nformat. Note that the model does not always generate valid JSON, and may\nhallucinate parameters not defined by your function schema. Validate the\narguments in your code before calling your function." + "image": { + "$ref": "#/components/schemas/ModalityPricing" }, - "name": { - "type": "string", - "description": "The name of the function to call." - } - }, - "required": [ - "arguments", - "name" - ], - "type": "object", - "additionalProperties": false, - "deprecated": true - }, - "ChatCompletionMessageFunctionToolCall.Function": { - "description": "The function that the model called.", - "properties": { - "arguments": { - "type": "string", - "description": "The arguments to call the function with, as generated by the model in JSON\nformat. Note that the model does not always generate valid JSON, and may\nhallucinate parameters not defined by your function schema. Validate the\narguments in your code before calling your function." + "audio": { + "$ref": "#/components/schemas/ModalityPricing" }, - "name": { - "type": "string", - "description": "The name of the function to call." + "video": { + "$ref": "#/components/schemas/ModalityPricing" + }, + "file": { + "$ref": "#/components/schemas/ModalityPricing" + }, + "web_search": { + "type": "number", + "format": "double" } }, "required": [ - "arguments", - "name" + "threshold", + "input", + "output" ], "type": "object", "additionalProperties": false }, - "ChatCompletionMessageFunctionToolCall": { - "description": "A call to a function tool created by the model.", + "BodyMappingType": { + "type": "string", + "enum": [ + "OPENAI", + "NO_MAPPING", + "RESPONSES" + ] + }, + "EndpointConfig": { "properties": { - "id": { - "type": "string", - "description": "The ID of the tool call." + "region": { + "type": "string" }, - "function": { - "$ref": "#/components/schemas/ChatCompletionMessageFunctionToolCall.Function", - "description": "The function that the model called." + "location": { + "type": "string" }, - "type": { - "type": "string", - "enum": [ - "function" - ], - "nullable": false, - "description": "The type of the tool. Currently, only `function` is supported." + "projectId": { + "type": "string" + }, + "baseUri": { + "type": "string" + }, + "deploymentName": { + "type": "string" + }, + "resourceName": { + "type": "string" + }, + "apiVersion": { + "type": "string" + }, + "crossRegion": { + "type": "boolean" + }, + "gatewayMapping": { + "$ref": "#/components/schemas/BodyMappingType" + }, + "modelName": { + "type": "string" + }, + "heliconeModelId": { + "type": "string" + }, + "providerModelId": { + "type": "string" + }, + "pricing": { + "items": { + "$ref": "#/components/schemas/ModelPricing" + }, + "type": "array" + }, + "contextLength": { + "type": "number", + "format": "double" + }, + "maxCompletionTokens": { + "type": "number", + "format": "double" + }, + "ptbEnabled": { + "type": "boolean" + }, + "version": { + "type": "string" + }, + "rateLimits": { + "$ref": "#/components/schemas/RateLimits" + }, + "priority": { + "type": "number", + "format": "double" } }, - "required": [ - "id", - "function", - "type" - ], "type": "object", "additionalProperties": false }, - "ChatCompletionMessageCustomToolCall.Custom": { - "description": "The custom tool that the model called.", - "properties": { - "input": { - "type": "string", - "description": "The input for the custom tool call generated by the model." - }, - "name": { - "type": "string", - "description": "The name of the custom tool to call." - } + "Record_string.EndpointConfig_": { + "properties": {}, + "additionalProperties": { + "$ref": "#/components/schemas/EndpointConfig" }, - "required": [ - "input", - "name" - ], "type": "object", - "additionalProperties": false + "description": "Construct a type with a set of properties K of type T" }, - "ChatCompletionMessageCustomToolCall": { - "description": "A call to a custom tool created by the model.", + "ResponseFormat": { + "type": "string", + "enum": [ + "ANTHROPIC", + "OPENAI", + "GOOGLE" + ] + }, + "ModelProviderConfig": { "properties": { - "id": { - "type": "string", - "description": "The ID of the tool call." + "pricing": { + "items": { + "$ref": "#/components/schemas/ModelPricing" + }, + "type": "array" }, - "custom": { - "$ref": "#/components/schemas/ChatCompletionMessageCustomToolCall.Custom", - "description": "The custom tool that the model called." + "contextLength": { + "type": "number", + "format": "double" }, - "type": { - "type": "string", - "enum": [ - "custom" - ], - "nullable": false, - "description": "The type of the tool. Always `custom`." - } - }, - "required": [ - "id", - "custom", - "type" - ], - "type": "object", - "additionalProperties": false - }, - "ChatCompletionMessageToolCall": { - "anyOf": [ - { - "$ref": "#/components/schemas/ChatCompletionMessageFunctionToolCall" - }, - { - "$ref": "#/components/schemas/ChatCompletionMessageCustomToolCall" - } - ], - "description": "A call to a function tool created by the model." - }, - "ChatCompletionMessage": { - "description": "A chat completion message generated by the model.", - "properties": { - "content": { - "type": "string", - "nullable": true, - "description": "The contents of the message." + "maxCompletionTokens": { + "type": "number", + "format": "double" }, - "refusal": { - "type": "string", - "nullable": true, - "description": "The refusal message generated by the model." + "ptbEnabled": { + "type": "boolean" }, - "role": { - "type": "string", - "enum": [ - "assistant" - ], - "nullable": false, - "description": "The role of the author of this message." + "version": { + "type": "string" }, - "annotations": { + "unsupportedParameters": { "items": { - "$ref": "#/components/schemas/ChatCompletionMessage.Annotation" + "$ref": "#/components/schemas/StandardParameter" }, - "type": "array", - "description": "Annotations for the message, when applicable, as when using the\n[web search tool](https://platform.openai.com/docs/guides/tools-web-search?api-mode=chat)." + "type": "array" }, - "audio": { - "allOf": [ - { - "$ref": "#/components/schemas/ChatCompletionAudio" - } - ], - "nullable": true, - "description": "If the audio output modality is requested, this object contains data about the\naudio response from the model.\n[Learn more](https://platform.openai.com/docs/guides/audio)." + "providerModelId": { + "type": "string" }, - "function_call": { - "allOf": [ - { - "$ref": "#/components/schemas/ChatCompletionMessage.FunctionCall" - } - ], - "nullable": true, - "deprecated": true + "provider": { + "$ref": "#/components/schemas/ModelProviderName" }, - "tool_calls": { + "author": { + "$ref": "#/components/schemas/AuthorName" + }, + "supportedParameters": { "items": { - "$ref": "#/components/schemas/ChatCompletionMessageToolCall" + "$ref": "#/components/schemas/StandardParameter" }, - "type": "array", - "description": "The tool calls generated by the model, such as function calls." - } - }, - "required": [ - "content", - "refusal", - "role" - ], - "type": "object", - "additionalProperties": false - }, - "ChatCompletion.Choice": { - "properties": { - "finish_reason": { + "type": "array" + }, + "supportedPlugins": { + "items": { + "$ref": "#/components/schemas/PluginId" + }, + "type": "array" + }, + "rateLimits": { + "$ref": "#/components/schemas/RateLimits" + }, + "endpointConfigs": { + "$ref": "#/components/schemas/Record_string.EndpointConfig_" + }, + "crossRegion": { + "type": "boolean" + }, + "priority": { + "type": "number", + "format": "double" + }, + "quantization": { "type": "string", "enum": [ - "stop", - "length", - "tool_calls", - "content_filter", - "function_call" - ], - "description": "The reason the model stopped generating tokens. This will be `stop` if the model\nhit a natural stop point or a provided stop sequence, `length` if the maximum\nnumber of tokens specified in the request was reached, `content_filter` if\ncontent was omitted due to a flag from our content filters, `tool_calls` if the\nmodel called a tool, or `function_call` (deprecated) if the model called a\nfunction." + "fp4", + "fp8", + "fp16", + "bf16", + "int4" + ] }, - "index": { - "type": "number", - "format": "double", - "description": "The index of the choice in the list of choices." + "responseFormat": { + "$ref": "#/components/schemas/ResponseFormat" }, - "logprobs": { - "allOf": [ - { - "$ref": "#/components/schemas/ChatCompletion.Choice.Logprobs" - } - ], - "nullable": true, - "description": "Log probability information for the choice." + "requireExplicitRouting": { + "type": "boolean" }, - "message": { - "$ref": "#/components/schemas/ChatCompletionMessage", - "description": "A chat completion message generated by the model." + "providerModelIdAliases": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "finish_reason", - "index", - "logprobs", - "message" + "pricing", + "contextLength", + "maxCompletionTokens", + "ptbEnabled", + "providerModelId", + "provider", + "author", + "supportedParameters", + "endpointConfigs" ], "type": "object", "additionalProperties": false }, - "CompletionUsage.CompletionTokensDetails": { - "description": "Breakdown of tokens used in a completion.", + "UserEndpointConfig": { "properties": { - "accepted_prediction_tokens": { - "type": "number", - "format": "double", - "description": "When using Predicted Outputs, the number of tokens in the prediction that\nappeared in the completion." + "region": { + "type": "string" }, - "audio_tokens": { - "type": "number", - "format": "double", - "description": "Audio input tokens generated by the model." + "location": { + "type": "string" }, - "reasoning_tokens": { - "type": "number", - "format": "double", - "description": "Tokens generated by the model for reasoning." + "projectId": { + "type": "string" }, - "rejected_prediction_tokens": { - "type": "number", - "format": "double", - "description": "When using Predicted Outputs, the number of tokens in the prediction that did\nnot appear in the completion. However, like reasoning tokens, these tokens are\nstill counted in the total completion tokens for purposes of billing, output,\nand context window limits." - } - }, - "type": "object", - "additionalProperties": false - }, - "CompletionUsage.PromptTokensDetails": { - "description": "Breakdown of tokens used in the prompt.", - "properties": { - "audio_tokens": { - "type": "number", - "format": "double", - "description": "Audio input tokens present in the prompt." + "baseUri": { + "type": "string" }, - "cached_tokens": { - "type": "number", - "format": "double", - "description": "Cached tokens present in the prompt." + "deploymentName": { + "type": "string" + }, + "resourceName": { + "type": "string" + }, + "apiVersion": { + "type": "string" + }, + "crossRegion": { + "type": "boolean" + }, + "gatewayMapping": { + "$ref": "#/components/schemas/BodyMappingType" + }, + "modelName": { + "type": "string" + }, + "heliconeModelId": { + "type": "string" } }, "type": "object", "additionalProperties": false }, - "CompletionUsage": { - "description": "Usage statistics for the completion request.", + "Endpoint": { "properties": { - "completion_tokens": { - "type": "number", - "format": "double", - "description": "Number of tokens in the generated completion." + "pricing": { + "items": { + "$ref": "#/components/schemas/ModelPricing" + }, + "type": "array" }, - "prompt_tokens": { + "contextLength": { "type": "number", - "format": "double", - "description": "Number of tokens in the prompt." + "format": "double" }, - "total_tokens": { + "maxCompletionTokens": { "type": "number", - "format": "double", - "description": "Total number of tokens used in the request (prompt + completion)." + "format": "double" }, - "completion_tokens_details": { - "$ref": "#/components/schemas/CompletionUsage.CompletionTokensDetails", - "description": "Breakdown of tokens used in a completion." + "ptbEnabled": { + "type": "boolean" }, - "prompt_tokens_details": { - "$ref": "#/components/schemas/CompletionUsage.PromptTokensDetails", - "description": "Breakdown of tokens used in the prompt." - } - }, - "required": [ - "completion_tokens", - "prompt_tokens", - "total_tokens" - ], - "type": "object", - "additionalProperties": false - }, - "ChatCompletion": { - "description": "Represents a chat completion response returned by model, based on the provided\ninput.", - "properties": { - "id": { - "type": "string", - "description": "A unique identifier for the chat completion." + "version": { + "type": "string" }, - "choices": { + "unsupportedParameters": { "items": { - "$ref": "#/components/schemas/ChatCompletion.Choice" + "$ref": "#/components/schemas/StandardParameter" }, - "type": "array", - "description": "A list of chat completion choices. Can be more than one if `n` is greater\nthan 1." + "type": "array" }, - "created": { - "type": "number", - "format": "double", - "description": "The Unix timestamp (in seconds) of when the chat completion was created." + "modelConfig": { + "$ref": "#/components/schemas/ModelProviderConfig" }, - "model": { - "type": "string", - "description": "The model used for the chat completion." + "userConfig": { + "$ref": "#/components/schemas/UserEndpointConfig" }, - "object": { - "type": "string", - "enum": [ - "chat.completion" - ], - "nullable": false, - "description": "The object type, which is always `chat.completion`." + "provider": { + "$ref": "#/components/schemas/ModelProviderName" }, - "service_tier": { - "type": "string", - "enum": [ - "auto", - "default", - "flex", - "scale", - "priority", - null - ], - "nullable": true, - "description": "Specifies the processing type used for serving the request.\n\n- If set to 'auto', then the request will be processed with the service tier\n configured in the Project settings. Unless otherwise configured, the Project\n will use 'default'.\n- If set to 'default', then the request will be processed with the standard\n pricing and performance for the selected model.\n- If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)' or\n 'priority', then the request will be processed with the corresponding service\n tier. [Contact sales](https://openai.com/contact-sales) to learn more about\n Priority processing.\n- When not set, the default behavior is 'auto'.\n\nWhen the `service_tier` parameter is set, the response body will include the\n`service_tier` value based on the processing mode actually used to serve the\nrequest. This response value may be different from the value set in the\nparameter." + "author": { + "$ref": "#/components/schemas/AuthorName" }, - "system_fingerprint": { - "type": "string", - "description": "This fingerprint represents the backend configuration that the model runs with.\n\nCan be used in conjunction with the `seed` request parameter to understand when\nbackend changes have been made that might impact determinism." + "providerModelId": { + "type": "string" }, - "usage": { - "$ref": "#/components/schemas/CompletionUsage", - "description": "Usage statistics for the completion request." + "supportedParameters": { + "items": { + "$ref": "#/components/schemas/StandardParameter" + }, + "type": "array" + }, + "priority": { + "type": "number", + "format": "double" } }, "required": [ - "id", - "choices", - "created", - "model", - "object" + "pricing", + "contextLength", + "maxCompletionTokens", + "ptbEnabled", + "modelConfig", + "userConfig", + "provider", + "author", + "providerModelId", + "supportedParameters" ], "type": "object", "additionalProperties": false }, - "ResultSuccess_ChatCompletion-or-_content-string--reasoning-string--calls-any__": { + "SimplifiedModalityPricing": { "properties": { - "data": { - "anyOf": [ - { - "$ref": "#/components/schemas/ChatCompletion" - }, - { - "properties": { - "calls": {}, - "reasoning": { - "type": "string" - }, - "content": { - "type": "string" - } - }, - "required": [ - "calls", - "reasoning", - "content" - ], - "type": "object" - } - ] + "input": { + "type": "number", + "format": "double" }, - "error": { + "cachedInput": { "type": "number", - "enum": [ - null - ], - "nullable": true + "format": "double" + }, + "output": { + "type": "number", + "format": "double" } }, - "required": [ - "data", - "error" - ], "type": "object", "additionalProperties": false }, - "Result_ChatCompletion-or-_content-string--reasoning-string--calls-any_.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_ChatCompletion-or-_content-string--reasoning-string--calls-any__" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess__apiKey-string__": { + "SimplifiedPricing": { "properties": { - "data": { - "properties": { - "apiKey": { - "type": "string" - } - }, - "required": [ - "apiKey" - ], - "type": "object" + "prompt": { + "type": "number", + "format": "double" }, - "error": { + "completion": { "type": "number", - "enum": [ - null - ], - "nullable": true + "format": "double" + }, + "audio": { + "$ref": "#/components/schemas/SimplifiedModalityPricing" + }, + "thinking": { + "type": "number", + "format": "double" + }, + "web_search": { + "type": "number", + "format": "double" + }, + "image": { + "$ref": "#/components/schemas/SimplifiedModalityPricing" + }, + "video": { + "$ref": "#/components/schemas/SimplifiedModalityPricing" + }, + "file": { + "$ref": "#/components/schemas/SimplifiedModalityPricing" + }, + "cacheRead": { + "type": "number", + "format": "double" + }, + "cacheWrite": { + "type": "number", + "format": "double" + }, + "threshold": { + "type": "number", + "format": "double" } }, "required": [ - "data", - "error" + "prompt", + "completion" ], "type": "object", "additionalProperties": false }, - "Result__apiKey-string_.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__apiKey-string__" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess__cost-number--created_at_trunc-string_-Array_": { + "ModelEndpoint": { "properties": { - "data": { + "provider": { + "type": "string" + }, + "providerSlug": { + "type": "string" + }, + "endpoint": { + "$ref": "#/components/schemas/Endpoint" + }, + "supportsPtb": { + "type": "boolean" + }, + "pricing": { + "$ref": "#/components/schemas/SimplifiedPricing" + }, + "pricingTiers": { "items": { - "properties": { - "created_at_trunc": { - "type": "string" - }, - "cost": { - "type": "number", - "format": "double" - } - }, - "required": [ - "created_at_trunc", - "cost" - ], - "type": "object" + "$ref": "#/components/schemas/SimplifiedPricing" }, "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true } }, "required": [ - "data", - "error" + "provider", + "providerSlug", + "pricing" ], "type": "object", "additionalProperties": false }, - "Result__cost-number--created_at_trunc-string_-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__cost-number--created_at_trunc-string_-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "AuthorName": { + "InputModality": { "type": "string", "enum": [ - "anthropic", - "deepseek", - "mistral", - "openai", - "perplexity", - "xai", - "google", - "meta-llama", - "amazon", - "microsoft", - "nvidia", - "qwen", - "moonshotai", - "alibaba", - "zai", - "baidu", - "passthrough" + "text", + "image", + "audio", + "video" ] }, - "StandardParameter": { + "OutputModality": { "type": "string", "enum": [ - "max_tokens", - "max_completion_tokens", - "temperature", - "top_p", - "top_k", - "stop", - "stream", - "frequency_penalty", - "presence_penalty", - "repetition_penalty", - "seed", - "tools", - "tool_choice", - "functions", - "function_call", - "reasoning", - "include_reasoning", - "thinking", - "response_format", - "json_mode", - "truncate", - "min_p", - "logit_bias", - "logprobs", - "top_logprobs", - "structured_outputs", - "verbosity", - "n" + "text", + "image", + "audio", + "video" ] }, - "PluginId": { - "type": "string", - "enum": [ - "web" - ], - "nullable": false - }, - "RateLimits": { - "properties": { - "rpm": { - "type": "number", - "format": "double" - }, - "tpm": { - "type": "number", - "format": "double" - }, - "tpd": { - "type": "number", - "format": "double" - } - }, - "type": "object", - "additionalProperties": false - }, - "ModalityPricing": { - "description": "Per-modality pricing configuration.\nSupports input, cached input (as multiplier), and output rates.", + "ModelRegistryItem": { "properties": { - "input": { - "type": "number", - "format": "double" - }, - "cachedInputMultiplier": { - "type": "number", - "format": "double" + "id": { + "type": "string" }, - "output": { - "type": "number", - "format": "double" - } - }, - "type": "object", - "additionalProperties": false - }, - "ModelPricing": { - "properties": { - "threshold": { - "type": "number", - "format": "double" + "name": { + "type": "string" }, - "input": { - "type": "number", - "format": "double" + "author": { + "type": "string" }, - "output": { + "contextLength": { "type": "number", "format": "double" }, - "cacheMultipliers": { - "properties": { - "write1h": { - "type": "number", - "format": "double" - }, - "write5m": { - "type": "number", - "format": "double" - }, - "cachedInput": { - "type": "number", - "format": "double" - } + "endpoints": { + "items": { + "$ref": "#/components/schemas/ModelEndpoint" }, - "required": [ - "cachedInput" - ], - "type": "object" - }, - "cacheStoragePerHour": { - "type": "number", - "format": "double" + "type": "array" }, - "thinking": { + "maxOutput": { "type": "number", "format": "double" }, - "request": { - "type": "number", - "format": "double" + "trainingDate": { + "type": "string" }, - "image": { - "$ref": "#/components/schemas/ModalityPricing" + "description": { + "type": "string" }, - "audio": { - "$ref": "#/components/schemas/ModalityPricing" + "inputModalities": { + "items": { + "$ref": "#/components/schemas/InputModality" + }, + "type": "array" }, - "video": { - "$ref": "#/components/schemas/ModalityPricing" + "outputModalities": { + "items": { + "$ref": "#/components/schemas/OutputModality" + }, + "type": "array" }, - "file": { - "$ref": "#/components/schemas/ModalityPricing" + "supportedParameters": { + "items": { + "$ref": "#/components/schemas/StandardParameter" + }, + "type": "array" }, - "web_search": { - "type": "number", - "format": "double" + "pinnedVersionOfModel": { + "type": "string" } }, "required": [ - "threshold", - "input", - "output" + "id", + "name", + "author", + "contextLength", + "endpoints", + "inputModalities", + "outputModalities", + "supportedParameters" ], "type": "object", "additionalProperties": false }, - "BodyMappingType": { + "ModelCapability": { "type": "string", "enum": [ - "OPENAI", - "NO_MAPPING", - "RESPONSES" + "audio", + "video", + "image", + "thinking", + "web_search", + "caching", + "reasoning" ] }, - "EndpointConfig": { + "ModelRegistryResponse": { "properties": { - "region": { - "type": "string" - }, - "location": { - "type": "string" - }, - "projectId": { - "type": "string" - }, - "baseUri": { - "type": "string" - }, - "deploymentName": { - "type": "string" - }, - "resourceName": { - "type": "string" - }, - "apiVersion": { - "type": "string" + "models": { + "items": { + "$ref": "#/components/schemas/ModelRegistryItem" + }, + "type": "array" }, - "crossRegion": { - "type": "boolean" + "total": { + "type": "number", + "format": "double" }, - "gatewayMapping": { - "$ref": "#/components/schemas/BodyMappingType" - }, - "modelName": { - "type": "string" - }, - "heliconeModelId": { - "type": "string" - }, - "providerModelId": { - "type": "string" - }, - "pricing": { - "items": { - "$ref": "#/components/schemas/ModelPricing" + "filters": { + "properties": { + "capabilities": { + "items": { + "$ref": "#/components/schemas/ModelCapability" + }, + "type": "array" + }, + "authors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "providers": { + "items": { + "properties": { + "displayName": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "displayName", + "name" + ], + "type": "object" + }, + "type": "array" + } }, - "type": "array" - }, - "contextLength": { - "type": "number", - "format": "double" - }, - "maxCompletionTokens": { - "type": "number", - "format": "double" - }, - "ptbEnabled": { - "type": "boolean" - }, - "version": { - "type": "string" - }, - "rateLimits": { - "$ref": "#/components/schemas/RateLimits" - }, - "priority": { - "type": "number", - "format": "double" + "required": [ + "capabilities", + "authors", + "providers" + ], + "type": "object" } }, + "required": [ + "models", + "total", + "filters" + ], "type": "object", "additionalProperties": false }, - "Record_string.EndpointConfig_": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/EndpointConfig" + "ResultSuccess_ModelRegistryResponse_": { + "properties": { + "data": { + "$ref": "#/components/schemas/ModelRegistryResponse" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true + } }, + "required": [ + "data", + "error" + ], "type": "object", - "description": "Construct a type with a set of properties K of type T" + "additionalProperties": false }, - "ResponseFormat": { - "type": "string", - "enum": [ - "ANTHROPIC", - "OPENAI", - "GOOGLE" + "Result_ModelRegistryResponse.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_ModelRegistryResponse_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" + } ] }, - "ModelProviderConfig": { + "OAIModel": { "properties": { - "pricing": { - "items": { - "$ref": "#/components/schemas/ModelPricing" - }, - "type": "array" - }, - "contextLength": { - "type": "number", - "format": "double" - }, - "maxCompletionTokens": { - "type": "number", - "format": "double" - }, - "ptbEnabled": { - "type": "boolean" - }, - "version": { - "type": "string" - }, - "unsupportedParameters": { - "items": { - "$ref": "#/components/schemas/StandardParameter" - }, - "type": "array" - }, - "providerModelId": { + "id": { "type": "string" }, - "provider": { - "$ref": "#/components/schemas/ModelProviderName" - }, - "author": { - "$ref": "#/components/schemas/AuthorName" - }, - "supportedParameters": { - "items": { - "$ref": "#/components/schemas/StandardParameter" - }, - "type": "array" - }, - "supportedPlugins": { - "items": { - "$ref": "#/components/schemas/PluginId" - }, - "type": "array" - }, - "rateLimits": { - "$ref": "#/components/schemas/RateLimits" - }, - "endpointConfigs": { - "$ref": "#/components/schemas/Record_string.EndpointConfig_" - }, - "crossRegion": { - "type": "boolean" + "object": { + "type": "string", + "enum": [ + "model" + ], + "nullable": false }, - "priority": { + "created": { "type": "number", "format": "double" }, - "quantization": { + "owned_by": { + "type": "string" + } + }, + "required": [ + "id", + "object", + "created", + "owned_by" + ], + "type": "object", + "additionalProperties": false + }, + "OAIModelsResponse": { + "properties": { + "object": { "type": "string", "enum": [ - "fp4", - "fp8", - "fp16", - "bf16", - "int4" - ] - }, - "responseFormat": { - "$ref": "#/components/schemas/ResponseFormat" - }, - "requireExplicitRouting": { - "type": "boolean" + "list" + ], + "nullable": false }, - "providerModelIdAliases": { + "data": { "items": { - "type": "string" + "$ref": "#/components/schemas/OAIModel" }, "type": "array" } }, "required": [ - "pricing", - "contextLength", - "maxCompletionTokens", - "ptbEnabled", - "providerModelId", - "provider", - "author", - "supportedParameters", - "endpointConfigs" + "object", + "data" ], "type": "object", "additionalProperties": false }, - "UserEndpointConfig": { + "MetricStats": { "properties": { - "region": { - "type": "string" + "p99": { + "type": "number", + "format": "double" }, - "location": { - "type": "string" + "p95": { + "type": "number", + "format": "double" }, - "projectId": { - "type": "string" + "p90": { + "type": "number", + "format": "double" }, - "baseUri": { - "type": "string" + "max": { + "type": "number", + "format": "double" }, - "deploymentName": { - "type": "string" + "min": { + "type": "number", + "format": "double" }, - "resourceName": { - "type": "string" - }, - "apiVersion": { - "type": "string" - }, - "crossRegion": { - "type": "boolean" - }, - "gatewayMapping": { - "$ref": "#/components/schemas/BodyMappingType" - }, - "modelName": { - "type": "string" - }, - "heliconeModelId": { - "type": "string" - } - }, - "type": "object", - "additionalProperties": false - }, - "Endpoint": { - "properties": { - "pricing": { - "items": { - "$ref": "#/components/schemas/ModelPricing" - }, - "type": "array" - }, - "contextLength": { - "type": "number", - "format": "double" - }, - "maxCompletionTokens": { + "median": { "type": "number", "format": "double" }, - "ptbEnabled": { - "type": "boolean" - }, - "version": { - "type": "string" - }, - "unsupportedParameters": { - "items": { - "$ref": "#/components/schemas/StandardParameter" - }, - "type": "array" - }, - "modelConfig": { - "$ref": "#/components/schemas/ModelProviderConfig" - }, - "userConfig": { - "$ref": "#/components/schemas/UserEndpointConfig" - }, - "provider": { - "$ref": "#/components/schemas/ModelProviderName" - }, - "author": { - "$ref": "#/components/schemas/AuthorName" - }, - "providerModelId": { - "type": "string" - }, - "supportedParameters": { - "items": { - "$ref": "#/components/schemas/StandardParameter" - }, - "type": "array" - }, - "priority": { + "average": { "type": "number", "format": "double" } }, "required": [ - "pricing", - "contextLength", - "maxCompletionTokens", - "ptbEnabled", - "modelConfig", - "userConfig", - "provider", - "author", - "providerModelId", - "supportedParameters" + "p99", + "p95", + "p90", + "max", + "min", + "median", + "average" ], - "type": "object", - "additionalProperties": false + "type": "object" }, - "SimplifiedModalityPricing": { - "properties": { - "input": { - "type": "number", - "format": "double" - }, - "cachedInput": { - "type": "number", - "format": "double" + "TokenMetricStats": { + "allOf": [ + { + "$ref": "#/components/schemas/MetricStats" }, - "output": { - "type": "number", - "format": "double" + { + "properties": { + "medianPer1000Tokens": { + "type": "number", + "format": "double" + } + }, + "required": [ + "medianPer1000Tokens" + ], + "type": "object" } - }, - "type": "object", - "additionalProperties": false + ] }, - "SimplifiedPricing": { + "TimeSeriesMetric": { "properties": { - "prompt": { - "type": "number", - "format": "double" - }, - "completion": { - "type": "number", - "format": "double" - }, - "audio": { - "$ref": "#/components/schemas/SimplifiedModalityPricing" - }, - "thinking": { - "type": "number", - "format": "double" - }, - "web_search": { - "type": "number", - "format": "double" - }, - "image": { - "$ref": "#/components/schemas/SimplifiedModalityPricing" - }, - "video": { - "$ref": "#/components/schemas/SimplifiedModalityPricing" - }, - "file": { - "$ref": "#/components/schemas/SimplifiedModalityPricing" - }, - "cacheRead": { - "type": "number", - "format": "double" - }, - "cacheWrite": { + "value": { "type": "number", "format": "double" }, - "threshold": { - "type": "number", - "format": "double" + "timestamp": { + "type": "string" } }, "required": [ - "prompt", - "completion" + "value", + "timestamp" ], - "type": "object", - "additionalProperties": false + "type": "object" }, - "ModelEndpoint": { + "Model": { "properties": { - "provider": { - "type": "string" - }, - "providerSlug": { - "type": "string" - }, - "endpoint": { - "$ref": "#/components/schemas/Endpoint" - }, - "supportsPtb": { - "type": "boolean" + "timeSeriesData": { + "properties": { + "errorRate": { + "items": { + "$ref": "#/components/schemas/TimeSeriesMetric" + }, + "type": "array" + }, + "successRate": { + "items": { + "$ref": "#/components/schemas/TimeSeriesMetric" + }, + "type": "array" + }, + "ttft": { + "items": { + "$ref": "#/components/schemas/TimeSeriesMetric" + }, + "type": "array" + }, + "latency": { + "items": { + "$ref": "#/components/schemas/TimeSeriesMetric" + }, + "type": "array" + } + }, + "required": [ + "errorRate", + "successRate", + "ttft", + "latency" + ], + "type": "object" }, - "pricing": { - "$ref": "#/components/schemas/SimplifiedPricing" + "requestStatus": { + "properties": { + "errorRate": { + "type": "number", + "format": "double" + }, + "successRate": { + "type": "number", + "format": "double" + } + }, + "required": [ + "errorRate", + "successRate" + ], + "type": "object" }, - "pricingTiers": { + "geographicTtft": { "items": { - "$ref": "#/components/schemas/SimplifiedPricing" - }, - "type": "array" - } - }, - "required": [ - "provider", - "providerSlug", - "pricing" - ], - "type": "object", - "additionalProperties": false - }, - "InputModality": { - "type": "string", - "enum": [ - "text", - "image", - "audio", - "video" - ] - }, - "OutputModality": { - "type": "string", - "enum": [ - "text", - "image", - "audio", - "video" - ] - }, - "ModelRegistryItem": { - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "author": { - "type": "string" - }, - "contextLength": { - "type": "number", - "format": "double" - }, - "endpoints": { - "items": { - "$ref": "#/components/schemas/ModelEndpoint" - }, - "type": "array" - }, - "maxOutput": { - "type": "number", - "format": "double" - }, - "trainingDate": { - "type": "string" - }, - "description": { - "type": "string" - }, - "inputModalities": { - "items": { - "$ref": "#/components/schemas/InputModality" - }, - "type": "array" - }, - "outputModalities": { - "items": { - "$ref": "#/components/schemas/OutputModality" + "properties": { + "median": { + "type": "number", + "format": "double" + }, + "countryCode": { + "type": "string" + } + }, + "required": [ + "median", + "countryCode" + ], + "type": "object" }, "type": "array" }, - "supportedParameters": { - "items": { - "$ref": "#/components/schemas/StandardParameter" - }, - "type": "array" - }, - "pinnedVersionOfModel": { - "type": "string" - } - }, - "required": [ - "id", - "name", - "author", - "contextLength", - "endpoints", - "inputModalities", - "outputModalities", - "supportedParameters" - ], - "type": "object", - "additionalProperties": false - }, - "ModelCapability": { - "type": "string", - "enum": [ - "audio", - "video", - "image", - "thinking", - "web_search", - "caching", - "reasoning" - ] - }, - "ModelRegistryResponse": { - "properties": { - "models": { + "geographicLatency": { "items": { - "$ref": "#/components/schemas/ModelRegistryItem" + "properties": { + "median": { + "type": "number", + "format": "double" + }, + "countryCode": { + "type": "string" + } + }, + "required": [ + "median", + "countryCode" + ], + "type": "object" }, "type": "array" }, - "total": { - "type": "number", - "format": "double" - }, - "filters": { + "feedback": { "properties": { - "capabilities": { - "items": { - "$ref": "#/components/schemas/ModelCapability" - }, - "type": "array" - }, - "authors": { - "items": { - "type": "string" - }, - "type": "array" + "negativePercentage": { + "type": "number", + "format": "double" }, - "providers": { - "items": { - "properties": { - "displayName": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "displayName", - "name" - ], - "type": "object" - }, - "type": "array" + "positivePercentage": { + "type": "number", + "format": "double" } }, "required": [ - "capabilities", - "authors", - "providers" + "negativePercentage", + "positivePercentage" ], "type": "object" - } - }, - "required": [ - "models", - "total", - "filters" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_ModelRegistryResponse_": { - "properties": { - "data": { - "$ref": "#/components/schemas/ModelRegistryResponse" }, - "error": { - "type": "number", - "enum": [ - null + "costs": { + "properties": { + "completion_token": { + "type": "number", + "format": "double" + }, + "prompt_token": { + "type": "number", + "format": "double" + } + }, + "required": [ + "completion_token", + "prompt_token" ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_ModelRegistryResponse.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_ModelRegistryResponse_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "OAIModel": { - "properties": { - "id": { - "type": "string" + "type": "object" }, - "object": { - "type": "string", - "enum": [ - "model" - ], - "nullable": false + "ttft": { + "$ref": "#/components/schemas/MetricStats" }, - "created": { - "type": "number", - "format": "double" + "latency": { + "$ref": "#/components/schemas/TokenMetricStats" }, - "owned_by": { + "provider": { + "type": "string" + }, + "model": { "type": "string" } }, - "required": [ - "id", - "object", - "created", - "owned_by" - ], - "type": "object", - "additionalProperties": false - }, - "OAIModelsResponse": { - "properties": { - "object": { - "type": "string", - "enum": [ - "list" - ], - "nullable": false - }, - "data": { - "items": { - "$ref": "#/components/schemas/OAIModel" - }, - "type": "array" - } - }, - "required": [ - "object", - "data" - ], - "type": "object", - "additionalProperties": false - }, - "MetricStats": { - "properties": { - "p99": { - "type": "number", - "format": "double" - }, - "p95": { - "type": "number", - "format": "double" - }, - "p90": { - "type": "number", - "format": "double" - }, - "max": { - "type": "number", - "format": "double" - }, - "min": { - "type": "number", - "format": "double" - }, - "median": { - "type": "number", - "format": "double" - }, - "average": { - "type": "number", - "format": "double" - } - }, - "required": [ - "p99", - "p95", - "p90", - "max", - "min", - "median", - "average" - ], - "type": "object" - }, - "TokenMetricStats": { - "allOf": [ - { - "$ref": "#/components/schemas/MetricStats" - }, - { - "properties": { - "medianPer1000Tokens": { - "type": "number", - "format": "double" - } - }, - "required": [ - "medianPer1000Tokens" - ], - "type": "object" - } - ] - }, - "TimeSeriesMetric": { - "properties": { - "value": { - "type": "number", - "format": "double" - }, - "timestamp": { - "type": "string" - } - }, - "required": [ - "value", - "timestamp" - ], - "type": "object" - }, - "Model": { - "properties": { - "timeSeriesData": { - "properties": { - "errorRate": { - "items": { - "$ref": "#/components/schemas/TimeSeriesMetric" - }, - "type": "array" - }, - "successRate": { - "items": { - "$ref": "#/components/schemas/TimeSeriesMetric" - }, - "type": "array" - }, - "ttft": { - "items": { - "$ref": "#/components/schemas/TimeSeriesMetric" - }, - "type": "array" - }, - "latency": { - "items": { - "$ref": "#/components/schemas/TimeSeriesMetric" - }, - "type": "array" - } - }, - "required": [ - "errorRate", - "successRate", - "ttft", - "latency" - ], - "type": "object" - }, - "requestStatus": { - "properties": { - "errorRate": { - "type": "number", - "format": "double" - }, - "successRate": { - "type": "number", - "format": "double" - } - }, - "required": [ - "errorRate", - "successRate" - ], - "type": "object" - }, - "geographicTtft": { - "items": { - "properties": { - "median": { - "type": "number", - "format": "double" - }, - "countryCode": { - "type": "string" - } - }, - "required": [ - "median", - "countryCode" - ], - "type": "object" - }, - "type": "array" - }, - "geographicLatency": { - "items": { - "properties": { - "median": { - "type": "number", - "format": "double" - }, - "countryCode": { - "type": "string" - } - }, - "required": [ - "median", - "countryCode" - ], - "type": "object" - }, - "type": "array" - }, - "feedback": { - "properties": { - "negativePercentage": { - "type": "number", - "format": "double" - }, - "positivePercentage": { - "type": "number", - "format": "double" - } - }, - "required": [ - "negativePercentage", - "positivePercentage" - ], - "type": "object" - }, - "costs": { - "properties": { - "completion_token": { - "type": "number", - "format": "double" - }, - "prompt_token": { - "type": "number", - "format": "double" - } - }, - "required": [ - "completion_token", - "prompt_token" - ], - "type": "object" - }, - "ttft": { - "$ref": "#/components/schemas/MetricStats" - }, - "latency": { - "$ref": "#/components/schemas/TokenMetricStats" - }, - "provider": { - "type": "string" - }, - "model": { - "type": "string" - } - }, - "required": [ - "timeSeriesData", - "requestStatus", - "geographicTtft", - "geographicLatency", - "feedback", - "costs", - "ttft", - "latency", - "provider", - "model" - ], - "type": "object" - }, - "ResultSuccess_Model-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/Model" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_Model-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_Model-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ModelsToCompare": { - "properties": { - "provider": { - "type": "string" - }, - "names": { - "items": { - "type": "string" - }, - "type": "array" - }, - "parent": { - "type": "string" - } - }, - "required": [ - "provider", - "names", - "parent" - ], - "type": "object" - }, - "MetricsFilterBody": { - "properties": { - "filter": { - "$ref": "#/components/schemas/FilterNode" - }, - "timeFilter": { - "properties": { - "end": { - "type": "string" - }, - "start": { - "type": "string" - } - }, - "required": [ - "end", - "start" - ], - "type": "object" - } - }, - "required": [ - "filter", - "timeFilter" - ], - "type": "object", - "additionalProperties": false - }, - "TokensPerRequest": { - "properties": { - "average_prompt_tokens_per_response": { - "type": "number", - "format": "double" - }, - "average_completion_tokens_per_response": { - "type": "number", - "format": "double" - }, - "average_total_tokens_per_response": { - "type": "number", - "format": "double" - } - }, - "required": [ - "average_prompt_tokens_per_response", - "average_completion_tokens_per_response", - "average_total_tokens_per_response" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_TokensPerRequest_": { - "properties": { - "data": { - "$ref": "#/components/schemas/TokensPerRequest" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_TokensPerRequest.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_TokensPerRequest_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "RequestsOverTime": { - "properties": { - "time": { - "type": "string", - "format": "date-time" - }, - "count": { - "type": "number", - "format": "double" - }, - "status": { - "type": "number", - "format": "double" - } - }, - "required": [ - "time", - "count" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_RequestsOverTime-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/RequestsOverTime" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_RequestsOverTime-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_RequestsOverTime-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "MetricsOverTimeBody": { - "properties": { - "timeFilter": { - "properties": { - "end": { - "type": "string" - }, - "start": { - "type": "string" - } - }, - "required": [ - "end", - "start" - ], - "type": "object" - }, - "filter": { - "$ref": "#/components/schemas/FilterNode" - }, - "dbIncrement": { - "$ref": "#/components/schemas/TimeIncrement" - }, - "timeZoneDifference": { - "type": "number", - "format": "double" - } - }, - "required": [ - "timeFilter", - "filter", - "timeZoneDifference" - ], - "type": "object", - "additionalProperties": false - }, - "CostOverTime": { - "properties": { - "time": { - "type": "string", - "format": "date-time" - }, - "cost": { - "type": "number", - "format": "double" - } - }, - "required": [ - "time", - "cost" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_CostOverTime-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/CostOverTime" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_CostOverTime-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_CostOverTime-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "TokensOverTime": { - "properties": { - "time": { - "type": "string", - "format": "date-time" - }, - "prompt_tokens": { - "type": "number", - "format": "double" - }, - "completion_tokens": { - "type": "number", - "format": "double" - } - }, - "required": [ - "time", - "prompt_tokens", - "completion_tokens" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_TokensOverTime-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/TokensOverTime" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_TokensOverTime-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_TokensOverTime-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "LatencyOverTime": { - "properties": { - "time": { - "type": "string", - "format": "date-time" - }, - "duration": { - "type": "number", - "format": "double" - } - }, - "required": [ - "time", - "duration" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_LatencyOverTime-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/LatencyOverTime" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_LatencyOverTime-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_LatencyOverTime-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "TimeToFirstTokenOverTime": { - "properties": { - "time": { - "type": "string", - "format": "date-time" - }, - "ttft": { - "type": "number", - "format": "double" - } - }, - "required": [ - "time", - "ttft" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_TimeToFirstTokenOverTime-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/TimeToFirstTokenOverTime" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_TimeToFirstTokenOverTime-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_TimeToFirstTokenOverTime-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "UsersOverTime": { - "properties": { - "time": { - "type": "string", - "format": "date-time" - }, - "count": { - "type": "number", - "format": "double" - } - }, - "required": [ - "time", - "count" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_UsersOverTime-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/UsersOverTime" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_UsersOverTime-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_UsersOverTime-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ThreatsOverTime": { - "properties": { - "time": { - "type": "string", - "format": "date-time" - }, - "count": { - "type": "number", - "format": "double" - } - }, - "required": [ - "time", - "count" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_ThreatsOverTime-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/ThreatsOverTime" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_ThreatsOverTime-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_ThreatsOverTime-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ErrorOverTime": { - "properties": { - "time": { - "type": "string", - "format": "date-time" - }, - "count": { - "type": "number", - "format": "double" - } - }, - "required": [ - "time", - "count" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_ErrorOverTime-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/ErrorOverTime" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_ErrorOverTime-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_ErrorOverTime-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "RequestCountBody": { - "properties": { - "filter": { - "$ref": "#/components/schemas/FilterNode" - }, - "isCached": { - "type": "boolean" - } - }, - "required": [ - "filter" - ], - "type": "object", - "additionalProperties": false - }, - "ModelMetric": { - "properties": { - "model": { - "type": "string" - }, - "total_requests": { - "type": "number", - "format": "double" - }, - "total_completion_tokens": { - "type": "number", - "format": "double" - }, - "total_prompt_token": { - "type": "number", - "format": "double" - }, - "total_tokens": { - "type": "number", - "format": "double" - }, - "cost": { - "type": "number", - "format": "double" - } - }, - "required": [ - "model", - "total_requests", - "total_completion_tokens", - "total_prompt_token", - "total_tokens", - "cost" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_ModelMetric-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/ModelMetric" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_ModelMetric-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_ModelMetric-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ModelMetricsBody": { - "properties": { - "filter": { - "$ref": "#/components/schemas/FilterNode" - }, - "offset": { - "type": "number", - "format": "double" - }, - "limit": { - "type": "number", - "format": "double" - }, - "timeFilter": { - "properties": { - "end": { - "type": "string" - }, - "start": { - "type": "string" - } - }, - "required": [ - "end", - "start" - ], - "type": "object" - } - }, - "required": [ - "filter", - "offset", - "limit", - "timeFilter" - ], - "type": "object", - "additionalProperties": false - }, - "CountryData": { - "properties": { - "country": { - "type": "string" - }, - "total_requests": { - "type": "number", - "format": "double" - } - }, - "required": [ - "country", - "total_requests" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_CountryData-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/CountryData" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_CountryData-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_CountryData-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "CountryMetricsBody": { - "properties": { - "filter": { - "$ref": "#/components/schemas/FilterNode" - }, - "offset": { - "type": "number", - "format": "double" - }, - "limit": { - "type": "number", - "format": "double" - }, - "timeFilter": { - "properties": { - "end": { - "type": "string" - }, - "start": { - "type": "string" - } - }, - "required": [ - "end", - "start" - ], - "type": "object" - } - }, - "required": [ - "filter", - "offset", - "limit", - "timeFilter" - ], - "type": "object", - "additionalProperties": false - }, - "Quantiles": { - "properties": { - "time": { - "type": "string", - "format": "date-time" - }, - "p75": { - "type": "number", - "format": "double" - }, - "p90": { - "type": "number", - "format": "double" - }, - "p95": { - "type": "number", - "format": "double" - }, - "p99": { - "type": "number", - "format": "double" - } - }, - "required": [ - "time", - "p75", - "p90", - "p95", - "p99" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_Quantiles-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/Quantiles" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_Quantiles-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_Quantiles-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "QuantilesBody": { - "properties": { - "filter": { - "$ref": "#/components/schemas/FilterNode" - }, - "timeFilter": { - "properties": { - "end": { - "type": "string" - }, - "start": { - "type": "string" - } - }, - "required": [ - "end", - "start" - ], - "type": "object" - }, - "dbIncrement": { - "$ref": "#/components/schemas/TimeIncrement" - }, - "timeZoneDifference": { - "type": "number", - "format": "double" - }, - "metric": { - "type": "string" - } - }, - "required": [ - "filter", - "timeFilter", - "timeZoneDifference", - "metric" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess__unsafe-boolean__": { - "properties": { - "data": { - "properties": { - "unsafe": { - "type": "boolean" - } - }, - "required": [ - "unsafe" - ], - "type": "object" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result__unsafe-boolean_.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__unsafe-boolean__" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ClickHouseTableColumn": { - "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string" - }, - "default_type": { - "type": "string" - }, - "default_expression": { - "type": "string" - }, - "comment": { - "type": "string" - }, - "codec_expression": { - "type": "string" - }, - "ttl_expression": { - "type": "string" - } - }, - "required": [ - "name", - "type" - ], - "type": "object", - "additionalProperties": false - }, - "ClickHouseTableSchema": { - "properties": { - "table_name": { - "type": "string" - }, - "columns": { - "items": { - "$ref": "#/components/schemas/ClickHouseTableColumn" - }, - "type": "array" - } - }, - "required": [ - "table_name", - "columns" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_ClickHouseTableSchema-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/ClickHouseTableSchema" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_ClickHouseTableSchema-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_ClickHouseTableSchema-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ExecuteSqlResponse": { - "properties": { - "rowCount": { - "type": "number", - "format": "double" - }, - "size": { - "type": "number", - "format": "double" - }, - "elapsedMilliseconds": { - "type": "number", - "format": "double" - }, - "rows": { - "items": { - "$ref": "#/components/schemas/Record_string.any_" - }, - "type": "array" - } - }, - "required": [ - "rowCount", - "size", - "elapsedMilliseconds", - "rows" - ], - "type": "object" - }, - "ResultSuccess_ExecuteSqlResponse_": { - "properties": { - "data": { - "$ref": "#/components/schemas/ExecuteSqlResponse" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_ExecuteSqlResponse.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_ExecuteSqlResponse_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ExecuteSqlRequest": { - "properties": { - "sql": { - "type": "string" - } - }, - "required": [ - "sql" - ], - "type": "object", - "additionalProperties": false - }, - "HqlSavedQuery": { - "properties": { - "id": { - "type": "string" - }, - "organization_id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "sql": { - "type": "string" - }, - "created_at": { - "type": "string" - }, - "updated_at": { - "type": "string" - } - }, - "required": [ - "id", - "organization_id", - "name", - "sql", - "created_at", - "updated_at" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_Array_HqlSavedQuery__": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/HqlSavedQuery" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_Array_HqlSavedQuery_.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_Array_HqlSavedQuery__" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess_HqlSavedQuery-or-null_": { - "properties": { - "data": { - "allOf": [ - { - "$ref": "#/components/schemas/HqlSavedQuery" - } - ], - "nullable": true - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_HqlSavedQuery-or-null.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_HqlSavedQuery-or-null_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess_void_": { - "properties": { - "data": {}, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_void.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_void_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "BulkDeleteSavedQueriesRequest": { - "properties": { - "ids": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ids" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_HqlSavedQuery-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/HqlSavedQuery" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_HqlSavedQuery-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_HqlSavedQuery-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "CreateSavedQueryRequest": { - "properties": { - "name": { - "type": "string" - }, - "sql": { - "type": "string" - } - }, - "required": [ - "name", - "sql" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_HqlSavedQuery_": { - "properties": { - "data": { - "$ref": "#/components/schemas/HqlSavedQuery" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_HqlSavedQuery.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_HqlSavedQuery_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess__tableId-string--experimentId-string__": { - "properties": { - "data": { - "properties": { - "experimentId": { - "type": "string" - }, - "tableId": { - "type": "string" - } - }, - "required": [ - "experimentId", - "tableId" - ], - "type": "object" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result__tableId-string--experimentId-string_.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__tableId-string--experimentId-string__" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "CreateExperimentTableParams": { - "properties": { - "datasetId": { - "type": "string" - }, - "experimentMetadata": { - "$ref": "#/components/schemas/Record_string.any_" - }, - "promptVersionId": { - "type": "string" - }, - "newHeliconeTemplate": { - "type": "string" - }, - "isMajorVersion": { - "type": "boolean" - }, - "promptSubversionMetadata": { - "$ref": "#/components/schemas/Record_string.any_" - }, - "experimentTableMetadata": { - "$ref": "#/components/schemas/Record_string.any_" - } - }, - "required": [ - "datasetId", - "experimentMetadata", - "promptVersionId", - "newHeliconeTemplate", - "isMajorVersion", - "promptSubversionMetadata" - ], - "type": "object", - "additionalProperties": false - }, - "ExperimentTableColumn": { - "properties": { - "id": { - "type": "string" - }, - "columnName": { - "type": "string" - }, - "columnType": { - "type": "string" - }, - "hypothesisId": { - "type": "string" - }, - "cells": { - "items": { - "properties": { - "metadata": { - "$ref": "#/components/schemas/Record_string.any_" - }, - "value": { - "type": "string", - "nullable": true - }, - "requestId": { - "type": "string" - }, - "rowIndex": { - "type": "number", - "format": "double" - }, - "id": { - "type": "string" - } - }, - "required": [ - "value", - "rowIndex", - "id" - ], - "type": "object" - }, - "type": "array" - }, - "metadata": { - "$ref": "#/components/schemas/Record_string.any_" - } - }, - "required": [ - "id", - "columnName", - "columnType", - "cells" - ], - "type": "object", - "additionalProperties": false - }, - "ExperimentTable": { - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "experimentId": { - "type": "string" - }, - "columns": { - "items": { - "$ref": "#/components/schemas/ExperimentTableColumn" - }, - "type": "array" - }, - "metadata": { - "$ref": "#/components/schemas/Record_string.any_" - } - }, - "required": [ - "id", - "name", - "experimentId", - "columns" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_ExperimentTable_": { - "properties": { - "data": { - "$ref": "#/components/schemas/ExperimentTable" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_ExperimentTable.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_ExperimentTable_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ExperimentTableSimplified": { - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "experimentId": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "metadata": {}, - "columns": { - "items": { - "properties": { - "columnType": { - "type": "string" - }, - "columnName": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "columnType", - "columnName", - "id" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "id", - "name", - "experimentId", - "createdAt", - "columns" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_ExperimentTableSimplified_": { - "properties": { - "data": { - "$ref": "#/components/schemas/ExperimentTableSimplified" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_ExperimentTableSimplified.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_ExperimentTableSimplified_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess_ExperimentTableSimplified-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/ExperimentTableSimplified" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_ExperimentTableSimplified-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_ExperimentTableSimplified-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "NewExperimentParams": { - "properties": { - "datasetId": { - "type": "string" - }, - "promptVersion": { - "type": "string" - }, - "model": { - "type": "string" - }, - "providerKeyId": { - "type": "string" - }, - "meta": {} - }, - "required": [ - "datasetId", - "promptVersion", - "model", - "providerKeyId" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess__hypothesisId-string__": { - "properties": { - "data": { - "properties": { - "hypothesisId": { - "type": "string" - } - }, - "required": [ - "hypothesisId" - ], - "type": "object" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result__hypothesisId-string_.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__hypothesisId-string__" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "Score": { - "properties": { - "valueType": { - "type": "string" - }, - "value": { - "anyOf": [ - { - "type": "number", - "format": "double" - }, - { - "type": "string", - "format": "date-time" - }, - { - "type": "string" - } - ] - } - }, - "required": [ - "valueType", - "value" - ], - "type": "object", - "additionalProperties": false - }, - "Record_string.Score_": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/Score" - }, - "type": "object", - "description": "Construct a type with a set of properties K of type T" - }, - "ResultSuccess__runsCount-number--scores-Record_string.Score___": { - "properties": { - "data": { - "properties": { - "scores": { - "$ref": "#/components/schemas/Record_string.Score_" - }, - "runsCount": { - "type": "number", - "format": "double" - } - }, - "required": [ - "scores", - "runsCount" - ], - "type": "object" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result__runsCount-number--scores-Record_string.Score__.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__runsCount-number--scores-Record_string.Score___" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResponseObj": { - "properties": { - "body": {}, - "createdAt": { - "type": "string" - }, - "completionTokens": { - "type": "number", - "format": "double" - }, - "promptTokens": { - "type": "number", - "format": "double" - }, - "promptCacheWriteTokens": { - "type": "number", - "format": "double" - }, - "promptCacheReadTokens": { - "type": "number", - "format": "double" - }, - "delayMs": { - "type": "number", - "format": "double" - }, - "model": { - "type": "string" - } - }, - "required": [ - "body", - "createdAt", - "completionTokens", - "promptTokens", - "promptCacheWriteTokens", - "promptCacheReadTokens", - "delayMs", - "model" - ], - "type": "object", - "additionalProperties": false - }, - "RequestObj": { - "properties": { - "id": { - "type": "string" - }, - "provider": { - "type": "string" - } - }, - "required": [ - "id", - "provider" - ], - "type": "object", - "additionalProperties": false - }, - "ExperimentDatasetRow": { - "properties": { - "rowId": { - "type": "string" - }, - "inputRecord": { - "properties": { - "request": { - "$ref": "#/components/schemas/RequestObj" - }, - "response": { - "$ref": "#/components/schemas/ResponseObj" - }, - "autoInputs": { - "items": { - "$ref": "#/components/schemas/Record_string.string_" - }, - "type": "array" - }, - "inputs": { - "$ref": "#/components/schemas/Record_string.string_" - }, - "requestPath": { - "type": "string" - }, - "requestId": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "request", - "response", - "autoInputs", - "inputs", - "requestPath", - "requestId", - "id" - ], - "type": "object" - }, - "rowIndex": { - "type": "number", - "format": "double" - }, - "columnId": { - "type": "string" - }, - "scores": { - "$ref": "#/components/schemas/Record_string.Score_" - } - }, - "required": [ - "rowId", - "inputRecord", - "rowIndex", - "columnId", - "scores" - ], - "type": "object", - "additionalProperties": false - }, - "ExperimentScores": { - "properties": { - "dataset": { - "properties": { - "scores": { - "$ref": "#/components/schemas/Record_string.Score_" - } - }, - "required": [ - "scores" - ], - "type": "object" - }, - "hypothesis": { - "properties": { - "scores": { - "$ref": "#/components/schemas/Record_string.Score_" - }, - "runsCount": { - "type": "number", - "format": "double" - } - }, - "required": [ - "scores", - "runsCount" - ], - "type": "object" - } - }, - "required": [ - "dataset", - "hypothesis" - ], - "type": "object", - "additionalProperties": false - }, - "Experiment": { - "properties": { - "id": { - "type": "string" - }, - "organization": { - "type": "string" - }, - "dataset": { - "properties": { - "rows": { - "items": { - "$ref": "#/components/schemas/ExperimentDatasetRow" - }, - "type": "array" - }, - "name": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "rows", - "name", - "id" - ], - "type": "object" - }, - "meta": {}, - "createdAt": { - "type": "string" - }, - "hypotheses": { - "items": { - "properties": { - "runs": { - "items": { - "properties": { - "request": { - "$ref": "#/components/schemas/RequestObj" - }, - "scores": { - "$ref": "#/components/schemas/Record_string.Score_" - }, - "response": { - "$ref": "#/components/schemas/ResponseObj" - }, - "resultRequestId": { - "type": "string" - }, - "datasetRowId": { - "type": "string" - } - }, - "required": [ - "scores", - "resultRequestId", - "datasetRowId" - ], - "type": "object" - }, - "type": "array" - }, - "providerKey": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "status": { - "type": "string" - }, - "model": { - "type": "string" - }, - "parentPromptVersion": { - "properties": { - "template": {} - }, - "required": [ - "template" - ], - "type": "object" - }, - "promptVersion": { - "properties": { - "template": {} - }, - "required": [ - "template" - ], - "type": "object" - }, - "promptVersionId": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "runs", - "providerKey", - "createdAt", - "status", - "model", - "promptVersionId", - "id" - ], - "type": "object" - }, - "type": "array" - }, - "scores": { - "allOf": [ - { - "$ref": "#/components/schemas/ExperimentScores" - } - ], - "nullable": true - }, - "tableId": { - "type": "string", - "nullable": true - } - }, - "required": [ - "id", - "organization", - "dataset", - "meta", - "createdAt", - "hypotheses", - "scores", - "tableId" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_Experiment-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/Experiment" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_Experiment-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_Experiment-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "Pick_FilterLeaf.experiment_": { - "properties": { - "experiment": { - "$ref": "#/components/schemas/Partial_ExperimentToOperators_" - } - }, - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "FilterLeafSubset_experiment_": { - "$ref": "#/components/schemas/Pick_FilterLeaf.experiment_" - }, - "ExperimentFilterNode": { - "anyOf": [ - { - "$ref": "#/components/schemas/FilterLeafSubset_experiment_" - }, - { - "$ref": "#/components/schemas/ExperimentFilterBranch" - }, - { - "type": "string", - "enum": [ - "all" - ] - } - ] - }, - "ExperimentFilterBranch": { - "properties": { - "right": { - "$ref": "#/components/schemas/ExperimentFilterNode" - }, - "operator": { - "type": "string", - "enum": [ - "or", - "and" - ] - }, - "left": { - "$ref": "#/components/schemas/ExperimentFilterNode" - } - }, - "required": [ - "right", - "operator", - "left" - ], - "type": "object" - }, - "IncludeExperimentKeys": { - "properties": { - "inputs": { - "type": "boolean", - "enum": [ - true - ], - "nullable": false - }, - "promptVersion": { - "type": "boolean", - "enum": [ - true - ], - "nullable": false - }, - "responseBodies": { - "type": "boolean", - "enum": [ - true - ], - "nullable": false - }, - "score": { - "type": "boolean", - "enum": [ - true - ], - "nullable": false - } - }, - "type": "object", - "additionalProperties": false - }, - "ResultSuccess__datasetId-string__": { - "properties": { - "data": { - "properties": { - "datasetId": { - "type": "string" - } - }, - "required": [ - "datasetId" - ], - "type": "object" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result__datasetId-string_.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__datasetId-string__" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "DatasetMetadata": { - "properties": { - "promptVersionId": { - "type": "string" - }, - "inputRecordsIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object", - "additionalProperties": false - }, - "NewDatasetParams": { - "properties": { - "datasetName": { - "type": "string" - }, - "requestIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "datasetType": { - "type": "string", - "enum": [ - "experiment", - "helicone" - ] - }, - "meta": { - "$ref": "#/components/schemas/DatasetMetadata" - } - }, - "required": [ - "datasetName", - "requestIds", - "datasetType" - ], - "type": "object", - "additionalProperties": false - }, - "Pick_FilterLeaf.request-or-prompts_versions_": { - "properties": { - "request": { - "$ref": "#/components/schemas/Partial_RequestTableToOperators_" - }, - "prompts_versions": { - "$ref": "#/components/schemas/Partial_PromptVersionsToOperators_" - } - }, - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "FilterLeafSubset_request-or-prompts_versions_": { - "$ref": "#/components/schemas/Pick_FilterLeaf.request-or-prompts_versions_" - }, - "DatasetFilterNode": { - "anyOf": [ - { - "$ref": "#/components/schemas/FilterLeafSubset_request-or-prompts_versions_" - }, - { - "$ref": "#/components/schemas/DatasetFilterBranch" - }, - { - "type": "string", - "enum": [ - "all" - ] - } - ] - }, - "DatasetFilterBranch": { - "properties": { - "right": { - "$ref": "#/components/schemas/DatasetFilterNode" - }, - "operator": { - "type": "string", - "enum": [ - "or", - "and" - ] - }, - "left": { - "$ref": "#/components/schemas/DatasetFilterNode" - } - }, - "required": [ - "right", - "operator", - "left" - ], - "type": "object" - }, - "RandomDatasetParams": { - "properties": { - "datasetName": { - "type": "string" - }, - "filter": { - "$ref": "#/components/schemas/DatasetFilterNode" - }, - "offset": { - "type": "number", - "format": "double" - }, - "limit": { - "type": "number", - "format": "double" - } - }, - "required": [ - "datasetName", - "filter" - ], - "type": "object", - "additionalProperties": false - }, - "DatasetResult": { - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "created_at": { - "type": "string" - }, - "meta": { - "$ref": "#/components/schemas/DatasetMetadata" - } - }, - "required": [ - "id", - "name", - "created_at" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_DatasetResult-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/DatasetResult" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_DatasetResult-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_DatasetResult-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess___-Array_": { - "properties": { - "data": { - "items": { - "properties": {}, - "type": "object" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result___-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess___-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "HeliconeDatasetMetadata": { - "properties": { - "promptVersionId": { - "type": "string" - }, - "inputRecordsIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object", - "additionalProperties": false - }, - "NewHeliconeDatasetParams": { - "properties": { - "datasetName": { - "type": "string" - }, - "requestIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "meta": { - "$ref": "#/components/schemas/HeliconeDatasetMetadata" - } - }, - "required": [ - "datasetName", - "requestIds" - ], - "type": "object", - "additionalProperties": false - }, - "MutateParams": { - "properties": { - "addRequests": { - "items": { - "type": "string" - }, - "type": "array" - }, - "removeRequests": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "addRequests", - "removeRequests" - ], - "type": "object", - "additionalProperties": false - }, - "HeliconeDatasetRow": { - "properties": { - "id": { - "type": "string" - }, - "origin_request_id": { - "type": "string" - }, - "dataset_id": { - "type": "string" - }, - "created_at": { - "type": "string" - }, - "signed_url": { - "$ref": "#/components/schemas/Result_string.string_" - } - }, - "required": [ - "id", - "origin_request_id", - "dataset_id", - "created_at", - "signed_url" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_HeliconeDatasetRow-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/HeliconeDatasetRow" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_HeliconeDatasetRow-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_HeliconeDatasetRow-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "HeliconeDataset": { - "properties": { - "created_at": { - "type": "string", - "nullable": true - }, - "dataset_type": { - "type": "string" - }, - "id": { - "type": "string" - }, - "meta": { - "allOf": [ - { - "$ref": "#/components/schemas/Json" - } - ], - "nullable": true - }, - "name": { - "type": "string", - "nullable": true - }, - "organization": { - "type": "string" - }, - "requests_count": { - "type": "number", - "format": "double" - } - }, - "required": [ - "created_at", - "dataset_type", - "id", - "meta", - "name", - "organization", - "requests_count" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_HeliconeDataset-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/HeliconeDataset" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_HeliconeDataset-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_HeliconeDataset-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess_any_": { - "properties": { - "data": {}, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Eval": { - "properties": { - "name": { - "type": "string" - }, - "averageScore": { - "type": "number", - "format": "double" - }, - "minScore": { - "type": "number", - "format": "double" - }, - "maxScore": { - "type": "number", - "format": "double" - }, - "count": { - "type": "number", - "format": "double" - }, - "overTime": { - "items": { - "properties": { - "count": { - "type": "number", - "format": "double" - }, - "date": { - "type": "string" - } - }, - "required": [ - "count", - "date" - ], - "type": "object" - }, - "type": "array" - }, - "averageOverTime": { - "items": { - "properties": { - "value": { - "type": "number", - "format": "double" - }, - "date": { - "type": "string" - } - }, - "required": [ - "value", - "date" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "name", - "averageScore", - "minScore", - "maxScore", - "count", - "overTime", - "averageOverTime" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_Eval-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/Eval" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_Eval-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_Eval-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "EvalFilterNode": { - "anyOf": [ - { - "$ref": "#/components/schemas/FilterLeafSubset_request_response_rmt_" - }, - { - "$ref": "#/components/schemas/EvalFilterBranch" - }, - { - "type": "string", - "enum": [ - "all" - ] - } - ] - }, - "EvalFilterBranch": { - "properties": { - "right": { - "$ref": "#/components/schemas/EvalFilterNode" - }, - "operator": { - "type": "string", - "enum": [ - "or", - "and" - ] - }, - "left": { - "$ref": "#/components/schemas/EvalFilterNode" - } - }, - "required": [ - "right", - "operator", - "left" - ], - "type": "object" - }, - "EvalQueryParams": { - "properties": { - "filter": { - "$ref": "#/components/schemas/EvalFilterNode" - }, - "timeFilter": { - "properties": { - "end": { - "type": "string" - }, - "start": { - "type": "string" - } - }, - "required": [ - "end", - "start" - ], - "type": "object" - }, - "offset": { - "type": "number", - "format": "double" - }, - "limit": { - "type": "number", - "format": "double" - }, - "timeZoneDifference": { - "type": "number", - "format": "double" - } - }, - "required": [ - "filter", - "timeFilter" - ], - "type": "object", - "additionalProperties": false - }, - "ScoreDistribution": { - "properties": { - "name": { - "type": "string" - }, - "distribution": { - "items": { - "properties": { - "value": { - "type": "number", - "format": "double" - }, - "upper": { - "type": "number", - "format": "double" - }, - "lower": { - "type": "number", - "format": "double" - } - }, - "required": [ - "value", - "upper", - "lower" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "name", - "distribution" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_ScoreDistribution-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/ScoreDistribution" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_ScoreDistribution-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_ScoreDistribution-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess__score_key-string--score_sum-number--created_at_trunc-string_-Array_": { - "properties": { - "data": { - "items": { - "properties": { - "created_at_trunc": { - "type": "string" - }, - "score_sum": { - "type": "number", - "format": "double" - }, - "score_key": { - "type": "string" - } - }, - "required": [ - "created_at_trunc", - "score_sum", - "score_key" - ], - "type": "object" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result__score_key-string--score_sum-number--created_at_trunc-string_-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__score_key-string--score_sum-number--created_at_trunc-string_-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "CustomerUsage": { - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "cost": { - "type": "number", - "format": "double" - }, - "count": { - "type": "number", - "format": "double" - }, - "prompt_tokens": { - "type": "number", - "format": "double" - }, - "completion_tokens": { - "type": "number", - "format": "double" - } - }, - "required": [ - "id", - "name", - "cost", - "count", - "prompt_tokens", - "completion_tokens" - ], - "type": "object", - "additionalProperties": false - }, - "Customer": { - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "id", - "name" - ], - "type": "object", - "additionalProperties": false - }, - "CreditBalanceResponse": { - "properties": { - "totalCreditsPurchased": { - "type": "number", - "format": "double" - }, - "balance": { - "type": "number", - "format": "double" - } - }, - "required": [ - "totalCreditsPurchased", - "balance" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_CreditBalanceResponse_": { - "properties": { - "data": { - "$ref": "#/components/schemas/CreditBalanceResponse" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_CreditBalanceResponse.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_CreditBalanceResponse_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "PurchasedCredits": { - "properties": { - "id": { - "type": "string" - }, - "createdAt": { - "type": "number", - "format": "double" - }, - "credits": { - "type": "number", - "format": "double" - }, - "referenceId": { - "type": "string" - } - }, - "required": [ - "id", - "createdAt", - "credits", - "referenceId" - ], - "type": "object", - "additionalProperties": false - }, - "PaginatedPurchasedCredits": { - "properties": { - "purchases": { - "items": { - "$ref": "#/components/schemas/PurchasedCredits" - }, - "type": "array" - }, - "total": { - "type": "number", - "format": "double" - }, - "page": { - "type": "number", - "format": "double" - }, - "pageSize": { - "type": "number", - "format": "double" - } - }, - "required": [ - "purchases", - "total", - "page", - "pageSize" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_PaginatedPurchasedCredits_": { - "properties": { - "data": { - "$ref": "#/components/schemas/PaginatedPurchasedCredits" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_PaginatedPurchasedCredits.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_PaginatedPurchasedCredits_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess__totalSpend-number__": { - "properties": { - "data": { - "properties": { - "totalSpend": { - "type": "number", - "format": "double" - } - }, - "required": [ - "totalSpend" - ], - "type": "object" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result__totalSpend-number_.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__totalSpend-number__" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ModelSpend": { - "properties": { - "model": { - "type": "string" - }, - "provider": { - "type": "string" - }, - "promptTokens": { - "type": "number", - "format": "double" - }, - "completionTokens": { - "type": "number", - "format": "double" - }, - "cacheReadTokens": { - "type": "number", - "format": "double" - }, - "cacheWriteTokens": { - "type": "number", - "format": "double" - }, - "pricing": { - "properties": { - "cacheWritePer1M": { - "type": "number", - "format": "double" - }, - "cacheReadPer1M": { - "type": "number", - "format": "double" - }, - "outputPer1M": { - "type": "number", - "format": "double" - }, - "inputPer1M": { - "type": "number", - "format": "double" - } - }, - "required": [ - "outputPer1M", - "inputPer1M" - ], - "type": "object", - "nullable": true - }, - "subtotal": { - "type": "number", - "format": "double" - }, - "discountPercent": { - "type": "number", - "format": "double" - }, - "total": { - "type": "number", - "format": "double" - }, - "cacheAdjustment": { - "type": "number", - "format": "double" - } - }, - "required": [ - "model", - "provider", - "promptTokens", - "completionTokens", - "cacheReadTokens", - "cacheWriteTokens", - "pricing", - "subtotal", - "discountPercent", - "total" - ], - "type": "object", - "additionalProperties": false - }, - "SpendBreakdownResponse": { - "properties": { - "models": { - "items": { - "$ref": "#/components/schemas/ModelSpend" - }, - "type": "array" - }, - "totalCost": { - "type": "number", - "format": "double" - }, - "timeRange": { - "properties": { - "end": { - "type": "string" - }, - "start": { - "type": "string" - } - }, - "required": [ - "end", - "start" - ], - "type": "object" - } - }, - "required": [ - "models", - "totalCost", - "timeRange" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_SpendBreakdownResponse_": { - "properties": { - "data": { - "$ref": "#/components/schemas/SpendBreakdownResponse" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_SpendBreakdownResponse.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_SpendBreakdownResponse_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "PTBInvoice": { - "properties": { - "id": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "stripeInvoiceId": { - "type": "string", - "nullable": true - }, - "hostedInvoiceUrl": { - "type": "string", - "nullable": true - }, - "startDate": { - "type": "string" - }, - "endDate": { - "type": "string" - }, - "amountCents": { - "type": "number", - "format": "double" - }, - "subtotalCents": { - "type": "number", - "format": "double", - "nullable": true - }, - "notes": { - "type": "string", - "nullable": true - }, - "createdAt": { - "type": "string" - } - }, - "required": [ - "id", - "organizationId", - "stripeInvoiceId", - "hostedInvoiceUrl", - "startDate", - "endDate", - "amountCents", - "subtotalCents", - "notes", - "createdAt" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_PTBInvoice-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/PTBInvoice" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_PTBInvoice-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_PTBInvoice-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "OrgDiscount": { - "properties": { - "provider": { - "type": "string", - "nullable": true - }, - "model": { - "type": "string", - "nullable": true - }, - "percent": { - "type": "number", - "format": "double" - } - }, - "required": [ - "provider", - "model", - "percent" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_OrgDiscount-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/OrgDiscount" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_OrgDiscount-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_OrgDiscount-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "InAppThread": { - "properties": { - "id": { - "type": "string" - }, - "chat": {}, - "user_id": { - "type": "string" - }, - "org_id": { - "type": "string" - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "escalated": { - "type": "boolean" - }, - "metadata": {}, - "updated_at": { - "type": "string", - "format": "date-time" - }, - "soft_delete": { - "type": "boolean" - } - }, - "required": [ - "id", - "chat", - "user_id", - "org_id", - "created_at", - "escalated", - "metadata", - "updated_at", - "soft_delete" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_InAppThread_": { - "properties": { - "data": { - "$ref": "#/components/schemas/InAppThread" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_InAppThread.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_InAppThread_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ResultSuccess__success-boolean__": { - "properties": { - "data": { - "properties": { - "success": { - "type": "boolean" - } - }, - "required": [ - "success" - ], - "type": "object" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result__success-boolean_.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess__success-boolean__" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - }, - "ThreadSummary": { - "properties": { - "id": { - "type": "string" - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "updated_at": { - "type": "string", - "format": "date-time" - }, - "escalated": { - "type": "boolean" - }, - "message_count": { - "type": "number", - "format": "double" - }, - "first_message": { - "type": "string" - }, - "last_message": { - "type": "string" - }, - "soft_delete": { - "type": "boolean" - } - }, - "required": [ - "id", - "created_at", - "updated_at", - "escalated", - "message_count" - ], - "type": "object", - "additionalProperties": false - }, - "ResultSuccess_ThreadSummary-Array_": { - "properties": { - "data": { - "items": { - "$ref": "#/components/schemas/ThreadSummary" - }, - "type": "array" - }, - "error": { - "type": "number", - "enum": [ - null - ], - "nullable": true - } - }, - "required": [ - "data", - "error" - ], - "type": "object", - "additionalProperties": false - }, - "Result_ThreadSummary-Array.string_": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_ThreadSummary-Array_" - }, - { - "$ref": "#/components/schemas/ResultError_string_" - } - ] - } - }, - "securitySchemes": { - "api_key": { - "type": "apiKey", - "name": "Authorization", - "in": "header", - "description": "Bearer token authentication. Format: 'Bearer YOUR_API_KEY'" - } - } - }, - "info": { - "title": "helicone-api", - "version": "1.0.0", - "license": { - "name": "MIT" - }, - "contact": {} - }, - "paths": { - "/v1/api-keys/provider-key/{providerKeyId}": { - "delete": { - "operationId": "DeleteProviderKey", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "properties": { - "providerName": { - "type": "string", - "enum": [ - "baseten", - "anthropic", - "azure", - "bedrock", - "canopywave", - "cerebras", - "chutes", - "deepinfra", - "deepseek", - "fireworks", - "google-ai-studio", - "groq", - "helicone", - "mistral", - "nebius", - "novita", - "openai", - "openrouter", - "perplexity", - "vertex", - "xai" - ] - } - }, - "required": [ - "providerName" - ], - "type": "object" - }, - { - "properties": { - "error": { - "type": "string" - } - }, - "required": [ - "error" - ], - "type": "object" - } - ] - } - } - } - } - }, - "tags": [ - "API Key" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "providerKeyId", - "required": true, - "schema": { - "type": "string" - } - } - ] - }, - "get": { - "operationId": "GetProviderKey", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "$ref": "#/components/schemas/DecryptedProviderKey" - }, - { - "properties": { - "error": { - "type": "string" - } - }, - "required": [ - "error" - ], - "type": "object" - } - ] - } - } - } - } - }, - "tags": [ - "API Key" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "providerKeyId", - "required": true, - "schema": { - "type": "string" - } - } - ] - }, - "patch": { - "operationId": "UpdateProviderKey", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result__id-string--providerName-string_.string_" - } - } - } - } - }, - "tags": [ - "API Key" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "providerKeyId", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateProviderKeyRequest" - } - } - } - } - } - }, - "/v1/api-keys/provider-key": { - "post": { - "operationId": "CreateProviderKey", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "properties": { - "id": { - "type": "string" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "properties": { - "error": { - "type": "string" - } - }, - "required": [ - "error" - ], - "type": "object" - } - ] - } - } - } - } - }, - "tags": [ - "API Key" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateProviderKeyRequest" - } - } - } - } - } - }, - "/v1/api-keys/provider-keys": { - "get": { - "operationId": "GetProviderKeys", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "items": { - "$ref": "#/components/schemas/ProviderKeyRow" - }, - "type": "array" - }, - { - "properties": { - "error": { - "type": "string" - } - }, - "required": [ - "error" - ], - "type": "object" - } - ] - } - } - } - } - }, - "tags": [ - "API Key" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [] - } - }, - "/v1/api-keys": { - "get": { - "operationId": "GetAPIKeys", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result__api_key_hash-string--api_key_name-string--created_at-string--governance-boolean--id-number--key_permissions-string--organization_id-string--soft_delete-boolean--temp_key-boolean--updated_at-string--user_id-string_-Array.string_" - } - } - } - } - }, - "tags": [ - "API Key" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [] - }, - "post": { - "operationId": "CreateAPIKey", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "properties": { - "hashedKey": { - "type": "string" - }, - "apiKey": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "hashedKey", - "apiKey", - "id" - ], - "type": "object" - }, - { - "properties": { - "error": { - "type": "string" - } - }, - "required": [ - "error" - ], - "type": "object" - } - ] - } - } - } - } - }, - "tags": [ - "API Key" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "key_permissions": { - "type": "string", - "enum": [ - "rw", - "r", - "w" - ] - }, - "api_key_name": { - "type": "string" - } - }, - "required": [ - "api_key_name" - ], - "type": "object" - } - } - } - } - } - }, - "/v1/api-keys/proxy-key": { - "post": { - "operationId": "CreateProxyKey", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "properties": { - "proxyKeyId": { - "type": "string" - }, - "proxyKey": { - "type": "string" - } - }, - "required": [ - "proxyKeyId", - "proxyKey" - ], - "type": "object" - }, - { - "properties": { - "error": { - "type": "string" - } - }, - "required": [ - "error" - ], - "type": "object" - } - ] - } - } - } - } - }, - "tags": [ - "API Key" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "proxyKeyName": { - "type": "string" - }, - "providerKeyId": { - "type": "string" - } - }, - "required": [ - "proxyKeyName", - "providerKeyId" - ], - "type": "object" - } - } - } - } - } - }, - "/v1/api-keys/{apiKeyId}": { - "delete": { - "operationId": "DeleteAPIKey", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "properties": { - "hashedKey": { - "type": "string" - } - }, - "required": [ - "hashedKey" - ], - "type": "object" - }, - { - "properties": { - "error": { - "type": "string" - } - }, - "required": [ - "error" - ], - "type": "object" - } - ] - } - } - } - } - }, - "tags": [ - "API Key" + "required": [ + "timeSeriesData", + "requestStatus", + "geographicTtft", + "geographicLatency", + "feedback", + "costs", + "ttft", + "latency", + "provider", + "model" ], - "security": [ - { - "api_key": [] + "type": "object" + }, + "ResultSuccess_Model-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/Model" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } + }, + "required": [ + "data", + "error" ], - "parameters": [ + "type": "object", + "additionalProperties": false + }, + "Result_Model-Array.string_": { + "anyOf": [ { - "in": "path", - "name": "apiKeyId", - "required": true, - "schema": { - "format": "double", - "type": "number" - } + "$ref": "#/components/schemas/ResultSuccess_Model-Array_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } ] }, - "patch": { - "operationId": "UpdateAPIKey", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "properties": { - "hashedKey": { - "type": "string" - } - }, - "required": [ - "hashedKey" - ], - "type": "object" - }, - { - "properties": { - "error": { - "type": "string" - } - }, - "required": [ - "error" - ], - "type": "object" - } - ] - } - } - } + "ModelsToCompare": { + "properties": { + "provider": { + "type": "string" + }, + "names": { + "items": { + "type": "string" + }, + "type": "array" + }, + "parent": { + "type": "string" } }, - "tags": [ - "API Key" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "apiKeyId", - "required": true, - "schema": { - "format": "double", - "type": "number" - } - } + "required": [ + "provider", + "names", + "parent" ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "api_key_name": { - "type": "string" - } - }, - "required": [ - "api_key_name" - ], - "type": "object" - } - } - } - } - } - }, - "/v1/evaluator": { - "post": { - "operationId": "CreateEvaluator", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_EvaluatorResult.string_" - } + "type": "object" + }, + "MetricsFilterBody": { + "properties": { + "filter": { + "$ref": "#/components/schemas/FilterNode" + }, + "timeFilter": { + "properties": { + "end": { + "type": "string" + }, + "start": { + "type": "string" } - } + }, + "required": [ + "end", + "start" + ], + "type": "object" } }, - "tags": [ - "Evaluator" + "required": [ + "filter", + "timeFilter" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "TokensPerRequest": { + "properties": { + "average_prompt_tokens_per_response": { + "type": "number", + "format": "double" + }, + "average_completion_tokens_per_response": { + "type": "number", + "format": "double" + }, + "average_total_tokens_per_response": { + "type": "number", + "format": "double" } + }, + "required": [ + "average_prompt_tokens_per_response", + "average_completion_tokens_per_response", + "average_total_tokens_per_response" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateEvaluatorParams" - } - } - } - } - } - }, - "/v1/evaluator/{evaluatorId}": { - "get": { - "operationId": "GetEvaluator", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_EvaluatorResult.string_" - } - } - } + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_TokensPerRequest_": { + "properties": { + "data": { + "$ref": "#/components/schemas/TokensPerRequest" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Evaluator" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_TokensPerRequest.string_": { + "anyOf": [ { - "api_key": [] - } - ], - "parameters": [ + "$ref": "#/components/schemas/ResultSuccess_TokensPerRequest_" + }, { - "in": "path", - "name": "evaluatorId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultError_string_" } ] }, - "put": { - "operationId": "UpdateEvaluator", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_EvaluatorResult.string_" - } - } - } + "RequestsOverTime": { + "properties": { + "time": { + "type": "string", + "format": "date-time" + }, + "count": { + "type": "number", + "format": "double" + }, + "status": { + "type": "number", + "format": "double" } }, - "tags": [ - "Evaluator" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "evaluatorId", - "required": true, - "schema": { - "type": "string" - } - } + "required": [ + "time", + "count" ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateEvaluatorParams" - } - } - } - } + "type": "object", + "additionalProperties": false }, - "delete": { - "operationId": "DeleteEvaluator", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } - } - } + "ResultSuccess_RequestsOverTime-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/RequestsOverTime" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Evaluator" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_RequestsOverTime-Array.string_": { + "anyOf": [ { - "api_key": [] - } - ], - "parameters": [ + "$ref": "#/components/schemas/ResultSuccess_RequestsOverTime-Array_" + }, { - "in": "path", - "name": "evaluatorId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultError_string_" } ] - } - }, - "/v1/evaluator/query": { - "post": { - "operationId": "QueryEvaluators", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_EvaluatorResult-Array.string_" - } + }, + "MetricsOverTimeBody": { + "properties": { + "timeFilter": { + "properties": { + "end": { + "type": "string" + }, + "start": { + "type": "string" } - } + }, + "required": [ + "end", + "start" + ], + "type": "object" + }, + "filter": { + "$ref": "#/components/schemas/FilterNode" + }, + "dbIncrement": { + "$ref": "#/components/schemas/TimeIncrement" + }, + "timeZoneDifference": { + "type": "number", + "format": "double" } }, - "tags": [ - "Evaluator" - ], - "security": [ - { - "api_key": [] - } + "required": [ + "timeFilter", + "filter", + "timeZoneDifference" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": {}, - "type": "object" - } - } - } - } - } - }, - "/v1/evaluator/{evaluatorId}/experiments": { - "get": { - "operationId": "GetExperimentsForEvaluator", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_EvaluatorExperiment-Array.string_" - } - } - } + "type": "object", + "additionalProperties": false + }, + "CostOverTime": { + "properties": { + "time": { + "type": "string", + "format": "date-time" + }, + "cost": { + "type": "number", + "format": "double" } }, - "tags": [ - "Evaluator" - ], - "security": [ - { - "api_key": [] - } + "required": [ + "time", + "cost" ], - "parameters": [ - { - "in": "path", - "name": "evaluatorId", - "required": true, - "schema": { - "type": "string" - } - } - ] - } - }, - "/v1/evaluator/{evaluatorId}/onlineEvaluators": { - "get": { - "operationId": "GetOnlineEvaluators", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_OnlineEvaluatorByEvaluatorId-Array.string_" - } - } - } + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_CostOverTime-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/CostOverTime" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Evaluator" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_CostOverTime-Array.string_": { + "anyOf": [ { - "api_key": [] - } - ], - "parameters": [ + "$ref": "#/components/schemas/ResultSuccess_CostOverTime-Array_" + }, { - "in": "path", - "name": "evaluatorId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultError_string_" } ] }, - "post": { - "operationId": "CreateOnlineEvaluator", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } - } - } + "TokensOverTime": { + "properties": { + "time": { + "type": "string", + "format": "date-time" + }, + "prompt_tokens": { + "type": "number", + "format": "double" + }, + "completion_tokens": { + "type": "number", + "format": "double" } }, - "tags": [ - "Evaluator" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "evaluatorId", - "required": true, - "schema": { - "type": "string" - } - } + "required": [ + "time", + "prompt_tokens", + "completion_tokens" ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateOnlineEvaluatorParams" - } - } - } - } - } - }, - "/v1/evaluator/{evaluatorId}/onlineEvaluators/{onlineEvaluatorId}": { - "delete": { - "operationId": "DeleteOnlineEvaluator", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } - } - } + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_TokensOverTime-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/TokensOverTime" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Evaluator" - ], - "security": [ - { - "api_key": [] - } + "required": [ + "data", + "error" ], - "parameters": [ + "type": "object", + "additionalProperties": false + }, + "Result_TokensOverTime-Array.string_": { + "anyOf": [ { - "in": "path", - "name": "evaluatorId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultSuccess_TokensOverTime-Array_" }, { - "in": "path", - "name": "onlineEvaluatorId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultError_string_" } ] - } - }, - "/v1/evaluator/python/test": { - "post": { - "operationId": "TestPythonEvaluator", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result__output-string--traces-string-Array--statusCode_63_-number_.string_" - } - } - } + }, + "LatencyOverTime": { + "properties": { + "time": { + "type": "string", + "format": "date-time" + }, + "duration": { + "type": "number", + "format": "double" } }, - "tags": [ - "Evaluator" + "required": [ + "time", + "duration" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_LatencyOverTime-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/LatencyOverTime" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } + }, + "required": [ + "data", + "error" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "testInput": { - "$ref": "#/components/schemas/TestInput" - }, - "code": { - "type": "string" - } - }, - "required": [ - "testInput", - "code" - ], - "type": "object" - } - } + "type": "object", + "additionalProperties": false + }, + "Result_LatencyOverTime-Array.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_LatencyOverTime-Array_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } - } - } - }, - "/v1/evaluator/llm/test": { - "post": { - "operationId": "TestLLMEvaluator", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EvaluatorScoreResult" - } - } - } + ] + }, + "TimeToFirstTokenOverTime": { + "properties": { + "time": { + "type": "string", + "format": "date-time" + }, + "ttft": { + "type": "number", + "format": "double" } }, - "tags": [ - "Evaluator" + "required": [ + "time", + "ttft" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_TimeToFirstTokenOverTime-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/TimeToFirstTokenOverTime" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } + }, + "required": [ + "data", + "error" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "evaluatorName": { - "type": "string" - }, - "testInput": { - "$ref": "#/components/schemas/TestInput" - }, - "evaluatorConfig": { - "$ref": "#/components/schemas/EvaluatorConfig" - } - }, - "required": [ - "evaluatorName", - "testInput", - "evaluatorConfig" - ], - "type": "object" - } - } + "type": "object", + "additionalProperties": false + }, + "Result_TimeToFirstTokenOverTime-Array.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_TimeToFirstTokenOverTime-Array_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } - } - } - }, - "/v1/evaluator/lastmile/test": { - "post": { - "operationId": "TestLastMileEvaluator", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result__score-number--input-string--output-string--ground_truth_63_-string_.string_" - } - } - } + ] + }, + "UsersOverTime": { + "properties": { + "time": { + "type": "string", + "format": "date-time" + }, + "count": { + "type": "number", + "format": "double" } }, - "tags": [ - "Evaluator" + "required": [ + "time", + "count" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_UsersOverTime-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/UsersOverTime" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } + }, + "required": [ + "data", + "error" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "testInput": { - "$ref": "#/components/schemas/TestInput" - }, - "config": { - "$ref": "#/components/schemas/LastMileConfigForm" - } - }, - "required": [ - "testInput", - "config" - ], - "type": "object" - } - } + "type": "object", + "additionalProperties": false + }, + "Result_UsersOverTime-Array.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_UsersOverTime-Array_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } - } - } - }, - "/v1/evaluator/{evaluatorId}/stats": { - "get": { - "operationId": "GetEvaluatorStats", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_EvaluatorStats.string_" - } - } - } + ] + }, + "ThreatsOverTime": { + "properties": { + "time": { + "type": "string", + "format": "date-time" + }, + "count": { + "type": "number", + "format": "double" } }, - "tags": [ - "Evaluator" + "required": [ + "time", + "count" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_ThreatsOverTime-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/ThreatsOverTime" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } + }, + "required": [ + "data", + "error" ], - "parameters": [ + "type": "object", + "additionalProperties": false + }, + "Result_ThreatsOverTime-Array.string_": { + "anyOf": [ { - "in": "path", - "name": "evaluatorId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultSuccess_ThreatsOverTime-Array_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } ] - } - }, - "/v1/prompt-2025/id/{promptId}": { - "get": { - "operationId": "GetPrompt2025", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_Prompt2025.string_" - } - } - } + }, + "ErrorOverTime": { + "properties": { + "time": { + "type": "string", + "format": "date-time" + }, + "count": { + "type": "number", + "format": "double" + } + }, + "required": [ + "time", + "count" + ], + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_ErrorOverTime-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/ErrorOverTime" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Prompt2025" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_ErrorOverTime-Array.string_": { + "anyOf": [ { - "api_key": [] - } - ], - "parameters": [ + "$ref": "#/components/schemas/ResultSuccess_ErrorOverTime-Array_" + }, { - "in": "path", - "name": "promptId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultError_string_" } ] - } - }, - "/v1/prompt-2025/id/{promptId}/rename": { - "post": { - "operationId": "RenamePrompt2025", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } - } - } + }, + "RequestCountBody": { + "properties": { + "filter": { + "$ref": "#/components/schemas/FilterNode" + }, + "isCached": { + "type": "boolean" } }, - "tags": [ - "Prompt2025" - ], - "security": [ - { - "api_key": [] - } + "required": [ + "filter" ], - "parameters": [ - { - "in": "path", - "name": "promptId", - "required": true, - "schema": { - "type": "string" - } + "type": "object", + "additionalProperties": false + }, + "ModelMetric": { + "properties": { + "model": { + "type": "string" + }, + "total_requests": { + "type": "number", + "format": "double" + }, + "total_completion_tokens": { + "type": "number", + "format": "double" + }, + "total_prompt_token": { + "type": "number", + "format": "double" + }, + "total_tokens": { + "type": "number", + "format": "double" + }, + "cost": { + "type": "number", + "format": "double" } + }, + "required": [ + "model", + "total_requests", + "total_completion_tokens", + "total_prompt_token", + "total_tokens", + "cost" ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "name": { - "type": "string" - } - }, - "required": [ - "name" - ], - "type": "object" - } - } - } - } - } - }, - "/v1/prompt-2025/id/{promptId}/tags": { - "patch": { - "operationId": "UpdatePrompt2025Tags", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_string-Array.string_" - } - } - } + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_ModelMetric-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/ModelMetric" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Prompt2025" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_ModelMetric-Array.string_": { + "anyOf": [ { - "api_key": [] - } - ], - "parameters": [ + "$ref": "#/components/schemas/ResultSuccess_ModelMetric-Array_" + }, { - "in": "path", - "name": "promptId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultError_string_" } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "tags": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "tags" - ], - "type": "object" + ] + }, + "ModelMetricsBody": { + "properties": { + "filter": { + "$ref": "#/components/schemas/FilterNode" + }, + "offset": { + "type": "number", + "format": "double" + }, + "limit": { + "type": "number", + "format": "double" + }, + "timeFilter": { + "properties": { + "end": { + "type": "string" + }, + "start": { + "type": "string" } - } + }, + "required": [ + "end", + "start" + ], + "type": "object" } - } - } - }, - "/v1/prompt-2025/{promptId}": { - "delete": { - "operationId": "DeletePrompt2025", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } - } - } + }, + "required": [ + "filter", + "offset", + "limit", + "timeFilter" + ], + "type": "object", + "additionalProperties": false + }, + "CountryData": { + "properties": { + "country": { + "type": "string" + }, + "total_requests": { + "type": "number", + "format": "double" } }, - "tags": [ - "Prompt2025" + "required": [ + "country", + "total_requests" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_CountryData-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/CountryData" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } + }, + "required": [ + "data", + "error" ], - "parameters": [ + "type": "object", + "additionalProperties": false + }, + "Result_CountryData-Array.string_": { + "anyOf": [ { - "in": "path", - "name": "promptId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultSuccess_CountryData-Array_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } ] - } - }, - "/v1/prompt-2025/{promptId}/{versionId}": { - "delete": { - "operationId": "DeletePrompt2025Version", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } + }, + "CountryMetricsBody": { + "properties": { + "filter": { + "$ref": "#/components/schemas/FilterNode" + }, + "offset": { + "type": "number", + "format": "double" + }, + "limit": { + "type": "number", + "format": "double" + }, + "timeFilter": { + "properties": { + "end": { + "type": "string" + }, + "start": { + "type": "string" } - } + }, + "required": [ + "end", + "start" + ], + "type": "object" } }, - "tags": [ - "Prompt2025" + "required": [ + "filter", + "offset", + "limit", + "timeFilter" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "Quantiles": { + "properties": { + "time": { + "type": "string", + "format": "date-time" + }, + "p75": { + "type": "number", + "format": "double" + }, + "p90": { + "type": "number", + "format": "double" + }, + "p95": { + "type": "number", + "format": "double" + }, + "p99": { + "type": "number", + "format": "double" } + }, + "required": [ + "time", + "p75", + "p90", + "p95", + "p99" ], - "parameters": [ + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_Quantiles-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/Quantiles" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true + } + }, + "required": [ + "data", + "error" + ], + "type": "object", + "additionalProperties": false + }, + "Result_Quantiles-Array.string_": { + "anyOf": [ { - "in": "path", - "name": "promptId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultSuccess_Quantiles-Array_" }, { - "in": "path", - "name": "versionId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultError_string_" } ] - } - }, - "/v1/prompt-2025/id/{promptId}/{versionId}/inputs": { - "get": { - "operationId": "GetPrompt2025Inputs", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_Prompt2025Input.string_" - } + }, + "QuantilesBody": { + "properties": { + "filter": { + "$ref": "#/components/schemas/FilterNode" + }, + "timeFilter": { + "properties": { + "end": { + "type": "string" + }, + "start": { + "type": "string" } - } + }, + "required": [ + "end", + "start" + ], + "type": "object" + }, + "dbIncrement": { + "$ref": "#/components/schemas/TimeIncrement" + }, + "timeZoneDifference": { + "type": "number", + "format": "double" + }, + "metric": { + "type": "string" + } + }, + "required": [ + "filter", + "timeFilter", + "timeZoneDifference", + "metric" + ], + "type": "object", + "additionalProperties": false + }, + "ResultSuccess__unsafe-boolean__": { + "properties": { + "data": { + "properties": { + "unsafe": { + "type": "boolean" + } + }, + "required": [ + "unsafe" + ], + "type": "object" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Prompt2025" - ], - "security": [ - { - "api_key": [] - } + "required": [ + "data", + "error" ], - "parameters": [ - { - "in": "path", - "name": "promptId", - "required": true, - "schema": { - "type": "string" - } - }, + "type": "object", + "additionalProperties": false + }, + "Result__unsafe-boolean_.string_": { + "anyOf": [ { - "in": "path", - "name": "versionId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultSuccess__unsafe-boolean__" }, { - "in": "query", - "name": "requestId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultError_string_" } ] - } - }, - "/v1/prompt-2025/tags": { - "get": { - "operationId": "GetPrompt2025Tags", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_string-Array.string_" - } - } - } + }, + "ClickHouseTableColumn": { + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string" + }, + "default_type": { + "type": "string" + }, + "default_expression": { + "type": "string" + }, + "comment": { + "type": "string" + }, + "codec_expression": { + "type": "string" + }, + "ttl_expression": { + "type": "string" } }, - "tags": [ - "Prompt2025" + "required": [ + "name", + "type" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "ClickHouseTableSchema": { + "properties": { + "table_name": { + "type": "string" + }, + "columns": { + "items": { + "$ref": "#/components/schemas/ClickHouseTableColumn" + }, + "type": "array" } + }, + "required": [ + "table_name", + "columns" ], - "parameters": [] - } - }, - "/v1/prompt-2025/environments": { - "get": { - "operationId": "GetPrompt2025Environments", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_string-Array.string_" - } - } - } + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_ClickHouseTableSchema-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/ClickHouseTableSchema" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Prompt2025" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_ClickHouseTableSchema-Array.string_": { + "anyOf": [ { - "api_key": [] + "$ref": "#/components/schemas/ResultSuccess_ClickHouseTableSchema-Array_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } - ], - "parameters": [] - } - }, - "/v1/prompt-2025": { - "post": { - "operationId": "CreatePrompt2025", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_PromptCreateResponse.string_" - } - } - } + ] + }, + "ExecuteSqlResponse": { + "properties": { + "rowCount": { + "type": "number", + "format": "double" + }, + "size": { + "type": "number", + "format": "double" + }, + "elapsedMilliseconds": { + "type": "number", + "format": "double" + }, + "rows": { + "items": { + "$ref": "#/components/schemas/Record_string.any_" + }, + "type": "array" } }, - "tags": [ - "Prompt2025" - ], - "security": [ - { - "api_key": [] - } + "required": [ + "rowCount", + "size", + "elapsedMilliseconds", + "rows" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "promptBody": { - "$ref": "#/components/schemas/OpenAIChatRequest" - }, - "tags": { - "items": { - "type": "string" - }, - "type": "array" - }, - "name": { - "type": "string" - } - }, - "required": [ - "promptBody", - "tags", - "name" - ], - "type": "object" - } - } - } - } - } - }, - "/v1/prompt-2025/update": { - "post": { - "operationId": "UpdatePrompt2025", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result__id-string_.string_" - } - } - } + "type": "object" + }, + "ResultSuccess_ExecuteSqlResponse_": { + "properties": { + "data": { + "$ref": "#/components/schemas/ExecuteSqlResponse" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Prompt2025" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_ExecuteSqlResponse.string_": { + "anyOf": [ { - "api_key": [] - } - ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "promptBody": { - "$ref": "#/components/schemas/OpenAIChatRequest" - }, - "commitMessage": { - "type": "string" - }, - "environment": { - "type": "string" - }, - "newMajorVersion": { - "type": "boolean" - }, - "promptVersionId": { - "type": "string" - }, - "promptId": { - "type": "string" - } - }, - "required": [ - "promptBody", - "commitMessage", - "newMajorVersion", - "promptVersionId", - "promptId" - ], - "type": "object" - } - } + "$ref": "#/components/schemas/ResultSuccess_ExecuteSqlResponse_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } - } - } - }, - "/v1/prompt-2025/update/environment": { - "post": { - "operationId": "SetPromptVersionEnvironment", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } - } - } + ] + }, + "ExecuteSqlRequest": { + "properties": { + "sql": { + "type": "string" } }, - "tags": [ - "Prompt2025" + "required": [ + "sql" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "HqlSavedQuery": { + "properties": { + "id": { + "type": "string" + }, + "organization_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sql": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "updated_at": { + "type": "string" } + }, + "required": [ + "id", + "organization_id", + "name", + "sql", + "created_at", + "updated_at" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "environment": { - "type": "string" - }, - "promptVersionId": { - "type": "string" - }, - "promptId": { - "type": "string" - } - }, - "required": [ - "environment", - "promptVersionId", - "promptId" - ], - "type": "object" - } - } - } - } - } - }, - "/v1/prompt-2025/remove/environment": { - "post": { - "operationId": "RemoveEnvironmentFromVersion", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } - } - } + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_Array_HqlSavedQuery__": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/HqlSavedQuery" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Prompt2025" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_Array_HqlSavedQuery_.string_": { + "anyOf": [ { - "api_key": [] + "$ref": "#/components/schemas/ResultSuccess_Array_HqlSavedQuery__" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } - ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "environment": { - "type": "string" - }, - "promptVersionId": { - "type": "string" - }, - "promptId": { - "type": "string" - } - }, - "required": [ - "environment", - "promptVersionId", - "promptId" - ], - "type": "object" + ] + }, + "ResultSuccess_HqlSavedQuery-or-null_": { + "properties": { + "data": { + "allOf": [ + { + "$ref": "#/components/schemas/HqlSavedQuery" } - } + ], + "nullable": true + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } - } - } - }, - "/v1/prompt-2025/count": { - "get": { - "operationId": "GetPrompt2025Count", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_number.string_" - } - } - } + }, + "required": [ + "data", + "error" + ], + "type": "object", + "additionalProperties": false + }, + "Result_HqlSavedQuery-or-null.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_HqlSavedQuery-or-null_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "ResultSuccess_void_": { + "properties": { + "data": {}, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Prompt2025" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_void.string_": { + "anyOf": [ { - "api_key": [] + "$ref": "#/components/schemas/ResultSuccess_void_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "BulkDeleteSavedQueriesRequest": { + "properties": { + "ids": { + "items": { + "type": "string" + }, + "type": "array" } + }, + "required": [ + "ids" ], - "parameters": [] - } - }, - "/v1/prompt-2025/query": { - "post": { - "operationId": "GetPrompts2025", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_Prompt2025-Array.string_" - } - } - } + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_HqlSavedQuery-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/HqlSavedQuery" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Prompt2025" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_HqlSavedQuery-Array.string_": { + "anyOf": [ { - "api_key": [] + "$ref": "#/components/schemas/ResultSuccess_HqlSavedQuery-Array_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "CreateSavedQueryRequest": { + "properties": { + "name": { + "type": "string" + }, + "sql": { + "type": "string" } + }, + "required": [ + "name", + "sql" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "pageSize": { - "type": "number", - "format": "double" - }, - "page": { - "type": "number", - "format": "double" - }, - "tagsFilter": { - "items": { - "type": "string" - }, - "type": "array" - }, - "search": { - "type": "string" - } - }, - "required": [ - "pageSize", - "page", - "tagsFilter", - "search" - ], - "type": "object" - } - } + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_HqlSavedQuery_": { + "properties": { + "data": { + "$ref": "#/components/schemas/HqlSavedQuery" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } - } - } - }, - "/v1/prompt-2025/query/version": { - "post": { - "operationId": "GetPrompt2025Version", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_Prompt2025Version.string_" - } + }, + "required": [ + "data", + "error" + ], + "type": "object", + "additionalProperties": false + }, + "Result_HqlSavedQuery.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_HqlSavedQuery_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "ResultSuccess__datasetId-string__": { + "properties": { + "data": { + "properties": { + "datasetId": { + "type": "string" } - } + }, + "required": [ + "datasetId" + ], + "type": "object" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Prompt2025" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result__datasetId-string_.string_": { + "anyOf": [ { - "api_key": [] + "$ref": "#/components/schemas/ResultSuccess__datasetId-string__" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } - ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "promptVersionId": { - "type": "string" - } - }, - "required": [ - "promptVersionId" - ], - "type": "object" - } - } + ] + }, + "HeliconeDatasetMetadata": { + "properties": { + "promptVersionId": { + "type": "string" + }, + "inputRecordsIds": { + "items": { + "type": "string" + }, + "type": "array" } - } - } - }, - "/v1/prompt-2025/query/environment-version": { - "post": { - "operationId": "GetPrompt2025EnvironmentVersion", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_Prompt2025Version.string_" - } - } - } + }, + "type": "object", + "additionalProperties": false + }, + "NewHeliconeDatasetParams": { + "properties": { + "datasetName": { + "type": "string" + }, + "requestIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "meta": { + "$ref": "#/components/schemas/HeliconeDatasetMetadata" } }, - "tags": [ - "Prompt2025" + "required": [ + "datasetName", + "requestIds" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "MutateParams": { + "properties": { + "addRequests": { + "items": { + "type": "string" + }, + "type": "array" + }, + "removeRequests": { + "items": { + "type": "string" + }, + "type": "array" } + }, + "required": [ + "addRequests", + "removeRequests" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "environment": { - "type": "string" - }, - "promptId": { - "type": "string" - } - }, - "required": [ - "environment", - "promptId" - ], - "type": "object" - } - } + "type": "object", + "additionalProperties": false + }, + "HeliconeDatasetRow": { + "properties": { + "id": { + "type": "string" + }, + "origin_request_id": { + "type": "string" + }, + "dataset_id": { + "type": "string" + }, + "created_at": { + "type": "string" + }, + "signed_url": { + "$ref": "#/components/schemas/Result_string.string_" } - } - } - }, - "/v1/prompt-2025/query/versions": { - "post": { - "operationId": "GetPrompt2025Versions", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_Prompt2025Version-Array.string_" - } - } - } + }, + "required": [ + "id", + "origin_request_id", + "dataset_id", + "created_at", + "signed_url" + ], + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_HeliconeDatasetRow-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/HeliconeDatasetRow" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Prompt2025" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_HeliconeDatasetRow-Array.string_": { + "anyOf": [ { - "api_key": [] + "$ref": "#/components/schemas/ResultSuccess_HeliconeDatasetRow-Array_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } - ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "majorVersion": { - "type": "number", - "format": "double" - }, - "promptId": { - "type": "string" - } - }, - "required": [ - "promptId" - ], - "type": "object" + ] + }, + "HeliconeDataset": { + "properties": { + "created_at": { + "type": "string", + "nullable": true + }, + "dataset_type": { + "type": "string" + }, + "id": { + "type": "string" + }, + "meta": { + "allOf": [ + { + "$ref": "#/components/schemas/Json" } - } + ], + "nullable": true + }, + "name": { + "type": "string", + "nullable": true + }, + "organization": { + "type": "string" + }, + "requests_count": { + "type": "number", + "format": "double" } - } - } - }, - "/v1/prompt-2025/query/production-version": { - "post": { - "operationId": "GetPrompt2025ProductionVersion", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_Prompt2025Version.string_" - } - } - } + }, + "required": [ + "created_at", + "dataset_type", + "id", + "meta", + "name", + "organization", + "requests_count" + ], + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_HeliconeDataset-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/HeliconeDataset" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Prompt2025" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_HeliconeDataset-Array.string_": { + "anyOf": [ { - "api_key": [] + "$ref": "#/components/schemas/ResultSuccess_HeliconeDataset-Array_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } + ] + }, + "ResultSuccess_any_": { + "properties": { + "data": {}, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true + } + }, + "required": [ + "data", + "error" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "promptId": { - "type": "string" - } + "type": "object", + "additionalProperties": false + }, + "Eval": { + "properties": { + "name": { + "type": "string" + }, + "averageScore": { + "type": "number", + "format": "double" + }, + "minScore": { + "type": "number", + "format": "double" + }, + "maxScore": { + "type": "number", + "format": "double" + }, + "count": { + "type": "number", + "format": "double" + }, + "overTime": { + "items": { + "properties": { + "count": { + "type": "number", + "format": "double" }, - "required": [ - "promptId" - ], - "type": "object" - } - } - } - } - } - }, - "/v1/prompt-2025/query/total-versions": { - "post": { - "operationId": "GetPrompt2025TotalVersions", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_PromptVersionCounts.string_" + "date": { + "type": "string" } - } - } + }, + "required": [ + "count", + "date" + ], + "type": "object" + }, + "type": "array" + }, + "averageOverTime": { + "items": { + "properties": { + "value": { + "type": "number", + "format": "double" + }, + "date": { + "type": "string" + } + }, + "required": [ + "value", + "date" + ], + "type": "object" + }, + "type": "array" } }, - "tags": [ - "Prompt2025" - ], - "security": [ - { - "api_key": [] - } + "required": [ + "name", + "averageScore", + "minScore", + "maxScore", + "count", + "overTime", + "averageOverTime" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "promptId": { - "type": "string" - } - }, - "required": [ - "promptId" - ], - "type": "object" - } - } - } - } - } - }, - "/v1/prompt-2025/{promptVersionId}/prompt-body": { - "get": { - "operationId": "GetPrompt2025VersionBody", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_Prompt2025Version_91_prompt_body_93_.string_" - } - } - } + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_Eval-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/Eval" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "description": "Get the full prompt body (messages, tools, etc.) for a specific prompt version.", - "tags": [ - "Prompt2025" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_Eval-Array.string_": { + "anyOf": [ { - "api_key": [] + "$ref": "#/components/schemas/ResultSuccess_Eval-Array_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } - ], - "parameters": [ + ] + }, + "EvalFilterNode": { + "anyOf": [ { - "in": "path", - "name": "promptVersionId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/FilterLeafSubset_request_response_rmt_" + }, + { + "$ref": "#/components/schemas/EvalFilterBranch" + }, + { + "type": "string", + "enum": [ + "all" + ] } ] - } - }, - "/v2/prompt-2025/query/version": { - "post": { - "operationId": "GetPrompt2025Version", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_Prompt2025Version.string_" - } - } - } + }, + "EvalFilterBranch": { + "properties": { + "right": { + "$ref": "#/components/schemas/EvalFilterNode" + }, + "operator": { + "type": "string", + "enum": [ + "or", + "and" + ] + }, + "left": { + "$ref": "#/components/schemas/EvalFilterNode" } }, - "tags": [ - "Prompt2025V2" - ], - "security": [ - { - "api_key": [] - } + "required": [ + "right", + "operator", + "left" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "promptVersionId": { - "type": "string" - } - }, - "required": [ - "promptVersionId" - ], - "type": "object" - } - } - } - } - } - }, - "/v2/prompt-2025/query/environment-version": { - "post": { - "operationId": "GetPrompt2025EnvironmentVersion", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_Prompt2025Version.string_" - } + "type": "object" + }, + "EvalQueryParams": { + "properties": { + "filter": { + "$ref": "#/components/schemas/EvalFilterNode" + }, + "timeFilter": { + "properties": { + "end": { + "type": "string" + }, + "start": { + "type": "string" } - } + }, + "required": [ + "end", + "start" + ], + "type": "object" + }, + "offset": { + "type": "number", + "format": "double" + }, + "limit": { + "type": "number", + "format": "double" + }, + "timeZoneDifference": { + "type": "number", + "format": "double" } }, - "tags": [ - "Prompt2025V2" - ], - "security": [ - { - "api_key": [] - } + "required": [ + "filter", + "timeFilter" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "environment": { - "type": "string" - }, - "promptId": { - "type": "string" - } + "type": "object", + "additionalProperties": false + }, + "ScoreDistribution": { + "properties": { + "name": { + "type": "string" + }, + "distribution": { + "items": { + "properties": { + "value": { + "type": "number", + "format": "double" }, - "required": [ - "environment", - "promptId" - ], - "type": "object" - } - } - } - } - } - }, - "/v2/prompt-2025/query/production-version": { - "post": { - "operationId": "GetPrompt2025ProductionVersion", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_Prompt2025Version.string_" + "upper": { + "type": "number", + "format": "double" + }, + "lower": { + "type": "number", + "format": "double" } - } - } + }, + "required": [ + "value", + "upper", + "lower" + ], + "type": "object" + }, + "type": "array" } }, - "tags": [ - "Prompt2025V2" - ], - "security": [ - { - "api_key": [] - } + "required": [ + "name", + "distribution" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "promptId": { - "type": "string" - } - }, - "required": [ - "promptId" - ], - "type": "object" - } - } - } - } - } - }, - "/v1/prompt/has-prompts": { - "get": { - "operationId": "HasPrompts", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result__hasPrompts-boolean_.string_" - } - } - } + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_ScoreDistribution-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/ScoreDistribution" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Prompt" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_ScoreDistribution-Array.string_": { + "anyOf": [ { - "api_key": [] + "$ref": "#/components/schemas/ResultSuccess_ScoreDistribution-Array_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } - ], - "parameters": [] - } - }, - "/v1/prompt/query": { - "post": { - "operationId": "GetPrompts", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_PromptsResult-Array.string_" + ] + }, + "ResultSuccess__score_key-string--score_sum-number--created_at_trunc-string_-Array_": { + "properties": { + "data": { + "items": { + "properties": { + "created_at_trunc": { + "type": "string" + }, + "score_sum": { + "type": "number", + "format": "double" + }, + "score_key": { + "type": "string" } - } - } + }, + "required": [ + "created_at_trunc", + "score_sum", + "score_key" + ], + "type": "object" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Prompt" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result__score_key-string--score_sum-number--created_at_trunc-string_-Array.string_": { + "anyOf": [ { - "api_key": [] - } - ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PromptsQueryParams" - } - } + "$ref": "#/components/schemas/ResultSuccess__score_key-string--score_sum-number--created_at_trunc-string_-Array_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } - } - } - }, - "/v1/prompt/{promptId}/query": { - "post": { - "operationId": "GetPrompt", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_PromptResult.string_" - } - } - } + ] + }, + "CustomerUsage": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "cost": { + "type": "number", + "format": "double" + }, + "count": { + "type": "number", + "format": "double" + }, + "prompt_tokens": { + "type": "number", + "format": "double" + }, + "completion_tokens": { + "type": "number", + "format": "double" } }, - "tags": [ - "Prompt" + "required": [ + "id", + "name", + "cost", + "count", + "prompt_tokens", + "completion_tokens" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "Customer": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" } + }, + "required": [ + "id", + "name" ], - "parameters": [ - { - "in": "path", - "name": "promptId", - "required": true, - "schema": { - "type": "string" - } + "type": "object", + "additionalProperties": false + }, + "CreditBalanceResponse": { + "properties": { + "totalCreditsPurchased": { + "type": "number", + "format": "double" + }, + "balance": { + "type": "number", + "format": "double" } + }, + "required": [ + "totalCreditsPurchased", + "balance" ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PromptQueryParams" - } - } - } - } - } - }, - "/v1/prompt/{promptId}": { - "delete": { - "operationId": "DeletePrompt", - "responses": { - "204": { - "description": "No content" + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_CreditBalanceResponse_": { + "properties": { + "data": { + "$ref": "#/components/schemas/CreditBalanceResponse" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Prompt" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_CreditBalanceResponse.string_": { + "anyOf": [ { - "api_key": [] - } - ], - "parameters": [ + "$ref": "#/components/schemas/ResultSuccess_CreditBalanceResponse_" + }, { - "in": "path", - "name": "promptId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultError_string_" } ] - } - }, - "/v1/prompt/create": { - "post": { - "operationId": "CreatePrompt", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_CreatePromptResponse.string_" - } - } - } + }, + "PurchasedCredits": { + "properties": { + "id": { + "type": "string" + }, + "createdAt": { + "type": "number", + "format": "double" + }, + "credits": { + "type": "number", + "format": "double" + }, + "referenceId": { + "type": "string" + } + }, + "required": [ + "id", + "createdAt", + "credits", + "referenceId" + ], + "type": "object", + "additionalProperties": false + }, + "PaginatedPurchasedCredits": { + "properties": { + "purchases": { + "items": { + "$ref": "#/components/schemas/PurchasedCredits" + }, + "type": "array" + }, + "total": { + "type": "number", + "format": "double" + }, + "page": { + "type": "number", + "format": "double" + }, + "pageSize": { + "type": "number", + "format": "double" } }, - "tags": [ - "Prompt" - ], - "security": [ - { - "api_key": [] - } + "required": [ + "purchases", + "total", + "page", + "pageSize" ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "metadata": { - "$ref": "#/components/schemas/Record_string.any_" - }, - "prompt": {}, - "userDefinedId": { - "type": "string" - } - }, - "required": [ - "metadata", - "prompt", - "userDefinedId" - ], - "type": "object" - } - } - } - } - } - }, - "/v1/prompt/{promptId}/user-defined-id": { - "patch": { - "operationId": "UpdatePromptUserDefinedId", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } - } - } + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_PaginatedPurchasedCredits_": { + "properties": { + "data": { + "$ref": "#/components/schemas/PaginatedPurchasedCredits" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Prompt" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_PaginatedPurchasedCredits.string_": { + "anyOf": [ { - "api_key": [] - } - ], - "parameters": [ + "$ref": "#/components/schemas/ResultSuccess_PaginatedPurchasedCredits_" + }, { - "in": "path", - "name": "promptId", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "userDefinedId": { - "type": "string" - } - }, - "required": [ - "userDefinedId" - ], - "type": "object" - } - } + "$ref": "#/components/schemas/ResultError_string_" } - } - } - }, - "/v1/prompt/version/{promptVersionId}/edit-label": { - "post": { - "operationId": "EditPromptVersionLabel", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result__metadata-Record_string.any__.string_" - } + ] + }, + "ResultSuccess__totalSpend-number__": { + "properties": { + "data": { + "properties": { + "totalSpend": { + "type": "number", + "format": "double" } - } + }, + "required": [ + "totalSpend" + ], + "type": "object" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Prompt" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result__totalSpend-number_.string_": { + "anyOf": [ { - "api_key": [] - } - ], - "parameters": [ + "$ref": "#/components/schemas/ResultSuccess__totalSpend-number__" + }, { - "in": "path", - "name": "promptVersionId", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PromptEditSubversionLabelParams" - } - } + "$ref": "#/components/schemas/ResultError_string_" } - } - } - }, - "/v1/prompt/version/{promptVersionId}/edit-template": { - "post": { - "operationId": "EditPromptVersionTemplate", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } + ] + }, + "ModelSpend": { + "properties": { + "model": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "promptTokens": { + "type": "number", + "format": "double" + }, + "completionTokens": { + "type": "number", + "format": "double" + }, + "cacheReadTokens": { + "type": "number", + "format": "double" + }, + "cacheWriteTokens": { + "type": "number", + "format": "double" + }, + "pricing": { + "properties": { + "cacheWritePer1M": { + "type": "number", + "format": "double" + }, + "cacheReadPer1M": { + "type": "number", + "format": "double" + }, + "outputPer1M": { + "type": "number", + "format": "double" + }, + "inputPer1M": { + "type": "number", + "format": "double" } - } + }, + "required": [ + "outputPer1M", + "inputPer1M" + ], + "type": "object", + "nullable": true + }, + "subtotal": { + "type": "number", + "format": "double" + }, + "discountPercent": { + "type": "number", + "format": "double" + }, + "total": { + "type": "number", + "format": "double" + }, + "cacheAdjustment": { + "type": "number", + "format": "double" } }, - "tags": [ - "Prompt" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "promptVersionId", - "required": true, - "schema": { - "type": "string" - } - } + "required": [ + "model", + "provider", + "promptTokens", + "completionTokens", + "cacheReadTokens", + "cacheWriteTokens", + "pricing", + "subtotal", + "discountPercent", + "total" ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PromptEditSubversionTemplateParams" - } - } - } - } - } - }, - "/v1/prompt/version/{promptVersionId}/subversion-from-ui": { - "post": { - "operationId": "CreateSubversionFromUi", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_PromptVersionResult.string_" - } + "type": "object", + "additionalProperties": false + }, + "SpendBreakdownResponse": { + "properties": { + "models": { + "items": { + "$ref": "#/components/schemas/ModelSpend" + }, + "type": "array" + }, + "totalCost": { + "type": "number", + "format": "double" + }, + "timeRange": { + "properties": { + "end": { + "type": "string" + }, + "start": { + "type": "string" } - } + }, + "required": [ + "end", + "start" + ], + "type": "object" } }, - "tags": [ - "Prompt" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "promptVersionId", - "required": true, - "schema": { - "type": "string" - } - } + "required": [ + "models", + "totalCost", + "timeRange" ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PromptCreateSubversionParams" - } - } - } - } - } - }, - "/v1/prompt/version/{promptVersionId}/subversion": { - "post": { - "operationId": "CreateSubversion", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_PromptVersionResult.string_" - } - } - } + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_SpendBreakdownResponse_": { + "properties": { + "data": { + "$ref": "#/components/schemas/SpendBreakdownResponse" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Prompt" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_SpendBreakdownResponse.string_": { + "anyOf": [ { - "api_key": [] - } - ], - "parameters": [ + "$ref": "#/components/schemas/ResultSuccess_SpendBreakdownResponse_" + }, { - "in": "path", - "name": "promptVersionId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultError_string_" } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PromptCreateSubversionParams" - } - } + ] + }, + "PTBInvoice": { + "properties": { + "id": { + "type": "string" + }, + "organizationId": { + "type": "string" + }, + "stripeInvoiceId": { + "type": "string", + "nullable": true + }, + "hostedInvoiceUrl": { + "type": "string", + "nullable": true + }, + "startDate": { + "type": "string" + }, + "endDate": { + "type": "string" + }, + "amountCents": { + "type": "number", + "format": "double" + }, + "subtotalCents": { + "type": "number", + "format": "double", + "nullable": true + }, + "notes": { + "type": "string", + "nullable": true + }, + "createdAt": { + "type": "string" } - } - } - }, - "/v1/prompt/version/{promptVersionId}/promote": { - "post": { - "operationId": "PromotePromptVersionToProduction", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_PromptVersionResult.string_" - } - } - } + }, + "required": [ + "id", + "organizationId", + "stripeInvoiceId", + "hostedInvoiceUrl", + "startDate", + "endDate", + "amountCents", + "subtotalCents", + "notes", + "createdAt" + ], + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_PTBInvoice-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/PTBInvoice" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Prompt" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_PTBInvoice-Array.string_": { + "anyOf": [ { - "api_key": [] - } - ], - "parameters": [ + "$ref": "#/components/schemas/ResultSuccess_PTBInvoice-Array_" + }, { - "in": "path", - "name": "promptVersionId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultError_string_" } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "previousProductionVersionId": { - "type": "string" - } - }, - "required": [ - "previousProductionVersionId" - ], - "type": "object" - } - } + ] + }, + "OrgDiscount": { + "properties": { + "provider": { + "type": "string", + "nullable": true + }, + "model": { + "type": "string", + "nullable": true + }, + "percent": { + "type": "number", + "format": "double" } - } - } - }, - "/v1/prompt/version/{promptVersionId}/inputs/query": { - "post": { - "operationId": "GetInputs", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_PromptInputRecord-Array.string_" - } - } - } + }, + "required": [ + "provider", + "model", + "percent" + ], + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_OrgDiscount-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/OrgDiscount" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Prompt" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result_OrgDiscount-Array.string_": { + "anyOf": [ { - "api_key": [] + "$ref": "#/components/schemas/ResultSuccess_OrgDiscount-Array_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" + } + ] + }, + "InAppThread": { + "properties": { + "id": { + "type": "string" + }, + "chat": {}, + "user_id": { + "type": "string" + }, + "org_id": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "escalated": { + "type": "boolean" + }, + "metadata": {}, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "soft_delete": { + "type": "boolean" } + }, + "required": [ + "id", + "chat", + "user_id", + "org_id", + "created_at", + "escalated", + "metadata", + "updated_at", + "soft_delete" ], - "parameters": [ - { - "in": "path", - "name": "promptVersionId", - "required": true, - "schema": { - "type": "string" - } + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_InAppThread_": { + "properties": { + "data": { + "$ref": "#/components/schemas/InAppThread" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } + }, + "required": [ + "data", + "error" ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "random": { - "type": "boolean" - }, - "limit": { - "type": "number", - "format": "double" - } - }, - "required": [ - "limit" - ], - "type": "object" - } - } + "type": "object", + "additionalProperties": false + }, + "Result_InAppThread.string_": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_InAppThread_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } - } - } - }, - "/v1/prompt/{promptId}/experiments": { - "get": { - "operationId": "GetPromptExperiments", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array.string_" - } + ] + }, + "ResultSuccess__success-boolean__": { + "properties": { + "data": { + "properties": { + "success": { + "type": "boolean" } - } + }, + "required": [ + "success" + ], + "type": "object" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } }, - "tags": [ - "Prompt" + "required": [ + "data", + "error" ], - "security": [ + "type": "object", + "additionalProperties": false + }, + "Result__success-boolean_.string_": { + "anyOf": [ { - "api_key": [] - } - ], - "parameters": [ + "$ref": "#/components/schemas/ResultSuccess__success-boolean__" + }, { - "in": "path", - "name": "promptId", - "required": true, - "schema": { - "type": "string" - } + "$ref": "#/components/schemas/ResultError_string_" } ] - } - }, - "/v1/prompt/{promptId}/versions/query": { - "post": { - "operationId": "GetPromptVersions", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_PromptVersionResult-Array.string_" - } - } - } + }, + "ThreadSummary": { + "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "escalated": { + "type": "boolean" + }, + "message_count": { + "type": "number", + "format": "double" + }, + "first_message": { + "type": "string" + }, + "last_message": { + "type": "string" + }, + "soft_delete": { + "type": "boolean" } }, - "tags": [ - "Prompt" + "required": [ + "id", + "created_at", + "updated_at", + "escalated", + "message_count" ], - "security": [ - { - "api_key": [] + "type": "object", + "additionalProperties": false + }, + "ResultSuccess_ThreadSummary-Array_": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/ThreadSummary" + }, + "type": "array" + }, + "error": { + "type": "number", + "enum": [ + null + ], + "nullable": true } + }, + "required": [ + "data", + "error" ], - "parameters": [ + "type": "object", + "additionalProperties": false + }, + "Result_ThreadSummary-Array.string_": { + "anyOf": [ { - "in": "path", - "name": "promptId", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PromptVersionsQueryParams" - } - } + "$ref": "#/components/schemas/ResultSuccess_ThreadSummary-Array_" + }, + { + "$ref": "#/components/schemas/ResultError_string_" } - } + ] } }, - "/v1/prompt/version/{promptVersionId}": { - "get": { - "operationId": "GetPromptVersion", + "securitySchemes": { + "api_key": { + "type": "apiKey", + "name": "Authorization", + "in": "header", + "description": "Bearer token authentication. Format: 'Bearer YOUR_API_KEY'" + } + } + }, + "info": { + "title": "helicone-api", + "version": "1.0.0", + "license": { + "name": "MIT" + }, + "contact": {} + }, + "paths": { + "/v1/api-keys/provider-key/{providerKeyId}": { + "delete": { + "operationId": "DeleteProviderKey", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_PromptVersionResult.string_" + "anyOf": [ + { + "properties": { + "providerName": { + "type": "string", + "enum": [ + "baseten", + "anthropic", + "azure", + "bedrock", + "canopywave", + "cerebras", + "chutes", + "deepinfra", + "deepseek", + "fireworks", + "google-ai-studio", + "groq", + "helicone", + "mistral", + "nebius", + "novita", + "openai", + "openrouter", + "perplexity", + "vertex", + "xai" + ] + } + }, + "required": [ + "providerName" + ], + "type": "object" + }, + { + "properties": { + "error": { + "type": "string" + } + }, + "required": [ + "error" + ], + "type": "object" + } + ] } } } } }, "tags": [ - "Prompt" + "API Key" ], "security": [ { @@ -17012,7 +12582,7 @@ "parameters": [ { "in": "path", - "name": "promptVersionId", + "name": "providerKeyId", "required": true, "schema": { "type": "string" @@ -17020,22 +12590,37 @@ } ] }, - "delete": { - "operationId": "DeletePromptVersion", + "get": { + "operationId": "GetProviderKey", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "anyOf": [ + { + "$ref": "#/components/schemas/DecryptedProviderKey" + }, + { + "properties": { + "error": { + "type": "string" + } + }, + "required": [ + "error" + ], + "type": "object" + } + ] } } } } }, "tags": [ - "Prompt" + "API Key" ], "security": [ { @@ -17045,32 +12630,30 @@ "parameters": [ { "in": "path", - "name": "promptVersionId", + "name": "providerKeyId", "required": true, "schema": { "type": "string" } } ] - } - }, - "/v1/prompt/{user_defined_id}/compile": { - "post": { - "operationId": "GetPromptVersionsCompiled", + }, + "patch": { + "operationId": "UpdateProviderKey", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_PromptVersionResultCompiled.string_" + "$ref": "#/components/schemas/Result__id-string--providerName-string_.string_" } } } } }, "tags": [ - "Prompt" + "API Key" ], "security": [ { @@ -17080,7 +12663,7 @@ "parameters": [ { "in": "path", - "name": "user_defined_id", + "name": "providerKeyId", "required": true, "schema": { "type": "string" @@ -17092,75 +12675,107 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PromptVersiosQueryParamsCompiled" + "$ref": "#/components/schemas/UpdateProviderKeyRequest" } } } } } }, - "/v1/prompt/{user_defined_id}/template": { + "/v1/api-keys/provider-key": { "post": { - "operationId": "GetPromptVersionTemplates", + "operationId": "CreateProviderKey", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_PromptVersionResultFilled.string_" + "anyOf": [ + { + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "properties": { + "error": { + "type": "string" + } + }, + "required": [ + "error" + ], + "type": "object" + } + ] } } } } }, "tags": [ - "Prompt" + "API Key" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "user_defined_id", - "required": true, - "schema": { - "type": "string" - } - } - ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PromptVersiosQueryParamsCompiled" + "$ref": "#/components/schemas/CreateProviderKeyRequest" } } } } } }, - "/v2/experiment/create/empty": { - "post": { - "operationId": "CreateEmptyExperiment", + "/v1/api-keys/provider-keys": { + "get": { + "operationId": "GetProviderKeys", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__experimentId-string_.string_" + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/ProviderKeyRow" + }, + "type": "array" + }, + { + "properties": { + "error": { + "type": "string" + } + }, + "required": [ + "error" + ], + "type": "object" + } + ] } } } } }, "tags": [ - "Experiment" + "API Key" ], "security": [ { @@ -17170,58 +12785,78 @@ "parameters": [] } }, - "/v2/experiment/create/from-request/{requestId}": { - "post": { - "operationId": "CreateExperimentFromRequest", + "/v1/api-keys": { + "get": { + "operationId": "GetAPIKeys", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__experimentId-string_.string_" + "$ref": "#/components/schemas/Result__api_key_hash-string--api_key_name-string--created_at-string--governance-boolean--id-number--key_permissions-string--organization_id-string--soft_delete-boolean--temp_key-boolean--updated_at-string--user_id-string_-Array.string_" } } } } }, "tags": [ - "Experiment" + "API Key" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "requestId", - "required": true, - "schema": { - "type": "string" - } - } - ] - } - }, - "/v2/experiment/new": { + "parameters": [] + }, "post": { - "operationId": "CreateNewExperiment", + "operationId": "CreateAPIKey", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__experimentId-string_.string_" + "anyOf": [ + { + "properties": { + "hashedKey": { + "type": "string" + }, + "apiKey": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "hashedKey", + "apiKey", + "id" + ], + "type": "object" + }, + { + "properties": { + "error": { + "type": "string" + } + }, + "required": [ + "error" + ], + "type": "object" + } + ] } } } } }, "tags": [ - "Experiment" + "API Key" ], "security": [ { @@ -17235,16 +12870,20 @@ "application/json": { "schema": { "properties": { - "originalPromptVersion": { - "type": "string" + "key_permissions": { + "type": "string", + "enum": [ + "rw", + "r", + "w" + ] }, - "name": { + "api_key_name": { "type": "string" } }, "required": [ - "originalPromptVersion", - "name" + "api_key_name" ], "type": "object" } @@ -17253,49 +12892,121 @@ } } }, - "/v2/experiment": { - "get": { - "operationId": "GetExperiments", + "/v1/api-keys/proxy-key": { + "post": { + "operationId": "CreateProxyKey", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_ExperimentV2-Array.string_" + "anyOf": [ + { + "properties": { + "proxyKeyId": { + "type": "string" + }, + "proxyKey": { + "type": "string" + } + }, + "required": [ + "proxyKeyId", + "proxyKey" + ], + "type": "object" + }, + { + "properties": { + "error": { + "type": "string" + } + }, + "required": [ + "error" + ], + "type": "object" + } + ] } } } } }, "tags": [ - "Experiment" + "API Key" ], "security": [ { "api_key": [] } ], - "parameters": [] + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "proxyKeyName": { + "type": "string" + }, + "providerKeyId": { + "type": "string" + } + }, + "required": [ + "proxyKeyName", + "providerKeyId" + ], + "type": "object" + } + } + } + } } }, - "/v2/experiment/{experimentId}": { + "/v1/api-keys/{apiKeyId}": { "delete": { - "operationId": "DeleteExperiment", + "operationId": "DeleteAPIKey", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "anyOf": [ + { + "properties": { + "hashedKey": { + "type": "string" + } + }, + "required": [ + "hashedKey" + ], + "type": "object" + }, + { + "properties": { + "error": { + "type": "string" + } + }, + "required": [ + "error" + ], + "type": "object" + } + ] } } } } }, "tags": [ - "Experiment" + "API Key" ], "security": [ { @@ -17305,65 +13016,54 @@ "parameters": [ { "in": "path", - "name": "experimentId", + "name": "apiKeyId", "required": true, "schema": { - "type": "string" + "format": "double", + "type": "number" } } ] }, - "get": { - "operationId": "GetExperimentById", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_ExtendedExperimentData.string_" - } - } - } - } - }, - "tags": [ - "Experiment" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "experimentId", - "required": true, - "schema": { - "type": "string" - } - } - ] - } - }, - "/v2/experiment/{experimentId}/prompt-version": { - "post": { - "operationId": "CreateNewPromptVersionForExperiment", + "patch": { + "operationId": "UpdateAPIKey", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_PromptVersionResult.string_" + "anyOf": [ + { + "properties": { + "hashedKey": { + "type": "string" + } + }, + "required": [ + "hashedKey" + ], + "type": "object" + }, + { + "properties": { + "error": { + "type": "string" + } + }, + "required": [ + "error" + ], + "type": "object" + } + ] } } } } }, "tags": [ - "Experiment" + "API Key" ], "security": [ { @@ -17373,10 +13073,11 @@ "parameters": [ { "in": "path", - "name": "experimentId", + "name": "apiKeyId", "required": true, "schema": { - "type": "string" + "format": "double", + "type": "number" } } ], @@ -17385,73 +13086,74 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CreateNewPromptVersionForExperimentParams" + "properties": { + "api_key_name": { + "type": "string" + } + }, + "required": [ + "api_key_name" + ], + "type": "object" } } } } } }, - "/v2/experiment/{experimentId}/prompt-version/{promptVersionId}": { - "delete": { - "operationId": "DeletePromptVersion", + "/v1/evaluator": { + "post": { + "operationId": "CreateEvaluator", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result_EvaluatorResult.string_" } } } } }, "tags": [ - "Experiment" + "Evaluator" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "path", - "name": "promptVersionId", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateEvaluatorParams" + } } } - ] + } } }, - "/v2/experiment/{experimentId}/prompt-versions": { + "/v1/evaluator/{evaluatorId}": { "get": { - "operationId": "GetPromptVersionsForExperiment", + "operationId": "GetEvaluator", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_ExperimentV2PromptVersion-Array.string_" + "$ref": "#/components/schemas/Result_EvaluatorResult.string_" } } } } }, "tags": [ - "Experiment" + "Evaluator" ], "security": [ { @@ -17461,32 +13163,30 @@ "parameters": [ { "in": "path", - "name": "experimentId", + "name": "evaluatorId", "required": true, "schema": { "type": "string" } } ] - } - }, - "/v2/experiment/{experimentId}/input-keys": { - "get": { - "operationId": "GetInputKeysForExperiment", + }, + "put": { + "operationId": "UpdateEvaluator", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_string-Array.string_" + "$ref": "#/components/schemas/Result_EvaluatorResult.string_" } } } } }, "tags": [ - "Experiment" + "Evaluator" ], "security": [ { @@ -17496,32 +13196,40 @@ "parameters": [ { "in": "path", - "name": "experimentId", + "name": "evaluatorId", "required": true, "schema": { "type": "string" } } - ] - } - }, - "/v2/experiment/{experimentId}/add-manual-row": { - "post": { - "operationId": "AddManualRowToExperiment", + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateEvaluatorParams" + } + } + } + } + }, + "delete": { + "operationId": "DeleteEvaluator", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_string.string_" + "$ref": "#/components/schemas/Result_null.string_" } } } } }, "tags": [ - "Experiment" + "Evaluator" ], "security": [ { @@ -17531,82 +13239,45 @@ "parameters": [ { "in": "path", - "name": "experimentId", + "name": "evaluatorId", "required": true, "schema": { "type": "string" } } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "inputs": { - "$ref": "#/components/schemas/Record_string.string_" - } - }, - "required": [ - "inputs" - ], - "type": "object" - } - } - } - } + ] } }, - "/v2/experiment/{experimentId}/add-manual-rows-batch": { + "/v1/evaluator/query": { "post": { - "operationId": "AddManualRowsToExperimentBatch", + "operationId": "QueryEvaluators", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result_EvaluatorResult-Array.string_" } } } } }, "tags": [ - "Experiment" + "Evaluator" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentId", - "required": true, - "schema": { - "type": "string" - } - } - ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "properties": { - "inputs": { - "items": { - "$ref": "#/components/schemas/Record_string.string_" - }, - "type": "array" - } - }, - "required": [ - "inputs" - ], + "properties": {}, "type": "object" } } @@ -17614,23 +13285,23 @@ } } }, - "/v2/experiment/{experimentId}/rows": { - "delete": { - "operationId": "DeleteExperimentTableRows", + "/v1/evaluator/{evaluatorId}/onlineEvaluators": { + "get": { + "operationId": "GetOnlineEvaluators", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result_OnlineEvaluatorByEvaluatorId-Array.string_" } } } } }, "tags": [ - "Experiment" + "Evaluator" ], "security": [ { @@ -17640,39 +13311,16 @@ "parameters": [ { "in": "path", - "name": "experimentId", + "name": "evaluatorId", "required": true, "schema": { "type": "string" } } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "inputRecordIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "inputRecordIds" - ], - "type": "object" - } - } - } - } - } - }, - "/v2/experiment/{experimentId}/row/insert/batch": { + ] + }, "post": { - "operationId": "CreateExperimentTableRowBatch", + "operationId": "CreateOnlineEvaluator", "responses": { "200": { "description": "Ok", @@ -17686,7 +13334,7 @@ } }, "tags": [ - "Experiment" + "Evaluator" ], "security": [ { @@ -17696,7 +13344,7 @@ "parameters": [ { "in": "path", - "name": "experimentId", + "name": "evaluatorId", "required": true, "schema": { "type": "string" @@ -17708,44 +13356,16 @@ "content": { "application/json": { "schema": { - "properties": { - "rows": { - "items": { - "properties": { - "autoInputs": { - "items": {}, - "type": "array" - }, - "inputs": { - "$ref": "#/components/schemas/Record_string.string_" - }, - "inputRecordId": { - "type": "string" - } - }, - "required": [ - "autoInputs", - "inputs", - "inputRecordId" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "rows" - ], - "type": "object" + "$ref": "#/components/schemas/CreateOnlineEvaluatorParams" } } } } } }, - "/v2/experiment/{experimentId}/row/insert/dataset/{datasetId}": { - "post": { - "operationId": "CreateExperimentTableRowFromDataset", + "/v1/evaluator/{evaluatorId}/onlineEvaluators/{onlineEvaluatorId}": { + "delete": { + "operationId": "DeleteOnlineEvaluator", "responses": { "200": { "description": "Ok", @@ -17759,7 +13379,7 @@ } }, "tags": [ - "Experiment" + "Evaluator" ], "security": [ { @@ -17769,7 +13389,7 @@ "parameters": [ { "in": "path", - "name": "experimentId", + "name": "evaluatorId", "required": true, "schema": { "type": "string" @@ -17777,7 +13397,7 @@ }, { "in": "path", - "name": "datasetId", + "name": "onlineEvaluatorId", "required": true, "schema": { "type": "string" @@ -17786,112 +13406,46 @@ ] } }, - "/v2/experiment/{experimentId}/row/update": { - "post": { - "operationId": "UpdateExperimentTableRow", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } - } - } - } - }, - "tags": [ - "Experiment" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "experimentId", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "inputs": { - "$ref": "#/components/schemas/Record_string.string_" - }, - "inputRecordId": { - "type": "string" - } - }, - "required": [ - "inputs", - "inputRecordId" - ], - "type": "object" - } - } - } - } - } - }, - "/v2/experiment/{experimentId}/run-hypothesis": { + "/v1/evaluator/python/test": { "post": { - "operationId": "RunHypothesis", + "operationId": "TestPythonEvaluator", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_string.string_" + "$ref": "#/components/schemas/Result__output-string--traces-string-Array--statusCode_63_-number_.string_" } } } } }, "tags": [ - "Experiment" - ], - "security": [ - { - "api_key": [] - } + "Evaluator" ], - "parameters": [ - { - "in": "path", - "name": "experimentId", - "required": true, - "schema": { - "type": "string" - } + "security": [ + { + "api_key": [] } ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "properties": { - "inputRecordId": { - "type": "string" + "testInput": { + "$ref": "#/components/schemas/TestInput" }, - "promptVersionId": { + "code": { "type": "string" } }, "required": [ - "inputRecordId", - "promptVersionId" + "testInput", + "code" ], "type": "object" } @@ -17900,84 +13454,98 @@ } } }, - "/v2/experiment/{experimentId}/evaluators": { - "get": { - "operationId": "GetExperimentEvaluators", + "/v1/evaluator/llm/test": { + "post": { + "operationId": "TestLLMEvaluator", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_EvaluatorResult-Array.string_" + "$ref": "#/components/schemas/EvaluatorScoreResult" } } } } }, "tags": [ - "Experiment" + "Evaluator" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentId", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "evaluatorName": { + "type": "string" + }, + "testInput": { + "$ref": "#/components/schemas/TestInput" + }, + "evaluatorConfig": { + "$ref": "#/components/schemas/EvaluatorConfig" + } + }, + "required": [ + "evaluatorName", + "testInput", + "evaluatorConfig" + ], + "type": "object" + } } } - ] - }, + } + } + }, + "/v1/evaluator/lastmile/test": { "post": { - "operationId": "CreateExperimentEvaluator", + "operationId": "TestLastMileEvaluator", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result__score-number--input-string--output-string--ground_truth_63_-string_.string_" } } } } }, "tags": [ - "Experiment" + "Evaluator" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentId", - "required": true, - "schema": { - "type": "string" - } - } - ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "properties": { - "evaluatorId": { - "type": "string" + "testInput": { + "$ref": "#/components/schemas/TestInput" + }, + "config": { + "$ref": "#/components/schemas/LastMileConfigForm" } }, "required": [ - "evaluatorId" + "testInput", + "config" ], "type": "object" } @@ -17986,23 +13554,23 @@ } } }, - "/v2/experiment/{experimentId}/evaluators/{evaluatorId}": { - "delete": { - "operationId": "DeleteExperimentEvaluator", + "/v1/evaluator/{evaluatorId}/stats": { + "get": { + "operationId": "GetEvaluatorStats", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result_EvaluatorStats.string_" } } } } }, "tags": [ - "Experiment" + "Evaluator" ], "security": [ { @@ -18010,14 +13578,6 @@ } ], "parameters": [ - { - "in": "path", - "name": "experimentId", - "required": true, - "schema": { - "type": "string" - } - }, { "in": "path", "name": "evaluatorId", @@ -18029,181 +13589,259 @@ ] } }, - "/v2/experiment/{experimentId}/evaluators/run": { - "post": { - "operationId": "RunExperimentEvaluators", + "/v1/stripe/subscription/free/usage": { + "get": { + "operationId": "GetFreeUsage", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "type": "number", + "format": "double" } } } } }, "tags": [ - "Experiment" + "Stripe" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentId", - "required": true, - "schema": { - "type": "string" - } - } - ] + "parameters": [] } }, - "/v2/experiment/{experimentId}/should-run-evaluators": { - "get": { - "operationId": "ShouldRunEvaluators", + "/v1/stripe/cloud/checkout-session": { + "post": { + "operationId": "CreateCloudGatewayCheckoutSession", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_boolean.string_" + "properties": { + "checkoutUrl": { + "type": "string" + } + }, + "required": [ + "checkoutUrl" + ], + "type": "object" } } } } }, "tags": [ - "Experiment" + "Stripe" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentId", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateCloudGatewayCheckoutSessionRequest" + } } } - ] + } } }, - "/v2/experiment/{experimentId}/{promptVersionId}/scores": { - "get": { - "operationId": "GetExperimentPromptVersionScores", + "/v1/stripe/subscription/manage-subscription": { + "post": { + "operationId": "ManageSubscription", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_Record_string.ScoreV2_.string_" + "type": "string" } } } } }, "tags": [ - "Experiment" + "Stripe" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "path", - "name": "promptVersionId", - "required": true, - "schema": { - "type": "string" - } - } - ] + "parameters": [] } }, - "/v2/experiment/{experimentId}/{requestId}/{scoreKey}": { - "get": { - "operationId": "GetExperimentScore", + "/v1/stripe/subscription/undo-cancel-subscription": { + "post": { + "operationId": "UndoCancelSubscription", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_ScoreV2-or-null.string_" + "type": "number", + "enum": [ + null + ], + "nullable": true } } } } }, "tags": [ - "Experiment" + "Stripe" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "path", - "name": "requestId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "path", - "name": "scoreKey", - "required": true, - "schema": { - "type": "string" - } - } - ] + "parameters": [] } }, - "/v1/stripe/subscription/cost-for-prompts": { + "/v1/stripe/subscription/preview-invoice": { "get": { - "operationId": "GetCostForPrompts", + "operationId": "PreviewInvoice", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "type": "number", - "format": "double" + "properties": { + "evaluators_usage": { + "items": { + "$ref": "#/components/schemas/LLMUsage" + }, + "type": "array" + }, + "experiments_usage": { + "items": { + "$ref": "#/components/schemas/LLMUsage" + }, + "type": "array" + }, + "total": { + "type": "number", + "format": "double" + }, + "tax": { + "type": "number", + "format": "double", + "nullable": true + }, + "subtotal": { + "type": "number", + "format": "double" + }, + "discount": { + "properties": { + "coupon": { + "properties": { + "amount_off": { + "type": "number", + "format": "double", + "nullable": true + }, + "percent_off": { + "type": "number", + "format": "double", + "nullable": true + }, + "name": { + "type": "string", + "nullable": true + } + }, + "required": [ + "amount_off", + "percent_off", + "name" + ], + "type": "object" + } + }, + "required": [ + "coupon" + ], + "type": "object", + "nullable": true + }, + "lines": { + "properties": { + "data": { + "items": { + "properties": { + "description": { + "type": "string", + "nullable": true + }, + "amount": { + "type": "number", + "format": "double", + "nullable": true + }, + "id": { + "type": "string", + "nullable": true + } + }, + "required": [ + "description", + "amount", + "id" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "data" + ], + "type": "object", + "nullable": true + }, + "next_payment_attempt": { + "type": "number", + "format": "double", + "nullable": true + }, + "currency": { + "type": "string", + "nullable": true + } + }, + "required": [ + "evaluators_usage", + "experiments_usage", + "total", + "tax", + "subtotal", + "discount", + "lines", + "next_payment_attempt", + "currency" + ], + "type": "object", + "nullable": true } } } @@ -18220,9 +13858,9 @@ "parameters": [] } }, - "/v1/stripe/subscription/cost-for-evals": { - "get": { - "operationId": "GetCostForEvals", + "/v1/stripe/subscription/cancel-subscription": { + "post": { + "operationId": "CancelSubscription", "responses": { "200": { "description": "Ok", @@ -18230,7 +13868,10 @@ "application/json": { "schema": { "type": "number", - "format": "double" + "enum": [ + null + ], + "nullable": true } } } @@ -18247,17 +13888,16 @@ "parameters": [] } }, - "/v1/stripe/subscription/cost-for-experiments": { + "/v1/stripe/payment-intents/search": { "get": { - "operationId": "GetCostForExperiments", + "operationId": "SearchPaymentIntents", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "type": "number", - "format": "double" + "$ref": "#/components/schemas/StripePaymentIntentsResponse" } } } @@ -18271,39 +13911,38 @@ "api_key": [] } ], - "parameters": [] - } - }, - "/v1/stripe/subscription/free/usage": { - "get": { - "operationId": "GetFreeUsage", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "type": "number", - "format": "double" - } - } + "parameters": [ + { + "in": "query", + "name": "search_kind", + "required": true, + "schema": { + "type": "string" } - } - }, - "tags": [ - "Stripe" - ], - "security": [ + }, { - "api_key": [] + "in": "query", + "name": "limit", + "required": false, + "schema": { + "format": "double", + "type": "number" + } + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "string" + } } - ], - "parameters": [] + ] } }, - "/v1/stripe/cloud/checkout-session": { - "post": { - "operationId": "CreateCloudGatewayCheckoutSession", + "/v1/stripe/subscription": { + "get": { + "operationId": "GetSubscription", "responses": { "200": { "description": "Ok", @@ -18311,50 +13950,76 @@ "application/json": { "schema": { "properties": { - "checkoutUrl": { + "items": { + "items": { + "properties": { + "price": { + "properties": { + "product": { + "properties": { + "name": { + "type": "string", + "nullable": true + } + }, + "required": [ + "name" + ], + "type": "object", + "nullable": true + } + }, + "required": [ + "product" + ], + "type": "object" + }, + "quantity": { + "type": "number", + "format": "double" + } + }, + "required": [ + "price" + ], + "type": "object" + }, + "type": "array" + }, + "trial_end": { + "type": "number", + "format": "double", + "nullable": true + }, + "id": { + "type": "string" + }, + "current_period_start": { + "type": "number", + "format": "double" + }, + "current_period_end": { + "type": "number", + "format": "double" + }, + "cancel_at_period_end": { + "type": "boolean" + }, + "status": { "type": "string" } }, "required": [ - "checkoutUrl" + "items", + "trial_end", + "id", + "current_period_start", + "current_period_end", + "cancel_at_period_end", + "status" ], - "type": "object" - } - } - } - } - }, - "tags": [ - "Stripe" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateCloudGatewayCheckoutSessionRequest" - } - } - } - } - } - }, - "/v1/stripe/subscription/new-customer/upgrade-to-pro": { - "post": { - "operationId": "UpgradeToPro", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "type": "string" + "type": "object", + "nullable": true } } } @@ -18368,29 +14033,24 @@ "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpgradeToProRequest" - } - } - } - } + "parameters": [] } }, - "/v1/stripe/subscription/existing-customer/upgrade-to-pro": { - "post": { - "operationId": "UpgradeExistingCustomer", + "/v1/stripe/auto-topoff/settings": { + "get": { + "operationId": "GetAutoTopoffSettings", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "type": "string" + "allOf": [ + { + "$ref": "#/components/schemas/AutoTopoffSettings" + } + ], + "nullable": true } } } @@ -18404,29 +14064,17 @@ "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpgradeToProRequest" - } - } - } - } - } - }, - "/v1/stripe/subscription/new-customer/upgrade-to-team-bundle": { + "parameters": [] + }, "post": { - "operationId": "UpgradeToTeamBundle", + "operationId": "UpdateAutoTopoffSettings", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "type": "string" + "$ref": "#/components/schemas/AutoTopoffSettings" } } } @@ -18442,27 +14090,33 @@ ], "parameters": [], "requestBody": { - "required": false, + "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UpgradeToTeamBundleRequest" + "$ref": "#/components/schemas/UpdateAutoTopoffSettingsRequest" } } } } - } - }, - "/v1/stripe/subscription/existing-customer/upgrade-to-team-bundle": { - "post": { - "operationId": "UpgradeExistingCustomerToTeamBundle", + }, + "delete": { + "operationId": "DisableAutoTopoff", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "type": "string" + "properties": { + "success": { + "type": "boolean" + } + }, + "required": [ + "success" + ], + "type": "object" } } } @@ -18476,29 +14130,22 @@ "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": false, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpgradeToTeamBundleRequest" - } - } - } - } + "parameters": [] } }, - "/v1/stripe/subscription/manage-subscription": { - "post": { - "operationId": "ManageSubscription", + "/v1/stripe/payment-methods": { + "get": { + "operationId": "GetPaymentMethods", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "type": "string" + "items": { + "$ref": "#/components/schemas/PaymentMethod" + }, + "type": "array" } } } @@ -18515,20 +14162,24 @@ "parameters": [] } }, - "/v1/stripe/subscription/undo-cancel-subscription": { + "/v1/stripe/payment-methods/setup-session": { "post": { - "operationId": "UndoCancelSubscription", + "operationId": "CreateSetupSession", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "type": "number", - "enum": [ - null + "properties": { + "setupUrl": { + "type": "string" + } + }, + "required": [ + "setupUrl" ], - "nullable": true + "type": "object" } } } @@ -18542,23 +14193,37 @@ "api_key": [] } ], - "parameters": [] + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateSetupSessionRequest" + } + } + } + } } }, - "/v1/stripe/subscription/add-ons/{productType}": { - "post": { - "operationId": "AddOns", + "/v1/stripe/payment-methods/{paymentMethodId}": { + "delete": { + "operationId": "RemovePaymentMethod", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "type": "number", - "enum": [ - null + "properties": { + "success": { + "type": "boolean" + } + }, + "required": [ + "success" ], - "nullable": true + "type": "object" } } } @@ -18575,31 +14240,28 @@ "parameters": [ { "in": "path", - "name": "productType", + "name": "paymentMethodId", "required": true, "schema": { - "type": "string", - "enum": [ - "alerts", - "prompts", - "experiments", - "evals" - ] + "type": "string" } } ] - }, - "delete": { - "operationId": "DeleteAddOns", + } + }, + "/v1/stripe/subscription/usage-stats": { + "get": { + "operationId": "GetUsageStats", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "type": "number", - "enum": [ - null + "allOf": [ + { + "$ref": "#/components/schemas/UsageStatsResponse" + } ], "nullable": true } @@ -18615,187 +14277,60 @@ "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "productType", - "required": true, - "schema": { - "type": "string", - "enum": [ - "alerts", - "prompts", - "experiments", - "evals" - ] - } - } - ] + "parameters": [] } }, - "/v1/stripe/subscription/preview-invoice": { - "get": { - "operationId": "PreviewInvoice", + "/v1/integration": { + "post": { + "operationId": "CreateIntegration", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "properties": { - "evaluators_usage": { - "items": { - "$ref": "#/components/schemas/LLMUsage" - }, - "type": "array" - }, - "experiments_usage": { - "items": { - "$ref": "#/components/schemas/LLMUsage" - }, - "type": "array" - }, - "total": { - "type": "number", - "format": "double" - }, - "tax": { - "type": "number", - "format": "double", - "nullable": true - }, - "subtotal": { - "type": "number", - "format": "double" - }, - "discount": { - "properties": { - "coupon": { - "properties": { - "amount_off": { - "type": "number", - "format": "double", - "nullable": true - }, - "percent_off": { - "type": "number", - "format": "double", - "nullable": true - }, - "name": { - "type": "string", - "nullable": true - } - }, - "required": [ - "amount_off", - "percent_off", - "name" - ], - "type": "object" - } - }, - "required": [ - "coupon" - ], - "type": "object", - "nullable": true - }, - "lines": { - "properties": { - "data": { - "items": { - "properties": { - "description": { - "type": "string", - "nullable": true - }, - "amount": { - "type": "number", - "format": "double", - "nullable": true - }, - "id": { - "type": "string", - "nullable": true - } - }, - "required": [ - "description", - "amount", - "id" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "data" - ], - "type": "object", - "nullable": true - }, - "next_payment_attempt": { - "type": "number", - "format": "double", - "nullable": true - }, - "currency": { - "type": "string", - "nullable": true - } - }, - "required": [ - "evaluators_usage", - "experiments_usage", - "total", - "tax", - "subtotal", - "discount", - "lines", - "next_payment_attempt", - "currency" - ], - "type": "object", - "nullable": true + "$ref": "#/components/schemas/Result__id-string_.string_" } } } } }, "tags": [ - "Stripe" + "Integration" ], "security": [ { "api_key": [] } ], - "parameters": [] - } - }, - "/v1/stripe/subscription/cancel-subscription": { - "post": { - "operationId": "CancelSubscription", + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IntegrationCreateParams" + } + } + } + } + }, + "get": { + "operationId": "GetIntegrations", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "type": "number", - "enum": [ - null - ], - "nullable": true + "$ref": "#/components/schemas/Result_Array_Integration_.string_" } } } } }, "tags": [ - "Stripe" + "Integration" ], "security": [ { @@ -18805,47 +14340,66 @@ "parameters": [] } }, - "/v1/stripe/subscription/migrate-to-pro": { + "/v1/integration/{integrationId}": { "post": { - "operationId": "MigrateToPro", + "operationId": "UpdateIntegration", "responses": { "200": { "description": "Ok", "content": { "application/json": { - "schema": {} + "schema": { + "$ref": "#/components/schemas/Result_null.string_" + } } } } }, "tags": [ - "Stripe" + "Integration" ], "security": [ { "api_key": [] } ], - "parameters": [] - } - }, - "/v1/stripe/payment-intents/search": { + "parameters": [ + { + "in": "path", + "name": "integrationId", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IntegrationUpdateParams" + } + } + } + } + }, "get": { - "operationId": "SearchPaymentIntents", + "operationId": "GetIntegration", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/StripePaymentIntentsResponse" + "$ref": "#/components/schemas/Result_Integration.string_" } } } } }, "tags": [ - "Stripe" + "Integration" ], "security": [ { @@ -18854,26 +14408,44 @@ ], "parameters": [ { - "in": "query", - "name": "search_kind", + "in": "path", + "name": "integrationId", "required": true, "schema": { "type": "string" } - }, - { - "in": "query", - "name": "limit", - "required": false, - "schema": { - "format": "double", - "type": "number" + } + ] + } + }, + "/v1/integration/type/{type}": { + "get": { + "operationId": "GetIntegrationByType", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Result_Integration.string_" + } + } } - }, + } + }, + "tags": [ + "Integration" + ], + "security": [ { - "in": "query", - "name": "page", - "required": false, + "api_key": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "type", + "required": true, "schema": { "type": "string" } @@ -18881,93 +14453,23 @@ ] } }, - "/v1/stripe/subscription": { + "/v1/integration/slack/settings": { "get": { - "operationId": "GetSubscription", + "operationId": "GetSlackSettings", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "properties": { - "items": { - "items": { - "properties": { - "price": { - "properties": { - "product": { - "properties": { - "name": { - "type": "string", - "nullable": true - } - }, - "required": [ - "name" - ], - "type": "object", - "nullable": true - } - }, - "required": [ - "product" - ], - "type": "object" - }, - "quantity": { - "type": "number", - "format": "double" - } - }, - "required": [ - "price" - ], - "type": "object" - }, - "type": "array" - }, - "trial_end": { - "type": "number", - "format": "double", - "nullable": true - }, - "id": { - "type": "string" - }, - "current_period_start": { - "type": "number", - "format": "double" - }, - "current_period_end": { - "type": "number", - "format": "double" - }, - "cancel_at_period_end": { - "type": "boolean" - }, - "status": { - "type": "string" - } - }, - "required": [ - "items", - "trial_end", - "id", - "current_period_start", - "current_period_end", - "cancel_at_period_end", - "status" - ], - "type": "object", - "nullable": true + "$ref": "#/components/schemas/Result_Integration.string_" } } } } }, "tags": [ - "Stripe" + "Integration" ], "security": [ { @@ -18977,28 +14479,23 @@ "parameters": [] } }, - "/v1/stripe/auto-topoff/settings": { + "/v1/integration/slack/channels": { "get": { - "operationId": "GetAutoTopoffSettings", + "operationId": "GetSlackChannels", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/AutoTopoffSettings" - } - ], - "nullable": true + "$ref": "#/components/schemas/Result_Array__id-string--name-string__.string_" } } } } }, "tags": [ - "Stripe" + "Integration" ], "security": [ { @@ -19006,128 +14503,172 @@ } ], "parameters": [] - }, + } + }, + "/v1/integration/{integrationId}/stripe/test-meter-event": { "post": { - "operationId": "UpdateAutoTopoffSettings", + "operationId": "TestStripeMeterEvent", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AutoTopoffSettings" + "$ref": "#/components/schemas/Result_string.string_" } } } } }, "tags": [ - "Stripe" + "Integration" ], "security": [ { "api_key": [] } ], - "parameters": [], + "parameters": [ + { + "in": "path", + "name": "integrationId", + "required": true, + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UpdateAutoTopoffSettingsRequest" + "$ref": "#/components/schemas/TestStripeMeterEventRequest" } } } } - }, - "delete": { - "operationId": "DisableAutoTopoff", + } + }, + "/v1/request/count/query": { + "post": { + "operationId": "GetRequestCount", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "properties": { - "success": { - "type": "boolean" - } - }, - "required": [ - "success" - ], - "type": "object" + "$ref": "#/components/schemas/Result_number.string_" } } } } }, "tags": [ - "Stripe" + "Request" ], "security": [ { "api_key": [] } - ], - "parameters": [] + ], + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RequestQueryParams" + } + } + } + } } }, - "/v1/stripe/payment-methods": { - "get": { - "operationId": "GetPaymentMethods", + "/v1/request/query": { + "post": { + "operationId": "GetRequests", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "items": { - "$ref": "#/components/schemas/PaymentMethod" - }, - "type": "array" + "$ref": "#/components/schemas/Result_HeliconeRequest-Array.string_" + }, + "examples": { + "Example 1": { + "value": { + "filter": {}, + "isCached": false, + "limit": 10, + "offset": 0, + "sort": { + "created_at": "desc" + }, + "isScored": false, + "isPartOfExperiment": false + } + } } } } } }, "tags": [ - "Stripe" + "Request" ], "security": [ { "api_key": [] } ], - "parameters": [] + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RequestQueryParams" + } + } + } + } } }, - "/v1/stripe/payment-methods/setup-session": { + "/v1/request/query-clickhouse": { "post": { - "operationId": "CreateSetupSession", + "operationId": "GetRequestsClickhouse", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "properties": { - "setupUrl": { - "type": "string" + "$ref": "#/components/schemas/Result_HeliconeRequest-Array.string_" + }, + "examples": { + "Example 1": { + "value": { + "filter": {}, + "isCached": false, + "limit": 10, + "offset": 0, + "sort": { + "created_at": "desc" + }, + "isScored": false, + "isPartOfExperiment": false } - }, - "required": [ - "setupUrl" - ], - "type": "object" + } } } } } }, "tags": [ - "Stripe" + "Request" ], "security": [ { @@ -19140,38 +14681,30 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CreateSetupSessionRequest" + "$ref": "#/components/schemas/RequestQueryParams" } } } } } }, - "/v1/stripe/payment-methods/{paymentMethodId}": { - "delete": { - "operationId": "RemovePaymentMethod", + "/v1/request/{requestId}": { + "get": { + "operationId": "GetRequestById", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "properties": { - "success": { - "type": "boolean" - } - }, - "required": [ - "success" - ], - "type": "object" + "$ref": "#/components/schemas/Result_HeliconeRequest.string_" } } } } }, "tags": [ - "Stripe" + "Request" ], "security": [ { @@ -19181,63 +14714,76 @@ "parameters": [ { "in": "path", - "name": "paymentMethodId", + "name": "requestId", "required": true, "schema": { "type": "string" } + }, + { + "in": "query", + "name": "includeBody", + "required": false, + "schema": { + "default": false, + "type": "boolean" + } } ] } }, - "/v1/stripe/subscription/usage-stats": { + "/v1/request/{requestId}/inputs": { "get": { - "operationId": "GetUsageStats", + "operationId": "GetRequestInputs", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/UsageStatsResponse" - } - ], - "nullable": true + "$ref": "#/components/schemas/Result__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null.string_" } } } } }, "tags": [ - "Stripe" + "Request" ], "security": [ { "api_key": [] } ], - "parameters": [] + "parameters": [ + { + "in": "path", + "name": "requestId", + "required": true, + "schema": { + "type": "string" + } + } + ] } }, - "/v1/integration": { + "/v1/request/query-ids": { "post": { - "operationId": "CreateIntegration", + "operationId": "GetRequestsByIds", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__id-string_.string_" + "$ref": "#/components/schemas/Result_HeliconeRequest-Array.string_" } } } } }, "tags": [ - "Integration" + "Request" ], "security": [ { @@ -19250,40 +14796,27 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IntegrationCreateParams" + "properties": { + "requestIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "requestIds" + ], + "type": "object" } } } } - }, - "get": { - "operationId": "GetIntegrations", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_Array_Integration_.string_" - } - } - } - } - }, - "tags": [ - "Integration" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [] } }, - "/v1/integration/{integrationId}": { + "/v1/request/{requestId}/feedback": { "post": { - "operationId": "UpdateIntegration", + "operationId": "FeedbackRequest", "responses": { "200": { "description": "Ok", @@ -19297,7 +14830,7 @@ } }, "tags": [ - "Integration" + "Request" ], "security": [ { @@ -19307,7 +14840,7 @@ "parameters": [ { "in": "path", - "name": "integrationId", + "name": "requestId", "required": true, "schema": { "type": "string" @@ -19319,28 +14852,38 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IntegrationUpdateParams" + "properties": { + "rating": { + "type": "boolean" + } + }, + "required": [ + "rating" + ], + "type": "object" } } } } - }, - "get": { - "operationId": "GetIntegration", + } + }, + "/v1/request/{requestId}/property": { + "put": { + "operationId": "PutProperty", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_Integration.string_" + "$ref": "#/components/schemas/Result_null.string_" } } } } }, "tags": [ - "Integration" + "Request" ], "security": [ { @@ -19350,119 +14893,97 @@ "parameters": [ { "in": "path", - "name": "integrationId", + "name": "requestId", "required": true, "schema": { "type": "string" } } - ] - } - }, - "/v1/integration/type/{type}": { - "get": { - "operationId": "GetIntegrationByType", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_Integration.string_" - } - } - } - } - }, - "tags": [ - "Integration" - ], - "security": [ - { - "api_key": [] - } ], - "parameters": [ - { - "in": "path", - "name": "type", - "required": true, - "schema": { - "type": "string" + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "value": { + "type": "string" + }, + "key": { + "type": "string" + } + }, + "required": [ + "value", + "key" + ], + "type": "object" + } } } - ] + } } }, - "/v1/integration/slack/settings": { - "get": { - "operationId": "GetSlackSettings", + "/v1/request/{requestId}/assets/{assetId}": { + "post": { + "operationId": "GetRequestAssetById", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_Integration.string_" + "$ref": "#/components/schemas/Result_HeliconeRequestAsset.string_" } } } } }, "tags": [ - "Integration" + "Request" ], "security": [ { "api_key": [] } ], - "parameters": [] - } - }, - "/v1/integration/slack/channels": { - "get": { - "operationId": "GetSlackChannels", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_Array__id-string--name-string__.string_" - } - } + "parameters": [ + { + "in": "path", + "name": "requestId", + "required": true, + "schema": { + "type": "string" } - } - }, - "tags": [ - "Integration" - ], - "security": [ + }, { - "api_key": [] + "in": "path", + "name": "assetId", + "required": true, + "schema": { + "type": "string" + } } - ], - "parameters": [] + ] } }, - "/v1/integration/{integrationId}/stripe/test-meter-event": { + "/v1/request/{requestId}/score": { "post": { - "operationId": "TestStripeMeterEvent", + "operationId": "AddScores", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_string.string_" + "$ref": "#/components/schemas/Result_null.string_" } } } } }, "tags": [ - "Integration" + "Request" ], "security": [ { @@ -19472,7 +14993,7 @@ "parameters": [ { "in": "path", - "name": "integrationId", + "name": "requestId", "required": true, "schema": { "type": "string" @@ -19484,132 +15005,89 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/TestStripeMeterEventRequest" + "$ref": "#/components/schemas/ScoreRequest" } } } } } }, - "/v1/request/count/query": { - "post": { - "operationId": "GetRequestCount", + "/v1/wrapped/2025": { + "get": { + "operationId": "GetWrapped2025Stats", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_number.string_" + "$ref": "#/components/schemas/Result_WrappedStats.string_" } } } } }, "tags": [ - "Request" + "Wrapped" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RequestQueryParams" - } - } - } - } + "parameters": [] } }, - "/v1/request/query": { - "post": { - "operationId": "GetRequests", + "/v1/wrapped/2025/check": { + "get": { + "operationId": "CheckHasWrapped2025Data", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_HeliconeRequest-Array.string_" - }, - "examples": { - "Example 1": { - "value": { - "filter": {}, - "isCached": false, - "limit": 10, - "offset": 0, - "sort": { - "created_at": "desc" - }, - "isScored": false, - "isPartOfExperiment": false - } - } + "$ref": "#/components/schemas/Result__hasData-boolean_.string_" } } } } }, "tags": [ - "Request" + "Wrapped" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RequestQueryParams" - } - } - } - } + "parameters": [] } }, - "/v1/request/query-clickhouse": { + "/v1/webhooks": { "post": { - "operationId": "GetRequestsClickhouse", + "operationId": "NewWebhook", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_HeliconeRequest-Array.string_" - }, - "examples": { - "Example 1": { - "value": { - "filter": {}, - "isCached": false, - "limit": 10, - "offset": 0, - "sort": { - "created_at": "desc" - }, - "isScored": false, - "isPartOfExperiment": false + "anyOf": [ + { + "$ref": "#/components/schemas/ResultSuccess_unknown_" + }, + { + "$ref": "#/components/schemas/ResultError_unknown_" } - } + ] } } } } }, "tags": [ - "Request" + "Webhooks" ], "security": [ { @@ -19622,74 +15100,54 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/RequestQueryParams" + "$ref": "#/components/schemas/WebhookData" } } } } - } - }, - "/v1/request/{requestId}": { + }, "get": { - "operationId": "GetRequestById", + "operationId": "GetWebhooks", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_HeliconeRequest.string_" + "$ref": "#/components/schemas/Result__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array.string_" } } } } }, "tags": [ - "Request" + "Webhooks" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "requestId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "query", - "name": "includeBody", - "required": false, - "schema": { - "default": false, - "type": "boolean" - } - } - ] + "parameters": [] } }, - "/v1/request/{requestId}/inputs": { - "get": { - "operationId": "GetRequestInputs", + "/v1/webhooks/{webhookId}": { + "delete": { + "operationId": "DeleteWebhook", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null.string_" + "$ref": "#/components/schemas/Result_null.string_" } } } } }, "tags": [ - "Request" + "Webhooks" ], "security": [ { @@ -19699,7 +15157,7 @@ "parameters": [ { "in": "path", - "name": "requestId", + "name": "webhookId", "required": true, "schema": { "type": "string" @@ -19708,180 +15166,120 @@ ] } }, - "/v1/request/query-ids": { + "/v1/webhooks/{webhookId}/test": { "post": { - "operationId": "GetRequestsByIds", + "operationId": "TestWebhook", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_HeliconeRequest-Array.string_" + "$ref": "#/components/schemas/Result__success-boolean--message-string_.string_" } } } } }, "tags": [ - "Request" + "Webhooks" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "requestIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "requestIds" - ], - "type": "object" - } + "parameters": [ + { + "in": "path", + "name": "webhookId", + "required": true, + "schema": { + "type": "string" } } - } + ] } }, - "/v1/request/{requestId}/feedback": { + "/v1/vault/add": { "post": { - "operationId": "FeedbackRequest", + "operationId": "AddKey", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result__id-string_.string_" } } } } - }, - "tags": [ - "Request" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "requestId", - "required": true, - "schema": { - "type": "string" - } - } + }, + "tags": [ + "Vault" + ], + "security": [ + { + "api_key": [] + } ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "properties": { - "rating": { - "type": "boolean" - } - }, - "required": [ - "rating" - ], - "type": "object" + "$ref": "#/components/schemas/AddVaultKeyParams" } } } } } }, - "/v1/request/{requestId}/property": { - "put": { - "operationId": "PutProperty", + "/v1/vault/keys": { + "get": { + "operationId": "GetKeys", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result_DecryptedProviderKey-Array.string_" } } } } }, "tags": [ - "Request" + "Vault" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "requestId", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "value": { - "type": "string" - }, - "key": { - "type": "string" - } - }, - "required": [ - "value", - "key" - ], - "type": "object" - } - } - } - } + "parameters": [] } }, - "/v1/request/{requestId}/assets/{assetId}": { - "post": { - "operationId": "GetRequestAssetById", + "/v1/vault/key/{providerKeyId}": { + "get": { + "operationId": "GetKeyById", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_HeliconeRequestAsset.string_" + "$ref": "#/components/schemas/Result_DecryptedProviderKey.string_" } } } } }, "tags": [ - "Request" + "Vault" ], "security": [ { @@ -19891,15 +15289,7 @@ "parameters": [ { "in": "path", - "name": "requestId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "path", - "name": "assetId", + "name": "providerKeyId", "required": true, "schema": { "type": "string" @@ -19908,9 +15298,9 @@ ] } }, - "/v1/request/{requestId}/score": { - "post": { - "operationId": "AddScores", + "/v1/vault/update/{id}": { + "patch": { + "operationId": "UpdateKey", "responses": { "200": { "description": "Ok", @@ -19924,7 +15314,7 @@ } }, "tags": [ - "Request" + "Vault" ], "security": [ { @@ -19934,7 +15324,7 @@ "parameters": [ { "in": "path", - "name": "requestId", + "name": "id", "required": true, "schema": { "type": "string" @@ -19946,89 +15336,129 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ScoreRequest" + "properties": { + "active": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "key": { + "type": "string" + } + }, + "type": "object" } } } } } }, - "/v1/wrapped/2025": { - "get": { - "operationId": "GetWrapped2025Stats", + "/v1/user/metrics-overview/query": { + "post": { + "operationId": "GetUserMetricsOverview", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_WrappedStats.string_" + "$ref": "#/components/schemas/Result__request_count-HistogramRow-Array--user_cost-HistogramRow-Array_.string_" } } } } }, "tags": [ - "Wrapped" + "User" ], "security": [ { "api_key": [] } ], - "parameters": [] + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "useInterquartile": { + "type": "boolean" + }, + "pSize": { + "$ref": "#/components/schemas/PSize" + }, + "filter": { + "$ref": "#/components/schemas/UserFilterNode" + } + }, + "required": [ + "useInterquartile", + "pSize", + "filter" + ], + "type": "object" + } + } + } + } } }, - "/v1/wrapped/2025/check": { - "get": { - "operationId": "CheckHasWrapped2025Data", + "/v1/user/metrics/query": { + "post": { + "operationId": "GetUserMetrics", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__hasData-boolean_.string_" + "$ref": "#/components/schemas/Result__users-UserMetricsResult-Array--count-number--hasUsers-boolean_.string_" } } } } }, "tags": [ - "Wrapped" + "User" ], "security": [ { "api_key": [] } ], - "parameters": [] + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserMetricsQueryParams" + } + } + } + } } }, - "/v1/webhooks": { + "/v1/user/query": { "post": { - "operationId": "NewWebhook", + "operationId": "GetUsers", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultSuccess_unknown_" - }, - { - "$ref": "#/components/schemas/ResultError_unknown_" - } - ] + "$ref": "#/components/schemas/Result__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array.string_" } } } } }, "tags": [ - "Webhooks" + "User" ], "security": [ { @@ -20041,124 +15471,118 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WebhookData" + "$ref": "#/components/schemas/UserQueryParams" } } } } - }, - "get": { - "operationId": "GetWebhooks", + } + }, + "/v1/trace/custom/v1/log": { + "post": { + "operationId": "LogCustomTraceLegacy", "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array.string_" - } - } - } + "204": { + "description": "No content" } }, "tags": [ - "Webhooks" + "Trace" ], "security": [ { "api_key": [] } ], - "parameters": [] + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": {} + } + } + } } }, - "/v1/webhooks/{webhookId}": { - "delete": { - "operationId": "DeleteWebhook", + "/v1/trace/custom/log": { + "post": { + "operationId": "LogCustomTrace", "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_null.string_" - } - } - } + "204": { + "description": "No content" } }, "tags": [ - "Webhooks" + "Trace" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "webhookId", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": {} } } - ] + } } }, - "/v1/webhooks/{webhookId}/test": { + "/v1/trace/custom/log/typed": { "post": { - "operationId": "TestWebhook", + "operationId": "LogCustomTraceTyped", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__success-boolean--message-string_.string_" + "anyOf": [ + { + "$ref": "#/components/schemas/ValidationResult" + }, + {} + ] } } } } }, "tags": [ - "Webhooks" + "Trace" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "webhookId", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TypedAsyncLogModel" + } } } - ] + } } }, - "/v1/vault/add": { + "/v1/trace/log": { "post": { - "operationId": "AddKey", + "operationId": "LogTrace", "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result__id-string_.string_" - } - } - } + "204": { + "description": "No content" } }, "tags": [ - "Vault" + "Trace" ], "security": [ { @@ -20171,147 +15595,129 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AddVaultKeyParams" + "$ref": "#/components/schemas/OTELTrace" } } } } } }, - "/v1/vault/keys": { - "get": { - "operationId": "GetKeys", + "/v1/trace/log-python": { + "post": { + "operationId": "LogPythonTrace", "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_DecryptedProviderKey-Array.string_" - } - } - } + "204": { + "description": "No content" } }, "tags": [ - "Vault" + "Trace" ], "security": [ { "api_key": [] } ], - "parameters": [] + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": {} + } + } + } } }, - "/v1/vault/key/{providerKeyId}": { - "get": { - "operationId": "GetKeyById", + "/v1/test/gateway-request": { + "post": { + "operationId": "SendTestRequest", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_DecryptedProviderKey.string_" + "$ref": "#/components/schemas/SendTestRequestResponse" } } } } }, "tags": [ - "Vault" + "Test" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "providerKeyId", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SendTestRequestRequest" + } } } - ] + } } }, - "/v1/vault/update/{id}": { - "patch": { - "operationId": "UpdateKey", + "/v1/session/query": { + "post": { + "operationId": "GetSessions", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result_SessionResult-Array.string_" } } } } }, "tags": [ - "Vault" + "Session" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "id", - "required": true, - "schema": { - "type": "string" - } - } - ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "properties": { - "active": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "key": { - "type": "string" - } - }, - "type": "object" + "$ref": "#/components/schemas/SessionQueryParams" } } } } } }, - "/v1/user/metrics-overview/query": { + "/v1/session/count": { "post": { - "operationId": "GetUserMetricsOverview", + "operationId": "GetSessionsCount", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__request_count-HistogramRow-Array--user_cost-HistogramRow-Array_.string_" + "$ref": "#/components/schemas/Result_SessionsAggregateMetrics.string_" } } } } }, "tags": [ - "User" + "Session" ], "security": [ { @@ -20324,46 +15730,30 @@ "content": { "application/json": { "schema": { - "properties": { - "useInterquartile": { - "type": "boolean" - }, - "pSize": { - "$ref": "#/components/schemas/PSize" - }, - "filter": { - "$ref": "#/components/schemas/UserFilterNode" - } - }, - "required": [ - "useInterquartile", - "pSize", - "filter" - ], - "type": "object" + "$ref": "#/components/schemas/SessionQueryParams" } } } } } }, - "/v1/user/metrics/query": { + "/v1/session/name/query": { "post": { - "operationId": "GetUserMetrics", + "operationId": "GetNames", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__users-UserMetricsResult-Array--count-number--hasUsers-boolean_.string_" + "$ref": "#/components/schemas/Result_SessionNameResult-Array.string_" } } } } }, "tags": [ - "User" + "Session" ], "security": [ { @@ -20376,30 +15766,30 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UserMetricsQueryParams" + "$ref": "#/components/schemas/SessionNameQueryParams" } } } } } }, - "/v1/user/query": { + "/v1/session/metrics/query": { "post": { - "operationId": "GetUsers", + "operationId": "GetMetrics", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array.string_" + "$ref": "#/components/schemas/Result_SessionMetrics.string_" } } } } }, "tags": [ - "User" + "Session" ], "security": [ { @@ -20412,181 +15802,238 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UserQueryParams" + "$ref": "#/components/schemas/SessionMetricsQueryParams" } } } } } }, - "/v1/trace/custom/v1/log": { + "/v1/session/{sessionId}/feedback": { "post": { - "operationId": "LogCustomTraceLegacy", + "operationId": "UpdateSessionFeedback", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Result_null.string_" + } + } + } } }, "tags": [ - "Trace" + "Session" ], "security": [ { "api_key": [] } ], - "parameters": [], + "parameters": [ + { + "in": "path", + "name": "sessionId", + "required": true, + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { - "schema": {} + "schema": { + "properties": { + "rating": { + "type": "boolean" + } + }, + "required": [ + "rating" + ], + "type": "object" + } } } } } }, - "/v1/trace/custom/log": { - "post": { - "operationId": "LogCustomTrace", + "/v1/session/{sessionId}/tag": { + "get": { + "operationId": "GetSessionTag", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Result_string-or-null.string_" + } + } + } } }, "tags": [ - "Trace" + "Session" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": {} + "parameters": [ + { + "in": "path", + "name": "sessionId", + "required": true, + "schema": { + "type": "string" } } - } - } - }, - "/v1/trace/custom/log/typed": { + ] + }, "post": { - "operationId": "LogCustomTraceTyped", + "operationId": "UpdateSessionTag", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "anyOf": [ - { - "$ref": "#/components/schemas/ValidationResult" - }, - {} - ] + "$ref": "#/components/schemas/Result_null.string_" } } } } }, "tags": [ - "Trace" + "Session" ], "security": [ { "api_key": [] } ], - "parameters": [], + "parameters": [ + { + "in": "path", + "name": "sessionId", + "required": true, + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/TypedAsyncLogModel" + "properties": { + "tag": { + "type": "string" + } + }, + "required": [ + "tag" + ], + "type": "object" } } } } } }, - "/v1/trace/log": { - "post": { - "operationId": "LogTrace", + "/v1/public/status/provider": { + "get": { + "operationId": "GetAllProviderStatus", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Result_ProviderMetrics-Array.string_" + } + } + } } }, "tags": [ - "Trace" + "Status" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OTELTrace" - } - } - } - } + "parameters": [] } }, - "/v1/trace/log-python": { - "post": { - "operationId": "LogPythonTrace", + "/v1/public/status/provider/{provider}": { + "get": { + "operationId": "GetProviderStatus", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Result_ProviderMetrics.string_" + } + } + } } }, "tags": [ - "Trace" + "Status" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": {} + "parameters": [ + { + "in": "path", + "name": "provider", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "timeFrame", + "required": true, + "schema": { + "$ref": "#/components/schemas/TimeFrame" } } - } + ] } }, - "/v1/test/gateway-request": { + "/v1/providers": { "post": { - "operationId": "SendTestRequest", + "operationId": "GetProviders", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SendTestRequestResponse" + "$ref": "#/components/schemas/Result_ProviderMetric-Array.string_" } } } } }, "tags": [ - "Test" + "Providers" ], "security": [ { @@ -20599,30 +16046,30 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SendTestRequestRequest" + "$ref": "#/components/schemas/ProviderQueryParams" } } } } } }, - "/v1/session/query": { + "/v1/property/properties/over-time": { "post": { - "operationId": "GetSessions", + "operationId": "GetPropertiesOverTime", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_SessionResult-Array.string_" + "$ref": "#/components/schemas/Result__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array.string_" } } } } }, "tags": [ - "Session" + "Property" ], "security": [ { @@ -20635,30 +16082,45 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SessionQueryParams" + "allOf": [ + { + "$ref": "#/components/schemas/DataOverTimeRequest" + }, + { + "properties": { + "propertyKey": { + "type": "string" + } + }, + "required": [ + "propertyKey" + ], + "type": "object" + } + ] } } } } } }, - "/v1/session/count": { + "/v1/property/query": { "post": { - "operationId": "GetSessionsCount", + "operationId": "GetProperties", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_SessionsAggregateMetrics.string_" + "$ref": "#/components/schemas/Result_Property-Array.string_" } } } } }, "tags": [ - "Session" + "Property" ], "security": [ { @@ -20671,30 +16133,62 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SessionQueryParams" + "properties": {}, + "type": "object" } } } } } }, - "/v1/session/name/query": { + "/v1/property/hide": { "post": { - "operationId": "GetNames", + "operationId": "HideProperty", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_SessionNameResult-Array.string_" + "anyOf": [ + { + "$ref": "#/components/schemas/ResultError_string_" + }, + { + "$ref": "#/components/schemas/ResultSuccess_string_" + }, + { + "$ref": "#/components/schemas/ResultSuccess_unknown-Array_" + }, + { + "properties": { + "error": {}, + "data": { + "properties": { + "ok": { + "type": "boolean" + } + }, + "required": [ + "ok" + ], + "type": "object" + } + }, + "required": [ + "error", + "data" + ], + "type": "object" + } + ] } } } } }, "tags": [ - "Session" + "Property" ], "security": [ { @@ -20707,94 +16201,114 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SessionNameQueryParams" + "properties": { + "key": { + "type": "string" + } + }, + "required": [ + "key" + ], + "type": "object" } } } } } }, - "/v1/session/metrics/query": { + "/v1/property/hidden/query": { "post": { - "operationId": "GetMetrics", + "operationId": "GetHiddenProperties", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_SessionMetrics.string_" + "$ref": "#/components/schemas/Result_Property-Array.string_" } } } } }, "tags": [ - "Session" + "Property" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SessionMetricsQueryParams" - } - } - } - } + "parameters": [] } }, - "/v1/session/{sessionId}/feedback": { + "/v1/property/restore": { "post": { - "operationId": "UpdateSessionFeedback", + "operationId": "RestoreProperty", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "anyOf": [ + { + "$ref": "#/components/schemas/ResultError_string_" + }, + { + "$ref": "#/components/schemas/ResultSuccess_string_" + }, + { + "$ref": "#/components/schemas/ResultSuccess_unknown-Array_" + }, + { + "properties": { + "error": {}, + "data": { + "properties": { + "ok": { + "type": "boolean" + } + }, + "required": [ + "ok" + ], + "type": "object" + } + }, + "required": [ + "error", + "data" + ], + "type": "object" + } + ] } } } } }, "tags": [ - "Session" + "Property" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "sessionId", - "required": true, - "schema": { - "type": "string" - } - } - ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "properties": { - "rating": { - "type": "boolean" + "key": { + "type": "string" } }, "required": [ - "rating" + "key" ], "type": "object" } @@ -20803,56 +16317,23 @@ } } }, - "/v1/session/{sessionId}/tag": { - "get": { - "operationId": "GetSessionTag", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_string-or-null.string_" - } - } - } - } - }, - "tags": [ - "Session" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "sessionId", - "required": true, - "schema": { - "type": "string" - } - } - ] - }, + "/v1/property/{propertyKey}/search": { "post": { - "operationId": "UpdateSessionTag", + "operationId": "SearchProperties", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result_string-Array.string_" } } } } }, "tags": [ - "Session" + "Property" ], "security": [ { @@ -20862,7 +16343,7 @@ "parameters": [ { "in": "path", - "name": "sessionId", + "name": "propertyKey", "required": true, "schema": { "type": "string" @@ -20875,12 +16356,12 @@ "application/json": { "schema": { "properties": { - "tag": { + "searchTerm": { "type": "string" } }, "required": [ - "tag" + "searchTerm" ], "type": "object" } @@ -20889,49 +16370,23 @@ } } }, - "/v1/public/status/provider": { - "get": { - "operationId": "GetAllProviderStatus", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_ProviderMetrics-Array.string_" - } - } - } - } - }, - "tags": [ - "Status" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [] - } - }, - "/v1/public/status/provider/{provider}": { - "get": { - "operationId": "GetProviderStatus", + "/v1/property/{propertyKey}/top-costs/query": { + "post": { + "operationId": "GetTopCosts", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_ProviderMetrics.string_" + "$ref": "#/components/schemas/Result__value-string--cost-number_-Array.string_" } } } } }, "tags": [ - "Status" + "Property" ], "security": [ { @@ -20941,214 +16396,206 @@ "parameters": [ { "in": "path", - "name": "provider", + "name": "propertyKey", "required": true, "schema": { "type": "string" } - }, - { - "in": "query", - "name": "timeFrame", - "required": true, - "schema": { - "$ref": "#/components/schemas/TimeFrame" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TimeFilterRequest" + } } } - ] + } } }, - "/v1/providers": { + "/v1/property/{propertyKey}/top-requests/query": { "post": { - "operationId": "GetProviders", + "operationId": "GetTopRequests", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_ProviderMetric-Array.string_" + "$ref": "#/components/schemas/Result__value-string--count-number_-Array.string_" } } } } }, "tags": [ - "Providers" + "Property" ], "security": [ { "api_key": [] } ], - "parameters": [], + "parameters": [ + { + "in": "path", + "name": "propertyKey", + "required": true, + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProviderQueryParams" + "$ref": "#/components/schemas/TimeFilterRequest" } } } } } }, - "/v1/property/properties/over-time": { - "post": { - "operationId": "GetPropertiesOverTime", + "/v1/prompt-2025/id/{promptId}": { + "get": { + "operationId": "GetPrompt2025", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array.string_" + "$ref": "#/components/schemas/Result_Prompt2025.string_" } } } } }, "tags": [ - "Property" + "Prompt2025" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/DataOverTimeRequest" - }, - { - "properties": { - "propertyKey": { - "type": "string" - } - }, - "required": [ - "propertyKey" - ], - "type": "object" - } - ] - } + "parameters": [ + { + "in": "path", + "name": "promptId", + "required": true, + "schema": { + "type": "string" } } - } + ] } }, - "/v1/property/query": { + "/v1/prompt-2025/id/{promptId}/rename": { "post": { - "operationId": "GetProperties", + "operationId": "RenamePrompt2025", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_Property-Array.string_" + "$ref": "#/components/schemas/Result_null.string_" } } } } }, "tags": [ - "Property" + "Prompt2025" ], "security": [ { "api_key": [] } ], - "parameters": [], + "parameters": [ + { + "in": "path", + "name": "promptId", + "required": true, + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "properties": {}, + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], "type": "object" } } } - } - } - }, - "/v1/property/hide": { - "post": { - "operationId": "HideProperty", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultError_string_" - }, - { - "$ref": "#/components/schemas/ResultSuccess_string_" - }, - { - "$ref": "#/components/schemas/ResultSuccess_unknown-Array_" - }, - { - "properties": { - "error": {}, - "data": { - "properties": { - "ok": { - "type": "boolean" - } - }, - "required": [ - "ok" - ], - "type": "object" - } - }, - "required": [ - "error", - "data" - ], - "type": "object" - } - ] + } + } + }, + "/v1/prompt-2025/id/{promptId}/tags": { + "patch": { + "operationId": "UpdatePrompt2025Tags", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Result_string-Array.string_" } } } } }, "tags": [ - "Property" + "Prompt2025" ], "security": [ { "api_key": [] } ], - "parameters": [], + "parameters": [ + { + "in": "path", + "name": "promptId", + "required": true, + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "properties": { - "key": { - "type": "string" + "tags": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "key" + "tags" ], "type": "object" } @@ -21157,124 +16604,101 @@ } } }, - "/v1/property/hidden/query": { - "post": { - "operationId": "GetHiddenProperties", + "/v1/prompt-2025/{promptId}": { + "delete": { + "operationId": "DeletePrompt2025", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_Property-Array.string_" + "$ref": "#/components/schemas/Result_null.string_" } } } } }, "tags": [ - "Property" + "Prompt2025" ], "security": [ { "api_key": [] } ], - "parameters": [] + "parameters": [ + { + "in": "path", + "name": "promptId", + "required": true, + "schema": { + "type": "string" + } + } + ] } }, - "/v1/property/restore": { - "post": { - "operationId": "RestoreProperty", + "/v1/prompt-2025/{promptId}/{versionId}": { + "delete": { + "operationId": "DeletePrompt2025Version", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultError_string_" - }, - { - "$ref": "#/components/schemas/ResultSuccess_string_" - }, - { - "$ref": "#/components/schemas/ResultSuccess_unknown-Array_" - }, - { - "properties": { - "error": {}, - "data": { - "properties": { - "ok": { - "type": "boolean" - } - }, - "required": [ - "ok" - ], - "type": "object" - } - }, - "required": [ - "error", - "data" - ], - "type": "object" - } - ] + "$ref": "#/components/schemas/Result_null.string_" } } } } }, "tags": [ - "Property" + "Prompt2025" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "key": { - "type": "string" - } - }, - "required": [ - "key" - ], - "type": "object" - } + "parameters": [ + { + "in": "path", + "name": "promptId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "versionId", + "required": true, + "schema": { + "type": "string" } } - } + ] } }, - "/v1/property/{propertyKey}/search": { - "post": { - "operationId": "SearchProperties", + "/v1/prompt-2025/id/{promptId}/{versionId}/inputs": { + "get": { + "operationId": "GetPrompt2025Inputs", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_string-Array.string_" + "$ref": "#/components/schemas/Result_Prompt2025Input.string_" } } } } }, "tags": [ - "Property" + "Prompt2025" ], "security": [ { @@ -21284,140 +16708,218 @@ "parameters": [ { "in": "path", - "name": "propertyKey", + "name": "promptId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "versionId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "requestId", "required": true, "schema": { "type": "string" } } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "searchTerm": { - "type": "string" - } - }, - "required": [ - "searchTerm" - ], - "type": "object" + ] + } + }, + "/v1/prompt-2025/tags": { + "get": { + "operationId": "GetPrompt2025Tags", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Result_string-Array.string_" + } } } } - } + }, + "tags": [ + "Prompt2025" + ], + "security": [ + { + "api_key": [] + } + ], + "parameters": [] } }, - "/v1/property/{propertyKey}/top-costs/query": { - "post": { - "operationId": "GetTopCosts", + "/v1/prompt-2025/environments": { + "get": { + "operationId": "GetPrompt2025Environments", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__value-string--cost-number_-Array.string_" + "$ref": "#/components/schemas/Result_string-Array.string_" } } } } }, "tags": [ - "Property" + "Prompt2025" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "propertyKey", - "required": true, - "schema": { - "type": "string" + "parameters": [] + } + }, + "/v1/prompt-2025": { + "post": { + "operationId": "CreatePrompt2025", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Result_PromptCreateResponse.string_" + } + } } } + }, + "tags": [ + "Prompt2025" + ], + "security": [ + { + "api_key": [] + } ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/TimeFilterRequest" + "properties": { + "promptBody": { + "$ref": "#/components/schemas/OpenAIChatRequest" + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "type": "string" + } + }, + "required": [ + "promptBody", + "tags", + "name" + ], + "type": "object" } } } } } }, - "/v1/property/{propertyKey}/top-requests/query": { + "/v1/prompt-2025/update": { "post": { - "operationId": "GetTopRequests", + "operationId": "UpdatePrompt2025", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__value-string--count-number_-Array.string_" + "$ref": "#/components/schemas/Result__id-string_.string_" } } } } }, "tags": [ - "Property" + "Prompt2025" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "propertyKey", - "required": true, - "schema": { - "type": "string" - } - } - ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/TimeFilterRequest" + "properties": { + "promptBody": { + "$ref": "#/components/schemas/OpenAIChatRequest" + }, + "commitMessage": { + "type": "string" + }, + "environment": { + "type": "string" + }, + "newMajorVersion": { + "type": "boolean" + }, + "promptVersionId": { + "type": "string" + }, + "promptId": { + "type": "string" + } + }, + "required": [ + "promptBody", + "commitMessage", + "newMajorVersion", + "promptVersionId", + "promptId" + ], + "type": "object" } } } } } }, - "/v1/playground/generate": { + "/v1/prompt-2025/update/environment": { "post": { - "operationId": "Generate", + "operationId": "SetPromptVersionEnvironment", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_ChatCompletion-or-_content-string--reasoning-string--calls-any_.string_" + "$ref": "#/components/schemas/Result_null.string_" } } } } }, "tags": [ - "Playground" + "Prompt2025" ], "security": [ { @@ -21430,45 +16932,46 @@ "content": { "application/json": { "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/OpenAIChatRequest" + "properties": { + "environment": { + "type": "string" }, - { - "properties": { - "logRequest": { - "type": "boolean" - }, - "useAIGateway": { - "type": "boolean" - } - }, - "type": "object" + "promptVersionId": { + "type": "string" + }, + "promptId": { + "type": "string" } - ] + }, + "required": [ + "environment", + "promptVersionId", + "promptId" + ], + "type": "object" } } } } } }, - "/v1/playground/requests-through-helicone": { + "/v1/prompt-2025/remove/environment": { "post": { - "operationId": "RequestsThroughHelicone", + "operationId": "RemoveEnvironmentFromVersion", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_string.string_" + "$ref": "#/components/schemas/Result_null.string_" } } } } }, "tags": [ - "Playground" + "Prompt2025" ], "security": [ { @@ -21482,35 +16985,45 @@ "application/json": { "schema": { "properties": { - "requestsThroughHelicone": { - "type": "boolean" + "environment": { + "type": "string" + }, + "promptVersionId": { + "type": "string" + }, + "promptId": { + "type": "string" } }, "required": [ - "requestsThroughHelicone" + "environment", + "promptVersionId", + "promptId" ], "type": "object" } } } } - }, + } + }, + "/v1/prompt-2025/count": { "get": { - "operationId": "GetRequestsThroughHelicone", + "operationId": "GetPrompt2025Count", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_boolean.string_" + "$ref": "#/components/schemas/Result_number.string_" } } } } }, "tags": [ - "Playground" + "Prompt2025" ], "security": [ { @@ -21520,23 +17033,23 @@ "parameters": [] } }, - "/v1/public/pi/get-api-key": { + "/v1/prompt-2025/query": { "post": { - "operationId": "GetApiKey", + "operationId": "GetPrompts2025", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__apiKey-string_.string_" + "$ref": "#/components/schemas/Result_Prompt2025-Array.string_" } } } } }, "tags": [ - "PI" + "Prompt2025" ], "security": [ { @@ -21550,12 +17063,29 @@ "application/json": { "schema": { "properties": { - "sessionUUID": { + "pageSize": { + "type": "number", + "format": "double" + }, + "page": { + "type": "number", + "format": "double" + }, + "tagsFilter": { + "items": { + "type": "string" + }, + "type": "array" + }, + "search": { "type": "string" } }, "required": [ - "sessionUUID" + "pageSize", + "page", + "tagsFilter", + "search" ], "type": "object" } @@ -21564,23 +17094,23 @@ } } }, - "/v1/pi/session": { + "/v1/prompt-2025/query/version": { "post": { - "operationId": "AddSession", + "operationId": "GetPrompt2025Version", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_string.string_" + "$ref": "#/components/schemas/Result_Prompt2025Version.string_" } } } } }, "tags": [ - "PI" + "Prompt2025" ], "security": [ { @@ -21594,12 +17124,12 @@ "application/json": { "schema": { "properties": { - "sessionUUID": { + "promptVersionId": { "type": "string" } }, "required": [ - "sessionUUID" + "promptVersionId" ], "type": "object" } @@ -21608,114 +17138,163 @@ } } }, - "/v1/pi/org-name/query": { + "/v1/prompt-2025/query/environment-version": { "post": { - "operationId": "GetOrgName", + "operationId": "GetPrompt2025EnvironmentVersion", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_string.string_" + "$ref": "#/components/schemas/Result_Prompt2025Version.string_" } } } } }, "tags": [ - "PI" + "Prompt2025" ], "security": [ { "api_key": [] } ], - "parameters": [] + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "environment": { + "type": "string" + }, + "promptId": { + "type": "string" + } + }, + "required": [ + "environment", + "promptId" + ], + "type": "object" + } + } + } + } } }, - "/v1/pi/total-costs": { + "/v1/prompt-2025/query/versions": { "post": { - "operationId": "GetTotalCosts", + "operationId": "GetPrompt2025Versions", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_number.string_" + "$ref": "#/components/schemas/Result_Prompt2025Version-Array.string_" } } } } }, "tags": [ - "PI" + "Prompt2025" ], "security": [ { "api_key": [] } ], - "parameters": [] + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "majorVersion": { + "type": "number", + "format": "double" + }, + "promptId": { + "type": "string" + } + }, + "required": [ + "promptId" + ], + "type": "object" + } + } + } + } } }, - "/v1/pi/total_requests": { + "/v1/prompt-2025/query/production-version": { "post": { - "operationId": "PiGetTotalRequests", + "operationId": "GetPrompt2025ProductionVersion", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_number.string_" + "$ref": "#/components/schemas/Result_Prompt2025Version.string_" } } } } }, "tags": [ - "PI" + "Prompt2025" ], "security": [ { "api_key": [] } ], - "parameters": [] + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "promptId": { + "type": "string" + } + }, + "required": [ + "promptId" + ], + "type": "object" + } + } + } + } } }, - "/v1/pi/costs-over-time/query": { + "/v1/prompt-2025/query/total-versions": { "post": { - "operationId": "GetCostsOverTime", + "operationId": "GetPrompt2025TotalVersions", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__cost-number--created_at_trunc-string_-Array.string_" - }, - "examples": { - "Example 1": { - "value": { - "userFilter": "all", - "timeFilter": { - "start": "2024-01-01", - "end": "2024-01-31" - }, - "dbIncrement": "day", - "timeZoneDifference": 0 - } - } + "$ref": "#/components/schemas/Result_PromptVersionCounts.string_" } } } } }, "tags": [ - "PI" + "Prompt2025" ], "security": [ { @@ -21728,173 +17307,118 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DataOverTimeRequest" + "properties": { + "promptId": { + "type": "string" + } + }, + "required": [ + "promptId" + ], + "type": "object" } } } } } }, - "/v1/public/model-registry/models": { + "/v1/prompt-2025/{promptVersionId}/prompt-body": { "get": { - "operationId": "GetModelRegistry", + "operationId": "GetPrompt2025VersionBody", "responses": { "200": { - "description": "Complete model registry with models and filter options", + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_ModelRegistryResponse.string_" - }, - "examples": { - "Example 1": { - "value": { - "models": [ - { - "id": "claude-opus-4-1", - "name": "Anthropic: Claude Opus 4.1", - "author": "anthropic", - "contextLength": 200000, - "endpoints": [ - { - "provider": "anthropic", - "providerSlug": "anthropic", - "supportsPtb": true, - "pricing": { - "prompt": 15, - "completion": 75, - "cacheRead": 1.5, - "cacheWrite": 18.75 - } - } - ], - "maxOutput": 32000, - "trainingDate": "2025-08-05", - "description": "Most capable Claude model with extended context", - "inputModalities": [ - null - ], - "outputModalities": [ - null - ], - "supportedParameters": [ - null, - null, - null, - null, - null, - null, - null - ] - } - ], - "total": 150, - "filters": { - "providers": [ - { - "name": "anthropic", - "displayName": "Anthropic" - }, - { - "name": "openai", - "displayName": "OpenAI" - }, - { - "name": "google", - "displayName": "Google" - } - ], - "authors": [ - "anthropic", - "openai", - "google", - "meta" - ], - "capabilities": [ - "audio", - "image", - "thinking", - "caching", - "reasoning" - ] - } - } - } + "$ref": "#/components/schemas/Result_Prompt2025Version_91_prompt_body_93_.string_" } } } } }, - "description": "Get all available models from the registry", - "summary": "Returns a comprehensive list of all AI models with their configurations, pricing, and capabilities", + "description": "Get the full prompt body (messages, tools, etc.) for a specific prompt version.", "tags": [ - "Model Registry" + "Prompt2025" ], - "security": [], - "parameters": [] + "security": [ + { + "api_key": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "promptVersionId", + "required": true, + "schema": { + "type": "string" + } + } + ] } }, - "/v1/models": { - "get": { - "operationId": "GetModels", + "/v2/prompt-2025/query/version": { + "post": { + "operationId": "GetPrompt2025Version", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/OAIModelsResponse" + "$ref": "#/components/schemas/Result_Prompt2025Version.string_" } } } } }, "tags": [ - "Models" + "Prompt2025V2" ], - "security": [], - "parameters": [] - } - }, - "/v1/models/multimodal": { - "get": { - "operationId": "GetMultimodalModels", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OAIModelsResponse" - } + "security": [ + { + "api_key": [] + } + ], + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "promptVersionId": { + "type": "string" + } + }, + "required": [ + "promptVersionId" + ], + "type": "object" } } } - }, - "tags": [ - "Models" - ], - "security": [], - "parameters": [] + } } }, - "/v1/public/compare/models": { + "/v2/prompt-2025/query/environment-version": { "post": { - "operationId": "GetModelComparison", + "operationId": "GetPrompt2025EnvironmentVersion", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_Model-Array.string_" + "$ref": "#/components/schemas/Result_Prompt2025Version.string_" } } } } }, "tags": [ - "Comparison" + "Prompt2025V2" ], "security": [ { @@ -21907,33 +17431,42 @@ "content": { "application/json": { "schema": { - "items": { - "$ref": "#/components/schemas/ModelsToCompare" + "properties": { + "environment": { + "type": "string" + }, + "promptId": { + "type": "string" + } }, - "type": "array" + "required": [ + "environment", + "promptId" + ], + "type": "object" } } } } } }, - "/v1/metrics/totalRequests": { + "/v2/prompt-2025/query/production-version": { "post": { - "operationId": "GetTotalRequests", + "operationId": "GetPrompt2025ProductionVersion", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_number.string_" + "$ref": "#/components/schemas/Result_Prompt2025Version.string_" } } } } }, "tags": [ - "Metrics" + "Prompt2025V2" ], "security": [ { @@ -21946,66 +17479,64 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/MetricsFilterBody" + "properties": { + "promptId": { + "type": "string" + } + }, + "required": [ + "promptId" + ], + "type": "object" } } } } } }, - "/v1/metrics/totalCost": { - "post": { - "operationId": "GetTotalCost", + "/v1/prompt/has-prompts": { + "get": { + "operationId": "HasPrompts", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_number.string_" + "$ref": "#/components/schemas/Result__hasPrompts-boolean_.string_" } } } } }, "tags": [ - "Metrics" + "Prompt" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MetricsFilterBody" - } - } - } - } + "parameters": [] } }, - "/v1/metrics/averageLatency": { + "/v1/prompt/query": { "post": { - "operationId": "GetAverageLatency", + "operationId": "GetPrompts", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_number.string_" + "$ref": "#/components/schemas/Result_PromptsResult-Array.string_" } } } } }, "tags": [ - "Metrics" + "Prompt" ], "security": [ { @@ -22018,66 +17549,103 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/MetricsFilterBody" + "$ref": "#/components/schemas/PromptsQueryParams" } } } } } }, - "/v1/metrics/averageTimeToFirstToken": { + "/v1/prompt/{promptId}/query": { "post": { - "operationId": "GetAverageTimeToFirstToken", + "operationId": "GetPrompt", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_number.string_" + "$ref": "#/components/schemas/Result_PromptResult.string_" } } } } }, "tags": [ - "Metrics" + "Prompt" ], "security": [ { "api_key": [] } ], - "parameters": [], + "parameters": [ + { + "in": "path", + "name": "promptId", + "required": true, + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/MetricsFilterBody" + "$ref": "#/components/schemas/PromptQueryParams" } } } } } }, - "/v1/metrics/averageTokensPerRequest": { + "/v1/prompt/{promptId}": { + "delete": { + "operationId": "DeletePrompt", + "responses": { + "204": { + "description": "No content" + } + }, + "tags": [ + "Prompt" + ], + "security": [ + { + "api_key": [] + } + ], + "parameters": [ + { + "in": "path", + "name": "promptId", + "required": true, + "schema": { + "type": "string" + } + } + ] + } + }, + "/v1/prompt/create": { "post": { - "operationId": "GetAverageTokensPerRequest", + "operationId": "CreatePrompt", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_TokensPerRequest.string_" + "$ref": "#/components/schemas/Result_CreatePromptResponse.string_" } } } } }, "tags": [ - "Metrics" + "Prompt" ], "security": [ { @@ -22090,462 +17658,590 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/MetricsFilterBody" + "properties": { + "metadata": { + "$ref": "#/components/schemas/Record_string.any_" + }, + "prompt": {}, + "userDefinedId": { + "type": "string" + } + }, + "required": [ + "metadata", + "prompt", + "userDefinedId" + ], + "type": "object" } } } } } }, - "/v1/metrics/totalThreats": { - "post": { - "operationId": "GetTotalThreats", + "/v1/prompt/{promptId}/user-defined-id": { + "patch": { + "operationId": "UpdatePromptUserDefinedId", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_number.string_" + "$ref": "#/components/schemas/Result_null.string_" } } } } }, "tags": [ - "Metrics" + "Prompt" ], "security": [ { "api_key": [] } ], - "parameters": [], + "parameters": [ + { + "in": "path", + "name": "promptId", + "required": true, + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/MetricsFilterBody" + "properties": { + "userDefinedId": { + "type": "string" + } + }, + "required": [ + "userDefinedId" + ], + "type": "object" } } } } } }, - "/v1/metrics/activeUsers": { + "/v1/prompt/version/{promptVersionId}/edit-label": { "post": { - "operationId": "GetActiveUsers", + "operationId": "EditPromptVersionLabel", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_number.string_" + "$ref": "#/components/schemas/Result__metadata-Record_string.any__.string_" } } } } }, "tags": [ - "Metrics" + "Prompt" ], "security": [ { "api_key": [] } ], - "parameters": [], + "parameters": [ + { + "in": "path", + "name": "promptVersionId", + "required": true, + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/MetricsFilterBody" + "$ref": "#/components/schemas/PromptEditSubversionLabelParams" } } } } } }, - "/v1/metrics/requestOverTime": { + "/v1/prompt/version/{promptVersionId}/edit-template": { "post": { - "operationId": "GetRequestsOverTime", + "operationId": "EditPromptVersionTemplate", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_RequestsOverTime-Array.string_" + "$ref": "#/components/schemas/Result_null.string_" } } } } }, "tags": [ - "Metrics" + "Prompt" ], "security": [ { "api_key": [] } ], - "parameters": [], + "parameters": [ + { + "in": "path", + "name": "promptVersionId", + "required": true, + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/MetricsOverTimeBody" + "$ref": "#/components/schemas/PromptEditSubversionTemplateParams" } } } } } }, - "/v1/metrics/costOverTime": { + "/v1/prompt/version/{promptVersionId}/subversion-from-ui": { "post": { - "operationId": "GetCostOverTime", + "operationId": "CreateSubversionFromUi", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_CostOverTime-Array.string_" + "$ref": "#/components/schemas/Result_PromptVersionResult.string_" } } } } }, "tags": [ - "Metrics" + "Prompt" ], "security": [ { "api_key": [] } ], - "parameters": [], + "parameters": [ + { + "in": "path", + "name": "promptVersionId", + "required": true, + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/MetricsOverTimeBody" + "$ref": "#/components/schemas/PromptCreateSubversionParams" } } } } } }, - "/v1/metrics/tokensOverTime": { + "/v1/prompt/version/{promptVersionId}/subversion": { "post": { - "operationId": "GetTokensOverTime", + "operationId": "CreateSubversion", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_TokensOverTime-Array.string_" + "$ref": "#/components/schemas/Result_PromptVersionResult.string_" } } } } }, "tags": [ - "Metrics" + "Prompt" ], "security": [ { "api_key": [] } ], - "parameters": [], + "parameters": [ + { + "in": "path", + "name": "promptVersionId", + "required": true, + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/MetricsOverTimeBody" + "$ref": "#/components/schemas/PromptCreateSubversionParams" } } } } } }, - "/v1/metrics/latencyOverTime": { + "/v1/prompt/version/{promptVersionId}/promote": { "post": { - "operationId": "GetLatencyOverTime", + "operationId": "PromotePromptVersionToProduction", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_LatencyOverTime-Array.string_" + "$ref": "#/components/schemas/Result_PromptVersionResult.string_" } } } } }, "tags": [ - "Metrics" + "Prompt" ], "security": [ { "api_key": [] } ], - "parameters": [], + "parameters": [ + { + "in": "path", + "name": "promptVersionId", + "required": true, + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/MetricsOverTimeBody" + "properties": { + "previousProductionVersionId": { + "type": "string" + } + }, + "required": [ + "previousProductionVersionId" + ], + "type": "object" } } } } } }, - "/v1/metrics/timeToFirstToken": { + "/v1/prompt/version/{promptVersionId}/inputs/query": { "post": { - "operationId": "GetTimeToFirstTokenOverTime", + "operationId": "GetInputs", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_TimeToFirstTokenOverTime-Array.string_" + "$ref": "#/components/schemas/Result_PromptInputRecord-Array.string_" } } } } }, "tags": [ - "Metrics" + "Prompt" ], "security": [ { "api_key": [] } ], - "parameters": [], + "parameters": [ + { + "in": "path", + "name": "promptVersionId", + "required": true, + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/MetricsOverTimeBody" + "properties": { + "random": { + "type": "boolean" + }, + "limit": { + "type": "number", + "format": "double" + } + }, + "required": [ + "limit" + ], + "type": "object" } } } } } }, - "/v1/metrics/usersOverTime": { + "/v1/prompt/{promptId}/versions/query": { "post": { - "operationId": "GetUsersOverTime", + "operationId": "GetPromptVersions", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_UsersOverTime-Array.string_" + "$ref": "#/components/schemas/Result_PromptVersionResult-Array.string_" } } } } }, "tags": [ - "Metrics" + "Prompt" ], "security": [ { "api_key": [] } ], - "parameters": [], + "parameters": [ + { + "in": "path", + "name": "promptId", + "required": true, + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/MetricsOverTimeBody" + "$ref": "#/components/schemas/PromptVersionsQueryParams" } } } } } }, - "/v1/metrics/threatsOverTime": { - "post": { - "operationId": "GetThreatsOverTime", + "/v1/prompt/version/{promptVersionId}": { + "get": { + "operationId": "GetPromptVersion", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_ThreatsOverTime-Array.string_" + "$ref": "#/components/schemas/Result_PromptVersionResult.string_" } } } } }, "tags": [ - "Metrics" + "Prompt" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MetricsOverTimeBody" - } + "parameters": [ + { + "in": "path", + "name": "promptVersionId", + "required": true, + "schema": { + "type": "string" } } - } - } - }, - "/v1/metrics/errorOverTime": { - "post": { - "operationId": "GetErrorsOverTime", + ] + }, + "delete": { + "operationId": "DeletePromptVersion", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_ErrorOverTime-Array.string_" + "$ref": "#/components/schemas/Result_null.string_" } } } } }, "tags": [ - "Metrics" + "Prompt" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MetricsOverTimeBody" - } + "parameters": [ + { + "in": "path", + "name": "promptVersionId", + "required": true, + "schema": { + "type": "string" } } - } + ] } }, - "/v1/metrics/requestStatusOverTime": { + "/v1/prompt/{user_defined_id}/compile": { "post": { - "operationId": "GetRequestStatusOverTime", + "operationId": "GetPromptVersionsCompiled", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_RequestsOverTime-Array.string_" + "$ref": "#/components/schemas/Result_PromptVersionResultCompiled.string_" } } } } }, "tags": [ - "Metrics" + "Prompt" ], "security": [ { "api_key": [] } ], - "parameters": [], + "parameters": [ + { + "in": "path", + "name": "user_defined_id", + "required": true, + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/MetricsOverTimeBody" + "$ref": "#/components/schemas/PromptVersiosQueryParamsCompiled" } } } } } }, - "/v1/metrics/requestCount": { + "/v1/prompt/{user_defined_id}/template": { "post": { - "operationId": "GetRequestCount", + "operationId": "GetPromptVersionTemplates", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_number.string_" + "$ref": "#/components/schemas/Result_PromptVersionResultFilled.string_" } } } } }, "tags": [ - "Metrics" + "Prompt" ], "security": [ { "api_key": [] } ], - "parameters": [], + "parameters": [ + { + "in": "path", + "name": "user_defined_id", + "required": true, + "schema": { + "type": "string" + } + } + ], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/RequestCountBody" + "$ref": "#/components/schemas/PromptVersiosQueryParamsCompiled" } } } } } }, - "/v1/metrics/models": { + "/v1/playground/generate": { "post": { - "operationId": "GetModelMetrics", + "operationId": "Generate", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_ModelMetric-Array.string_" + "$ref": "#/components/schemas/Result_ChatCompletion-or-_content-string--reasoning-string--calls-any_.string_" } } } } }, "tags": [ - "Metrics" + "Playground" ], "security": [ { @@ -22558,30 +18254,45 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ModelMetricsBody" + "allOf": [ + { + "$ref": "#/components/schemas/OpenAIChatRequest" + }, + { + "properties": { + "logRequest": { + "type": "boolean" + }, + "useAIGateway": { + "type": "boolean" + } + }, + "type": "object" + } + ] } } } } } }, - "/v1/metrics/country": { + "/v1/playground/requests-through-helicone": { "post": { - "operationId": "GetCountryMetrics", + "operationId": "RequestsThroughHelicone", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_CountryData-Array.string_" + "$ref": "#/components/schemas/Result_string.string_" } } } } }, "tags": [ - "Metrics" + "Playground" ], "security": [ { @@ -22594,68 +18305,68 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CountryMetricsBody" + "properties": { + "requestsThroughHelicone": { + "type": "boolean" + } + }, + "required": [ + "requestsThroughHelicone" + ], + "type": "object" } } } } - } - }, - "/v1/metrics/quantiles": { - "post": { - "operationId": "GetQuantiles", + }, + "get": { + "operationId": "GetRequestsThroughHelicone", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_Quantiles-Array.string_" + "$ref": "#/components/schemas/Result_boolean.string_" } } } } }, "tags": [ - "Metrics" + "Playground" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/QuantilesBody" - } - } - } - } + "parameters": [] } }, - "/v1/public/security": { + "/v1/public/pi/get-api-key": { "post": { - "operationId": "GetSecurity", + "operationId": "GetApiKey", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__unsafe-boolean_.string_" + "$ref": "#/components/schemas/Result__apiKey-string_.string_" } } } } }, "tags": [ - "Security" + "PI" + ], + "security": [ + { + "api_key": [] + } ], - "security": [], "parameters": [], "requestBody": { "required": true, @@ -22663,16 +18374,12 @@ "application/json": { "schema": { "properties": { - "text": { + "sessionUUID": { "type": "string" - }, - "advanced": { - "type": "boolean" } }, "required": [ - "text", - "advanced" + "sessionUUID" ], "type": "object" } @@ -22681,53 +18388,23 @@ } } }, - "/v1/helicone-sql/schema": { - "get": { - "operationId": "GetClickHouseSchema", - "responses": { - "200": { - "description": "Array of table schemas with columns", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Result_ClickHouseTableSchema-Array.string_" - } - } - } - } - }, - "description": "Get ClickHouse schema (tables and columns)", - "summary": "Get database schema", - "tags": [ - "HeliconeSql" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [] - } - }, - "/v1/helicone-sql/execute": { + "/v1/pi/session": { "post": { - "operationId": "ExecuteSql", + "operationId": "AddSession", "responses": { "200": { - "description": "Query results with rows and metadata", + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_ExecuteSqlResponse.string_" + "$ref": "#/components/schemas/Result_string.string_" } } } } }, - "description": "Execute a SQL query against ClickHouse", - "summary": "Execute SQL query", "tags": [ - "HeliconeSql" + "PI" ], "security": [ { @@ -22736,25 +18413,31 @@ ], "parameters": [], "requestBody": { - "description": "The SQL query to execute", "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ExecuteSqlRequest", - "description": "The SQL query to execute" + "properties": { + "sessionUUID": { + "type": "string" + } + }, + "required": [ + "sessionUUID" + ], + "type": "object" } } } } } }, - "/v1/helicone-sql/download": { + "/v1/pi/org-name/query": { "post": { - "operationId": "DownloadCsv", + "operationId": "GetOrgName", "responses": { "200": { - "description": "URL to download the CSV file", + "description": "Ok", "content": { "application/json": { "schema": { @@ -22764,50 +18447,34 @@ } } }, - "description": "Execute a SQL query and download results as CSV", - "summary": "Download query results as CSV", "tags": [ - "HeliconeSql" + "PI" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "description": "The SQL query to execute", - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ExecuteSqlRequest", - "description": "The SQL query to execute" - } - } - } - } + "parameters": [] } }, - "/v1/helicone-sql/saved-queries": { - "get": { - "operationId": "GetSavedQueries", + "/v1/pi/total-costs": { + "post": { + "operationId": "GetTotalCosts", "responses": { "200": { - "description": "Array of saved queries", + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_Array_HqlSavedQuery_.string_" + "$ref": "#/components/schemas/Result_number.string_" } } } } }, - "description": "Get all saved queries for the organization", - "summary": "List saved queries", "tags": [ - "HeliconeSql" + "PI" ], "security": [ { @@ -22817,147 +18484,241 @@ "parameters": [] } }, - "/v1/helicone-sql/saved-query/{queryId}": { - "get": { - "operationId": "GetSavedQuery", + "/v1/pi/total_requests": { + "post": { + "operationId": "PiGetTotalRequests", "responses": { "200": { - "description": "The saved query details", + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_HqlSavedQuery-or-null.string_" + "$ref": "#/components/schemas/Result_number.string_" } } } } }, - "description": "Get a specific saved query by ID", - "summary": "Get saved query", "tags": [ - "HeliconeSql" + "PI" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "description": "The ID of the saved query", - "in": "path", - "name": "queryId", - "required": true, - "schema": { - "type": "string" - } - } - ] - }, - "delete": { - "operationId": "DeleteSavedQuery", + "parameters": [] + } + }, + "/v1/pi/costs-over-time/query": { + "post": { + "operationId": "GetCostsOverTime", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_void.string_" + "$ref": "#/components/schemas/Result__cost-number--created_at_trunc-string_-Array.string_" + }, + "examples": { + "Example 1": { + "value": { + "userFilter": "all", + "timeFilter": { + "start": "2024-01-01", + "end": "2024-01-31" + }, + "dbIncrement": "day", + "timeZoneDifference": 0 + } + } } } } } }, - "description": "Delete a saved query by ID", - "summary": "Delete saved query", "tags": [ - "HeliconeSql" + "PI" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "description": "The ID of the saved query to delete", - "in": "path", - "name": "queryId", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DataOverTimeRequest" + } } } - ] - }, - "put": { - "operationId": "UpdateSavedQuery", + } + } + }, + "/v1/public/model-registry/models": { + "get": { + "operationId": "GetModelRegistry", "responses": { "200": { - "description": "The updated saved query", + "description": "Complete model registry with models and filter options", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_HqlSavedQuery.string_" + "$ref": "#/components/schemas/Result_ModelRegistryResponse.string_" + }, + "examples": { + "Example 1": { + "value": { + "models": [ + { + "id": "claude-opus-4-1", + "name": "Anthropic: Claude Opus 4.1", + "author": "anthropic", + "contextLength": 200000, + "endpoints": [ + { + "provider": "anthropic", + "providerSlug": "anthropic", + "supportsPtb": true, + "pricing": { + "prompt": 15, + "completion": 75, + "cacheRead": 1.5, + "cacheWrite": 18.75 + } + } + ], + "maxOutput": 32000, + "trainingDate": "2025-08-05", + "description": "Most capable Claude model with extended context", + "inputModalities": [ + null + ], + "outputModalities": [ + null + ], + "supportedParameters": [ + null, + null, + null, + null, + null, + null, + null + ] + } + ], + "total": 150, + "filters": { + "providers": [ + { + "name": "anthropic", + "displayName": "Anthropic" + }, + { + "name": "openai", + "displayName": "OpenAI" + }, + { + "name": "google", + "displayName": "Google" + } + ], + "authors": [ + "anthropic", + "openai", + "google", + "meta" + ], + "capabilities": [ + "audio", + "image", + "thinking", + "caching", + "reasoning" + ] + } + } + } } } } } }, - "description": "Update an existing saved query", - "summary": "Update saved query", + "description": "Get all available models from the registry", + "summary": "Returns a comprehensive list of all AI models with their configurations, pricing, and capabilities", "tags": [ - "HeliconeSql" - ], - "security": [ - { - "api_key": [] - } + "Model Registry" ], - "parameters": [ - { - "description": "The ID of the saved query to update", - "in": "path", - "name": "queryId", - "required": true, - "schema": { - "type": "string" + "security": [], + "parameters": [] + } + }, + "/v1/models": { + "get": { + "operationId": "GetModels", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OAIModelsResponse" + } + } } } + }, + "tags": [ + "Models" ], - "requestBody": { - "description": "The updated query details", - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateSavedQueryRequest", - "description": "The updated query details" + "security": [], + "parameters": [] + } + }, + "/v1/models/multimodal": { + "get": { + "operationId": "GetMultimodalModels", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OAIModelsResponse" + } } } } - } + }, + "tags": [ + "Models" + ], + "security": [], + "parameters": [] } }, - "/v1/helicone-sql/saved-queries/bulk-delete": { + "/v1/public/compare/models": { "post": { - "operationId": "BulkDeleteSavedQueries", + "operationId": "GetModelComparison", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_void.string_" + "$ref": "#/components/schemas/Result_Model-Array.string_" } } } } }, - "description": "Delete multiple saved queries at once", - "summary": "Bulk delete saved queries", "tags": [ - "HeliconeSql" + "Comparison" ], "security": [ { @@ -22966,38 +18727,37 @@ ], "parameters": [], "requestBody": { - "description": "Array of query IDs to delete", "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/BulkDeleteSavedQueriesRequest", - "description": "Array of query IDs to delete" + "items": { + "$ref": "#/components/schemas/ModelsToCompare" + }, + "type": "array" } } } } } }, - "/v1/helicone-sql/saved-query": { + "/v1/metrics/totalRequests": { "post": { - "operationId": "CreateSavedQuery", + "operationId": "GetTotalRequests", "responses": { "200": { - "description": "Array containing the created saved query", + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_HqlSavedQuery-Array.string_" + "$ref": "#/components/schemas/Result_number.string_" } } } } }, - "description": "Create a new saved query", - "summary": "Create saved query", "tags": [ - "HeliconeSql" + "Metrics" ], "security": [ { @@ -23006,36 +18766,34 @@ ], "parameters": [], "requestBody": { - "description": "The saved query details", "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CreateSavedQueryRequest", - "description": "The saved query details" + "$ref": "#/components/schemas/MetricsFilterBody" } } } } } }, - "/v1/experiment/new-empty": { + "/v1/metrics/totalCost": { "post": { - "operationId": "CreateNewEmptyExperiment", + "operationId": "GetTotalCost", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__experimentId-string_.string_" + "$ref": "#/components/schemas/Result_number.string_" } } } } }, "tags": [ - "Experiment" + "Metrics" ], "security": [ { @@ -23048,42 +18806,30 @@ "content": { "application/json": { "schema": { - "properties": { - "datasetId": { - "type": "string" - }, - "metadata": { - "$ref": "#/components/schemas/Record_string.string_" - } - }, - "required": [ - "datasetId", - "metadata" - ], - "type": "object" + "$ref": "#/components/schemas/MetricsFilterBody" } } } } } }, - "/v1/experiment/table/new": { + "/v1/metrics/averageLatency": { "post": { - "operationId": "CreateNewExperimentTable", + "operationId": "GetAverageLatency", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__tableId-string--experimentId-string_.string_" + "$ref": "#/components/schemas/Result_number.string_" } } } } }, "tags": [ - "Experiment" + "Metrics" ], "security": [ { @@ -23096,527 +18842,354 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CreateExperimentTableParams" + "$ref": "#/components/schemas/MetricsFilterBody" } } } } } }, - "/v1/experiment/table/{experimentTableId}/query": { + "/v1/metrics/averageTimeToFirstToken": { "post": { - "operationId": "GetExperimentTableById", + "operationId": "GetAverageTimeToFirstToken", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_ExperimentTable.string_" + "$ref": "#/components/schemas/Result_number.string_" } } } } }, "tags": [ - "Experiment" + "Metrics" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentTableId", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetricsFilterBody" + } } } - ] + } } }, - "/v1/experiment/table/{experimentTableId}/metadata/query": { + "/v1/metrics/averageTokensPerRequest": { "post": { - "operationId": "GetExperimentTableMetadata", + "operationId": "GetAverageTokensPerRequest", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_ExperimentTableSimplified.string_" + "$ref": "#/components/schemas/Result_TokensPerRequest.string_" } } } } }, "tags": [ - "Experiment" + "Metrics" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentTableId", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetricsFilterBody" + } } } - ] + } } }, - "/v1/experiment/tables/query": { + "/v1/metrics/totalThreats": { "post": { - "operationId": "GetExperimentTables", + "operationId": "GetTotalThreats", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_ExperimentTableSimplified-Array.string_" + "$ref": "#/components/schemas/Result_number.string_" } } } } }, "tags": [ - "Experiment" + "Metrics" ], "security": [ { "api_key": [] } ], - "parameters": [] + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetricsFilterBody" + } + } + } + } } }, - "/v1/experiment/table/{experimentTableId}/cell": { + "/v1/metrics/activeUsers": { "post": { - "operationId": "CreateExperimentCell", + "operationId": "GetActiveUsers", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result_number.string_" } } } } }, "tags": [ - "Experiment" + "Metrics" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentTableId", - "required": true, - "schema": { - "type": "string" - } - } - ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "properties": { - "value": { - "type": "string", - "nullable": true - }, - "rowIndex": { - "type": "number", - "format": "double" - }, - "columnId": { - "type": "string" - } - }, - "required": [ - "value", - "rowIndex", - "columnId" - ], - "type": "object" + "$ref": "#/components/schemas/MetricsFilterBody" } } } } - }, - "patch": { - "operationId": "UpdateExperimentCell", + } + }, + "/v1/metrics/requestOverTime": { + "post": { + "operationId": "GetRequestsOverTime", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result_RequestsOverTime-Array.string_" } } } } }, "tags": [ - "Experiment" + "Metrics" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentTableId", - "required": true, - "schema": { - "type": "string" - } - } - ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "properties": { - "updateInputs": { - "type": "boolean" - }, - "metadata": { - "type": "string" - }, - "value": { - "type": "string" - }, - "status": { - "type": "string" - }, - "cellId": { - "type": "string" - } - }, - "required": [ - "cellId" - ], - "type": "object" + "$ref": "#/components/schemas/MetricsOverTimeBody" } } } } } }, - "/v1/experiment/table/{experimentTableId}/column": { + "/v1/metrics/costOverTime": { "post": { - "operationId": "CreateExperimentColumn", + "operationId": "GetCostOverTime", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result_CostOverTime-Array.string_" } } } } }, "tags": [ - "Experiment" + "Metrics" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentTableId", - "required": true, - "schema": { - "type": "string" - } - } - ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "properties": { - "inputKeys": { - "items": { - "type": "string" - }, - "type": "array" - }, - "promptVersionId": { - "type": "string" - }, - "hypothesisId": { - "type": "string" - }, - "columnType": { - "type": "string" - }, - "columnName": { - "type": "string" - } - }, - "required": [ - "columnType", - "columnName" - ], - "type": "object" + "$ref": "#/components/schemas/MetricsOverTimeBody" } } } } } }, - "/v1/experiment/table/{experimentTableId}/row/new": { + "/v1/metrics/tokensOverTime": { "post": { - "operationId": "CreateExperimentTableRow", + "operationId": "GetTokensOverTime", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result_TokensOverTime-Array.string_" } } } } }, "tags": [ - "Experiment" - ], - "security": [ - { - "api_key": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "experimentTableId", - "required": true, - "schema": { - "type": "string" - } - } + "Metrics" ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "inputs": { - "$ref": "#/components/schemas/Record_string.string_" - }, - "sourceRequest": { - "type": "string" - }, - "promptVersionId": { - "type": "string" - } - }, - "required": [ - "promptVersionId" - ], - "type": "object" + "security": [ + { + "api_key": [] + } + ], + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetricsOverTimeBody" } } } } } }, - "/v1/experiment/table/{experimentTableId}/row/{rowIndex}": { - "delete": { - "operationId": "DeleteExperimentTableRow", + "/v1/metrics/latencyOverTime": { + "post": { + "operationId": "GetLatencyOverTime", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result_LatencyOverTime-Array.string_" } } } } }, "tags": [ - "Experiment" + "Metrics" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentTableId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "path", - "name": "rowIndex", - "required": true, - "schema": { - "format": "double", - "type": "number" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetricsOverTimeBody" + } } } - ] + } } }, - "/v1/experiment/table/{experimentTableId}/row/insert/batch": { + "/v1/metrics/timeToFirstToken": { "post": { - "operationId": "CreateExperimentTableRowWithCellsBatch", + "operationId": "GetTimeToFirstTokenOverTime", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result_TimeToFirstTokenOverTime-Array.string_" } } } } }, "tags": [ - "Experiment" + "Metrics" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentTableId", - "required": true, - "schema": { - "type": "string" - } - } - ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "properties": { - "rows": { - "items": { - "properties": { - "sourceRequest": { - "type": "string" - }, - "cells": { - "items": { - "properties": { - "metadata": {}, - "value": { - "type": "string", - "nullable": true - }, - "columnId": { - "type": "string" - } - }, - "required": [ - "value", - "columnId" - ], - "type": "object" - }, - "type": "array" - }, - "datasetId": { - "type": "string" - }, - "inputs": { - "$ref": "#/components/schemas/Record_string.string_" - }, - "inputRecordId": { - "type": "string" - } - }, - "required": [ - "cells", - "datasetId", - "inputs", - "inputRecordId" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "rows" - ], - "type": "object" + "$ref": "#/components/schemas/MetricsOverTimeBody" } } } } } }, - "/v1/experiment/update-meta": { + "/v1/metrics/usersOverTime": { "post": { - "operationId": "UpdateExperimentMeta", + "operationId": "GetUsersOverTime", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResultError_string_" - }, - { - "$ref": "#/components/schemas/ResultSuccess_unknown_" - } - ] + "$ref": "#/components/schemas/Result_UsersOverTime-Array.string_" } } } } }, "tags": [ - "Experiment" + "Metrics" ], "security": [ { @@ -23629,42 +19202,30 @@ "content": { "application/json": { "schema": { - "properties": { - "meta": { - "$ref": "#/components/schemas/Record_string.string_" - }, - "experimentId": { - "type": "string" - } - }, - "required": [ - "meta", - "experimentId" - ], - "type": "object" + "$ref": "#/components/schemas/MetricsOverTimeBody" } } } } } }, - "/v1/experiment": { + "/v1/metrics/threatsOverTime": { "post": { - "operationId": "CreateNewExperimentOld", + "operationId": "GetThreatsOverTime", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__experimentId-string_.string_" + "$ref": "#/components/schemas/Result_ThreatsOverTime-Array.string_" } } } } }, "tags": [ - "Experiment" + "Metrics" ], "security": [ { @@ -23677,30 +19238,30 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/NewExperimentParams" + "$ref": "#/components/schemas/MetricsOverTimeBody" } } } } } }, - "/v1/experiment/hypothesis": { + "/v1/metrics/errorOverTime": { "post": { - "operationId": "CreateNewExperimentHypothesis", + "operationId": "GetErrorsOverTime", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__hypothesisId-string_.string_" + "$ref": "#/components/schemas/Result_ErrorOverTime-Array.string_" } } } } }, "tags": [ - "Experiment" + "Metrics" ], "security": [ { @@ -23713,265 +19274,212 @@ "content": { "application/json": { "schema": { - "properties": { - "status": { - "type": "string", - "enum": [ - "PENDING", - "RUNNING", - "COMPLETED", - "FAILED" - ] - }, - "providerKeyId": { - "type": "string" - }, - "promptVersion": { - "type": "string" - }, - "model": { - "type": "string" - }, - "experimentId": { - "type": "string" - } - }, - "required": [ - "status", - "providerKeyId", - "promptVersion", - "model", - "experimentId" - ], - "type": "object" + "$ref": "#/components/schemas/MetricsOverTimeBody" } } } } } }, - "/v1/experiment/hypothesis/{hypothesisId}/scores/query": { + "/v1/metrics/requestStatusOverTime": { "post": { - "operationId": "GetExperimentHypothesisScores", + "operationId": "GetRequestStatusOverTime", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__runsCount-number--scores-Record_string.Score__.string_" + "$ref": "#/components/schemas/Result_RequestsOverTime-Array.string_" } } } } }, "tags": [ - "Experiment" + "Metrics" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "hypothesisId", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetricsOverTimeBody" + } } } - ] + } } }, - "/v1/experiment/{experimentId}/evaluators": { - "get": { - "operationId": "GetExperimentEvaluators", + "/v1/metrics/requestCount": { + "post": { + "operationId": "GetRequestCount", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_EvaluatorResult-Array.string_" + "$ref": "#/components/schemas/Result_number.string_" } } } } }, "tags": [ - "Experiment" + "Metrics" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentId", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RequestCountBody" + } } } - ] - }, + } + } + }, + "/v1/metrics/models": { "post": { - "operationId": "CreateExperimentEvaluatorOld", + "operationId": "GetModelMetrics", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result_ModelMetric-Array.string_" } } } } }, "tags": [ - "Experiment" + "Metrics" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentId", - "required": true, - "schema": { - "type": "string" - } - } - ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "properties": { - "evaluatorId": { - "type": "string" - } - }, - "required": [ - "evaluatorId" - ], - "type": "object" + "$ref": "#/components/schemas/ModelMetricsBody" } } } } } }, - "/v1/experiment/{experimentId}/evaluators/run": { + "/v1/metrics/country": { "post": { - "operationId": "RunExperimentEvaluatorsOld", + "operationId": "GetCountryMetrics", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result_CountryData-Array.string_" } } } } }, "tags": [ - "Experiment" + "Metrics" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentId", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CountryMetricsBody" + } } } - ] + } } }, - "/v1/experiment/{experimentId}/evaluators/{evaluatorId}": { - "delete": { - "operationId": "DeleteExperimentEvaluatorOld", + "/v1/metrics/quantiles": { + "post": { + "operationId": "GetQuantiles", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_null.string_" + "$ref": "#/components/schemas/Result_Quantiles-Array.string_" } } } } }, "tags": [ - "Experiment" + "Metrics" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "experimentId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "path", - "name": "evaluatorId", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QuantilesBody" + } } } - ] + } } }, - "/v1/experiment/query": { + "/v1/public/security": { "post": { - "operationId": "GetExperimentsOld", + "operationId": "GetSecurity", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_Experiment-Array.string_" + "$ref": "#/components/schemas/Result__unsafe-boolean_.string_" } } } } }, "tags": [ - "Experiment" - ], - "security": [ - { - "api_key": [] - } + "Security" ], + "security": [], "parameters": [], "requestBody": { "required": true, @@ -23979,15 +19487,16 @@ "application/json": { "schema": { "properties": { - "include": { - "$ref": "#/components/schemas/IncludeExperimentKeys" + "text": { + "type": "string" }, - "filter": { - "$ref": "#/components/schemas/ExperimentFilterNode" + "advanced": { + "type": "boolean" } }, "required": [ - "filter" + "text", + "advanced" ], "type": "object" } @@ -23996,59 +19505,53 @@ } } }, - "/v1/experiment/dataset": { - "post": { - "operationId": "AddDataset", + "/v1/helicone-sql/schema": { + "get": { + "operationId": "GetClickHouseSchema", "responses": { "200": { - "description": "Ok", + "description": "Array of table schemas with columns", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__datasetId-string_.string_" + "$ref": "#/components/schemas/Result_ClickHouseTableSchema-Array.string_" } } } } }, + "description": "Get ClickHouse schema (tables and columns)", + "summary": "Get database schema", "tags": [ - "Dataset" + "HeliconeSql" ], "security": [ { "api_key": [] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NewDatasetParams" - } - } - } - } + "parameters": [] } }, - "/v1/experiment/dataset/random": { + "/v1/helicone-sql/execute": { "post": { - "operationId": "AddRandomDataset", + "operationId": "ExecuteSql", "responses": { "200": { - "description": "Ok", + "description": "Query results with rows and metadata", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result__datasetId-string_.string_" + "$ref": "#/components/schemas/Result_ExecuteSqlResponse.string_" } } } } }, + "description": "Execute a SQL query against ClickHouse", + "summary": "Execute SQL query", "tags": [ - "Dataset" + "HeliconeSql" ], "security": [ { @@ -24057,34 +19560,38 @@ ], "parameters": [], "requestBody": { + "description": "The SQL query to execute", "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/RandomDatasetParams" + "$ref": "#/components/schemas/ExecuteSqlRequest", + "description": "The SQL query to execute" } } } } } }, - "/v1/experiment/dataset/query": { + "/v1/helicone-sql/download": { "post": { - "operationId": "GetDatasets", + "operationId": "DownloadCsv", "responses": { "200": { - "description": "Ok", + "description": "URL to download the CSV file", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_DatasetResult-Array.string_" + "$ref": "#/components/schemas/Result_string.string_" } } } } }, + "description": "Execute a SQL query and download results as CSV", + "summary": "Download query results as CSV", "tags": [ - "Dataset" + "HeliconeSql" ], "security": [ { @@ -24093,39 +19600,66 @@ ], "parameters": [], "requestBody": { + "description": "The SQL query to execute", "required": true, "content": { "application/json": { "schema": { - "properties": { - "promptVersionId": { - "type": "string" - } - }, - "type": "object" + "$ref": "#/components/schemas/ExecuteSqlRequest", + "description": "The SQL query to execute" } } } } } }, - "/v1/experiment/dataset/{datasetId}/row/insert": { - "post": { - "operationId": "InsertDatasetRow", + "/v1/helicone-sql/saved-queries": { + "get": { + "operationId": "GetSavedQueries", "responses": { "200": { - "description": "Ok", + "description": "Array of saved queries", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_string.string_" + "$ref": "#/components/schemas/Result_Array_HqlSavedQuery_.string_" } } } } }, + "description": "Get all saved queries for the organization", + "summary": "List saved queries", "tags": [ - "Dataset" + "HeliconeSql" + ], + "security": [ + { + "api_key": [] + } + ], + "parameters": [] + } + }, + "/v1/helicone-sql/saved-query/{queryId}": { + "get": { + "operationId": "GetSavedQuery", + "responses": { + "200": { + "description": "The saved query details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Result_HqlSavedQuery-or-null.string_" + } + } + } + } + }, + "description": "Get a specific saved query by ID", + "summary": "Get saved query", + "tags": [ + "HeliconeSql" ], "security": [ { @@ -24134,58 +19668,34 @@ ], "parameters": [ { + "description": "The ID of the saved query", "in": "path", - "name": "datasetId", + "name": "queryId", "required": true, "schema": { "type": "string" } } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "originalColumnId": { - "type": "string" - }, - "inputs": { - "$ref": "#/components/schemas/Record_string.string_" - }, - "inputRecordId": { - "type": "string" - } - }, - "required": [ - "inputs", - "inputRecordId" - ], - "type": "object" - } - } - } - } - } - }, - "/v1/experiment/dataset/{datasetId}/version/{promptVersionId}/row/new": { - "post": { - "operationId": "CreateDatasetRow", + ] + }, + "delete": { + "operationId": "DeleteSavedQuery", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_string.string_" + "$ref": "#/components/schemas/Result_void.string_" } } } } }, + "description": "Delete a saved query by ID", + "summary": "Delete saved query", "tags": [ - "Dataset" + "HeliconeSql" ], "security": [ { @@ -24194,16 +19704,45 @@ ], "parameters": [ { + "description": "The ID of the saved query to delete", "in": "path", - "name": "datasetId", + "name": "queryId", "required": true, "schema": { "type": "string" } - }, + } + ] + }, + "put": { + "operationId": "UpdateSavedQuery", + "responses": { + "200": { + "description": "The updated saved query", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Result_HqlSavedQuery.string_" + } + } + } + } + }, + "description": "Update an existing saved query", + "summary": "Update saved query", + "tags": [ + "HeliconeSql" + ], + "security": [ + { + "api_key": [] + } + ], + "parameters": [ { + "description": "The ID of the saved query to update", "in": "path", - "name": "promptVersionId", + "name": "queryId", "required": true, "schema": { "type": "string" @@ -24211,80 +19750,78 @@ } ], "requestBody": { + "description": "The updated query details", "required": true, "content": { "application/json": { "schema": { - "properties": { - "sourceRequest": { - "type": "string" - }, - "inputs": { - "$ref": "#/components/schemas/Record_string.string_" - } - }, - "required": [ - "inputs" - ], - "type": "object" + "$ref": "#/components/schemas/CreateSavedQueryRequest", + "description": "The updated query details" } } } } } }, - "/v1/experiment/dataset/{datasetId}/inputs/query": { + "/v1/helicone-sql/saved-queries/bulk-delete": { "post": { - "operationId": "GetDataset", + "operationId": "BulkDeleteSavedQueries", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result_PromptInputRecord-Array.string_" + "$ref": "#/components/schemas/Result_void.string_" } } } } }, + "description": "Delete multiple saved queries at once", + "summary": "Bulk delete saved queries", "tags": [ - "Dataset" + "HeliconeSql" ], "security": [ { "api_key": [] } ], - "parameters": [ - { - "in": "path", - "name": "datasetId", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "description": "Array of query IDs to delete", + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BulkDeleteSavedQueriesRequest", + "description": "Array of query IDs to delete" + } } } - ] + } } }, - "/v1/experiment/dataset/{datasetId}/mutate": { + "/v1/helicone-sql/saved-query": { "post": { - "operationId": "MutateDataset", + "operationId": "CreateSavedQuery", "responses": { "200": { - "description": "Ok", + "description": "Array containing the created saved query", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Result___-Array.string_" + "$ref": "#/components/schemas/Result_HqlSavedQuery-Array.string_" } } } } }, + "description": "Create a new saved query", + "summary": "Create saved query", "tags": [ - "Dataset" + "HeliconeSql" ], "security": [ { @@ -24293,29 +19830,13 @@ ], "parameters": [], "requestBody": { + "description": "The saved query details", "required": true, "content": { "application/json": { "schema": { - "properties": { - "removeRequests": { - "items": { - "type": "string" - }, - "type": "array" - }, - "addRequests": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "removeRequests", - "addRequests" - ], - "type": "object" + "$ref": "#/components/schemas/CreateSavedQueryRequest", + "description": "The saved query details" } } } diff --git a/valhalla/jawn/src/types/realtime.ts b/valhalla/jawn/src/types/realtime.ts deleted file mode 100644 index e33120d84e..0000000000 --- a/valhalla/jawn/src/types/realtime.ts +++ /dev/null @@ -1,9 +0,0 @@ -/* -------------------------------------------------------------------------- */ -/* SOCKET MESSAGES */ -/* -------------------------------------------------------------------------- */ -export type SocketMessage = { - type: string; - from: "client" | "target"; - timestamp: string; - content: any; // RealTimeMessage -}; diff --git a/valhalla/jawn/src/utils/streamParser.ts b/valhalla/jawn/src/utils/streamParser.ts index e2a28a4541..35466d8b0e 100644 --- a/valhalla/jawn/src/utils/streamParser.ts +++ b/valhalla/jawn/src/utils/streamParser.ts @@ -112,8 +112,18 @@ export function consolidateTextFields(responseBody: any[]): any { } } +// Keys that can mutate Object.prototype (or an object's prototype chain) if +// merged blindly. JSON.parse creates "__proto__" as an own enumerable property, +// so Object.keys() lists it and body["__proto__"] resolves to Object.prototype +// instead of undefined -- which made the merge below recurse into and write to +// Object.prototype. +const FORBIDDEN_KEYS = new Set(["__proto__", "constructor", "prototype"]); + export function recursivelyConsolidate(body: any, delta: any): any { Object.keys(delta).forEach((key) => { + if (FORBIDDEN_KEYS.has(key)) { + return; // never merge prototype-mutating keys + } if (body[key] === undefined || body[key] === null) { body[key] = delta[key]; } else if (typeof body[key] === "object") { diff --git a/valhalla/jawn/tsoa_run.sh b/valhalla/jawn/tsoa_run.sh index f99e789261..2c100e0eae 100755 --- a/valhalla/jawn/tsoa_run.sh +++ b/valhalla/jawn/tsoa_run.sh @@ -3,4 +3,5 @@ set -e SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" npx tsoa spec-and-routes -c tsoa-private.json npx tsoa spec-and-routes -c tsoa-public.json +python3 "$SCRIPT_DIR/fix_swagger_operators.py" src/tsoa-build/public/swagger.json src/tsoa-build/private/swagger.json cp src/tsoa-build/public/swagger.json "$SCRIPT_DIR/../../docs/swagger.json" diff --git a/web/components/layout/auth/DesktopSidebar.tsx b/web/components/layout/auth/DesktopSidebar.tsx index 62cdb9451a..3f2f9f8c2e 100644 --- a/web/components/layout/auth/DesktopSidebar.tsx +++ b/web/components/layout/auth/DesktopSidebar.tsx @@ -48,7 +48,6 @@ export interface NavigationItem { interface SidebarProps { NAVIGATION: NavigationItem[]; changelog: ChangelogItem[]; - setOpen: (open: boolean) => void; sidebarRef: React.RefObject; } @@ -124,7 +123,10 @@ const DesktopSidebar = ({ } const currentMonth = new Date().toISOString().slice(0, 7); // "YYYY-MM" return freeLimitMonth === currentMonth; - }, [orgContext?.currentOrg?.free_limit_exceeded, orgContext?.currentOrg?.tier]); + }, [ + orgContext?.currentOrg?.free_limit_exceeded, + orgContext?.currentOrg?.tier, + ]); const navItemsRef = useRef(null); const [canShowInfoBox, setCanShowInfoBox] = useState(false); @@ -295,28 +297,28 @@ const DesktopSidebar = ({
{/* Free Limit Warning - Show at top when exceeded */} {isFreeLimitExceeded && !isCollapsed && ( -
-
- - - Free limit reached - -
-

- Request/response bodies are no longer being stored. - Upgrade to continue logging full data. -

- - - +
+
+ + + Free limit reached +
- )} +

+ Request/response bodies are no longer being stored. + Upgrade to continue logging full data. +

+ + + +
+ )} {/* Quickstart Card - Only show if organization hasn't integrated */} {onboardingStatus?.hasCompletedQuickstart === false && @@ -467,7 +469,10 @@ const DesktopSidebar = ({ )} >
- + {agentChatOpen && ( )} diff --git a/web/components/layout/auth/Sidebar.tsx b/web/components/layout/auth/Sidebar.tsx index 1b7b2fa76f..8e21cb869c 100644 --- a/web/components/layout/auth/Sidebar.tsx +++ b/web/components/layout/auth/Sidebar.tsx @@ -19,12 +19,11 @@ import DesktopSidebar from "./DesktopSidebar"; import { ChangelogItem, NavigationItem } from "./types"; interface SidebarProps { - setOpen: (open: boolean) => void; changelog: ChangelogItem[]; sidebarRef: React.RefObject; } -const Sidebar = ({ changelog, setOpen, sidebarRef }: SidebarProps) => { +const Sidebar = ({ changelog, sidebarRef }: SidebarProps) => { const router = useRouter(); const { pathname } = router; @@ -135,7 +134,6 @@ const Sidebar = ({ changelog, setOpen, sidebarRef }: SidebarProps) => { sidebarRef={sidebarRef} changelog={changelog} NAVIGATION={NAVIGATION} - setOpen={setOpen} /> ); }; diff --git a/web/components/layout/auth/authLayout.tsx b/web/components/layout/auth/authLayout.tsx index 0a3fa9e22f..033c85c37b 100644 --- a/web/components/layout/auth/authLayout.tsx +++ b/web/components/layout/auth/authLayout.tsx @@ -15,7 +15,6 @@ import { Rocket } from "lucide-react"; import { useRouter } from "next/router"; import { useEffect, useMemo, useRef, useState } from "react"; import { useChangelog } from "../../../services/hooks/admin"; -import UpgradeProModal from "../../shared/upgradeProModal"; import { Row } from "../common"; import { useOrg } from "../org/organizationContext"; import MetaData from "../public/authMetaData"; @@ -32,7 +31,6 @@ const AuthLayout = (props: AuthLayoutProps) => { const router = useRouter(); const { pathname } = router; - const [open, setOpen] = useState(false); const [chatWindowOpen, setChatWindowOpen] = useState(false); const [bannerDismissed, setBannerDismissed] = useState(false); const agentChatPanelRef = useRef(null); @@ -191,7 +189,6 @@ const AuthLayout = (props: AuthLayoutProps) => { })) : [] } - setOpen={setOpen} />
@@ -238,7 +235,6 @@ const AuthLayout = (props: AuthLayoutProps) => {
- {/* */} diff --git a/web/components/shared/ProBlockerComponents/ProFeatureDialog.tsx b/web/components/shared/ProBlockerComponents/ProFeatureDialog.tsx index 89735a92d6..633f7bd58e 100644 --- a/web/components/shared/ProBlockerComponents/ProFeatureDialog.tsx +++ b/web/components/shared/ProBlockerComponents/ProFeatureDialog.tsx @@ -88,11 +88,7 @@ export function ProFeatureDialog({ See all features → - +
diff --git a/web/components/shared/helicone/FeatureUpgradeCard.tsx b/web/components/shared/helicone/FeatureUpgradeCard.tsx index d371bb111f..67a0cd3d32 100644 --- a/web/components/shared/helicone/FeatureUpgradeCard.tsx +++ b/web/components/shared/helicone/FeatureUpgradeCard.tsx @@ -9,7 +9,6 @@ import { RateLimitVisual } from "./RateLimitVisual"; import { DatasetVisual } from "./DatasetVisual"; import { SessionsFeatureVisual } from "./features/SessionsFeature"; import { CodeExample } from "./CodeExample"; -import { useUpgradePlan } from "@/hooks/useUpgradePlan"; import { Feature, PreviewCard, @@ -281,7 +280,6 @@ export const FeatureUpgradeCard: React.FC = ({ highlightedFeature, }) => { const [isUpgradeDialogOpen, setIsUpgradeDialogOpen] = useState(false); - const { handleUpgradeTeam, isLoading } = useUpgradePlan(); const getFeatures = () => { let features = { ...PRO_FEATURES }; @@ -312,8 +310,7 @@ export const FeatureUpgradeCard: React.FC = ({ priceSubtext="/mo" isBestValue={true} variant="outlined" - onClick={handleUpgradeTeam} - isLoading={isLoading} + onClick={() => setIsUpgradeDialogOpen(true)} /> ); @@ -392,7 +389,7 @@ export const FeatureUpgradeCard: React.FC = ({ className="flex h-[52px] items-center justify-center gap-2.5 rounded-xl bg-[hsl(var(--primary))] px-6 py-1.5" >
- Start 7-day free trial + Contact us to upgrade
diff --git a/web/components/shared/prompts/InputsPanel.tsx b/web/components/shared/prompts/InputsPanel.tsx index be842525fa..c31f267e52 100644 --- a/web/components/shared/prompts/InputsPanel.tsx +++ b/web/components/shared/prompts/InputsPanel.tsx @@ -1,4 +1,4 @@ -import ExperimentInputSelector from "@/components/templates/prompts/experiments/experimentInputSelector"; +import PromptInputSelector from "@/components/templates/prompts/id/promptInputSelector"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { @@ -157,7 +157,7 @@ export default function VariablesPanel({ ))} )} - void; -} - -const UpgradeProModal = (props: UpgradeProModalProps) => { - const { open, setOpen } = props; - const heliconeAuthClient = useHeliconeAuthClient(); - const orgContext = useOrg(); - - const [currentMonth, _setCurrentMonth] = useState(startOfMonth(new Date())); - - const startOfMonthFormatted = formatISO(currentMonth, { - representation: "date", - }); - const endOfMonthFormatted = formatISO(endOfMonth(currentMonth), { - representation: "date", - }); - - const { count } = useGetRequestCountClickhouse( - startOfMonthFormatted, - endOfMonthFormatted, - ); - - const currentIcon = ORGANIZATION_ICONS.find( - (icon) => icon.name === orgContext?.currentOrg?.icon, - ); - - const currentColor = ORGANIZATION_COLORS.find( - (icon) => icon.name === orgContext?.currentOrg?.color, - ); - - const getProgress = (count: number) => { - const cappedCount = Math.min(count, 100000); - const percentage = (cappedCount / 100000) * 100; - return percentage; - }; - - async function handleGrowthCheckout() { - const stripe = await getStripe(); - - if (!stripe) { - logger.error("Stripe failed to initialize."); - return; - } - - const res = await fetch("/api/stripe/create_growth_subscription", { - method: "POST", - headers: { - "Content-Type": "application/json", - }, - body: JSON.stringify({ - orgId: orgContext?.currentOrg?.id, - userEmail: heliconeAuthClient.user?.email, - }), - }); - - const { sessionId } = await res.json(); - - const result = await stripe.redirectToCheckout({ sessionId }); - - if (result.error) { - logger.error({ error: result.error.message }, "Stripe checkout failed"); - } - } - - return ( - -
-
-
- {currentIcon && ( - - )} -

- {orgContext?.currentOrg?.name} -

-
-
-
-

- Your Free Plan Limit -

-
-
-
-
-
-
-
- {`${Number(count?.data).toLocaleString()}`} - / - {`${Number( - 100_000, - ).toLocaleString()}`} -
-
-
-
- {count?.data && count?.data <= 50_000 ? ( -

- Your organization is currently on the free plan and within our - free plan limits. As your company grows, you may want to consider - upgrading to the Growth plan to unlock more features, uncapped - request logs, and priority support. -

- ) : ( -

- Your organization is approaching the free plan limit. We recommend - fast-growing companies like yours to upgrade to the Growth plan to - uncap your request log limit and unlock other premium features. -

- )} -
-
- {[ - "Unlimited request logs (pay as you go)", - "Expanded access to prompt templates", - "Expanded access to prompt experiments", - "Priority support", - "Lower rate limits on all features", - ].map((item, i) => ( -
- - {item} -
- ))} -
-
- - -
-
-
- ); -}; - -export default UpgradeProModal; diff --git a/web/components/templates/cache/cachePage.tsx b/web/components/templates/cache/cachePage.tsx index 9b09ae6eed..a257e39b3a 100644 --- a/web/components/templates/cache/cachePage.tsx +++ b/web/components/templates/cache/cachePage.tsx @@ -24,7 +24,6 @@ import { TimeFilter } from "@helicone-package/filters/filterDefs"; import { SortDirection } from "../../../services/lib/sorts/requests/sorts"; import ThemedDrawer from "../../shared/themed/themedDrawer"; import ThemedTable from "../../shared/themed/table/themedTable"; -import UpgradeProModal from "../../shared/upgradeProModal"; import ModelPill from "../requests/modelPill"; import UnauthorizedView from "../requests/UnauthorizedView"; import { formatNumber } from "../users/initialColumns"; @@ -152,7 +151,6 @@ const CachePage = (props: CachePageProps) => { const [selectedRequest, setSelectedRequest] = useState(); const [open, setOpen] = useState(false); - const [openUpgradeModal, setOpenUpgradeModal] = useState(false); const heliconeAuthClient = useHeliconeAuthClient(); const org = useOrg(); const { @@ -523,7 +521,6 @@ const CachePage = (props: CachePageProps) => { )} - ); }; diff --git a/web/components/templates/dashboard/dashboardPage.tsx b/web/components/templates/dashboard/dashboardPage.tsx index 4c99685d65..60ee4dc104 100644 --- a/web/components/templates/dashboard/dashboardPage.tsx +++ b/web/components/templates/dashboard/dashboardPage.tsx @@ -45,7 +45,6 @@ import { MetricsPanel, MetricsPanelProps, } from "../../shared/metrics/metricsPanel"; -import UpgradeProModal from "../../shared/upgradeProModal"; import { formatLargeNumber } from "../../shared/utils/numberFormat"; import useSearchParams from "../../shared/utils/useSearchParams"; import UnauthorizedView from "../requests/UnauthorizedView"; @@ -98,7 +97,8 @@ const DashboardPage = (props: DashboardPageProps) => { // TODO: Move this to a hook and consolidate with the request page // Make the hook called like "useTimeFilter" // Get the default time filter from org settings, fallback to "7d" - const defaultTimeFilter = (orgContext?.currentOrg?.default_time_filter ?? "7d") as TimeInterval; + const defaultTimeFilter = (orgContext?.currentOrg?.default_time_filter ?? + "7d") as TimeInterval; const getTimeFilter = () => { const currentTimeFilter = searchParams.get("t"); @@ -115,7 +115,9 @@ const DashboardPage = (props: DashboardPageProps) => { }; } else { range = { - start: getTimeIntervalAgo((currentTimeFilter as TimeInterval) || defaultTimeFilter), + start: getTimeIntervalAgo( + (currentTimeFilter as TimeInterval) || defaultTimeFilter, + ), end: new Date(), }; } @@ -134,8 +136,6 @@ const DashboardPage = (props: DashboardPageProps) => { ); const [timeFilter, setTimeFilter] = useState(getTimeFilter()); - const [open, setOpen] = useState(false); - const timeIncrement = useMemo( () => getTimeInterval(timeFilter), [timeFilter], @@ -154,7 +154,8 @@ const DashboardPage = (props: DashboardPageProps) => { useEffect(() => { const currentTimeFilter = searchParams.get("t"); if (!currentTimeFilter && orgContext?.currentOrg?.default_time_filter) { - const newDefaultInterval = orgContext.currentOrg.default_time_filter as TimeInterval; + const newDefaultInterval = orgContext.currentOrg + .default_time_filter as TimeInterval; setInterval(newDefaultInterval); setTimeFilter({ start: getTimeIntervalAgo(newDefaultInterval), @@ -1297,8 +1298,6 @@ const DashboardPage = (props: DashboardPageProps) => { open={openSuggestGraph} setOpen={setOpenSuggestGraph} /> - - )} diff --git a/web/components/templates/evals/details/DeleteEvalutor.tsx b/web/components/templates/evals/details/DeleteEvalutor.tsx index 6370f5c130..d626bb08da 100644 --- a/web/components/templates/evals/details/DeleteEvalutor.tsx +++ b/web/components/templates/evals/details/DeleteEvalutor.tsx @@ -12,7 +12,6 @@ import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { useState } from "react"; import { useEvaluators } from "../EvaluatorHook"; -import { useEvaluatorDetails } from "./hooks"; import { Evaluator } from "./types"; export const DeleteEvaluator = ({ @@ -28,8 +27,6 @@ export const DeleteEvaluator = ({ setShowDeleteModal: (showDeleteModal: boolean) => void; deleteEvaluator: ReturnType["deleteEvaluator"]; }) => { - const { experiments } = useEvaluatorDetails(evaluator, () => {}); - const [deleteConfirmation, setDeleteConfirmation] = useState(""); return ( <> @@ -54,12 +51,7 @@ export const DeleteEvaluator = ({ onChange={(e) => setDeleteConfirmation(e.target.value)} placeholder={evaluator.name} /> - - This will remove the evaluator from all{" "} - {experiments.data?.data?.data?.length ?? 0} experiments. Your - scores will still be saved, but you will not be able to use this - evaluator in new experiments. - + Your scores will still be saved. diff --git a/web/components/templates/evals/details/Experiments.tsx b/web/components/templates/evals/details/Experiments.tsx deleted file mode 100644 index 6650c1ce39..0000000000 --- a/web/components/templates/evals/details/Experiments.tsx +++ /dev/null @@ -1,44 +0,0 @@ -import { Col, Row } from "@/components/layout/common"; -import Link from "next/link"; -import { useEvaluatorDetails } from "./hooks"; -import { Evaluator } from "./types"; - -export const ExperimentsForEvaluator = ({ - evaluator, -}: { - evaluator: Evaluator; -}) => { - const { experiments } = useEvaluatorDetails(evaluator, () => {}); - - return ( - <> - {experiments.data?.data?.data && ( - -

Experiments

- - This evaluator has been used in the following experiments: - - - {experiments.data?.data?.data?.map((experiment) => ( -
- - - {experiment.experiment_name} - - {new Date( - experiment.experiment_created_at, - ).toLocaleString()} - - - -
- ))} - - - )} - - ); -}; diff --git a/web/components/templates/evals/details/hooks.ts b/web/components/templates/evals/details/hooks.ts index 7501a49b2a..70221c1d54 100644 --- a/web/components/templates/evals/details/hooks.ts +++ b/web/components/templates/evals/details/hooks.ts @@ -12,16 +12,6 @@ export function useEvaluatorDetails( const org = useOrg(); const { setNotification } = useNotification(); - const experiments = useQuery({ - queryKey: ["evaluatorExperiments", evaluator.id], - queryFn: async () => { - const jawn = getJawnClient(org?.currentOrg?.id!); - return jawn.GET("/v1/evaluator/{evaluatorId}/experiments", { - params: { path: { evaluatorId: evaluator.id } }, - }); - }, - }); - const onlineEvaluators = useQuery({ queryKey: ["onlineEvaluators", evaluator.id], queryFn: () => { @@ -103,7 +93,6 @@ export function useEvaluatorDetails( }); return { - experiments, onlineEvaluators, createOnlineEvaluator, deleteOnlineEvaluator, diff --git a/web/components/templates/featurePreview/experiment.tsx b/web/components/templates/featurePreview/experiment.tsx deleted file mode 100644 index 44e05f21b7..0000000000 --- a/web/components/templates/featurePreview/experiment.tsx +++ /dev/null @@ -1,308 +0,0 @@ -"use client"; - -import { cn } from "@/lib/utils"; -import { PlusIcon } from "lucide-react"; -import { - Table, - TableHeader, - TableCell, - TableHead, - TableRow, - TableBody, -} from "@/components/ui/table"; -import { useState, useCallback, useEffect, useRef } from "react"; - -const data: { - messages: string; - original: string; - prompt1: string; - prompt2: string; -}[] = [ - { - messages: `{"role": "system", "content": "Get...`, - original: `This beginner-friendly course guides you through foundational concepts with real-world examples...`, - prompt1: `Master the fundamentals in this hands-on learning journey, featuring practical exercises...`, - prompt2: `A practical journey through essential topics, designed to build your confidence...`, - }, - { - messages: `{"role": "system", "content": "Get...`, - original: `An introductory series covering key principles through interactive lessons and projects...`, - prompt1: `Step-by-step tutorials designed for newcomers, with comprehensive practice materials...`, - prompt2: `Build your skills with this comprehensive guide, featuring hands-on workshops...`, - }, - { - messages: `{"role": "system", "content": "Get...`, - original: `Learn the basics through interactive sessions and guided practice assignments...`, - prompt1: `A structured approach to mastering core concepts, with real-world applications...`, - prompt2: `Dive into core concepts with guided exercises and practical implementations...`, - }, - { - messages: `{"role": "system", "content": "Get...`, - original: `Start your journey with this accessible introduction to fundamental principles...`, - prompt1: `From novice to practitioner: a carefully structured learning experience...`, - prompt2: `An engaging introduction that transforms complex topics into digestible lessons...`, - }, - { - messages: `{"role": "system", "content": "Get...`, - original: `A comprehensive beginner's guide featuring step-by-step instruction and exercises...`, - prompt1: `Progress through carefully crafted lessons designed for optimal learning...`, - prompt2: `Experience a thoughtfully designed curriculum that builds lasting knowledge...`, - }, - { - messages: `{"role": "system", "content": "Get...`, - original: `Begin your learning journey with this foundational course packed with examples...`, - prompt1: `A beginner-focused approach that ensures steady progress through key concepts...`, - prompt2: `Master essential skills through this methodically structured learning path...`, - }, - { - messages: `{"role": "system", "content": "Get...`, - original: `Perfect for newcomers: a gentle introduction to core principles and practices...`, - prompt1: `Build confidence through structured learning and hands-on practice sessions...`, - prompt2: `Transform your understanding with this carefully paced learning experience...`, - }, - { - messages: `{"role": "system", "content": "Get...`, - original: `Start strong with this beginner-oriented course featuring practical exercises...`, - prompt1: `An accessible approach to mastering fundamentals through guided practice...`, - prompt2: `Develop your skills progressively with this well-structured learning path...`, - }, - { - messages: `{"role": "system", "content": "Get...`, - original: `A foundation-building course designed to make complex concepts approachable...`, - prompt1: `Learn at your pace with this methodically structured beginner's guide...`, - prompt2: `A comprehensive introduction focusing on practical skill development...`, - }, - { - messages: `{"role": "system", "content": "Get...`, - original: `Begin your learning adventure with this accessible, example-rich course...`, - prompt1: `A carefully crafted journey from basic concepts to practical mastery...`, - prompt2: `Gain confidence through this structured approach to essential skills...`, - }, - { - messages: `{"role": "system", "content": "Get...`, - original: `An entry-level course that breaks down complex topics into manageable steps...`, - prompt1: `Master the basics through this engaging, practice-oriented curriculum...`, - prompt2: `A systematic approach to building fundamental knowledge and skills...`, - }, -]; - -const ExperimentTable = () => { - const tableRef = useRef(null); - const [isVisible, setIsVisible] = useState(false); - const [hasStarted, setHasStarted] = useState(false); - const [animationState, setAnimationState] = useState(() => - Array(data.length) - .fill(0) - .map(() => Array(4).fill(0)), - ); - const [highlightState, setHighlightState] = useState(() => - Array(data.length) - .fill(0) - .map(() => Array(4).fill(false)), - ); - - // Set up intersection observer - useEffect(() => { - const observer = new IntersectionObserver( - ([entry]) => { - setIsVisible(entry.isIntersecting); - }, - { - root: null, - rootMargin: "0px", - threshold: 0.1, // Trigger when at least 10% of the element is visible - }, - ); - - if (tableRef.current) { - observer.observe(tableRef.current); - } - - return () => observer.disconnect(); - }, []); - - const animateCell = useCallback((row: number, col: number) => { - const generateTime = Math.random() * 500 + 500; - - setAnimationState((prev) => { - const newState = prev.map((row) => [...row]); - newState[row][col] = 1; - return newState; - }); - - setTimeout(() => { - setAnimationState((prev) => { - const newState = prev.map((row) => [...row]); - newState[row][col] = 2; - return newState; - }); - - setHighlightState((prev) => { - const newState = prev.map((row) => [...row]); - newState[row][col] = true; - return newState; - }); - - setTimeout(() => { - setHighlightState((prev) => { - const newState = prev.map((row) => [...row]); - newState[row][col] = false; - return newState; - }); - }, 2000); - }, generateTime); - }, []); - - const startAnimation = useCallback(() => { - setAnimationState( - Array(data.length) - .fill(0) - .map(() => Array(4).fill(0)), - ); - setHighlightState( - Array(data.length) - .fill(0) - .map(() => Array(4).fill(false)), - ); - - data.forEach((_, rowIndex) => { - [1, 2, 3].forEach((colIndex) => { - const delay = (rowIndex * 3 + colIndex) * 300; - setTimeout(() => animateCell(rowIndex, colIndex), delay); - }); - }); - }, [animateCell]); - - // Only start the interval after initial visibility - useEffect(() => { - if (!hasStarted) return; - - const intervalId = setInterval(startAnimation, 15000); - return () => clearInterval(intervalId); - }, [startAnimation, hasStarted]); - - const getCellContent = (value: string, state: number) => { - if (state === 0) { - return ( -
-
-
Queued...
-
- ); - } - if (state === 1) { - return ( -
-
-
Generating...
-
- ); - } - return value; - }; - - useEffect(() => { - if (isVisible && !hasStarted) { - setHasStarted(true); - startAnimation(); - } - }, [hasStarted, isVisible, startAnimation]); - - return ( -
-
-
-
- - - - - Messages - - - Original - - - Prompt 1 - - - Prompt 2 - - - - - - - - {data.map((row, index) => ( - - - {row.messages} - - - {getCellContent(row.original, animationState[index][1])} - - - {getCellContent(row.prompt1, animationState[index][2])} - - - {getCellContent(row.prompt2, animationState[index][3])} - - - - ))} - -
-
-
- ); -}; - -const evals = [ - { - category: "LLM as a judge", - name: "Similarity", - value: 77, - }, - { - category: "LLM as a judge", - name: "Humor", - value: 81, - }, - { - category: "LLM as a judge", - name: "SQL", - value: 94, - }, - { - category: "RAG", - name: "ContextRecall", - value: 63, - }, - { - category: "Composite", - name: "StringContains", - value: 98, - }, -]; - -const Experiment = () => { - return ; -}; - -export default Experiment; diff --git a/web/components/templates/featurePreview/experimentsPreview.tsx b/web/components/templates/featurePreview/experimentsPreview.tsx deleted file mode 100644 index 7605090bc1..0000000000 --- a/web/components/templates/featurePreview/experimentsPreview.tsx +++ /dev/null @@ -1,193 +0,0 @@ -import FeaturePreview, { PricingPlan } from "../featurePreview/featurePreview"; -import { Feature } from "../featurePreview/featurePreviewSection"; -import useNotification from "@/components/shared/notification/useNotification"; -import { useMemo, useState } from "react"; -import { useFeatureTrial } from "@/hooks/useFeatureTrial"; -import { TrialConfirmationDialog } from "@/components/shared/TrialConfirmationDialog"; -import { useOrg } from "@/components/layout/org/organizationContext"; -import Experiment from "./experiment"; - -type ExperimentPricingPlanName = - | "Experiments" - | "Pro + Experiments" - | "Team Bundle"; - -const experimentFeatures: Feature[] = [ - { - title: "Tune your LLM prompts\nfor production", - description: [ - "Test different prompts, models, and parameters side-by-side to find optimal combinations", - "Start experimenting from any source - scratch prompts, existing requests, or templates", - "Connect to any major AI provider (Anthropic, OpenAI, Google, Meta, DeepSeek and more)", - ], - media: { - type: "component", - component: () => , - }, - imageAlt: "Experiment interface showing multiple prompts", - isImageLeft: true, - ctaText: "Start experimenting", - }, - { - title: "Test Prompts with Historic & Real-World Data", - description: [ - "Identify and optimize for edge cases using real production data", - "Adjust prompt before pushing to production", - "Validate changes against historical requests", - ], - media: { - type: "video", - src: "https://marketing-assets-helicone.s3.us-west-2.amazonaws.com/experiments_last.mp4", - fallbackImage: "/static/features/experiments/feature3.png", - }, - imageAlt: "Historical data testing interface", - isImageLeft: false, - ctaText: "Test with real-world data", - }, - { - title: "Evaluate Responses with Offline Testing", - description: [ - "Quantify response quality using LLM-as-judge or Python evaluators", - "Attach evaluators to experiments to track performance across iterations and model versions", - "Optimize edge cases using heatmap visualizations of scored responses", - ], - media: { - type: "video", - src: "https://marketing-assets-helicone.s3.us-west-2.amazonaws.com/evals_experiments.mp4", - fallbackImage: "/static/features/experiments/feature2.png", - }, - imageAlt: "Evaluation interface showing heatmap of scored responses", - isImageLeft: true, - ctaText: "Enable evals", - ctaLink: "/evaluators", - }, -]; - -const freePlan: PricingPlan[] = [ - { - name: "Pro + Experiments", - price: "50", - isSelected: true, - priceSubtext: "+$20/seat", - features: [ - { name: "$20/seat", included: true }, - { name: "Experiments", included: true }, - { name: "Prompts (+$50/mo)", included: false }, - { name: "Evals (+$100/mo)", included: false }, - ], - }, - { - name: "Team Bundle", - price: "200", - features: [ - { name: "Unlimited seats", included: true }, - { name: "Experiments", included: true }, - { name: "Prompts", included: true }, - { name: "Evals", included: true }, - ], - }, -]; - -const paidPlan: PricingPlan[] = [ - { - name: "Experiments", - price: "50", - isSelected: true, - features: [ - { name: "Pro seats (current plan)", included: true }, - { name: "Prompts", included: true }, - { - name: "Experiments", - included: false, - additionalCost: "+$50/mo", - }, - { name: "Evals", included: false, additionalCost: "+$100/mo" }, - ], - }, - { - name: "Team Bundle", - price: "200", - features: [ - { name: "Unlimited seats", included: true }, - { name: "Prompts", included: true }, - { name: "Experiments", included: true }, - { name: "Evals", included: true }, - ], - }, -]; - -const ExperimentsPreview = () => { - const org = useOrg(); - const notification = useNotification(); - const [isConfirmDialogOpen, setIsConfirmDialogOpen] = useState(false); - const { handleConfirmTrial } = useFeatureTrial("experiments", "Experiments"); - const [selectedPlan, setSelectedPlan] = useState(); - - const isPaidPlan = useMemo( - () => - org?.currentOrg?.tier === "enterprise" || - org?.currentOrg?.tier === "pro-20240913" || - org?.currentOrg?.tier === "pro-20250202" || - org?.currentOrg?.tier === "pro-20251210" || - org?.currentOrg?.tier === "team-20250130" || - org?.currentOrg?.tier === "team-20251210", - [org?.currentOrg?.tier], - ); - - const pricingPlan = useMemo( - () => (isPaidPlan ? paidPlan : freePlan), - [isPaidPlan], - ); - - const handleStartTrial = async (selectedPlan?: ExperimentPricingPlanName) => { - if (!selectedPlan) { - notification.setNotification("Please select a plan to continue", "error"); - return; - } - setSelectedPlan(selectedPlan); - setIsConfirmDialogOpen(true); - }; - - const confirmExperimentsChange = async () => { - const success = await handleConfirmTrial(selectedPlan); - if (success) setIsConfirmDialogOpen(false); - }; - - if (!org?.currentOrg) { - return null; - } - - // Check if user requires upgrade for experiments feature - - return ( - <> - - - - ); -}; - -export default ExperimentsPreview; diff --git a/web/components/templates/featurePreview/featurePreview.tsx b/web/components/templates/featurePreview/featurePreview.tsx index 9895de0910..a527bae704 100644 --- a/web/components/templates/featurePreview/featurePreview.tsx +++ b/web/components/templates/featurePreview/featurePreview.tsx @@ -232,7 +232,7 @@ const FeaturePreview = ({ className="inline-flex h-[52px] w-full items-center justify-center gap-2.5 rounded-xl bg-[hsl(var(--primary))] px-6 py-1.5 text-lg font-medium leading-normal tracking-normal text-[hsl(var(--primary-foreground))]" variant="action" > - {isOnFreeTier ? "Start 7-day free trial" : "Upgrade now"} + {isOnFreeTier ? "Contact us to upgrade" : "Contact us"} - Start 7-day free trial + Contact us to upgrade )} diff --git a/web/components/templates/organization/plan/MigrateGrowthToPro.tsx b/web/components/templates/organization/plan/MigrateGrowthToPro.tsx index 3503ed0f60..8b3f854cf8 100644 --- a/web/components/templates/organization/plan/MigrateGrowthToPro.tsx +++ b/web/components/templates/organization/plan/MigrateGrowthToPro.tsx @@ -26,7 +26,6 @@ import { InfoBox } from "@/components/ui/helicone/infoBox"; export const MigrateGrowthToPro = () => { const org = useOrg(); - const [isUpgradeDialogOpen, setIsUpgradeDialogOpen] = useState(false); const [isCancelDialogOpen, setIsCancelDialogOpen] = useState(false); const subscription = useQuery({ @@ -39,14 +38,6 @@ export const MigrateGrowthToPro = () => { }, }); - const upgradeExistingCustomerToPro = useMutation({ - mutationFn: async () => { - const jawn = getJawnClient(org?.currentOrg?.id); - const result = await jawn.POST("/v1/stripe/subscription/migrate-to-pro"); - return result; - }, - }); - const cancelSubscription = useMutation({ mutationFn: async () => { const jawn = getJawnClient(org?.currentOrg?.id); @@ -57,13 +48,6 @@ export const MigrateGrowthToPro = () => { }, }); - const handleUpgrade = async () => { - const result = await upgradeExistingCustomerToPro.mutateAsync(); - setIsUpgradeDialogOpen(false); - subscription.refetch(); - window.location.reload(); - }; - const handleCancel = async () => { await cancelSubscription.mutateAsync(); setIsCancelDialogOpen(false); @@ -99,9 +83,9 @@ export const MigrateGrowthToPro = () => { - We are discontinuing the Growth plan soon. Please{" "} - upgrade to Pro to keep 10k requests every month and access - all features or downgrade to Free plan. + The Growth plan is being discontinued. You can cancel your + subscription below to move to the Free plan, or contact us with any + questions. @@ -113,15 +97,6 @@ export const MigrateGrowthToPro = () => { {getBillingCycleDates()} - - - - - - diff --git a/web/components/templates/organization/plan/freeBillingPage.tsx b/web/components/templates/organization/plan/freeBillingPage.tsx index e6b774e840..1d693faa5c 100644 --- a/web/components/templates/organization/plan/freeBillingPage.tsx +++ b/web/components/templates/organization/plan/freeBillingPage.tsx @@ -24,12 +24,10 @@ import { CollapsibleContent, CollapsibleTrigger, } from "@/components/ui/collapsible"; -import { useUpgradePlan } from "@/hooks/useUpgradePlan"; export const FreePlanCard = () => { const org = useOrg(); const [showUpgradeDialog, setShowUpgradeDialog] = useState(false); - const { handleUpgradeTeam, isLoading } = useUpgradePlan(); const freeUsage = useQuery({ queryKey: ["free-usage", org?.currentOrg?.id], @@ -105,7 +103,7 @@ export const FreePlanCard = () => { - +

Unlimited seats, tiered usage-based billing

@@ -125,7 +123,7 @@ export const FreePlanCard = () => { className="w-full bg-sky-500 text-white hover:bg-sky-600" onClick={() => setShowUpgradeDialog(true)} > - Start 7-day free trial + Contact us to upgrade @@ -142,7 +140,7 @@ export const FreePlanCard = () => { - +

Unlimited seats, 5 orgs

    {teamBundleFeatures.map((feature) => ( @@ -158,10 +156,9 @@ export const FreePlanCard = () => { variant="outline" size="lg" className="w-full" - disabled={isLoading} - onClick={() => handleUpgradeTeam()} + onClick={() => setShowUpgradeDialog(true)} > - Start 7-day free trial + Contact us to upgrade @@ -189,7 +186,10 @@ export const FreePlanCard = () => { className="group rounded-lg p-4 transition-colors hover:bg-muted/5" >
    - +

    {feature.title} diff --git a/web/components/templates/organization/plan/upgradeProDialog.tsx b/web/components/templates/organization/plan/upgradeProDialog.tsx index bd5b3142e1..9bb4bf8791 100644 --- a/web/components/templates/organization/plan/upgradeProDialog.tsx +++ b/web/components/templates/organization/plan/upgradeProDialog.tsx @@ -1,6 +1,5 @@ "use client"; -import { useState } from "react"; import { Dialog, DialogContent, @@ -9,22 +8,11 @@ import { DialogTitle, } from "@/components/ui/dialog"; import { Button } from "@/components/ui/button"; -import { RadioGroup, RadioGroupItem } from "@/components/ui/radio-group"; -import { Check } from "lucide-react"; -import { useMutation, useQuery } from "@tanstack/react-query"; -import { getJawnClient } from "@/lib/clients/jawn"; -import { useOrg } from "@/components/layout/org/organizationContext"; import { FeatureName } from "@/hooks/useProFeature"; -import { P, Muted } from "@/components/ui/typography"; +import { P } from "@/components/ui/typography"; import { InfoBox } from "@/components/ui/helicone/infoBox"; - -export type Addons = { - pro: boolean; - prompts: boolean; -}; - -const PRO_PRICE = 79; -const TEAM_PRICE = 799; +import { CONTACT_US_URL } from "@/components/templates/pricing/contactCTA"; +import Link from "next/link"; const FEATURE_MESSAGES: Record = { time_filter: "Extended time filters require Pro plan.", @@ -41,8 +29,7 @@ const FEATURE_MESSAGES: Record = { playground: "Prompt testing sandbox available in Pro.", evaluators: "LLM performance evaluation tools with Pro.", experiments: "A/B test prompts at scale with Pro.", - default: - "Choose the plan that best fits your team. All plans include a 7-day free trial.", + default: "This feature is available on paid plans.", }; interface UpgradeProDialogProps { @@ -52,58 +39,21 @@ interface UpgradeProDialogProps { limitMessage?: string; } +/** + * Self-serve plan upgrades have been removed. This dialog now explains the + * feature gate and points the user at the contact page instead of starting a + * Stripe checkout. + */ export const UpgradeProDialog = ({ open, onOpenChange, featureName, limitMessage, }: UpgradeProDialogProps) => { - const org = useOrg(); - const [selectedPlan, setSelectedPlan] = useState<"pro" | "team">("pro"); - - const subscription = useQuery({ - queryKey: ["subscription", org?.currentOrg?.id], - queryFn: async (query) => { - const orgId = query.queryKey[1] as string; - const jawn = getJawnClient(orgId); - const subscription = await jawn.GET("/v1/stripe/subscription"); - return subscription; - }, - enabled: !!org?.currentOrg?.id, - }); - - const upgradeToPro = useMutation({ - mutationFn: async () => { - const jawn = getJawnClient(org?.currentOrg?.id); - const endpoint = - subscription.data?.data?.status === "canceled" - ? "/v1/stripe/subscription/existing-customer/upgrade-to-pro" - : "/v1/stripe/subscription/new-customer/upgrade-to-pro"; - const result = await jawn.POST(endpoint, { - body: {}, - }); - return result; - }, - }); - - const upgradeToTeamBundle = useMutation({ - mutationFn: async () => { - const jawn = getJawnClient(org?.currentOrg?.id); - const endpoint = - subscription.data?.data?.status === "canceled" - ? "/v1/stripe/subscription/existing-customer/upgrade-to-team-bundle" - : "/v1/stripe/subscription/new-customer/upgrade-to-team-bundle"; - const result = await jawn.POST(endpoint, {}); - return result; - }, - }); - - // Get description text with case insensitivity const descriptionText = featureName ? FEATURE_MESSAGES[featureName.toLowerCase()] || FEATURE_MESSAGES.default : FEATURE_MESSAGES.default; - // Add a function to get the dialog header based on the limit info const getDialogHeader = () => { if (limitMessage) { return ( @@ -118,7 +68,6 @@ export const UpgradeProDialog = ({ ); } - // Default case - standard upgrade header return ( Upgrade to Pro @@ -135,130 +84,25 @@ export const UpgradeProDialog = ({ {descriptionText} - setSelectedPlan(value as "pro" | "team")} - className="flex flex-col gap-3" - > - {/* Pro Plan Option */} - - - {/* Team Bundle Option */} - - - - +

    + Self-serve plan upgrades are no longer available. Contact us and we + will help you get set up. +

    + +
    + + +

); diff --git a/web/components/templates/pricing/contactCTA.tsx b/web/components/templates/pricing/contactCTA.tsx index 527d14b7ee..dcdd5d85a3 100644 --- a/web/components/templates/pricing/contactCTA.tsx +++ b/web/components/templates/pricing/contactCTA.tsx @@ -2,6 +2,9 @@ import { Col, Row } from "@/components/layout/common"; import { Button } from "@/components/ui/button"; import Link from "next/link"; +export const CONTACT_US_URL = + "https://cal.com/team/helicone/helicone-discovery"; + export const ContactCTA = ({}) => { return (
@@ -13,11 +16,7 @@ export const ContactCTA = ({}) => {

diff --git a/web/components/templates/pricing/hooks.ts b/web/components/templates/pricing/hooks.ts index 1cc12a5904..15ee76f5cb 100644 --- a/web/components/templates/pricing/hooks.ts +++ b/web/components/templates/pricing/hooks.ts @@ -1,44 +1,5 @@ import { useOrg } from "@/components/layout/org/organizationContext"; -import { getJawnClient, $JAWN_API } from "@/lib/clients/jawn"; -import { useQuery } from "@tanstack/react-query"; - -export const useCostForPrompts = () => { - const org = useOrg(); - return useQuery({ - queryKey: ["cost-for-prompts"], - queryFn: async () => { - const jawn = getJawnClient(org?.currentOrg?.id); - const result = await jawn.GET("/v1/stripe/subscription/cost-for-prompts"); - return result; - }, - }); -}; - -export const useCostForEvals = () => { - const org = useOrg(); - return useQuery({ - queryKey: ["cost-for-evals"], - queryFn: async () => { - const jawn = getJawnClient(org?.currentOrg?.id); - const result = await jawn.GET("/v1/stripe/subscription/cost-for-evals"); - return result; - }, - }); -}; - -export const useCostForExperiments = () => { - const org = useOrg(); - return useQuery({ - queryKey: ["cost-for-experiments"], - queryFn: async () => { - const jawn = getJawnClient(org?.currentOrg?.id); - const result = await jawn.GET( - "/v1/stripe/subscription/cost-for-experiments", - ); - return result; - }, - }); -}; +import { $JAWN_API } from "@/lib/clients/jawn"; export const useBillingUsage = () => { const org = useOrg(); @@ -50,6 +11,6 @@ export const useBillingUsage = () => { { enabled: !!org?.currentOrg?.id, staleTime: 5 * 60 * 1000, // 5 minutes - } + }, ); }; diff --git a/web/components/templates/pricing/pricingCompare.tsx b/web/components/templates/pricing/pricingCompare.tsx index 9f6091ee2d..61ebe2d9fa 100644 --- a/web/components/templates/pricing/pricingCompare.tsx +++ b/web/components/templates/pricing/pricingCompare.tsx @@ -2,11 +2,7 @@ import { CheckIcon } from "lucide-react"; import { ContactCTA } from "./contactCTA"; import { UpgradeToProCTA } from "./upgradeToProCTA"; -export const PricingCompare = ({ - featureName = "", -}: { - featureName: string; -}) => { +export const PricingCompare = (_props: { featureName?: string }) => { return ( <>

@@ -55,10 +51,7 @@ export const PricingCompare = ({ See all features → - +

diff --git a/web/components/templates/pricing/upgradeToProCTA.tsx b/web/components/templates/pricing/upgradeToProCTA.tsx index d2d352ded8..5ff620ae73 100644 --- a/web/components/templates/pricing/upgradeToProCTA.tsx +++ b/web/components/templates/pricing/upgradeToProCTA.tsx @@ -1,48 +1,14 @@ import { useOrg } from "@/components/layout/org/organizationContext"; import { Button } from "@/components/ui/button"; -import { Label } from "@/components/ui/label"; -import { Switch } from "@/components/ui/switch"; -import { getJawnClient } from "@/lib/clients/jawn"; -import { useMutation, useQuery } from "@tanstack/react-query"; -import { useMemo, useState } from "react"; -import { useCostForPrompts } from "./hooks"; -import { ContactCTA } from "./contactCTA"; -import { logger } from "@/lib/telemetry/logger"; +import { useMemo } from "react"; +import { ContactCTA, CONTACT_US_URL } from "./contactCTA"; -export const UpgradeToProCTA = ({ - defaultPrompts = false, - showAddons = false, - showContactCTA = false, -}) => { +/** + * Self-serve plan upgrades have been removed. Paid orgs are sent to the + * billing page; everyone else is sent to the contact page. + */ +export const UpgradeToProCTA = ({ showContactCTA = false }) => { const org = useOrg(); - const subscription = useQuery({ - queryKey: ["subscription", org?.currentOrg?.id], - queryFn: async (query) => { - const orgId = query.queryKey[1] as string; - const jawn = getJawnClient(orgId); - const subscription = await jawn.GET("/v1/stripe/subscription"); - return subscription; - }, - }); - const [prompts, setPrompts] = useState(defaultPrompts); - - const upgradeToPro = useMutation({ - mutationFn: async () => { - const jawn = getJawnClient(org?.currentOrg?.id); - const endpoint = - subscription.data?.data?.status === "canceled" - ? "/v1/stripe/subscription/existing-customer/upgrade-to-pro" - : "/v1/stripe/subscription/new-customer/upgrade-to-pro"; - const result = await jawn.POST(endpoint, { - body: { - addons: { - prompts, - }, - }, - }); - return result; - }, - }); const isPro = useMemo(() => { return ( @@ -54,57 +20,16 @@ export const UpgradeToProCTA = ({ ); }, [org?.currentOrg?.tier]); - const costForPrompts = useCostForPrompts(); - return (
- {showAddons && ( -
-

Add-ons

-
-
- setPrompts(checked)} - /> -
- -

- + ${costForPrompts.data?.data ?? "loading..."}/mo -

-
-
-
-
- )} {showContactCTA && }
); diff --git a/web/components/templates/prompts/experiments/experimentDatasetSelector.tsx b/web/components/templates/prompts/experiments/experimentDatasetSelector.tsx deleted file mode 100644 index 59057977cb..0000000000 --- a/web/components/templates/prompts/experiments/experimentDatasetSelector.tsx +++ /dev/null @@ -1,155 +0,0 @@ -import { useEffect, useState, useMemo } from "react"; -import ThemedDrawer from "../../../shared/themed/themedDrawer"; -import { useJawnClient } from "../../../../lib/clients/jawnHook"; -import useNotification from "../../../shared/notification/useNotification"; -import { Button } from "@/components/ui/button"; -import { useQuery } from "@tanstack/react-query"; -import clsx from "clsx"; -import { CardContent } from "@/components/ui/card"; -import { Card } from "@/components/ui/card"; - -interface ExperimentDatasetSelectorProps { - open: boolean; - setOpen: (open: boolean) => void; - promptVersionId: string | undefined; - onSuccess?: (success: boolean) => void; - handleAddRows: (datasetId: string) => void; - experimentId: string; -} - -const ExperimentDatasetSelector = (props: ExperimentDatasetSelectorProps) => { - const { - open, - setOpen, - promptVersionId, - onSuccess, - handleAddRows, - experimentId, - } = props; - const jawn = useJawnClient(); - const { setNotification } = useNotification(); - - // State to track selected inputs - const [selectedDatasetId, setSelectedDatasetId] = useState(); - - // Fetch input records using useQuery - const { - data: datasetsData, - isLoading, - isError, - } = useQuery({ - queryKey: ["datasets", promptVersionId], - queryFn: async () => { - const res = await jawn.POST("/v1/helicone-dataset/query", { - body: { - datasetIds: [], - }, - }); - return res.data?.data ?? []; - }, - enabled: open && promptVersionId !== undefined, // Fetch only when the drawer is open - }); - - // Process input records - const datasets = useMemo(() => { - if (!datasetsData) return []; - return datasetsData.map((record) => ({ - id: record.id, - name: record.name, - createdAt: record.created_at, - requestsCount: record.requests_count, - })); - }, [datasetsData]); - - // Update selected requests when inputRecords change - useEffect(() => { - if (datasets.length > 0) { - setSelectedDatasetId(""); // Initialize with no requests selected - } - }, [datasets]); - - return ( - -
-
-
-

- Select Datasets ({datasets.length}) -

-
-

- Select the inputs you want to include in the dataset. -

- -
    - {isLoading &&
    Loading inputs...
    } - {isError &&
    Error loading inputs.
    } - {!isLoading && - !isError && - datasets.map((dataset) => ( -
  • {}} - > - setSelectedDatasetId(dataset.id)} - /> - - -

    {dataset.name}

    -

    - {dataset.requestsCount} requests -

    -
    -
    -
  • - ))} -
-
- -
- - - -
-
-
- ); -}; - -export default ExperimentDatasetSelector; diff --git a/web/components/templates/prompts/experiments/experimentRandomInputSelector.tsx b/web/components/templates/prompts/experiments/experimentRandomInputSelector.tsx deleted file mode 100644 index ab36dd0537..0000000000 --- a/web/components/templates/prompts/experiments/experimentRandomInputSelector.tsx +++ /dev/null @@ -1,179 +0,0 @@ -import { useMemo, useState } from "react"; -import ThemedDrawer from "../../../shared/themed/themedDrawer"; -import { useJawnClient } from "../../../../lib/clients/jawnHook"; -import useNotification from "../../../shared/notification/useNotification"; -import PromptPropertyCard from "../id/promptPropertyCard"; -import { Button } from "@/components/ui/button"; -import { Input } from "@/components/ui/input"; -import { useQuery } from "@tanstack/react-query"; - -interface ExperimentInputSelectorProps { - open: boolean; - setOpen: (open: boolean) => void; - promptVersionId: string | undefined; - onSuccess?: (success: boolean) => void; - handleAddRows: ( - rows: { - inputRecordId: string; - inputs: Record; - autoInputs: any[]; - }[], - ) => void; -} - -export const ExperimentRandomInputSelector = ( - props: ExperimentInputSelectorProps, -) => { - const { open, setOpen, promptVersionId, onSuccess } = props; - const jawn = useJawnClient(); - const { setNotification } = useNotification(); - - const [numberInput, setNumberInput] = useState(10); // Default to 10 inputs - - // Fetch random input records using useQuery - const { - data: randomInputRecordsData, - isLoading, - isError, - } = useQuery({ - queryKey: ["randomInputRecords", promptVersionId], - queryFn: async () => { - const res = await jawn.POST( - "/v1/prompt/version/{promptVersionId}/inputs/query", - { - params: { - path: { - promptVersionId: promptVersionId ?? "", - }, - }, - body: { - limit: 100, - random: true, - }, - }, - ); - return res.data?.data ?? []; - }, - enabled: open && promptVersionId !== undefined, // Fetch only when the drawer is open - }); - - // Process and select the desired number of random inputs - const selectedRandomInputs = useMemo(() => { - if (!randomInputRecordsData) return []; - - // Shuffle the records - const shuffled = [...randomInputRecordsData].sort( - () => Math.random() - 0.5, - ); - - // Select the number of inputs specified by numberInput - return shuffled.slice(0, numberInput).map((row) => ({ - id: row.id, - inputs: row.inputs, - source_request: row.source_request, - prompt_version: row.prompt_version, - created_at: row.created_at, - response: row.response_body, - autoInputs: row.auto_prompt_inputs, - })); - }, [randomInputRecordsData, numberInput]); - - return ( - -
-
-
-

- Randomized Inputs ({selectedRandomInputs.length}) -

-
-

- Select the inputs you want to include in the dataset. -

- -
- - { - const value = e.target.value.replace(/^0+/, ""); // Remove leading zeros - setNumberInput(Number(value) || 1); - }} - className="mr-2 h-full w-10 border p-2" - /> - - - Random Inputs - -
- -
    - {isLoading &&
    Loading inputs...
    } - {isError &&
    Error loading inputs.
    } - {!isLoading && - !isError && - selectedRandomInputs.map((request) => ( -
  • - -
  • - ))} -
-
- -
- - - -
-
-
- ); -}; diff --git a/web/components/templates/prompts/experiments/scoresTable.tsx b/web/components/templates/prompts/experiments/scoresTable.tsx deleted file mode 100644 index 0ac3213a11..0000000000 --- a/web/components/templates/prompts/experiments/scoresTable.tsx +++ /dev/null @@ -1,286 +0,0 @@ -import ModelPill from "../../requests/modelPill"; -import { clsx } from "../../../shared/clsx"; -import { SimpleTable } from "../../../shared/table/simpleTable"; - -type Score = { - valueType: string; - value: number | string; -}; - -type ExperimentScores = { - dataset: { - scores: Record; - }; - hypothesis: { - scores: Record; - }; -}; - -export type ScoresProps = { - scores: ExperimentScores; -}; -const ScoresTable = ({ scores }: ScoresProps) => { - const calculateChange = (datasetScore: number, hypothesisScore: number) => { - const change = hypothesisScore - datasetScore; - const percentageChange = (() => { - if (datasetScore === 0) { - return hypothesisScore !== 0 ? 100 : 0; - } - return (change / Math.abs(datasetScore)) * 100; - })(); - - return { - change: parseFloat(change.toFixed(4)), - percentageChange: parseFloat(percentageChange.toFixed(2)), - }; - }; - - const formatDate = (date: string) => { - return new Date(date).toLocaleDateString("en-US", { - month: "2-digit", - day: "2-digit", - year: "numeric", - }); - }; - - const getScoreValue = (score: Score, field: string) => { - if (field === "dateCreated" && score.valueType === "string") { - return renderScoreValue(score.value); - } - if ( - field === "cost" && - score.valueType === "number" && - typeof score.value === "number" - ) { - return `$${score.value.toFixed(4)}`; - } - if ( - field === "latency" && - score.valueType === "number" && - typeof score.value === "number" - ) { - return `${(+score.value / 1000).toFixed(2)}s`; - } - if (score.valueType === "boolean") { - return score.value === 1 ? "True" : "False"; - } - if ( - field === "model" && - score.valueType === "string" && - typeof score.value === "string" - ) { - return ; - } - return score.value; - }; - - const getScoreAttribute = (key: string) => { - switch (key) { - case "cost": - return "Cost"; - case "model": - return "Model"; - case "dateCreated": - return "Date Created"; - case "latency": - return "Latency"; - default: - return key; - } - }; - const renderComparisonCell = ( - field: string, - scores: ExperimentScores, - changeInfo: any, - ) => { - switch (field) { - case "dateCreated": - return ( - - {formatDate(scores.dataset.scores.dateCreated.value as string) === - formatDate(scores.hypothesis.scores.dateCreated.value as string) - ? "same" - : "changed"} - - ); - case "cost": - const changeClass = - changeInfo.change < 0 - ? "bg-green-50 text-green-700 ring-green-200" - : changeInfo.change > 0 - ? "bg-red-50 text-red-700 ring-red-200" - : "bg-gray-50 text-gray-700 ring-gray-200"; - return ( - - {`${changeInfo.change > 0 ? "+" : ""}${changeInfo.change} (${ - changeInfo.percentageChange - }%)`} - - ); - case "latency": - const changeLatencyClass = - changeInfo.change < 0 - ? "bg-green-50 text-green-700 ring-green-200" - : changeInfo.change > 0 - ? "bg-red-50 text-red-700 ring-red-200" - : "bg-gray-50 text-gray-700 ring-gray-200"; - return ( - - {`${changeInfo.change > 0 ? "+" : ""}${( - changeInfo.change / 1000 - ).toFixed(2)} (${changeInfo.percentageChange}%)`} - - ); - case "model": - return ( - - {scores.dataset.scores.model === scores.hypothesis.scores.model - ? "same" - : "changed"} - - ); - default: - return scores.dataset.scores[field].valueType === "boolean" ? ( - - {scores.dataset.scores[field].value === - scores.hypothesis.scores[field].value - ? "same" - : "changed"} - - ) : ( - - {`${changeInfo.change > 0 ? "+" : ""}${changeInfo.change} (${ - changeInfo.percentageChange - }%)`} - - ); - } - }; - - const renderScoreValue = (value: any) => { - if (value instanceof Date) { - return value.toLocaleDateString(); - } - if (typeof value === "string" && !isNaN(Date.parse(value))) { - return new Date(value).toLocaleDateString(); - } - - return value; - }; - - const getTableData = (scores: ExperimentScores) => { - if (!scores || !scores.dataset.scores) { - return []; - } - - const experimentScoresAttributes = Object.keys(scores.dataset.scores); - - return experimentScoresAttributes.map((field) => { - const datasetScore = scores.dataset.scores[field]; - const hypothesisScore = scores.hypothesis.scores[field]; - const comparisonCell = - field !== "model" && field !== "dateCreated" - ? hypothesisScore - ? renderComparisonCell( - field, - scores, - calculateChange( - datasetScore.value as number, - hypothesisScore.value as number, - ), - ) - : "N/A" - : renderComparisonCell(field, scores, null); - - return { - score_key: getScoreAttribute(field), - dataset: getScoreValue(datasetScore, field), - hypothesis: hypothesisScore - ? getScoreValue(hypothesisScore, field) - : "N/A", - compare: hypothesisScore ? comparisonCell : "N/A", - }; - }); - }; - return ( - <> -
-

- Overview -

-
- ( -
- {score.score_key} -
- ), - }, - { - key: "dataset", - header: "Original prompt", - render: (score) => ( -
{score.dataset}
- ), - }, - { - key: "hypothesis", - header: "Experiment prompt", - render: (score) => ( -
{score.hypothesis}
- ), - }, - { - key: "compare", - header: "Compare", - render: (score) => ( -
{score.compare}
- ), - }, - ]} - /> - - ); -}; - -export default ScoresTable; diff --git a/web/components/templates/prompts/experiments/table/AddColumnDialog.tsx b/web/components/templates/prompts/experiments/table/AddColumnDialog.tsx deleted file mode 100644 index 4ca8681531..0000000000 --- a/web/components/templates/prompts/experiments/table/AddColumnDialog.tsx +++ /dev/null @@ -1,159 +0,0 @@ -import { useOrg } from "@/components/layout/org/organizationContext"; -import { getJawnClient } from "@/lib/clients/jawn"; -import { Dialog, DialogContent } from "@/components/ui/dialog"; -import { useQuery, useQueryClient } from "@tanstack/react-query"; -import { useEffect, useState } from "react"; -import { FlaskConicalIcon } from "lucide-react"; -import { Badge } from "@/components/ui/badge"; -import PromptPlayground, { PromptObject } from "../../id/promptPlayground"; -import { useJawnClient } from "@/lib/clients/jawnHook"; -import { logger } from "@/lib/telemetry/logger"; - -const AddColumnDialog = ({ - isOpen, - onOpenChange, - selectedForkFromPromptVersionId, - experimentId, - originalColumnPromptVersionId, - numberOfExistingPromptVersions, -}: { - isOpen: boolean; - onOpenChange: (open: boolean) => void; - selectedForkFromPromptVersionId?: string | null; - experimentId: string; - originalColumnPromptVersionId: string; - numberOfExistingPromptVersions: number; -}) => { - const jawn = useJawnClient(); - const queryClient = useQueryClient(); - - const org = useOrg(); - const orgId = org?.currentOrg?.id; - - const { data: promptVersionTemplateData } = useQuery({ - queryKey: ["promptVersionTemplate", selectedForkFromPromptVersionId], - queryFn: async () => { - if (!selectedForkFromPromptVersionId || !orgId) { - return null; - } - const jawnClient = getJawnClient(orgId); - const res = await jawnClient.GET("/v1/prompt/version/{promptVersionId}", { - params: { - path: { - promptVersionId: selectedForkFromPromptVersionId, - }, - }, - }); - - return res.data?.data; - }, - enabled: !!selectedForkFromPromptVersionId && !!orgId, - }); - - const [basePrompt, setBasePrompt] = useState( - promptVersionTemplateData?.helicone_template ?? "", - ); - - useEffect(() => { - setBasePrompt(promptVersionTemplateData?.helicone_template ?? ""); - }, [promptVersionTemplateData]); - - return ( - - -
-
- -

- Add Prompt -

-
-

- Forked from -

- - - {(promptVersionTemplateData?.metadata?.label as string) ?? - `v${promptVersionTemplateData?.major_version}.${promptVersionTemplateData?.minor_version}`} - -
-
-
- - {promptVersionTemplateData && basePrompt && ( - {}} - className="rounded-md border border-slate-200 dark:border-slate-700" - onSubmit={async (history, model) => { - const promptData = { - model: model, - messages: history.map((msg) => { - if (typeof msg === "string") { - return msg; - } - return { - role: msg.role, - content: [ - { - text: msg.content, - type: "text", - }, - ], - }; - }), - }; - - const result = await jawn.POST( - // "/v1/prompt/version/{promptVersionId}/subversion", - "/v2/experiment/{experimentId}/prompt-version", - { - params: { - path: { - experimentId: experimentId, - }, - }, - body: { - newHeliconeTemplate: JSON.stringify(promptData), - isMajorVersion: false, - experimentId: experimentId, - parentPromptVersionId: - selectedForkFromPromptVersionId ?? "", - bumpForMajorPromptVersionId: originalColumnPromptVersionId, // TODO: this will change based on other things later - metadata: { - label: `Prompt ${numberOfExistingPromptVersions + 1}`, - }, - }, - }, - ); - - queryClient.invalidateQueries({ - queryKey: ["experimentPromptVersions", orgId, experimentId], - }); - queryClient.invalidateQueries({ - queryKey: ["experimentInputKeys", orgId, experimentId], - }); - - if (result.error || !result.data) { - logger.error({ result }, "Error occurred"); - return; - } - - onOpenChange(false); - }} - onPromptChange={(prompt) => { - setBasePrompt(prompt); - }} - submitText="Create Prompt" - initialModel={promptVersionTemplateData?.model ?? "gpt-4o"} - editMode={false} - /> - )} -
-
- ); -}; - -export default AddColumnDialog; diff --git a/web/components/templates/prompts/experiments/table/AddColumnHeader.tsx b/web/components/templates/prompts/experiments/table/AddColumnHeader.tsx deleted file mode 100644 index 5c4de9a679..0000000000 --- a/web/components/templates/prompts/experiments/table/AddColumnHeader.tsx +++ /dev/null @@ -1,114 +0,0 @@ -import { useEffect, useState } from "react"; -import { PlusIcon } from "@heroicons/react/24/outline"; -import { Button } from "@/components/ui/button"; -import { - DropdownMenu, - DropdownMenuContent, - DropdownMenuItem, - DropdownMenuLabel, - DropdownMenuTrigger, -} from "@/components/ui/dropdown-menu"; -import AddColumnDialog from "./AddColumnDialog"; -import { FreeTierLimitWrapper } from "@/components/shared/FreeTierLimitWrapper"; - -interface AddColumnHeaderProps { - promptVersionId: string; - experimentId: string; - selectedProviderKey: string | null; - handleAddColumn: ( - columnName: string, - columnType: "experiment" | "input" | "output", - hypothesisId?: string, - promptVersionId?: string, - promptVariables?: string[], - ) => Promise; - wrapText: boolean; - originalColumnPromptVersionId: string; - experimentPromptVersions: { - id: string; - metadata: Record; - major_version: number; - minor_version: number; - }[]; - numberOfExistingPromptVersions?: number; - disabled?: boolean; -} - -const AddColumnHeader: React.FC = ({ - promptVersionId, - experimentId, - selectedProviderKey, - handleAddColumn, - wrapText, - originalColumnPromptVersionId, - experimentPromptVersions, - numberOfExistingPromptVersions = 0, - disabled = false, -}) => { - const [isAddDialogOpen, setIsAddDialogOpen] = useState(false); - const [isDropdownOpen, setIsDropdownOpen] = useState(false); - - const [selectedForkFromPromptVersionId, setSelectedForkFromPromptVersionId] = - useState(null); - useEffect(() => { - if (!isAddDialogOpen) { - setSelectedForkFromPromptVersionId(null); - } - }, [isAddDialogOpen]); - - const buttonElement = ( - - ); - - return ( - <> - {disabled ? ( - - {buttonElement} - - ) : ( - - {buttonElement} - - - Fork new prompt from - - {experimentPromptVersions?.map((pv, i) => ( - { - e.preventDefault(); - setSelectedForkFromPromptVersionId(pv.id); - setIsAddDialogOpen(true); - setIsDropdownOpen(false); - }} - > - {(pv?.metadata?.label as string) ?? - `v${pv?.major_version}.${pv?.minor_version}`} - - ))} - - - )} - - - ); -}; - -export default AddColumnHeader; diff --git a/web/components/templates/prompts/experiments/table/AddManualRowPanel.tsx b/web/components/templates/prompts/experiments/table/AddManualRowPanel.tsx deleted file mode 100644 index 7ac2a58b87..0000000000 --- a/web/components/templates/prompts/experiments/table/AddManualRowPanel.tsx +++ /dev/null @@ -1,169 +0,0 @@ -import MarkdownEditor from "@/components/shared/markdownEditor"; -import { - Accordion, - AccordionContent, - AccordionItem, - AccordionTrigger, -} from "@/components/ui/accordion"; -import { Badge } from "@/components/ui/badge"; -import { Button } from "@/components/ui/button"; -import { TextCursorInputIcon, TriangleAlertIcon, XIcon } from "lucide-react"; -import { useEffect, useState, useRef } from "react"; -import { useExperimentTable } from "./hooks/useExperimentTable"; -import { - AlertDialog, - AlertDialogFooter, - AlertDialogCancel, - AlertDialogContent, - AlertDialogDescription, - AlertDialogHeader, - AlertDialogTitle, - AlertDialogTrigger, - AlertDialogAction, -} from "@/components/ui/alert-dialog"; - -interface AddManualRowPanelProps { - experimentId: string; - inputKeys: string[]; - onClose: () => void; -} - -const AddManualRowPanel = ({ - experimentId, - inputKeys, - onClose, -}: AddManualRowPanelProps) => { - const { addManualRow } = useExperimentTable(experimentId); - const [inputKV, setInputKV] = useState>( - Object.fromEntries(inputKeys.map((key) => [key, ""])), - ); - const [showAlertDialog, setShowAlertDialog] = useState(false); - const accordionRef = useRef(null); - - const hasUnsavedChanges = Object.entries(inputKV).some( - ([key, value]) => value !== "", - ); - - useEffect(() => { - const keydownHandler = (e: KeyboardEvent) => { - if (e.key === "Escape") { - if (hasUnsavedChanges) { - setShowAlertDialog(true); - } else { - onClose(); - } - } - }; - document.addEventListener("keydown", keydownHandler); - return () => document.removeEventListener("keydown", keydownHandler); - }, [onClose, hasUnsavedChanges]); - - const handleSaveChanges = () => { - addManualRow.mutate({ - inputs: inputKV, - }); - onClose(); - }; - - const handleAccordionToggle = () => { - if (accordionRef.current) { - (accordionRef.current as HTMLElement).scrollIntoView({ - behavior: "smooth", - block: "start", - }); - } - }; - - return ( -
-
-
- -

- Add inputs -

-
-
- {hasUnsavedChanges && ( - - - Unsaved changes - - )} - -
-
-
- - {inputKeys.map((inputKey) => ( - - - {inputKey}: - - - { - setInputKV({ - ...inputKV, - [inputKey]: text, - }); - }} - language="json" - /> - - - ))} - -
- {hasUnsavedChanges && ( -
- - - - - - - Discard changes - - You made changes to your inputs. Do you want to discard them? - - - - Go back - - Yes, discard - - - - - - -
- )} -
- ); -}; - -export default AddManualRowPanel; diff --git a/web/components/templates/prompts/experiments/table/EditInputsPanel.tsx b/web/components/templates/prompts/experiments/table/EditInputsPanel.tsx deleted file mode 100644 index bf30a56aa0..0000000000 --- a/web/components/templates/prompts/experiments/table/EditInputsPanel.tsx +++ /dev/null @@ -1,208 +0,0 @@ -import MarkdownEditor from "@/components/shared/markdownEditor"; -import { - Accordion, - AccordionContent, - AccordionItem, - AccordionTrigger, -} from "@/components/ui/accordion"; -import { Badge } from "@/components/ui/badge"; -import { Button } from "@/components/ui/button"; -import { TextCursorInputIcon, TriangleAlertIcon, XIcon } from "lucide-react"; -import { useEffect, useState, useRef } from "react"; -import { useExperimentTable } from "./hooks/useExperimentTable"; -import { - AlertDialog, - AlertDialogFooter, - AlertDialogCancel, - AlertDialogContent, - AlertDialogDescription, - AlertDialogHeader, - AlertDialogTitle, - AlertDialogTrigger, - AlertDialogAction, -} from "@/components/ui/alert-dialog"; - -interface EditInputsPanelProps { - experimentId: string; - inputRecord: { - id: string; - inputKV: Record; - } | null; - inputKeys: string[]; - onClose: () => void; - autoInputs: Record; -} - -const EditInputsPanel = ({ - experimentId, - inputRecord, - inputKeys, - onClose, - autoInputs, -}: EditInputsPanelProps) => { - const { updateExperimentTableRow } = useExperimentTable(experimentId); - const [inputKV, setInputKV] = useState(inputRecord?.inputKV ?? {}); - const [showAlertDialog, setShowAlertDialog] = useState(false); - const accordionRef = useRef(null); - - const hasUnsavedChanges = Object.entries(inputKV).some( - ([key, value]) => value !== inputRecord?.inputKV[key], - ); - - useEffect(() => { - const keydownHandler = (e: KeyboardEvent) => { - if (e.key === "Escape") { - if (hasUnsavedChanges) { - setShowAlertDialog(true); - } else { - onClose(); - } - } - }; - document.addEventListener("keydown", keydownHandler); - return () => document.removeEventListener("keydown", keydownHandler); - }, [onClose, hasUnsavedChanges]); - - useEffect(() => { - setInputKV(inputRecord?.inputKV ?? {}); - }, [inputRecord]); - - const handleSaveChanges = () => { - updateExperimentTableRow.mutate({ - inputRecordId: inputRecord?.id ?? "", - inputs: inputKV, - }); - onClose(); - }; - - const [openAccordions, setOpenAccordions] = useState(inputKeys); - - const handleAccordionToggle = () => { - if (accordionRef.current) { - (accordionRef.current as HTMLElement).scrollIntoView({ - behavior: "smooth", - block: "start", - }); - } - }; - - return ( -
-
-
- -

- Edit inputs -

-
-
- {hasUnsavedChanges && ( - - - Unsaved changes - - )} - { - if (hasUnsavedChanges) { - setShowAlertDialog(true); - } else { - onClose(); - } - }} - /> -
-
-
- - {inputKeys.map((inputKey) => ( - - - {inputKey}: - {!openAccordions.includes(inputKey) && ( - - {inputKV[inputKey]} - - )} - - - { - setInputKV({ - ...inputKV, - [inputKey]: text, - }); - }} - language="json" - /> - - - ))} - - {autoInputs && Object.keys(autoInputs).length > 0 && ( -
- {Object.entries(autoInputs).map(([key, value]) => ( -
-

{key}

-

{JSON.stringify(value)}

-
- ))} -
- )} -
- {hasUnsavedChanges && ( -
- - - - - - - Discard changes - - You made changes to your inputs. Do you want to discard them? - - - - Go back - - Yes, discard - - - - - - -
- )} -
- ); -}; - -export default EditInputsPanel; diff --git a/web/components/templates/prompts/experiments/table/ExperimentTable.tsx b/web/components/templates/prompts/experiments/table/ExperimentTable.tsx deleted file mode 100644 index 3294ed26e3..0000000000 --- a/web/components/templates/prompts/experiments/table/ExperimentTable.tsx +++ /dev/null @@ -1,837 +0,0 @@ -import { Button } from "@/components/ui/button"; -import { - Popover, - PopoverContent, - PopoverTrigger, -} from "@/components/ui/popover"; -import { - Table, - TableBody, - TableCell, - TableHead, - TableHeader, - TableRow, -} from "@/components/ui/table"; -import { - ResizableHandle, - ResizablePanel, - ResizablePanelGroup, -} from "@/components/ui/resizable"; -import { IslandContainer } from "@/components/ui/islandContainer"; -import HcBreadcrumb from "@/components/ui/hcBreadcrumb"; -import { Switch } from "@/components/ui/switch"; -import { useQueryClient } from "@tanstack/react-query"; -import { - createColumnHelper, - flexRender, - getCoreRowModel, - useReactTable, -} from "@tanstack/react-table"; -import clsx from "clsx"; -import { ListIcon, PlayIcon, PlusIcon, Trash2Icon } from "lucide-react"; -import { useCallback, useMemo, useRef, useState } from "react"; -import ExperimentInputSelector from "../experimentInputSelector"; -import { ExperimentRandomInputSelector } from "../experimentRandomInputSelector"; -import AddColumnDialog from "./AddColumnDialog"; -import AddColumnHeader from "./AddColumnHeader"; -import AddManualRowPanel from "./AddManualRowPanel"; -import { HypothesisCellRenderer } from "./cells/HypothesisCellRenderer"; -import { AddRowPopover } from "./components/addRowPopover"; -import { - ExperimentTableHeader, - IndexColumnCell, - InputCell, - InputsHeaderComponent, - PromptColumnHeader, -} from "./components/tableElementsRenderer"; -import EditInputsPanel from "./EditInputsPanel"; -import { useExperimentTable } from "./hooks/useExperimentTable"; -import ScoresEvaluatorsConfig from "./scores/ScoresEvaluatorsConfig"; -import ScoresGraphContainer from "./scores/ScoresGraphContainer"; -import { cn } from "@/lib/utils"; -import { - DropdownMenu, - DropdownMenuContent, - DropdownMenuItem, - DropdownMenuTrigger, -} from "@/components/ui/dropdown-menu"; -import ExperimentDatasetSelector from "../experimentDatasetSelector"; -import ImportCSVDialog from "./ImportCSVDialog"; -import { useFeatureLimit } from "@/hooks/useFreeTierLimit"; -import { FreeTierLimitBanner } from "@/components/shared/FreeTierLimitBanner"; - -type TableDataType = { - index: number; - inputs: Record; - autoInputs: any[]; - rowRecordId: string; - add_prompt: string; - originalInputRecordId: string; - [key: `prompt_version_${string}`]: { - request_id: string; - input_record_id: string; - }; -}; - -export function ExperimentTable({ - experimentTableId, -}: { - experimentTableId: string; -}) { - const { - experimentTableQuery, - promptVersionTemplateData, - promptVersionsData, - addExperimentTableRowInsertBatch, - addExperimentTableRowInsertFromDatasetBatch, - inputKeysData, - wrapText, - deleteSelectedRows, - deletePromptVersion, - } = useExperimentTable(experimentTableId); - - // Variant limit check - const variantCount = promptVersionsData?.length || 0; - const { - canCreate: canCreateVariant, - hasAccess: hasAccess, - freeLimit: MAX_VARIANTS, - } = useFeatureLimit("experiments", variantCount, "variants"); - - const [popoverOpen, setPopoverOpen] = useState(false); - const [showExperimentInputSelector, setShowExperimentInputSelector] = - useState(false); - const [showRandomInputSelector, setShowRandomInputSelector] = useState(false); - const [showExperimentDatasetSelector, setShowExperimentDatasetSelector] = - useState(false); - const [rightPanel, setRightPanel] = useState< - "edit_inputs" | "add_manual" | null - >(null); - const [toEditInputRecord, setToEditInputRecord] = useState<{ - id: string; - inputKV: Record; - autoInputs: Record; - } | null>(null); - const [showScores, setShowScores] = useState(false); - const [showDeleteRowsConfirmation, setShowDeleteRowsConfirmation] = - useState(false); - - const cellRefs = useRef>({}); - const [ - externallySelectedForkFromPromptVersionId, - setExternallySelectedForkFromPromptVersionId, - ] = useState(null); - const [isAddColumnDialogOpen, setIsAddColumnDialogOpen] = useState(false); - const [showImportCsvModal, setShowImportCsvModal] = useState(false); - - const [rowSelection, setRowSelection] = useState({}); - - const columnHelper = createColumnHelper(); - - const columnDef: ReturnType[] = useMemo( - () => [ - columnHelper.group({ - id: "index__outer", - header: () => - table.getIsSomeRowsSelected() || table.getIsAllRowsSelected() ? ( -
- - - - -
- ) : ( -
- - - - - - - - - { - await Promise.all( - (promptVersionsData ?? []).map(async (pv) => { - const rows = table.getRowModel().rows; - await Promise.all( - rows.map(async (row) => { - const cellRef = - cellRefs.current[`${row.id}-${pv.id}`]; - if (cellRef) { - await cellRef.runHypothesis(); - } - }), - ); - }), - ); - }} - > - Run all cells - - { - await Promise.all( - (promptVersionsData ?? []).map(async (pv) => { - const rows = table.getRowModel().rows; - await Promise.all( - rows.map(async (row) => { - const cellRef = - cellRefs.current[`${row.id}-${pv.id}`]; - if (cellRef) { - await cellRef.runHypothesisIfRequired(); - } - }), - ); - }), - ); - }} - > - Run unexecuted cells - - - -
- ), - columns: [ - columnHelper.accessor("index", { - header: () => <>, - cell: ({ row }) => ( - { - await Promise.all( - (promptVersionsData ?? []).map((pv) => { - const cellRef = cellRefs.current[`${row.id}-${pv.id}`]; - if (cellRef) { - cellRef.runHypothesis(); - } - }), - ); - }} - /> - ), - size: 80, - enableResizing: false, - }), - ], - }), - columnHelper.group({ - id: "inputs__outer", - header: () => ( - - ), - columns: [ - columnHelper.accessor("inputs", { - header: () => ( - - ), - cell: ({ row }) => ( - { - setToEditInputRecord({ - id: row.original.originalInputRecordId ?? "", - inputKV: row.original.inputs, - autoInputs: row.original.autoInputs, - }); - setRightPanel("edit_inputs"); - }} - /> - ), - size: 250, - enableResizing: true, - }), - ], - }), - ...(promptVersionsData ?? []).map((pv) => - columnHelper.group({ - id: `prompt_version_${pv.id}__outer`, - header: () => ( - { - deletePromptVersion.mutate({ - promptVersionId: pv.id, - }); - } - : undefined - } - onForkColumn={() => { - setExternallySelectedForkFromPromptVersionId(pv.id); - setIsAddColumnDialogOpen(true); - }} - onRunColumn={async () => { - const rows = table.getRowModel().rows; - - await Promise.all( - rows.map(async (row) => { - const cellRef = cellRefs.current[`${row.id}-${pv.id}`]; - if (cellRef) { - await cellRef.runHypothesis(); - } - }), - ); - }} - /> - ), - columns: [ - columnHelper.accessor(`prompt_version_${pv.id}`, { - header: () => ( - { - setExternallySelectedForkFromPromptVersionId( - promptVersionId, - ); - setIsAddColumnDialogOpen(true); - }} - /> - ), - cell: ({ row }) => ( - { - if (el) { - cellRefs.current[`${row.id}-${pv.id}`] = el; - } - }} - experimentTableId={experimentTableId} - requestId={ - row.original[`prompt_version_${pv.id}`]?.request_id ?? "" - } - inputRecordId={row.original.rowRecordId ?? ""} - prompt={promptVersionTemplateData} - promptVersionId={pv.id} - /> - ), - size: 400, - }), - ], - }), - ), - columnHelper.group({ - id: "add_prompt__outer", - header: () => ( - {}} - wrapText={false} - originalColumnPromptVersionId={promptVersionsData?.[0]?.id ?? ""} - experimentPromptVersions={ - promptVersionsData?.map((pv) => ({ - id: pv.id, - metadata: pv.metadata ?? {}, - major_version: pv.major_version, - minor_version: pv.minor_version, - })) ?? [] - } - numberOfExistingPromptVersions={ - promptVersionsData?.length ? promptVersionsData.length - 1 : 0 - } - disabled={!canCreateVariant} - /> - ), - columns: [ - columnHelper.accessor("add_prompt", { - header: () => <>, - cell: ({ row }) =>
, - }), - ], - }), - ], - // eslint-disable-next-line react-hooks/exhaustive-deps - [ - inputKeysData, - promptVersionsData, - experimentTableQuery, - experimentTableId, - promptVersionTemplateData, - setExternallySelectedForkFromPromptVersionId, - setIsAddColumnDialogOpen, - ], - ); - - const tableData = useMemo(() => { - if (!experimentTableQuery?.rows || !promptVersionsData) return []; - - return experimentTableQuery.rows.map((row, i) => ({ - index: i + 1, - inputs: row.inputs, - rowRecordId: row.id, - ...(promptVersionsData ?? []).reduce( - (acc, pv) => ({ - ...acc, - [`prompt_version_${pv.id}`]: row.requests.find( - (r) => r.prompt_version_id === pv.id, - ), - }), - {}, - ), - add_prompt: "", - autoInputs: row.auto_prompt_inputs, - originalInputRecordId: - row.requests.find( - (r) => - r.prompt_version_id === - experimentTableQuery?.copied_original_prompt_version, - )?.input_record_id ?? "", - })); - }, [ - experimentTableQuery?.rows, - promptVersionsData, - experimentTableQuery?.copied_original_prompt_version, - ]); - - const tableConfig = useMemo( - () => ({ - data: tableData, - columns: columnDef, - state: { - rowSelection, - }, - onRowSelectionChange: setRowSelection, - defaultColumn: { - minSize: 50, - maxSize: 1000, - size: 200, - enableResizing: true, - }, - getCoreRowModel: getCoreRowModel(), - enableColumnResizing: true, - enableRowSelection: true, - columnResizeMode: "onChange" as const, - }), - [tableData, columnDef, rowSelection], - ); - - const table = useReactTable(tableConfig); - - const handleAddRowInsertBatch = useCallback( - ( - rows: { - inputRecordId: string; - inputs: Record; - autoInputs: any[]; - }[], - ) => { - const newRows = rows.map((row) => ({ - inputRecordId: row.inputRecordId, - inputs: row.inputs, - autoInputs: row.autoInputs, - })); - - if (!newRows.length) return; - - addExperimentTableRowInsertBatch.mutate({ - rows: newRows, - }); - }, - [addExperimentTableRowInsertBatch], - ); - - const handleAddRowInsertBatchFromDataset = useCallback( - (datasetId: string) => { - addExperimentTableRowInsertFromDatasetBatch.mutate({ - datasetId, - }); - }, - [addExperimentTableRowInsertFromDatasetBatch], - ); - - const queryClient = useQueryClient(); - - const handleShowScoresChange = useCallback( - (checked: boolean) => { - if (!checked) { - queryClient.setQueryData(["selectedScoreKey", experimentTableId], null); - queryClient.setQueryData(["experimentScores", experimentTableId], {}); - - for (const promptVersion of promptVersionsData ?? []) { - queryClient.setQueryData( - ["experimentScores", experimentTableId, promptVersion.id], - {}, - ); - } - } - setShowScores(checked); - }, - // eslint-disable-next-line react-hooks/exhaustive-deps - [queryClient, experimentTableId], - ); - - return ( - <> -
- - - -
- {!(table.getIsSomeRowsSelected() || table.getIsAllRowsSelected()) ? ( -
- - Show scores - - - - Wrap text - - { - queryClient.setQueryData( - ["wrapText", experimentTableId], - checked, - ); - }} - /> -
- ) : ( - - )} -
-
- - {/* Variant limit warning banner */} - {!canCreateVariant && ( - - )} - -
- - -
- {showScores && ( -
- {promptVersionsData && ( - ({ - ...pv, - metadata: pv.metadata ?? {}, - }))} - experimentId={experimentTableId} - /> - )} -
- -
-
- )} -
-
- - - {table.getHeaderGroups().map((headerGroup, i) => ( - - {headerGroup.headers.map((header, index) => ( - - {header.isPlaceholder - ? null - : flexRender( - header.column.columnDef.header, - header.getContext(), - )} -
-
-
- - ))} - - ))} - - - {table.getRowModel().rows?.length ? ( - table.getRowModel().rows.map((row) => ( - { - if ( - table.getIsSomeRowsSelected() || - table.getIsAllRowsSelected() - ) { - e.preventDefault(); - e.stopPropagation(); - e.nativeEvent.stopImmediatePropagation(); - row.getToggleSelectedHandler()(e); - } - }} - onMouseDown={(e) => { - if ( - table.getIsSomeRowsSelected() || - table.getIsAllRowsSelected() - ) { - e.preventDefault(); - e.stopPropagation(); - } - }} - key={row.id} - data-state={row.getIsSelected() && "selected"} - className={cn( - "border-b border-slate-200 hover:bg-white dark:border-slate-800 dark:hover:bg-neutral-950 dark:data-[state=selected]:bg-slate-900", - (table.getIsSomeRowsSelected() || - table.getIsAllRowsSelected()) && - "pointer-events-auto cursor-pointer", - )} - > - {row.getVisibleCells().map((cell) => ( - - {flexRender( - cell.column.columnDef.cell, - cell.getContext(), - )} - - ))} - - )) - ) : ( - - - No results. - - - )} - -
-
- - - - - - setRightPanel("add_manual")} - setShowExperimentInputSelector={ - setShowExperimentInputSelector - } - setShowRandomInputSelector={setShowRandomInputSelector} - setShowExperimentDatasetSelector={ - setShowExperimentDatasetSelector - } - setShowImportCsvModal={setShowImportCsvModal} - /> - - -
- - {}} - /> - - {}} - /> - - {}} - /> -
-
- - {/* Add right panel if needed */} - {rightPanel && ( - <> - - -
- {rightPanel === "edit_inputs" && ( - { - setToEditInputRecord(null); - setRightPanel(null); - }} - /> - )} - {rightPanel === "add_manual" && ( - setRightPanel(null)} - /> - )} -
-
- - )} -
- - key) ?? []} - /> -
- - ); -} diff --git a/web/components/templates/prompts/experiments/table/ImportCSVDialog.tsx b/web/components/templates/prompts/experiments/table/ImportCSVDialog.tsx deleted file mode 100644 index ae51125a9d..0000000000 --- a/web/components/templates/prompts/experiments/table/ImportCSVDialog.tsx +++ /dev/null @@ -1,312 +0,0 @@ -import { Button } from "@/components/ui/button"; -import { - DialogContent, - DialogDescription, - DialogFooter, - DialogHeader, - DialogTitle, -} from "@/components/ui/dialog"; - -import { Dialog } from "@/components/ui/dialog"; -import { cn } from "@/lib/utils"; -import { InfoIcon, Trash2 } from "lucide-react"; -import { useState } from "react"; -import Papa from "papaparse"; -import { useMutation, useQueryClient } from "@tanstack/react-query"; -import { useJawnClient } from "@/lib/clients/jawnHook"; -import useNotification from "@/components/shared/notification/useNotification"; -import { useOrg } from "@/components/layout/org/organizationContext"; -import { - Accordion, - AccordionContent, - AccordionItem, - AccordionTrigger, -} from "@/components/ui/accordion"; - -const ImportCSVDialog = ({ - open, - onOpenChange, - experimentId, - experimentPromptInputKeys, -}: { - open: boolean; - onOpenChange: (open: boolean) => void; - experimentId: string; - experimentPromptInputKeys: string[]; -}) => { - const [dragActive, setDragActive] = useState(false); - const [file, setFile] = useState(null); - const [rows, setRows] = useState[]>([]); - - const handleDrag = (e: React.DragEvent) => { - e.preventDefault(); - e.stopPropagation(); - if (e.type === "dragenter" || e.type === "dragover") { - setDragActive(true); - } else if (e.type === "dragleave") { - setDragActive(false); - } - }; - - const handleFileParse = (file: File) => { - const reader = new FileReader(); - - reader.onload = (e) => { - const csv = e.target?.result as string; - const parsed = Papa.parse(csv, { - header: true, - skipEmptyLines: true, - transformHeader: (header) => header.trim(), - transform: (value) => value.trim(), - }); - - const limitedRows = (parsed.data as Record[]).slice( - 0, - 100, - ); - setFile(file); - setRows(limitedRows); - }; - reader.readAsText(file); - }; - - const handleFileChange = (e: React.ChangeEvent) => { - const files = e.target.files; - if (files && files.length > 0) { - handleFileParse(files[0]); - } - }; - - const handleDrop = (e: React.DragEvent) => { - e.preventDefault(); - e.stopPropagation(); - setDragActive(false); - const files = e.dataTransfer.files; - if (files && files.length > 0) { - handleFileParse(files[0]); - } - }; - - const jawn = useJawnClient(); - const { setNotification } = useNotification(); - const queryClient = useQueryClient(); - const org = useOrg(); - const orgId = org?.currentOrg?.id; - - const handleImport = useMutation({ - mutationFn: async () => { - const result = await jawn.POST( - `/v2/experiment/{experimentId}/add-manual-rows-batch`, - { - params: { - path: { - experimentId, - }, - }, - body: { - inputs: rows, - }, - }, - ); - - if (result.error || !result.data) { - throw new Error("Failed to import rows"); - } - }, - onSuccess: () => { - onOpenChange(false); - setFile(null); - setRows([]); - queryClient.invalidateQueries({ - queryKey: ["experimentTable", orgId, experimentId], - }); - }, - onError: () => { - setNotification("Failed to import rows", "error"); - }, - }); - - return ( - - - - Import from CSV - {experimentPromptInputKeys.length > 0 && ( - - Import rows from a CSV file with the variable names as the columns{" "} - - ( - {experimentPromptInputKeys.length > 3 - ? experimentPromptInputKeys.slice(0, 3).join(", ") + ", ..." - : experimentPromptInputKeys.join(", ")} - - ). - - )} - - - - ); -}; - -export default ImportCSVDialog; diff --git a/web/components/templates/prompts/experiments/table/cells/HypothesisCellRenderer.tsx b/web/components/templates/prompts/experiments/table/cells/HypothesisCellRenderer.tsx deleted file mode 100644 index d8bfcf53e6..0000000000 --- a/web/components/templates/prompts/experiments/table/cells/HypothesisCellRenderer.tsx +++ /dev/null @@ -1,340 +0,0 @@ -import React, { - forwardRef, - useEffect, - useImperativeHandle, - useState, -} from "react"; -import { Button } from "@/components/ui/button"; -import { PlayIcon } from "@heroicons/react/24/outline"; -import { - Popover, - PopoverContent, - PopoverTrigger, -} from "@/components/ui/popover"; -import { ScrollArea } from "@/components/ui/scroll-area"; -import clsx from "clsx"; -import PromptPlayground from "../../../id/promptPlayground"; -import { - useExperimentRequestData, - useExperimentTable, -} from "../hooks/useExperimentTable"; -import { useQuery, useQueryClient } from "@tanstack/react-query"; -import { useJawnClient } from "../../../../../../lib/clients/jawnHook"; -import { TriangleAlertIcon } from "lucide-react"; -import { - Tooltip, - TooltipContent, - TooltipTrigger, -} from "@/components/ui/tooltip"; - -export type HypothesisCellRef = { - runHypothesis: () => Promise; -}; - -export const HypothesisCellRenderer = forwardRef< - HypothesisCellRef, - { - requestId?: string; - prompt?: any; - experimentTableId: string; - inputRecordId: string; - promptVersionId: string; - } ->( - ( - { requestId, prompt, experimentTableId, inputRecordId, promptVersionId }, - ref, - ) => { - const [running, setRunning] = useState(false); - const initialModel = prompt?.model || ""; - const [hypothesisRequestId, setHypothesisRequestId] = useState< - string | null - >(requestId ?? ""); - const [content, setContent] = useState(null); - const [playgroundPrompt, setPlaygroundPrompt] = useState(null); - - const { requestsData, isRequestsLoading } = useExperimentRequestData( - hypothesisRequestId ?? "", - ); - const jawnClient = useJawnClient(); - - useEffect(() => { - setHypothesisRequestId(requestId ?? ""); - }, [requestId]); - - const { runHypothesis, wrapText, selectedScoreKey } = - useExperimentTable(experimentTableId); - - const { data: promptTemplate } = useQuery({ - queryKey: ["promptTemplate", promptVersionId], - queryFn: async () => { - if (!promptVersionId) return null; - - const res = await jawnClient.GET( - "/v1/prompt/version/{promptVersionId}", - { - params: { - path: { - promptVersionId: promptVersionId, - }, - }, - }, - ); - - const parentPromptVersion = await jawnClient.GET( - "/v1/prompt/version/{promptVersionId}", - { - params: { - path: { - promptVersionId: res.data?.data?.parent_prompt_version ?? "", - }, - }, - }, - ); - - return { - ...res.data?.data, - parent_prompt_version: parentPromptVersion?.data?.data, - }; - }, - staleTime: Infinity, - refetchOnWindowFocus: false, - refetchOnMount: false, - refetchOnReconnect: false, - }); - - const queryClient = useQueryClient(); - - const { data: score } = useQuery({ - queryKey: [ - "experimentScore", - experimentTableId, - hypothesisRequestId, - selectedScoreKey, - ], - queryFn: async () => { - if (!hypothesisRequestId || !selectedScoreKey) return null; - - const res = await jawnClient.GET( - "/v2/experiment/{experimentId}/{requestId}/{scoreKey}", - { - params: { - path: { - experimentId: experimentTableId, - requestId: hypothesisRequestId, - scoreKey: selectedScoreKey, - }, - }, - }, - ); - - const promptVersionIdScores = queryClient.getQueryData<{ - data: Record; - }>(["experimentScores", experimentTableId, promptVersionId]); - - return { - cellValue: res.data?.data, - max: promptVersionIdScores?.data?.[selectedScoreKey]?.max, - min: promptVersionIdScores?.data?.[selectedScoreKey]?.min, - avg: promptVersionIdScores?.data?.[selectedScoreKey]?.value, - }; - }, - enabled: !!hypothesisRequestId && !!selectedScoreKey, - refetchOnWindowFocus: false, - refetchOnMount: false, - refetchOnReconnect: false, - }); - - const handleCellClick = (e: React.MouseEvent) => { - e.stopPropagation(); - }; - - useEffect(() => { - if ( - requestsData?.responseBody?.response?.choices?.[0]?.message?.content - ) { - setContent( - requestsData.responseBody.response.choices[0].message.content, - ); - setRunning(false); - } else if ( - // if the initial model is claude - requestsData?.responseBody?.response?.content && - requestsData?.responseBody?.response?.content?.length > 0 - ) { - setContent(requestsData.responseBody.response.content[0].text); - setRunning(false); - } - }, [ - requestsData?.responseBody?.response?.choices, - requestsData?.responseBody?.response?.content, - ]); - - useEffect(() => { - if (content || (promptTemplate?.helicone_template as any)?.messages) { - setPlaygroundPrompt({ - model: initialModel, - messages: [ - ...((promptTemplate?.helicone_template as any)?.messages ?? []), - content - ? { - role: "assistant", - content: content, - } - : null, - ], - }); - } - }, [content, promptTemplate?.helicone_template, initialModel]); - - const handleRunHypothesis = async (e?: React.MouseEvent) => { - e?.stopPropagation(); - setRunning(true); - const res = await runHypothesis.mutateAsync({ - promptVersionId, - inputRecordId, - }); - - if (res) { - setHypothesisRequestId(res); - } - setRunning(false); - }; - - const handleRunHypothesisIfRequired = async (e?: React.MouseEvent) => { - e?.stopPropagation(); - if (!content) { - await handleRunHypothesis(e); - } - }; - - useImperativeHandle(ref, () => ({ - runHypothesis: () => handleRunHypothesis(), - runHypothesisIfRequired: () => handleRunHypothesisIfRequired(), - })); - - if (running) { - return ( -
-
-
- Generating... -
-
- ); - } - - if (isRequestsLoading) { - return ( -
-
-
- Loading... -
-
- ); - } - - if (hypothesisRequestId && content) { - return ( - - -
- -
- {selectedScoreKey && score && ( -
-
score.avg - ? "bg-green-500" - : "bg-red-500", - )} - >
-

- {selectedScoreKey.replace("-hcone-bool", "")}:{" "} - {score.cellValue?.value} -

-
- )} -
- {content} -
-
-
- {new Date(promptTemplate?.updated_at ?? "").getTime() > - new Date( - requestsData?.request_created_at ?? "", - ).getTime() && ( - - - - - - Prompt has changed since this cell was last run - - - )} -
-
-
- - - - - -
- ); - } else { - return ( - - ); - } - }, -); - -HypothesisCellRenderer.displayName = "HypothesisCellRenderer"; diff --git a/web/components/templates/prompts/experiments/table/cells/OriginalMessagesCellRenderer.tsx b/web/components/templates/prompts/experiments/table/cells/OriginalMessagesCellRenderer.tsx deleted file mode 100644 index 3f29f2ac25..0000000000 --- a/web/components/templates/prompts/experiments/table/cells/OriginalMessagesCellRenderer.tsx +++ /dev/null @@ -1,68 +0,0 @@ -import React, { useState } from "react"; -import { - Popover, - PopoverContent, - PopoverTrigger, -} from "@/components/ui/popover"; -import { ScrollArea } from "@/components/ui/scroll-area"; -import clsx from "clsx"; -import PromptPlayground from "../../../id/promptPlayground"; - -export const OriginalMessagesCellRenderer: React.FC = (params) => { - const { data, colDef, context, prompt, wrapText } = params; - const hypothesisId = colDef.field; - - const [showPromptPlayground, setShowPromptPlayground] = useState(false); - const content = data[hypothesisId]; - const parsedData = data.messages; - const handleCellClick = (e: React.MouseEvent) => { - e.stopPropagation(); - setShowPromptPlayground(true); - }; - - const formatPromptForPlayground = (): any => { - return { - model: prompt?.model || "", - messages: JSON.parse(parsedData || "[]"), - }; - }; - - return ( - - -
- {content && content !== "{}" ? ( -
- {content} -
- ) : ( -
- )} -
-
- - - { - setShowPromptPlayground(false); - }} - submitText="Save" - initialModel={prompt?.model || ""} - isPromptCreatedFromUi={false} - defaultEditMode={false} - editMode={false} - playgroundMode="experiment" - chatType="request" - /> - - -
- ); -}; diff --git a/web/components/templates/prompts/experiments/table/cells/OriginalOutputCellRenderer.tsx b/web/components/templates/prompts/experiments/table/cells/OriginalOutputCellRenderer.tsx deleted file mode 100644 index 41dec36971..0000000000 --- a/web/components/templates/prompts/experiments/table/cells/OriginalOutputCellRenderer.tsx +++ /dev/null @@ -1,266 +0,0 @@ -import React, { useState, useMemo } from "react"; -import { Button } from "@/components/ui/button"; -import { PlayIcon } from "@heroicons/react/24/outline"; -import { logger } from "@/lib/telemetry/logger"; -import { - Popover, - PopoverContent, - PopoverTrigger, -} from "@/components/ui/popover"; -import PromptPlayground from "../../../id/promptPlayground"; -import { ScrollArea } from "@/components/ui/scroll-area"; - -import clsx from "clsx"; -import { useExperimentRequestData } from "../hooks/useExperimentTable"; - -export const OriginalOutputCellRenderer = ({ - requestId, - prompt, - wrapText, -}: { - requestId: string; - prompt?: any; - wrapText: boolean; -}) => { - const { requestsData, isRequestsLoading } = - useExperimentRequestData(requestId); - const [showPromptPlayground, setShowPromptPlayground] = useState(false); - - // const content = requestsData?.responseBody; - const content = useMemo(() => { - const message = requestsData?.responseBody?.response?.choices?.[0]?.message; - - if (message?.content) { - return message.content; - } - - // If there are tool calls, extract the content from the arguments - if (message?.tool_calls && message.tool_calls.length > 0) { - let extractedContent = ""; - for (const toolCall of message.tool_calls) { - if (toolCall.function?.arguments) { - try { - const args = JSON.parse(toolCall.function.arguments); - // If the content is in args.content - if (args.content) { - extractedContent += args.content + "\n"; - } - // If there's an array of titles in args.titles - if (args.titles && Array.isArray(args.titles)) { - extractedContent += args.titles.join("\n") + "\n"; - } - // Add any other properties you need to extract here - } catch (e) { - logger.error( - { - error: e, - toolCall, - }, - "Failed to parse tool call arguments", - ); - continue; - } - } - } - return extractedContent.trim(); - } - - return ""; - }, [requestsData]); - - const handleCellClick = (e: React.MouseEvent) => { - e.stopPropagation(); - setShowPromptPlayground(true); - }; - - const formatPromptForPlayground = (): any => { - return { - model: prompt?.model || "", - messages: [ - ...(prompt?.helicone_template?.messages || []), - { - role: "assistant", - content: content, - }, - ], - }; - }; - - return ( - - -
- {content ? ( -
- {content} -
- ) : ( -
- -
- )} -
-
- - - { - setShowPromptPlayground(false); - }} - submitText="Save" - initialModel={prompt?.model || ""} - isPromptCreatedFromUi={false} - defaultEditMode={false} - editMode={false} - playgroundMode="experiment" - chatType="response" - /> - - -
- ); -}; - -// export const OriginalOutputCellRenderer: React.FC = (params) => { -// const { data, prompt, wrapText } = params; -// const [showPromptPlayground, setShowPromptPlayground] = useState(false); - -// const content = useMemo(() => { -// const message = cellData?.value?.response?.choices?.[0]?.message; - -// // If there's direct content, use it -// if (message?.content) { -// return message.content; -// } - -// // If there are tool calls, extract the content from the arguments -// if (message?.tool_calls && message.tool_calls.length > 0) { -// let extractedContent = ""; -// for (const toolCall of message.tool_calls) { -// if (toolCall.function?.arguments) { -// try { -// const args = JSON.parse(toolCall.function.arguments); -// // If the content is in args.content -// if (args.content) { -// extractedContent += args.content + "\n"; -// } -// // If there's an array of titles in args.titles -// if (args.titles && Array.isArray(args.titles)) { -// extractedContent += args.titles.join("\n") + "\n"; -// } -// // Add any other properties you need to extract here -// } catch (e) { -// console.error("Failed to parse tool call arguments:", e); -// continue; -// } -// } -// } -// return extractedContent.trim(); -// } - -// return ""; -// }, [cellData]); - -// const handleCellClick = (e: React.MouseEvent) => { -// e.stopPropagation(); -// setShowPromptPlayground(true); -// }; - -// const formatPromptForPlayground = (): any => { -// return { -// model: prompt?.model || "", -// messages: [ -// ...(prompt?.helicone_template?.messages || []), -// { -// role: "assistant", -// content: content, -// }, -// ], -// }; -// }; - -// if (cellData?.status === "running") { -// return ( -//
-// -//
Generating...
-//
-// ); -// } - -// return ( -// -// -//
-// {content ? ( -//
-// {content} -//
-// ) : ( -//
-// -//
-// )} -//
-//
-// -// -// { -// setShowPromptPlayground(false); -// }} -// submitText="Save" -// initialModel={prompt?.model || ""} -// isPromptCreatedFromUi={false} -// defaultEditMode={false} -// editMode={false} -// playgroundMode="experiment" -// chatType="response" -// /> -// -// -//
-// ); -// }; diff --git a/web/components/templates/prompts/experiments/table/cells/types.ts b/web/components/templates/prompts/experiments/table/cells/types.ts deleted file mode 100644 index 06b36d46de..0000000000 --- a/web/components/templates/prompts/experiments/table/cells/types.ts +++ /dev/null @@ -1,5 +0,0 @@ -export type CellData = { - cellId: string; - value: any; - status: "initialized" | "running" | "success"; -}; diff --git a/web/components/templates/prompts/experiments/table/components/addRowPopover.tsx b/web/components/templates/prompts/experiments/table/components/addRowPopover.tsx deleted file mode 100644 index 1423ce4095..0000000000 --- a/web/components/templates/prompts/experiments/table/components/addRowPopover.tsx +++ /dev/null @@ -1,85 +0,0 @@ -import { - FolderIcon, - PencilIcon, - TableCellsIcon, -} from "@heroicons/react/24/outline"; -import { Button } from "../../../../../ui/button"; -import { Dices, UploadIcon } from "lucide-react"; - -interface AddRowPopoverProps { - setPopoverOpen: (open: boolean) => void; - setShowAddManualRow: () => void; - setShowExperimentInputSelector: (open: boolean) => void; - setShowRandomInputSelector: (open: boolean) => void; - setShowExperimentDatasetSelector: (open: boolean) => void; - setShowImportCsvModal: (open: boolean) => void; -} - -export const AddRowPopover: React.FC = ({ - setPopoverOpen, - setShowAddManualRow, - setShowExperimentInputSelector, - setShowRandomInputSelector, - setShowExperimentDatasetSelector, - setShowImportCsvModal, -}) => { - return ( -
- - - - - -
- ); -}; diff --git a/web/components/templates/prompts/experiments/table/components/customButtonts.tsx b/web/components/templates/prompts/experiments/table/components/customButtonts.tsx deleted file mode 100644 index e0b3a0c61c..0000000000 --- a/web/components/templates/prompts/experiments/table/components/customButtonts.tsx +++ /dev/null @@ -1,162 +0,0 @@ -import { - AdjustmentsHorizontalIcon, - ChevronDownIcon, - Cog6ToothIcon, - ExclamationTriangleIcon, -} from "@heroicons/react/24/outline"; -import { Button } from "../../../../../ui/button"; -import { - DropdownMenu, - DropdownMenuContent, - DropdownMenuGroup, - DropdownMenuItem, - DropdownMenuLabel, - DropdownMenuSeparator, - DropdownMenuTrigger, -} from "../../../../../ui/dropdown-menu"; -import { useState } from "react"; -import { Check } from "lucide-react"; -import { Switch } from "../../../../../ui/switch"; -import { InfoBox } from "../../../../../ui/helicone/infoBox"; -import ProviderKeySelector from "../providerKeySelector"; - -const ColumnsDropdown: React.FC<{ - wrapText: boolean; - setWrapText: (wrap: boolean) => void; - columnView: "all" | "inputs" | "outputs"; - setColumnView: (view: "all" | "inputs" | "outputs") => void; -}> = ({ wrapText, setWrapText, columnView, setColumnView }) => { - const [combineInputColumns, setCombineInputColumns] = useState(false); - - return ( - - - - - - Columns - - - { - e.preventDefault(); - e.stopPropagation(); - setColumnView("all"); - }} - > - {columnView === "all" && } - Show all - - { - e.preventDefault(); - e.stopPropagation(); - setColumnView("inputs"); - }} - > - {columnView === "inputs" && } - Show inputs only - - { - e.preventDefault(); - e.stopPropagation(); - setColumnView("outputs"); - }} - > - {columnView === "outputs" && } - Show outputs only - - - - Views - - - event.stopPropagation()} - onCheckedChange={setCombineInputColumns} - className="mr-2" - /> - Combine input columns - - - event.stopPropagation()} - onCheckedChange={setWrapText} - className="mr-2" - /> - Wrap text - - - - - ); -}; - -const ProviderKeyDropdown: React.FC<{ - providerKey: string | null; - setProviderKey: (key: string) => void; -}> = ({ providerKey, setProviderKey }) => { - const [open, setOpen] = useState(false); - - return ( - - - - - { - e.stopPropagation(); - e.preventDefault(); - }} - align="end" - > - - - Settings - - {!providerKey && ( - -

- - Please select a provider key to run experiments. You can change - your mind at any time. - -

-
- )} - -
- { - setProviderKey(key); - // Don't close the dropdown - // setOpen(false); - }} - defaultProviderKey={providerKey} - /> -
-
-
- ); -}; - -export { ColumnsDropdown, ProviderKeyDropdown }; diff --git a/web/components/templates/prompts/experiments/table/components/inputEditor.tsx b/web/components/templates/prompts/experiments/table/components/inputEditor.tsx deleted file mode 100644 index 43d485aadb..0000000000 --- a/web/components/templates/prompts/experiments/table/components/inputEditor.tsx +++ /dev/null @@ -1,150 +0,0 @@ -"use client"; - -import React, { useState, useRef, useEffect } from "react"; -import { Card } from "@/components/ui/card"; -import { Label } from "@/components/ui/label"; - -interface InputEditorProps { - initialContent: string; - onContentChange: (content: string) => void; - isEditing: boolean; -} - -export default function InputEditor({ - initialContent, - onContentChange, - isEditing, -}: InputEditorProps) { - const [content, setContent] = useState(initialContent); - - const editorRef = useRef(null); - - // Function to escape HTML characters - const escapeHTML = (str: string) => { - return str.replace(/[&<>"']/g, (char) => { - const escapeChars: { [key: string]: string } = { - "&": "&", - "<": "<", - ">": ">", - '"': """, - "'": "'", - }; - return escapeChars[char] || char; - }); - }; - - // Function to highlight YAML-like syntax - const highlightYAML = (text: string) => { - return text - .split(/\n/) - .map((line) => { - const [key, ...rest] = line.split(":"); - if (rest.length) { - const restOfLine = rest.join(":"); - return `${escapeHTML( - key, - )}:${escapeHTML(restOfLine)}`; - } - return escapeHTML(line); - }) - .join("\n"); - }; - - // Function to get cursor position - const getCaretCharacterOffsetWithin = (element: Node) => { - let caretOffset = 0; - const selection = window.getSelection(); - if (selection && selection.rangeCount > 0) { - const range = selection.getRangeAt(0); - const preCaretRange = range.cloneRange(); - preCaretRange.selectNodeContents(element); - preCaretRange.setEnd(range.endContainer, range.endOffset); - caretOffset = preCaretRange.toString().length; - } - return caretOffset; - }; - - // Function to set cursor position - const setCaretPosition = (element: Node, offset: number) => { - const selection = window.getSelection(); - if (!selection) return; - const range = document.createRange(); - let charIndex = 0; - let nodeStack = [element]; - let node: Node | undefined; - - while (nodeStack.length > 0 && (node = nodeStack.pop())) { - if (node.nodeType === Node.TEXT_NODE) { - const text = node.textContent || ""; - const nextCharIndex = charIndex + text.length; - if (offset >= charIndex && offset <= nextCharIndex) { - range.setStart(node, offset - charIndex); - range.collapse(true); - selection.removeAllRanges(); - selection.addRange(range); - return; - } - charIndex = nextCharIndex; - } else { - let i = node.childNodes.length; - while (i--) { - nodeStack.push(node.childNodes[i]); - } - } - } - }; - - // Handle input event to update content and cursor - const handleInput = (event: React.FormEvent) => { - const newContent = event.currentTarget.innerText || ""; - if (editorRef.current) { - const caretOffset = getCaretCharacterOffsetWithin(editorRef.current); - - setContent(newContent); - onContentChange(newContent); // Notify parent of content change - - requestAnimationFrame(() => { - if (editorRef.current) { - editorRef.current.innerHTML = highlightYAML(newContent); - setCaretPosition(editorRef.current, caretOffset); - } - }); - } - }; - - // Initialize editor content with highlighting - useEffect(() => { - if (editorRef.current) { - editorRef.current.innerHTML = highlightYAML(content); - } - }, [content]); - - // Update content if initialContent prop changes - useEffect(() => { - setContent(initialContent); - }, [initialContent]); - - return ( - - -
- {editorRef.current ? null : highlightYAML(content)} -
-
- ); -} diff --git a/web/components/templates/prompts/experiments/table/components/newExperimentPopover.tsx b/web/components/templates/prompts/experiments/table/components/newExperimentPopover.tsx deleted file mode 100644 index 81391746c8..0000000000 --- a/web/components/templates/prompts/experiments/table/components/newExperimentPopover.tsx +++ /dev/null @@ -1,183 +0,0 @@ -import { useState } from "react"; -import { PopoverContent } from "@/components/ui/popover"; -import { ScrollArea } from "@/components/ui/scroll-area"; -import { Input } from "@/components/ui/input"; -import { BeakerIcon } from "@heroicons/react/24/outline"; -import { useRouter } from "next/router"; -import PromptPlayground, { PromptObject } from "../../../id/promptPlayground"; -import { Input as PromptInput } from "../../../id/MessageInput"; -import useNotification from "../../../../../shared/notification/useNotification"; -import { useJawnClient } from "../../../../../../lib/clients/jawnHook"; - -export const NewExperimentPopover = () => { - const notification = useNotification(); - const jawn = useJawnClient(); - const [basePrompt, setBasePrompt] = useState({ - model: "gpt-4", - messages: [ - { - id: "1", - role: "system", - content: "You are a helpful assistant.", - _type: "message", - }, - ], - }); - - const router = useRouter(); - - const [selectedInput, setSelectedInput] = useState({ - id: "", - inputs: {}, - source_request: "", - prompt_version: "", - created_at: "", - auto_prompt_inputs: [], - response_body: "", - }); - - const [promptName, setPromptName] = useState(""); - const [promptVariables, setPromptVariables] = useState< - Array<{ original: string; heliconeTag: string; value: string }> - >([]); - - const [inputs, setInputs] = useState<{ variable: string; value: string }[]>([ - { variable: "sectionTitle", value: "The universe" }, - ]); - - const handleInputChange = ( - index: number, - field: "variable" | "value", - newValue: string, - ) => { - const newInputs = [...inputs]; - newInputs[index][field] = newValue; - setInputs(newInputs); - }; - - const addNewInput = () => { - setInputs([...inputs, { variable: "", value: "" }]); - }; - - const handlePromptChange = (newPrompt: string | PromptObject) => { - setBasePrompt(newPrompt as PromptObject); - }; - - const handleCreateExperiment = async () => { - if (!promptName || !basePrompt) { - notification.setNotification( - "Please enter a prompt name and content", - "error", - ); - return; - } - - if (!basePrompt.model) { - notification.setNotification("Please select a model", "error"); - return; - } - - const res = await jawn.POST("/v1/prompt/create", { - body: { - userDefinedId: promptName, - prompt: basePrompt, - metadata: { - createdFromUi: true, - }, - }, - }); - if (res.error || !res.data) { - notification.setNotification("Failed to create prompt", "error"); - return; - } - - if (!res.data?.data?.id || !res.data?.data?.prompt_version_id) { - notification.setNotification("Failed to create prompt", "error"); - return; - } - - const dataset = await jawn.POST("/v1/helicone-dataset", { - body: { - datasetName: "Dataset for Experiment", - requestIds: [], - }, - }); - if (!dataset.data?.data?.datasetId) { - notification.setNotification("Failed to create dataset", "error"); - return; - } - - const experimentTableResult = await jawn.POST("/v1/experiment/table/new", { - body: { - datasetId: dataset.data?.data?.datasetId!, - promptVersionId: res.data?.data?.prompt_version_id!, - newHeliconeTemplate: JSON.stringify(basePrompt), - isMajorVersion: false, - promptSubversionMetadata: { - experimentAssigned: true, - }, - experimentMetadata: { - prompt_id: res.data?.data?.id!, - prompt_version: res.data?.data?.prompt_version_id!, - experiment_name: `${promptName}_V1.0` || "", - }, - experimentTableMetadata: { - datasetId: dataset.data?.data?.datasetId!, - model: basePrompt.model, - prompt_id: res.data?.data?.id!, - prompt_version: res.data?.data?.prompt_version_id!, - }, - }, - }); - if (!experimentTableResult.data?.data?.experimentId) { - notification.setNotification("Failed to create experiment", "error"); - return; - } - - await router.push( - `/experiments/${experimentTableResult.data?.data?.tableId}`, - ); - }; - - return ( - - -
-
- -

Original Prompt

-
- setPromptName(e.target.value)} - /> - - setPromptVariables( - variables.map((variable) => ({ - original: variable.original, - heliconeTag: variable.heliconeTag, - value: variable.value, - })), - ) - } - onPromptChange={handlePromptChange} - /> -
-
-
- ); -}; diff --git a/web/components/templates/prompts/experiments/table/components/settingsPannel.tsx b/web/components/templates/prompts/experiments/table/components/settingsPannel.tsx deleted file mode 100644 index 79cfee84b4..0000000000 --- a/web/components/templates/prompts/experiments/table/components/settingsPannel.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import ThemedDrawer from "../../../../../shared/themed/themedDrawer"; -import ProviderKeyList from "../../../../enterprise/portal/id/providerKeyList"; - -interface SettingsPanelProps { - setSelectedProviderKey: (key: string | null) => void; - open: boolean; - setOpen: (open: boolean) => void; - defaultProviderKey: string | null; -} - -const SettingsPanel: React.FC = ({ - defaultProviderKey, - setSelectedProviderKey, - open, - setOpen, -}) => { - return ( - -
-

Settings

- -
-
- ); -}; - -export default SettingsPanel; diff --git a/web/components/templates/prompts/experiments/table/components/startFromPromptDialog.tsx b/web/components/templates/prompts/experiments/table/components/startFromPromptDialog.tsx deleted file mode 100644 index eb63563be9..0000000000 --- a/web/components/templates/prompts/experiments/table/components/startFromPromptDialog.tsx +++ /dev/null @@ -1,380 +0,0 @@ -import { usePromptVersions } from "../../../../../../services/hooks/prompts/prompts"; -import { useState } from "react"; -import { Select, SelectContent, SelectItem } from "../../../../../ui/select"; -import { ScrollArea } from "../../../../../ui/scroll-area"; -import { SelectTrigger, SelectValue } from "../../../../../ui/select"; -import { Button } from "../../../../../ui/button"; -import { FileTextIcon } from "lucide-react"; -import { Dialog, DialogContent, DialogTrigger } from "../../../../../ui/dialog"; -import { BeakerIcon, PlusIcon } from "@heroicons/react/24/outline"; -import useNotification from "../../../../../shared/notification/useNotification"; -import { useJawnClient } from "../../../../../../lib/clients/jawnHook"; -import { useRouter } from "next/router"; -import PromptPlayground, { PromptObject } from "../../../id/promptPlayground"; -import { Input } from "../../../../../ui/input"; -import LoadingAnimation from "../../../../../shared/loadingAnimation"; - -export const NewExperimentDialog = () => { - const notification = useNotification(); - const [basePrompt, setBasePrompt] = useState({ - model: "gpt-4", - messages: [ - { - id: "1", - role: "system", - content: "You are a helpful assistant.", - _type: "message", - }, - ], - }); - - const router = useRouter(); - const jawn = useJawnClient(); - - const [selectedInput, setSelectedInput] = useState({ - id: "", - inputs: {}, - source_request: "", - prompt_version: "", - created_at: "", - auto_prompt_inputs: [], - response_body: "", - }); - - const [isLoading, setIsLoading] = useState(false); - - const [promptName, setPromptName] = useState(""); - const [promptVariables, setPromptVariables] = useState< - Array<{ original: string; heliconeTag: string; value: string }> - >([]); - - const [inputs, setInputs] = useState<{ variable: string; value: string }[]>([ - { variable: "sectionTitle", value: "The universe" }, - ]); - - const handleInputChange = ( - index: number, - field: "variable" | "value", - newValue: string, - ) => { - const newInputs = [...inputs]; - newInputs[index][field] = newValue; - setInputs(newInputs); - }; - - const addNewInput = () => { - setInputs([...inputs, { variable: "", value: "" }]); - }; - - const handlePromptChange = (newPrompt: string | PromptObject) => { - setBasePrompt(newPrompt as PromptObject); - }; - - const handleCreateExperiment = async () => { - setIsLoading(true); - if (!promptName || !basePrompt) { - notification.setNotification( - "Please enter a prompt name and content", - "error", - ); - setIsLoading(false); - return; - } - - if (!basePrompt.model) { - notification.setNotification("Please select a model", "error"); - setIsLoading(false); - return; - } - - const res = await jawn.POST("/v1/prompt/create", { - body: { - userDefinedId: promptName, - prompt: basePrompt, - metadata: { - createdFromUi: true, - }, - }, - }); - if (res.error || !res.data) { - notification.setNotification("Failed to create prompt", "error"); - setIsLoading(false); - return; - } - - if (!res.data?.data?.id || !res.data?.data?.prompt_version_id) { - notification.setNotification("Failed to create prompt", "error"); - setIsLoading(false); - return; - } - - const dataset = await jawn.POST("/v1/helicone-dataset", { - body: { - datasetName: "Dataset for Experiment", - requestIds: [], - }, - }); - if (!dataset.data?.data?.datasetId) { - notification.setNotification("Failed to create dataset", "error"); - setIsLoading(false); - return; - } - - const experiment = await jawn.POST("/v1/experiment/new-empty", { - body: { - metadata: { - prompt_id: res.data?.data?.id!, - prompt_version: res.data?.data?.prompt_version_id!, - experiment_name: `${promptName}_V1.0` || "", - }, - datasetId: dataset.data?.data?.datasetId, - }, - }); - if (!experiment.data?.data?.experimentId) { - notification.setNotification("Failed to create experiment", "error"); - setIsLoading(false); - return; - } - const result = await jawn.POST( - "/v1/prompt/version/{promptVersionId}/subversion", - { - params: { - path: { - promptVersionId: res.data?.data?.prompt_version_id!, - }, - }, - body: { - newHeliconeTemplate: JSON.stringify(basePrompt), - isMajorVersion: false, - metadata: { - experimentAssigned: true, - }, - }, - }, - ); - - if (result.error || !result.data) { - notification.setNotification("Failed to create subversion", "error"); - setIsLoading(false); - return; - } - - notification.setNotification("Prompt created successfully", "success"); - setIsLoading(false); - await router.push( - `/prompts/${res.data?.data?.id}/subversion/${res.data?.data?.prompt_version_id}/experiment/${experiment.data?.data?.experimentId}`, - ); - }; - - return ( - - {isLoading ? ( -
- -

Getting your experiments

-
- ) : ( -
-
- -

Original Prompt

-
- - setPromptName(e.target.value)} - /> - - - setPromptVariables( - variables.map((variable: any) => ({ - original: variable.original, - heliconeTag: variable.heliconeTag, - value: variable.value, - })), - ) - } - onPromptChange={handlePromptChange} - /> -
- )} -
- ); -}; - -interface StartFromPromptDialogProps { - prompts: { - id: string; - user_defined_id: string; - description: string; - pretty_name: string; - created_at: string; - major_version: number; - metadata?: Record; - }[]; - onDialogClose: (open: boolean) => void; -} - -export const StartFromPromptDialog = ({ - prompts, - onDialogClose, -}: StartFromPromptDialogProps) => { - const router = useRouter(); - const [selectedPromptId, setSelectedPromptId] = useState(null); - const notification = useNotification(); - const [selectedVersionId, setSelectedVersionId] = useState( - null, - ); - const jawn = useJawnClient(); - - const { prompts: promptVersions, isLoading: isLoadingVersions } = - usePromptVersions(selectedPromptId ?? ""); - - const handlePromptSelect = (promptId: string) => { - setSelectedPromptId(promptId); - setSelectedVersionId(null); - }; - - const handleCreateExperiment = async () => { - if (!selectedPromptId || !selectedVersionId) { - notification.setNotification( - "Please select a prompt and version", - "error", - ); - return; - } - const promptVersion = promptVersions?.find( - (p) => p.id === selectedVersionId, - ); - const prompt = prompts?.find((p) => p.id === selectedPromptId); - - const experimentTableResult = await jawn.POST("/v2/experiment/new", { - body: { - name: `${prompt?.user_defined_id}_V${promptVersion?.major_version}.${promptVersion?.minor_version}`, - originalPromptVersion: selectedVersionId, - }, - }); - - if (experimentTableResult.error || !experimentTableResult.data) { - notification.setNotification("Failed to create experiment", "error"); - return; - } - - router.push( - `/experiments/${experimentTableResult.data?.data?.experimentId}`, - ); - }; - - return ( - -
-
- -

Start with a prompt

-
- -

- Choose an existing prompt and select the version you want to - experiment on. -

-
- - {prompts && - prompts?.map((prompt) => ( - - ))} - -
- - - - - Create a new prompt - - - - -
-
- -
-

Version

- -
- -
- - -
-
-
- ); -}; diff --git a/web/components/templates/prompts/experiments/table/components/tableElementsRenderer.tsx b/web/components/templates/prompts/experiments/table/components/tableElementsRenderer.tsx deleted file mode 100644 index e0683635db..0000000000 --- a/web/components/templates/prompts/experiments/table/components/tableElementsRenderer.tsx +++ /dev/null @@ -1,682 +0,0 @@ -import { Badge } from "@/components/ui/badge"; -import { - Dialog, - DialogContent, - DialogDescription, - DialogFooter, - DialogTitle, - DialogTrigger, -} from "@/components/ui/dialog"; -import { logger } from "@/lib/telemetry/logger"; -import { Input } from "@/components/ui/input"; -import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; -import { cn } from "@/lib/utils"; -import { useExperimentScores } from "@/services/hooks/prompts/experiment-scores"; -import { PlayIcon, SparklesIcon, XMarkIcon } from "@heroicons/react/24/outline"; -import { useQuery, useQueryClient } from "@tanstack/react-query"; -import { - FlaskConicalIcon, - GitForkIcon, - LightbulbIcon, - Trash2Icon, -} from "lucide-react"; -import { useEffect, useMemo, useRef, useState } from "react"; -import { useJawnClient } from "../../../../../../lib/clients/jawnHook"; -import { Button } from "../../../../../ui/button"; -import ArrayDiffViewer from "../../../id/arrayDiffViewer"; -import PromptPlayground, { PromptObject } from "../../../id/promptPlayground"; -import { useExperimentTable } from "../hooks/useExperimentTable"; -import { useOrg } from "@/components/layout/org/organizationContext"; -import { Checkbox } from "@/components/ui/checkbox"; - -export interface InputEntry { - key: string; - value: string; -} - -interface ExperimentHeaderProps { - experimentId: string; - isOriginal: boolean; - onRunColumn?: () => Promise; - originalPromptTemplate?: any; - promptVersionId?: string; - originalPromptVersionId?: string; - onForkPromptVersion?: (promptVersionId: string) => void; - showScores?: boolean; - originalPrompt?: string; -} - -const icon = (model: string) => { - if (model.includes("gpt")) { - return ( - - - - ); - } - return ; -}; - -const ExperimentTableHeader = (props: ExperimentHeaderProps) => { - const { - promptVersionId, - originalPromptTemplate, - isOriginal, - onForkPromptVersion, - experimentId, - originalPromptVersionId, - } = props; - - const org = useOrg(); - const orgId = org?.currentOrg?.id; - - const [showViewPrompt, setShowViewPrompt] = useState(false); - const jawnClient = useJawnClient(); - - const { data: promptTemplate, isLoading: isPromptTemplateLoading } = useQuery( - { - queryKey: ["promptTemplate", promptVersionId], - queryFn: async () => { - if (!promptVersionId) return null; - - const res = await jawnClient.GET( - "/v1/prompt/version/{promptVersionId}", - { - params: { - path: { - promptVersionId: promptVersionId, - }, - }, - }, - ); - - const parentPromptVersion = await jawnClient.GET( - "/v1/prompt/version/{promptVersionId}", - { - params: { - path: { - promptVersionId: res.data?.data?.parent_prompt_version ?? "", - }, - }, - }, - ); - - return { - ...res.data?.data, - parent_prompt_version: parentPromptVersion?.data?.data, - }; - }, - staleTime: Infinity, - refetchOnWindowFocus: false, - refetchOnMount: false, - refetchOnReconnect: false, - }, - ); - - const queryClient = useQueryClient(); - - const promptVersionIdScore = useQuery<{ - data: Record; - }>({ - queryKey: ["experimentScores", experimentId, promptVersionId], - queryFn: () => { - const scores = queryClient.getQueryData>([ - "experimentScores", - experimentId, - ]); - return scores?.[promptVersionId ?? ""] ?? { data: {} }; - }, - }); - - const { selectedScoreKey } = useExperimentTable(experimentId); - const { getScoreColorMapping } = useExperimentScores(experimentId); - const scoreColorMapping = useMemo(() => { - const scores = Object.keys(promptVersionIdScore.data?.data ?? {}); - return getScoreColorMapping(scores); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [promptVersionIdScore.data?.data]); - - const [basePrompt, setBasePrompt] = useState( - promptTemplate?.helicone_template ?? "", - ); - - useEffect(() => { - setBasePrompt(promptTemplate?.helicone_template ?? ""); - }, [promptTemplate]); - - return ( - - -
setShowViewPrompt(true)} - > -
e.stopPropagation()} - > - {promptVersionIdScore.data && ( -
- {selectedScoreKey ? ( -
e.stopPropagation()} - > -
-

- {(selectedScoreKey ?? "") - .toString() - .replace("-hcone-bool", "") ?? ""} -

- { - e.stopPropagation(); - queryClient.setQueryData( - ["selectedScoreKey", experimentId], - null, - ); - }} - /> -
-
-

- avg:{" "} - { - promptVersionIdScore.data?.data?.[selectedScoreKey] - ?.value - } -

-

- max:{" "} - { - promptVersionIdScore.data?.data?.[selectedScoreKey] - ?.max - } -

-

- min:{" "} - { - promptVersionIdScore.data?.data?.[selectedScoreKey] - ?.min - } -

-
-
- ) : ( - Object.entries( - ( - promptVersionIdScore.data as { - data: Record; - } - )?.data ?? {}, - ).map(([key, value]) => { - const color = scoreColorMapping[key]?.color; - return ( - { - e.stopPropagation(); - queryClient.setQueryData( - ["selectedScoreKey", experimentId], - key, - ); - }} - > -
- {key?.toString().replace("-hcone-bool", "") ?? ""}:{" "} - {value?.value} -
- ); - }) - )} -
- )} -
- {icon(promptTemplate?.model ?? "")} - - {promptTemplate?.model} - -
-
- { - setShowViewPrompt(false); - }} - submitText="Save" - initialModel={promptTemplate?.model ?? ""} - isPromptCreatedFromUi={false} - defaultEditMode={false} - editMode={false} - playgroundMode="experiment-compact" - className="rounded-md border border-slate-200 dark:border-slate-700" - /> -
-
- -
-
- - -

- View Prompt -

-
-
-

- Forked from -

- - - {(promptTemplate?.parent_prompt_version?.metadata - ?.label as string) ?? - `v${promptTemplate?.parent_prompt_version?.major_version}.${promptTemplate?.parent_prompt_version?.minor_version}`} - -
-
-
- - {!isOriginal && ( - - Preview - Diff - - )} - - setBasePrompt(prompt)} - selectedInput={undefined} - onExtractPromptVariables={() => {}} - className="rounded-md border border-slate-200 dark:border-slate-700" - onSubmit={async (history, model) => { - const promptData = { - model: model, - messages: history.map((msg) => { - if (typeof msg === "string") { - return msg; - } - return { - role: msg.role, - content: [ - { - text: msg.content, - type: "text", - }, - ], - }; - }), - }; - - const result = await jawnClient.POST( - "/v1/prompt/version/{promptVersionId}/edit-template", - { - params: { - path: { - promptVersionId: promptVersionId ?? "", - }, - }, - body: { - heliconeTemplate: JSON.stringify(promptData), - experimentId: experimentId ?? "", - }, - }, - ); - - queryClient.invalidateQueries({ - queryKey: ["experimentInputKeys", orgId, experimentId], - }); - queryClient.invalidateQueries({ - queryKey: ["promptTemplate", promptVersionId], - }); - if (result.error || !result.data) { - logger.error( - { - result, - }, - "Failed to get prompt template", - ); - return; - } - - setShowViewPrompt(false); - }} - submitText="Test" - initialModel={promptTemplate?.model ?? "gpt-4o"} - editMode={false} - /> - - - - - -
-
- -

- To make changes, please create a new prompt. -

-
- - -
-
-
- ); -}; - -const InputsHeaderComponent = ({ inputs }: { inputs: string[] }) => { - return ( -
- {inputs?.map((input) => ( - - {input} - - ))} -
- ); -}; - -const PromptColumnHeader = ({ - label, - onForkColumn, - onRunColumn, - promptVersionId, - onDeleteColumn, -}: { - label: string; - onForkColumn?: () => void; - onRunColumn?: () => void; - promptVersionId: string; - onDeleteColumn?: () => void; -}) => { - const [labelData, setLabelData] = useState(label); - const [isEditing, setIsEditing] = useState(false); - const [editedLabel, setEditedLabel] = useState(labelData); - const [isDeleteDialogOpen, setIsDeleteDialogOpen] = useState(false); - const inputRef = useRef(null); - - const jawnClient = useJawnClient(); - // Handle saving the label - const handleSave = async () => { - setIsEditing(false); - setLabelData(editedLabel); - if (editedLabel !== labelData) { - const result = await jawnClient.POST( - "/v1/prompt/version/{promptVersionId}/edit-label", - { - params: { - path: { - promptVersionId: promptVersionId ?? "", - }, - }, - body: { - label: editedLabel, - }, - }, - ); - - setLabelData(result.data?.data?.metadata?.label as string); - if (result.error || !result.data) { - logger.error( - { - result, - }, - "Failed to run experiment", - ); - return; - } - } - }; - - // Focus input when editing starts - useEffect(() => { - if (isEditing) { - inputRef.current?.focus(); - } - }, [isEditing]); - - return ( -
- {promptVersionId === "inputs" ? ( -

- {labelData} -

- ) : isEditing ? ( - setEditedLabel(e.target.value)} - onBlur={handleSave} - onKeyDown={(e) => { - if (e.key === "Enter") { - handleSave(); - } - }} - className="h-auto w-auto rounded border-0 border-none bg-transparent px-[5px] py-0 text-sm font-semibold leading-[130%] text-slate-900 outline-none focus:border-0 focus:shadow-none focus:outline-none focus:ring-0 focus:ring-slate-300 dark:text-slate-100" - /> - ) : ( -

setIsEditing(true)} - className="cursor-pointer rounded border border-dashed border-transparent px-1 text-sm font-semibold leading-[130%] text-slate-900 transition-colors duration-150 hover:border-slate-300 dark:text-slate-100 dark:hover:border-slate-600" - > - {labelData} -

- )} - {onForkColumn && onRunColumn && ( -
- {onDeleteColumn && ( - - - - - - Delete Prompt Version - - Once deleted, this prompt version will no longer be available. - Do you want to delete it? - - - - - - - - )} - - -
- )} -
- ); -}; - -const IndexColumnCell = ({ - index, - onRunRow, - isSelected, - onSelectChange, - areSomeSelected, -}: { - index: number; - onRunRow: () => void; - isSelected: boolean; - areSomeSelected: boolean; - onSelectChange: (e: unknown) => void; -}) => { - return ( -
-
-
-

- {index} -

- -
- -
-
- ); -}; - -const InputCell = ({ - experimentInputs, - experimentAutoInputs, - rowInputs, - onClick, - rowRecordId, -}: { - experimentInputs: string[]; - experimentAutoInputs: any[]; - rowInputs: Record; - onClick: () => void; - rowRecordId: string; -}) => { - const inputs = useQuery({ - queryKey: ["inputs", rowRecordId], - queryFn: () => rowInputs, - }); - - const ref = useRef(null); - - return ( -
-
    - {experimentInputs?.map((input) => ( -
  • - {input}:  - {inputs.data?.[input]?.toString()} -
  • - ))} - {experimentAutoInputs.length > 0 && - experimentAutoInputs?.map((input, index) => ( -
  • - Message {index} - :  - {JSON.stringify(input)} -
  • - ))} -
-
- ); -}; - -export { - ExperimentTableHeader, - IndexColumnCell, - InputCell, - InputsHeaderComponent, - PromptColumnHeader, -}; diff --git a/web/components/templates/prompts/experiments/table/experimentTablePageEmpty.tsx b/web/components/templates/prompts/experiments/table/experimentTablePageEmpty.tsx deleted file mode 100644 index 8c89985b60..0000000000 --- a/web/components/templates/prompts/experiments/table/experimentTablePageEmpty.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import { ExperimentTable } from "./ExperimentTable"; - -interface ExperimentTablePageEmptyProps { - experimentTableId?: string; -} - -const ExperimentTablePageEmpty = (props: ExperimentTablePageEmptyProps) => { - const { experimentTableId } = props; - - return ( -
- -
- ); -}; - -export default ExperimentTablePageEmpty; diff --git a/web/components/templates/prompts/experiments/table/experimentsPage.tsx b/web/components/templates/prompts/experiments/table/experimentsPage.tsx deleted file mode 100644 index 23553a4798..0000000000 --- a/web/components/templates/prompts/experiments/table/experimentsPage.tsx +++ /dev/null @@ -1,280 +0,0 @@ -import { FreeTierLimitBanner } from "@/components/shared/FreeTierLimitBanner"; -import { FreeTierLimitWrapper } from "@/components/shared/FreeTierLimitWrapper"; -import GenericEmptyState from "@/components/shared/helicone/GenericEmptyState"; -import LoadingAnimation from "@/components/shared/loadingAnimation"; -import { Button } from "@/components/ui/button"; -import { - Dialog, - DialogContent, - DialogDescription, - DialogFooter, - DialogHeader, - DialogTitle, -} from "@/components/ui/dialog"; -import { - DropdownMenu, - DropdownMenuContent, - DropdownMenuItem, - DropdownMenuTrigger, -} from "@/components/ui/dropdown-menu"; -import { useFeatureLimit } from "@/hooks/useFreeTierLimit"; -import { - ChevronDownIcon, - FlaskConical, - Plus, - SquareArrowOutUpRight, - Trash2, -} from "lucide-react"; -import Link from "next/link"; -import { useRouter } from "next/router"; -import { useState } from "react"; -import { useJawnClient } from "../../../../../lib/clients/jawnHook"; -import { useExperimentTables } from "../../../../../services/hooks/prompts/experiments"; -import { usePrompts } from "../../../../../services/hooks/prompts/prompts"; -import AuthHeader from "../../../../shared/authHeader"; -import useNotification from "../../../../shared/notification/useNotification"; -import ThemedTable from "../../../../shared/themed/table/themedTableOld"; -import { StartFromPromptDialog } from "./components/startFromPromptDialog"; - -const ExperimentsPage = () => { - const jawn = useJawnClient(); - const notification = useNotification(); - const { prompts } = usePrompts(); - const [dialogOpen, setDialogOpen] = useState(false); - const [deleteDialogOpen, setDeleteDialogOpen] = useState(false); - const [experimentToDelete, setExperimentToDelete] = useState( - null, - ); - const router = useRouter(); - const { experiments, isLoading, deleteExperiment } = useExperimentTables(); - const { setNotification } = useNotification(); - const [headerDropdownOpen, setHeaderDropdownOpen] = useState(false); - const [emptyStateDropdownOpen, setEmptyStateDropdownOpen] = useState(false); - const experimentCount = experiments?.length || 0; - const hasExperiments = !isLoading && experimentCount > 0; - const { canCreate: canCreateExperiment, freeLimit: MAX_EXPERIMENTS } = - useFeatureLimit("experiments", experimentCount); - - if (isLoading) { - return ; - } - - const handleDeleteExperiment = async () => { - if (!experimentToDelete) return; - - try { - await deleteExperiment.mutateAsync(experimentToDelete); - setNotification("Experiment deleted successfully", "success"); - } catch (error) { - setNotification("Failed to delete experiment", "error"); - } finally { - setDeleteDialogOpen(false); - setExperimentToDelete(null); - } - }; - - const handleStartFromScratch = async () => { - setNotification("Creating experiment...", "info"); - const res = await jawn.POST("/v2/experiment/create/empty"); - if (res.error) { - notification.setNotification("Failed to create experiment", "error"); - } else { - router.push(`/experiments/${res.data?.data?.experimentId}`); - } - }; - - if (!hasExperiments && !isLoading) { - return ( -
-
- } - className="w-full" - actions={ - <> - - - - - - - Start from scratch - - setDialogOpen(true)}> - Start from prompt - - - - - - - - } - > - - setDialogOpen(false)} - /> - - -
-
- ); - } - - return ( -
- - - - ) : ( - - - - - - - Start from scratch - - setDialogOpen(true)}> - Start from prompt - - - - ) - } - /> - - {/* Experiment limit warning banner */} - {!canCreateExperiment && ( - - )} - - - setDialogOpen(false)} - /> - - - {/* Delete confirmation dialog */} - - - - Delete Experiment - - - Once deleted, this experiment cannot be recovered. Do you want to - delete it? - - - - - - - - - { - return row.name; - }, - }, - { - header: "Created At", - accessorKey: "created_at", - minSize: 100, - accessorFn: (row) => { - return new Date(row.created_at ?? 0).toLocaleString(); - }, - }, - { - header: "", - accessorKey: "actions", - cell: ({ row }) => ( - - ), - enableSorting: false, - size: 10, - }, - ]} - defaultData={experiments} - dataLoading={isLoading} - id="experiments" - skeletonLoading={false} - onRowSelect={(row) => { - const promptId = row.original_prompt_version; - if (promptId) { - router.push(`/experiments/${row.id}`); - } - }} - fullWidth={true} - /> -
- ); -}; - -export default ExperimentsPage; diff --git a/web/components/templates/prompts/experiments/table/helpers/basePrompt.ts b/web/components/templates/prompts/experiments/table/helpers/basePrompt.ts deleted file mode 100644 index b575fc2e01..0000000000 --- a/web/components/templates/prompts/experiments/table/helpers/basePrompt.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { PromptObject } from "../../../id/promptPlayground"; - -const baseExperimentPrompt: PromptObject = { - model: "gpt-4o-mini", - messages: [ - { - id: "1", - role: "user", - content: "Hi, what can I do in experiments?", - _type: "message", - }, - { - id: "2", - role: "assistant", - content: - "Welcome to the experiments page! This is a space where you can test your prompt with different models, inputs and parameters to see how it performs and get insights on how to improve it!", - _type: "message", - }, - { - id: "3", - role: "user", - content: `What is the average temperature in ?`, - _type: "message", - }, - ], -}; - -function generateRandomPostfix(length: number = 4): string { - const chars = - "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; - let result = ""; - for (let i = 0; i < length; i++) { - result += chars.charAt(Math.floor(Math.random() * chars.length)); - } - return result; -} - -const generateBasePromptName = `city-temperature-prompt-${generateRandomPostfix()}`; - -export function getExampleExperimentPrompt() { - const generateBasePromptName = `city-temperature-prompt-${generateRandomPostfix()}`; - return { - promptName: generateBasePromptName, - basePrompt: baseExperimentPrompt, - }; -} diff --git a/web/components/templates/prompts/experiments/table/hooks/useExperimentTable.tsx b/web/components/templates/prompts/experiments/table/hooks/useExperimentTable.tsx deleted file mode 100644 index 2d087ea5cf..0000000000 --- a/web/components/templates/prompts/experiments/table/hooks/useExperimentTable.tsx +++ /dev/null @@ -1,354 +0,0 @@ -import { useOrg } from "@/components/layout/org/organizationContext"; -import { getJawnClient } from "../../../../../../lib/clients/jawn"; -import { placeAssetIdValues } from "../../../../../../services/lib/requestTraverseHelper"; -import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query"; -import { logger } from "@/lib/telemetry/logger"; - -export type ExperimentTable = { - id: string; - name: string; - experimentId: string; - metadata: Record; - columns: Column[]; -}; - -export type Column = { - id: string; - cells: Cell[]; - metadata: Record; - columnName: string; - columnType: ColumnType; -}; - -export type Cell = { - id: string; - value: string; - status: CellStatus; - metadata: Record; - rowIndex: number; -}; - -export type TableCell = { - value: string | any | null; - cellId: string; - status: CellStatus; - metadata?: Record; -}; - -export type TableRow = { - id: string; - rowIndex: number; - cells: Record; // columnId -> TableCell - deleted?: boolean; -}; - -type ColumnType = "input" | "output" | "experiment"; -type CellStatus = "initialized" | "success" | "running"; - -export const getRequestDataByIds = async ( - orgId: string, - requestIds: string[], -) => { - const jawnClient = getJawnClient(orgId); - const res = await jawnClient.POST("/v1/request/query-ids", { - body: { requestIds }, - }); - return res.data?.data ?? []; -}; - -export const fetchRequestResponseBody = async (request_response: any) => { - if (!request_response.signed_body_url) return null; - try { - const contentResponse = await fetch(request_response.signed_body_url); - if (contentResponse.ok) { - const text = await contentResponse.text(); - let content = JSON.parse(text); - if (request_response.asset_urls) { - content = placeAssetIdValues(request_response.asset_urls, content); - } - return content; - } - } catch (error) { - logger.error({ error }, "Error fetching response body"); - } - return null; -}; - -export const useExperimentRequestData = (requestId?: string) => { - const org = useOrg(); - const orgId = org?.currentOrg?.id; - - const { data: requestsData, isLoading: isRequestsLoading } = useQuery({ - queryKey: ["experimentRequestData", orgId, requestId], - queryFn: async () => { - if (!orgId || !requestId) return null; - const requestsData = await getRequestDataByIds(orgId, [requestId]); - - const responseBody = await fetchRequestResponseBody(requestsData?.[0]); - return { ...requestsData?.[0], responseBody }; - }, - }); - - return { requestsData, isRequestsLoading }; -}; - -export const useExperimentTable = (experimentTableId: string) => { - const org = useOrg(); - const orgId = org?.currentOrg?.id; - const queryClient = useQueryClient(); - - const { data: experimentTableQuery, isLoading: isExperimentTableLoading } = - useQuery({ - queryKey: ["experimentTable", orgId, experimentTableId], - queryFn: async () => { - if (!orgId || !experimentTableId) return null; - - const jawnClient = getJawnClient(orgId); - const res = await jawnClient.GET("/v2/experiment/{experimentId}", { - params: { - path: { - experimentId: experimentTableId, - }, - }, - }); - - return res.data?.data; - }, - }); - - const { data: promptVersionsData, isLoading: isPromptVersionsLoading } = - useQuery({ - queryKey: ["experimentPromptVersions", orgId, experimentTableId], - queryFn: async () => { - if (!orgId || !experimentTableId) return null; - - const jawnClient = getJawnClient(orgId); - const res = await jawnClient.GET( - "/v2/experiment/{experimentId}/prompt-versions", - { - params: { - path: { - experimentId: experimentTableId, - }, - }, - }, - ); - return res.data?.data; - }, - }); - - const { data: inputKeysData, isLoading: isInputKeysLoading } = useQuery({ - queryKey: ["experimentInputKeys", orgId, experimentTableId], - queryFn: async () => { - if (!orgId || !experimentTableId) return null; - - const jawnClient = getJawnClient(orgId); - const res = await jawnClient.GET( - "/v2/experiment/{experimentId}/input-keys", - { - params: { - path: { - experimentId: experimentTableId, - }, - }, - }, - ); - return res.data?.data; - }, - }); - - const promptSubversionId = experimentTableQuery?.original_prompt_version; - - const { - data: promptVersionTemplateData, - isLoading: isPromptVersionTemplateLoading, - } = useQuery({ - queryKey: ["promptVersionTemplate", promptSubversionId], - queryFn: async () => { - if (!orgId || !promptSubversionId) { - return null; - } - const jawnClient = getJawnClient(orgId); - const res = await jawnClient.GET("/v1/prompt/version/{promptVersionId}", { - params: { - path: { - promptVersionId: promptSubversionId, - }, - }, - }); - return res.data?.data; - }, - enabled: !!promptSubversionId, - }); - - const addManualRow = useMutation({ - mutationFn: async ({ inputs }: { inputs: Record }) => { - const jawnClient = getJawnClient(orgId); - - await jawnClient.POST("/v2/experiment/{experimentId}/add-manual-row", { - params: { path: { experimentId: experimentTableId } }, - body: { inputs }, - }); - }, - onSuccess: () => { - queryClient.invalidateQueries({ - queryKey: ["experimentTable", orgId, experimentTableId], - }); - }, - }); - - const addExperimentTableRowInsertBatch = useMutation({ - mutationFn: async ({ - rows, - }: { - rows: { - inputRecordId: string; - inputs: Record; - autoInputs: any[]; - }[]; - }) => { - const jawnClient = getJawnClient(orgId); - await jawnClient.POST("/v2/experiment/{experimentId}/row/insert/batch", { - params: { path: { experimentId: experimentTableId } }, - body: { rows }, - }); - }, - onSuccess: () => { - queryClient.invalidateQueries({ - queryKey: ["experimentTable", orgId, experimentTableId], - }); - }, - }); - - const addExperimentTableRowInsertFromDatasetBatch = useMutation({ - mutationFn: async ({ datasetId }: { datasetId: string }) => { - const jawnClient = getJawnClient(orgId); - await jawnClient.POST( - "/v2/experiment/{experimentId}/row/insert/dataset/{datasetId}", - { - params: { path: { experimentId: experimentTableId, datasetId } }, - }, - ); - }, - onSuccess: () => { - queryClient.invalidateQueries({ - queryKey: ["experimentTable", orgId, experimentTableId], - }); - }, - }); - - const updateExperimentTableRow = useMutation({ - mutationFn: async ({ - inputRecordId, - inputs, - }: { - inputRecordId: string; - inputs: Record; - }) => { - const jawnClient = getJawnClient(orgId); - await jawnClient.POST("/v2/experiment/{experimentId}/row/update", { - params: { path: { experimentId: experimentTableId } }, - body: { inputRecordId, inputs }, - }); - }, - onMutate: async (variables) => { - queryClient.setQueryData( - ["inputs", variables.inputRecordId], - variables.inputs, - ); - }, - }); - - const runHypothesis = useMutation({ - mutationFn: async ({ - promptVersionId, - inputRecordId, - }: { - promptVersionId: string; - inputRecordId: string; - }) => { - const jawnClient = getJawnClient(orgId); - const res = await jawnClient.POST( - "/v2/experiment/{experimentId}/run-hypothesis", - { - params: { path: { experimentId: experimentTableId } }, - body: { promptVersionId, inputRecordId }, - }, - ); - - return res.data?.data; - }, - }); - - const wrapText = useQuery({ - queryKey: ["wrapText", experimentTableId], - queryFn: async () => { - return false; - }, - refetchOnWindowFocus: false, - }); - - const { data: selectedScoreKey } = useQuery({ - queryKey: ["selectedScoreKey", experimentTableId], - queryFn: () => { - return null; - }, - refetchOnMount: false, - refetchOnWindowFocus: false, - enabled: !!experimentTableId, - }); - - const deleteSelectedRows = useMutation({ - mutationFn: async ({ inputRecordIds }: { inputRecordIds: string[] }) => { - const jawnClient = getJawnClient(orgId); - await jawnClient.DELETE("/v2/experiment/{experimentId}/rows", { - params: { path: { experimentId: experimentTableId } }, - body: { inputRecordIds }, - }); - queryClient.invalidateQueries({ - queryKey: ["experimentTable", orgId, experimentTableId], - }); - }, - }); - - const deletePromptVersion = useMutation({ - mutationFn: async ({ promptVersionId }: { promptVersionId: string }) => { - const jawnClient = getJawnClient(orgId); - await jawnClient.DELETE( - "/v2/experiment/{experimentId}/prompt-version/{promptVersionId}", - { - params: { - path: { experimentId: experimentTableId, promptVersionId }, - }, - }, - ); - }, - onSuccess: () => { - queryClient.invalidateQueries({ - queryKey: ["experimentTable", orgId, experimentTableId], - }); - queryClient.invalidateQueries({ - queryKey: ["experimentPromptVersions", orgId, experimentTableId], - }); - }, - }); - return { - experimentTableQuery, - isExperimentTableLoading, - promptVersionsData, - isPromptVersionsLoading, - inputKeysData, - isInputKeysLoading, - promptVersionTemplateData, - isPromptVersionTemplateLoading, - addExperimentTableRowInsertBatch, - addExperimentTableRowInsertFromDatasetBatch, - updateExperimentTableRow, - runHypothesis, - addManualRow, - wrapText, - selectedScoreKey, - deleteSelectedRows, - deletePromptVersion, - }; -}; diff --git a/web/components/templates/prompts/experiments/table/providerKeySelector.tsx b/web/components/templates/prompts/experiments/table/providerKeySelector.tsx deleted file mode 100644 index bd002518b1..0000000000 --- a/web/components/templates/prompts/experiments/table/providerKeySelector.tsx +++ /dev/null @@ -1,424 +0,0 @@ -import { - Dialog, - DialogContent, - DialogHeader, - DialogTitle, -} from "@/components/ui/dialog"; -import { Input } from "@/components/ui/input"; -import { - Select, - SelectContent, - SelectItem, - SelectTrigger, - SelectValue, -} from "@/components/ui/select"; -import { TooltipLegacy as Tooltip } from "@/components/ui/tooltipLegacy"; -import { useHeliconeAuthClient } from "@/packages/common/auth/client/AuthClientFactory"; -import { RadioGroup } from "@headlessui/react"; -import { CheckCircleIcon } from "@heroicons/react/20/solid"; -import { - ArrowPathIcon, - InformationCircleIcon, - KeyIcon, - TrashIcon, -} from "@heroicons/react/24/outline"; -import { useCallback, useState } from "react"; -import { Result } from "@/packages/common/result"; -import { useGetOrgMembers } from "../../../../../services/hooks/organizations"; -import { DecryptedProviderKey } from "../../../../../services/lib/keys"; -import { useOrg } from "../../../../layout/org/organizationContext"; -import { clsx } from "../../../../shared/clsx"; -import useNotification from "../../../../shared/notification/useNotification"; -import ThemedModal from "../../../../shared/themed/themedModal"; -import { SecretInput } from "../../../../shared/themed/themedTable"; -import { Button } from "../../../../ui/button"; -import { useVaultPage } from "../../../vault/useVaultPage"; - -interface ProviderKeySelectorProps { - variant?: "portal" | "basic"; - setProviderKeyCallback?: (key: string) => void; - orgId?: string; // the id of the org that we want to change provider keys for - orgProviderKey?: string; - showTitle?: boolean; - setDecryptedKey?: (key: string) => void; - defaultProviderKey?: string | null; -} - -const ProviderKeySelector = (props: ProviderKeySelectorProps) => { - const { - setProviderKeyCallback, - setDecryptedKey, - orgProviderKey, - variant = "portal", - defaultProviderKey, - } = props; - - const { providerKeys, refetchProviderKeys } = useVaultPage(); - const { setNotification } = useNotification(); - const heliconeAuthClient = useHeliconeAuthClient(); - - const [providerKey, setProviderKey] = useState( - defaultProviderKey || orgProviderKey, - ); - - const [isProviderOpen, setIsProviderOpen] = useState(false); - - const [deleteProviderOpen, setDeleteProviderOpen] = useState(false); - - const [selectedProviderKey, setSelectedProviderKey] = - useState(); - - const [isLoading, setIsLoading] = useState(false); - const org = useOrg(); - const { data: orgMembers } = useGetOrgMembers(org?.currentOrg?.id || ""); - - const changeProviderKeyHandler = useCallback( - async (newProviderKey: string) => { - if (setProviderKeyCallback) { - setProviderKey(newProviderKey); - setProviderKeyCallback(newProviderKey); - return; - } - }, - [setProviderKeyCallback, setProviderKey], - ); - - const deleteProviderKey = async (id: string) => { - fetch(`/api/provider_keys/${id}/delete`, { method: "DELETE" }) - .then(() => { - refetchProviderKeys(); - - setNotification("Provider Key Deleted", "success"); - setDeleteProviderOpen(false); - }) - .catch(() => { - setNotification("Error Deleting Provider Key", "error"); - setDeleteProviderOpen(false); - }); - }; - - return ( - <> -
-
-
-
- - - -
-
- - {providerKeys.length === 0 ? ( - - ) : ( - { - changeProviderKeyHandler(keyId); - }} - > - - Server size - -
- {providerKeys.map((key) => ( - { - if (setDecryptedKey) { - setDecryptedKey(key.provider_key || ""); - } - }} - className={({ active, checked }) => - clsx( - checked - ? "bg-sky-100 ring-sky-300 dark:bg-sky-900 dark:ring-sky-700" - : "bg-white ring-gray-300 dark:bg-black dark:ring-gray-700", - "relative flex cursor-pointer rounded-lg px-2 py-1 shadow-sm ring-1 focus:outline-none", - ) - } - > - {({ active, checked }) => ( - <> -
-
-
-
- {checked && ( - - )} -
- - {key.provider_key_name} - - - - -
-
- -
- - )} -
- ))} -
-
- )} - - -
- - -
-
-
- - - - - Create Provider Key - -
-
- - -
- -
- -
- This will be placed in the{" "} - authorization header with - the Bearer prefix. -
- -
-
- - -
-
- - -
-
-
-
- - -
e.stopPropagation()} - > -

- Delete Provider Key -

-

- This Provider Key will be deleted from your account. All proxy keys - that are mapped to this provider key will be deleted as well. Are - you sure you want to delete this provider key? -

-
- - -
-
-
- - ); -}; - -export default ProviderKeySelector; diff --git a/web/components/templates/prompts/experiments/table/scores/PromptVersion.tsx b/web/components/templates/prompts/experiments/table/scores/PromptVersion.tsx deleted file mode 100644 index 3284d4d32b..0000000000 --- a/web/components/templates/prompts/experiments/table/scores/PromptVersion.tsx +++ /dev/null @@ -1,6 +0,0 @@ -export type PromptVersion = { - id: string; - metadata: Record; - major_version: number; - minor_version: number; -}; diff --git a/web/components/templates/prompts/experiments/table/scores/ScoresEvaluatorsConfig.tsx b/web/components/templates/prompts/experiments/table/scores/ScoresEvaluatorsConfig.tsx deleted file mode 100644 index 2a511dc481..0000000000 --- a/web/components/templates/prompts/experiments/table/scores/ScoresEvaluatorsConfig.tsx +++ /dev/null @@ -1,199 +0,0 @@ -import { Col, Row } from "@/components/layout/common"; -import { ONBOARDING_STEPS } from "@/components/layout/onboardingContext"; -import { Badge } from "@/components/ui/badge"; -import { Button } from "@/components/ui/button"; -import { ScrollArea, ScrollBar } from "@/components/ui/scroll-area"; -import { - Select, - SelectContent, - SelectGroup, - SelectItem, - SelectItemRawNotText, - SelectLabel, - SelectTrigger, - SelectValue, -} from "@/components/ui/select"; -import { cn } from "@/lib/utils"; -import { useExperimentScores } from "@/services/hooks/prompts/experiment-scores"; -import { CheckIcon, Loader2, TriangleAlertIcon, XIcon } from "lucide-react"; -import { memo, useEffect, useState } from "react"; - -const ScoresEvaluatorsConfig = memo( - ({ experimentId }: { experimentId: string }) => { - const { - evaluators, - addEvaluator, - removeEvaluator, - runEvaluators, - allEvaluators, - shouldRunEvaluators, - } = useExperimentScores(experimentId); - - const [open, setOpen] = useState(false); - const [value, setValue] = useState(""); - - const [showSuccess, setShowSuccess] = useState(false); - const [showError, setShowError] = useState(false); - - useEffect(() => { - if (runEvaluators.isSuccess) { - setShowSuccess(true); - const timer = setTimeout(() => setShowSuccess(false), 3000); - return () => clearTimeout(timer); - } - }, [runEvaluators.isSuccess]); - - useEffect(() => { - if (runEvaluators.isError) { - setShowError(true); - const timer = setTimeout(() => setShowError(false), 3000); - return () => clearTimeout(timer); - } - }, [runEvaluators.isError]); - - const [selectOpen, setSelectOpen] = useState(false); - - return ( - - - - -
- {evaluators?.data?.data?.map((evaluator, index) => { - return ( - { - removeEvaluator.mutate(evaluator.id); - }} - > - { - e.stopPropagation(); - removeEvaluator.mutate(evaluator.id); - }} - /> - {evaluator.name} - - ); - })} -
- -
- -
- {shouldRunEvaluators.data && ( - - - For latest scores, re-run evaluators - - )} - {showSuccess && ( - - - Evaluators ran successfully - - )} - {showError && ( - - - Error running evaluators - - )} - -
- -
- ); - }, -); - -ScoresEvaluatorsConfig.displayName = "ScoresEvaluatorsConfig"; - -export default ScoresEvaluatorsConfig; diff --git a/web/components/templates/prompts/experiments/table/scores/ScoresGraph.tsx b/web/components/templates/prompts/experiments/table/scores/ScoresGraph.tsx deleted file mode 100644 index eac3be19cd..0000000000 --- a/web/components/templates/prompts/experiments/table/scores/ScoresGraph.tsx +++ /dev/null @@ -1,201 +0,0 @@ -import { - ChartContainer, - ChartLegend, - ChartLegendContent, - ChartTooltip, - ChartTooltipContent, -} from "@/components/ui/chart"; -import { cn } from "@/lib/utils"; -import { useExperimentScores } from "@/services/hooks/prompts/experiment-scores"; -import { useQueryClient } from "@tanstack/react-query"; -import { useMemo } from "react"; -import { CartesianGrid, Line, LineChart, XAxis } from "recharts"; -import { useExperimentTable } from "../hooks/useExperimentTable"; -import { PromptVersion } from "./PromptVersion"; - -const ScoresGraph = ({ - promptVersions, - experimentId, - scores, -}: { - promptVersions: PromptVersion[]; - experimentId: string; - scores: Record< - string, - { - data: Record< - string, - { - value: any; - valueType: string; - } - >; - error: string | null; - } - >; -}) => { - const { outputColumns, scores: scoreCriterias } = promptVersions.reduce( - (acc, promptVersion) => { - const promptVersionScores = scores[promptVersion?.id]?.data; - if (promptVersionScores) { - acc.scores = Array.from( - new Set([...acc.scores, ...Object.keys(promptVersionScores)]), - ).filter((key) => !key.includes("dateCreated")); // Exclude dateCreated from scores - } - return acc; - }, - { - outputColumns: promptVersions, - scores: [] as string[], - }, - ); - - const { getScoreColorMapping } = useExperimentScores(experimentId); - - const chartConfig = useMemo(() => { - return getScoreColorMapping(scoreCriterias); - }, [getScoreColorMapping, scoreCriterias]); - - const chartData = useMemo(() => { - return promptVersions.map((promptVersion) => { - const getMinMaxValues = (scoreKey: string) => { - const values = promptVersions - .map((pv) => scores[pv.id]?.data[scoreKey]?.value) - .filter((v) => v !== undefined && v !== null); - return { - min: Math.min(...values), - max: Math.max(...values), - }; - }; - - return { - promptVersionLabel: - promptVersion.metadata.label ?? - `v${promptVersion.major_version}.${promptVersion.minor_version}`, - ...Object.fromEntries( - scoreCriterias.flatMap((score) => { - const promptVersionScores = scores[promptVersion.id]?.data; - const value = promptVersionScores?.[score]?.value; - const valueType = promptVersionScores?.[score]?.valueType; - - if (!promptVersionScores || scores[promptVersion.id]?.error) { - return [ - [score, 0], - [`${score}_original`, 0], - ]; - } - - let normalizedValue; - if (valueType === "boolean" || score.endsWith("-hcone-bool")) { - normalizedValue = value ? 100 : 0; - } else if (valueType === "number") { - const { min, max } = getMinMaxValues(score); - if (min === max) { - normalizedValue = value === min ? 100 : 0; - } else { - normalizedValue = ((value - min) / (max - min)) * 100; - } - } else if (valueType === "string") { - normalizedValue = 0; - } - - return [ - [score, normalizedValue], - [`${score}_original`, value], - ]; - }), - ), - }; - }); - }, [promptVersions, scoreCriterias, scores]); - - const queryClient = useQueryClient(); - - const { selectedScoreKey } = useExperimentTable(experimentId); - - return ( -
- - { - queryClient.setQueryData(["selectedScoreKey", experimentId], null); - }} - > - - value.slice(0, 3)} - /> - - } - /> - } /> - {scoreCriterias.map((score) => ( - { - event.stopPropagation(); - queryClient.setQueryData( - ["selectedScoreKey", experimentId], - score, - ); - }} - name={score.replace("-hcone-bool", "")} - /> - ))} - - -
- ); -}; - -export default ScoresGraph; diff --git a/web/components/templates/prompts/experiments/table/scores/ScoresGraphContainer.tsx b/web/components/templates/prompts/experiments/table/scores/ScoresGraphContainer.tsx deleted file mode 100644 index c94794debc..0000000000 --- a/web/components/templates/prompts/experiments/table/scores/ScoresGraphContainer.tsx +++ /dev/null @@ -1,84 +0,0 @@ -import { useExperimentScores } from "@/services/hooks/prompts/experiment-scores"; -import { useQuery, useQueryClient } from "@tanstack/react-query"; -import { useEffect } from "react"; -import { PromptVersion } from "./PromptVersion"; -import ScoresGraph from "./ScoresGraph"; - -const ScoresGraphContainer = ({ - experimentId, - promptVersions, -}: { - promptVersions: PromptVersion[]; - experimentId: string; -}) => { - const { fetchExperimentHypothesisScores } = useExperimentScores(experimentId); - const queryClient = useQueryClient(); - - const { data: scores, isLoading } = useQuery({ - queryKey: ["experimentScores", experimentId], - queryFn: async () => { - const scoresData: Record = {}; - - // Query for scores for each prompt version - const results = await Promise.all( - promptVersions.map(async (pv) => { - if (pv.id) { - return { - id: pv.id, - data: await fetchExperimentHypothesisScores(pv.id), - }; - } - return null; - }), - ); - - // Process results after Promise.all completes - results.forEach((result) => { - if (result) { - scoresData[result.id] = result.data; - } - }); - - return scoresData; - }, - // Add these options to prevent cancellation - staleTime: 0, - refetchInterval: 10_000, - refetchOnWindowFocus: false, - }); - - // Handle the data setting when scores change - useEffect(() => { - if (scores) { - Object.entries(scores).forEach(([promptVersionId, score]) => { - queryClient.setQueryData( - ["experimentScores", experimentId, promptVersionId], - score ?? "", - ); - }); - } - }, [scores, experimentId, queryClient]); - - if (isLoading) { - return
Loading...
; // Or your loading component - } - - return ( - ; - - error: string | null; - } - > - } - /> - ); -}; - -export default ScoresGraphContainer; diff --git a/web/components/templates/prompts/id/PromptEditor.tsx b/web/components/templates/prompts/id/PromptEditor.tsx index 63d84999cb..eeacbccab7 100644 --- a/web/components/templates/prompts/id/PromptEditor.tsx +++ b/web/components/templates/prompts/id/PromptEditor.tsx @@ -56,7 +56,6 @@ import { templateToHeliconeTags, } from "@/utils/variables"; import { autoFillInputs } from "@helicone/prompts"; -import { FlaskConicalIcon } from "lucide-react"; import Link from "next/link"; import { useRouter } from "next/router"; import { LLMRequestBody, Message } from "@helicone-package/llm-mapper/types"; @@ -79,7 +78,6 @@ import { } from "../../../../services/hooks/prompts/prompts"; import { useGetRequestWithBodies } from "../../../../services/hooks/requests"; import DeployDialog from "./DeployDialog"; -import { useExperiment } from "./hooks"; import PromptMetricsTab from "./PromptMetricsTab"; import { ProviderCard } from "@/components/providers/ProviderCard"; import { providers } from "@/data/providers"; @@ -154,8 +152,6 @@ export default function PromptEditor({ } = usePromptVersions(promptId ?? ""); // - Notifications const { setNotification } = useNotification(); - // - Experiment - const { newFromPromptVersion } = useExperiment(); // - Create Prompt const { createPrompt, isCreating: isCreatingPrompt } = useCreatePrompt(); @@ -1353,25 +1349,6 @@ export default function PromptEditor({ )} - {/* Experiment Button */} - {promptId && ( - - )} - {/* Deploy Button */} {promptId && ( ([]); - const [selectedModels, setSelectedModels] = useState([]); - - const filteredExperiments = experiments.filter((experiment) => { - if ( - selectedDatasets.length && - !selectedDatasets.includes(experiment.datasetId) - ) { - return false; - } - - if ( - selectedModels.length && - experiment.model && - !selectedModels.includes(experiment.model) - ) { - return false; - } - - return true; - }); - const onTimeSelectHandler = (key: TimeInterval, value: string) => { if ((key as string) === "custom") { value = value.replace("custom:", ""); @@ -199,109 +159,6 @@ const PromptMetricsTab = ({ -
-

- Experiment Logs -

-
-
-
- { - setSelectedDatasets(value); - }} - > - {datasets.map((dataset) => ( - - {dataset.name} - - ))} - -
-
- { - setSelectedModels(value); - }} - > - {MODEL_LIST.map((model) => ( - - {model.label} - - ))} - -
-
- -
-
-
- {isExperimentsLoading ? ( -
- -
- ) : ( - ( - - {item.id} - - ), - }, - { - key: "status", - header: "Status", - render: (item) => ( - - ), - }, - { - key: "createdAt", - header: "Created At", - render: (item) => ( - {getUSDateFromString(item.createdAt)} - ), - }, - { - key: "datasetName", - header: "Dataset", - render: (item) => item.datasetName, - }, - { - key: "model", - header: "Model", - render: (item) => , - }, - { - key: "runCount", - header: "Run Count", - render: (item) => item.runCount || 0, - }, - ]} - onSelect={(item) => { - router.push(`/prompts/${id}/experiments/${item.id}`); - }} - /> - )} -
); }; diff --git a/web/components/templates/prompts/id/experimentPanel.tsx b/web/components/templates/prompts/id/experimentPanel.tsx deleted file mode 100644 index fe016f137a..0000000000 --- a/web/components/templates/prompts/id/experimentPanel.tsx +++ /dev/null @@ -1,52 +0,0 @@ -import { Row } from "@/components/layout/common"; -import { useOrg } from "@/components/layout/org/organizationContext"; -import { Button } from "@/components/ui/button"; -import { getJawnClient } from "@/lib/clients/jawn"; -import { useQuery } from "@tanstack/react-query"; -import Link from "next/link"; - -interface PromptIdPageProps { - promptId: string; -} - -const ExperimentPanel = (props: PromptIdPageProps) => { - const { promptId } = props; - const org = useOrg(); - const experiments = useQuery({ - queryKey: ["experiments", org?.currentOrg?.id, promptId], - queryFn: async (query) => { - const orgId = org?.currentOrg?.id; - const jawn = getJawnClient(orgId); - const result = await jawn.GET("/v1/prompt/{promptId}/experiments", { - params: { - path: { - promptId: promptId, - }, - }, - }); - return result; - }, - }); - - return ( - <> -
- {experiments.data?.data?.data?.map((experiment) => ( - - {experiment.created_at} - - - - - ))} -
- - ); -}; - -export default ExperimentPanel; diff --git a/web/components/templates/prompts/id/formSteps/experimentConfig.tsx b/web/components/templates/prompts/id/formSteps/experimentConfig.tsx deleted file mode 100644 index e385ed23b1..0000000000 --- a/web/components/templates/prompts/id/formSteps/experimentConfig.tsx +++ /dev/null @@ -1,218 +0,0 @@ -import { - Select, - SelectContent, - SelectItem, - SelectTrigger, - SelectValue, -} from "@/components/ui/select"; -import { Input } from "@/components/ui/input"; -import ProviderKeyList from "../../../enterprise/portal/id/providerKeyList"; -import PromptPropertyCard from "../promptPropertyCard"; -import { useState } from "react"; -import useNotification from "../../../../shared/notification/useNotification"; -import { useOrg } from "../../../../layout/org/organizationContext"; - -interface ExperimentConfigProps { - currentPrompt: { - id: string; - latest_version: number; - created_at: string; - }; - promptProperties: { - id: string; - createdAt: string; - properties: Record; - response: string; - }[]; - onFormSubmit: (data: { - experimentName: string; - version: number; - model: string; - providerKey: string; - requestIds: string[]; - }) => void; - initialValues?: { - experimentName: string; - version: number; - model: string; - providerKey: string; - requestIds: string[]; - }; -} - -const ExperimentConfig = (props: ExperimentConfigProps) => { - const { currentPrompt, promptProperties, onFormSubmit, initialValues } = - props; - - const [selectedVersion, setSelectedVersion] = useState( - initialValues?.version.toString() || - currentPrompt.latest_version.toString(), - ); - const [providerKeyId, setProviderKeyId] = useState( - initialValues?.providerKey || "", - ); - const [experimentName, setExperimentName] = useState( - initialValues?.experimentName || "", - ); - const [requestIdList, setRequestIdList] = useState( - initialValues?.requestIds || [], - ); - const [experimentModel, setExperimentModel] = useState( - initialValues?.model || "gpt-3.5-turbo-1106", - ); - const { setNotification } = useNotification(); - const orgContext = useOrg(); - - return ( -
-
- - setExperimentName(e.target.value)} - /> -
-
-
- - -
-
- - -
-
- - { - setProviderKeyId(x); - }} - variant="basic" - /> -
- -
- {/* get a random `n=10` sample of the properties and then render cards */} - {[...promptProperties].slice(0, 10).map((property, i) => ( -
- {}} - requestId={property.id} - createdAt={property.createdAt} - properties={property.properties} - size="small" - index={i + 1} - autoInputs={[]} - /> -
- ))} -
-
-
- - -
-
- ); -}; - -export default ExperimentConfig; diff --git a/web/components/templates/prompts/id/hooks.ts b/web/components/templates/prompts/id/hooks.ts deleted file mode 100644 index b08bc9450c..0000000000 --- a/web/components/templates/prompts/id/hooks.ts +++ /dev/null @@ -1,35 +0,0 @@ -import useNotification from "@/components/shared/notification/useNotification"; -import { useJawnClient } from "@/lib/clients/jawnHook"; -import { useMutation } from "@tanstack/react-query"; - -export const useExperiment = () => { - const jawnClient = useJawnClient(); - const { setNotification } = useNotification(); - - const newFromPromptVersion = useMutation({ - mutationFn: async ({ - name, - originalPromptVersion, - }: { - name: string; - originalPromptVersion: string; - }) => { - return await jawnClient.POST("/v2/experiment/new", { - body: { - name, - originalPromptVersion, - }, - }); - }, - onSuccess: () => { - setNotification("Successfully created new experiment", "success"); - }, - onError: () => { - setNotification("Failed to create new experiment", "error"); - }, - }); - - return { - newFromPromptVersion, - }; -}; diff --git a/web/components/templates/prompts/experiments/experimentInputSelector.tsx b/web/components/templates/prompts/id/promptInputSelector.tsx similarity index 97% rename from web/components/templates/prompts/experiments/experimentInputSelector.tsx rename to web/components/templates/prompts/id/promptInputSelector.tsx index 616ecc2806..bb70885381 100644 --- a/web/components/templates/prompts/experiments/experimentInputSelector.tsx +++ b/web/components/templates/prompts/id/promptInputSelector.tsx @@ -2,12 +2,12 @@ import { useEffect, useState, useMemo } from "react"; import ThemedDrawer from "../../../shared/themed/themedDrawer"; import { useJawnClient } from "../../../../lib/clients/jawnHook"; import useNotification from "../../../shared/notification/useNotification"; -import PromptPropertyCard from "../id/promptPropertyCard"; +import PromptPropertyCard from "./promptPropertyCard"; import { Button } from "@/components/ui/button"; import { useQuery } from "@tanstack/react-query"; import clsx from "clsx"; -interface ExperimentInputSelectorProps { +interface PromptInputSelectorProps { open: boolean; setOpen: (open: boolean) => void; promptVersionId: string | undefined; @@ -22,7 +22,7 @@ interface ExperimentInputSelectorProps { selectJustOne?: boolean; } -const ExperimentInputSelector = (props: ExperimentInputSelectorProps) => { +const PromptInputSelector = (props: PromptInputSelectorProps) => { const { open, setOpen, @@ -242,4 +242,4 @@ const ExperimentInputSelector = (props: ExperimentInputSelectorProps) => { ); }; -export default ExperimentInputSelector; +export default PromptInputSelector; diff --git a/web/components/templates/requests/RequestDrawer.tsx b/web/components/templates/requests/RequestDrawer.tsx index f8cbea28bc..8eed274736 100644 --- a/web/components/templates/requests/RequestDrawer.tsx +++ b/web/components/templates/requests/RequestDrawer.tsx @@ -334,27 +334,6 @@ export default function RequestDrawer(props: RequestDivProps) { return { requestInfo, tokenInfo, parameterInfo }; }, [request, requestParameters]); - // Create experiment handler - const handleCreateExperiment = useCallback(() => { - if (!request) return; - - jawn - .POST("/v2/experiment/create/from-request/{requestId}", { - params: { - path: { - requestId: request.id, - }, - }, - }) - .then((res) => { - if (res.error || !res.data.data?.experimentId) { - setNotification("Failed to create experiment", "error"); - return; - } - router.push(`/experiments/${res.data.data?.experimentId}`); - }); - }, [jawn, request, router, setNotification]); - // TODO: Delete legacy prompts code const hasNewPromptData = useMemo( () => diff --git a/web/data/providers.ts b/web/data/providers.ts index 8a22235279..4fb87747f2 100644 --- a/web/data/providers.ts +++ b/web/data/providers.ts @@ -274,6 +274,17 @@ export const providers: Provider[] = [ apiKeyPlaceholder: "...", relevanceScore: 3, }, + { + id: "scalattice", + name: "Scalattice", + logoUrl: "/assets/home/providers/scalattice.svg", + description: "Configure your Scalattice API keys for OpenAI-compatible inference", + docsUrl: + "https://docs.helicone.ai/getting-started/integration-method/scalattice", + apiKeyLabel: "Scalattice API Key", + apiKeyPlaceholder: "slt_...", + relevanceScore: 3, + }, { id: "helicone", name: "Helicone Inference", diff --git a/web/hooks/useFeatureTrial.ts b/web/hooks/useFeatureTrial.ts index b17ab5533d..0e175366c6 100644 --- a/web/hooks/useFeatureTrial.ts +++ b/web/hooks/useFeatureTrial.ts @@ -1,101 +1,27 @@ -import { useMutation, useQuery } from "@tanstack/react-query"; -import { getJawnClient } from "@/lib/clients/jawn"; import { useOrg } from "@/components/layout/org/organizationContext"; -import useNotification from "@/components/shared/notification/useNotification"; +import { CONTACT_US_URL } from "@/components/templates/pricing/contactCTA"; +/** + * Self-serve plan upgrades and add-on trials have been removed. Confirming a + * trial now routes the user to the contact page instead of starting a Stripe + * checkout. + */ export const useFeatureTrial = ( - productType: "prompts" | "experiments" | "evals", - featureName: string, + _productType: "prompts" | "experiments" | "evals", + _featureName: string, ) => { const org = useOrg(); - const notification = useNotification(); - - const subscription = useQuery({ - queryKey: ["subscription", org?.currentOrg?.id], - queryFn: async (query) => { - const orgId = query.queryKey[1] as string; - const jawn = getJawnClient(orgId); - return jawn.GET("/v1/stripe/subscription"); - }, - }); - - const mutation = useMutation({ - mutationFn: async (selectedPlan?: string) => { - const isTeamBundle = selectedPlan === "Team Bundle"; - const jawn = getJawnClient(org?.currentOrg?.id); - - // Handle Team Bundle selection - if (isTeamBundle) { - const endpoint = - subscription.data?.data?.status === "canceled" || - org?.currentOrg?.tier === "pro-20240913" || - org?.currentOrg?.tier === "pro-20250202" || - org?.currentOrg?.tier === "pro-20251210" - ? "/v1/stripe/subscription/existing-customer/upgrade-to-team-bundle" - : "/v1/stripe/subscription/new-customer/upgrade-to-team-bundle"; - - const { data } = await jawn.POST(endpoint); - return { type: "redirect" as const, url: data }; - } - - // Existing logic for individual addons - if (proRequired) { - const endpoint = - subscription.data?.data?.status === "canceled" - ? "/v1/stripe/subscription/existing-customer/upgrade-to-pro" - : "/v1/stripe/subscription/new-customer/upgrade-to-pro"; - - const { data } = await jawn.POST(endpoint, { - body: { - addons: { - [productType]: true, - }, - }, - }); - - return { type: "redirect" as const, url: data }; - } - - await jawn.POST(`/v1/stripe/subscription/add-ons/{productType}`, { - params: { path: { productType } }, - }); - - return { type: "refresh" as const }; - }, - }); - - const handleConfirmTrial = async (selectedPlan?: string) => { - try { - const result = await mutation.mutateAsync(selectedPlan); - - if (result.type === "redirect") { - window.open(result.url, "_blank"); - return { success: true, requiresRedirect: true }; - } - - notification.setNotification( - `${featureName} trial has been added!`, - "success", - ); - await subscription.refetch(); - window.location.reload(); - return { success: true }; - } catch (error) { - notification.setNotification( - `Failed to start ${featureName} trial. Please try again or contact support.`, - "error", - ); - return { success: false }; - } - }; const proRequired = org?.currentOrg?.tier === "free" || org?.currentOrg?.tier === "growth"; + const handleConfirmTrial = async (_selectedPlan?: string) => { + window.open(CONTACT_US_URL, "_blank"); + return { success: true, requiresRedirect: true }; + }; + return { handleConfirmTrial, proRequired, - mutation, - subscription, }; }; diff --git a/web/hooks/useUpgradePlan.ts b/web/hooks/useUpgradePlan.ts deleted file mode 100644 index 9631998c4c..0000000000 --- a/web/hooks/useUpgradePlan.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { useOrg } from "@/components/layout/org/organizationContext"; -import { getJawnClient } from "@/lib/clients/jawn"; -import { useMutation, useQuery } from "@tanstack/react-query"; - -export function useUpgradePlan() { - const org = useOrg(); - - const subscription = useQuery({ - queryKey: ["subscription", org?.currentOrg?.id], - queryFn: async (query) => { - const orgId = query.queryKey[1] as string; - const jawn = getJawnClient(orgId); - const subscription = await jawn.GET("/v1/stripe/subscription"); - return subscription; - }, - enabled: !!org?.currentOrg?.id, - }); - - const upgradeToTeamBundle = useMutation({ - mutationFn: async () => { - const jawn = getJawnClient(org?.currentOrg?.id); - const endpoint = - subscription.data?.data?.status === "canceled" - ? "/v1/stripe/subscription/existing-customer/upgrade-to-team-bundle" - : "/v1/stripe/subscription/new-customer/upgrade-to-team-bundle"; - const result = await jawn.POST(endpoint, {}); - return result; - }, - }); - - const handleUpgradeTeam = async () => { - const result = await upgradeToTeamBundle.mutateAsync(); - if (result.data) { - window.open(result.data, "_blank"); - } - return true; - }; - - return { - handleUpgradeTeam, - isLoading: upgradeToTeamBundle.isPending, - }; -} diff --git a/web/lib/api/property/aggregatedKeyMetrics.ts b/web/lib/api/property/aggregatedKeyMetrics.ts index fecb877cdb..c732c3f5c4 100644 --- a/web/lib/api/property/aggregatedKeyMetrics.ts +++ b/web/lib/api/property/aggregatedKeyMetrics.ts @@ -5,6 +5,23 @@ import { resultMap } from "@/packages/common/result"; import { dbQueryClickhouse } from "../db/dbExecute"; import { COST_PRECISION_MULTIPLIER } from "@helicone-package/cost/costCalc"; +const DEFAULT_LIMIT = 100; +const MAX_LIMIT = 1000; + +/** + * Coerce a caller-supplied limit to a bounded positive integer before it is + * interpolated into the ClickHouse LIMIT clause. ClickHouse does not take a + * bound parameter in LIMIT, so the value must be made safe as a number. + * Anything that is not a plain integer >= 1 (strings with SQL, floats, NaN, + * arrays, objects, undefined) falls back to the default. + */ +export function safeLimit(raw: unknown): number { + const n = typeof raw === "string" ? Number(raw.trim()) : Number(raw); + if (typeof raw === "object" && raw !== null) return DEFAULT_LIMIT; + if (!Number.isInteger(n) || n < 1) return DEFAULT_LIMIT; + return Math.min(n, MAX_LIMIT); +} + export async function getAggregatedKeyMetrics( filter: FilterNode, timeFilter: { @@ -63,7 +80,7 @@ export async function getAggregatedKeyMetrics( ) GROUP BY value ${orderByClause} - LIMIT ${limit} + LIMIT ${safeLimit(limit)} `; const res = await dbQueryClickhouse<{ diff --git a/web/lib/clients/jawnTypes/private.ts b/web/lib/clients/jawnTypes/private.ts index 93c665aaf0..0fdba43c75 100644 --- a/web/lib/clients/jawnTypes/private.ts +++ b/web/lib/clients/jawnTypes/private.ts @@ -54,52 +54,24 @@ export interface paths { delete: operations["DeleteAPIKey"]; patch: operations["UpdateAPIKey"]; }; - "/v1/stripe/subscription/cost-for-prompts": { - get: operations["GetCostForPrompts"]; - }; - "/v1/stripe/subscription/cost-for-evals": { - get: operations["GetCostForEvals"]; - }; - "/v1/stripe/subscription/cost-for-experiments": { - get: operations["GetCostForExperiments"]; - }; "/v1/stripe/subscription/free/usage": { get: operations["GetFreeUsage"]; }; "/v1/stripe/cloud/checkout-session": { post: operations["CreateCloudGatewayCheckoutSession"]; }; - "/v1/stripe/subscription/new-customer/upgrade-to-pro": { - post: operations["UpgradeToPro"]; - }; - "/v1/stripe/subscription/existing-customer/upgrade-to-pro": { - post: operations["UpgradeExistingCustomer"]; - }; - "/v1/stripe/subscription/new-customer/upgrade-to-team-bundle": { - post: operations["UpgradeToTeamBundle"]; - }; - "/v1/stripe/subscription/existing-customer/upgrade-to-team-bundle": { - post: operations["UpgradeExistingCustomerToTeamBundle"]; - }; "/v1/stripe/subscription/manage-subscription": { post: operations["ManageSubscription"]; }; "/v1/stripe/subscription/undo-cancel-subscription": { post: operations["UndoCancelSubscription"]; }; - "/v1/stripe/subscription/add-ons/{productType}": { - post: operations["AddOns"]; - delete: operations["DeleteAddOns"]; - }; "/v1/stripe/subscription/preview-invoice": { get: operations["PreviewInvoice"]; }; "/v1/stripe/subscription/cancel-subscription": { post: operations["CancelSubscription"]; }; - "/v1/stripe/subscription/migrate-to-pro": { - post: operations["MigrateToPro"]; - }; "/v1/stripe/payment-intents/search": { get: operations["SearchPaymentIntents"]; }; @@ -194,9 +166,6 @@ export interface paths { "/v1/evaluator/query": { post: operations["QueryEvaluators"]; }; - "/v1/evaluator/{evaluatorId}/experiments": { - get: operations["GetExperimentsForEvaluator"]; - }; "/v1/evaluator/{evaluatorId}/onlineEvaluators": { get: operations["GetOnlineEvaluators"]; post: operations["CreateOnlineEvaluator"]; @@ -216,226 +185,6 @@ export interface paths { "/v1/evaluator/{evaluatorId}/stats": { get: operations["GetEvaluatorStats"]; }; - "/v1/prompt-2025/id/{promptId}": { - get: operations["GetPrompt2025"]; - }; - "/v1/prompt-2025/id/{promptId}/rename": { - post: operations["RenamePrompt2025"]; - }; - "/v1/prompt-2025/id/{promptId}/tags": { - patch: operations["UpdatePrompt2025Tags"]; - }; - "/v1/prompt-2025/{promptId}": { - delete: operations["DeletePrompt2025"]; - }; - "/v1/prompt-2025/{promptId}/{versionId}": { - delete: operations["DeletePrompt2025Version"]; - }; - "/v1/prompt-2025/id/{promptId}/{versionId}/inputs": { - get: operations["GetPrompt2025Inputs"]; - }; - "/v1/prompt-2025/tags": { - get: operations["GetPrompt2025Tags"]; - }; - "/v1/prompt-2025/environments": { - get: operations["GetPrompt2025Environments"]; - }; - "/v1/prompt-2025": { - post: operations["CreatePrompt2025"]; - }; - "/v1/prompt-2025/update": { - post: operations["UpdatePrompt2025"]; - }; - "/v1/prompt-2025/update/environment": { - post: operations["SetPromptVersionEnvironment"]; - }; - "/v1/prompt-2025/remove/environment": { - post: operations["RemoveEnvironmentFromVersion"]; - }; - "/v1/prompt-2025/count": { - get: operations["GetPrompt2025Count"]; - }; - "/v1/prompt-2025/query": { - post: operations["GetPrompts2025"]; - }; - "/v1/prompt-2025/query/version": { - post: operations["GetPrompt2025Version"]; - }; - "/v1/prompt-2025/query/environment-version": { - post: operations["GetPrompt2025EnvironmentVersion"]; - }; - "/v1/prompt-2025/query/versions": { - post: operations["GetPrompt2025Versions"]; - }; - "/v1/prompt-2025/query/production-version": { - post: operations["GetPrompt2025ProductionVersion"]; - }; - "/v1/prompt-2025/query/total-versions": { - post: operations["GetPrompt2025TotalVersions"]; - }; - "/v1/prompt-2025/{promptVersionId}/prompt-body": { - /** @description Get the full prompt body (messages, tools, etc.) for a specific prompt version. */ - get: operations["GetPrompt2025VersionBody"]; - }; - "/v2/prompt-2025/query/version": { - post: operations["GetPrompt2025Version"]; - }; - "/v2/prompt-2025/query/environment-version": { - post: operations["GetPrompt2025EnvironmentVersion"]; - }; - "/v2/prompt-2025/query/production-version": { - post: operations["GetPrompt2025ProductionVersion"]; - }; - "/v1/request/count/query": { - post: operations["GetRequestCount"]; - }; - "/v1/request/query": { - post: operations["GetRequests"]; - }; - "/v1/request/query-clickhouse": { - post: operations["GetRequestsClickhouse"]; - }; - "/v1/request/{requestId}": { - get: operations["GetRequestById"]; - }; - "/v1/request/{requestId}/inputs": { - get: operations["GetRequestInputs"]; - }; - "/v1/request/query-ids": { - post: operations["GetRequestsByIds"]; - }; - "/v1/request/{requestId}/feedback": { - post: operations["FeedbackRequest"]; - }; - "/v1/request/{requestId}/property": { - put: operations["PutProperty"]; - }; - "/v1/request/{requestId}/assets/{assetId}": { - post: operations["GetRequestAssetById"]; - }; - "/v1/request/{requestId}/score": { - post: operations["AddScores"]; - }; - "/v1/prompt/has-prompts": { - get: operations["HasPrompts"]; - }; - "/v1/prompt/query": { - post: operations["GetPrompts"]; - }; - "/v1/prompt/{promptId}/query": { - post: operations["GetPrompt"]; - }; - "/v1/prompt/{promptId}": { - delete: operations["DeletePrompt"]; - }; - "/v1/prompt/create": { - post: operations["CreatePrompt"]; - }; - "/v1/prompt/{promptId}/user-defined-id": { - patch: operations["UpdatePromptUserDefinedId"]; - }; - "/v1/prompt/version/{promptVersionId}/edit-label": { - post: operations["EditPromptVersionLabel"]; - }; - "/v1/prompt/version/{promptVersionId}/edit-template": { - post: operations["EditPromptVersionTemplate"]; - }; - "/v1/prompt/version/{promptVersionId}/subversion-from-ui": { - post: operations["CreateSubversionFromUi"]; - }; - "/v1/prompt/version/{promptVersionId}/subversion": { - post: operations["CreateSubversion"]; - }; - "/v1/prompt/version/{promptVersionId}/promote": { - post: operations["PromotePromptVersionToProduction"]; - }; - "/v1/prompt/version/{promptVersionId}/inputs/query": { - post: operations["GetInputs"]; - }; - "/v1/prompt/{promptId}/experiments": { - get: operations["GetPromptExperiments"]; - }; - "/v1/prompt/{promptId}/versions/query": { - post: operations["GetPromptVersions"]; - }; - "/v1/prompt/version/{promptVersionId}": { - get: operations["GetPromptVersion"]; - delete: operations["DeletePromptVersion"]; - }; - "/v1/prompt/{user_defined_id}/compile": { - post: operations["GetPromptVersionsCompiled"]; - }; - "/v1/prompt/{user_defined_id}/template": { - post: operations["GetPromptVersionTemplates"]; - }; - "/v2/experiment/create/empty": { - post: operations["CreateEmptyExperiment"]; - }; - "/v2/experiment/create/from-request/{requestId}": { - post: operations["CreateExperimentFromRequest"]; - }; - "/v2/experiment/new": { - post: operations["CreateNewExperiment"]; - }; - "/v2/experiment": { - get: operations["GetExperiments"]; - }; - "/v2/experiment/{experimentId}": { - get: operations["GetExperimentById"]; - delete: operations["DeleteExperiment"]; - }; - "/v2/experiment/{experimentId}/prompt-version": { - post: operations["CreateNewPromptVersionForExperiment"]; - }; - "/v2/experiment/{experimentId}/prompt-version/{promptVersionId}": { - delete: operations["DeletePromptVersion"]; - }; - "/v2/experiment/{experimentId}/prompt-versions": { - get: operations["GetPromptVersionsForExperiment"]; - }; - "/v2/experiment/{experimentId}/input-keys": { - get: operations["GetInputKeysForExperiment"]; - }; - "/v2/experiment/{experimentId}/add-manual-row": { - post: operations["AddManualRowToExperiment"]; - }; - "/v2/experiment/{experimentId}/add-manual-rows-batch": { - post: operations["AddManualRowsToExperimentBatch"]; - }; - "/v2/experiment/{experimentId}/rows": { - delete: operations["DeleteExperimentTableRows"]; - }; - "/v2/experiment/{experimentId}/row/insert/batch": { - post: operations["CreateExperimentTableRowBatch"]; - }; - "/v2/experiment/{experimentId}/row/insert/dataset/{datasetId}": { - post: operations["CreateExperimentTableRowFromDataset"]; - }; - "/v2/experiment/{experimentId}/row/update": { - post: operations["UpdateExperimentTableRow"]; - }; - "/v2/experiment/{experimentId}/run-hypothesis": { - post: operations["RunHypothesis"]; - }; - "/v2/experiment/{experimentId}/evaluators": { - get: operations["GetExperimentEvaluators"]; - post: operations["CreateExperimentEvaluator"]; - }; - "/v2/experiment/{experimentId}/evaluators/{evaluatorId}": { - delete: operations["DeleteExperimentEvaluator"]; - }; - "/v2/experiment/{experimentId}/evaluators/run": { - post: operations["RunExperimentEvaluators"]; - }; - "/v2/experiment/{experimentId}/should-run-evaluators": { - get: operations["ShouldRunEvaluators"]; - }; - "/v2/experiment/{experimentId}/{promptVersionId}/scores": { - get: operations["GetExperimentPromptVersionScores"]; - }; - "/v2/experiment/{experimentId}/{requestId}/{scoreKey}": { - get: operations["GetExperimentScore"]; - }; "/v1/integration": { get: operations["GetIntegrations"]; post: operations["CreateIntegration"]; @@ -800,6 +549,13 @@ export interface paths { post: operations["UpdateDiscounts"]; }; "/v1/audio/convert-to-wav": { + /** + * @description Dead endpoint. The route stays registered so existing callers keep getting + * the same response, but the implementation is gone: it shelled out to + * ffmpeg with input options built from request-derived values, which was an + * argument-injection sink. Do not reintroduce it -- if WAV conversion is + * needed again, build it on a library that does not take a command line. + */ post: operations["ConvertToWav"]; }; "/v1/router/control-plane/whoami": { @@ -975,22 +731,6 @@ export interface components { amount: number; returnUrl?: string; }; - UpgradeToProRequest: { - addons?: { - evals?: boolean; - experiments?: boolean; - prompts?: boolean; - alerts?: boolean; - }; - /** Format: double */ - seats?: number; - /** @enum {string} */ - ui_mode?: "embedded" | "hosted"; - }; - UpgradeToTeamBundleRequest: { - /** @enum {string} */ - ui_mode?: "embedded" | "hosted"; - }; LLMUsage: { model: string; provider: string; @@ -1376,17 +1116,6 @@ Json: JsonObject; name?: string; last_mile_config?: unknown; }; - EvaluatorExperiment: { - experiment_name: string; - experiment_created_at: string; - experiment_id: string; - }; - "ResultSuccess_EvaluatorExperiment-Array_": { - data: components["schemas"]["EvaluatorExperiment"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_EvaluatorExperiment-Array.string_": components["schemas"]["ResultSuccess_EvaluatorExperiment-Array_"] | components["schemas"]["ResultError_string_"]; OnlineEvaluatorByEvaluatorId: { config: unknown; id: string; @@ -1502,135 +1231,6 @@ Json: JsonObject; error: null; }; "Result_EvaluatorStats.string_": components["schemas"]["ResultSuccess_EvaluatorStats_"] | components["schemas"]["ResultError_string_"]; - Prompt2025: { - id: string; - name: string; - tags: string[]; - created_at: string; - }; - ResultSuccess_Prompt2025_: { - data: components["schemas"]["Prompt2025"]; - /** @enum {number|null} */ - error: null; - }; - "Result_Prompt2025.string_": components["schemas"]["ResultSuccess_Prompt2025_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_string-Array_": { - data: string[]; - /** @enum {number|null} */ - error: null; - }; - "Result_string-Array.string_": components["schemas"]["ResultSuccess_string-Array_"] | components["schemas"]["ResultError_string_"]; - Prompt2025Input: { - request_id: string; - version_id: string; - inputs: components["schemas"]["Record_string.any_"]; - }; - ResultSuccess_Prompt2025Input_: { - data: components["schemas"]["Prompt2025Input"]; - /** @enum {number|null} */ - error: null; - }; - "Result_Prompt2025Input.string_": components["schemas"]["ResultSuccess_Prompt2025Input_"] | components["schemas"]["ResultError_string_"]; - PromptCreateResponse: { - id: string; - versionId: string; - }; - ResultSuccess_PromptCreateResponse_: { - data: components["schemas"]["PromptCreateResponse"]; - /** @enum {number|null} */ - error: null; - }; - "Result_PromptCreateResponse.string_": components["schemas"]["ResultSuccess_PromptCreateResponse_"] | components["schemas"]["ResultError_string_"]; - /** @description Construct a type with a set of properties K of type T */ - "Record_string.number_": { - [key: string]: number; - }; - /** @description Simplified interface for the OpenAI Chat request format */ - OpenAIChatRequest: { - model?: string; - messages?: ({ - tool_calls?: { - /** @enum {string} */ - type: "function"; - function: { - arguments: string; - name: string; - }; - id: string; - }[]; - tool_call_id?: string; - name?: string; - content: (string | { - image_url?: { - url: string; - }; - text?: string; - type: string; - }[]) | null; - role: string; - })[]; - /** Format: double */ - temperature?: number; - /** Format: double */ - top_p?: number; - /** Format: double */ - max_tokens?: number; - /** Format: double */ - max_completion_tokens?: number; - stream?: boolean; - stop?: string[] | string; - tools?: { - function: { - strict?: boolean; - parameters?: components["schemas"]["Record_string.any_"]; - description?: string; - name: string; - }; - /** @enum {string} */ - type: "function"; - }[]; - tool_choice?: { - function?: { - name: string; - /** @enum {string} */ - type: "function"; - }; - type: string; - } | ("none" | "auto" | "required"); - parallel_tool_calls?: boolean; - /** @enum {string} */ - reasoning_effort?: "minimal" | "low" | "medium" | "high"; - /** @enum {string} */ - verbosity?: "low" | "medium" | "high"; - /** Format: double */ - frequency_penalty?: number; - /** Format: double */ - presence_penalty?: number; - logit_bias?: components["schemas"]["Record_string.number_"]; - logprobs?: boolean; - /** Format: double */ - top_logprobs?: number; - /** Format: double */ - n?: number; - modalities?: string[]; - prediction?: unknown; - audio?: unknown; - response_format?: { - json_schema?: unknown; - type: string; - }; - /** Format: double */ - seed?: number; - service_tier?: string; - store?: boolean; - stream_options?: unknown; - metadata?: components["schemas"]["Record_string.string_"]; - user?: string; - function_call?: string | { - name: string; - }; - functions?: unknown[]; - }; "ResultSuccess__id-string__": { data: { id: string; @@ -1639,2263 +1239,1328 @@ Json: JsonObject; error: null; }; "Result__id-string_.string_": components["schemas"]["ResultSuccess__id-string__"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_number_: { - /** Format: double */ - data: number; - /** @enum {number|null} */ - error: null; - }; - "Result_number.string_": components["schemas"]["ResultSuccess_number_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_Prompt2025-Array_": { - data: components["schemas"]["Prompt2025"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_Prompt2025-Array.string_": components["schemas"]["ResultSuccess_Prompt2025-Array_"] | components["schemas"]["ResultError_string_"]; - /** @description Construct a type with a set of properties K of type T */ - "Record_string.unknown_": { - [key: string]: unknown; - }; - Prompt2025VersionPromptBody: { - model?: string; - messages?: ({ - tool_calls?: { - /** @enum {string} */ - type: "function"; - function: { - arguments: string; - name: string; - }; - id: string; - }[]; - tool_call_id?: string; - name?: string; - content: (string | { - image_url?: { - url: string; - }; - text?: string; - type: string; - }[]) | null; - role: string; - })[]; - /** Format: double */ - temperature?: number; - /** Format: double */ - top_p?: number; - /** Format: double */ - max_tokens?: number; - tools?: { - function: { - parameters: components["schemas"]["Record_string.unknown_"]; - description: string; - name: string; - }; - /** @enum {string} */ - type: "function"; - }[]; - tool_choice?: string | { - function?: { - name: string; - /** @enum {string} */ - type: "function"; - }; - type: string; - }; - [key: string]: unknown; + IntegrationCreateParams: { + integration_name: string; + settings?: components["schemas"]["Json"]; + active?: boolean; }; - Prompt2025Version: { + Integration: { + integration_name?: string; + settings?: components["schemas"]["Json"]; + active?: boolean; id: string; - model: string; - prompt_id: string; - /** Format: double */ - major_version: number; - /** Format: double */ - minor_version: number; - commit_message: string; - environments?: string[]; - created_at: string; - s3_url?: string; - /** - * @description The full prompt body including messages. Only included when explicitly requested - * via the `includePromptBody` parameter to avoid unnecessary data transfer. - */ - prompt_body?: components["schemas"]["Prompt2025VersionPromptBody"]; - }; - ResultSuccess_Prompt2025Version_: { - data: components["schemas"]["Prompt2025Version"]; - /** @enum {number|null} */ - error: null; }; - "Result_Prompt2025Version.string_": components["schemas"]["ResultSuccess_Prompt2025Version_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_Prompt2025Version-Array_": { - data: components["schemas"]["Prompt2025Version"][]; + ResultSuccess_Array_Integration__: { + data: components["schemas"]["Integration"][]; /** @enum {number|null} */ error: null; }; - "Result_Prompt2025Version-Array.string_": components["schemas"]["ResultSuccess_Prompt2025Version-Array_"] | components["schemas"]["ResultError_string_"]; - PromptVersionCounts: { - /** Format: double */ - totalVersions: number; - /** Format: double */ - majorVersions: number; + "Result_Array_Integration_.string_": components["schemas"]["ResultSuccess_Array_Integration__"] | components["schemas"]["ResultError_string_"]; + IntegrationUpdateParams: { + integration_name?: string; + settings?: components["schemas"]["Json"]; + active?: boolean; }; - ResultSuccess_PromptVersionCounts_: { - data: components["schemas"]["PromptVersionCounts"]; + ResultSuccess_Integration_: { + data: components["schemas"]["Integration"]; /** @enum {number|null} */ error: null; }; - "Result_PromptVersionCounts.string_": components["schemas"]["ResultSuccess_PromptVersionCounts_"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_Prompt2025Version_91_prompt_body_93__: { - data: components["schemas"]["Prompt2025VersionPromptBody"]; + "Result_Integration.string_": components["schemas"]["ResultSuccess_Integration_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess_Array__id-string--name-string___": { + data: { + name: string; + id: string; + }[]; /** @enum {number|null} */ error: null; }; - "Result_Prompt2025Version_91_prompt_body_93_.string_": components["schemas"]["ResultSuccess_Prompt2025Version_91_prompt_body_93__"] | components["schemas"]["ResultError_string_"]; - /** @description Make all properties in T optional */ - Partial_TextOperators_: { - "not-equals"?: string; - equals?: string; - like?: string; - ilike?: string; - contains?: string; - "not-contains"?: string; - }; - /** @description Make all properties in T optional */ - Partial_TimestampOperators_: { - equals?: string; - gte?: string; - lte?: string; - lt?: string; - gt?: string; - }; - /** @description Make all properties in T optional */ - Partial_RequestTableToOperators_: { - prompt?: components["schemas"]["Partial_TextOperators_"]; - created_at?: components["schemas"]["Partial_TimestampOperators_"]; - user_id?: components["schemas"]["Partial_TextOperators_"]; - auth_hash?: components["schemas"]["Partial_TextOperators_"]; - org_id?: components["schemas"]["Partial_TextOperators_"]; - id?: components["schemas"]["Partial_TextOperators_"]; - node_id?: components["schemas"]["Partial_TextOperators_"]; - model?: components["schemas"]["Partial_TextOperators_"]; - modelOverride?: components["schemas"]["Partial_TextOperators_"]; - path?: components["schemas"]["Partial_TextOperators_"]; - country_code?: components["schemas"]["Partial_TextOperators_"]; - prompt_id?: components["schemas"]["Partial_TextOperators_"]; - }; - /** @description Make all properties in T optional */ - Partial_NumberOperators_: { - /** Format: double */ - "not-equals"?: number; - /** Format: double */ - equals?: number; - /** Format: double */ - gte?: number; - /** Format: double */ - lte?: number; - /** Format: double */ - lt?: number; - /** Format: double */ - gt?: number; - }; - /** @description Make all properties in T optional */ - Partial_BooleanOperators_: { - equals?: boolean; - }; - /** @description Make all properties in T optional */ - Partial_FeedbackTableToOperators_: { - id?: components["schemas"]["Partial_NumberOperators_"]; - created_at?: components["schemas"]["Partial_TimestampOperators_"]; - rating?: components["schemas"]["Partial_BooleanOperators_"]; - response_id?: components["schemas"]["Partial_TextOperators_"]; - }; - /** @description Make all properties in T optional */ - Partial_ResponseTableToOperators_: { - body_tokens?: components["schemas"]["Partial_NumberOperators_"]; - body_model?: components["schemas"]["Partial_TextOperators_"]; - body_completion?: components["schemas"]["Partial_TextOperators_"]; - status?: components["schemas"]["Partial_NumberOperators_"]; - model?: components["schemas"]["Partial_TextOperators_"]; - }; - /** @description Make all properties in T optional */ - Partial_TimestampOperatorsTyped_: { - /** Format: date-time */ - equals?: string; - /** Format: date-time */ - gte?: string; - /** Format: date-time */ - lte?: string; - /** Format: date-time */ - lt?: string; - /** Format: date-time */ - gt?: string; - }; - /** @description Make all properties in T optional */ - Partial_RequestResponseRMTToOperators_: { - country_code?: components["schemas"]["Partial_TextOperators_"]; - latency?: components["schemas"]["Partial_NumberOperators_"]; - cost?: components["schemas"]["Partial_NumberOperators_"]; - provider?: components["schemas"]["Partial_TextOperators_"]; - time_to_first_token?: components["schemas"]["Partial_NumberOperators_"]; - status?: components["schemas"]["Partial_NumberOperators_"]; - request_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - response_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - model?: components["schemas"]["Partial_TextOperators_"]; - user_id?: components["schemas"]["Partial_TextOperators_"]; - organization_id?: components["schemas"]["Partial_TextOperators_"]; - node_id?: components["schemas"]["Partial_TextOperators_"]; - job_id?: components["schemas"]["Partial_TextOperators_"]; - threat?: components["schemas"]["Partial_BooleanOperators_"]; - request_id?: components["schemas"]["Partial_TextOperators_"]; - prompt_tokens?: components["schemas"]["Partial_NumberOperators_"]; - completion_tokens?: components["schemas"]["Partial_NumberOperators_"]; - prompt_cache_read_tokens?: components["schemas"]["Partial_NumberOperators_"]; - prompt_cache_write_tokens?: components["schemas"]["Partial_NumberOperators_"]; - total_tokens?: components["schemas"]["Partial_NumberOperators_"]; - target_url?: components["schemas"]["Partial_TextOperators_"]; - property_key?: { - equals: string; - }; - properties?: { - [key: string]: components["schemas"]["Partial_TextOperators_"]; - }; - search_properties?: { - [key: string]: components["schemas"]["Partial_TextOperators_"]; - }; - scores?: { - [key: string]: components["schemas"]["Partial_TextOperators_"]; - }; - scores_column?: components["schemas"]["Partial_TextOperators_"]; - request_body?: components["schemas"]["Partial_TextOperators_"]; - response_body?: components["schemas"]["Partial_TextOperators_"]; - cache_enabled?: components["schemas"]["Partial_BooleanOperators_"]; - cache_reference_id?: components["schemas"]["Partial_TextOperators_"]; - cached?: components["schemas"]["Partial_BooleanOperators_"]; - assets?: components["schemas"]["Partial_TextOperators_"]; - "helicone-score-feedback"?: components["schemas"]["Partial_BooleanOperators_"]; - prompt_id?: components["schemas"]["Partial_TextOperators_"]; - prompt_version?: components["schemas"]["Partial_TextOperators_"]; - request_referrer?: components["schemas"]["Partial_TextOperators_"]; - is_passthrough_billing?: components["schemas"]["Partial_BooleanOperators_"]; - }; - /** @description Make all properties in T optional */ - Partial_SessionsRequestResponseRMTToOperators_: { - session_session_id?: components["schemas"]["Partial_TextOperators_"]; - session_session_name?: components["schemas"]["Partial_TextOperators_"]; - session_total_cost?: components["schemas"]["Partial_NumberOperators_"]; - session_total_tokens?: components["schemas"]["Partial_NumberOperators_"]; - session_prompt_tokens?: components["schemas"]["Partial_NumberOperators_"]; - session_completion_tokens?: components["schemas"]["Partial_NumberOperators_"]; - session_total_requests?: components["schemas"]["Partial_NumberOperators_"]; - session_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - session_latest_request_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - session_tag?: components["schemas"]["Partial_TextOperators_"]; - }; - /** @description From T, pick a set of properties whose keys are in the union K */ - "Pick_FilterLeaf.feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_": { - request?: components["schemas"]["Partial_RequestTableToOperators_"]; - values?: { - [key: string]: components["schemas"]["Partial_TextOperators_"]; - }; - feedback?: components["schemas"]["Partial_FeedbackTableToOperators_"]; - response?: components["schemas"]["Partial_ResponseTableToOperators_"]; - properties?: { - [key: string]: components["schemas"]["Partial_TextOperators_"]; - }; - request_response_rmt?: components["schemas"]["Partial_RequestResponseRMTToOperators_"]; - sessions_request_response_rmt?: components["schemas"]["Partial_SessionsRequestResponseRMTToOperators_"]; - }; - "FilterLeafSubset_feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_": components["schemas"]["Pick_FilterLeaf.feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_"]; - RequestFilterNode: components["schemas"]["FilterLeafSubset_feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_"] | components["schemas"]["RequestFilterBranch"] | "all"; - RequestFilterBranch: { - right: components["schemas"]["RequestFilterNode"]; - /** @enum {string} */ - operator: "or" | "and"; - left: components["schemas"]["RequestFilterNode"]; - }; - /** @enum {string} */ - SortDirection: "asc" | "desc"; - SortLeafRequest: { - /** @enum {boolean} */ - random?: true; - created_at?: components["schemas"]["SortDirection"]; - cache_created_at?: components["schemas"]["SortDirection"]; - latency?: components["schemas"]["SortDirection"]; - last_active?: components["schemas"]["SortDirection"]; - total_tokens?: components["schemas"]["SortDirection"]; - completion_tokens?: components["schemas"]["SortDirection"]; - prompt_tokens?: components["schemas"]["SortDirection"]; - user_id?: components["schemas"]["SortDirection"]; - body_model?: components["schemas"]["SortDirection"]; - is_cached?: components["schemas"]["SortDirection"]; - request_prompt?: components["schemas"]["SortDirection"]; - response_text?: components["schemas"]["SortDirection"]; - properties?: { - [key: string]: components["schemas"]["SortDirection"]; - }; - values?: { - [key: string]: components["schemas"]["SortDirection"]; - }; - cost?: components["schemas"]["SortDirection"]; - time_to_first_token?: components["schemas"]["SortDirection"]; - }; - RequestQueryParams: { - filter: components["schemas"]["RequestFilterNode"]; - /** Format: double */ - offset?: number; - /** Format: double */ - limit?: number; - sort?: components["schemas"]["SortLeafRequest"]; - isCached?: boolean; - includeInputs?: boolean; - isPartOfExperiment?: boolean; - isScored?: boolean; + "Result_Array__id-string--name-string__.string_": components["schemas"]["ResultSuccess_Array__id-string--name-string___"] | components["schemas"]["ResultError_string_"]; + TestStripeMeterEventRequest: { + event_name: string; + customer_id: string; }; /** @enum {string} */ - ProviderName: "OPENAI" | "ANTHROPIC" | "AZURE" | "LOCAL" | "HELICONE" | "AMDBARTEK" | "ANYSCALE" | "CLOUDFLARE" | "2YFV" | "TOGETHER" | "LEMONFOX" | "FIREWORKS" | "PERPLEXITY" | "GOOGLE" | "OPENROUTER" | "WISDOMINANUTSHELL" | "GROQ" | "COHERE" | "MISTRAL" | "DEEPINFRA" | "QSTASH" | "FIRECRAWL" | "AWS" | "BEDROCK" | "DEEPSEEK" | "X" | "AVIAN" | "NEBIUS" | "NOVITA" | "OPENPIPE" | "CHUTES" | "LLAMA" | "NVIDIA" | "VERCEL" | "CEREBRAS" | "BASETEN" | "CANOPYWAVE"; - /** @enum {string} */ ModelProviderName: "baseten" | "anthropic" | "azure" | "bedrock" | "canopywave" | "cerebras" | "chutes" | "deepinfra" | "deepseek" | "fireworks" | "google-ai-studio" | "groq" | "helicone" | "mistral" | "nebius" | "novita" | "openai" | "openrouter" | "perplexity" | "vertex" | "xai"; - Provider: components["schemas"]["ProviderName"] | components["schemas"]["ModelProviderName"] | "CUSTOM"; /** @enum {string} */ - LlmType: "chat" | "completion"; - FunctionCall: { - id?: string; - name: string; - arguments: components["schemas"]["Record_string.any_"]; - }; - Message: { - ending_event_id?: string; - trigger_event_id?: string; - start_timestamp?: string; - annotations?: { - content?: string; - title: string; - url: string; - /** @enum {string} */ - type: "url_citation"; - }[]; - reasoning?: string; - deleted?: boolean; - contentArray?: components["schemas"]["Message"][]; - /** Format: double */ - idx?: number; - detail?: string; - filename?: string; - file_id?: string; - file_data?: string; - /** @enum {string} */ - type?: "input_image" | "input_text" | "input_file"; - audio_data?: string; - image_url?: string; - timestamp?: string; - tool_call_id?: string; - tool_calls?: components["schemas"]["FunctionCall"][]; - mime_type?: string; - content?: string; - name?: string; - instruction?: string; - role?: string | ("user" | "assistant" | "system" | "developer"); - id?: string; - /** @enum {string} */ - _type: "functionCall" | "function" | "image" | "file" | "message" | "autoInput" | "contentArray" | "audio"; - }; - Tool: { - name: string; - description?: string; - parameters?: components["schemas"]["Record_string.any_"]; - strict?: boolean; - }; - HeliconeEventTool: { - /** @enum {string} */ - _type: "tool"; - toolName: string; - input: unknown; - [key: string]: unknown; - }; - HeliconeEventVectorDB: { - /** @enum {string} */ - _type: "vector_db"; - /** @enum {string} */ - operation: "search" | "insert" | "delete" | "update"; - text?: string; - vector?: number[]; - /** Format: double */ - topK?: number; - filter?: Record; - databaseName?: string; - [key: string]: unknown; - }; - HeliconeEventData: { - /** @enum {string} */ - _type: "data"; - name: string; - meta?: components["schemas"]["Record_string.any_"]; - [key: string]: unknown; + BodyMappingType: "OPENAI" | "NO_MAPPING" | "RESPONSES"; + HeliconeMeta: { + freeLimitExceeded?: boolean; + aiGatewayBodyMapping?: components["schemas"]["BodyMappingType"]; + providerModelId?: string; + gatewayModel?: string; + gatewayProvider?: components["schemas"]["ModelProviderName"]; + isPassthroughBilling?: boolean; + gatewayDeploymentTarget?: string; + gatewayRouterId?: string; + stripeCustomerId?: string; + heliconeManualAccessKey?: string; + promptInputs?: components["schemas"]["Record_string.any_"]; + promptVersionId?: string; + promptEnvironment?: string; + promptId?: string; + lytixHost?: string; + lytixKey?: string; + posthogHost?: string; + posthogApiKey?: string; + webhookEnabled: boolean; + omitResponseLog: boolean; + omitRequestLog: boolean; + modelOverride?: string; }; - LLMRequestBody: { - llm_type?: components["schemas"]["LlmType"]; - provider?: string; - model?: string; - messages?: components["schemas"]["Message"][] | null; - prompt?: string | null; - instructions?: string | null; - /** Format: double */ - max_tokens?: number | null; - /** Format: double */ - temperature?: number | null; - /** Format: double */ - top_p?: number | null; - /** Format: double */ - seed?: number | null; - stream?: boolean | null; - /** Format: double */ - presence_penalty?: number | null; - /** Format: double */ - frequency_penalty?: number | null; - stop?: (string[] | string) | null; - /** @enum {string|null} */ - reasoning_effort?: "minimal" | "low" | "medium" | "high" | null; - /** @enum {string|null} */ - verbosity?: "low" | "medium" | "high" | null; - tools?: components["schemas"]["Tool"][]; - parallel_tool_calls?: boolean | null; - tool_choice?: { - name?: string; - /** @enum {string} */ - type: "none" | "auto" | "any" | "tool"; - }; - response_format?: { - json_schema?: unknown; - type: string; + /** @enum {string} */ + ProviderName: "OPENAI" | "ANTHROPIC" | "AZURE" | "LOCAL" | "HELICONE" | "AMDBARTEK" | "ANYSCALE" | "CLOUDFLARE" | "2YFV" | "TOGETHER" | "LEMONFOX" | "FIREWORKS" | "PERPLEXITY" | "GOOGLE" | "OPENROUTER" | "WISDOMINANUTSHELL" | "GROQ" | "COHERE" | "MISTRAL" | "DEEPINFRA" | "QSTASH" | "FIRECRAWL" | "AWS" | "BEDROCK" | "DEEPSEEK" | "X" | "AVIAN" | "NEBIUS" | "NOVITA" | "OPENPIPE" | "CHUTES" | "LLAMA" | "NVIDIA" | "VERCEL" | "CEREBRAS" | "BASETEN" | "CANOPYWAVE"; + Provider: components["schemas"]["ProviderName"] | components["schemas"]["ModelProviderName"] | "CUSTOM"; + /** + * @description Parses a string containing custom JSX-like tags and extracts information to produce two outputs: + * 1. A version of the string with all JSX tags removed, leaving only the text content. + * 2. An object representing a template with self-closing JSX tags and a separate mapping of keys to their + * corresponding text content. + * + * The function specifically targets `` tags, which include a `key` attribute and enclosed text content. + * These tags are transformed or removed based on the desired output structure. The process involves regular expressions + * to match and manipulate the input string to produce the outputs. + * + * Parameters: + * - input: A string containing the text and JSX-like tags to be parsed. + * + * Returns: + * An object with two properties: + * 1. stringWithoutJSXTags: A string where all `` tags are removed, and only their text content remains. + * 2. templateWithInputs: An object containing: + * - template: A version of the input string where `` tags are replaced with self-closing versions, + * preserving the `key` attributes but removing the text content. + * - inputs: An object mapping the `key` attributes to their corresponding text content, effectively extracting + * the data from the original tags. + * + * Example Usage: + * ```ts + * const input = ` + * The scene is Harry Potter. + * justin test`; + * + * const expectedOutput = parseJSXString(input); + * console.log(expectedOutput); + * ``` + * The function is useful for preprocessing strings with embedded custom JSX-like tags, extracting useful data, + * and preparing templates for further processing or rendering. It demonstrates a practical application of regular + * expressions for text manipulation in TypeScript, specifically tailored to a custom JSX-like syntax. + */ + TemplateWithInputs: { + template: Record; + inputs: { + [key: string]: string; }; - toolDetails?: components["schemas"]["HeliconeEventTool"]; - vectorDBDetails?: components["schemas"]["HeliconeEventVectorDB"]; - dataDetails?: components["schemas"]["HeliconeEventData"]; - input?: string | string[]; - /** Format: double */ - n?: number | null; - size?: string; - quality?: string; - }; - Response: { - contentArray?: components["schemas"]["Response"][]; - detail?: string; - filename?: string; - file_id?: string; - file_data?: string; - /** Format: double */ - idx?: number; - audio_data?: string; - image_url?: string; - timestamp?: string; - tool_call_id?: string; - tool_calls?: components["schemas"]["FunctionCall"][]; - text?: string; - /** @enum {string} */ - type: "input_image" | "input_text" | "input_file"; - name?: string; - /** @enum {string} */ - role: "user" | "assistant" | "system" | "developer"; - id?: string; - /** @enum {string} */ - _type: "functionCall" | "function" | "image" | "text" | "file" | "contentArray"; + autoInputs: unknown[]; }; - LLMResponseBody: { - dataDetailsResponse?: { - name: string; - /** @enum {string} */ - _type: "data"; - metadata: { - timestamp: string; - [key: string]: unknown; - }; - message: string; - status: string; - [key: string]: unknown; - }; - vectorDBDetailsResponse?: { - /** @enum {string} */ - _type: "vector_db"; - metadata: { - timestamp: string; - destination_parsed?: boolean; - destination?: string; - }; + Log: { + response: { + model?: string; /** Format: double */ - actualSimilarity?: number; + reasoningTokens?: number; /** Format: double */ - similarityThreshold?: number; - message: string; - status: string; - }; - toolDetailsResponse?: { - toolName: string; - /** @enum {string} */ - _type: "tool"; - metadata: { - timestamp: string; - }; - tips: string[]; - message: string; - status: string; + completionAudioTokens?: number; + /** Format: double */ + promptAudioTokens?: number; + /** Format: double */ + promptCacheWriteTokens?: number; + /** Format: double */ + promptCacheReadTokens?: number; + /** Format: double */ + completionTokens?: number; + /** Format: double */ + promptTokens?: number; + /** Format: double */ + cost?: number; + /** Format: double */ + cachedLatency?: number; + /** Format: double */ + delayMs: number; + /** Format: date-time */ + responseCreatedAt: string; + /** Format: double */ + timeToFirstToken?: number; + /** Format: double */ + bodySize: number; + /** Format: double */ + status: number; + id: string; }; - error?: { - heliconeMessage: unknown; + request: { + requestReferrer?: string; + cacheReferenceId?: string; + cacheControl?: string; + /** Format: double */ + cacheBucketMaxSize?: number; + /** Format: double */ + cacheSeed?: number; + cacheEnabled?: boolean; + experimentRowIndex?: string; + experimentColumnId?: string; + heliconeTemplate?: components["schemas"]["TemplateWithInputs"]; + isStream: boolean; + /** Format: date-time */ + requestCreatedAt: string; + countryCode?: string; + threat?: boolean; + path: string; + /** Format: double */ + bodySize: number; + provider: components["schemas"]["Provider"]; + targetUrl: string; + heliconeProxyKeyId?: string; + /** Format: double */ + heliconeApiKeyId?: number; + properties: components["schemas"]["Record_string.string_"]; + promptVersion?: string; + promptId?: string; + userId: string; + id: string; }; - model?: string | null; - instructions?: string | null; - responses?: components["schemas"]["Response"][] | null; - messages?: components["schemas"]["Message"][] | null; - }; - LlmSchema: { - request: components["schemas"]["LLMRequestBody"]; - response?: components["schemas"]["LLMResponseBody"] | null; - }; - HeliconeRequest: { - response_id: string | null; - response_created_at: string | null; - response_body?: unknown; - /** Format: double */ - response_status: number; - response_model: string | null; - request_id: string; - request_created_at: string; - request_body: unknown; - request_path: string; - request_user_id: string | null; - request_properties: components["schemas"]["Record_string.string_"] | null; - request_model: string | null; - model_override: string | null; - helicone_user: string | null; - provider: components["schemas"]["Provider"]; - /** Format: double */ - delay_ms: number | null; - /** Format: double */ - time_to_first_token: number | null; - /** Format: double */ - total_tokens: number | null; - /** Format: double */ - prompt_tokens: number | null; - /** Format: double */ - prompt_cache_write_tokens: number | null; - /** Format: double */ - prompt_cache_read_tokens: number | null; - /** Format: double */ - completion_tokens: number | null; - /** Format: double */ - reasoning_tokens: number | null; - /** Format: double */ - prompt_audio_tokens: number | null; - /** Format: double */ - completion_audio_tokens: number | null; - /** Format: double */ - cost: number | null; - prompt_id: string | null; - prompt_version: string | null; - feedback_created_at?: string | null; - feedback_id?: string | null; - feedback_rating?: boolean | null; - signed_body_url?: string | null; - llmSchema: components["schemas"]["LlmSchema"] | null; - country_code: string | null; - asset_ids: string[] | null; - asset_urls: components["schemas"]["Record_string.string_"] | null; - scores: components["schemas"]["Record_string.number_"] | null; - /** Format: double */ - costUSD?: number | null; - properties: components["schemas"]["Record_string.string_"]; - assets: string[]; - target_url: string; - model: string; - cache_reference_id: string | null; - cache_enabled: boolean; - updated_at?: string; - request_referrer?: string | null; - ai_gateway_body_mapping: string | null; - storage_location?: string; - }; - "ResultSuccess_HeliconeRequest-Array_": { - data: components["schemas"]["HeliconeRequest"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_HeliconeRequest-Array.string_": components["schemas"]["ResultSuccess_HeliconeRequest-Array_"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_HeliconeRequest_: { - data: components["schemas"]["HeliconeRequest"]; - /** @enum {number|null} */ - error: null; - }; - "Result_HeliconeRequest.string_": components["schemas"]["ResultSuccess_HeliconeRequest_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null_": { - data: ({ - environment: string | null; - version_id: string; - prompt_id: string; - inputs: components["schemas"]["Record_string.any_"]; - }) | null; - /** @enum {number|null} */ - error: null; }; - "Result__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null.string_": components["schemas"]["ResultSuccess__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null_"] | components["schemas"]["ResultError_string_"]; - HeliconeRequestAsset: { - assetUrl: string; + KafkaMessageContents: { + log: components["schemas"]["Log"]; + heliconeMeta: components["schemas"]["HeliconeMeta"]; + authorization: string; }; - ResultSuccess_HeliconeRequestAsset_: { - data: components["schemas"]["HeliconeRequestAsset"]; + ResultSuccess_any_: { + data: unknown; /** @enum {number|null} */ error: null; }; - "Result_HeliconeRequestAsset.string_": components["schemas"]["ResultSuccess_HeliconeRequestAsset_"] | components["schemas"]["ResultError_string_"]; - /** @description Construct a type with a set of properties K of type T */ - "Record_string.number-or-boolean-or-undefined_": { - [key: string]: number | boolean; + /** @enum {string} */ + KeyPermissions: "w" | "rw"; + GenerateHashQueryParams: { + apiKey: string; + governance: boolean; + keyName: string; + permissions: components["schemas"]["KeyPermissions"]; }; - Scores: components["schemas"]["Record_string.number-or-boolean-or-undefined_"]; - ScoreRequest: { - scores: components["schemas"]["Scores"]; + StoreFilterType: { + createdAt?: string; + filter: unknown; + name: string; + id?: string; }; - "ResultSuccess__hasPrompts-boolean__": { - data: { - hasPrompts: boolean; - }; + "ResultSuccess_StoreFilterType-Array_": { + data: components["schemas"]["StoreFilterType"][]; /** @enum {number|null} */ error: null; }; - "Result__hasPrompts-boolean_.string_": components["schemas"]["ResultSuccess__hasPrompts-boolean__"] | components["schemas"]["ResultError_string_"]; - PromptsResult: { - id: string; - user_defined_id: string; - description: string; - pretty_name: string; - created_at: string; - /** Format: double */ - major_version: number; - metadata?: components["schemas"]["Record_string.any_"]; - }; - "ResultSuccess_PromptsResult-Array_": { - data: components["schemas"]["PromptsResult"][]; + "Result_StoreFilterType-Array.string_": components["schemas"]["ResultSuccess_StoreFilterType-Array_"] | components["schemas"]["ResultError_string_"]; + ResultSuccess_StoreFilterType_: { + data: components["schemas"]["StoreFilterType"]; /** @enum {number|null} */ error: null; }; - "Result_PromptsResult-Array.string_": components["schemas"]["ResultSuccess_PromptsResult-Array_"] | components["schemas"]["ResultError_string_"]; - /** @description Make all properties in T optional */ - Partial_PromptToOperators_: { - id?: components["schemas"]["Partial_TextOperators_"]; - user_defined_id?: components["schemas"]["Partial_TextOperators_"]; - }; - /** @description From T, pick a set of properties whose keys are in the union K */ - "Pick_FilterLeaf.prompt_v2_": { - prompt_v2?: components["schemas"]["Partial_PromptToOperators_"]; + "Result_StoreFilterType.string_": components["schemas"]["ResultSuccess_StoreFilterType_"] | components["schemas"]["ResultError_string_"]; + "ChatCompletionTokenLogprob.TopLogprob": { + /** @description The token. */ + token: string; + /** + * @description A list of integers representing the UTF-8 bytes representation of the token. + * Useful in instances where characters are represented by multiple tokens and + * their byte representations must be combined to generate the correct text + * representation. Can be `null` if there is no bytes representation for the token. + */ + bytes: number[] | null; + /** + * Format: double + * @description The log probability of this token, if it is within the top 20 most likely + * tokens. Otherwise, the value `-9999.0` is used to signify that the token is very + * unlikely. + */ + logprob: number; }; - FilterLeafSubset_prompt_v2_: components["schemas"]["Pick_FilterLeaf.prompt_v2_"]; - PromptsFilterNode: components["schemas"]["FilterLeafSubset_prompt_v2_"] | components["schemas"]["PromptsFilterBranch"] | "all"; - PromptsFilterBranch: { - right: components["schemas"]["PromptsFilterNode"]; - /** @enum {string} */ - operator: "or" | "and"; - left: components["schemas"]["PromptsFilterNode"]; - }; - PromptsQueryParams: { - filter: components["schemas"]["PromptsFilterNode"]; + ChatCompletionTokenLogprob: { + /** @description The token. */ + token: string; + /** + * @description A list of integers representing the UTF-8 bytes representation of the token. + * Useful in instances where characters are represented by multiple tokens and + * their byte representations must be combined to generate the correct text + * representation. Can be `null` if there is no bytes representation for the token. + */ + bytes: number[] | null; + /** + * Format: double + * @description The log probability of this token, if it is within the top 20 most likely + * tokens. Otherwise, the value `-9999.0` is used to signify that the token is very + * unlikely. + */ + logprob: number; + /** + * @description List of the most likely tokens and their log probability, at this token + * position. In rare cases, there may be fewer than the number of requested + * `top_logprobs` returned. + */ + top_logprobs: components["schemas"]["ChatCompletionTokenLogprob.TopLogprob"][]; }; - PromptResult: { - id: string; - user_defined_id: string; - description: string; - pretty_name: string; - /** Format: double */ - major_version: number; - latest_version_id: string; - latest_model_used: string; - created_at: string; - last_used: string; - versions: string[]; - metadata?: components["schemas"]["Record_string.any_"]; + /** @description Log probability information for the choice. */ + "ChatCompletion.Choice.Logprobs": { + /** @description A list of message content tokens with log probability information. */ + content: components["schemas"]["ChatCompletionTokenLogprob"][] | null; + /** @description A list of message refusal tokens with log probability information. */ + refusal: components["schemas"]["ChatCompletionTokenLogprob"][] | null; }; - ResultSuccess_PromptResult_: { - data: components["schemas"]["PromptResult"]; - /** @enum {number|null} */ - error: null; + /** @description A URL citation when using web search. */ + "ChatCompletionMessage.Annotation.URLCitation": { + /** + * Format: double + * @description The index of the last character of the URL citation in the message. + */ + end_index: number; + /** + * Format: double + * @description The index of the first character of the URL citation in the message. + */ + start_index: number; + /** @description The title of the web resource. */ + title: string; + /** @description The URL of the web resource. */ + url: string; }; - "Result_PromptResult.string_": components["schemas"]["ResultSuccess_PromptResult_"] | components["schemas"]["ResultError_string_"]; - PromptQueryParams: { - timeFilter: { - end: string; - start: string; - }; + /** @description A URL citation when using web search. */ + "ChatCompletionMessage.Annotation": { + /** + * @description The type of the URL citation. Always `url_citation`. + * @enum {string} + */ + type: "url_citation"; + /** @description A URL citation when using web search. */ + url_citation: components["schemas"]["ChatCompletionMessage.Annotation.URLCitation"]; }; - CreatePromptResponse: { + /** + * @description If the audio output modality is requested, this object contains data about the + * audio response from the model. + * [Learn more](https://platform.openai.com/docs/guides/audio). + */ + ChatCompletionAudio: { + /** @description Unique identifier for this audio response. */ id: string; - prompt_version_id: string; - }; - ResultSuccess_CreatePromptResponse_: { - data: components["schemas"]["CreatePromptResponse"]; - /** @enum {number|null} */ - error: null; - }; - "Result_CreatePromptResponse.string_": components["schemas"]["ResultSuccess_CreatePromptResponse_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__metadata-Record_string.any___": { - data: { - metadata: components["schemas"]["Record_string.any_"]; - }; - /** @enum {number|null} */ - error: null; + /** + * @description Base64 encoded audio bytes generated by the model, in the format specified in + * the request. + */ + data: string; + /** + * Format: double + * @description The Unix timestamp (in seconds) for when this audio response will no longer be + * accessible on the server for use in multi-turn conversations. + */ + expires_at: number; + /** @description Transcript of the audio generated by the model. */ + transcript: string; }; - "Result__metadata-Record_string.any__.string_": components["schemas"]["ResultSuccess__metadata-Record_string.any___"] | components["schemas"]["ResultError_string_"]; - PromptEditSubversionLabelParams: { - label: string; + /** @deprecated */ + "ChatCompletionMessage.FunctionCall": { + /** + * @description The arguments to call the function with, as generated by the model in JSON + * format. Note that the model does not always generate valid JSON, and may + * hallucinate parameters not defined by your function schema. Validate the + * arguments in your code before calling your function. + */ + arguments: string; + /** @description The name of the function to call. */ + name: string; }; - PromptEditSubversionTemplateParams: { - heliconeTemplate: unknown; - experimentId?: string; + /** @description The function that the model called. */ + "ChatCompletionMessageFunctionToolCall.Function": { + /** + * @description The arguments to call the function with, as generated by the model in JSON + * format. Note that the model does not always generate valid JSON, and may + * hallucinate parameters not defined by your function schema. Validate the + * arguments in your code before calling your function. + */ + arguments: string; + /** @description The name of the function to call. */ + name: string; }; - PromptVersionResult: { + /** @description A call to a function tool created by the model. */ + ChatCompletionMessageFunctionToolCall: { + /** @description The ID of the tool call. */ id: string; - /** Format: double */ - minor_version: number; - /** Format: double */ - major_version: number; - prompt_v2: string; - model: string; - helicone_template: string; - created_at: string; - metadata: components["schemas"]["Record_string.any_"]; - parent_prompt_version?: string | null; - experiment_id?: string | null; - updated_at?: string; - }; - ResultSuccess_PromptVersionResult_: { - data: components["schemas"]["PromptVersionResult"]; - /** @enum {number|null} */ - error: null; + /** @description The function that the model called. */ + function: components["schemas"]["ChatCompletionMessageFunctionToolCall.Function"]; + /** + * @description The type of the tool. Currently, only `function` is supported. + * @enum {string} + */ + type: "function"; }; - "Result_PromptVersionResult.string_": components["schemas"]["ResultSuccess_PromptVersionResult_"] | components["schemas"]["ResultError_string_"]; - PromptCreateSubversionParams: { - newHeliconeTemplate: unknown; - isMajorVersion?: boolean; - metadata?: components["schemas"]["Record_string.any_"]; - experimentId?: string; - bumpForMajorPromptVersionId?: string; + /** @description The custom tool that the model called. */ + "ChatCompletionMessageCustomToolCall.Custom": { + /** @description The input for the custom tool call generated by the model. */ + input: string; + /** @description The name of the custom tool to call. */ + name: string; }; - PromptInputRecord: { + /** @description A call to a custom tool created by the model. */ + ChatCompletionMessageCustomToolCall: { + /** @description The ID of the tool call. */ id: string; - inputs: components["schemas"]["Record_string.string_"]; - dataset_row_id?: string; - source_request: string; - prompt_version: string; - created_at: string; - response_body?: string; - request_body?: string; - auto_prompt_inputs: unknown[]; - }; - "ResultSuccess_PromptInputRecord-Array_": { - data: components["schemas"]["PromptInputRecord"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_PromptInputRecord-Array.string_": components["schemas"]["ResultSuccess_PromptInputRecord-Array_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array_": { - data: { - meta: components["schemas"]["Record_string.any_"]; - dataset: string; - /** Format: double */ - num_hypotheses: number; - created_at: string; - id: string; - }[]; - /** @enum {number|null} */ - error: null; - }; - "Result__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array.string_": components["schemas"]["ResultSuccess__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_PromptVersionResult-Array_": { - data: components["schemas"]["PromptVersionResult"][]; - /** @enum {number|null} */ - error: null; + /** @description The custom tool that the model called. */ + custom: components["schemas"]["ChatCompletionMessageCustomToolCall.Custom"]; + /** + * @description The type of the tool. Always `custom`. + * @enum {string} + */ + type: "custom"; }; - "Result_PromptVersionResult-Array.string_": components["schemas"]["ResultSuccess_PromptVersionResult-Array_"] | components["schemas"]["ResultError_string_"]; - /** @description Make all properties in T optional */ - Partial_PromptVersionsToOperators_: { - minor_version?: components["schemas"]["Partial_NumberOperators_"]; - major_version?: components["schemas"]["Partial_NumberOperators_"]; - id?: components["schemas"]["Partial_TextOperators_"]; - prompt_v2?: components["schemas"]["Partial_TextOperators_"]; + /** @description A call to a function tool created by the model. */ + ChatCompletionMessageToolCall: components["schemas"]["ChatCompletionMessageFunctionToolCall"] | components["schemas"]["ChatCompletionMessageCustomToolCall"]; + /** @description A chat completion message generated by the model. */ + ChatCompletionMessage: { + /** @description The contents of the message. */ + content: string | null; + /** @description The refusal message generated by the model. */ + refusal: string | null; + /** + * @description The role of the author of this message. + * @enum {string} + */ + role: "assistant"; + /** + * @description Annotations for the message, when applicable, as when using the + * [web search tool](https://platform.openai.com/docs/guides/tools-web-search?api-mode=chat). + */ + annotations?: components["schemas"]["ChatCompletionMessage.Annotation"][]; + /** + * @description If the audio output modality is requested, this object contains data about the + * audio response from the model. + * [Learn more](https://platform.openai.com/docs/guides/audio). + */ + audio?: components["schemas"]["ChatCompletionAudio"] | null; + /** @deprecated */ + function_call?: components["schemas"]["ChatCompletionMessage.FunctionCall"] | null; + /** @description The tool calls generated by the model, such as function calls. */ + tool_calls?: components["schemas"]["ChatCompletionMessageToolCall"][]; }; - /** @description From T, pick a set of properties whose keys are in the union K */ - "Pick_FilterLeaf.prompts_versions_": { - prompts_versions?: components["schemas"]["Partial_PromptVersionsToOperators_"]; + "ChatCompletion.Choice": { + /** + * @description The reason the model stopped generating tokens. This will be `stop` if the model + * hit a natural stop point or a provided stop sequence, `length` if the maximum + * number of tokens specified in the request was reached, `content_filter` if + * content was omitted due to a flag from our content filters, `tool_calls` if the + * model called a tool, or `function_call` (deprecated) if the model called a + * function. + * @enum {string} + */ + finish_reason: "stop" | "length" | "tool_calls" | "content_filter" | "function_call"; + /** + * Format: double + * @description The index of the choice in the list of choices. + */ + index: number; + /** @description Log probability information for the choice. */ + logprobs: components["schemas"]["ChatCompletion.Choice.Logprobs"] | null; + /** @description A chat completion message generated by the model. */ + message: components["schemas"]["ChatCompletionMessage"]; }; - FilterLeafSubset_prompts_versions_: components["schemas"]["Pick_FilterLeaf.prompts_versions_"]; - PromptVersionsFilterNode: components["schemas"]["FilterLeafSubset_prompts_versions_"] | components["schemas"]["PromptVersionsFilterBranch"] | "all"; - PromptVersionsFilterBranch: { - right: components["schemas"]["PromptVersionsFilterNode"]; - /** @enum {string} */ - operator: "or" | "and"; - left: components["schemas"]["PromptVersionsFilterNode"]; + /** @description Breakdown of tokens used in a completion. */ + "CompletionUsage.CompletionTokensDetails": { + /** + * Format: double + * @description When using Predicted Outputs, the number of tokens in the prediction that + * appeared in the completion. + */ + accepted_prediction_tokens?: number; + /** + * Format: double + * @description Audio input tokens generated by the model. + */ + audio_tokens?: number; + /** + * Format: double + * @description Tokens generated by the model for reasoning. + */ + reasoning_tokens?: number; + /** + * Format: double + * @description When using Predicted Outputs, the number of tokens in the prediction that did + * not appear in the completion. However, like reasoning tokens, these tokens are + * still counted in the total completion tokens for purposes of billing, output, + * and context window limits. + */ + rejected_prediction_tokens?: number; }; - PromptVersionsQueryParams: { - filter?: components["schemas"]["PromptVersionsFilterNode"]; - includeExperimentVersions?: boolean; + /** @description Breakdown of tokens used in the prompt. */ + "CompletionUsage.PromptTokensDetails": { + /** + * Format: double + * @description Audio input tokens present in the prompt. + */ + audio_tokens?: number; + /** + * Format: double + * @description Cached tokens present in the prompt. + */ + cached_tokens?: number; }; - PromptVersionResultCompiled: { - id: string; - /** Format: double */ - minor_version: number; - /** Format: double */ - major_version: number; - prompt_v2: string; - model: string; - prompt_compiled: unknown; - }; - ResultSuccess_PromptVersionResultCompiled_: { - data: components["schemas"]["PromptVersionResultCompiled"]; - /** @enum {number|null} */ - error: null; - }; - "Result_PromptVersionResultCompiled.string_": components["schemas"]["ResultSuccess_PromptVersionResultCompiled_"] | components["schemas"]["ResultError_string_"]; - PromptVersiosQueryParamsCompiled: { - filter?: components["schemas"]["PromptVersionsFilterNode"]; - includeExperimentVersions?: boolean; - inputs: components["schemas"]["Record_string.string_"]; + /** @description Usage statistics for the completion request. */ + CompletionUsage: { + /** + * Format: double + * @description Number of tokens in the generated completion. + */ + completion_tokens: number; + /** + * Format: double + * @description Number of tokens in the prompt. + */ + prompt_tokens: number; + /** + * Format: double + * @description Total number of tokens used in the request (prompt + completion). + */ + total_tokens: number; + /** @description Breakdown of tokens used in a completion. */ + completion_tokens_details?: components["schemas"]["CompletionUsage.CompletionTokensDetails"]; + /** @description Breakdown of tokens used in the prompt. */ + prompt_tokens_details?: components["schemas"]["CompletionUsage.PromptTokensDetails"]; }; - PromptVersionResultFilled: { + /** + * @description Represents a chat completion response returned by model, based on the provided + * input. + */ + ChatCompletion: { + /** @description A unique identifier for the chat completion. */ id: string; - /** Format: double */ - minor_version: number; - /** Format: double */ - major_version: number; - prompt_v2: string; + /** + * @description A list of chat completion choices. Can be more than one if `n` is greater + * than 1. + */ + choices: components["schemas"]["ChatCompletion.Choice"][]; + /** + * Format: double + * @description The Unix timestamp (in seconds) of when the chat completion was created. + */ + created: number; + /** @description The model used for the chat completion. */ model: string; - filled_helicone_template: unknown; - }; - ResultSuccess_PromptVersionResultFilled_: { - data: components["schemas"]["PromptVersionResultFilled"]; - /** @enum {number|null} */ - error: null; + /** + * @description The object type, which is always `chat.completion`. + * @enum {string} + */ + object: "chat.completion"; + /** + * @description Specifies the processing type used for serving the request. + * + * - If set to 'auto', then the request will be processed with the service tier + * configured in the Project settings. Unless otherwise configured, the Project + * will use 'default'. + * - If set to 'default', then the request will be processed with the standard + * pricing and performance for the selected model. + * - If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)' or + * 'priority', then the request will be processed with the corresponding service + * tier. [Contact sales](https://openai.com/contact-sales) to learn more about + * Priority processing. + * - When not set, the default behavior is 'auto'. + * + * When the `service_tier` parameter is set, the response body will include the + * `service_tier` value based on the processing mode actually used to serve the + * request. This response value may be different from the value set in the + * parameter. + * @enum {string|null} + */ + service_tier?: "auto" | "default" | "flex" | "scale" | "priority" | null; + /** + * @description This fingerprint represents the backend configuration that the model runs with. + * + * Can be used in conjunction with the `seed` request parameter to understand when + * backend changes have been made that might impact determinism. + */ + system_fingerprint?: string; + /** @description Usage statistics for the completion request. */ + usage?: components["schemas"]["CompletionUsage"]; }; - "Result_PromptVersionResultFilled.string_": components["schemas"]["ResultSuccess_PromptVersionResultFilled_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__experimentId-string__": { - data: { - experimentId: string; - }; + ResultSuccess_ChatCompletion_: { + data: components["schemas"]["ChatCompletion"]; /** @enum {number|null} */ error: null; }; - "Result__experimentId-string_.string_": components["schemas"]["ResultSuccess__experimentId-string__"] | components["schemas"]["ResultError_string_"]; - ExperimentV2: { - id: string; - name: string; - original_prompt_version: string; - copied_original_prompt_version: string | null; - input_keys: string[] | null; - created_at: string; + "Result_ChatCompletion.string_": components["schemas"]["ResultSuccess_ChatCompletion_"] | components["schemas"]["ResultError_string_"]; + /** + * @description Learn about + * [text inputs](https://platform.openai.com/docs/guides/text-generation). + */ + ChatCompletionContentPartText: { + /** @description The text content. */ + text: string; + /** + * @description The type of the content part. + * @enum {string} + */ + type: "text"; }; - "ResultSuccess_ExperimentV2-Array_": { - data: components["schemas"]["ExperimentV2"][]; - /** @enum {number|null} */ - error: null; + /** + * @description Developer-provided instructions that the model should follow, regardless of + * messages sent by the user. With o1 models and newer, `developer` messages + * replace the previous `system` messages. + */ + ChatCompletionDeveloperMessageParam: { + /** @description The contents of the developer message. */ + content: string | components["schemas"]["ChatCompletionContentPartText"][]; + /** + * @description The role of the messages author, in this case `developer`. + * @enum {string} + */ + role: "developer"; + /** + * @description An optional name for the participant. Provides the model information to + * differentiate between participants of the same role. + */ + name?: string; }; - "Result_ExperimentV2-Array.string_": components["schemas"]["ResultSuccess_ExperimentV2-Array_"] | components["schemas"]["ResultError_string_"]; - ExperimentV2Output: { - id: string; - request_id: string; - is_original: boolean; - prompt_version_id: string; - created_at: string; - input_record_id: string; + /** + * @description Developer-provided instructions that the model should follow, regardless of + * messages sent by the user. With o1 models and newer, use `developer` messages + * for this purpose instead. + */ + ChatCompletionSystemMessageParam: { + /** @description The contents of the system message. */ + content: string | components["schemas"]["ChatCompletionContentPartText"][]; + /** + * @description The role of the messages author, in this case `system`. + * @enum {string} + */ + role: "system"; + /** + * @description An optional name for the participant. Provides the model information to + * differentiate between participants of the same role. + */ + name?: string; }; - ExperimentV2Row: { - id: string; - inputs: components["schemas"]["Record_string.string_"]; - prompt_version: string; - requests: components["schemas"]["ExperimentV2Output"][]; - auto_prompt_inputs: unknown[]; + "ChatCompletionContentPartImage.ImageURL": { + /** @description Either a URL of the image or the base64 encoded image data. */ + url: string; + /** + * @description Specifies the detail level of the image. Learn more in the + * [Vision guide](https://platform.openai.com/docs/guides/vision#low-or-high-fidelity-image-understanding). + * @enum {string} + */ + detail?: "auto" | "low" | "high"; }; - ExtendedExperimentData: { - id: string; - name: string; - original_prompt_version: string; - copied_original_prompt_version: string | null; - input_keys: string[] | null; - created_at: string; - rows: components["schemas"]["ExperimentV2Row"][]; + /** @description Learn about [image inputs](https://platform.openai.com/docs/guides/vision). */ + ChatCompletionContentPartImage: { + image_url: components["schemas"]["ChatCompletionContentPartImage.ImageURL"]; + /** + * @description The type of the content part. + * @enum {string} + */ + type: "image_url"; }; - ResultSuccess_ExtendedExperimentData_: { - data: components["schemas"]["ExtendedExperimentData"]; - /** @enum {number|null} */ - error: null; + "ChatCompletionContentPartInputAudio.InputAudio": { + /** @description Base64 encoded audio data. */ + data: string; + /** + * @description The format of the encoded audio data. Currently supports "wav" and "mp3". + * @enum {string} + */ + format: "wav" | "mp3"; }; - "Result_ExtendedExperimentData.string_": components["schemas"]["ResultSuccess_ExtendedExperimentData_"] | components["schemas"]["ResultError_string_"]; - CreateNewPromptVersionForExperimentParams: { - newHeliconeTemplate: unknown; - isMajorVersion?: boolean; - metadata?: components["schemas"]["Record_string.any_"]; - experimentId?: string; - bumpForMajorPromptVersionId?: string; - parentPromptVersionId: string; - }; - ExperimentV2PromptVersion: { - created_at: string | null; - experiment_id: string | null; - helicone_template: components["schemas"]["Json"] | null; - id: string; - /** Format: double */ - major_version: number; - metadata: components["schemas"]["Json"] | null; - /** Format: double */ - minor_version: number; - model: string | null; - organization: string; - prompt_v2: string; - soft_delete: boolean | null; + /** @description Learn about [audio inputs](https://platform.openai.com/docs/guides/audio). */ + ChatCompletionContentPartInputAudio: { + input_audio: components["schemas"]["ChatCompletionContentPartInputAudio.InputAudio"]; + /** + * @description The type of the content part. Always `input_audio`. + * @enum {string} + */ + type: "input_audio"; }; - "ResultSuccess_ExperimentV2PromptVersion-Array_": { - data: components["schemas"]["ExperimentV2PromptVersion"][]; - /** @enum {number|null} */ - error: null; + "ChatCompletionContentPart.File.File": { + /** + * @description The base64 encoded file data, used when passing the file to the model as a + * string. + */ + file_data?: string; + /** @description The ID of an uploaded file to use as input. */ + file_id?: string; + /** @description The name of the file, used when passing the file to the model as a string. */ + filename?: string; }; - "Result_ExperimentV2PromptVersion-Array.string_": components["schemas"]["ResultSuccess_ExperimentV2PromptVersion-Array_"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_boolean_: { - data: boolean; - /** @enum {number|null} */ - error: null; + /** + * @description Learn about [file inputs](https://platform.openai.com/docs/guides/text) for text + * generation. + */ + "ChatCompletionContentPart.File": { + file: components["schemas"]["ChatCompletionContentPart.File.File"]; + /** + * @description The type of the content part. Always `file`. + * @enum {string} + */ + type: "file"; }; - "Result_boolean.string_": components["schemas"]["ResultSuccess_boolean_"] | components["schemas"]["ResultError_string_"]; - ScoreV2: { - valueType: string; - value: number | string; - /** Format: double */ - max: number; - /** Format: double */ - min: number; + /** + * @description Learn about + * [text inputs](https://platform.openai.com/docs/guides/text-generation). + */ + ChatCompletionContentPart: components["schemas"]["ChatCompletionContentPartText"] | components["schemas"]["ChatCompletionContentPartImage"] | components["schemas"]["ChatCompletionContentPartInputAudio"] | components["schemas"]["ChatCompletionContentPart.File"]; + /** + * @description Messages sent by an end user, containing prompts or additional context + * information. + */ + ChatCompletionUserMessageParam: { + /** @description The contents of the user message. */ + content: string | components["schemas"]["ChatCompletionContentPart"][]; + /** + * @description The role of the messages author, in this case `user`. + * @enum {string} + */ + role: "user"; + /** + * @description An optional name for the participant. Provides the model information to + * differentiate between participants of the same role. + */ + name?: string; }; - /** @description Construct a type with a set of properties K of type T */ - "Record_string.ScoreV2_": { - [key: string]: components["schemas"]["ScoreV2"]; + /** + * @description Data about a previous audio response from the model. + * [Learn more](https://platform.openai.com/docs/guides/audio). + */ + "ChatCompletionAssistantMessageParam.Audio": { + /** @description Unique identifier for a previous audio response from the model. */ + id: string; }; - "ResultSuccess_Record_string.ScoreV2__": { - data: components["schemas"]["Record_string.ScoreV2_"]; - /** @enum {number|null} */ - error: null; + ChatCompletionContentPartRefusal: { + /** @description The refusal message generated by the model. */ + refusal: string; + /** + * @description The type of the content part. + * @enum {string} + */ + type: "refusal"; }; - "Result_Record_string.ScoreV2_.string_": components["schemas"]["ResultSuccess_Record_string.ScoreV2__"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_ScoreV2-or-null_": { - data: components["schemas"]["ScoreV2"] | null; - /** @enum {number|null} */ - error: null; + /** @deprecated */ + "ChatCompletionAssistantMessageParam.FunctionCall": { + /** + * @description The arguments to call the function with, as generated by the model in JSON + * format. Note that the model does not always generate valid JSON, and may + * hallucinate parameters not defined by your function schema. Validate the + * arguments in your code before calling your function. + */ + arguments: string; + /** @description The name of the function to call. */ + name: string; }; - "Result_ScoreV2-or-null.string_": components["schemas"]["ResultSuccess_ScoreV2-or-null_"] | components["schemas"]["ResultError_string_"]; - IntegrationCreateParams: { - integration_name: string; - settings?: components["schemas"]["Json"]; - active?: boolean; + /** @description Messages sent by the model in response to user messages. */ + ChatCompletionAssistantMessageParam: { + /** + * @description The role of the messages author, in this case `assistant`. + * @enum {string} + */ + role: "assistant"; + /** + * @description Data about a previous audio response from the model. + * [Learn more](https://platform.openai.com/docs/guides/audio). + */ + audio?: components["schemas"]["ChatCompletionAssistantMessageParam.Audio"] | null; + /** + * @description The contents of the assistant message. Required unless `tool_calls` or + * `function_call` is specified. + */ + content?: (string | ((components["schemas"]["ChatCompletionContentPartText"] | components["schemas"]["ChatCompletionContentPartRefusal"])[])) | null; + /** @deprecated */ + function_call?: components["schemas"]["ChatCompletionAssistantMessageParam.FunctionCall"] | null; + /** + * @description An optional name for the participant. Provides the model information to + * differentiate between participants of the same role. + */ + name?: string; + /** @description The refusal message by the assistant. */ + refusal?: string | null; + /** @description The tool calls generated by the model, such as function calls. */ + tool_calls?: components["schemas"]["ChatCompletionMessageToolCall"][]; }; - Integration: { - integration_name?: string; - settings?: components["schemas"]["Json"]; - active?: boolean; - id: string; + ChatCompletionToolMessageParam: { + /** @description The contents of the tool message. */ + content: string | components["schemas"]["ChatCompletionContentPartText"][]; + /** + * @description The role of the messages author, in this case `tool`. + * @enum {string} + */ + role: "tool"; + /** @description Tool call that this message is responding to. */ + tool_call_id: string; }; - ResultSuccess_Array_Integration__: { - data: components["schemas"]["Integration"][]; - /** @enum {number|null} */ - error: null; + /** @deprecated */ + ChatCompletionFunctionMessageParam: { + /** @description The contents of the function message. */ + content: string | null; + /** @description The name of the function to call. */ + name: string; + /** + * @description The role of the messages author, in this case `function`. + * @enum {string} + */ + role: "function"; }; - "Result_Array_Integration_.string_": components["schemas"]["ResultSuccess_Array_Integration__"] | components["schemas"]["ResultError_string_"]; - IntegrationUpdateParams: { - integration_name?: string; - settings?: components["schemas"]["Json"]; - active?: boolean; + /** + * @description Developer-provided instructions that the model should follow, regardless of + * messages sent by the user. With o1 models and newer, `developer` messages + * replace the previous `system` messages. + */ + ChatCompletionMessageParam: components["schemas"]["ChatCompletionDeveloperMessageParam"] | components["schemas"]["ChatCompletionSystemMessageParam"] | components["schemas"]["ChatCompletionUserMessageParam"] | components["schemas"]["ChatCompletionAssistantMessageParam"] | components["schemas"]["ChatCompletionToolMessageParam"] | components["schemas"]["ChatCompletionFunctionMessageParam"]; + /** + * @description The parameters the functions accepts, described as a JSON Schema object. See the + * [guide](https://platform.openai.com/docs/guides/function-calling) for examples, + * and the + * [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for + * documentation about the format. + * + * Omitting `parameters` defines a function with an empty parameter list. + */ + FunctionParameters: { + [key: string]: unknown; }; - ResultSuccess_Integration_: { - data: components["schemas"]["Integration"]; - /** @enum {number|null} */ - error: null; + FunctionDefinition: { + /** + * @description The name of the function to be called. Must be a-z, A-Z, 0-9, or contain + * underscores and dashes, with a maximum length of 64. + */ + name: string; + /** + * @description A description of what the function does, used by the model to choose when and + * how to call the function. + */ + description?: string; + /** + * @description The parameters the functions accepts, described as a JSON Schema object. See the + * [guide](https://platform.openai.com/docs/guides/function-calling) for examples, + * and the + * [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for + * documentation about the format. + * + * Omitting `parameters` defines a function with an empty parameter list. + */ + parameters?: components["schemas"]["FunctionParameters"]; + /** + * @description Whether to enable strict schema adherence when generating the function call. If + * set to true, the model will follow the exact schema defined in the `parameters` + * field. Only a subset of JSON Schema is supported when `strict` is `true`. Learn + * more about Structured Outputs in the + * [function calling guide](https://platform.openai.com/docs/guides/function-calling). + */ + strict?: boolean | null; }; - "Result_Integration.string_": components["schemas"]["ResultSuccess_Integration_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_Array__id-string--name-string___": { - data: { - name: string; - id: string; - }[]; - /** @enum {number|null} */ - error: null; + /** @description A function tool that can be used to generate a response. */ + ChatCompletionFunctionTool: { + function: components["schemas"]["FunctionDefinition"]; + /** + * @description The type of the tool. Currently, only `function` is supported. + * @enum {string} + */ + type: "function"; }; - "Result_Array__id-string--name-string__.string_": components["schemas"]["ResultSuccess_Array__id-string--name-string___"] | components["schemas"]["ResultError_string_"]; - TestStripeMeterEventRequest: { - event_name: string; - customer_id: string; + /** @description Unconstrained free-form text. */ + "ChatCompletionCustomTool.Custom.Text": { + /** + * @description Unconstrained text format. Always `text`. + * @enum {string} + */ + type: "text"; }; - /** @enum {string} */ - BodyMappingType: "OPENAI" | "NO_MAPPING" | "RESPONSES"; - HeliconeMeta: { - freeLimitExceeded?: boolean; - aiGatewayBodyMapping?: components["schemas"]["BodyMappingType"]; - providerModelId?: string; - gatewayModel?: string; - gatewayProvider?: components["schemas"]["ModelProviderName"]; - isPassthroughBilling?: boolean; - gatewayDeploymentTarget?: string; - gatewayRouterId?: string; - stripeCustomerId?: string; - heliconeManualAccessKey?: string; - promptInputs?: components["schemas"]["Record_string.any_"]; - promptVersionId?: string; - promptEnvironment?: string; - promptId?: string; - lytixHost?: string; - lytixKey?: string; - posthogHost?: string; - posthogApiKey?: string; - webhookEnabled: boolean; - omitResponseLog: boolean; - omitRequestLog: boolean; - modelOverride?: string; + /** @description Your chosen grammar. */ + "ChatCompletionCustomTool.Custom.Grammar.Grammar": { + /** @description The grammar definition. */ + definition: string; + /** + * @description The syntax of the grammar definition. One of `lark` or `regex`. + * @enum {string} + */ + syntax: "lark" | "regex"; }; - /** - * @description Parses a string containing custom JSX-like tags and extracts information to produce two outputs: - * 1. A version of the string with all JSX tags removed, leaving only the text content. - * 2. An object representing a template with self-closing JSX tags and a separate mapping of keys to their - * corresponding text content. - * - * The function specifically targets `` tags, which include a `key` attribute and enclosed text content. - * These tags are transformed or removed based on the desired output structure. The process involves regular expressions - * to match and manipulate the input string to produce the outputs. - * - * Parameters: - * - input: A string containing the text and JSX-like tags to be parsed. - * - * Returns: - * An object with two properties: - * 1. stringWithoutJSXTags: A string where all `` tags are removed, and only their text content remains. - * 2. templateWithInputs: An object containing: - * - template: A version of the input string where `` tags are replaced with self-closing versions, - * preserving the `key` attributes but removing the text content. - * - inputs: An object mapping the `key` attributes to their corresponding text content, effectively extracting - * the data from the original tags. - * - * Example Usage: - * ```ts - * const input = ` - * The scene is Harry Potter. - * justin test`; - * - * const expectedOutput = parseJSXString(input); - * console.log(expectedOutput); - * ``` - * The function is useful for preprocessing strings with embedded custom JSX-like tags, extracting useful data, - * and preparing templates for further processing or rendering. It demonstrates a practical application of regular - * expressions for text manipulation in TypeScript, specifically tailored to a custom JSX-like syntax. - */ - TemplateWithInputs: { - template: Record; - inputs: { - [key: string]: string; - }; - autoInputs: unknown[]; + /** @description A grammar defined by the user. */ + "ChatCompletionCustomTool.Custom.Grammar": { + /** @description Your chosen grammar. */ + grammar: components["schemas"]["ChatCompletionCustomTool.Custom.Grammar.Grammar"]; + /** + * @description Grammar format. Always `grammar`. + * @enum {string} + */ + type: "grammar"; }; - Log: { - response: { - model?: string; - /** Format: double */ - reasoningTokens?: number; - /** Format: double */ - completionAudioTokens?: number; - /** Format: double */ - promptAudioTokens?: number; - /** Format: double */ - promptCacheWriteTokens?: number; - /** Format: double */ - promptCacheReadTokens?: number; - /** Format: double */ - completionTokens?: number; - /** Format: double */ - promptTokens?: number; - /** Format: double */ - cost?: number; - /** Format: double */ - cachedLatency?: number; - /** Format: double */ - delayMs: number; - /** Format: date-time */ - responseCreatedAt: string; - /** Format: double */ - timeToFirstToken?: number; - /** Format: double */ - bodySize: number; - /** Format: double */ - status: number; - id: string; - }; - request: { - requestReferrer?: string; - cacheReferenceId?: string; - cacheControl?: string; - /** Format: double */ - cacheBucketMaxSize?: number; - /** Format: double */ - cacheSeed?: number; - cacheEnabled?: boolean; - experimentRowIndex?: string; - experimentColumnId?: string; - heliconeTemplate?: components["schemas"]["TemplateWithInputs"]; - isStream: boolean; - /** Format: date-time */ - requestCreatedAt: string; - countryCode?: string; - threat?: boolean; - path: string; - /** Format: double */ - bodySize: number; - provider: components["schemas"]["Provider"]; - targetUrl: string; - heliconeProxyKeyId?: string; - /** Format: double */ - heliconeApiKeyId?: number; - properties: components["schemas"]["Record_string.string_"]; - promptVersion?: string; - promptId?: string; - userId: string; - id: string; - }; - }; - KafkaMessageContents: { - log: components["schemas"]["Log"]; - heliconeMeta: components["schemas"]["HeliconeMeta"]; - authorization: string; - }; - ResultSuccess_any_: { - data: unknown; - /** @enum {number|null} */ - error: null; - }; - /** @enum {string} */ - KeyPermissions: "w" | "rw"; - GenerateHashQueryParams: { - apiKey: string; - governance: boolean; - keyName: string; - permissions: components["schemas"]["KeyPermissions"]; - }; - StoreFilterType: { - createdAt?: string; - filter: unknown; + /** @description Properties of the custom tool. */ + "ChatCompletionCustomTool.Custom": { + /** @description The name of the custom tool, used to identify it in tool calls. */ name: string; - id?: string; - }; - "ResultSuccess_StoreFilterType-Array_": { - data: components["schemas"]["StoreFilterType"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_StoreFilterType-Array.string_": components["schemas"]["ResultSuccess_StoreFilterType-Array_"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_StoreFilterType_: { - data: components["schemas"]["StoreFilterType"]; - /** @enum {number|null} */ - error: null; - }; - "Result_StoreFilterType.string_": components["schemas"]["ResultSuccess_StoreFilterType_"] | components["schemas"]["ResultError_string_"]; - "ChatCompletionTokenLogprob.TopLogprob": { - /** @description The token. */ - token: string; - /** - * @description A list of integers representing the UTF-8 bytes representation of the token. - * Useful in instances where characters are represented by multiple tokens and - * their byte representations must be combined to generate the correct text - * representation. Can be `null` if there is no bytes representation for the token. - */ - bytes: number[] | null; - /** - * Format: double - * @description The log probability of this token, if it is within the top 20 most likely - * tokens. Otherwise, the value `-9999.0` is used to signify that the token is very - * unlikely. - */ - logprob: number; - }; - ChatCompletionTokenLogprob: { - /** @description The token. */ - token: string; - /** - * @description A list of integers representing the UTF-8 bytes representation of the token. - * Useful in instances where characters are represented by multiple tokens and - * their byte representations must be combined to generate the correct text - * representation. Can be `null` if there is no bytes representation for the token. - */ - bytes: number[] | null; - /** - * Format: double - * @description The log probability of this token, if it is within the top 20 most likely - * tokens. Otherwise, the value `-9999.0` is used to signify that the token is very - * unlikely. - */ - logprob: number; - /** - * @description List of the most likely tokens and their log probability, at this token - * position. In rare cases, there may be fewer than the number of requested - * `top_logprobs` returned. - */ - top_logprobs: components["schemas"]["ChatCompletionTokenLogprob.TopLogprob"][]; - }; - /** @description Log probability information for the choice. */ - "ChatCompletion.Choice.Logprobs": { - /** @description A list of message content tokens with log probability information. */ - content: components["schemas"]["ChatCompletionTokenLogprob"][] | null; - /** @description A list of message refusal tokens with log probability information. */ - refusal: components["schemas"]["ChatCompletionTokenLogprob"][] | null; - }; - /** @description A URL citation when using web search. */ - "ChatCompletionMessage.Annotation.URLCitation": { - /** - * Format: double - * @description The index of the last character of the URL citation in the message. - */ - end_index: number; - /** - * Format: double - * @description The index of the first character of the URL citation in the message. - */ - start_index: number; - /** @description The title of the web resource. */ - title: string; - /** @description The URL of the web resource. */ - url: string; + /** @description Optional description of the custom tool, used to provide more context. */ + description?: string; + /** @description The input format for the custom tool. Default is unconstrained text. */ + format?: components["schemas"]["ChatCompletionCustomTool.Custom.Text"] | components["schemas"]["ChatCompletionCustomTool.Custom.Grammar"]; }; - /** @description A URL citation when using web search. */ - "ChatCompletionMessage.Annotation": { + /** @description A custom tool that processes input using a specified format. */ + ChatCompletionCustomTool: { + /** @description Properties of the custom tool. */ + custom: components["schemas"]["ChatCompletionCustomTool.Custom"]; /** - * @description The type of the URL citation. Always `url_citation`. + * @description The type of the custom tool. Always `custom`. * @enum {string} */ - type: "url_citation"; - /** @description A URL citation when using web search. */ - url_citation: components["schemas"]["ChatCompletionMessage.Annotation.URLCitation"]; + type: "custom"; }; - /** - * @description If the audio output modality is requested, this object contains data about the - * audio response from the model. - * [Learn more](https://platform.openai.com/docs/guides/audio). - */ - ChatCompletionAudio: { - /** @description Unique identifier for this audio response. */ - id: string; + /** @description A function tool that can be used to generate a response. */ + ChatCompletionTool: components["schemas"]["ChatCompletionFunctionTool"] | components["schemas"]["ChatCompletionCustomTool"]; + /** @description Constrains the tools available to the model to a pre-defined set. */ + ChatCompletionAllowedTools: { /** - * @description Base64 encoded audio bytes generated by the model, in the format specified in - * the request. + * @description Constrains the tools available to the model to a pre-defined set. + * + * `auto` allows the model to pick from among the allowed tools and generate a + * message. + * + * `required` requires the model to call one or more of the allowed tools. + * @enum {string} */ - data: string; + mode: "auto" | "required"; /** - * Format: double - * @description The Unix timestamp (in seconds) for when this audio response will no longer be - * accessible on the server for use in multi-turn conversations. + * @description A list of tool definitions that the model should be allowed to call. + * + * For the Chat Completions API, the list of tool definitions might look like: + * + * ```json + * [ + * { "type": "function", "function": { "name": "get_weather" } }, + * { "type": "function", "function": { "name": "get_time" } } + * ] + * ``` */ - expires_at: number; - /** @description Transcript of the audio generated by the model. */ - transcript: string; + tools: { + [key: string]: unknown; + }[]; }; - /** @deprecated */ - "ChatCompletionMessage.FunctionCall": { + /** @description Constrains the tools available to the model to a pre-defined set. */ + ChatCompletionAllowedToolChoice: { + /** @description Constrains the tools available to the model to a pre-defined set. */ + allowed_tools: components["schemas"]["ChatCompletionAllowedTools"]; /** - * @description The arguments to call the function with, as generated by the model in JSON - * format. Note that the model does not always generate valid JSON, and may - * hallucinate parameters not defined by your function schema. Validate the - * arguments in your code before calling your function. + * @description Allowed tool configuration type. Always `allowed_tools`. + * @enum {string} */ - arguments: string; - /** @description The name of the function to call. */ - name: string; + type: "allowed_tools"; }; - /** @description The function that the model called. */ - "ChatCompletionMessageFunctionToolCall.Function": { - /** - * @description The arguments to call the function with, as generated by the model in JSON - * format. Note that the model does not always generate valid JSON, and may - * hallucinate parameters not defined by your function schema. Validate the - * arguments in your code before calling your function. - */ - arguments: string; + "ChatCompletionNamedToolChoice.Function": { /** @description The name of the function to call. */ name: string; }; - /** @description A call to a function tool created by the model. */ - ChatCompletionMessageFunctionToolCall: { - /** @description The ID of the tool call. */ - id: string; - /** @description The function that the model called. */ - function: components["schemas"]["ChatCompletionMessageFunctionToolCall.Function"]; + /** + * @description Specifies a tool the model should use. Use to force the model to call a specific + * function. + */ + ChatCompletionNamedToolChoice: { + function: components["schemas"]["ChatCompletionNamedToolChoice.Function"]; /** - * @description The type of the tool. Currently, only `function` is supported. + * @description For function calling, the type is always `function`. * @enum {string} */ type: "function"; }; - /** @description The custom tool that the model called. */ - "ChatCompletionMessageCustomToolCall.Custom": { - /** @description The input for the custom tool call generated by the model. */ - input: string; + "ChatCompletionNamedToolChoiceCustom.Custom": { /** @description The name of the custom tool to call. */ name: string; }; - /** @description A call to a custom tool created by the model. */ - ChatCompletionMessageCustomToolCall: { - /** @description The ID of the tool call. */ - id: string; - /** @description The custom tool that the model called. */ - custom: components["schemas"]["ChatCompletionMessageCustomToolCall.Custom"]; + /** + * @description Specifies a tool the model should use. Use to force the model to call a specific + * custom tool. + */ + ChatCompletionNamedToolChoiceCustom: { + custom: components["schemas"]["ChatCompletionNamedToolChoiceCustom.Custom"]; /** - * @description The type of the tool. Always `custom`. + * @description For custom tool calling, the type is always `custom`. * @enum {string} */ type: "custom"; }; - /** @description A call to a function tool created by the model. */ - ChatCompletionMessageToolCall: components["schemas"]["ChatCompletionMessageFunctionToolCall"] | components["schemas"]["ChatCompletionMessageCustomToolCall"]; - /** @description A chat completion message generated by the model. */ - ChatCompletionMessage: { - /** @description The contents of the message. */ - content: string | null; - /** @description The refusal message generated by the model. */ - refusal: string | null; - /** - * @description The role of the author of this message. - * @enum {string} - */ - role: "assistant"; - /** - * @description Annotations for the message, when applicable, as when using the - * [web search tool](https://platform.openai.com/docs/guides/tools-web-search?api-mode=chat). - */ - annotations?: components["schemas"]["ChatCompletionMessage.Annotation"][]; - /** - * @description If the audio output modality is requested, this object contains data about the - * audio response from the model. - * [Learn more](https://platform.openai.com/docs/guides/audio). - */ - audio?: components["schemas"]["ChatCompletionAudio"] | null; - /** @deprecated */ - function_call?: components["schemas"]["ChatCompletionMessage.FunctionCall"] | null; - /** @description The tool calls generated by the model, such as function calls. */ - tool_calls?: components["schemas"]["ChatCompletionMessageToolCall"][]; - }; - "ChatCompletion.Choice": { - /** - * @description The reason the model stopped generating tokens. This will be `stop` if the model - * hit a natural stop point or a provided stop sequence, `length` if the maximum - * number of tokens specified in the request was reached, `content_filter` if - * content was omitted due to a flag from our content filters, `tool_calls` if the - * model called a tool, or `function_call` (deprecated) if the model called a - * function. - * @enum {string} - */ - finish_reason: "stop" | "length" | "tool_calls" | "content_filter" | "function_call"; - /** - * Format: double - * @description The index of the choice in the list of choices. - */ - index: number; - /** @description Log probability information for the choice. */ - logprobs: components["schemas"]["ChatCompletion.Choice.Logprobs"] | null; - /** @description A chat completion message generated by the model. */ - message: components["schemas"]["ChatCompletionMessage"]; - }; - /** @description Breakdown of tokens used in a completion. */ - "CompletionUsage.CompletionTokensDetails": { - /** - * Format: double - * @description When using Predicted Outputs, the number of tokens in the prediction that - * appeared in the completion. - */ - accepted_prediction_tokens?: number; - /** - * Format: double - * @description Audio input tokens generated by the model. - */ - audio_tokens?: number; - /** - * Format: double - * @description Tokens generated by the model for reasoning. - */ - reasoning_tokens?: number; - /** - * Format: double - * @description When using Predicted Outputs, the number of tokens in the prediction that did - * not appear in the completion. However, like reasoning tokens, these tokens are - * still counted in the total completion tokens for purposes of billing, output, - * and context window limits. - */ - rejected_prediction_tokens?: number; - }; - /** @description Breakdown of tokens used in the prompt. */ - "CompletionUsage.PromptTokensDetails": { - /** - * Format: double - * @description Audio input tokens present in the prompt. - */ - audio_tokens?: number; - /** - * Format: double - * @description Cached tokens present in the prompt. - */ - cached_tokens?: number; - }; - /** @description Usage statistics for the completion request. */ - CompletionUsage: { - /** - * Format: double - * @description Number of tokens in the generated completion. - */ - completion_tokens: number; - /** - * Format: double - * @description Number of tokens in the prompt. - */ - prompt_tokens: number; - /** - * Format: double - * @description Total number of tokens used in the request (prompt + completion). - */ - total_tokens: number; - /** @description Breakdown of tokens used in a completion. */ - completion_tokens_details?: components["schemas"]["CompletionUsage.CompletionTokensDetails"]; - /** @description Breakdown of tokens used in the prompt. */ - prompt_tokens_details?: components["schemas"]["CompletionUsage.PromptTokensDetails"]; - }; /** - * @description Represents a chat completion response returned by model, based on the provided - * input. + * @description Controls which (if any) tool is called by the model. `none` means the model will + * not call any tool and instead generates a message. `auto` means the model can + * pick between generating a message or calling one or more tools. `required` means + * the model must call one or more tools. Specifying a particular tool via + * `{"type": "function", "function": {"name": "my_function"}}` forces the model to + * call that tool. + * + * `none` is the default when no tools are present. `auto` is the default if tools + * are present. */ - ChatCompletion: { - /** @description A unique identifier for the chat completion. */ - id: string; - /** - * @description A list of chat completion choices. Can be more than one if `n` is greater - * than 1. - */ - choices: components["schemas"]["ChatCompletion.Choice"][]; - /** - * Format: double - * @description The Unix timestamp (in seconds) of when the chat completion was created. - */ - created: number; - /** @description The model used for the chat completion. */ - model: string; - /** - * @description The object type, which is always `chat.completion`. - * @enum {string} - */ - object: "chat.completion"; - /** - * @description Specifies the processing type used for serving the request. - * - * - If set to 'auto', then the request will be processed with the service tier - * configured in the Project settings. Unless otherwise configured, the Project - * will use 'default'. - * - If set to 'default', then the request will be processed with the standard - * pricing and performance for the selected model. - * - If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)' or - * 'priority', then the request will be processed with the corresponding service - * tier. [Contact sales](https://openai.com/contact-sales) to learn more about - * Priority processing. - * - When not set, the default behavior is 'auto'. - * - * When the `service_tier` parameter is set, the response body will include the - * `service_tier` value based on the processing mode actually used to serve the - * request. This response value may be different from the value set in the - * parameter. - * @enum {string|null} - */ - service_tier?: "auto" | "default" | "flex" | "scale" | "priority" | null; - /** - * @description This fingerprint represents the backend configuration that the model runs with. - * - * Can be used in conjunction with the `seed` request parameter to understand when - * backend changes have been made that might impact determinism. - */ - system_fingerprint?: string; - /** @description Usage statistics for the completion request. */ - usage?: components["schemas"]["CompletionUsage"]; + ChatCompletionToolChoiceOption: components["schemas"]["ChatCompletionAllowedToolChoice"] | components["schemas"]["ChatCompletionNamedToolChoice"] | components["schemas"]["ChatCompletionNamedToolChoiceCustom"] | ("none" | "auto" | "required"); + AlertResponse: { + alerts: ({ + updated_at: string | null; + /** Format: double */ + time_window: number; + /** Format: double */ + time_block_duration: number; + /** Format: double */ + threshold: number; + status: string; + soft_delete: boolean; + slack_channels: string[]; + org_id: string; + name: string; + /** Format: double */ + minimum_request_count: number | null; + metric: string; + id: string; + filter: components["schemas"]["Json"] | null; + emails: string[]; + created_at: string | null; + })[]; + history: ({ + updated_at: string | null; + triggered_value: string; + status: string; + soft_delete: boolean; + org_id: string; + id: string; + created_at: string | null; + alert_start_time: string; + alert_name: string; + alert_metric: string; + alert_id: string; + alert_end_time: string | null; + })[]; + /** Format: double */ + historyTotalCount: number; }; - ResultSuccess_ChatCompletion_: { - data: components["schemas"]["ChatCompletion"]; + ResultSuccess_AlertResponse_: { + data: components["schemas"]["AlertResponse"]; /** @enum {number|null} */ error: null; }; - "Result_ChatCompletion.string_": components["schemas"]["ResultSuccess_ChatCompletion_"] | components["schemas"]["ResultError_string_"]; - /** - * @description Learn about - * [text inputs](https://platform.openai.com/docs/guides/text-generation). - */ - ChatCompletionContentPartText: { - /** @description The text content. */ - text: string; - /** - * @description The type of the content part. - * @enum {string} - */ - type: "text"; + "Result_AlertResponse.string_": components["schemas"]["ResultSuccess_AlertResponse_"] | components["schemas"]["ResultError_string_"]; + /** @enum {string} */ + AlertMetric: "response.status" | "cost" | "latency" | "total_tokens" | "prompt_tokens" | "completion_tokens" | "prompt_cache_read_tokens" | "prompt_cache_write_tokens" | "count"; + /** @enum {string} */ + AlertAggregation: "sum" | "avg" | "min" | "max" | "percentile"; + /** @enum {string} */ + AlertStandardGrouping: "user" | "model" | "provider"; + AlertGrouping: components["schemas"]["AlertStandardGrouping"] | string; + /** @description Matches all records (no filtering) */ + AllExpression: { + /** @enum {string} */ + type: "all"; }; + /** @enum {string} */ + FilterSubType: "property" | "score" | "sessions" | "user"; /** - * @description Developer-provided instructions that the model should follow, regardless of - * messages sent by the user. With o1 models and newer, `developer` messages - * replace the previous `system` messages. - */ - ChatCompletionDeveloperMessageParam: { - /** @description The contents of the developer message. */ - content: string | components["schemas"]["ChatCompletionContentPartText"][]; - /** - * @description The role of the messages author, in this case `developer`. - * @enum {string} - */ - role: "developer"; - /** - * @description An optional name for the participant. Provides the model information to - * differentiate between participants of the same role. - */ - name?: string; - }; - /** - * @description Developer-provided instructions that the model should follow, regardless of - * messages sent by the user. With o1 models and newer, use `developer` messages - * for this purpose instead. + * @description Type for the field specification in a condition + * Describes what field is being filtered and how */ - ChatCompletionSystemMessageParam: { - /** @description The contents of the system message. */ - content: string | components["schemas"]["ChatCompletionContentPartText"][]; - /** - * @description The role of the messages author, in this case `system`. - * @enum {string} - */ - role: "system"; - /** - * @description An optional name for the participant. Provides the model information to - * differentiate between participants of the same role. - */ - name?: string; - }; - "ChatCompletionContentPartImage.ImageURL": { - /** @description Either a URL of the image or the base64 encoded image data. */ - url: string; - /** - * @description Specifies the detail level of the image. Learn more in the - * [Vision guide](https://platform.openai.com/docs/guides/vision#low-or-high-fidelity-image-understanding). - * @enum {string} - */ - detail?: "auto" | "low" | "high"; - }; - /** @description Learn about [image inputs](https://platform.openai.com/docs/guides/vision). */ - ChatCompletionContentPartImage: { - image_url: components["schemas"]["ChatCompletionContentPartImage.ImageURL"]; - /** - * @description The type of the content part. - * @enum {string} - */ - type: "image_url"; - }; - "ChatCompletionContentPartInputAudio.InputAudio": { - /** @description Base64 encoded audio data. */ - data: string; - /** - * @description The format of the encoded audio data. Currently supports "wav" and "mp3". - * @enum {string} - */ - format: "wav" | "mp3"; - }; - /** @description Learn about [audio inputs](https://platform.openai.com/docs/guides/audio). */ - ChatCompletionContentPartInputAudio: { - input_audio: components["schemas"]["ChatCompletionContentPartInputAudio.InputAudio"]; - /** - * @description The type of the content part. Always `input_audio`. - * @enum {string} - */ - type: "input_audio"; - }; - "ChatCompletionContentPart.File.File": { - /** - * @description The base64 encoded file data, used when passing the file to the model as a - * string. - */ - file_data?: string; - /** @description The ID of an uploaded file to use as input. */ - file_id?: string; - /** @description The name of the file, used when passing the file to the model as a string. */ - filename?: string; + BaseFieldSpec: { + subtype?: components["schemas"]["FilterSubType"]; + /** @enum {string} */ + valueMode?: "value" | "key"; + key?: string; }; + FieldSpec: (components["schemas"]["BaseFieldSpec"] & ({ + /** @enum {string} */ + column: "latency" | "prompt_tokens" | "completion_tokens" | "prompt_cache_read_tokens" | "prompt_cache_write_tokens" | "model" | "provider" | "response_id" | "response_created_at" | "status" | "request_id" | "request_created_at" | "user_id" | "organization_id" | "proxy_key_id" | "threat" | "time_to_first_token" | "country_code" | "target_url" | "properties" | "scores" | "request_body" | "response_body" | "assets" | "updated_at"; + /** @enum {string} */ + table: "request_response_rmt"; + })) | (components["schemas"]["BaseFieldSpec"] & { + /** @enum {string} */ + subtype: "property"; + column: string; + /** @enum {string} */ + table: "request_response_rmt"; + }) | (components["schemas"]["BaseFieldSpec"] & ({ + /** @enum {string} */ + column: "cost" | "total_tokens" | "prompt_tokens" | "completion_tokens" | "total_requests" | "created_at" | "latest_request_created_at"; + /** @enum {string} */ + table: "sessions_request_response_rmt"; + })) | (components["schemas"]["BaseFieldSpec"] & ({ + /** @enum {string} */ + column: "cost" | "user_id" | "total_requests" | "active_for" | "first_active" | "last_active" | "average_requests_per_day_active" | "average_tokens_per_request" | "total_completion_tokens" | "total_prompt_tokens"; + /** @enum {string} */ + table: "users_view"; + })); /** - * @description Learn about [file inputs](https://platform.openai.com/docs/guides/text) for text - * generation. + * @description All supported filter operator types + * @enum {string} */ - "ChatCompletionContentPart.File": { - file: components["schemas"]["ChatCompletionContentPart.File.File"]; - /** - * @description The type of the content part. Always `file`. - * @enum {string} - */ - type: "file"; + FilterOperator: "eq" | "neq" | "is" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "contains" | "not-contains" | "in"; + /** @description Single condition expression that compares a field against a value */ + ConditionExpression: { + /** @enum {string} */ + type: "condition"; + field: components["schemas"]["FieldSpec"]; + operator: components["schemas"]["FilterOperator"]; + value: string | number | boolean; }; /** - * @description Learn about - * [text inputs](https://platform.openai.com/docs/guides/text-generation). + * @description Filter expression type union + * Represents all possible filter expression types in the AST */ - ChatCompletionContentPart: components["schemas"]["ChatCompletionContentPartText"] | components["schemas"]["ChatCompletionContentPartImage"] | components["schemas"]["ChatCompletionContentPartInputAudio"] | components["schemas"]["ChatCompletionContentPart.File"]; + FilterExpression: components["schemas"]["AllExpression"] | components["schemas"]["ConditionExpression"] | components["schemas"]["AndExpression"] | components["schemas"]["OrExpression"]; /** - * @description Messages sent by an end user, containing prompts or additional context - * information. + * @description Logical AND of multiple expressions + * All contained expressions must match for this to match */ - ChatCompletionUserMessageParam: { - /** @description The contents of the user message. */ - content: string | components["schemas"]["ChatCompletionContentPart"][]; - /** - * @description The role of the messages author, in this case `user`. - * @enum {string} - */ - role: "user"; - /** - * @description An optional name for the participant. Provides the model information to - * differentiate between participants of the same role. - */ - name?: string; + AndExpression: { + /** @enum {string} */ + type: "and"; + expressions: components["schemas"]["FilterExpression"][]; }; /** - * @description Data about a previous audio response from the model. - * [Learn more](https://platform.openai.com/docs/guides/audio). + * @description Logical OR of multiple expressions + * At least one contained expression must match for this to match */ - "ChatCompletionAssistantMessageParam.Audio": { - /** @description Unique identifier for a previous audio response from the model. */ - id: string; - }; - ChatCompletionContentPartRefusal: { - /** @description The refusal message generated by the model. */ - refusal: string; - /** - * @description The type of the content part. - * @enum {string} - */ - type: "refusal"; + OrExpression: { + /** @enum {string} */ + type: "or"; + expressions: components["schemas"]["FilterExpression"][]; }; - /** @deprecated */ - "ChatCompletionAssistantMessageParam.FunctionCall": { - /** - * @description The arguments to call the function with, as generated by the model in JSON - * format. Note that the model does not always generate valid JSON, and may - * hallucinate parameters not defined by your function schema. Validate the - * arguments in your code before calling your function. - */ - arguments: string; - /** @description The name of the function to call. */ + AlertRequest: { name: string; + metric: components["schemas"]["AlertMetric"]; + /** Format: double */ + threshold: number; + aggregation: components["schemas"]["AlertAggregation"] | null; + /** Format: double */ + percentile: number | null; + grouping: components["schemas"]["AlertGrouping"] | null; + grouping_is_property: boolean | null; + time_window: string; + emails: string[]; + slack_channels: string[]; + /** Format: double */ + minimum_request_count?: number; + filter: components["schemas"]["FilterExpression"] | null; }; - /** @description Messages sent by the model in response to user messages. */ - ChatCompletionAssistantMessageParam: { - /** - * @description The role of the messages author, in this case `assistant`. - * @enum {string} - */ - role: "assistant"; - /** - * @description Data about a previous audio response from the model. - * [Learn more](https://platform.openai.com/docs/guides/audio). - */ - audio?: components["schemas"]["ChatCompletionAssistantMessageParam.Audio"] | null; - /** - * @description The contents of the assistant message. Required unless `tool_calls` or - * `function_call` is specified. - */ - content?: (string | ((components["schemas"]["ChatCompletionContentPartText"] | components["schemas"]["ChatCompletionContentPartRefusal"])[])) | null; - /** @deprecated */ - function_call?: components["schemas"]["ChatCompletionAssistantMessageParam.FunctionCall"] | null; - /** - * @description An optional name for the participant. Provides the model information to - * differentiate between participants of the same role. - */ - name?: string; - /** @description The refusal message by the assistant. */ - refusal?: string | null; - /** @description The tool calls generated by the model, such as function calls. */ - tool_calls?: components["schemas"]["ChatCompletionMessageToolCall"][]; - }; - ChatCompletionToolMessageParam: { - /** @description The contents of the tool message. */ - content: string | components["schemas"]["ChatCompletionContentPartText"][]; - /** - * @description The role of the messages author, in this case `tool`. - * @enum {string} - */ - role: "tool"; - /** @description Tool call that this message is responding to. */ - tool_call_id: string; + "ResultSuccess__active-boolean--created_at-string--id-number--message-string--title-string--updated_at-string_-Array_": { + data: { + updated_at: string; + title: string; + message: string; + /** Format: double */ + id: number; + created_at: string; + active: boolean; + }[]; + /** @enum {number|null} */ + error: null; }; - /** @deprecated */ - ChatCompletionFunctionMessageParam: { - /** @description The contents of the function message. */ - content: string | null; - /** @description The name of the function to call. */ + "Result__active-boolean--created_at-string--id-number--message-string--title-string--updated_at-string_-Array.string_": components["schemas"]["ResultSuccess__active-boolean--created_at-string--id-number--message-string--title-string--updated_at-string_-Array_"] | components["schemas"]["ResultError_string_"]; + ClickHouseTableColumn: { name: string; - /** - * @description The role of the messages author, in this case `function`. - * @enum {string} - */ - role: "function"; + type: string; + default_type?: string; + default_expression?: string; + comment?: string; + codec_expression?: string; + ttl_expression?: string; }; - /** - * @description Developer-provided instructions that the model should follow, regardless of - * messages sent by the user. With o1 models and newer, `developer` messages - * replace the previous `system` messages. - */ - ChatCompletionMessageParam: components["schemas"]["ChatCompletionDeveloperMessageParam"] | components["schemas"]["ChatCompletionSystemMessageParam"] | components["schemas"]["ChatCompletionUserMessageParam"] | components["schemas"]["ChatCompletionAssistantMessageParam"] | components["schemas"]["ChatCompletionToolMessageParam"] | components["schemas"]["ChatCompletionFunctionMessageParam"]; - /** - * @description The parameters the functions accepts, described as a JSON Schema object. See the - * [guide](https://platform.openai.com/docs/guides/function-calling) for examples, - * and the - * [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for - * documentation about the format. - * - * Omitting `parameters` defines a function with an empty parameter list. - */ - FunctionParameters: { - [key: string]: unknown; + ClickHouseTableSchema: { + table_name: string; + columns: components["schemas"]["ClickHouseTableColumn"][]; }; - FunctionDefinition: { - /** - * @description The name of the function to be called. Must be a-z, A-Z, 0-9, or contain - * underscores and dashes, with a maximum length of 64. - */ + "ResultSuccess_ClickHouseTableSchema-Array_": { + data: components["schemas"]["ClickHouseTableSchema"][]; + /** @enum {number|null} */ + error: null; + }; + "Result_ClickHouseTableSchema-Array.string_": components["schemas"]["ResultSuccess_ClickHouseTableSchema-Array_"] | components["schemas"]["ResultError_string_"]; + ExecuteSqlResponse: { + /** Format: double */ + rowCount: number; + /** Format: double */ + size: number; + /** Format: double */ + elapsedMilliseconds: number; + rows: components["schemas"]["Record_string.any_"][]; + }; + ResultSuccess_ExecuteSqlResponse_: { + data: components["schemas"]["ExecuteSqlResponse"]; + /** @enum {number|null} */ + error: null; + }; + "Result_ExecuteSqlResponse.string_": components["schemas"]["ResultSuccess_ExecuteSqlResponse_"] | components["schemas"]["ResultError_string_"]; + ExecuteSqlRequest: { + sql: string; + }; + HqlSavedQuery: { + id: string; + organization_id: string; name: string; - /** - * @description A description of what the function does, used by the model to choose when and - * how to call the function. - */ - description?: string; - /** - * @description The parameters the functions accepts, described as a JSON Schema object. See the - * [guide](https://platform.openai.com/docs/guides/function-calling) for examples, - * and the - * [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for - * documentation about the format. - * - * Omitting `parameters` defines a function with an empty parameter list. - */ - parameters?: components["schemas"]["FunctionParameters"]; - /** - * @description Whether to enable strict schema adherence when generating the function call. If - * set to true, the model will follow the exact schema defined in the `parameters` - * field. Only a subset of JSON Schema is supported when `strict` is `true`. Learn - * more about Structured Outputs in the - * [function calling guide](https://platform.openai.com/docs/guides/function-calling). - */ - strict?: boolean | null; + sql: string; + created_at: string; + updated_at: string; }; - /** @description A function tool that can be used to generate a response. */ - ChatCompletionFunctionTool: { - function: components["schemas"]["FunctionDefinition"]; - /** - * @description The type of the tool. Currently, only `function` is supported. - * @enum {string} - */ - type: "function"; + ResultSuccess_Array_HqlSavedQuery__: { + data: components["schemas"]["HqlSavedQuery"][]; + /** @enum {number|null} */ + error: null; }; - /** @description Unconstrained free-form text. */ - "ChatCompletionCustomTool.Custom.Text": { - /** - * @description Unconstrained text format. Always `text`. - * @enum {string} - */ - type: "text"; + "Result_Array_HqlSavedQuery_.string_": components["schemas"]["ResultSuccess_Array_HqlSavedQuery__"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess_HqlSavedQuery-or-null_": { + data: components["schemas"]["HqlSavedQuery"] | null; + /** @enum {number|null} */ + error: null; }; - /** @description Your chosen grammar. */ - "ChatCompletionCustomTool.Custom.Grammar.Grammar": { - /** @description The grammar definition. */ - definition: string; - /** - * @description The syntax of the grammar definition. One of `lark` or `regex`. - * @enum {string} - */ - syntax: "lark" | "regex"; + "Result_HqlSavedQuery-or-null.string_": components["schemas"]["ResultSuccess_HqlSavedQuery-or-null_"] | components["schemas"]["ResultError_string_"]; + ResultSuccess_void_: { + data: unknown; + /** @enum {number|null} */ + error: null; }; - /** @description A grammar defined by the user. */ - "ChatCompletionCustomTool.Custom.Grammar": { - /** @description Your chosen grammar. */ - grammar: components["schemas"]["ChatCompletionCustomTool.Custom.Grammar.Grammar"]; - /** - * @description Grammar format. Always `grammar`. - * @enum {string} - */ - type: "grammar"; + "Result_void.string_": components["schemas"]["ResultSuccess_void_"] | components["schemas"]["ResultError_string_"]; + BulkDeleteSavedQueriesRequest: { + ids: string[]; }; - /** @description Properties of the custom tool. */ - "ChatCompletionCustomTool.Custom": { - /** @description The name of the custom tool, used to identify it in tool calls. */ + "ResultSuccess_HqlSavedQuery-Array_": { + data: components["schemas"]["HqlSavedQuery"][]; + /** @enum {number|null} */ + error: null; + }; + "Result_HqlSavedQuery-Array.string_": components["schemas"]["ResultSuccess_HqlSavedQuery-Array_"] | components["schemas"]["ResultError_string_"]; + CreateSavedQueryRequest: { name: string; - /** @description Optional description of the custom tool, used to provide more context. */ - description?: string; - /** @description The input format for the custom tool. Default is unconstrained text. */ - format?: components["schemas"]["ChatCompletionCustomTool.Custom.Text"] | components["schemas"]["ChatCompletionCustomTool.Custom.Grammar"]; + sql: string; }; - /** @description A custom tool that processes input using a specified format. */ - ChatCompletionCustomTool: { - /** @description Properties of the custom tool. */ - custom: components["schemas"]["ChatCompletionCustomTool.Custom"]; + ResultSuccess_HqlSavedQuery_: { + data: components["schemas"]["HqlSavedQuery"]; + /** @enum {number|null} */ + error: null; + }; + "Result_HqlSavedQuery.string_": components["schemas"]["ResultSuccess_HqlSavedQuery_"] | components["schemas"]["ResultError_string_"]; + ResultSuccess_boolean_: { + data: boolean; + /** @enum {number|null} */ + error: null; + }; + "Result_boolean.string_": components["schemas"]["ResultSuccess_boolean_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__organization_id-string--name-string--flags-string-Array_-Array_": { + data: { + flags: string[]; + name: string; + organization_id: string; + }[]; + /** @enum {number|null} */ + error: null; + }; + "Result__organization_id-string--name-string--flags-string-Array_-Array.string_": components["schemas"]["ResultSuccess__organization_id-string--name-string--flags-string-Array_-Array_"] | components["schemas"]["ResultError_string_"]; + KafkaSettings: { + /** Format: double */ + miniBatchSize: number; + }; + AzureExperiment: { + azureBaseUri: string; + azureApiVersion: string; + azureDeploymentName: string; + azureApiKey: string; + }; + ApiKey: { + apiKey: string; + }; + Setting: components["schemas"]["KafkaSettings"] | components["schemas"]["AzureExperiment"] | components["schemas"]["ApiKey"]; + /** @enum {string} */ + SettingName: "kafka:dlq" | "kafka:log" | "kafka:score" | "kafka:dlq:score" | "kafka:dlq:eu" | "kafka:log:eu" | "kafka:orgs-to-dlq" | "azure:experiment" | "openai:apiKey" | "anthropic:apiKey" | "openrouter:apiKey" | "togetherai:apiKey" | "sqs:request-response-logs" | "sqs:helicone-scores" | "sqs:request-response-logs-dlq" | "sqs:helicone-scores-dlq" | "stripe:products" | "secrets:provider-keys"; + /** + * @description The **`URL`** interface is used to parse, construct, normalize, and encode URL. + * + * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL) + * `URL` class is a global reference for `import { URL } from 'node:url'` + * https://nodejs.org/api/url.html#the-whatwg-url-api + */ + "url.URL": string; + /** @description The Application object. */ + "stripe.Stripe.Application": { + /** @description Unique identifier for the object. */ + id: string; /** - * @description The type of the custom tool. Always `custom`. + * @description String representing the object's type. Objects of the same type share the same value. * @enum {string} */ - type: "custom"; + object: "application"; + /** @description Always true for a deleted object */ + deleted?: unknown; + /** @description The name of the application. */ + name: string | null; }; - /** @description A function tool that can be used to generate a response. */ - ChatCompletionTool: components["schemas"]["ChatCompletionFunctionTool"] | components["schemas"]["ChatCompletionCustomTool"]; - /** @description Constrains the tools available to the model to a pre-defined set. */ - ChatCompletionAllowedTools: { + /** @description The DeletedApplication object. */ + "stripe.Stripe.DeletedApplication": { + /** @description Unique identifier for the object. */ + id: string; /** - * @description Constrains the tools available to the model to a pre-defined set. - * - * `auto` allows the model to pick from among the allowed tools and generate a - * message. - * - * `required` requires the model to call one or more of the allowed tools. + * @description String representing the object's type. Objects of the same type share the same value. * @enum {string} */ - mode: "auto" | "required"; + object: "application"; /** - * @description A list of tool definitions that the model should be allowed to call. - * - * For the Chat Completions API, the list of tool definitions might look like: - * - * ```json - * [ - * { "type": "function", "function": { "name": "get_weather" } }, - * { "type": "function", "function": { "name": "get_time" } } - * ] - * ``` + * @description Always true for a deleted object + * @enum {boolean} */ - tools: { - [key: string]: unknown; - }[]; + deleted: true; + /** @description The name of the application. */ + name: string | null; }; - /** @description Constrains the tools available to the model to a pre-defined set. */ - ChatCompletionAllowedToolChoice: { - /** @description Constrains the tools available to the model to a pre-defined set. */ - allowed_tools: components["schemas"]["ChatCompletionAllowedTools"]; + "stripe.Stripe.Account.BusinessProfile.AnnualRevenue": { /** - * @description Allowed tool configuration type. Always `allowed_tools`. - * @enum {string} + * Format: double + * @description A non-negative integer representing the amount in the [smallest currency unit](https://stripe.com/currencies#zero-decimal). */ - type: "allowed_tools"; - }; - "ChatCompletionNamedToolChoice.Function": { - /** @description The name of the function to call. */ - name: string; + amount: number | null; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string | null; + /** @description The close-out date of the preceding fiscal year in ISO 8601 format. E.g. 2023-12-31 for the 31st of December, 2023. */ + fiscal_year_end: string | null; }; - /** - * @description Specifies a tool the model should use. Use to force the model to call a specific - * function. - */ - ChatCompletionNamedToolChoice: { - function: components["schemas"]["ChatCompletionNamedToolChoice.Function"]; + "stripe.Stripe.Account.BusinessProfile.MonthlyEstimatedRevenue": { /** - * @description For function calling, the type is always `function`. - * @enum {string} + * Format: double + * @description A non-negative integer representing how much to charge in the [smallest currency unit](https://stripe.com/currencies#zero-decimal). */ - type: "function"; + amount: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; }; - "ChatCompletionNamedToolChoiceCustom.Custom": { - /** @description The name of the custom tool to call. */ - name: string; + /** @description The Address object. */ + "stripe.Stripe.Address": { + /** @description City/District/Suburb/Town/Village. */ + city: string | null; + /** @description 2-letter country code. */ + country: string | null; + /** @description Address line 1 (Street address/PO Box/Company name). */ + line1: string | null; + /** @description Address line 2 (Apartment/Suite/Unit/Building). */ + line2: string | null; + /** @description ZIP or postal code. */ + postal_code: string | null; + /** @description State/County/Province/Region. */ + state: string | null; }; - /** - * @description Specifies a tool the model should use. Use to force the model to call a specific - * custom tool. - */ - ChatCompletionNamedToolChoiceCustom: { - custom: components["schemas"]["ChatCompletionNamedToolChoiceCustom.Custom"]; + "stripe.Stripe.Account.BusinessProfile": { + /** @description The applicant's gross annual revenue for its preceding fiscal year. */ + annual_revenue?: components["schemas"]["stripe.Stripe.Account.BusinessProfile.AnnualRevenue"] | null; /** - * @description For custom tool calling, the type is always `custom`. - * @enum {string} + * Format: double + * @description An estimated upper bound of employees, contractors, vendors, etc. currently working for the business. */ - type: "custom"; - }; - /** - * @description Controls which (if any) tool is called by the model. `none` means the model will - * not call any tool and instead generates a message. `auto` means the model can - * pick between generating a message or calling one or more tools. `required` means - * the model must call one or more tools. Specifying a particular tool via - * `{"type": "function", "function": {"name": "my_function"}}` forces the model to - * call that tool. - * - * `none` is the default when no tools are present. `auto` is the default if tools - * are present. - */ - ChatCompletionToolChoiceOption: components["schemas"]["ChatCompletionAllowedToolChoice"] | components["schemas"]["ChatCompletionNamedToolChoice"] | components["schemas"]["ChatCompletionNamedToolChoiceCustom"] | ("none" | "auto" | "required"); - AlertResponse: { - alerts: ({ - updated_at: string | null; - /** Format: double */ - time_window: number; - /** Format: double */ - time_block_duration: number; - /** Format: double */ - threshold: number; - status: string; - soft_delete: boolean; - slack_channels: string[]; - org_id: string; - name: string; - /** Format: double */ - minimum_request_count: number | null; - metric: string; - id: string; - filter: components["schemas"]["Json"] | null; - emails: string[]; - created_at: string | null; - })[]; - history: ({ - updated_at: string | null; - triggered_value: string; - status: string; - soft_delete: boolean; - org_id: string; - id: string; - created_at: string | null; - alert_start_time: string; - alert_name: string; - alert_metric: string; - alert_id: string; - alert_end_time: string | null; - })[]; - /** Format: double */ - historyTotalCount: number; - }; - ResultSuccess_AlertResponse_: { - data: components["schemas"]["AlertResponse"]; - /** @enum {number|null} */ - error: null; + estimated_worker_count?: number | null; + /** @description [The merchant category code for the account](https://stripe.com/connect/setting-mcc). MCCs are used to classify businesses based on the goods or services they provide. */ + mcc: string | null; + monthly_estimated_revenue?: components["schemas"]["stripe.Stripe.Account.BusinessProfile.MonthlyEstimatedRevenue"]; + /** @description The customer-facing business name. */ + name: string | null; + /** @description Internal-only description of the product sold or service provided by the business. It's used by Stripe for risk and underwriting purposes. */ + product_description?: string | null; + /** @description A publicly available mailing address for sending support issues to. */ + support_address: components["schemas"]["stripe.Stripe.Address"] | null; + /** @description A publicly available email address for sending support issues to. */ + support_email: string | null; + /** @description A publicly available phone number to call with support issues. */ + support_phone: string | null; + /** @description A publicly available website for handling support issues. */ + support_url: string | null; + /** @description The business's publicly available website. */ + url: string | null; }; - "Result_AlertResponse.string_": components["schemas"]["ResultSuccess_AlertResponse_"] | components["schemas"]["ResultError_string_"]; /** @enum {string} */ - AlertMetric: "latency" | "cost" | "prompt_tokens" | "completion_tokens" | "prompt_cache_read_tokens" | "prompt_cache_write_tokens" | "total_tokens" | "response.status" | "count"; + "stripe.Stripe.Account.BusinessType": "company" | "government_entity" | "individual" | "non_profit"; /** @enum {string} */ - AlertAggregation: "sum" | "avg" | "min" | "max" | "percentile"; + "stripe.Stripe.Account.Capabilities.AcssDebitPayments": "active" | "inactive" | "pending"; /** @enum {string} */ - AlertStandardGrouping: "model" | "provider" | "user"; - AlertGrouping: components["schemas"]["AlertStandardGrouping"] | string; - /** @description Matches all records (no filtering) */ - AllExpression: { - /** @enum {string} */ - type: "all"; - }; - /** @enum {string} */ - FilterSubType: "property" | "score" | "sessions" | "user"; - /** - * @description Type for the field specification in a condition - * Describes what field is being filtered and how - */ - BaseFieldSpec: { - subtype?: components["schemas"]["FilterSubType"]; - /** @enum {string} */ - valueMode?: "value" | "key"; - key?: string; - }; - FieldSpec: (components["schemas"]["BaseFieldSpec"] & ({ - /** @enum {string} */ - column: "properties" | "user_id" | "model" | "country_code" | "response_id" | "status" | "latency" | "provider" | "time_to_first_token" | "request_created_at" | "response_created_at" | "organization_id" | "threat" | "request_id" | "prompt_tokens" | "completion_tokens" | "prompt_cache_read_tokens" | "prompt_cache_write_tokens" | "target_url" | "scores" | "request_body" | "response_body" | "assets" | "proxy_key_id" | "updated_at"; - /** @enum {string} */ - table: "request_response_rmt"; - })) | (components["schemas"]["BaseFieldSpec"] & { - /** @enum {string} */ - subtype: "property"; - column: string; - /** @enum {string} */ - table: "request_response_rmt"; - }) | (components["schemas"]["BaseFieldSpec"] & ({ - /** @enum {string} */ - column: "created_at" | "cost" | "prompt_tokens" | "completion_tokens" | "total_tokens" | "total_requests" | "latest_request_created_at"; - /** @enum {string} */ - table: "sessions_request_response_rmt"; - })) | (components["schemas"]["BaseFieldSpec"] & ({ - /** @enum {string} */ - column: "user_id" | "cost" | "total_requests" | "active_for" | "first_active" | "last_active" | "average_requests_per_day_active" | "average_tokens_per_request" | "total_completion_tokens" | "total_prompt_tokens"; - /** @enum {string} */ - table: "users_view"; - })); - /** - * @description All supported filter operator types - * @enum {string} - */ - FilterOperator: "eq" | "neq" | "is" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "contains" | "not-contains" | "in"; - /** @description Single condition expression that compares a field against a value */ - ConditionExpression: { - /** @enum {string} */ - type: "condition"; - field: components["schemas"]["FieldSpec"]; - operator: components["schemas"]["FilterOperator"]; - value: string | number | boolean; - }; - /** - * @description Filter expression type union - * Represents all possible filter expression types in the AST - */ - FilterExpression: components["schemas"]["AllExpression"] | components["schemas"]["ConditionExpression"] | components["schemas"]["AndExpression"] | components["schemas"]["OrExpression"]; - /** - * @description Logical AND of multiple expressions - * All contained expressions must match for this to match - */ - AndExpression: { - /** @enum {string} */ - type: "and"; - expressions: components["schemas"]["FilterExpression"][]; - }; - /** - * @description Logical OR of multiple expressions - * At least one contained expression must match for this to match - */ - OrExpression: { - /** @enum {string} */ - type: "or"; - expressions: components["schemas"]["FilterExpression"][]; - }; - AlertRequest: { - name: string; - metric: components["schemas"]["AlertMetric"]; - /** Format: double */ - threshold: number; - aggregation: components["schemas"]["AlertAggregation"] | null; - /** Format: double */ - percentile: number | null; - grouping: components["schemas"]["AlertGrouping"] | null; - grouping_is_property: boolean | null; - time_window: string; - emails: string[]; - slack_channels: string[]; - /** Format: double */ - minimum_request_count?: number; - filter: components["schemas"]["FilterExpression"] | null; - }; - "ResultSuccess__active-boolean--created_at-string--id-number--message-string--title-string--updated_at-string_-Array_": { - data: { - updated_at: string; - title: string; - message: string; - /** Format: double */ - id: number; - created_at: string; - active: boolean; - }[]; - /** @enum {number|null} */ - error: null; - }; - "Result__active-boolean--created_at-string--id-number--message-string--title-string--updated_at-string_-Array.string_": components["schemas"]["ResultSuccess__active-boolean--created_at-string--id-number--message-string--title-string--updated_at-string_-Array_"] | components["schemas"]["ResultError_string_"]; - ClickHouseTableColumn: { - name: string; - type: string; - default_type?: string; - default_expression?: string; - comment?: string; - codec_expression?: string; - ttl_expression?: string; - }; - ClickHouseTableSchema: { - table_name: string; - columns: components["schemas"]["ClickHouseTableColumn"][]; - }; - "ResultSuccess_ClickHouseTableSchema-Array_": { - data: components["schemas"]["ClickHouseTableSchema"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_ClickHouseTableSchema-Array.string_": components["schemas"]["ResultSuccess_ClickHouseTableSchema-Array_"] | components["schemas"]["ResultError_string_"]; - ExecuteSqlResponse: { - /** Format: double */ - rowCount: number; - /** Format: double */ - size: number; - /** Format: double */ - elapsedMilliseconds: number; - rows: components["schemas"]["Record_string.any_"][]; - }; - ResultSuccess_ExecuteSqlResponse_: { - data: components["schemas"]["ExecuteSqlResponse"]; - /** @enum {number|null} */ - error: null; - }; - "Result_ExecuteSqlResponse.string_": components["schemas"]["ResultSuccess_ExecuteSqlResponse_"] | components["schemas"]["ResultError_string_"]; - ExecuteSqlRequest: { - sql: string; - }; - HqlSavedQuery: { - id: string; - organization_id: string; - name: string; - sql: string; - created_at: string; - updated_at: string; - }; - ResultSuccess_Array_HqlSavedQuery__: { - data: components["schemas"]["HqlSavedQuery"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_Array_HqlSavedQuery_.string_": components["schemas"]["ResultSuccess_Array_HqlSavedQuery__"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_HqlSavedQuery-or-null_": { - data: components["schemas"]["HqlSavedQuery"] | null; - /** @enum {number|null} */ - error: null; - }; - "Result_HqlSavedQuery-or-null.string_": components["schemas"]["ResultSuccess_HqlSavedQuery-or-null_"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_void_: { - data: unknown; - /** @enum {number|null} */ - error: null; - }; - "Result_void.string_": components["schemas"]["ResultSuccess_void_"] | components["schemas"]["ResultError_string_"]; - BulkDeleteSavedQueriesRequest: { - ids: string[]; - }; - "ResultSuccess_HqlSavedQuery-Array_": { - data: components["schemas"]["HqlSavedQuery"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_HqlSavedQuery-Array.string_": components["schemas"]["ResultSuccess_HqlSavedQuery-Array_"] | components["schemas"]["ResultError_string_"]; - CreateSavedQueryRequest: { - name: string; - sql: string; - }; - ResultSuccess_HqlSavedQuery_: { - data: components["schemas"]["HqlSavedQuery"]; - /** @enum {number|null} */ - error: null; - }; - "Result_HqlSavedQuery.string_": components["schemas"]["ResultSuccess_HqlSavedQuery_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__organization_id-string--name-string--flags-string-Array_-Array_": { - data: { - flags: string[]; - name: string; - organization_id: string; - }[]; - /** @enum {number|null} */ - error: null; - }; - "Result__organization_id-string--name-string--flags-string-Array_-Array.string_": components["schemas"]["ResultSuccess__organization_id-string--name-string--flags-string-Array_-Array_"] | components["schemas"]["ResultError_string_"]; - KafkaSettings: { - /** Format: double */ - miniBatchSize: number; - }; - AzureExperiment: { - azureBaseUri: string; - azureApiVersion: string; - azureDeploymentName: string; - azureApiKey: string; - }; - ApiKey: { - apiKey: string; - }; - Setting: components["schemas"]["KafkaSettings"] | components["schemas"]["AzureExperiment"] | components["schemas"]["ApiKey"]; - /** @enum {string} */ - SettingName: "kafka:dlq" | "kafka:log" | "kafka:score" | "kafka:dlq:score" | "kafka:dlq:eu" | "kafka:log:eu" | "kafka:orgs-to-dlq" | "azure:experiment" | "openai:apiKey" | "anthropic:apiKey" | "openrouter:apiKey" | "togetherai:apiKey" | "sqs:request-response-logs" | "sqs:helicone-scores" | "sqs:request-response-logs-dlq" | "sqs:helicone-scores-dlq" | "stripe:products" | "secrets:provider-keys"; - /** - * @description The **`URL`** interface is used to parse, construct, normalize, and encode URL. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL) - * `URL` class is a global reference for `import { URL } from 'node:url'` - * https://nodejs.org/api/url.html#the-whatwg-url-api - */ - "url.URL": string; - /** @description The Application object. */ - "stripe.Stripe.Application": { - /** @description Unique identifier for the object. */ - id: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "application"; - /** @description Always true for a deleted object */ - deleted?: unknown; - /** @description The name of the application. */ - name: string | null; - }; - /** @description The DeletedApplication object. */ - "stripe.Stripe.DeletedApplication": { - /** @description Unique identifier for the object. */ - id: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "application"; - /** - * @description Always true for a deleted object - * @enum {boolean} - */ - deleted: true; - /** @description The name of the application. */ - name: string | null; - }; - "stripe.Stripe.Account.BusinessProfile.AnnualRevenue": { - /** - * Format: double - * @description A non-negative integer representing the amount in the [smallest currency unit](https://stripe.com/currencies#zero-decimal). - */ - amount: number | null; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string | null; - /** @description The close-out date of the preceding fiscal year in ISO 8601 format. E.g. 2023-12-31 for the 31st of December, 2023. */ - fiscal_year_end: string | null; - }; - "stripe.Stripe.Account.BusinessProfile.MonthlyEstimatedRevenue": { - /** - * Format: double - * @description A non-negative integer representing how much to charge in the [smallest currency unit](https://stripe.com/currencies#zero-decimal). - */ - amount: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - }; - /** @description The Address object. */ - "stripe.Stripe.Address": { - /** @description City/District/Suburb/Town/Village. */ - city: string | null; - /** @description 2-letter country code. */ - country: string | null; - /** @description Address line 1 (Street address/PO Box/Company name). */ - line1: string | null; - /** @description Address line 2 (Apartment/Suite/Unit/Building). */ - line2: string | null; - /** @description ZIP or postal code. */ - postal_code: string | null; - /** @description State/County/Province/Region. */ - state: string | null; - }; - "stripe.Stripe.Account.BusinessProfile": { - /** @description The applicant's gross annual revenue for its preceding fiscal year. */ - annual_revenue?: components["schemas"]["stripe.Stripe.Account.BusinessProfile.AnnualRevenue"] | null; - /** - * Format: double - * @description An estimated upper bound of employees, contractors, vendors, etc. currently working for the business. - */ - estimated_worker_count?: number | null; - /** @description [The merchant category code for the account](https://stripe.com/connect/setting-mcc). MCCs are used to classify businesses based on the goods or services they provide. */ - mcc: string | null; - monthly_estimated_revenue?: components["schemas"]["stripe.Stripe.Account.BusinessProfile.MonthlyEstimatedRevenue"]; - /** @description The customer-facing business name. */ - name: string | null; - /** @description Internal-only description of the product sold or service provided by the business. It's used by Stripe for risk and underwriting purposes. */ - product_description?: string | null; - /** @description A publicly available mailing address for sending support issues to. */ - support_address: components["schemas"]["stripe.Stripe.Address"] | null; - /** @description A publicly available email address for sending support issues to. */ - support_email: string | null; - /** @description A publicly available phone number to call with support issues. */ - support_phone: string | null; - /** @description A publicly available website for handling support issues. */ - support_url: string | null; - /** @description The business's publicly available website. */ - url: string | null; - }; - /** @enum {string} */ - "stripe.Stripe.Account.BusinessType": "company" | "government_entity" | "individual" | "non_profit"; - /** @enum {string} */ - "stripe.Stripe.Account.Capabilities.AcssDebitPayments": "active" | "inactive" | "pending"; - /** @enum {string} */ - "stripe.Stripe.Account.Capabilities.AffirmPayments": "active" | "inactive" | "pending"; + "stripe.Stripe.Account.Capabilities.AffirmPayments": "active" | "inactive" | "pending"; /** @enum {string} */ "stripe.Stripe.Account.Capabilities.AfterpayClearpayPayments": "active" | "inactive" | "pending"; /** @enum {string} */ @@ -16480,1848 +15145,476 @@ Json: JsonObject; org_tier: string | null; }; HelixThreadListResponse: { - threads: components["schemas"]["HelixThreadSummary"][]; - /** Format: double */ - total: number; - }; - ResultSuccess_HelixThreadListResponse_: { - data: components["schemas"]["HelixThreadListResponse"]; - /** @enum {number|null} */ - error: null; - }; - "Result_HelixThreadListResponse.string_": components["schemas"]["ResultSuccess_HelixThreadListResponse_"] | components["schemas"]["ResultError_string_"]; - HelixThreadDetail: { - id: string; - chat: unknown; - user_id: string; - org_id: string; - created_at: string; - escalated: boolean; - metadata: unknown; - updated_at: string; - soft_delete: boolean; - user_email: string | null; - }; - ResultSuccess_HelixThreadDetail_: { - data: components["schemas"]["HelixThreadDetail"]; - /** @enum {number|null} */ - error: null; - }; - "Result_HelixThreadDetail.string_": components["schemas"]["ResultSuccess_HelixThreadDetail_"] | components["schemas"]["ResultError_string_"]; - InAppThread: { - id: string; - chat: unknown; - user_id: string; - org_id: string; - /** Format: date-time */ - created_at: string; - escalated: boolean; - metadata: unknown; - /** Format: date-time */ - updated_at: string; - soft_delete: boolean; - }; - ResultSuccess_InAppThread_: { - data: components["schemas"]["InAppThread"]; - /** @enum {number|null} */ - error: null; - }; - "Result_InAppThread.string_": components["schemas"]["ResultSuccess_InAppThread_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__rows-Record_string.any_-Array--elapsedMilliseconds-number--size-number--rowCount-number__": { - data: { - /** Format: double */ - rowCount: number; - /** Format: double */ - size: number; - /** Format: double */ - elapsedMilliseconds: number; - rows: components["schemas"]["Record_string.any_"][]; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__rows-Record_string.any_-Array--elapsedMilliseconds-number--size-number--rowCount-number_.string_": components["schemas"]["ResultSuccess__rows-Record_string.any_-Array--elapsedMilliseconds-number--size-number--rowCount-number__"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__previousTier-string--newTier-string--subscriptionId-string__": { - data: { - subscriptionId: string; - newTier: string; - previousTier: string; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__previousTier-string--newTier-string--subscriptionId-string_.string_": components["schemas"]["ResultSuccess__previousTier-string--newTier-string--subscriptionId-string__"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__previousTier-string--newTier-string--subscriptionId-string--usage_58__requests-number--storageBytes-number--storageMb-number--source-clickhouse-or-override_--backfillResult_58__requestsEvent-string--storageEvent-string___": { - data: { - backfillResult: { - storageEvent: string; - requestsEvent: string; - }; - usage: { - /** @enum {string} */ - source: "clickhouse" | "override"; - /** Format: double */ - storageMb: number; - /** Format: double */ - storageBytes: number; - /** Format: double */ - requests: number; - }; - subscriptionId: string; - newTier: string; - previousTier: string; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__previousTier-string--newTier-string--subscriptionId-string--usage_58__requests-number--storageBytes-number--storageMb-number--source-clickhouse-or-override_--backfillResult_58__requestsEvent-string--storageEvent-string__.string_": components["schemas"]["ResultSuccess__previousTier-string--newTier-string--subscriptionId-string--usage_58__requests-number--storageBytes-number--storageMb-number--source-clickhouse-or-override_--backfillResult_58__requestsEvent-string--storageEvent-string___"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__previousTier-string--newTier-string--subscriptionId-string--scheduleId-string--scheduledFor-string__": { - data: { - scheduledFor: string; - scheduleId: string; - subscriptionId: string; - newTier: string; - previousTier: string; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__previousTier-string--newTier-string--subscriptionId-string--scheduleId-string--scheduledFor-string_.string_": components["schemas"]["ResultSuccess__previousTier-string--newTier-string--subscriptionId-string--scheduleId-string--scheduledFor-string__"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__id-string--name-string--tier-string--stripe_customer_id-string-or-null--stripe_subscription_id-string-or-null--subscription_status-string-or-null--owner_email-string-or-null--created_at-string__": { - data: { - created_at: string; - owner_email: string | null; - subscription_status: string | null; - stripe_subscription_id: string | null; - stripe_customer_id: string | null; - tier: string; - name: string; - id: string; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__id-string--name-string--tier-string--stripe_customer_id-string-or-null--stripe_subscription_id-string-or-null--subscription_status-string-or-null--owner_email-string-or-null--created_at-string_.string_": components["schemas"]["ResultSuccess__id-string--name-string--tier-string--stripe_customer_id-string-or-null--stripe_subscription_id-string-or-null--subscription_status-string-or-null--owner_email-string-or-null--created_at-string__"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__message-string__": { - data: { - message: string; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__message-string_.string_": components["schemas"]["ResultSuccess__message-string__"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__message-string--previousTier-string__": { - data: { - previousTier: string; - message: string; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__message-string--previousTier-string_.string_": components["schemas"]["ResultSuccess__message-string--previousTier-string__"] | components["schemas"]["ResultError_string_"]; - CreditBalanceResponse: { - /** Format: double */ - totalCreditsPurchased: number; - /** Format: double */ - balance: number; - }; - ResultSuccess_CreditBalanceResponse_: { - data: components["schemas"]["CreditBalanceResponse"]; - /** @enum {number|null} */ - error: null; - }; - "Result_CreditBalanceResponse.string_": components["schemas"]["ResultSuccess_CreditBalanceResponse_"] | components["schemas"]["ResultError_string_"]; - PurchasedCredits: { - id: string; - /** Format: double */ - createdAt: number; - /** Format: double */ - credits: number; - referenceId: string; - }; - PaginatedPurchasedCredits: { - purchases: components["schemas"]["PurchasedCredits"][]; - /** Format: double */ - total: number; - /** Format: double */ - page: number; - /** Format: double */ - pageSize: number; - }; - ResultSuccess_PaginatedPurchasedCredits_: { - data: components["schemas"]["PaginatedPurchasedCredits"]; - /** @enum {number|null} */ - error: null; - }; - "Result_PaginatedPurchasedCredits.string_": components["schemas"]["ResultSuccess_PaginatedPurchasedCredits_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__totalSpend-number__": { - data: { - /** Format: double */ - totalSpend: number; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__totalSpend-number_.string_": components["schemas"]["ResultSuccess__totalSpend-number__"] | components["schemas"]["ResultError_string_"]; - ModelSpend: { - model: string; - provider: string; - /** Format: double */ - promptTokens: number; - /** Format: double */ - completionTokens: number; - /** Format: double */ - cacheReadTokens: number; - /** Format: double */ - cacheWriteTokens: number; - pricing: { - /** Format: double */ - cacheWritePer1M?: number; - /** Format: double */ - cacheReadPer1M?: number; - /** Format: double */ - outputPer1M: number; - /** Format: double */ - inputPer1M: number; - } | null; - /** Format: double */ - subtotal: number; - /** Format: double */ - discountPercent: number; - /** Format: double */ - total: number; - /** Format: double */ - cacheAdjustment?: number; - }; - SpendBreakdownResponse: { - models: components["schemas"]["ModelSpend"][]; - /** Format: double */ - totalCost: number; - timeRange: { - end: string; - start: string; - }; - }; - ResultSuccess_SpendBreakdownResponse_: { - data: components["schemas"]["SpendBreakdownResponse"]; - /** @enum {number|null} */ - error: null; - }; - "Result_SpendBreakdownResponse.string_": components["schemas"]["ResultSuccess_SpendBreakdownResponse_"] | components["schemas"]["ResultError_string_"]; - PTBInvoice: { - id: string; - organizationId: string; - stripeInvoiceId: string | null; - hostedInvoiceUrl: string | null; - startDate: string; - endDate: string; - /** Format: double */ - amountCents: number; - /** Format: double */ - subtotalCents: number | null; - notes: string | null; - createdAt: string; - }; - "ResultSuccess_PTBInvoice-Array_": { - data: components["schemas"]["PTBInvoice"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_PTBInvoice-Array.string_": components["schemas"]["ResultSuccess_PTBInvoice-Array_"] | components["schemas"]["ResultError_string_"]; - OrgDiscount: { - provider: string | null; - model: string | null; - /** Format: double */ - percent: number; - }; - "ResultSuccess_OrgDiscount-Array_": { - data: components["schemas"]["OrgDiscount"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_OrgDiscount-Array.string_": components["schemas"]["ResultSuccess_OrgDiscount-Array_"] | components["schemas"]["ResultError_string_"]; - DashboardData: { - organizations: ({ - /** Format: double */ - walletProcessedEventsCount?: number; - /** Format: double */ - walletDisallowedModelCount?: number; - /** Format: double */ - walletTotalDebits?: number; - /** Format: double */ - walletTotalCredits?: number; - /** Format: double */ - walletEffectiveBalance?: number; - /** Format: double */ - walletBalance?: number; - /** Format: double */ - creditLimit: number; - allowNegativeBalance: boolean; - ownerEmail: string; - tier: string; - /** Format: double */ - lastPaymentDate: number | null; - /** Format: double */ - clickhouseTotalSpend: number; - /** Format: double */ - paymentsCount: number; - /** Format: double */ - totalPayments: number; - stripeCustomerId: string; - orgName: string; - orgId: string; - })[]; - summary: { - /** Format: double */ - totalCreditsSpent: number; - /** Format: double */ - totalCreditsIssued: number; - /** Format: double */ - totalOrgsWithCredits: number; - }; - isProduction: boolean; - }; - ResultSuccess_DashboardData_: { - data: components["schemas"]["DashboardData"]; - /** @enum {number|null} */ - error: null; - }; - "Result_DashboardData.string_": components["schemas"]["ResultSuccess_DashboardData_"] | components["schemas"]["ResultError_string_"]; - WalletState: { - /** Format: double */ - balance: number; - /** Format: double */ - effectiveBalance: number; - /** Format: double */ - totalCredits: number; - /** Format: double */ - totalDebits: number; - /** Format: double */ - totalEscrow: number; - disallowList: { - model: string; - provider: string; - helicone_request_id: string; - }[]; - }; - ResultSuccess_WalletState_: { - data: components["schemas"]["WalletState"]; - /** @enum {number|null} */ - error: null; - }; - "Result_WalletState.string_": components["schemas"]["ResultSuccess_WalletState_"] | components["schemas"]["ResultError_string_"]; - TableDataResponse: { - /** Format: double */ - pageSize: number; - data: { - message?: string; - /** Format: double */ - page: number; - /** Format: double */ - total: number; - data: unknown[]; - }; - }; - ResultSuccess_TableDataResponse_: { - data: components["schemas"]["TableDataResponse"]; - /** @enum {number|null} */ - error: null; - }; - "Result_TableDataResponse.string_": components["schemas"]["ResultSuccess_TableDataResponse_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__allowNegativeBalance-boolean--creditLimit-number__": { - data: { - /** Format: double */ - creditLimit: number; - allowNegativeBalance: boolean; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__allowNegativeBalance-boolean--creditLimit-number_.string_": components["schemas"]["ResultSuccess__allowNegativeBalance-boolean--creditLimit-number__"] | components["schemas"]["ResultError_string_"]; - TimeSeriesDataPoint: { - timestamp: string; - /** Format: double */ - amount: number; - }; - TimeSeriesResponse: { - deposits: components["schemas"]["TimeSeriesDataPoint"][]; - spend: components["schemas"]["TimeSeriesDataPoint"][]; - }; - ResultSuccess_TimeSeriesResponse_: { - data: components["schemas"]["TimeSeriesResponse"]; - /** @enum {number|null} */ - error: null; - }; - "Result_TimeSeriesResponse.string_": components["schemas"]["ResultSuccess_TimeSeriesResponse_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_ModelSpend-Array_": { - data: components["schemas"]["ModelSpend"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_ModelSpend-Array.string_": components["schemas"]["ResultSuccess_ModelSpend-Array_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__deleted-boolean__": { - data: { - deleted: boolean; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__deleted-boolean_.string_": components["schemas"]["ResultSuccess__deleted-boolean__"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__updated-boolean__": { - data: { - updated: boolean; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__updated-boolean_.string_": components["schemas"]["ResultSuccess__updated-boolean__"] | components["schemas"]["ResultError_string_"]; - InvoiceSummary: { - /** Format: double */ - totalSpendCents: number; - /** Format: double */ - totalInvoicedCents: number; - /** Format: double */ - uninvoicedBalanceCents: number; - lastInvoiceEndDate: string | null; - }; - ResultSuccess_InvoiceSummary_: { - data: components["schemas"]["InvoiceSummary"]; - /** @enum {number|null} */ - error: null; - }; - "Result_InvoiceSummary.string_": components["schemas"]["ResultSuccess_InvoiceSummary_"] | components["schemas"]["ResultError_string_"]; - CreateInvoiceResponse: { - invoiceId: string; - hostedInvoiceUrl: string | null; - dashboardUrl: string; - /** Format: double */ - amountCents: number; - /** Format: double */ - subtotalCents: number; - ptbInvoiceId: string; - }; - ResultSuccess_CreateInvoiceResponse_: { - data: components["schemas"]["CreateInvoiceResponse"]; - /** @enum {number|null} */ - error: null; - }; - "Result_CreateInvoiceResponse.string_": components["schemas"]["ResultSuccess_CreateInvoiceResponse_"] | components["schemas"]["ResultError_string_"]; - ConvertToWavResponse: { - data: string | null; - error: string | null; - }; - ConvertToWavRequestBody: { - audioData: string; - }; - "ResultSuccess__url-string__": { - data: { - url: string; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__url-string_.string_": components["schemas"]["ResultSuccess__url-string__"] | components["schemas"]["ResultError_string_"]; - }; - responses: { - }; - parameters: { - }; - requestBodies: { - }; - headers: { - }; - pathItems: never; -} - -export type $defs = Record; - -export type external = Record; - -export interface operations { - - AddToWaitlist: { - requestBody: { - content: { - "application/json": { - organizationId?: string; - feature: string; - email: string; - }; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__success-boolean--position_63_-number_.string_"]; - }; - }; - }; - }; - IsOnWaitlist: { - parameters: { - query: { - email: string; - feature: string; - organizationId?: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__isOnWaitlist-boolean_.string_"]; - }; - }; - }; - }; - GetWaitlistCount: { - parameters: { - query: { - feature: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__count-number_.string_"]; - }; - }; - }; - }; - PostUserFeedback: { - requestBody: { - content: { - "application/json": { - tag: string; - feedback: string; - }; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": { - success?: unknown; - error: string; - } | { - error?: unknown; - success: boolean; - }; - }; - }; - }; - }; - GetSettings: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": { - settings: unknown; - name: string; - }[]; - }; - }; - }; - }; - GetRateLimits: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_RateLimitRuleView-Array.string_"]; - }; - }; - }; - }; - CreateRateLimit: { - requestBody: { - content: { - "application/json": components["schemas"]["CreateRateLimitRuleParams"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_RateLimitRuleView.string_"]; - }; - }; - }; - }; - UpdateRateLimit: { - parameters: { - path: { - ruleId: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["UpdateRateLimitRuleParams"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_RateLimitRuleView.string_"]; - }; - }; - }; - }; - DeleteRateLimit: { - parameters: { - path: { - ruleId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; - }; - }; - GetProviderKey: { - parameters: { - path: { - providerKeyId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["DecryptedProviderKey"] | { - error: string; - }; - }; - }; - }; - }; - DeleteProviderKey: { - parameters: { - path: { - providerKeyId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": ({ - /** @enum {string} */ - providerName: "baseten" | "anthropic" | "azure" | "bedrock" | "canopywave" | "cerebras" | "chutes" | "deepinfra" | "deepseek" | "fireworks" | "google-ai-studio" | "groq" | "helicone" | "mistral" | "nebius" | "novita" | "openai" | "openrouter" | "perplexity" | "vertex" | "xai"; - }) | { - error: string; - }; - }; - }; - }; - }; - UpdateProviderKey: { - parameters: { - path: { - providerKeyId: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["UpdateProviderKeyRequest"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__id-string--providerName-string_.string_"]; - }; - }; - }; - }; - CreateProviderKey: { - requestBody: { - content: { - "application/json": components["schemas"]["CreateProviderKeyRequest"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": { - id: string; - } | { - error: string; - }; - }; - }; - }; - }; - GetProviderKeys: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["ProviderKeyRow"][] | { - error: string; - }; - }; - }; - }; - }; - GetAPIKeys: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__api_key_hash-string--api_key_name-string--created_at-string--governance-boolean--id-number--key_permissions-string--organization_id-string--soft_delete-boolean--temp_key-boolean--updated_at-string--user_id-string_-Array.string_"]; - }; - }; - }; - }; - CreateAPIKey: { - requestBody: { - content: { - "application/json": { - /** @enum {string} */ - key_permissions?: "rw" | "r" | "w"; - api_key_name: string; - }; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": { - hashedKey: string; - apiKey: string; - id: string; - } | { - error: string; - }; - }; - }; - }; - }; - CreateProxyKey: { - requestBody: { - content: { - "application/json": { - proxyKeyName: string; - providerKeyId: string; - }; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": { - proxyKeyId: string; - proxyKey: string; - } | { - error: string; - }; - }; - }; - }; - }; - DeleteAPIKey: { - parameters: { - path: { - apiKeyId: number; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": { - hashedKey: string; - } | { - error: string; - }; - }; - }; - }; - }; - UpdateAPIKey: { - parameters: { - path: { - apiKeyId: number; - }; - }; - requestBody: { - content: { - "application/json": { - api_key_name: string; - }; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": { - hashedKey: string; - } | { - error: string; - }; - }; - }; - }; - }; - GetCostForPrompts: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": number; - }; - }; - }; - }; - GetCostForEvals: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": number; - }; - }; - }; - }; - GetCostForExperiments: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": number; - }; - }; - }; - }; - GetFreeUsage: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": number; - }; - }; - }; - }; - CreateCloudGatewayCheckoutSession: { - requestBody: { - content: { - "application/json": components["schemas"]["CreateCloudGatewayCheckoutSessionRequest"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": { - checkoutUrl: string; - }; - }; - }; - }; - }; - UpgradeToPro: { - requestBody: { - content: { - "application/json": components["schemas"]["UpgradeToProRequest"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": string; - }; - }; - }; - }; - UpgradeExistingCustomer: { - requestBody: { - content: { - "application/json": components["schemas"]["UpgradeToProRequest"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": string; - }; - }; - }; - }; - UpgradeToTeamBundle: { - requestBody?: { - content: { - "application/json": components["schemas"]["UpgradeToTeamBundleRequest"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": string; - }; - }; - }; - }; - UpgradeExistingCustomerToTeamBundle: { - requestBody?: { - content: { - "application/json": components["schemas"]["UpgradeToTeamBundleRequest"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": string; - }; - }; - }; - }; - ManageSubscription: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": string; - }; - }; - }; - }; - UndoCancelSubscription: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": null; - }; - }; - }; - }; - AddOns: { - parameters: { - path: { - productType: "alerts" | "prompts" | "experiments" | "evals"; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": null; - }; - }; - }; - }; - DeleteAddOns: { - parameters: { - path: { - productType: "alerts" | "prompts" | "experiments" | "evals"; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": null; - }; - }; - }; - }; - PreviewInvoice: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": ({ - evaluators_usage: components["schemas"]["LLMUsage"][]; - experiments_usage: components["schemas"]["LLMUsage"][]; - /** Format: double */ - total: number; - /** Format: double */ - tax: number | null; - /** Format: double */ - subtotal: number; - discount: ({ - coupon: { - /** Format: double */ - amount_off: number | null; - /** Format: double */ - percent_off: number | null; - name: string | null; - }; - }) | null; - lines: ({ - data: ({ - description: string | null; - /** Format: double */ - amount: number | null; - id: string | null; - })[]; - }) | null; - /** Format: double */ - next_payment_attempt: number | null; - currency: string | null; - }) | null; - }; - }; - }; - }; - CancelSubscription: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": null; - }; - }; - }; - }; - MigrateToPro: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": unknown; - }; - }; - }; - }; - SearchPaymentIntents: { - parameters: { - query: { - search_kind: string; - limit?: number; - page?: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["StripePaymentIntentsResponse"]; - }; - }; - }; - }; - GetSubscription: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": ({ - items: ({ - price: { - product: ({ - name: string | null; - }) | null; - }; - /** Format: double */ - quantity?: number; - })[]; - /** Format: double */ - trial_end: number | null; - id: string; - /** Format: double */ - current_period_start: number; - /** Format: double */ - current_period_end: number; - cancel_at_period_end: boolean; - status: string; - }) | null; - }; - }; - }; - }; - GetAutoTopoffSettings: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["AutoTopoffSettings"] | null; - }; - }; - }; - }; - UpdateAutoTopoffSettings: { - requestBody: { - content: { - "application/json": components["schemas"]["UpdateAutoTopoffSettingsRequest"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["AutoTopoffSettings"]; - }; - }; - }; - }; - DisableAutoTopoff: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": { - success: boolean; - }; - }; - }; - }; - }; - GetPaymentMethods: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["PaymentMethod"][]; - }; - }; - }; - }; - CreateSetupSession: { - requestBody: { - content: { - "application/json": components["schemas"]["CreateSetupSessionRequest"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": { - setupUrl: string; - }; - }; - }; - }; - }; - RemovePaymentMethod: { - parameters: { - path: { - paymentMethodId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": { - success: boolean; - }; - }; - }; - }; - }; - GetUsageStats: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["UsageStatsResponse"] | null; - }; - }; - }; - }; - GetOrganizations: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__40_Database-at-public_91_Tables_93_-at-organization_91_Row_93_-and-_role-string__41_-Array.string_"]; - }; - }; - }; - }; - GetModels: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__model-string_-Array.string_"]; - }; - }; - }; - }; - GetOrganization: { - parameters: { - path: { - organizationId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_Database-at-public_91_Tables_93_-at-organization_91_Row_93_.string_"]; - }; - }; - }; - }; - GetReseller: { - parameters: { - path: { - resellerId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["ResultSuccess_unknown_"] | components["schemas"]["ResultError_unknown_"]; - }; - }; - }; - }; - AcceptTerms: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; - }; - }; - CreateNewOrganization: { - requestBody: { - content: { - "application/json": components["schemas"]["NewOrganizationParams"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_string.string_"]; - }; - }; - }; - }; - UpdateOrganization: { - parameters: { - path: { - organizationId: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["UpdateOrganizationParams"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; - }; - }; - OnboardOrganization: { - requestBody: { - content: { - "application/json": Record; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; - }; - }; - AddMemberToOrganization: { - parameters: { - path: { - organizationId: string; - }; - }; - requestBody: { - content: { - "application/json": { - email: string; - }; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__temporaryPassword_63_-string_-or-null.string_"]; - }; - }; - }; - }; - CreateOrganizationFilter: { - parameters: { - path: { - organizationId: string; - }; - }; - requestBody: { - content: { - "application/json": { - /** @enum {string} */ - filterType: "dashboard" | "requests"; - filters: components["schemas"]["OrganizationFilter"][]; - }; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; - }; - }; - UpdateOrganizationFilter: { - parameters: { - path: { - organizationId: string; - }; - }; - requestBody: { - content: { - "application/json": { - /** @enum {string} */ - filterType: "dashboard" | "requests"; - filters: components["schemas"]["OrganizationFilter"][]; - }; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; - }; - }; - DeleteOrganization: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; - }; - }; - GetOrganizationLayout: { - parameters: { - query: { - filterType: string; - }; - path: { - organizationId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_OrganizationLayout.string_"]; - }; - }; - }; - }; - GetOrganizationMembers: { - parameters: { - path: { - organizationId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_OrganizationMember-Array.string_"]; - }; - }; - }; - }; - UpdateOrganizationMember: { - parameters: { - path: { - organizationId: string; - }; - }; - requestBody: { - content: { - "application/json": { - memberId: string; - role: string; - }; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; - }; - }; - UpdateOrganizationOwner: { - parameters: { - path: { - organizationId: string; - }; - }; - requestBody: { - content: { - "application/json": { - memberId: string; - }; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; - }; - }; - GetOrganizationOwner: { - parameters: { - path: { - organizationId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_OrganizationOwner-Array.string_"]; - }; - }; - }; - }; - RemoveMemberFromOrganization: { - parameters: { - query: { - memberId: string; - }; - path: { - organizationId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; - }; - }; - SetupDemo: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; - }; - }; - UpdateOnboardingStatus: { - requestBody: { - content: { - "application/json": { - name: string; - onboarding_status: components["schemas"]["OnboardingStatus"]; - }; - }; + threads: components["schemas"]["HelixThreadSummary"][]; + /** Format: double */ + total: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; + ResultSuccess_HelixThreadListResponse_: { + data: components["schemas"]["HelixThreadListResponse"]; + /** @enum {number|null} */ + error: null; }; - }; - CreateEvaluator: { - requestBody: { - content: { - "application/json": components["schemas"]["CreateEvaluatorParams"]; - }; + "Result_HelixThreadListResponse.string_": components["schemas"]["ResultSuccess_HelixThreadListResponse_"] | components["schemas"]["ResultError_string_"]; + HelixThreadDetail: { + id: string; + chat: unknown; + user_id: string; + org_id: string; + created_at: string; + escalated: boolean; + metadata: unknown; + updated_at: string; + soft_delete: boolean; + user_email: string | null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_EvaluatorResult.string_"]; - }; - }; + ResultSuccess_HelixThreadDetail_: { + data: components["schemas"]["HelixThreadDetail"]; + /** @enum {number|null} */ + error: null; }; - }; - GetEvaluator: { - parameters: { - path: { - evaluatorId: string; - }; + "Result_HelixThreadDetail.string_": components["schemas"]["ResultSuccess_HelixThreadDetail_"] | components["schemas"]["ResultError_string_"]; + InAppThread: { + id: string; + chat: unknown; + user_id: string; + org_id: string; + /** Format: date-time */ + created_at: string; + escalated: boolean; + metadata: unknown; + /** Format: date-time */ + updated_at: string; + soft_delete: boolean; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_EvaluatorResult.string_"]; - }; - }; + ResultSuccess_InAppThread_: { + data: components["schemas"]["InAppThread"]; + /** @enum {number|null} */ + error: null; }; - }; - UpdateEvaluator: { - parameters: { - path: { - evaluatorId: string; + "Result_InAppThread.string_": components["schemas"]["ResultSuccess_InAppThread_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__rows-Record_string.any_-Array--elapsedMilliseconds-number--size-number--rowCount-number__": { + data: { + /** Format: double */ + rowCount: number; + /** Format: double */ + size: number; + /** Format: double */ + elapsedMilliseconds: number; + rows: components["schemas"]["Record_string.any_"][]; }; + /** @enum {number|null} */ + error: null; }; - requestBody: { - content: { - "application/json": components["schemas"]["UpdateEvaluatorParams"]; + "Result__rows-Record_string.any_-Array--elapsedMilliseconds-number--size-number--rowCount-number_.string_": components["schemas"]["ResultSuccess__rows-Record_string.any_-Array--elapsedMilliseconds-number--size-number--rowCount-number__"] | components["schemas"]["ResultError_string_"]; + /** @description Construct a type with a set of properties K of type T */ + "Record_string.number_": { + [key: string]: number; + }; + "ResultSuccess__previousTier-string--newTier-string--subscriptionId-string__": { + data: { + subscriptionId: string; + newTier: string; + previousTier: string; }; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_EvaluatorResult.string_"]; + "Result__previousTier-string--newTier-string--subscriptionId-string_.string_": components["schemas"]["ResultSuccess__previousTier-string--newTier-string--subscriptionId-string__"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__previousTier-string--newTier-string--subscriptionId-string--usage_58__requests-number--storageBytes-number--storageMb-number--source-clickhouse-or-override_--backfillResult_58__requestsEvent-string--storageEvent-string___": { + data: { + backfillResult: { + storageEvent: string; + requestsEvent: string; + }; + usage: { + /** @enum {string} */ + source: "clickhouse" | "override"; + /** Format: double */ + storageMb: number; + /** Format: double */ + storageBytes: number; + /** Format: double */ + requests: number; }; + subscriptionId: string; + newTier: string; + previousTier: string; }; + /** @enum {number|null} */ + error: null; }; - }; - DeleteEvaluator: { - parameters: { - path: { - evaluatorId: string; + "Result__previousTier-string--newTier-string--subscriptionId-string--usage_58__requests-number--storageBytes-number--storageMb-number--source-clickhouse-or-override_--backfillResult_58__requestsEvent-string--storageEvent-string__.string_": components["schemas"]["ResultSuccess__previousTier-string--newTier-string--subscriptionId-string--usage_58__requests-number--storageBytes-number--storageMb-number--source-clickhouse-or-override_--backfillResult_58__requestsEvent-string--storageEvent-string___"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__previousTier-string--newTier-string--subscriptionId-string--scheduleId-string--scheduledFor-string__": { + data: { + scheduledFor: string; + scheduleId: string; + subscriptionId: string; + newTier: string; + previousTier: string; }; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; + "Result__previousTier-string--newTier-string--subscriptionId-string--scheduleId-string--scheduledFor-string_.string_": components["schemas"]["ResultSuccess__previousTier-string--newTier-string--subscriptionId-string--scheduleId-string--scheduledFor-string__"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__id-string--name-string--tier-string--stripe_customer_id-string-or-null--stripe_subscription_id-string-or-null--subscription_status-string-or-null--owner_email-string-or-null--created_at-string__": { + data: { + created_at: string; + owner_email: string | null; + subscription_status: string | null; + stripe_subscription_id: string | null; + stripe_customer_id: string | null; + tier: string; + name: string; + id: string; }; + /** @enum {number|null} */ + error: null; }; - }; - QueryEvaluators: { - requestBody: { - content: { - "application/json": Record; + "Result__id-string--name-string--tier-string--stripe_customer_id-string-or-null--stripe_subscription_id-string-or-null--subscription_status-string-or-null--owner_email-string-or-null--created_at-string_.string_": components["schemas"]["ResultSuccess__id-string--name-string--tier-string--stripe_customer_id-string-or-null--stripe_subscription_id-string-or-null--subscription_status-string-or-null--owner_email-string-or-null--created_at-string__"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__message-string__": { + data: { + message: string; }; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_EvaluatorResult-Array.string_"]; - }; + "Result__message-string_.string_": components["schemas"]["ResultSuccess__message-string__"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__message-string--previousTier-string__": { + data: { + previousTier: string; + message: string; }; + /** @enum {number|null} */ + error: null; }; - }; - GetExperimentsForEvaluator: { - parameters: { - path: { - evaluatorId: string; - }; + "Result__message-string--previousTier-string_.string_": components["schemas"]["ResultSuccess__message-string--previousTier-string__"] | components["schemas"]["ResultError_string_"]; + CreditBalanceResponse: { + /** Format: double */ + totalCreditsPurchased: number; + /** Format: double */ + balance: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_EvaluatorExperiment-Array.string_"]; - }; - }; + ResultSuccess_CreditBalanceResponse_: { + data: components["schemas"]["CreditBalanceResponse"]; + /** @enum {number|null} */ + error: null; }; - }; - GetOnlineEvaluators: { - parameters: { - path: { - evaluatorId: string; - }; + "Result_CreditBalanceResponse.string_": components["schemas"]["ResultSuccess_CreditBalanceResponse_"] | components["schemas"]["ResultError_string_"]; + PurchasedCredits: { + id: string; + /** Format: double */ + createdAt: number; + /** Format: double */ + credits: number; + referenceId: string; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_OnlineEvaluatorByEvaluatorId-Array.string_"]; - }; - }; + PaginatedPurchasedCredits: { + purchases: components["schemas"]["PurchasedCredits"][]; + /** Format: double */ + total: number; + /** Format: double */ + page: number; + /** Format: double */ + pageSize: number; }; - }; - CreateOnlineEvaluator: { - parameters: { - path: { - evaluatorId: string; - }; + ResultSuccess_PaginatedPurchasedCredits_: { + data: components["schemas"]["PaginatedPurchasedCredits"]; + /** @enum {number|null} */ + error: null; }; - requestBody: { - content: { - "application/json": components["schemas"]["CreateOnlineEvaluatorParams"]; + "Result_PaginatedPurchasedCredits.string_": components["schemas"]["ResultSuccess_PaginatedPurchasedCredits_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__totalSpend-number__": { + data: { + /** Format: double */ + totalSpend: number; }; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; + "Result__totalSpend-number_.string_": components["schemas"]["ResultSuccess__totalSpend-number__"] | components["schemas"]["ResultError_string_"]; + ModelSpend: { + model: string; + provider: string; + /** Format: double */ + promptTokens: number; + /** Format: double */ + completionTokens: number; + /** Format: double */ + cacheReadTokens: number; + /** Format: double */ + cacheWriteTokens: number; + pricing: { + /** Format: double */ + cacheWritePer1M?: number; + /** Format: double */ + cacheReadPer1M?: number; + /** Format: double */ + outputPer1M: number; + /** Format: double */ + inputPer1M: number; + } | null; + /** Format: double */ + subtotal: number; + /** Format: double */ + discountPercent: number; + /** Format: double */ + total: number; + /** Format: double */ + cacheAdjustment?: number; }; - }; - DeleteOnlineEvaluator: { - parameters: { - path: { - evaluatorId: string; - onlineEvaluatorId: string; + SpendBreakdownResponse: { + models: components["schemas"]["ModelSpend"][]; + /** Format: double */ + totalCost: number; + timeRange: { + end: string; + start: string; }; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; + ResultSuccess_SpendBreakdownResponse_: { + data: components["schemas"]["SpendBreakdownResponse"]; + /** @enum {number|null} */ + error: null; }; - }; - TestPythonEvaluator: { - requestBody: { - content: { - "application/json": { - testInput: components["schemas"]["TestInput"]; - code: string; - }; - }; + "Result_SpendBreakdownResponse.string_": components["schemas"]["ResultSuccess_SpendBreakdownResponse_"] | components["schemas"]["ResultError_string_"]; + PTBInvoice: { + id: string; + organizationId: string; + stripeInvoiceId: string | null; + hostedInvoiceUrl: string | null; + startDate: string; + endDate: string; + /** Format: double */ + amountCents: number; + /** Format: double */ + subtotalCents: number | null; + notes: string | null; + createdAt: string; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__output-string--traces-string-Array--statusCode_63_-number_.string_"]; - }; - }; + "ResultSuccess_PTBInvoice-Array_": { + data: components["schemas"]["PTBInvoice"][]; + /** @enum {number|null} */ + error: null; }; - }; - TestLLMEvaluator: { - requestBody: { - content: { - "application/json": { - evaluatorName: string; - testInput: components["schemas"]["TestInput"]; - evaluatorConfig: components["schemas"]["EvaluatorConfig"]; - }; - }; + "Result_PTBInvoice-Array.string_": components["schemas"]["ResultSuccess_PTBInvoice-Array_"] | components["schemas"]["ResultError_string_"]; + OrgDiscount: { + provider: string | null; + model: string | null; + /** Format: double */ + percent: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["EvaluatorScoreResult"]; - }; - }; + "ResultSuccess_OrgDiscount-Array_": { + data: components["schemas"]["OrgDiscount"][]; + /** @enum {number|null} */ + error: null; }; - }; - TestLastMileEvaluator: { - requestBody: { - content: { - "application/json": { - testInput: components["schemas"]["TestInput"]; - config: components["schemas"]["LastMileConfigForm"]; - }; + "Result_OrgDiscount-Array.string_": components["schemas"]["ResultSuccess_OrgDiscount-Array_"] | components["schemas"]["ResultError_string_"]; + DashboardData: { + organizations: ({ + /** Format: double */ + walletProcessedEventsCount?: number; + /** Format: double */ + walletDisallowedModelCount?: number; + /** Format: double */ + walletTotalDebits?: number; + /** Format: double */ + walletTotalCredits?: number; + /** Format: double */ + walletEffectiveBalance?: number; + /** Format: double */ + walletBalance?: number; + /** Format: double */ + creditLimit: number; + allowNegativeBalance: boolean; + ownerEmail: string; + tier: string; + /** Format: double */ + lastPaymentDate: number | null; + /** Format: double */ + clickhouseTotalSpend: number; + /** Format: double */ + paymentsCount: number; + /** Format: double */ + totalPayments: number; + stripeCustomerId: string; + orgName: string; + orgId: string; + })[]; + summary: { + /** Format: double */ + totalCreditsSpent: number; + /** Format: double */ + totalCreditsIssued: number; + /** Format: double */ + totalOrgsWithCredits: number; }; + isProduction: boolean; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__score-number--input-string--output-string--ground_truth_63_-string_.string_"]; - }; - }; + ResultSuccess_DashboardData_: { + data: components["schemas"]["DashboardData"]; + /** @enum {number|null} */ + error: null; }; - }; - GetEvaluatorStats: { - parameters: { - path: { - evaluatorId: string; - }; + "Result_DashboardData.string_": components["schemas"]["ResultSuccess_DashboardData_"] | components["schemas"]["ResultError_string_"]; + WalletState: { + /** Format: double */ + balance: number; + /** Format: double */ + effectiveBalance: number; + /** Format: double */ + totalCredits: number; + /** Format: double */ + totalDebits: number; + /** Format: double */ + totalEscrow: number; + disallowList: { + model: string; + provider: string; + helicone_request_id: string; + }[]; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_EvaluatorStats.string_"]; - }; - }; + ResultSuccess_WalletState_: { + data: components["schemas"]["WalletState"]; + /** @enum {number|null} */ + error: null; }; - }; - GetPrompt2025: { - parameters: { - path: { - promptId: string; + "Result_WalletState.string_": components["schemas"]["ResultSuccess_WalletState_"] | components["schemas"]["ResultError_string_"]; + TableDataResponse: { + /** Format: double */ + pageSize: number; + data: { + message?: string; + /** Format: double */ + page: number; + /** Format: double */ + total: number; + data: unknown[]; }; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_Prompt2025.string_"]; - }; + ResultSuccess_TableDataResponse_: { + data: components["schemas"]["TableDataResponse"]; + /** @enum {number|null} */ + error: null; + }; + "Result_TableDataResponse.string_": components["schemas"]["ResultSuccess_TableDataResponse_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__allowNegativeBalance-boolean--creditLimit-number__": { + data: { + /** Format: double */ + creditLimit: number; + allowNegativeBalance: boolean; }; + /** @enum {number|null} */ + error: null; + }; + "Result__allowNegativeBalance-boolean--creditLimit-number_.string_": components["schemas"]["ResultSuccess__allowNegativeBalance-boolean--creditLimit-number__"] | components["schemas"]["ResultError_string_"]; + TimeSeriesDataPoint: { + timestamp: string; + /** Format: double */ + amount: number; }; - }; - RenamePrompt2025: { - parameters: { - path: { - promptId: string; - }; + TimeSeriesResponse: { + deposits: components["schemas"]["TimeSeriesDataPoint"][]; + spend: components["schemas"]["TimeSeriesDataPoint"][]; }; - requestBody: { - content: { - "application/json": { - name: string; - }; - }; + ResultSuccess_TimeSeriesResponse_: { + data: components["schemas"]["TimeSeriesResponse"]; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; + "Result_TimeSeriesResponse.string_": components["schemas"]["ResultSuccess_TimeSeriesResponse_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess_ModelSpend-Array_": { + data: components["schemas"]["ModelSpend"][]; + /** @enum {number|null} */ + error: null; }; - }; - UpdatePrompt2025Tags: { - parameters: { - path: { - promptId: string; + "Result_ModelSpend-Array.string_": components["schemas"]["ResultSuccess_ModelSpend-Array_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__deleted-boolean__": { + data: { + deleted: boolean; }; + /** @enum {number|null} */ + error: null; }; - requestBody: { - content: { - "application/json": { - tags: string[]; - }; + "Result__deleted-boolean_.string_": components["schemas"]["ResultSuccess__deleted-boolean__"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__updated-boolean__": { + data: { + updated: boolean; }; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_string-Array.string_"]; - }; - }; + "Result__updated-boolean_.string_": components["schemas"]["ResultSuccess__updated-boolean__"] | components["schemas"]["ResultError_string_"]; + InvoiceSummary: { + /** Format: double */ + totalSpendCents: number; + /** Format: double */ + totalInvoicedCents: number; + /** Format: double */ + uninvoicedBalanceCents: number; + lastInvoiceEndDate: string | null; }; - }; - DeletePrompt2025: { - parameters: { - path: { - promptId: string; - }; + ResultSuccess_InvoiceSummary_: { + data: components["schemas"]["InvoiceSummary"]; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; + "Result_InvoiceSummary.string_": components["schemas"]["ResultSuccess_InvoiceSummary_"] | components["schemas"]["ResultError_string_"]; + CreateInvoiceResponse: { + invoiceId: string; + hostedInvoiceUrl: string | null; + dashboardUrl: string; + /** Format: double */ + amountCents: number; + /** Format: double */ + subtotalCents: number; + ptbInvoiceId: string; }; - }; - DeletePrompt2025Version: { - parameters: { - path: { - promptId: string; - versionId: string; - }; + ResultSuccess_CreateInvoiceResponse_: { + data: components["schemas"]["CreateInvoiceResponse"]; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; + "Result_CreateInvoiceResponse.string_": components["schemas"]["ResultSuccess_CreateInvoiceResponse_"] | components["schemas"]["ResultError_string_"]; + ConvertToWavResponse: { + data: string | null; + error: string | null; }; - }; - GetPrompt2025Inputs: { - parameters: { - query: { - requestId: string; - }; - path: { - promptId: string; - versionId: string; - }; + ConvertToWavRequestBody: { + audioData: string; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_Prompt2025Input.string_"]; - }; + "ResultSuccess__url-string__": { + data: { + url: string; }; + /** @enum {number|null} */ + error: null; }; + "Result__url-string_.string_": components["schemas"]["ResultSuccess__url-string__"] | components["schemas"]["ResultError_string_"]; }; - GetPrompt2025Tags: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_string-Array.string_"]; - }; - }; - }; + responses: { }; - GetPrompt2025Environments: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_string-Array.string_"]; - }; - }; - }; + parameters: { + }; + requestBodies: { }; - CreatePrompt2025: { + headers: { + }; + pathItems: never; +} + +export type $defs = Record; + +export type external = Record; + +export interface operations { + + AddToWaitlist: { requestBody: { content: { "application/json": { - promptBody: components["schemas"]["OpenAIChatRequest"]; - tags: string[]; - name: string; + organizationId?: string; + feature: string; + email: string; }; }; }; @@ -18329,59 +15622,49 @@ export interface operations { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_PromptCreateResponse.string_"]; + "application/json": components["schemas"]["Result__success-boolean--position_63_-number_.string_"]; }; }; }; }; - UpdatePrompt2025: { - requestBody: { - content: { - "application/json": { - promptBody: components["schemas"]["OpenAIChatRequest"]; - commitMessage: string; - environment?: string; - newMajorVersion: boolean; - promptVersionId: string; - promptId: string; - }; + IsOnWaitlist: { + parameters: { + query: { + email: string; + feature: string; + organizationId?: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__id-string_.string_"]; + "application/json": components["schemas"]["Result__isOnWaitlist-boolean_.string_"]; }; }; }; }; - SetPromptVersionEnvironment: { - requestBody: { - content: { - "application/json": { - environment: string; - promptVersionId: string; - promptId: string; - }; + GetWaitlistCount: { + parameters: { + query: { + feature: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result__count-number_.string_"]; }; }; }; }; - RemoveEnvironmentFromVersion: { + PostUserFeedback: { requestBody: { content: { "application/json": { - environment: string; - promptVersionId: string; - promptId: string; + tag: string; + feedback: string; }; }; }; @@ -18389,230 +15672,219 @@ export interface operations { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": { + success?: unknown; + error: string; + } | { + error?: unknown; + success: boolean; + }; }; }; }; }; - GetPrompt2025Count: { + GetSettings: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_number.string_"]; + "application/json": { + settings: unknown; + name: string; + }[]; }; }; }; }; - GetPrompts2025: { - requestBody: { - content: { - "application/json": { - /** Format: double */ - pageSize: number; - /** Format: double */ - page: number; - tagsFilter: string[]; - search: string; - }; - }; - }; + GetRateLimits: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_Prompt2025-Array.string_"]; + "application/json": components["schemas"]["Result_RateLimitRuleView-Array.string_"]; }; }; }; }; - GetPrompt2025Version: { + CreateRateLimit: { requestBody: { content: { - "application/json": { - promptVersionId: string; - }; + "application/json": components["schemas"]["CreateRateLimitRuleParams"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_Prompt2025Version.string_"]; + "application/json": components["schemas"]["Result_RateLimitRuleView.string_"]; }; }; }; }; - GetPrompt2025EnvironmentVersion: { - requestBody: { - content: { - "application/json": { - environment: string; - promptId: string; - }; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_Prompt2025Version.string_"]; - }; + UpdateRateLimit: { + parameters: { + path: { + ruleId: string; }; }; - }; - GetPrompt2025Versions: { requestBody: { content: { - "application/json": { - /** Format: double */ - majorVersion?: number; - promptId: string; - }; + "application/json": components["schemas"]["UpdateRateLimitRuleParams"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_Prompt2025Version-Array.string_"]; + "application/json": components["schemas"]["Result_RateLimitRuleView.string_"]; }; }; }; }; - GetPrompt2025ProductionVersion: { - requestBody: { - content: { - "application/json": { - promptId: string; - }; + DeleteRateLimit: { + parameters: { + path: { + ruleId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_Prompt2025Version.string_"]; + "application/json": components["schemas"]["Result_null.string_"]; }; }; }; }; - GetPrompt2025TotalVersions: { - requestBody: { - content: { - "application/json": { - promptId: string; - }; + GetProviderKey: { + parameters: { + path: { + providerKeyId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_PromptVersionCounts.string_"]; + "application/json": components["schemas"]["DecryptedProviderKey"] | { + error: string; + }; }; }; }; }; - /** @description Get the full prompt body (messages, tools, etc.) for a specific prompt version. */ - GetPrompt2025VersionBody: { + DeleteProviderKey: { parameters: { path: { - promptVersionId: string; + providerKeyId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_Prompt2025Version_91_prompt_body_93_.string_"]; + "application/json": ({ + /** @enum {string} */ + providerName: "baseten" | "anthropic" | "azure" | "bedrock" | "canopywave" | "cerebras" | "chutes" | "deepinfra" | "deepseek" | "fireworks" | "google-ai-studio" | "groq" | "helicone" | "mistral" | "nebius" | "novita" | "openai" | "openrouter" | "perplexity" | "vertex" | "xai"; + }) | { + error: string; + }; }; }; }; }; - GetRequestCount: { + UpdateProviderKey: { + parameters: { + path: { + providerKeyId: string; + }; + }; requestBody: { content: { - "application/json": components["schemas"]["RequestQueryParams"]; + "application/json": components["schemas"]["UpdateProviderKeyRequest"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_number.string_"]; + "application/json": components["schemas"]["Result__id-string--providerName-string_.string_"]; }; }; }; }; - GetRequests: { + CreateProviderKey: { requestBody: { content: { - "application/json": components["schemas"]["RequestQueryParams"]; + "application/json": components["schemas"]["CreateProviderKeyRequest"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_HeliconeRequest-Array.string_"]; + "application/json": { + id: string; + } | { + error: string; + }; }; }; }; }; - GetRequestsClickhouse: { - requestBody: { - content: { - "application/json": components["schemas"]["RequestQueryParams"]; - }; - }; + GetProviderKeys: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_HeliconeRequest-Array.string_"]; + "application/json": components["schemas"]["ProviderKeyRow"][] | { + error: string; + }; }; }; }; }; - GetRequestById: { - parameters: { - query?: { - includeBody?: boolean; - }; - path: { - requestId: string; - }; - }; + GetAPIKeys: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_HeliconeRequest.string_"]; + "application/json": components["schemas"]["Result__api_key_hash-string--api_key_name-string--created_at-string--governance-boolean--id-number--key_permissions-string--organization_id-string--soft_delete-boolean--temp_key-boolean--updated_at-string--user_id-string_-Array.string_"]; }; }; }; }; - GetRequestInputs: { - parameters: { - path: { - requestId: string; + CreateAPIKey: { + requestBody: { + content: { + "application/json": { + /** @enum {string} */ + key_permissions?: "rw" | "r" | "w"; + api_key_name: string; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null.string_"]; + "application/json": { + hashedKey: string; + apiKey: string; + id: string; + } | { + error: string; + }; }; }; }; }; - GetRequestsByIds: { + CreateProxyKey: { requestBody: { content: { "application/json": { - requestIds: string[]; + proxyKeyName: string; + providerKeyId: string; }; }; }; @@ -18620,44 +15892,45 @@ export interface operations { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_HeliconeRequest-Array.string_"]; + "application/json": { + proxyKeyId: string; + proxyKey: string; + } | { + error: string; + }; }; }; }; }; - FeedbackRequest: { + DeleteAPIKey: { parameters: { path: { - requestId: string; - }; - }; - requestBody: { - content: { - "application/json": { - rating: boolean; - }; + apiKeyId: number; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": { + hashedKey: string; + } | { + error: string; + }; }; }; }; }; - PutProperty: { + UpdateAPIKey: { parameters: { path: { - requestId: string; + apiKeyId: number; }; }; requestBody: { content: { "application/json": { - value: string; - key: string; + api_key_name: string; }; }; }; @@ -18665,327 +15938,347 @@ export interface operations { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": { + hashedKey: string; + } | { + error: string; + }; }; }; }; }; - GetRequestAssetById: { - parameters: { - path: { - requestId: string; - assetId: string; - }; - }; + GetFreeUsage: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_HeliconeRequestAsset.string_"]; + "application/json": number; }; }; }; }; - AddScores: { - parameters: { - path: { - requestId: string; - }; - }; + CreateCloudGatewayCheckoutSession: { requestBody: { content: { - "application/json": components["schemas"]["ScoreRequest"]; + "application/json": components["schemas"]["CreateCloudGatewayCheckoutSessionRequest"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": { + checkoutUrl: string; + }; }; }; }; }; - HasPrompts: { + ManageSubscription: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__hasPrompts-boolean_.string_"]; + "application/json": string; }; }; }; }; - GetPrompts: { - requestBody: { - content: { - "application/json": components["schemas"]["PromptsQueryParams"]; - }; - }; + UndoCancelSubscription: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_PromptsResult-Array.string_"]; + "application/json": null; }; }; }; }; - GetPrompt: { - parameters: { - path: { - promptId: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["PromptQueryParams"]; + PreviewInvoice: { + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": ({ + evaluators_usage: components["schemas"]["LLMUsage"][]; + experiments_usage: components["schemas"]["LLMUsage"][]; + /** Format: double */ + total: number; + /** Format: double */ + tax: number | null; + /** Format: double */ + subtotal: number; + discount: ({ + coupon: { + /** Format: double */ + amount_off: number | null; + /** Format: double */ + percent_off: number | null; + name: string | null; + }; + }) | null; + lines: ({ + data: ({ + description: string | null; + /** Format: double */ + amount: number | null; + id: string | null; + })[]; + }) | null; + /** Format: double */ + next_payment_attempt: number | null; + currency: string | null; + }) | null; + }; }; }; + }; + CancelSubscription: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_PromptResult.string_"]; + "application/json": null; }; }; }; }; - DeletePrompt: { + SearchPaymentIntents: { parameters: { - path: { - promptId: string; + query: { + search_kind: string; + limit?: number; + page?: string; }; }; responses: { - /** @description No content */ - 204: { - content: never; + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["StripePaymentIntentsResponse"]; + }; }; }; }; - CreatePrompt: { - requestBody: { - content: { - "application/json": { - metadata: components["schemas"]["Record_string.any_"]; - prompt: unknown; - userDefinedId: string; + GetSubscription: { + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": ({ + items: ({ + price: { + product: ({ + name: string | null; + }) | null; + }; + /** Format: double */ + quantity?: number; + })[]; + /** Format: double */ + trial_end: number | null; + id: string; + /** Format: double */ + current_period_start: number; + /** Format: double */ + current_period_end: number; + cancel_at_period_end: boolean; + status: string; + }) | null; }; }; }; + }; + GetAutoTopoffSettings: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_CreatePromptResponse.string_"]; + "application/json": components["schemas"]["AutoTopoffSettings"] | null; }; }; }; }; - UpdatePromptUserDefinedId: { - parameters: { - path: { - promptId: string; - }; - }; + UpdateAutoTopoffSettings: { requestBody: { content: { - "application/json": { - userDefinedId: string; + "application/json": components["schemas"]["UpdateAutoTopoffSettingsRequest"]; + }; + }; + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["AutoTopoffSettings"]; }; }; }; + }; + DisableAutoTopoff: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": { + success: boolean; + }; }; }; }; }; - EditPromptVersionLabel: { - parameters: { - path: { - promptVersionId: string; + GetPaymentMethods: { + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["PaymentMethod"][]; + }; }; }; + }; + CreateSetupSession: { requestBody: { content: { - "application/json": components["schemas"]["PromptEditSubversionLabelParams"]; + "application/json": components["schemas"]["CreateSetupSessionRequest"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__metadata-Record_string.any__.string_"]; + "application/json": { + setupUrl: string; + }; }; }; }; }; - EditPromptVersionTemplate: { + RemovePaymentMethod: { parameters: { path: { - promptVersionId: string; + paymentMethodId: string; }; }; - requestBody: { - content: { - "application/json": components["schemas"]["PromptEditSubversionTemplateParams"]; + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": { + success: boolean; + }; + }; }; }; + }; + GetUsageStats: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["UsageStatsResponse"] | null; }; }; }; }; - CreateSubversionFromUi: { - parameters: { - path: { - promptVersionId: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["PromptCreateSubversionParams"]; - }; - }; + GetOrganizations: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_PromptVersionResult.string_"]; + "application/json": components["schemas"]["Result__40_Database-at-public_91_Tables_93_-at-organization_91_Row_93_-and-_role-string__41_-Array.string_"]; }; }; }; }; - CreateSubversion: { - parameters: { - path: { - promptVersionId: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["PromptCreateSubversionParams"]; - }; - }; + GetModels: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_PromptVersionResult.string_"]; + "application/json": components["schemas"]["Result__model-string_-Array.string_"]; }; }; }; }; - PromotePromptVersionToProduction: { + GetOrganization: { parameters: { path: { - promptVersionId: string; - }; - }; - requestBody: { - content: { - "application/json": { - previousProductionVersionId: string; - }; + organizationId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_PromptVersionResult.string_"]; + "application/json": components["schemas"]["Result_Database-at-public_91_Tables_93_-at-organization_91_Row_93_.string_"]; }; }; }; }; - GetInputs: { + GetReseller: { parameters: { path: { - promptVersionId: string; - }; - }; - requestBody: { - content: { - "application/json": { - random?: boolean; - /** Format: double */ - limit: number; - }; + resellerId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_PromptInputRecord-Array.string_"]; + "application/json": components["schemas"]["ResultSuccess_unknown_"] | components["schemas"]["ResultError_unknown_"]; }; }; }; }; - GetPromptExperiments: { - parameters: { - path: { - promptId: string; - }; - }; + AcceptTerms: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array.string_"]; + "application/json": components["schemas"]["Result_null.string_"]; }; }; }; }; - GetPromptVersions: { - parameters: { - path: { - promptId: string; - }; - }; + CreateNewOrganization: { requestBody: { content: { - "application/json": components["schemas"]["PromptVersionsQueryParams"]; + "application/json": components["schemas"]["NewOrganizationParams"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_PromptVersionResult-Array.string_"]; + "application/json": components["schemas"]["Result_string.string_"]; }; }; }; }; - GetPromptVersion: { + UpdateOrganization: { parameters: { path: { - promptVersionId: string; + organizationId: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["UpdateOrganizationParams"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_PromptVersionResult.string_"]; + "application/json": components["schemas"]["Result_null.string_"]; }; }; }; }; - DeletePromptVersion: { - parameters: { - path: { - experimentId: string; - promptVersionId: string; + OnboardOrganization: { + requestBody: { + content: { + "application/json": Record; }; }; responses: { @@ -18997,77 +16290,64 @@ export interface operations { }; }; }; - GetPromptVersionsCompiled: { + AddMemberToOrganization: { parameters: { path: { - user_defined_id: string; + organizationId: string; }; }; requestBody: { content: { - "application/json": components["schemas"]["PromptVersiosQueryParamsCompiled"]; + "application/json": { + email: string; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_PromptVersionResultCompiled.string_"]; + "application/json": components["schemas"]["Result__temporaryPassword_63_-string_-or-null.string_"]; }; }; }; }; - GetPromptVersionTemplates: { + CreateOrganizationFilter: { parameters: { path: { - user_defined_id: string; + organizationId: string; }; }; requestBody: { content: { - "application/json": components["schemas"]["PromptVersiosQueryParamsCompiled"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptVersionResultFilled.string_"]; + "application/json": { + /** @enum {string} */ + filterType: "dashboard" | "requests"; + filters: components["schemas"]["OrganizationFilter"][]; }; }; }; - }; - CreateEmptyExperiment: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__experimentId-string_.string_"]; + "application/json": components["schemas"]["Result_null.string_"]; }; }; }; }; - CreateExperimentFromRequest: { + UpdateOrganizationFilter: { parameters: { path: { - requestId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__experimentId-string_.string_"]; - }; + organizationId: string; }; }; - }; - CreateNewExperiment: { requestBody: { content: { "application/json": { - originalPromptVersion: string; - name: string; + /** @enum {string} */ + filterType: "dashboard" | "requests"; + filters: components["schemas"]["OrganizationFilter"][]; }; }; }; @@ -19075,136 +16355,133 @@ export interface operations { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__experimentId-string_.string_"]; + "application/json": components["schemas"]["Result_null.string_"]; }; }; }; }; - GetExperiments: { + DeleteOrganization: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ExperimentV2-Array.string_"]; + "application/json": components["schemas"]["Result_null.string_"]; }; }; }; }; - GetExperimentById: { + GetOrganizationLayout: { parameters: { + query: { + filterType: string; + }; path: { - experimentId: string; + organizationId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ExtendedExperimentData.string_"]; + "application/json": components["schemas"]["Result_OrganizationLayout.string_"]; }; }; }; }; - DeleteExperiment: { + GetOrganizationMembers: { parameters: { path: { - experimentId: string; + organizationId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result_OrganizationMember-Array.string_"]; }; }; }; }; - CreateNewPromptVersionForExperiment: { + UpdateOrganizationMember: { parameters: { path: { - experimentId: string; + organizationId: string; }; }; requestBody: { content: { - "application/json": components["schemas"]["CreateNewPromptVersionForExperimentParams"]; + "application/json": { + memberId: string; + role: string; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_PromptVersionResult.string_"]; + "application/json": components["schemas"]["Result_null.string_"]; }; }; }; }; - GetPromptVersionsForExperiment: { + UpdateOrganizationOwner: { parameters: { path: { - experimentId: string; + organizationId: string; + }; + }; + requestBody: { + content: { + "application/json": { + memberId: string; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ExperimentV2PromptVersion-Array.string_"]; + "application/json": components["schemas"]["Result_null.string_"]; }; }; }; }; - GetInputKeysForExperiment: { + GetOrganizationOwner: { parameters: { path: { - experimentId: string; + organizationId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_string-Array.string_"]; + "application/json": components["schemas"]["Result_OrganizationOwner-Array.string_"]; }; }; }; }; - AddManualRowToExperiment: { + RemoveMemberFromOrganization: { parameters: { - path: { - experimentId: string; + query: { + memberId: string; }; - }; - requestBody: { - content: { - "application/json": { - inputs: components["schemas"]["Record_string.string_"]; - }; + path: { + organizationId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_string.string_"]; + "application/json": components["schemas"]["Result_null.string_"]; }; }; }; }; - AddManualRowsToExperimentBatch: { - parameters: { - path: { - experimentId: string; - }; - }; - requestBody: { - content: { - "application/json": { - inputs: components["schemas"]["Record_string.string_"][]; - }; - }; - }; + SetupDemo: { responses: { /** @description Ok */ 200: { @@ -19214,16 +16491,12 @@ export interface operations { }; }; }; - DeleteExperimentTableRows: { - parameters: { - path: { - experimentId: string; - }; - }; + UpdateOnboardingStatus: { requestBody: { content: { "application/json": { - inputRecordIds: string[]; + name: string; + onboarding_status: components["schemas"]["OnboardingStatus"]; }; }; }; @@ -19236,120 +16509,110 @@ export interface operations { }; }; }; - CreateExperimentTableRowBatch: { - parameters: { - path: { - experimentId: string; - }; - }; + CreateEvaluator: { requestBody: { content: { - "application/json": { - rows: { - autoInputs: unknown[]; - inputs: components["schemas"]["Record_string.string_"]; - inputRecordId: string; - }[]; - }; + "application/json": components["schemas"]["CreateEvaluatorParams"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result_EvaluatorResult.string_"]; }; }; }; }; - CreateExperimentTableRowFromDataset: { + GetEvaluator: { parameters: { path: { - experimentId: string; - datasetId: string; + evaluatorId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result_EvaluatorResult.string_"]; }; }; }; }; - UpdateExperimentTableRow: { + UpdateEvaluator: { parameters: { path: { - experimentId: string; + evaluatorId: string; }; }; requestBody: { content: { - "application/json": { - inputs: components["schemas"]["Record_string.string_"]; - inputRecordId: string; - }; + "application/json": components["schemas"]["UpdateEvaluatorParams"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result_EvaluatorResult.string_"]; }; }; }; }; - RunHypothesis: { + DeleteEvaluator: { parameters: { path: { - experimentId: string; + evaluatorId: string; }; }; + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["Result_null.string_"]; + }; + }; + }; + }; + QueryEvaluators: { requestBody: { content: { - "application/json": { - inputRecordId: string; - promptVersionId: string; - }; + "application/json": Record; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_string.string_"]; + "application/json": components["schemas"]["Result_EvaluatorResult-Array.string_"]; }; }; }; }; - GetExperimentEvaluators: { + GetOnlineEvaluators: { parameters: { path: { - experimentId: string; + evaluatorId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_EvaluatorResult-Array.string_"]; + "application/json": components["schemas"]["Result_OnlineEvaluatorByEvaluatorId-Array.string_"]; }; }; }; }; - CreateExperimentEvaluator: { + CreateOnlineEvaluator: { parameters: { path: { - experimentId: string; + evaluatorId: string; }; }; requestBody: { content: { - "application/json": { - evaluatorId: string; - }; + "application/json": components["schemas"]["CreateOnlineEvaluatorParams"]; }; }; responses: { @@ -19361,11 +16624,11 @@ export interface operations { }; }; }; - DeleteExperimentEvaluator: { + DeleteOnlineEvaluator: { parameters: { path: { - experimentId: string; evaluatorId: string; + onlineEvaluatorId: string; }; }; responses: { @@ -19377,65 +16640,72 @@ export interface operations { }; }; }; - RunExperimentEvaluators: { - parameters: { - path: { - experimentId: string; + TestPythonEvaluator: { + requestBody: { + content: { + "application/json": { + testInput: components["schemas"]["TestInput"]; + code: string; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result__output-string--traces-string-Array--statusCode_63_-number_.string_"]; }; }; }; }; - ShouldRunEvaluators: { - parameters: { - path: { - experimentId: string; + TestLLMEvaluator: { + requestBody: { + content: { + "application/json": { + evaluatorName: string; + testInput: components["schemas"]["TestInput"]; + evaluatorConfig: components["schemas"]["EvaluatorConfig"]; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_boolean.string_"]; + "application/json": components["schemas"]["EvaluatorScoreResult"]; }; }; }; }; - GetExperimentPromptVersionScores: { - parameters: { - path: { - experimentId: string; - promptVersionId: string; + TestLastMileEvaluator: { + requestBody: { + content: { + "application/json": { + testInput: components["schemas"]["TestInput"]; + config: components["schemas"]["LastMileConfigForm"]; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_Record_string.ScoreV2_.string_"]; + "application/json": components["schemas"]["Result__score-number--input-string--output-string--ground_truth_63_-string_.string_"]; }; }; }; }; - GetExperimentScore: { + GetEvaluatorStats: { parameters: { path: { - experimentId: string; - requestId: string; - scoreKey: string; + evaluatorId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ScoreV2-or-null.string_"]; + "application/json": components["schemas"]["Result_EvaluatorStats.string_"]; }; }; }; @@ -21497,6 +18767,13 @@ export interface operations { }; }; }; + /** + * @description Dead endpoint. The route stays registered so existing callers keep getting + * the same response, but the implementation is gone: it shelled out to + * ffmpeg with input options built from request-derived values, which was an + * argument-injection sink. Do not reintroduce it -- if WAV conversion is + * needed again, build it on a library that does not take a command line. + */ ConvertToWav: { requestBody: { content: { diff --git a/web/lib/clients/jawnTypes/public.ts b/web/lib/clients/jawnTypes/public.ts index 91d39a0f0f..0174df6644 100644 --- a/web/lib/clients/jawnTypes/public.ts +++ b/web/lib/clients/jawnTypes/public.ts @@ -42,9 +42,6 @@ export interface paths { "/v1/evaluator/query": { post: operations["QueryEvaluators"]; }; - "/v1/evaluator/{evaluatorId}/experiments": { - get: operations["GetExperimentsForEvaluator"]; - }; "/v1/evaluator/{evaluatorId}/onlineEvaluators": { get: operations["GetOnlineEvaluators"]; post: operations["CreateOnlineEvaluator"]; @@ -64,242 +61,24 @@ export interface paths { "/v1/evaluator/{evaluatorId}/stats": { get: operations["GetEvaluatorStats"]; }; - "/v1/prompt-2025/id/{promptId}": { - get: operations["GetPrompt2025"]; - }; - "/v1/prompt-2025/id/{promptId}/rename": { - post: operations["RenamePrompt2025"]; - }; - "/v1/prompt-2025/id/{promptId}/tags": { - patch: operations["UpdatePrompt2025Tags"]; - }; - "/v1/prompt-2025/{promptId}": { - delete: operations["DeletePrompt2025"]; - }; - "/v1/prompt-2025/{promptId}/{versionId}": { - delete: operations["DeletePrompt2025Version"]; - }; - "/v1/prompt-2025/id/{promptId}/{versionId}/inputs": { - get: operations["GetPrompt2025Inputs"]; - }; - "/v1/prompt-2025/tags": { - get: operations["GetPrompt2025Tags"]; - }; - "/v1/prompt-2025/environments": { - get: operations["GetPrompt2025Environments"]; - }; - "/v1/prompt-2025": { - post: operations["CreatePrompt2025"]; - }; - "/v1/prompt-2025/update": { - post: operations["UpdatePrompt2025"]; - }; - "/v1/prompt-2025/update/environment": { - post: operations["SetPromptVersionEnvironment"]; - }; - "/v1/prompt-2025/remove/environment": { - post: operations["RemoveEnvironmentFromVersion"]; - }; - "/v1/prompt-2025/count": { - get: operations["GetPrompt2025Count"]; - }; - "/v1/prompt-2025/query": { - post: operations["GetPrompts2025"]; - }; - "/v1/prompt-2025/query/version": { - post: operations["GetPrompt2025Version"]; - }; - "/v1/prompt-2025/query/environment-version": { - post: operations["GetPrompt2025EnvironmentVersion"]; - }; - "/v1/prompt-2025/query/versions": { - post: operations["GetPrompt2025Versions"]; - }; - "/v1/prompt-2025/query/production-version": { - post: operations["GetPrompt2025ProductionVersion"]; - }; - "/v1/prompt-2025/query/total-versions": { - post: operations["GetPrompt2025TotalVersions"]; - }; - "/v1/prompt-2025/{promptVersionId}/prompt-body": { - /** @description Get the full prompt body (messages, tools, etc.) for a specific prompt version. */ - get: operations["GetPrompt2025VersionBody"]; - }; - "/v2/prompt-2025/query/version": { - post: operations["GetPrompt2025Version"]; - }; - "/v2/prompt-2025/query/environment-version": { - post: operations["GetPrompt2025EnvironmentVersion"]; - }; - "/v2/prompt-2025/query/production-version": { - post: operations["GetPrompt2025ProductionVersion"]; - }; - "/v1/prompt/has-prompts": { - get: operations["HasPrompts"]; - }; - "/v1/prompt/query": { - post: operations["GetPrompts"]; - }; - "/v1/prompt/{promptId}/query": { - post: operations["GetPrompt"]; - }; - "/v1/prompt/{promptId}": { - delete: operations["DeletePrompt"]; - }; - "/v1/prompt/create": { - post: operations["CreatePrompt"]; - }; - "/v1/prompt/{promptId}/user-defined-id": { - patch: operations["UpdatePromptUserDefinedId"]; - }; - "/v1/prompt/version/{promptVersionId}/edit-label": { - post: operations["EditPromptVersionLabel"]; - }; - "/v1/prompt/version/{promptVersionId}/edit-template": { - post: operations["EditPromptVersionTemplate"]; - }; - "/v1/prompt/version/{promptVersionId}/subversion-from-ui": { - post: operations["CreateSubversionFromUi"]; - }; - "/v1/prompt/version/{promptVersionId}/subversion": { - post: operations["CreateSubversion"]; - }; - "/v1/prompt/version/{promptVersionId}/promote": { - post: operations["PromotePromptVersionToProduction"]; - }; - "/v1/prompt/version/{promptVersionId}/inputs/query": { - post: operations["GetInputs"]; - }; - "/v1/prompt/{promptId}/experiments": { - get: operations["GetPromptExperiments"]; - }; - "/v1/prompt/{promptId}/versions/query": { - post: operations["GetPromptVersions"]; - }; - "/v1/prompt/version/{promptVersionId}": { - get: operations["GetPromptVersion"]; - delete: operations["DeletePromptVersion"]; - }; - "/v1/prompt/{user_defined_id}/compile": { - post: operations["GetPromptVersionsCompiled"]; - }; - "/v1/prompt/{user_defined_id}/template": { - post: operations["GetPromptVersionTemplates"]; - }; - "/v2/experiment/create/empty": { - post: operations["CreateEmptyExperiment"]; - }; - "/v2/experiment/create/from-request/{requestId}": { - post: operations["CreateExperimentFromRequest"]; - }; - "/v2/experiment/new": { - post: operations["CreateNewExperiment"]; - }; - "/v2/experiment": { - get: operations["GetExperiments"]; - }; - "/v2/experiment/{experimentId}": { - get: operations["GetExperimentById"]; - delete: operations["DeleteExperiment"]; - }; - "/v2/experiment/{experimentId}/prompt-version": { - post: operations["CreateNewPromptVersionForExperiment"]; - }; - "/v2/experiment/{experimentId}/prompt-version/{promptVersionId}": { - delete: operations["DeletePromptVersion"]; - }; - "/v2/experiment/{experimentId}/prompt-versions": { - get: operations["GetPromptVersionsForExperiment"]; - }; - "/v2/experiment/{experimentId}/input-keys": { - get: operations["GetInputKeysForExperiment"]; - }; - "/v2/experiment/{experimentId}/add-manual-row": { - post: operations["AddManualRowToExperiment"]; - }; - "/v2/experiment/{experimentId}/add-manual-rows-batch": { - post: operations["AddManualRowsToExperimentBatch"]; - }; - "/v2/experiment/{experimentId}/rows": { - delete: operations["DeleteExperimentTableRows"]; - }; - "/v2/experiment/{experimentId}/row/insert/batch": { - post: operations["CreateExperimentTableRowBatch"]; - }; - "/v2/experiment/{experimentId}/row/insert/dataset/{datasetId}": { - post: operations["CreateExperimentTableRowFromDataset"]; - }; - "/v2/experiment/{experimentId}/row/update": { - post: operations["UpdateExperimentTableRow"]; - }; - "/v2/experiment/{experimentId}/run-hypothesis": { - post: operations["RunHypothesis"]; - }; - "/v2/experiment/{experimentId}/evaluators": { - get: operations["GetExperimentEvaluators"]; - post: operations["CreateExperimentEvaluator"]; - }; - "/v2/experiment/{experimentId}/evaluators/{evaluatorId}": { - delete: operations["DeleteExperimentEvaluator"]; - }; - "/v2/experiment/{experimentId}/evaluators/run": { - post: operations["RunExperimentEvaluators"]; - }; - "/v2/experiment/{experimentId}/should-run-evaluators": { - get: operations["ShouldRunEvaluators"]; - }; - "/v2/experiment/{experimentId}/{promptVersionId}/scores": { - get: operations["GetExperimentPromptVersionScores"]; - }; - "/v2/experiment/{experimentId}/{requestId}/{scoreKey}": { - get: operations["GetExperimentScore"]; - }; - "/v1/stripe/subscription/cost-for-prompts": { - get: operations["GetCostForPrompts"]; - }; - "/v1/stripe/subscription/cost-for-evals": { - get: operations["GetCostForEvals"]; - }; - "/v1/stripe/subscription/cost-for-experiments": { - get: operations["GetCostForExperiments"]; - }; "/v1/stripe/subscription/free/usage": { get: operations["GetFreeUsage"]; }; "/v1/stripe/cloud/checkout-session": { post: operations["CreateCloudGatewayCheckoutSession"]; }; - "/v1/stripe/subscription/new-customer/upgrade-to-pro": { - post: operations["UpgradeToPro"]; - }; - "/v1/stripe/subscription/existing-customer/upgrade-to-pro": { - post: operations["UpgradeExistingCustomer"]; - }; - "/v1/stripe/subscription/new-customer/upgrade-to-team-bundle": { - post: operations["UpgradeToTeamBundle"]; - }; - "/v1/stripe/subscription/existing-customer/upgrade-to-team-bundle": { - post: operations["UpgradeExistingCustomerToTeamBundle"]; - }; "/v1/stripe/subscription/manage-subscription": { post: operations["ManageSubscription"]; }; "/v1/stripe/subscription/undo-cancel-subscription": { post: operations["UndoCancelSubscription"]; }; - "/v1/stripe/subscription/add-ons/{productType}": { - post: operations["AddOns"]; - delete: operations["DeleteAddOns"]; - }; "/v1/stripe/subscription/preview-invoice": { get: operations["PreviewInvoice"]; }; "/v1/stripe/subscription/cancel-subscription": { post: operations["CancelSubscription"]; }; - "/v1/stripe/subscription/migrate-to-pro": { - post: operations["MigrateToPro"]; - }; "/v1/stripe/payment-intents/search": { get: operations["SearchPaymentIntents"]; }; @@ -480,84 +259,203 @@ export interface paths { "/v1/property/{propertyKey}/top-requests/query": { post: operations["GetTopRequests"]; }; - "/v1/playground/generate": { - post: operations["Generate"]; + "/v1/prompt-2025/id/{promptId}": { + get: operations["GetPrompt2025"]; }; - "/v1/playground/requests-through-helicone": { - get: operations["GetRequestsThroughHelicone"]; - post: operations["RequestsThroughHelicone"]; + "/v1/prompt-2025/id/{promptId}/rename": { + post: operations["RenamePrompt2025"]; }; - "/v1/public/pi/get-api-key": { - post: operations["GetApiKey"]; + "/v1/prompt-2025/id/{promptId}/tags": { + patch: operations["UpdatePrompt2025Tags"]; }; - "/v1/pi/session": { - post: operations["AddSession"]; + "/v1/prompt-2025/{promptId}": { + delete: operations["DeletePrompt2025"]; }; - "/v1/pi/org-name/query": { - post: operations["GetOrgName"]; + "/v1/prompt-2025/{promptId}/{versionId}": { + delete: operations["DeletePrompt2025Version"]; }; - "/v1/pi/total-costs": { - post: operations["GetTotalCosts"]; + "/v1/prompt-2025/id/{promptId}/{versionId}/inputs": { + get: operations["GetPrompt2025Inputs"]; }; - "/v1/pi/total_requests": { - post: operations["PiGetTotalRequests"]; + "/v1/prompt-2025/tags": { + get: operations["GetPrompt2025Tags"]; }; - "/v1/pi/costs-over-time/query": { - post: operations["GetCostsOverTime"]; + "/v1/prompt-2025/environments": { + get: operations["GetPrompt2025Environments"]; }; - "/v1/public/model-registry/models": { - /** - * Returns a comprehensive list of all AI models with their configurations, pricing, and capabilities - * @description Get all available models from the registry - */ - get: operations["GetModelRegistry"]; + "/v1/prompt-2025": { + post: operations["CreatePrompt2025"]; }; - "/v1/models": { - get: operations["GetModels"]; + "/v1/prompt-2025/update": { + post: operations["UpdatePrompt2025"]; }; - "/v1/models/multimodal": { - get: operations["GetMultimodalModels"]; + "/v1/prompt-2025/update/environment": { + post: operations["SetPromptVersionEnvironment"]; }; - "/v1/public/compare/models": { - post: operations["GetModelComparison"]; + "/v1/prompt-2025/remove/environment": { + post: operations["RemoveEnvironmentFromVersion"]; }; - "/v1/metrics/totalRequests": { - post: operations["GetTotalRequests"]; + "/v1/prompt-2025/count": { + get: operations["GetPrompt2025Count"]; }; - "/v1/metrics/totalCost": { - post: operations["GetTotalCost"]; + "/v1/prompt-2025/query": { + post: operations["GetPrompts2025"]; }; - "/v1/metrics/averageLatency": { - post: operations["GetAverageLatency"]; + "/v1/prompt-2025/query/version": { + post: operations["GetPrompt2025Version"]; }; - "/v1/metrics/averageTimeToFirstToken": { - post: operations["GetAverageTimeToFirstToken"]; + "/v1/prompt-2025/query/environment-version": { + post: operations["GetPrompt2025EnvironmentVersion"]; }; - "/v1/metrics/averageTokensPerRequest": { - post: operations["GetAverageTokensPerRequest"]; + "/v1/prompt-2025/query/versions": { + post: operations["GetPrompt2025Versions"]; }; - "/v1/metrics/totalThreats": { - post: operations["GetTotalThreats"]; + "/v1/prompt-2025/query/production-version": { + post: operations["GetPrompt2025ProductionVersion"]; }; - "/v1/metrics/activeUsers": { - post: operations["GetActiveUsers"]; + "/v1/prompt-2025/query/total-versions": { + post: operations["GetPrompt2025TotalVersions"]; }; - "/v1/metrics/requestOverTime": { - post: operations["GetRequestsOverTime"]; + "/v1/prompt-2025/{promptVersionId}/prompt-body": { + /** @description Get the full prompt body (messages, tools, etc.) for a specific prompt version. */ + get: operations["GetPrompt2025VersionBody"]; }; - "/v1/metrics/costOverTime": { - post: operations["GetCostOverTime"]; + "/v2/prompt-2025/query/version": { + post: operations["GetPrompt2025Version"]; }; - "/v1/metrics/tokensOverTime": { - post: operations["GetTokensOverTime"]; + "/v2/prompt-2025/query/environment-version": { + post: operations["GetPrompt2025EnvironmentVersion"]; }; - "/v1/metrics/latencyOverTime": { - post: operations["GetLatencyOverTime"]; + "/v2/prompt-2025/query/production-version": { + post: operations["GetPrompt2025ProductionVersion"]; }; - "/v1/metrics/timeToFirstToken": { - post: operations["GetTimeToFirstTokenOverTime"]; + "/v1/prompt/has-prompts": { + get: operations["HasPrompts"]; }; - "/v1/metrics/usersOverTime": { + "/v1/prompt/query": { + post: operations["GetPrompts"]; + }; + "/v1/prompt/{promptId}/query": { + post: operations["GetPrompt"]; + }; + "/v1/prompt/{promptId}": { + delete: operations["DeletePrompt"]; + }; + "/v1/prompt/create": { + post: operations["CreatePrompt"]; + }; + "/v1/prompt/{promptId}/user-defined-id": { + patch: operations["UpdatePromptUserDefinedId"]; + }; + "/v1/prompt/version/{promptVersionId}/edit-label": { + post: operations["EditPromptVersionLabel"]; + }; + "/v1/prompt/version/{promptVersionId}/edit-template": { + post: operations["EditPromptVersionTemplate"]; + }; + "/v1/prompt/version/{promptVersionId}/subversion-from-ui": { + post: operations["CreateSubversionFromUi"]; + }; + "/v1/prompt/version/{promptVersionId}/subversion": { + post: operations["CreateSubversion"]; + }; + "/v1/prompt/version/{promptVersionId}/promote": { + post: operations["PromotePromptVersionToProduction"]; + }; + "/v1/prompt/version/{promptVersionId}/inputs/query": { + post: operations["GetInputs"]; + }; + "/v1/prompt/{promptId}/versions/query": { + post: operations["GetPromptVersions"]; + }; + "/v1/prompt/version/{promptVersionId}": { + get: operations["GetPromptVersion"]; + delete: operations["DeletePromptVersion"]; + }; + "/v1/prompt/{user_defined_id}/compile": { + post: operations["GetPromptVersionsCompiled"]; + }; + "/v1/prompt/{user_defined_id}/template": { + post: operations["GetPromptVersionTemplates"]; + }; + "/v1/playground/generate": { + post: operations["Generate"]; + }; + "/v1/playground/requests-through-helicone": { + get: operations["GetRequestsThroughHelicone"]; + post: operations["RequestsThroughHelicone"]; + }; + "/v1/public/pi/get-api-key": { + post: operations["GetApiKey"]; + }; + "/v1/pi/session": { + post: operations["AddSession"]; + }; + "/v1/pi/org-name/query": { + post: operations["GetOrgName"]; + }; + "/v1/pi/total-costs": { + post: operations["GetTotalCosts"]; + }; + "/v1/pi/total_requests": { + post: operations["PiGetTotalRequests"]; + }; + "/v1/pi/costs-over-time/query": { + post: operations["GetCostsOverTime"]; + }; + "/v1/public/model-registry/models": { + /** + * Returns a comprehensive list of all AI models with their configurations, pricing, and capabilities + * @description Get all available models from the registry + */ + get: operations["GetModelRegistry"]; + }; + "/v1/models": { + get: operations["GetModels"]; + }; + "/v1/models/multimodal": { + get: operations["GetMultimodalModels"]; + }; + "/v1/public/compare/models": { + post: operations["GetModelComparison"]; + }; + "/v1/metrics/totalRequests": { + post: operations["GetTotalRequests"]; + }; + "/v1/metrics/totalCost": { + post: operations["GetTotalCost"]; + }; + "/v1/metrics/averageLatency": { + post: operations["GetAverageLatency"]; + }; + "/v1/metrics/averageTimeToFirstToken": { + post: operations["GetAverageTimeToFirstToken"]; + }; + "/v1/metrics/averageTokensPerRequest": { + post: operations["GetAverageTokensPerRequest"]; + }; + "/v1/metrics/totalThreats": { + post: operations["GetTotalThreats"]; + }; + "/v1/metrics/activeUsers": { + post: operations["GetActiveUsers"]; + }; + "/v1/metrics/requestOverTime": { + post: operations["GetRequestsOverTime"]; + }; + "/v1/metrics/costOverTime": { + post: operations["GetCostOverTime"]; + }; + "/v1/metrics/tokensOverTime": { + post: operations["GetTokensOverTime"]; + }; + "/v1/metrics/latencyOverTime": { + post: operations["GetLatencyOverTime"]; + }; + "/v1/metrics/timeToFirstToken": { + post: operations["GetTimeToFirstTokenOverTime"]; + }; + "/v1/metrics/usersOverTime": { post: operations["GetUsersOverTime"]; }; "/v1/metrics/threatsOverTime": { @@ -643,83 +541,6 @@ export interface paths { */ post: operations["CreateSavedQuery"]; }; - "/v1/experiment/new-empty": { - post: operations["CreateNewEmptyExperiment"]; - }; - "/v1/experiment/table/new": { - post: operations["CreateNewExperimentTable"]; - }; - "/v1/experiment/table/{experimentTableId}/query": { - post: operations["GetExperimentTableById"]; - }; - "/v1/experiment/table/{experimentTableId}/metadata/query": { - post: operations["GetExperimentTableMetadata"]; - }; - "/v1/experiment/tables/query": { - post: operations["GetExperimentTables"]; - }; - "/v1/experiment/table/{experimentTableId}/cell": { - post: operations["CreateExperimentCell"]; - patch: operations["UpdateExperimentCell"]; - }; - "/v1/experiment/table/{experimentTableId}/column": { - post: operations["CreateExperimentColumn"]; - }; - "/v1/experiment/table/{experimentTableId}/row/new": { - post: operations["CreateExperimentTableRow"]; - }; - "/v1/experiment/table/{experimentTableId}/row/{rowIndex}": { - delete: operations["DeleteExperimentTableRow"]; - }; - "/v1/experiment/table/{experimentTableId}/row/insert/batch": { - post: operations["CreateExperimentTableRowWithCellsBatch"]; - }; - "/v1/experiment/update-meta": { - post: operations["UpdateExperimentMeta"]; - }; - "/v1/experiment": { - post: operations["CreateNewExperimentOld"]; - }; - "/v1/experiment/hypothesis": { - post: operations["CreateNewExperimentHypothesis"]; - }; - "/v1/experiment/hypothesis/{hypothesisId}/scores/query": { - post: operations["GetExperimentHypothesisScores"]; - }; - "/v1/experiment/{experimentId}/evaluators": { - get: operations["GetExperimentEvaluators"]; - post: operations["CreateExperimentEvaluatorOld"]; - }; - "/v1/experiment/{experimentId}/evaluators/run": { - post: operations["RunExperimentEvaluatorsOld"]; - }; - "/v1/experiment/{experimentId}/evaluators/{evaluatorId}": { - delete: operations["DeleteExperimentEvaluatorOld"]; - }; - "/v1/experiment/query": { - post: operations["GetExperimentsOld"]; - }; - "/v1/experiment/dataset": { - post: operations["AddDataset"]; - }; - "/v1/experiment/dataset/random": { - post: operations["AddRandomDataset"]; - }; - "/v1/experiment/dataset/query": { - post: operations["GetDatasets"]; - }; - "/v1/experiment/dataset/{datasetId}/row/insert": { - post: operations["InsertDatasetRow"]; - }; - "/v1/experiment/dataset/{datasetId}/version/{promptVersionId}/row/new": { - post: operations["CreateDatasetRow"]; - }; - "/v1/experiment/dataset/{datasetId}/inputs/query": { - post: operations["GetDataset"]; - }; - "/v1/experiment/dataset/{datasetId}/mutate": { - post: operations["MutateDataset"]; - }; "/v1/helicone-dataset": { post: operations["AddHeliconeDataset"]; }; @@ -929,17 +750,6 @@ export interface components { error: null; }; "Result_null.string_": components["schemas"]["ResultSuccess_null_"] | components["schemas"]["ResultError_string_"]; - EvaluatorExperiment: { - experiment_name: string; - experiment_created_at: string; - experiment_id: string; - }; - "ResultSuccess_EvaluatorExperiment-Array_": { - data: components["schemas"]["EvaluatorExperiment"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_EvaluatorExperiment-Array.string_": components["schemas"]["ResultSuccess_EvaluatorExperiment-Array_"] | components["schemas"]["ResultError_string_"]; OnlineEvaluatorByEvaluatorId: { config: unknown; id: string; @@ -1055,134 +865,119 @@ export interface components { error: null; }; "Result_EvaluatorStats.string_": components["schemas"]["ResultSuccess_EvaluatorStats_"] | components["schemas"]["ResultError_string_"]; - Prompt2025: { - id: string; - name: string; - tags: string[]; - created_at: string; + CreateCloudGatewayCheckoutSessionRequest: { + /** Format: double */ + amount: number; + returnUrl?: string; }; - ResultSuccess_Prompt2025_: { - data: components["schemas"]["Prompt2025"]; - /** @enum {number|null} */ - error: null; + LLMUsage: { + model: string; + provider: string; + /** Format: double */ + prompt_tokens: number; + /** Format: double */ + completion_tokens: number; + /** Format: double */ + total_count: number; + /** Format: double */ + amount: number; + description: string; + totalCost: { + /** Format: double */ + prompt_token: number; + /** Format: double */ + completion_token: number; + }; }; - "Result_Prompt2025.string_": components["schemas"]["ResultSuccess_Prompt2025_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_string-Array_": { - data: string[]; - /** @enum {number|null} */ - error: null; + PaymentIntentRecord: { + id: string; + /** Format: double */ + amount: number; + /** Format: double */ + created: number; + status: string; + isRefunded?: boolean; + /** Format: double */ + refundedAmount?: number; + refundIds?: string[]; }; - "Result_string-Array.string_": components["schemas"]["ResultSuccess_string-Array_"] | components["schemas"]["ResultError_string_"]; - Prompt2025Input: { - request_id: string; - version_id: string; - inputs: components["schemas"]["Record_string.any_"]; + StripePaymentIntentsResponse: { + data: components["schemas"]["PaymentIntentRecord"][]; + has_more: boolean; + next_page: string | null; + /** Format: double */ + count: number; }; - ResultSuccess_Prompt2025Input_: { - data: components["schemas"]["Prompt2025Input"]; - /** @enum {number|null} */ - error: null; + AutoTopoffSettings: { + enabled: boolean; + /** Format: double */ + thresholdCents: number; + /** Format: double */ + topoffAmountCents: number; + stripePaymentMethodId: string | null; + lastTopoffAt: string | null; + /** Format: double */ + consecutiveFailures: number; }; - "Result_Prompt2025Input.string_": components["schemas"]["ResultSuccess_Prompt2025Input_"] | components["schemas"]["ResultError_string_"]; - PromptCreateResponse: { - id: string; - versionId: string; + UpdateAutoTopoffSettingsRequest: { + enabled: boolean; + /** Format: double */ + thresholdCents: number; + /** Format: double */ + topoffAmountCents: number; + stripePaymentMethodId: string; }; - ResultSuccess_PromptCreateResponse_: { - data: components["schemas"]["PromptCreateResponse"]; - /** @enum {number|null} */ - error: null; + PaymentMethod: { + id: string; + brand: string; + last4: string; + /** Format: double */ + exp_month: number; + /** Format: double */ + exp_year: number; }; - "Result_PromptCreateResponse.string_": components["schemas"]["ResultSuccess_PromptCreateResponse_"] | components["schemas"]["ResultError_string_"]; - /** @description Construct a type with a set of properties K of type T */ - "Record_string.number_": { - [key: string]: number; + CreateSetupSessionRequest: { + returnUrl?: string; }; - /** @description Simplified interface for the OpenAI Chat request format */ - OpenAIChatRequest: { - model?: string; - messages?: ({ - tool_calls?: { - /** @enum {string} */ - type: "function"; - function: { - arguments: string; - name: string; - }; - id: string; - }[]; - tool_call_id?: string; - name?: string; - content: (string | { - image_url?: { - url: string; - }; - text?: string; - type: string; - }[]) | null; - role: string; - })[]; - /** Format: double */ - temperature?: number; - /** Format: double */ - top_p?: number; - /** Format: double */ - max_tokens?: number; - /** Format: double */ - max_completion_tokens?: number; - stream?: boolean; - stop?: string[] | string; - tools?: { - function: { - strict?: boolean; - parameters?: components["schemas"]["Record_string.any_"]; - description?: string; - name: string; - }; - /** @enum {string} */ - type: "function"; - }[]; - tool_choice?: { - function?: { - name: string; - /** @enum {string} */ - type: "function"; - }; - type: string; - } | ("none" | "auto" | "required"); - parallel_tool_calls?: boolean; - /** @enum {string} */ - reasoning_effort?: "minimal" | "low" | "medium" | "high"; - /** @enum {string} */ - verbosity?: "low" | "medium" | "high"; - /** Format: double */ - frequency_penalty?: number; - /** Format: double */ - presence_penalty?: number; - logit_bias?: components["schemas"]["Record_string.number_"]; - logprobs?: boolean; + DailyUsageDataPoint: { + date: string; /** Format: double */ - top_logprobs?: number; + requests: number; /** Format: double */ - n?: number; - modalities?: string[]; - prediction?: unknown; - audio?: unknown; - response_format?: { - json_schema?: unknown; - type: string; + bytes: number; + }; + UsageStatsResponse: { + billingPeriod: { + /** Format: double */ + daysTotal: number; + /** Format: double */ + daysElapsed: number; + end: string; + start: string; }; - /** Format: double */ - seed?: number; - service_tier?: string; - store?: boolean; - stream_options?: unknown; - metadata?: components["schemas"]["Record_string.string_"]; - user?: string; - function_call?: string | { - name: string; + usage: { + /** Format: double */ + totalGB: number; + /** Format: double */ + totalBytes: number; + /** Format: double */ + totalRequests: number; + }; + dailyData: components["schemas"]["DailyUsageDataPoint"][]; + estimatedCost: { + /** Format: double */ + projectedMonthlyTotalCost: number; + /** Format: double */ + projectedMonthlyGBCost: number; + /** Format: double */ + projectedMonthlyRequestsCost: number; + /** Format: double */ + totalCost: number; + /** Format: double */ + gbCost: number; + /** Format: double */ + requestsCost: number; }; - functions?: unknown[]; }; "ResultSuccess__id-string__": { data: { @@ -1192,143 +987,61 @@ export interface components { error: null; }; "Result__id-string_.string_": components["schemas"]["ResultSuccess__id-string__"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_number_: { - /** Format: double */ - data: number; - /** @enum {number|null} */ - error: null; - }; - "Result_number.string_": components["schemas"]["ResultSuccess_number_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_Prompt2025-Array_": { - data: components["schemas"]["Prompt2025"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_Prompt2025-Array.string_": components["schemas"]["ResultSuccess_Prompt2025-Array_"] | components["schemas"]["ResultError_string_"]; - /** @description Construct a type with a set of properties K of type T */ - "Record_string.unknown_": { - [key: string]: unknown; - }; - Prompt2025VersionPromptBody: { - model?: string; - messages?: ({ - tool_calls?: { - /** @enum {string} */ - type: "function"; - function: { - arguments: string; - name: string; - }; - id: string; - }[]; - tool_call_id?: string; - name?: string; - content: (string | { - image_url?: { - url: string; - }; - text?: string; - type: string; - }[]) | null; - role: string; - })[]; - /** Format: double */ - temperature?: number; - /** Format: double */ - top_p?: number; - /** Format: double */ - max_tokens?: number; - tools?: { - function: { - parameters: components["schemas"]["Record_string.unknown_"]; - description: string; - name: string; - }; - /** @enum {string} */ - type: "function"; - }[]; - tool_choice?: string | { - function?: { - name: string; - /** @enum {string} */ - type: "function"; - }; - type: string; - }; - [key: string]: unknown; +Json: JsonObject; + IntegrationCreateParams: { + integration_name: string; + settings?: components["schemas"]["Json"]; + active?: boolean; }; - Prompt2025Version: { + Integration: { + integration_name?: string; + settings?: components["schemas"]["Json"]; + active?: boolean; id: string; - model: string; - prompt_id: string; - /** Format: double */ - major_version: number; - /** Format: double */ - minor_version: number; - commit_message: string; - environments?: string[]; - created_at: string; - s3_url?: string; - /** - * @description The full prompt body including messages. Only included when explicitly requested - * via the `includePromptBody` parameter to avoid unnecessary data transfer. - */ - prompt_body?: components["schemas"]["Prompt2025VersionPromptBody"]; }; - ResultSuccess_Prompt2025Version_: { - data: components["schemas"]["Prompt2025Version"]; + ResultSuccess_Array_Integration__: { + data: components["schemas"]["Integration"][]; /** @enum {number|null} */ error: null; }; - "Result_Prompt2025Version.string_": components["schemas"]["ResultSuccess_Prompt2025Version_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_Prompt2025Version-Array_": { - data: components["schemas"]["Prompt2025Version"][]; + "Result_Array_Integration_.string_": components["schemas"]["ResultSuccess_Array_Integration__"] | components["schemas"]["ResultError_string_"]; + IntegrationUpdateParams: { + integration_name?: string; + settings?: components["schemas"]["Json"]; + active?: boolean; + }; + ResultSuccess_Integration_: { + data: components["schemas"]["Integration"]; /** @enum {number|null} */ error: null; }; - "Result_Prompt2025Version-Array.string_": components["schemas"]["ResultSuccess_Prompt2025Version-Array_"] | components["schemas"]["ResultError_string_"]; - PromptVersionCounts: { - /** Format: double */ - totalVersions: number; - /** Format: double */ - majorVersions: number; - }; - ResultSuccess_PromptVersionCounts_: { - data: components["schemas"]["PromptVersionCounts"]; + "Result_Integration.string_": components["schemas"]["ResultSuccess_Integration_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess_Array__id-string--name-string___": { + data: { + name: string; + id: string; + }[]; /** @enum {number|null} */ error: null; }; - "Result_PromptVersionCounts.string_": components["schemas"]["ResultSuccess_PromptVersionCounts_"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_Prompt2025Version_91_prompt_body_93__: { - data: components["schemas"]["Prompt2025VersionPromptBody"]; + "Result_Array__id-string--name-string__.string_": components["schemas"]["ResultSuccess_Array__id-string--name-string___"] | components["schemas"]["ResultError_string_"]; + ResultSuccess_string_: { + data: string; /** @enum {number|null} */ error: null; }; - "Result_Prompt2025Version_91_prompt_body_93_.string_": components["schemas"]["ResultSuccess_Prompt2025Version_91_prompt_body_93__"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__hasPrompts-boolean__": { - data: { - hasPrompts: boolean; - }; + "Result_string.string_": components["schemas"]["ResultSuccess_string_"] | components["schemas"]["ResultError_string_"]; + TestStripeMeterEventRequest: { + event_name: string; + customer_id: string; + }; + ResultSuccess_number_: { + /** Format: double */ + data: number; /** @enum {number|null} */ error: null; }; - "Result__hasPrompts-boolean_.string_": components["schemas"]["ResultSuccess__hasPrompts-boolean__"] | components["schemas"]["ResultError_string_"]; - PromptsResult: { - id: string; - user_defined_id: string; - description: string; - pretty_name: string; - created_at: string; - /** Format: double */ - major_version: number; - metadata?: components["schemas"]["Record_string.any_"]; - }; - "ResultSuccess_PromptsResult-Array_": { - data: components["schemas"]["PromptsResult"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_PromptsResult-Array.string_": components["schemas"]["ResultSuccess_PromptsResult-Array_"] | components["schemas"]["ResultError_string_"]; + "Result_number.string_": components["schemas"]["ResultSuccess_number_"] | components["schemas"]["ResultError_string_"]; /** @description Make all properties in T optional */ Partial_TextOperators_: { "not-equals"?: string; @@ -1339,141 +1052,6 @@ export interface components { "not-contains"?: string; }; /** @description Make all properties in T optional */ - Partial_PromptToOperators_: { - id?: components["schemas"]["Partial_TextOperators_"]; - user_defined_id?: components["schemas"]["Partial_TextOperators_"]; - }; - /** @description From T, pick a set of properties whose keys are in the union K */ - "Pick_FilterLeaf.prompt_v2_": { - prompt_v2?: components["schemas"]["Partial_PromptToOperators_"]; - }; - FilterLeafSubset_prompt_v2_: components["schemas"]["Pick_FilterLeaf.prompt_v2_"]; - PromptsFilterNode: components["schemas"]["FilterLeafSubset_prompt_v2_"] | components["schemas"]["PromptsFilterBranch"] | "all"; - PromptsFilterBranch: { - right: components["schemas"]["PromptsFilterNode"]; - /** @enum {string} */ - operator: "or" | "and"; - left: components["schemas"]["PromptsFilterNode"]; - }; - PromptsQueryParams: { - filter: components["schemas"]["PromptsFilterNode"]; - }; - PromptResult: { - id: string; - user_defined_id: string; - description: string; - pretty_name: string; - /** Format: double */ - major_version: number; - latest_version_id: string; - latest_model_used: string; - created_at: string; - last_used: string; - versions: string[]; - metadata?: components["schemas"]["Record_string.any_"]; - }; - ResultSuccess_PromptResult_: { - data: components["schemas"]["PromptResult"]; - /** @enum {number|null} */ - error: null; - }; - "Result_PromptResult.string_": components["schemas"]["ResultSuccess_PromptResult_"] | components["schemas"]["ResultError_string_"]; - PromptQueryParams: { - timeFilter: { - end: string; - start: string; - }; - }; - CreatePromptResponse: { - id: string; - prompt_version_id: string; - }; - ResultSuccess_CreatePromptResponse_: { - data: components["schemas"]["CreatePromptResponse"]; - /** @enum {number|null} */ - error: null; - }; - "Result_CreatePromptResponse.string_": components["schemas"]["ResultSuccess_CreatePromptResponse_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__metadata-Record_string.any___": { - data: { - metadata: components["schemas"]["Record_string.any_"]; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__metadata-Record_string.any__.string_": components["schemas"]["ResultSuccess__metadata-Record_string.any___"] | components["schemas"]["ResultError_string_"]; - PromptEditSubversionLabelParams: { - label: string; - }; - PromptEditSubversionTemplateParams: { - heliconeTemplate: unknown; - experimentId?: string; - }; - PromptVersionResult: { - id: string; - /** Format: double */ - minor_version: number; - /** Format: double */ - major_version: number; - prompt_v2: string; - model: string; - helicone_template: string; - created_at: string; - metadata: components["schemas"]["Record_string.any_"]; - parent_prompt_version?: string | null; - experiment_id?: string | null; - updated_at?: string; - }; - ResultSuccess_PromptVersionResult_: { - data: components["schemas"]["PromptVersionResult"]; - /** @enum {number|null} */ - error: null; - }; - "Result_PromptVersionResult.string_": components["schemas"]["ResultSuccess_PromptVersionResult_"] | components["schemas"]["ResultError_string_"]; - PromptCreateSubversionParams: { - newHeliconeTemplate: unknown; - isMajorVersion?: boolean; - metadata?: components["schemas"]["Record_string.any_"]; - experimentId?: string; - bumpForMajorPromptVersionId?: string; - }; - PromptInputRecord: { - id: string; - inputs: components["schemas"]["Record_string.string_"]; - dataset_row_id?: string; - source_request: string; - prompt_version: string; - created_at: string; - response_body?: string; - request_body?: string; - auto_prompt_inputs: unknown[]; - }; - "ResultSuccess_PromptInputRecord-Array_": { - data: components["schemas"]["PromptInputRecord"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_PromptInputRecord-Array.string_": components["schemas"]["ResultSuccess_PromptInputRecord-Array_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array_": { - data: { - meta: components["schemas"]["Record_string.any_"]; - dataset: string; - /** Format: double */ - num_hypotheses: number; - created_at: string; - id: string; - }[]; - /** @enum {number|null} */ - error: null; - }; - "Result__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array.string_": components["schemas"]["ResultSuccess__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_PromptVersionResult-Array_": { - data: components["schemas"]["PromptVersionResult"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_PromptVersionResult-Array.string_": components["schemas"]["ResultSuccess_PromptVersionResult-Array_"] | components["schemas"]["ResultError_string_"]; - /** @description Make all properties in T optional */ Partial_NumberOperators_: { /** Format: double */ "not-equals"?: number; @@ -1489,1638 +1067,1730 @@ export interface components { gt?: number; }; /** @description Make all properties in T optional */ - Partial_PromptVersionsToOperators_: { - minor_version?: components["schemas"]["Partial_NumberOperators_"]; - major_version?: components["schemas"]["Partial_NumberOperators_"]; - id?: components["schemas"]["Partial_TextOperators_"]; - prompt_v2?: components["schemas"]["Partial_TextOperators_"]; - }; - /** @description From T, pick a set of properties whose keys are in the union K */ - "Pick_FilterLeaf.prompts_versions_": { - prompts_versions?: components["schemas"]["Partial_PromptVersionsToOperators_"]; - }; - FilterLeafSubset_prompts_versions_: components["schemas"]["Pick_FilterLeaf.prompts_versions_"]; - PromptVersionsFilterNode: components["schemas"]["FilterLeafSubset_prompts_versions_"] | components["schemas"]["PromptVersionsFilterBranch"] | "all"; - PromptVersionsFilterBranch: { - right: components["schemas"]["PromptVersionsFilterNode"]; - /** @enum {string} */ - operator: "or" | "and"; - left: components["schemas"]["PromptVersionsFilterNode"]; - }; - PromptVersionsQueryParams: { - filter?: components["schemas"]["PromptVersionsFilterNode"]; - includeExperimentVersions?: boolean; - }; - PromptVersionResultCompiled: { - id: string; - /** Format: double */ - minor_version: number; - /** Format: double */ - major_version: number; - prompt_v2: string; - model: string; - prompt_compiled: unknown; - }; - ResultSuccess_PromptVersionResultCompiled_: { - data: components["schemas"]["PromptVersionResultCompiled"]; - /** @enum {number|null} */ - error: null; + Partial_TimestampOperators_: { + equals?: string; + gte?: string; + lte?: string; + lt?: string; + gt?: string; }; - "Result_PromptVersionResultCompiled.string_": components["schemas"]["ResultSuccess_PromptVersionResultCompiled_"] | components["schemas"]["ResultError_string_"]; - PromptVersiosQueryParamsCompiled: { - filter?: components["schemas"]["PromptVersionsFilterNode"]; - includeExperimentVersions?: boolean; - inputs: components["schemas"]["Record_string.string_"]; + /** @description Make all properties in T optional */ + Partial_BooleanOperators_: { + equals?: boolean; }; - PromptVersionResultFilled: { - id: string; - /** Format: double */ - minor_version: number; - /** Format: double */ - major_version: number; - prompt_v2: string; - model: string; - filled_helicone_template: unknown; + /** @description Make all properties in T optional */ + Partial_FeedbackTableToOperators_: { + id?: components["schemas"]["Partial_NumberOperators_"]; + created_at?: components["schemas"]["Partial_TimestampOperators_"]; + rating?: components["schemas"]["Partial_BooleanOperators_"]; + response_id?: components["schemas"]["Partial_TextOperators_"]; }; - ResultSuccess_PromptVersionResultFilled_: { - data: components["schemas"]["PromptVersionResultFilled"]; - /** @enum {number|null} */ - error: null; + /** @description Make all properties in T optional */ + Partial_RequestTableToOperators_: { + prompt?: components["schemas"]["Partial_TextOperators_"]; + created_at?: components["schemas"]["Partial_TimestampOperators_"]; + user_id?: components["schemas"]["Partial_TextOperators_"]; + auth_hash?: components["schemas"]["Partial_TextOperators_"]; + org_id?: components["schemas"]["Partial_TextOperators_"]; + id?: components["schemas"]["Partial_TextOperators_"]; + node_id?: components["schemas"]["Partial_TextOperators_"]; + model?: components["schemas"]["Partial_TextOperators_"]; + modelOverride?: components["schemas"]["Partial_TextOperators_"]; + path?: components["schemas"]["Partial_TextOperators_"]; + country_code?: components["schemas"]["Partial_TextOperators_"]; + prompt_id?: components["schemas"]["Partial_TextOperators_"]; }; - "Result_PromptVersionResultFilled.string_": components["schemas"]["ResultSuccess_PromptVersionResultFilled_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__experimentId-string__": { - data: { - experimentId: string; - }; - /** @enum {number|null} */ - error: null; + /** @description Make all properties in T optional */ + Partial_ResponseTableToOperators_: { + body_tokens?: components["schemas"]["Partial_NumberOperators_"]; + body_model?: components["schemas"]["Partial_TextOperators_"]; + body_completion?: components["schemas"]["Partial_TextOperators_"]; + status?: components["schemas"]["Partial_NumberOperators_"]; + model?: components["schemas"]["Partial_TextOperators_"]; }; - "Result__experimentId-string_.string_": components["schemas"]["ResultSuccess__experimentId-string__"] | components["schemas"]["ResultError_string_"]; - ExperimentV2: { - id: string; - name: string; - original_prompt_version: string; - copied_original_prompt_version: string | null; - input_keys: string[] | null; - created_at: string; + /** @description Make all properties in T optional */ + Partial_TimestampOperatorsTyped_: { + /** Format: date-time */ + equals?: string; + /** Format: date-time */ + gte?: string; + /** Format: date-time */ + lte?: string; + /** Format: date-time */ + lt?: string; + /** Format: date-time */ + gt?: string; }; - "ResultSuccess_ExperimentV2-Array_": { - data: components["schemas"]["ExperimentV2"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_ExperimentV2-Array.string_": components["schemas"]["ResultSuccess_ExperimentV2-Array_"] | components["schemas"]["ResultError_string_"]; - ExperimentV2Output: { - id: string; - request_id: string; - is_original: boolean; - prompt_version_id: string; - created_at: string; - input_record_id: string; + /** @description Make all properties in T optional */ + Partial_RequestResponseRMTToOperators_: { + country_code?: components["schemas"]["Partial_TextOperators_"]; + latency?: components["schemas"]["Partial_NumberOperators_"]; + cost?: components["schemas"]["Partial_NumberOperators_"]; + provider?: components["schemas"]["Partial_TextOperators_"]; + time_to_first_token?: components["schemas"]["Partial_NumberOperators_"]; + status?: components["schemas"]["Partial_NumberOperators_"]; + request_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; + response_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; + model?: components["schemas"]["Partial_TextOperators_"]; + user_id?: components["schemas"]["Partial_TextOperators_"]; + organization_id?: components["schemas"]["Partial_TextOperators_"]; + node_id?: components["schemas"]["Partial_TextOperators_"]; + job_id?: components["schemas"]["Partial_TextOperators_"]; + threat?: components["schemas"]["Partial_BooleanOperators_"]; + request_id?: components["schemas"]["Partial_TextOperators_"]; + prompt_tokens?: components["schemas"]["Partial_NumberOperators_"]; + completion_tokens?: components["schemas"]["Partial_NumberOperators_"]; + prompt_cache_read_tokens?: components["schemas"]["Partial_NumberOperators_"]; + prompt_cache_write_tokens?: components["schemas"]["Partial_NumberOperators_"]; + total_tokens?: components["schemas"]["Partial_NumberOperators_"]; + target_url?: components["schemas"]["Partial_TextOperators_"]; + property_key?: { + equals: string; + }; + properties?: { + [key: string]: components["schemas"]["Partial_TextOperators_"]; + }; + search_properties?: { + [key: string]: components["schemas"]["Partial_TextOperators_"]; + }; + scores?: { + [key: string]: components["schemas"]["Partial_TextOperators_"]; + }; + scores_column?: components["schemas"]["Partial_TextOperators_"]; + request_body?: components["schemas"]["Partial_TextOperators_"]; + response_body?: components["schemas"]["Partial_TextOperators_"]; + cache_enabled?: components["schemas"]["Partial_BooleanOperators_"]; + cache_reference_id?: components["schemas"]["Partial_TextOperators_"]; + cached?: components["schemas"]["Partial_BooleanOperators_"]; + assets?: components["schemas"]["Partial_TextOperators_"]; + "helicone-score-feedback"?: components["schemas"]["Partial_BooleanOperators_"]; + prompt_id?: components["schemas"]["Partial_TextOperators_"]; + prompt_version?: components["schemas"]["Partial_TextOperators_"]; + request_referrer?: components["schemas"]["Partial_TextOperators_"]; + is_passthrough_billing?: components["schemas"]["Partial_BooleanOperators_"]; }; - ExperimentV2Row: { - id: string; - inputs: components["schemas"]["Record_string.string_"]; - prompt_version: string; - requests: components["schemas"]["ExperimentV2Output"][]; - auto_prompt_inputs: unknown[]; + /** @description Make all properties in T optional */ + Partial_SessionsRequestResponseRMTToOperators_: { + session_session_id?: components["schemas"]["Partial_TextOperators_"]; + session_session_name?: components["schemas"]["Partial_TextOperators_"]; + session_total_cost?: components["schemas"]["Partial_NumberOperators_"]; + session_total_tokens?: components["schemas"]["Partial_NumberOperators_"]; + session_prompt_tokens?: components["schemas"]["Partial_NumberOperators_"]; + session_completion_tokens?: components["schemas"]["Partial_NumberOperators_"]; + session_total_requests?: components["schemas"]["Partial_NumberOperators_"]; + session_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; + session_latest_request_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; + session_tag?: components["schemas"]["Partial_TextOperators_"]; }; - ExtendedExperimentData: { - id: string; - name: string; - original_prompt_version: string; - copied_original_prompt_version: string | null; - input_keys: string[] | null; - created_at: string; - rows: components["schemas"]["ExperimentV2Row"][]; + /** @description From T, pick a set of properties whose keys are in the union K */ + "Pick_FilterLeaf.feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_": { + values?: { + [key: string]: components["schemas"]["Partial_TextOperators_"]; + }; + feedback?: components["schemas"]["Partial_FeedbackTableToOperators_"]; + request?: components["schemas"]["Partial_RequestTableToOperators_"]; + response?: components["schemas"]["Partial_ResponseTableToOperators_"]; + properties?: { + [key: string]: components["schemas"]["Partial_TextOperators_"]; + }; + request_response_rmt?: components["schemas"]["Partial_RequestResponseRMTToOperators_"]; + sessions_request_response_rmt?: components["schemas"]["Partial_SessionsRequestResponseRMTToOperators_"]; }; - ResultSuccess_ExtendedExperimentData_: { - data: components["schemas"]["ExtendedExperimentData"]; - /** @enum {number|null} */ - error: null; + "FilterLeafSubset_feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_": components["schemas"]["Pick_FilterLeaf.feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_"]; + RequestFilterNode: components["schemas"]["FilterLeafSubset_feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_"] | components["schemas"]["RequestFilterBranch"] | "all"; + RequestFilterBranch: { + right: components["schemas"]["RequestFilterNode"]; + /** @enum {string} */ + operator: "or" | "and"; + left: components["schemas"]["RequestFilterNode"]; }; - "Result_ExtendedExperimentData.string_": components["schemas"]["ResultSuccess_ExtendedExperimentData_"] | components["schemas"]["ResultError_string_"]; - CreateNewPromptVersionForExperimentParams: { - newHeliconeTemplate: unknown; - isMajorVersion?: boolean; - metadata?: components["schemas"]["Record_string.any_"]; - experimentId?: string; - bumpForMajorPromptVersionId?: string; - parentPromptVersionId: string; + /** @enum {string} */ + SortDirection: "asc" | "desc"; + SortLeafRequest: { + /** @enum {boolean} */ + random?: true; + created_at?: components["schemas"]["SortDirection"]; + cache_created_at?: components["schemas"]["SortDirection"]; + latency?: components["schemas"]["SortDirection"]; + last_active?: components["schemas"]["SortDirection"]; + total_tokens?: components["schemas"]["SortDirection"]; + completion_tokens?: components["schemas"]["SortDirection"]; + prompt_tokens?: components["schemas"]["SortDirection"]; + user_id?: components["schemas"]["SortDirection"]; + body_model?: components["schemas"]["SortDirection"]; + is_cached?: components["schemas"]["SortDirection"]; + request_prompt?: components["schemas"]["SortDirection"]; + response_text?: components["schemas"]["SortDirection"]; + properties?: { + [key: string]: components["schemas"]["SortDirection"]; + }; + values?: { + [key: string]: components["schemas"]["SortDirection"]; + }; + cost?: components["schemas"]["SortDirection"]; + time_to_first_token?: components["schemas"]["SortDirection"]; }; -Json: JsonObject; - ExperimentV2PromptVersion: { - created_at: string | null; - experiment_id: string | null; - helicone_template: components["schemas"]["Json"] | null; - id: string; + RequestQueryParams: { + filter: components["schemas"]["RequestFilterNode"]; /** Format: double */ - major_version: number; - metadata: components["schemas"]["Json"] | null; + offset?: number; /** Format: double */ - minor_version: number; - model: string | null; - organization: string; - prompt_v2: string; - soft_delete: boolean | null; - }; - "ResultSuccess_ExperimentV2PromptVersion-Array_": { - data: components["schemas"]["ExperimentV2PromptVersion"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_ExperimentV2PromptVersion-Array.string_": components["schemas"]["ResultSuccess_ExperimentV2PromptVersion-Array_"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_string_: { - data: string; - /** @enum {number|null} */ - error: null; + limit?: number; + sort?: components["schemas"]["SortLeafRequest"]; + isCached?: boolean; + includeInputs?: boolean; + isPartOfExperiment?: boolean; + isScored?: boolean; }; - "Result_string.string_": components["schemas"]["ResultSuccess_string_"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_boolean_: { - data: boolean; - /** @enum {number|null} */ - error: null; + /** @enum {string} */ + ProviderName: "OPENAI" | "ANTHROPIC" | "AZURE" | "LOCAL" | "HELICONE" | "AMDBARTEK" | "ANYSCALE" | "CLOUDFLARE" | "2YFV" | "TOGETHER" | "LEMONFOX" | "FIREWORKS" | "PERPLEXITY" | "GOOGLE" | "OPENROUTER" | "WISDOMINANUTSHELL" | "GROQ" | "COHERE" | "MISTRAL" | "DEEPINFRA" | "QSTASH" | "FIRECRAWL" | "AWS" | "BEDROCK" | "DEEPSEEK" | "X" | "AVIAN" | "NEBIUS" | "NOVITA" | "OPENPIPE" | "CHUTES" | "LLAMA" | "NVIDIA" | "VERCEL" | "CEREBRAS" | "BASETEN" | "CANOPYWAVE"; + /** @enum {string} */ + ModelProviderName: "baseten" | "anthropic" | "azure" | "bedrock" | "canopywave" | "cerebras" | "chutes" | "deepinfra" | "deepseek" | "fireworks" | "google-ai-studio" | "groq" | "helicone" | "mistral" | "nebius" | "novita" | "openai" | "openrouter" | "perplexity" | "vertex" | "xai"; + Provider: components["schemas"]["ProviderName"] | components["schemas"]["ModelProviderName"] | "CUSTOM"; + /** @enum {string} */ + LlmType: "chat" | "completion"; + FunctionCall: { + id?: string; + name: string; + arguments: components["schemas"]["Record_string.any_"]; }; - "Result_boolean.string_": components["schemas"]["ResultSuccess_boolean_"] | components["schemas"]["ResultError_string_"]; - ScoreV2: { - valueType: string; - value: number | string; - /** Format: double */ - max: number; + Message: { + ending_event_id?: string; + trigger_event_id?: string; + start_timestamp?: string; + annotations?: { + content?: string; + title: string; + url: string; + /** @enum {string} */ + type: "url_citation"; + }[]; + reasoning?: string; + deleted?: boolean; + contentArray?: components["schemas"]["Message"][]; /** Format: double */ - min: number; - }; - /** @description Construct a type with a set of properties K of type T */ - "Record_string.ScoreV2_": { - [key: string]: components["schemas"]["ScoreV2"]; - }; - "ResultSuccess_Record_string.ScoreV2__": { - data: components["schemas"]["Record_string.ScoreV2_"]; - /** @enum {number|null} */ - error: null; + idx?: number; + detail?: string; + filename?: string; + file_id?: string; + file_data?: string; + /** @enum {string} */ + type?: "input_image" | "input_text" | "input_file"; + audio_data?: string; + image_url?: string; + timestamp?: string; + tool_call_id?: string; + tool_calls?: components["schemas"]["FunctionCall"][]; + mime_type?: string; + content?: string; + name?: string; + instruction?: string; + role?: string | ("user" | "assistant" | "system" | "developer"); + id?: string; + /** @enum {string} */ + _type: "functionCall" | "function" | "image" | "file" | "message" | "autoInput" | "contentArray" | "audio"; }; - "Result_Record_string.ScoreV2_.string_": components["schemas"]["ResultSuccess_Record_string.ScoreV2__"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_ScoreV2-or-null_": { - data: components["schemas"]["ScoreV2"] | null; - /** @enum {number|null} */ - error: null; + Tool: { + name: string; + description?: string; + parameters?: components["schemas"]["Record_string.any_"]; + strict?: boolean; }; - "Result_ScoreV2-or-null.string_": components["schemas"]["ResultSuccess_ScoreV2-or-null_"] | components["schemas"]["ResultError_string_"]; - CreateCloudGatewayCheckoutSessionRequest: { - /** Format: double */ - amount: number; - returnUrl?: string; + HeliconeEventTool: { + /** @enum {string} */ + _type: "tool"; + toolName: string; + input: unknown; + [key: string]: unknown; }; - UpgradeToProRequest: { - addons?: { - evals?: boolean; - experiments?: boolean; - prompts?: boolean; - alerts?: boolean; - }; - /** Format: double */ - seats?: number; + HeliconeEventVectorDB: { + /** @enum {string} */ + _type: "vector_db"; /** @enum {string} */ - ui_mode?: "embedded" | "hosted"; + operation: "search" | "insert" | "delete" | "update"; + text?: string; + vector?: number[]; + /** Format: double */ + topK?: number; + filter?: Record; + databaseName?: string; + [key: string]: unknown; }; - UpgradeToTeamBundleRequest: { + HeliconeEventData: { /** @enum {string} */ - ui_mode?: "embedded" | "hosted"; + _type: "data"; + name: string; + meta?: components["schemas"]["Record_string.any_"]; + [key: string]: unknown; }; - LLMUsage: { - model: string; - provider: string; + LLMRequestBody: { + llm_type?: components["schemas"]["LlmType"]; + provider?: string; + model?: string; + messages?: components["schemas"]["Message"][] | null; + prompt?: string | null; + instructions?: string | null; /** Format: double */ - prompt_tokens: number; + max_tokens?: number | null; /** Format: double */ - completion_tokens: number; + temperature?: number | null; /** Format: double */ - total_count: number; + top_p?: number | null; /** Format: double */ - amount: number; - description: string; - totalCost: { + seed?: number | null; + stream?: boolean | null; + /** Format: double */ + presence_penalty?: number | null; + /** Format: double */ + frequency_penalty?: number | null; + stop?: (string[] | string) | null; + /** @enum {string|null} */ + reasoning_effort?: "minimal" | "low" | "medium" | "high" | null; + /** @enum {string|null} */ + verbosity?: "low" | "medium" | "high" | null; + tools?: components["schemas"]["Tool"][]; + parallel_tool_calls?: boolean | null; + tool_choice?: { + name?: string; + /** @enum {string} */ + type: "none" | "auto" | "any" | "tool"; + }; + response_format?: { + json_schema?: unknown; + type: string; + }; + toolDetails?: components["schemas"]["HeliconeEventTool"]; + vectorDBDetails?: components["schemas"]["HeliconeEventVectorDB"]; + dataDetails?: components["schemas"]["HeliconeEventData"]; + input?: string | string[]; + /** Format: double */ + n?: number | null; + size?: string; + quality?: string; + }; + Response: { + contentArray?: components["schemas"]["Response"][]; + detail?: string; + filename?: string; + file_id?: string; + file_data?: string; + /** Format: double */ + idx?: number; + audio_data?: string; + image_url?: string; + timestamp?: string; + tool_call_id?: string; + tool_calls?: components["schemas"]["FunctionCall"][]; + text?: string; + /** @enum {string} */ + type: "input_image" | "input_text" | "input_file"; + name?: string; + /** @enum {string} */ + role: "user" | "assistant" | "system" | "developer"; + id?: string; + /** @enum {string} */ + _type: "functionCall" | "function" | "image" | "text" | "file" | "contentArray"; + }; + LLMResponseBody: { + dataDetailsResponse?: { + name: string; + /** @enum {string} */ + _type: "data"; + metadata: { + timestamp: string; + [key: string]: unknown; + }; + message: string; + status: string; + [key: string]: unknown; + }; + vectorDBDetailsResponse?: { + /** @enum {string} */ + _type: "vector_db"; + metadata: { + timestamp: string; + destination_parsed?: boolean; + destination?: string; + }; /** Format: double */ - prompt_token: number; + actualSimilarity?: number; /** Format: double */ - completion_token: number; + similarityThreshold?: number; + message: string; + status: string; + }; + toolDetailsResponse?: { + toolName: string; + /** @enum {string} */ + _type: "tool"; + metadata: { + timestamp: string; + }; + tips: string[]; + message: string; + status: string; + }; + error?: { + heliconeMessage: unknown; }; + model?: string | null; + instructions?: string | null; + responses?: components["schemas"]["Response"][] | null; + messages?: components["schemas"]["Message"][] | null; }; - PaymentIntentRecord: { - id: string; + LlmSchema: { + request: components["schemas"]["LLMRequestBody"]; + response?: components["schemas"]["LLMResponseBody"] | null; + }; + /** @description Construct a type with a set of properties K of type T */ + "Record_string.number_": { + [key: string]: number; + }; + HeliconeRequest: { + response_id: string | null; + response_created_at: string | null; + response_body?: unknown; /** Format: double */ - amount: number; + response_status: number; + response_model: string | null; + request_id: string; + request_created_at: string; + request_body: unknown; + request_path: string; + request_user_id: string | null; + request_properties: components["schemas"]["Record_string.string_"] | null; + request_model: string | null; + model_override: string | null; + helicone_user: string | null; + provider: components["schemas"]["Provider"]; /** Format: double */ - created: number; - status: string; - isRefunded?: boolean; + delay_ms: number | null; /** Format: double */ - refundedAmount?: number; - refundIds?: string[]; - }; - StripePaymentIntentsResponse: { - data: components["schemas"]["PaymentIntentRecord"][]; - has_more: boolean; - next_page: string | null; + time_to_first_token: number | null; /** Format: double */ - count: number; - }; - AutoTopoffSettings: { - enabled: boolean; + total_tokens: number | null; /** Format: double */ - thresholdCents: number; + prompt_tokens: number | null; /** Format: double */ - topoffAmountCents: number; - stripePaymentMethodId: string | null; - lastTopoffAt: string | null; + prompt_cache_write_tokens: number | null; /** Format: double */ - consecutiveFailures: number; - }; - UpdateAutoTopoffSettingsRequest: { - enabled: boolean; + prompt_cache_read_tokens: number | null; /** Format: double */ - thresholdCents: number; + completion_tokens: number | null; /** Format: double */ - topoffAmountCents: number; - stripePaymentMethodId: string; - }; - PaymentMethod: { - id: string; - brand: string; - last4: string; + reasoning_tokens: number | null; /** Format: double */ - exp_month: number; + prompt_audio_tokens: number | null; /** Format: double */ - exp_year: number; - }; - CreateSetupSessionRequest: { - returnUrl?: string; - }; - DailyUsageDataPoint: { - date: string; + completion_audio_tokens: number | null; /** Format: double */ - requests: number; + cost: number | null; + prompt_id: string | null; + prompt_version: string | null; + feedback_created_at?: string | null; + feedback_id?: string | null; + feedback_rating?: boolean | null; + signed_body_url?: string | null; + llmSchema: components["schemas"]["LlmSchema"] | null; + country_code: string | null; + asset_ids: string[] | null; + asset_urls: components["schemas"]["Record_string.string_"] | null; + scores: components["schemas"]["Record_string.number_"] | null; /** Format: double */ - bytes: number; - }; - UsageStatsResponse: { - billingPeriod: { - /** Format: double */ - daysTotal: number; - /** Format: double */ - daysElapsed: number; - end: string; - start: string; - }; - usage: { - /** Format: double */ - totalGB: number; - /** Format: double */ - totalBytes: number; - /** Format: double */ - totalRequests: number; - }; - dailyData: components["schemas"]["DailyUsageDataPoint"][]; - estimatedCost: { - /** Format: double */ - projectedMonthlyTotalCost: number; - /** Format: double */ - projectedMonthlyGBCost: number; - /** Format: double */ - projectedMonthlyRequestsCost: number; - /** Format: double */ - totalCost: number; - /** Format: double */ - gbCost: number; - /** Format: double */ - requestsCost: number; - }; - }; - IntegrationCreateParams: { - integration_name: string; - settings?: components["schemas"]["Json"]; - active?: boolean; + costUSD?: number | null; + properties: components["schemas"]["Record_string.string_"]; + assets: string[]; + target_url: string; + model: string; + cache_reference_id: string | null; + cache_enabled: boolean; + updated_at?: string; + request_referrer?: string | null; + ai_gateway_body_mapping: string | null; + storage_location?: string; }; - Integration: { - integration_name?: string; - settings?: components["schemas"]["Json"]; - active?: boolean; - id: string; + "ResultSuccess_HeliconeRequest-Array_": { + data: components["schemas"]["HeliconeRequest"][]; + /** @enum {number|null} */ + error: null; }; - ResultSuccess_Array_Integration__: { - data: components["schemas"]["Integration"][]; + "Result_HeliconeRequest-Array.string_": components["schemas"]["ResultSuccess_HeliconeRequest-Array_"] | components["schemas"]["ResultError_string_"]; + ResultSuccess_HeliconeRequest_: { + data: components["schemas"]["HeliconeRequest"]; /** @enum {number|null} */ error: null; }; - "Result_Array_Integration_.string_": components["schemas"]["ResultSuccess_Array_Integration__"] | components["schemas"]["ResultError_string_"]; - IntegrationUpdateParams: { - integration_name?: string; - settings?: components["schemas"]["Json"]; - active?: boolean; + "Result_HeliconeRequest.string_": components["schemas"]["ResultSuccess_HeliconeRequest_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null_": { + data: ({ + environment: string | null; + version_id: string; + prompt_id: string; + inputs: components["schemas"]["Record_string.any_"]; + }) | null; + /** @enum {number|null} */ + error: null; }; - ResultSuccess_Integration_: { - data: components["schemas"]["Integration"]; + "Result__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null.string_": components["schemas"]["ResultSuccess__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null_"] | components["schemas"]["ResultError_string_"]; + HeliconeRequestAsset: { + assetUrl: string; + }; + ResultSuccess_HeliconeRequestAsset_: { + data: components["schemas"]["HeliconeRequestAsset"]; /** @enum {number|null} */ error: null; }; - "Result_Integration.string_": components["schemas"]["ResultSuccess_Integration_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_Array__id-string--name-string___": { - data: { - name: string; - id: string; + "Result_HeliconeRequestAsset.string_": components["schemas"]["ResultSuccess_HeliconeRequestAsset_"] | components["schemas"]["ResultError_string_"]; + /** @description Construct a type with a set of properties K of type T */ + "Record_string.number-or-boolean-or-undefined_": { + [key: string]: number | boolean; + }; + Scores: components["schemas"]["Record_string.number-or-boolean-or-undefined_"]; + ScoreRequest: { + scores: components["schemas"]["Scores"]; + }; + ConversationMessage: { + role: string; + content: string; + }; + MostExpensiveRequest: { + requestId: string; + /** Format: double */ + cost: number; + model: string; + provider: string; + createdAt: string; + /** Format: double */ + promptTokens: number; + /** Format: double */ + completionTokens: number; + conversation: { + /** Format: double */ + totalWords: number; + /** Format: double */ + turnCount: number; + messages: components["schemas"]["ConversationMessage"][]; + } | null; + }; + WrappedStats: { + /** Format: double */ + totalRequests: number; + topProviders: { + /** Format: double */ + count: number; + provider: string; + }[]; + topModels: { + /** Format: double */ + count: number; + model: string; }[]; + totalTokens: { + /** Format: double */ + total: number; + /** Format: double */ + cacheRead: number; + /** Format: double */ + cacheWrite: number; + /** Format: double */ + completion: number; + /** Format: double */ + prompt: number; + }; + mostExpensiveRequest: components["schemas"]["MostExpensiveRequest"] | null; + }; + ResultSuccess_WrappedStats_: { + data: components["schemas"]["WrappedStats"]; /** @enum {number|null} */ error: null; }; - "Result_Array__id-string--name-string__.string_": components["schemas"]["ResultSuccess_Array__id-string--name-string___"] | components["schemas"]["ResultError_string_"]; - TestStripeMeterEventRequest: { - event_name: string; - customer_id: string; + "Result_WrappedStats.string_": components["schemas"]["ResultSuccess_WrappedStats_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__hasData-boolean__": { + data: { + hasData: boolean; + }; + /** @enum {number|null} */ + error: null; }; - /** @description Make all properties in T optional */ - Partial_ResponseTableToOperators_: { - body_tokens?: components["schemas"]["Partial_NumberOperators_"]; - body_model?: components["schemas"]["Partial_TextOperators_"]; - body_completion?: components["schemas"]["Partial_TextOperators_"]; - status?: components["schemas"]["Partial_NumberOperators_"]; - model?: components["schemas"]["Partial_TextOperators_"]; + "Result__hasData-boolean_.string_": components["schemas"]["ResultSuccess__hasData-boolean__"] | components["schemas"]["ResultError_string_"]; + ResultSuccess_unknown_: { + data: unknown; + /** @enum {number|null} */ + error: null; }; - /** @description Make all properties in T optional */ - Partial_TimestampOperators_: { - equals?: string; - gte?: string; - lte?: string; - lt?: string; - gt?: string; + ResultError_unknown_: { + /** @enum {number|null} */ + data: null; + error: unknown; }; - /** @description Make all properties in T optional */ - Partial_RequestTableToOperators_: { - prompt?: components["schemas"]["Partial_TextOperators_"]; - created_at?: components["schemas"]["Partial_TimestampOperators_"]; - user_id?: components["schemas"]["Partial_TextOperators_"]; - auth_hash?: components["schemas"]["Partial_TextOperators_"]; - org_id?: components["schemas"]["Partial_TextOperators_"]; - id?: components["schemas"]["Partial_TextOperators_"]; - node_id?: components["schemas"]["Partial_TextOperators_"]; - model?: components["schemas"]["Partial_TextOperators_"]; - modelOverride?: components["schemas"]["Partial_TextOperators_"]; - path?: components["schemas"]["Partial_TextOperators_"]; - country_code?: components["schemas"]["Partial_TextOperators_"]; - prompt_id?: components["schemas"]["Partial_TextOperators_"]; + WebhookData: { + destination: string; + config: components["schemas"]["Record_string.any_"]; + includeData?: boolean; }; - /** @description Make all properties in T optional */ - Partial_BooleanOperators_: { - equals?: boolean; + "ResultSuccess__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array_": { + data: { + hmac_key: string; + config: string; + version: string; + destination: string; + created_at: string; + id: string; + }[]; + /** @enum {number|null} */ + error: null; }; - /** @description Make all properties in T optional */ - Partial_FeedbackTableToOperators_: { - id?: components["schemas"]["Partial_NumberOperators_"]; - created_at?: components["schemas"]["Partial_TimestampOperators_"]; - rating?: components["schemas"]["Partial_BooleanOperators_"]; - response_id?: components["schemas"]["Partial_TextOperators_"]; + "Result__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array.string_": components["schemas"]["ResultSuccess__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__success-boolean--message-string__": { + data: { + message: string; + success: boolean; + }; + /** @enum {number|null} */ + error: null; }; - /** @description Make all properties in T optional */ - Partial_TimestampOperatorsTyped_: { - /** Format: date-time */ - equals?: string; - /** Format: date-time */ - gte?: string; - /** Format: date-time */ - lte?: string; - /** Format: date-time */ - lt?: string; - /** Format: date-time */ - gt?: string; + "Result__success-boolean--message-string_.string_": components["schemas"]["ResultSuccess__success-boolean--message-string__"] | components["schemas"]["ResultError_string_"]; + AddVaultKeyParams: { + key: string; + provider: string; + name?: string; }; - /** @description Make all properties in T optional */ - Partial_RequestResponseRMTToOperators_: { - country_code?: components["schemas"]["Partial_TextOperators_"]; - latency?: components["schemas"]["Partial_NumberOperators_"]; - cost?: components["schemas"]["Partial_NumberOperators_"]; - provider?: components["schemas"]["Partial_TextOperators_"]; - time_to_first_token?: components["schemas"]["Partial_NumberOperators_"]; - status?: components["schemas"]["Partial_NumberOperators_"]; - request_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - response_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - model?: components["schemas"]["Partial_TextOperators_"]; - user_id?: components["schemas"]["Partial_TextOperators_"]; - organization_id?: components["schemas"]["Partial_TextOperators_"]; - node_id?: components["schemas"]["Partial_TextOperators_"]; - job_id?: components["schemas"]["Partial_TextOperators_"]; - threat?: components["schemas"]["Partial_BooleanOperators_"]; - request_id?: components["schemas"]["Partial_TextOperators_"]; - prompt_tokens?: components["schemas"]["Partial_NumberOperators_"]; - completion_tokens?: components["schemas"]["Partial_NumberOperators_"]; - prompt_cache_read_tokens?: components["schemas"]["Partial_NumberOperators_"]; - prompt_cache_write_tokens?: components["schemas"]["Partial_NumberOperators_"]; - total_tokens?: components["schemas"]["Partial_NumberOperators_"]; - target_url?: components["schemas"]["Partial_TextOperators_"]; - property_key?: { - equals: string; - }; - properties?: { - [key: string]: components["schemas"]["Partial_TextOperators_"]; - }; - search_properties?: { - [key: string]: components["schemas"]["Partial_TextOperators_"]; - }; - scores?: { - [key: string]: components["schemas"]["Partial_TextOperators_"]; + "ResultSuccess_DecryptedProviderKey-Array_": { + data: components["schemas"]["DecryptedProviderKey"][]; + /** @enum {number|null} */ + error: null; + }; + "Result_DecryptedProviderKey-Array.string_": components["schemas"]["ResultSuccess_DecryptedProviderKey-Array_"] | components["schemas"]["ResultError_string_"]; + ResultSuccess_DecryptedProviderKey_: { + data: components["schemas"]["DecryptedProviderKey"]; + /** @enum {number|null} */ + error: null; + }; + "Result_DecryptedProviderKey.string_": components["schemas"]["ResultSuccess_DecryptedProviderKey_"] | components["schemas"]["ResultError_string_"]; + HistogramRow: { + range_start: string; + range_end: string; + /** Format: double */ + value: number; + }; + "ResultSuccess__request_count-HistogramRow-Array--user_cost-HistogramRow-Array__": { + data: { + user_cost: components["schemas"]["HistogramRow"][]; + request_count: components["schemas"]["HistogramRow"][]; }; - scores_column?: components["schemas"]["Partial_TextOperators_"]; - request_body?: components["schemas"]["Partial_TextOperators_"]; - response_body?: components["schemas"]["Partial_TextOperators_"]; - cache_enabled?: components["schemas"]["Partial_BooleanOperators_"]; - cache_reference_id?: components["schemas"]["Partial_TextOperators_"]; - cached?: components["schemas"]["Partial_BooleanOperators_"]; - assets?: components["schemas"]["Partial_TextOperators_"]; - "helicone-score-feedback"?: components["schemas"]["Partial_BooleanOperators_"]; - prompt_id?: components["schemas"]["Partial_TextOperators_"]; - prompt_version?: components["schemas"]["Partial_TextOperators_"]; - request_referrer?: components["schemas"]["Partial_TextOperators_"]; - is_passthrough_billing?: components["schemas"]["Partial_BooleanOperators_"]; + /** @enum {number|null} */ + error: null; }; + "Result__request_count-HistogramRow-Array--user_cost-HistogramRow-Array_.string_": components["schemas"]["ResultSuccess__request_count-HistogramRow-Array--user_cost-HistogramRow-Array__"] | components["schemas"]["ResultError_string_"]; /** @description Make all properties in T optional */ - Partial_SessionsRequestResponseRMTToOperators_: { - session_session_id?: components["schemas"]["Partial_TextOperators_"]; - session_session_name?: components["schemas"]["Partial_TextOperators_"]; - session_total_cost?: components["schemas"]["Partial_NumberOperators_"]; - session_total_tokens?: components["schemas"]["Partial_NumberOperators_"]; - session_prompt_tokens?: components["schemas"]["Partial_NumberOperators_"]; - session_completion_tokens?: components["schemas"]["Partial_NumberOperators_"]; - session_total_requests?: components["schemas"]["Partial_NumberOperators_"]; - session_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - session_latest_request_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - session_tag?: components["schemas"]["Partial_TextOperators_"]; + Partial_UserViewToOperators_: { + user_user_id?: components["schemas"]["Partial_TextOperators_"]; + user_active_for?: components["schemas"]["Partial_NumberOperators_"]; + user_first_active?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; + user_last_active?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; + user_total_requests?: components["schemas"]["Partial_NumberOperators_"]; + user_average_requests_per_day_active?: components["schemas"]["Partial_NumberOperators_"]; + user_average_tokens_per_request?: components["schemas"]["Partial_NumberOperators_"]; + user_total_completion_tokens?: components["schemas"]["Partial_NumberOperators_"]; + user_total_prompt_tokens?: components["schemas"]["Partial_NumberOperators_"]; + user_cost?: components["schemas"]["Partial_NumberOperators_"]; }; /** @description From T, pick a set of properties whose keys are in the union K */ - "Pick_FilterLeaf.feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_": { - values?: { - [key: string]: components["schemas"]["Partial_TextOperators_"]; - }; - response?: components["schemas"]["Partial_ResponseTableToOperators_"]; - request?: components["schemas"]["Partial_RequestTableToOperators_"]; - feedback?: components["schemas"]["Partial_FeedbackTableToOperators_"]; + "Pick_FilterLeaf.users_view-or-request_response_rmt_": { request_response_rmt?: components["schemas"]["Partial_RequestResponseRMTToOperators_"]; - sessions_request_response_rmt?: components["schemas"]["Partial_SessionsRequestResponseRMTToOperators_"]; - properties?: { - [key: string]: components["schemas"]["Partial_TextOperators_"]; - }; + users_view?: components["schemas"]["Partial_UserViewToOperators_"]; }; - "FilterLeafSubset_feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_": components["schemas"]["Pick_FilterLeaf.feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_"]; - RequestFilterNode: components["schemas"]["FilterLeafSubset_feedback-or-request-or-response-or-properties-or-values-or-request_response_rmt-or-sessions_request_response_rmt_"] | components["schemas"]["RequestFilterBranch"] | "all"; - RequestFilterBranch: { - right: components["schemas"]["RequestFilterNode"]; + "FilterLeafSubset_users_view-or-request_response_rmt_": components["schemas"]["Pick_FilterLeaf.users_view-or-request_response_rmt_"]; + UserFilterNode: components["schemas"]["FilterLeafSubset_users_view-or-request_response_rmt_"] | components["schemas"]["UserFilterBranch"] | "all"; + UserFilterBranch: { + right: components["schemas"]["UserFilterNode"]; /** @enum {string} */ operator: "or" | "and"; - left: components["schemas"]["RequestFilterNode"]; + left: components["schemas"]["UserFilterNode"]; }; /** @enum {string} */ - SortDirection: "asc" | "desc"; - SortLeafRequest: { - /** @enum {boolean} */ - random?: true; - created_at?: components["schemas"]["SortDirection"]; - cache_created_at?: components["schemas"]["SortDirection"]; - latency?: components["schemas"]["SortDirection"]; - last_active?: components["schemas"]["SortDirection"]; - total_tokens?: components["schemas"]["SortDirection"]; - completion_tokens?: components["schemas"]["SortDirection"]; - prompt_tokens?: components["schemas"]["SortDirection"]; - user_id?: components["schemas"]["SortDirection"]; - body_model?: components["schemas"]["SortDirection"]; - is_cached?: components["schemas"]["SortDirection"]; - request_prompt?: components["schemas"]["SortDirection"]; - response_text?: components["schemas"]["SortDirection"]; - properties?: { - [key: string]: components["schemas"]["SortDirection"]; - }; - values?: { - [key: string]: components["schemas"]["SortDirection"]; + PSize: "p50" | "p75" | "p95" | "p99" | "p99.9"; + UserMetricsResult: { + id: string; + user_id: string; + /** Format: double */ + active_for: number; + first_active: string; + last_active: string; + /** Format: double */ + total_requests: number; + /** Format: double */ + average_requests_per_day_active: number; + /** Format: double */ + average_tokens_per_request: number; + /** Format: double */ + total_completion_tokens: number; + /** Format: double */ + total_prompt_tokens: number; + /** Format: double */ + cost: number; + }; + "ResultSuccess__users-UserMetricsResult-Array--count-number--hasUsers-boolean__": { + data: { + hasUsers: boolean; + /** Format: double */ + count: number; + users: components["schemas"]["UserMetricsResult"][]; }; + /** @enum {number|null} */ + error: null; + }; + "Result__users-UserMetricsResult-Array--count-number--hasUsers-boolean_.string_": components["schemas"]["ResultSuccess__users-UserMetricsResult-Array--count-number--hasUsers-boolean__"] | components["schemas"]["ResultError_string_"]; + SortLeafUsers: { + id?: components["schemas"]["SortDirection"]; + user_id?: components["schemas"]["SortDirection"]; + active_for?: components["schemas"]["SortDirection"]; + first_active?: components["schemas"]["SortDirection"]; + last_active?: components["schemas"]["SortDirection"]; + total_requests?: components["schemas"]["SortDirection"]; + average_requests_per_day_active?: components["schemas"]["SortDirection"]; + average_tokens_per_request?: components["schemas"]["SortDirection"]; + total_prompt_tokens?: components["schemas"]["SortDirection"]; + total_completion_tokens?: components["schemas"]["SortDirection"]; cost?: components["schemas"]["SortDirection"]; - time_to_first_token?: components["schemas"]["SortDirection"]; + rate_limited_count?: components["schemas"]["SortDirection"]; }; - RequestQueryParams: { - filter: components["schemas"]["RequestFilterNode"]; + UserMetricsQueryParams: { + filter: components["schemas"]["UserFilterNode"]; /** Format: double */ - offset?: number; + offset: number; /** Format: double */ - limit?: number; - sort?: components["schemas"]["SortLeafRequest"]; - isCached?: boolean; - includeInputs?: boolean; - isPartOfExperiment?: boolean; - isScored?: boolean; - }; - /** @enum {string} */ - ProviderName: "OPENAI" | "ANTHROPIC" | "AZURE" | "LOCAL" | "HELICONE" | "AMDBARTEK" | "ANYSCALE" | "CLOUDFLARE" | "2YFV" | "TOGETHER" | "LEMONFOX" | "FIREWORKS" | "PERPLEXITY" | "GOOGLE" | "OPENROUTER" | "WISDOMINANUTSHELL" | "GROQ" | "COHERE" | "MISTRAL" | "DEEPINFRA" | "QSTASH" | "FIRECRAWL" | "AWS" | "BEDROCK" | "DEEPSEEK" | "X" | "AVIAN" | "NEBIUS" | "NOVITA" | "OPENPIPE" | "CHUTES" | "LLAMA" | "NVIDIA" | "VERCEL" | "CEREBRAS" | "BASETEN" | "CANOPYWAVE"; - /** @enum {string} */ - ModelProviderName: "baseten" | "anthropic" | "azure" | "bedrock" | "canopywave" | "cerebras" | "chutes" | "deepinfra" | "deepseek" | "fireworks" | "google-ai-studio" | "groq" | "helicone" | "mistral" | "nebius" | "novita" | "openai" | "openrouter" | "perplexity" | "vertex" | "xai"; - Provider: components["schemas"]["ProviderName"] | components["schemas"]["ModelProviderName"] | "CUSTOM"; - /** @enum {string} */ - LlmType: "chat" | "completion"; - FunctionCall: { - id?: string; - name: string; - arguments: components["schemas"]["Record_string.any_"]; + limit: number; + timeFilter?: { + /** Format: double */ + endTimeUnixSeconds: number; + /** Format: double */ + startTimeUnixSeconds: number; + }; + /** Format: double */ + timeZoneDifferenceMinutes?: number; + sort?: components["schemas"]["SortLeafUsers"]; }; - Message: { - ending_event_id?: string; - trigger_event_id?: string; - start_timestamp?: string; - annotations?: { - content?: string; - title: string; - url: string; - /** @enum {string} */ - type: "url_citation"; + "ResultSuccess__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array_": { + data: { + /** Format: double */ + cost: number; + user_id: string; + /** Format: double */ + completion_tokens: number; + /** Format: double */ + prompt_tokens: number; + /** Format: double */ + count: number; }[]; - reasoning?: string; - deleted?: boolean; - contentArray?: components["schemas"]["Message"][]; - /** Format: double */ - idx?: number; - detail?: string; - filename?: string; - file_id?: string; - file_data?: string; - /** @enum {string} */ - type?: "input_image" | "input_text" | "input_file"; - audio_data?: string; - image_url?: string; - timestamp?: string; - tool_call_id?: string; - tool_calls?: components["schemas"]["FunctionCall"][]; - mime_type?: string; - content?: string; - name?: string; - instruction?: string; - role?: string | ("user" | "assistant" | "system" | "developer"); - id?: string; - /** @enum {string} */ - _type: "functionCall" | "function" | "image" | "file" | "message" | "autoInput" | "contentArray" | "audio"; + /** @enum {number|null} */ + error: null; }; - Tool: { - name: string; - description?: string; - parameters?: components["schemas"]["Record_string.any_"]; - strict?: boolean; + "Result__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array.string_": components["schemas"]["ResultSuccess__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array_"] | components["schemas"]["ResultError_string_"]; + UserQueryParams: { + userIds?: string[]; + timeFilter?: { + /** Format: double */ + endTimeUnixSeconds: number; + /** Format: double */ + startTimeUnixSeconds: number; + }; }; - HeliconeEventTool: { - /** @enum {string} */ - _type: "tool"; - toolName: string; - input: unknown; - [key: string]: unknown; + ValidationError: { + field: string; + message: string; }; - HeliconeEventVectorDB: { - /** @enum {string} */ - _type: "vector_db"; - /** @enum {string} */ - operation: "search" | "insert" | "delete" | "update"; - text?: string; - vector?: number[]; - /** Format: double */ - topK?: number; - filter?: Record; - databaseName?: string; - [key: string]: unknown; + ValidationResult: { + isValid: boolean; + errors: components["schemas"]["ValidationError"][]; }; - HeliconeEventData: { - /** @enum {string} */ - _type: "data"; - name: string; - meta?: components["schemas"]["Record_string.any_"]; + /** @description Construct a type with a set of properties K of type T */ + "Record_string.unknown_": { [key: string]: unknown; }; - LLMRequestBody: { - llm_type?: components["schemas"]["LlmType"]; - provider?: string; - model?: string; - messages?: components["schemas"]["Message"][] | null; - prompt?: string | null; - instructions?: string | null; + TypedProviderRequest: { + url: string; + json: components["schemas"]["Record_string.unknown_"]; + meta: components["schemas"]["Record_string.string_"]; + }; + TypedProviderResponse: { + json?: components["schemas"]["Record_string.unknown_"]; + textBody?: string; /** Format: double */ - max_tokens?: number | null; + status: number; + headers: components["schemas"]["Record_string.string_"]; + }; + TypedTiming: { /** Format: double */ - temperature?: number | null; + timeToFirstToken?: number; + startTime: string; + endTime: string; + }; + TypedAsyncLogModel: { + providerRequest: components["schemas"]["TypedProviderRequest"]; + providerResponse: components["schemas"]["TypedProviderResponse"]; + timing?: components["schemas"]["TypedTiming"]; + provider?: components["schemas"]["Provider"]; + }; + OTELTrace: { + resourceSpans: { + scopeSpans: { + spans: { + /** Format: double */ + droppedLinksCount: number; + links: unknown[]; + status: { + /** Format: double */ + code: number; + }; + /** Format: double */ + droppedEventsCount: number; + events: unknown[]; + /** Format: double */ + droppedAttributesCount: number; + attributes: { + value: { + /** Format: double */ + intValue?: number; + stringValue?: string; + }; + key: string; + }[]; + endTimeUnixNano: string; + startTimeUnixNano: string; + /** Format: double */ + kind: number; + name: string; + spanId: string; + traceId: string; + }[]; + scope: { + version: string; + name: string; + }; + }[]; + resource: { + /** Format: double */ + droppedAttributesCount: number; + attributes: { + value: { + arrayValue?: { + values: { + stringValue: string; + }[]; + }; + /** Format: double */ + intValue?: number; + stringValue?: string; + }; + key: string; + }[]; + }; + }[]; + }; + SendTestRequestResponse: { + success: boolean; + response?: string; + requestId?: string; + error?: string; + }; + SendTestRequestRequest: { + apiKey: string; + }; + SessionResult: { + created_at: string; + latest_request_created_at: string; + session_id: string; + session_name: string; /** Format: double */ - top_p?: number | null; + total_cost: number; /** Format: double */ - seed?: number | null; - stream?: boolean | null; + total_requests: number; /** Format: double */ - presence_penalty?: number | null; + prompt_tokens: number; /** Format: double */ - frequency_penalty?: number | null; - stop?: (string[] | string) | null; - /** @enum {string|null} */ - reasoning_effort?: "minimal" | "low" | "medium" | "high" | null; - /** @enum {string|null} */ - verbosity?: "low" | "medium" | "high" | null; - tools?: components["schemas"]["Tool"][]; - parallel_tool_calls?: boolean | null; - tool_choice?: { - name?: string; - /** @enum {string} */ - type: "none" | "auto" | "any" | "tool"; - }; - response_format?: { - json_schema?: unknown; - type: string; - }; - toolDetails?: components["schemas"]["HeliconeEventTool"]; - vectorDBDetails?: components["schemas"]["HeliconeEventVectorDB"]; - dataDetails?: components["schemas"]["HeliconeEventData"]; - input?: string | string[]; + completion_tokens: number; /** Format: double */ - n?: number | null; - size?: string; - quality?: string; - }; - Response: { - contentArray?: components["schemas"]["Response"][]; - detail?: string; - filename?: string; - file_id?: string; - file_data?: string; + total_tokens: number; /** Format: double */ - idx?: number; - audio_data?: string; - image_url?: string; - timestamp?: string; - tool_call_id?: string; - tool_calls?: components["schemas"]["FunctionCall"][]; - text?: string; - /** @enum {string} */ - type: "input_image" | "input_text" | "input_file"; - name?: string; - /** @enum {string} */ - role: "user" | "assistant" | "system" | "developer"; - id?: string; + avg_latency: number; + user_ids: string[]; + }; + "ResultSuccess_SessionResult-Array_": { + data: components["schemas"]["SessionResult"][]; + /** @enum {number|null} */ + error: null; + }; + "Result_SessionResult-Array.string_": components["schemas"]["ResultSuccess_SessionResult-Array_"] | components["schemas"]["ResultError_string_"]; + /** @description From T, pick a set of properties whose keys are in the union K */ + "Pick_FilterLeaf.request_response_rmt-or-sessions_request_response_rmt_": { + request_response_rmt?: components["schemas"]["Partial_RequestResponseRMTToOperators_"]; + sessions_request_response_rmt?: components["schemas"]["Partial_SessionsRequestResponseRMTToOperators_"]; + }; + "FilterLeafSubset_request_response_rmt-or-sessions_request_response_rmt_": components["schemas"]["Pick_FilterLeaf.request_response_rmt-or-sessions_request_response_rmt_"]; + SessionFilterNode: components["schemas"]["FilterLeafSubset_request_response_rmt-or-sessions_request_response_rmt_"] | components["schemas"]["SessionFilterBranch"] | "all"; + SessionFilterBranch: { + right: components["schemas"]["SessionFilterNode"]; /** @enum {string} */ - _type: "functionCall" | "function" | "image" | "text" | "file" | "contentArray"; + operator: "or" | "and"; + left: components["schemas"]["SessionFilterNode"]; }; - LLMResponseBody: { - dataDetailsResponse?: { - name: string; - /** @enum {string} */ - _type: "data"; - metadata: { - timestamp: string; - [key: string]: unknown; - }; - message: string; - status: string; - [key: string]: unknown; - }; - vectorDBDetailsResponse?: { - /** @enum {string} */ - _type: "vector_db"; - metadata: { - timestamp: string; - destination_parsed?: boolean; - destination?: string; - }; + SessionQueryParams: { + search: string; + timeFilter: { /** Format: double */ - actualSimilarity?: number; + endTimeUnixMs: number; /** Format: double */ - similarityThreshold?: number; - message: string; - status: string; - }; - toolDetailsResponse?: { - toolName: string; - /** @enum {string} */ - _type: "tool"; - metadata: { - timestamp: string; - }; - tips: string[]; - message: string; - status: string; - }; - error?: { - heliconeMessage: unknown; + startTimeUnixMs: number; }; - model?: string | null; - instructions?: string | null; - responses?: components["schemas"]["Response"][] | null; - messages?: components["schemas"]["Message"][] | null; - }; - LlmSchema: { - request: components["schemas"]["LLMRequestBody"]; - response?: components["schemas"]["LLMResponseBody"] | null; - }; - HeliconeRequest: { - response_id: string | null; - response_created_at: string | null; - response_body?: unknown; + nameEquals?: string; /** Format: double */ - response_status: number; - response_model: string | null; - request_id: string; - request_created_at: string; - request_body: unknown; - request_path: string; - request_user_id: string | null; - request_properties: components["schemas"]["Record_string.string_"] | null; - request_model: string | null; - model_override: string | null; - helicone_user: string | null; - provider: components["schemas"]["Provider"]; + timezoneDifference: number; + filter: components["schemas"]["SessionFilterNode"]; /** Format: double */ - delay_ms: number | null; + offset?: number; /** Format: double */ - time_to_first_token: number | null; + limit?: number; + }; + SessionsAggregateMetrics: { /** Format: double */ - total_tokens: number | null; + count: number; /** Format: double */ - prompt_tokens: number | null; + total_cost: number; /** Format: double */ - prompt_cache_write_tokens: number | null; + avg_cost: number; /** Format: double */ - prompt_cache_read_tokens: number | null; + avg_latency: number; /** Format: double */ - completion_tokens: number | null; + avg_requests: number; + }; + ResultSuccess_SessionsAggregateMetrics_: { + data: components["schemas"]["SessionsAggregateMetrics"]; + /** @enum {number|null} */ + error: null; + }; + "Result_SessionsAggregateMetrics.string_": components["schemas"]["ResultSuccess_SessionsAggregateMetrics_"] | components["schemas"]["ResultError_string_"]; + SessionNameResult: { + name: string; + created_at: string; + last_used: string; + first_used: string; /** Format: double */ - reasoning_tokens: number | null; + session_count: number; /** Format: double */ - prompt_audio_tokens: number | null; + avg_latency: number; + }; + "ResultSuccess_SessionNameResult-Array_": { + data: components["schemas"]["SessionNameResult"][]; + /** @enum {number|null} */ + error: null; + }; + "Result_SessionNameResult-Array.string_": components["schemas"]["ResultSuccess_SessionNameResult-Array_"] | components["schemas"]["ResultError_string_"]; + TimeFilterMs: { /** Format: double */ - completion_audio_tokens: number | null; + startTimeUnixMs: number; /** Format: double */ - cost: number | null; - prompt_id: string | null; - prompt_version: string | null; - feedback_created_at?: string | null; - feedback_id?: string | null; - feedback_rating?: boolean | null; - signed_body_url?: string | null; - llmSchema: components["schemas"]["LlmSchema"] | null; - country_code: string | null; - asset_ids: string[] | null; - asset_urls: components["schemas"]["Record_string.string_"] | null; - scores: components["schemas"]["Record_string.number_"] | null; + endTimeUnixMs: number; + }; + SessionNameQueryParams: { + nameContains: string; /** Format: double */ - costUSD?: number | null; - properties: components["schemas"]["Record_string.string_"]; - assets: string[]; - target_url: string; - model: string; - cache_reference_id: string | null; - cache_enabled: boolean; - updated_at?: string; - request_referrer?: string | null; - ai_gateway_body_mapping: string | null; - storage_location?: string; + timezoneDifference: number; + /** @enum {string} */ + pSize?: "p50" | "p75" | "p95" | "p99" | "p99.9"; + useInterquartile?: boolean; + timeFilter?: components["schemas"]["TimeFilterMs"]; + filter?: components["schemas"]["SessionFilterNode"]; }; - "ResultSuccess_HeliconeRequest-Array_": { - data: components["schemas"]["HeliconeRequest"][]; - /** @enum {number|null} */ - error: null; + AverageRow: { + /** Format: double */ + average: number; }; - "Result_HeliconeRequest-Array.string_": components["schemas"]["ResultSuccess_HeliconeRequest-Array_"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_HeliconeRequest_: { - data: components["schemas"]["HeliconeRequest"]; - /** @enum {number|null} */ - error: null; + SessionMetrics: { + session_count: components["schemas"]["HistogramRow"][]; + session_duration: components["schemas"]["HistogramRow"][]; + session_cost: components["schemas"]["HistogramRow"][]; + average: { + session_cost: components["schemas"]["AverageRow"][]; + session_duration: components["schemas"]["AverageRow"][]; + session_count: components["schemas"]["AverageRow"][]; + }; }; - "Result_HeliconeRequest.string_": components["schemas"]["ResultSuccess_HeliconeRequest_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null_": { - data: ({ - environment: string | null; - version_id: string; - prompt_id: string; - inputs: components["schemas"]["Record_string.any_"]; - }) | null; + ResultSuccess_SessionMetrics_: { + data: components["schemas"]["SessionMetrics"]; /** @enum {number|null} */ error: null; }; - "Result__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null.string_": components["schemas"]["ResultSuccess__inputs-Record_string.any_--prompt_id-string--version_id-string--environment-string-or-null_-or-null_"] | components["schemas"]["ResultError_string_"]; - HeliconeRequestAsset: { - assetUrl: string; + "Result_SessionMetrics.string_": components["schemas"]["ResultSuccess_SessionMetrics_"] | components["schemas"]["ResultError_string_"]; + SessionMetricsQueryParams: { + nameContains: string; + /** Format: double */ + timezoneDifference: number; + /** @enum {string} */ + pSize?: "p50" | "p75" | "p95" | "p99" | "p99.9"; + useInterquartile?: boolean; + timeFilter?: components["schemas"]["TimeFilterMs"]; + filter?: components["schemas"]["SessionFilterNode"]; }; - ResultSuccess_HeliconeRequestAsset_: { - data: components["schemas"]["HeliconeRequestAsset"]; + "ResultSuccess_string-or-null_": { + data: string | null; /** @enum {number|null} */ error: null; }; - "Result_HeliconeRequestAsset.string_": components["schemas"]["ResultSuccess_HeliconeRequestAsset_"] | components["schemas"]["ResultError_string_"]; - /** @description Construct a type with a set of properties K of type T */ - "Record_string.number-or-boolean-or-undefined_": { - [key: string]: number | boolean; - }; - Scores: components["schemas"]["Record_string.number-or-boolean-or-undefined_"]; - ScoreRequest: { - scores: components["schemas"]["Scores"]; - }; - ConversationMessage: { - role: string; - content: string; - }; - MostExpensiveRequest: { - requestId: string; + "Result_string-or-null.string_": components["schemas"]["ResultSuccess_string-or-null_"] | components["schemas"]["ResultError_string_"]; + MetricsData: { /** Format: double */ - cost: number; - model: string; - provider: string; - createdAt: string; + totalRequests: number; /** Format: double */ - promptTokens: number; + requestCountPrevious24h: number; /** Format: double */ - completionTokens: number; - conversation: { - /** Format: double */ - totalWords: number; - /** Format: double */ - turnCount: number; - messages: components["schemas"]["ConversationMessage"][]; - } | null; - }; - WrappedStats: { + requestVolumeChange: number; /** Format: double */ - totalRequests: number; - topProviders: { - /** Format: double */ - count: number; - provider: string; - }[]; - topModels: { - /** Format: double */ - count: number; - model: string; - }[]; - totalTokens: { - /** Format: double */ - total: number; - /** Format: double */ - cacheRead: number; - /** Format: double */ - cacheWrite: number; - /** Format: double */ - completion: number; - /** Format: double */ - prompt: number; - }; - mostExpensiveRequest: components["schemas"]["MostExpensiveRequest"] | null; + errorRate24h: number; + /** Format: double */ + errorRatePrevious24h: number; + /** Format: double */ + errorRateChange: number; + /** Format: double */ + averageLatency: number; + /** Format: double */ + averageLatencyPerToken: number; + /** Format: double */ + latencyChange: number; + /** Format: double */ + latencyPerTokenChange: number; + /** Format: double */ + recentRequestCount: number; + /** Format: double */ + recentErrorCount: number; }; - ResultSuccess_WrappedStats_: { - data: components["schemas"]["WrappedStats"]; - /** @enum {number|null} */ - error: null; + TimeSeriesDataPoint: { + /** Format: date-time */ + timestamp: string; + /** Format: double */ + errorCount: number; + /** Format: double */ + requestCount: number; + /** Format: double */ + averageLatency: number; + /** Format: double */ + averageLatencyPerCompletionToken: number; }; - "Result_WrappedStats.string_": components["schemas"]["ResultSuccess_WrappedStats_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__hasData-boolean__": { - data: { - hasData: boolean; + ProviderMetrics: { + providerName: string; + metrics: components["schemas"]["MetricsData"] & { + timeSeriesData: components["schemas"]["TimeSeriesDataPoint"][]; }; - /** @enum {number|null} */ - error: null; - }; - "Result__hasData-boolean_.string_": components["schemas"]["ResultSuccess__hasData-boolean__"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_unknown_: { - data: unknown; - /** @enum {number|null} */ - error: null; - }; - ResultError_unknown_: { - /** @enum {number|null} */ - data: null; - error: unknown; - }; - WebhookData: { - destination: string; - config: components["schemas"]["Record_string.any_"]; - includeData?: boolean; }; - "ResultSuccess__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array_": { - data: { - hmac_key: string; - config: string; - version: string; - destination: string; - created_at: string; - id: string; - }[]; + "ResultSuccess_ProviderMetrics-Array_": { + data: components["schemas"]["ProviderMetrics"][]; /** @enum {number|null} */ error: null; }; - "Result__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array.string_": components["schemas"]["ResultSuccess__id-string--created_at-string--destination-string--version-string--config-string--hmac_key-string_-Array_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__success-boolean--message-string__": { - data: { - message: string; - success: boolean; - }; + "Result_ProviderMetrics-Array.string_": components["schemas"]["ResultSuccess_ProviderMetrics-Array_"] | components["schemas"]["ResultError_string_"]; + ResultSuccess_ProviderMetrics_: { + data: components["schemas"]["ProviderMetrics"]; /** @enum {number|null} */ error: null; }; - "Result__success-boolean--message-string_.string_": components["schemas"]["ResultSuccess__success-boolean--message-string__"] | components["schemas"]["ResultError_string_"]; - AddVaultKeyParams: { - key: string; + "Result_ProviderMetrics.string_": components["schemas"]["ResultSuccess_ProviderMetrics_"] | components["schemas"]["ResultError_string_"]; + /** @enum {string} */ + TimeFrame: "24h" | "7d" | "30d"; + ProviderMetric: { provider: string; - name?: string; - }; - "ResultSuccess_DecryptedProviderKey-Array_": { - data: components["schemas"]["DecryptedProviderKey"][]; - /** @enum {number|null} */ - error: null; + /** Format: double */ + total_requests: number; }; - "Result_DecryptedProviderKey-Array.string_": components["schemas"]["ResultSuccess_DecryptedProviderKey-Array_"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_DecryptedProviderKey_: { - data: components["schemas"]["DecryptedProviderKey"]; + "ResultSuccess_ProviderMetric-Array_": { + data: components["schemas"]["ProviderMetric"][]; /** @enum {number|null} */ error: null; }; - "Result_DecryptedProviderKey.string_": components["schemas"]["ResultSuccess_DecryptedProviderKey_"] | components["schemas"]["ResultError_string_"]; - HistogramRow: { - range_start: string; - range_end: string; - /** Format: double */ - value: number; + "Result_ProviderMetric-Array.string_": components["schemas"]["ResultSuccess_ProviderMetric-Array_"] | components["schemas"]["ResultError_string_"]; + /** @description Make all properties in T optional */ + Partial_UserMetricsToOperators_: { + user_id?: components["schemas"]["Partial_TextOperators_"]; + last_active?: components["schemas"]["Partial_TimestampOperators_"]; + total_requests?: components["schemas"]["Partial_NumberOperators_"]; + active_for?: components["schemas"]["Partial_NumberOperators_"]; + average_requests_per_day_active?: components["schemas"]["Partial_NumberOperators_"]; + average_tokens_per_request?: components["schemas"]["Partial_NumberOperators_"]; + total_completion_tokens?: components["schemas"]["Partial_NumberOperators_"]; + total_prompt_tokens?: components["schemas"]["Partial_NumberOperators_"]; + cost?: components["schemas"]["Partial_NumberOperators_"]; }; - "ResultSuccess__request_count-HistogramRow-Array--user_cost-HistogramRow-Array__": { - data: { - user_cost: components["schemas"]["HistogramRow"][]; - request_count: components["schemas"]["HistogramRow"][]; + /** @description Make all properties in T optional */ + Partial_UserApiKeysTableToOperators_: { + api_key_hash?: components["schemas"]["Partial_TextOperators_"]; + api_key_name?: components["schemas"]["Partial_TextOperators_"]; + }; + /** @description Make all properties in T optional */ + Partial_PropertiesTableToOperators_: { + auth_hash?: components["schemas"]["Partial_TextOperators_"]; + key?: components["schemas"]["Partial_TextOperators_"]; + value?: components["schemas"]["Partial_TextOperators_"]; + }; + /** @description Make all properties in T optional */ + Partial_PromptToOperators_: { + id?: components["schemas"]["Partial_TextOperators_"]; + user_defined_id?: components["schemas"]["Partial_TextOperators_"]; + }; + /** @description Make all properties in T optional */ + Partial_PromptVersionsToOperators_: { + minor_version?: components["schemas"]["Partial_NumberOperators_"]; + major_version?: components["schemas"]["Partial_NumberOperators_"]; + id?: components["schemas"]["Partial_TextOperators_"]; + prompt_v2?: components["schemas"]["Partial_TextOperators_"]; + }; + /** @description Make all properties in T optional */ + Partial_ExperimentToOperators_: { + id?: components["schemas"]["Partial_TextOperators_"]; + prompt_v2?: components["schemas"]["Partial_TextOperators_"]; + }; + /** @description Make all properties in T optional */ + Partial_ExperimentHypothesisRunToOperator_: { + result_request_id?: components["schemas"]["Partial_TextOperators_"]; + }; + /** @description Make all properties in T optional */ + Partial_ScoreValueToOperator_: { + request_id?: components["schemas"]["Partial_TextOperators_"]; + }; + /** @description Make all properties in T optional */ + Partial_RequestResponseLogToOperators_: { + latency?: components["schemas"]["Partial_NumberOperators_"]; + status?: components["schemas"]["Partial_NumberOperators_"]; + request_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; + response_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; + auth_hash?: components["schemas"]["Partial_TextOperators_"]; + model?: components["schemas"]["Partial_TextOperators_"]; + user_id?: components["schemas"]["Partial_TextOperators_"]; + organization_id?: components["schemas"]["Partial_TextOperators_"]; + node_id?: components["schemas"]["Partial_TextOperators_"]; + job_id?: components["schemas"]["Partial_TextOperators_"]; + threat?: components["schemas"]["Partial_BooleanOperators_"]; + }; + /** @description Make all properties in T optional */ + Partial_PropertiesV3ToOperators_: { + key?: components["schemas"]["Partial_TextOperators_"]; + value?: components["schemas"]["Partial_TextOperators_"]; + organization_id?: components["schemas"]["Partial_TextOperators_"]; + }; + /** @description Make all properties in T optional */ + Partial_PropertyWithResponseV1ToOperators_: { + property_key?: components["schemas"]["Partial_TextOperators_"]; + property_value?: components["schemas"]["Partial_TextOperators_"]; + request_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; + organization_id?: components["schemas"]["Partial_TextOperators_"]; + threat?: components["schemas"]["Partial_BooleanOperators_"]; + }; + /** @description Make all properties in T optional */ + Partial_JobToOperators_: { + id?: components["schemas"]["Partial_TextOperators_"]; + name?: components["schemas"]["Partial_TextOperators_"]; + description?: components["schemas"]["Partial_TextOperators_"]; + status?: components["schemas"]["Partial_TextOperators_"]; + created_at?: components["schemas"]["Partial_TimestampOperators_"]; + updated_at?: components["schemas"]["Partial_TimestampOperators_"]; + timeout_seconds?: components["schemas"]["Partial_NumberOperators_"]; + custom_properties?: { + [key: string]: components["schemas"]["Partial_TextOperators_"]; }; - /** @enum {number|null} */ - error: null; + org_id?: components["schemas"]["Partial_TextOperators_"]; }; - "Result__request_count-HistogramRow-Array--user_cost-HistogramRow-Array_.string_": components["schemas"]["ResultSuccess__request_count-HistogramRow-Array--user_cost-HistogramRow-Array__"] | components["schemas"]["ResultError_string_"]; /** @description Make all properties in T optional */ - Partial_UserViewToOperators_: { - user_user_id?: components["schemas"]["Partial_TextOperators_"]; - user_active_for?: components["schemas"]["Partial_NumberOperators_"]; - user_first_active?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - user_last_active?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - user_total_requests?: components["schemas"]["Partial_NumberOperators_"]; - user_average_requests_per_day_active?: components["schemas"]["Partial_NumberOperators_"]; - user_average_tokens_per_request?: components["schemas"]["Partial_NumberOperators_"]; - user_total_completion_tokens?: components["schemas"]["Partial_NumberOperators_"]; - user_total_prompt_tokens?: components["schemas"]["Partial_NumberOperators_"]; - user_cost?: components["schemas"]["Partial_NumberOperators_"]; + Partial_NodesToOperators_: { + id?: components["schemas"]["Partial_TextOperators_"]; + name?: components["schemas"]["Partial_TextOperators_"]; + description?: components["schemas"]["Partial_TextOperators_"]; + job_id?: components["schemas"]["Partial_TextOperators_"]; + status?: components["schemas"]["Partial_TextOperators_"]; + created_at?: components["schemas"]["Partial_TimestampOperators_"]; + updated_at?: components["schemas"]["Partial_TimestampOperators_"]; + timeout_seconds?: components["schemas"]["Partial_NumberOperators_"]; + custom_properties?: { + [key: string]: components["schemas"]["Partial_TextOperators_"]; + }; + org_id?: components["schemas"]["Partial_TextOperators_"]; }; - /** @description From T, pick a set of properties whose keys are in the union K */ - "Pick_FilterLeaf.users_view-or-request_response_rmt_": { - request_response_rmt?: components["schemas"]["Partial_RequestResponseRMTToOperators_"]; - users_view?: components["schemas"]["Partial_UserViewToOperators_"]; + /** @description Make all properties in T optional */ + Partial_CacheMetricsTableToOperators_: { + organization_id?: components["schemas"]["Partial_TextOperators_"]; + request_id?: components["schemas"]["Partial_TextOperators_"]; + date?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; + hour?: components["schemas"]["Partial_NumberOperators_"]; + model?: components["schemas"]["Partial_TextOperators_"]; + cache_hit_count?: components["schemas"]["Partial_NumberOperators_"]; + saved_latency_ms?: components["schemas"]["Partial_NumberOperators_"]; + saved_completion_tokens?: components["schemas"]["Partial_NumberOperators_"]; + saved_prompt_tokens?: components["schemas"]["Partial_NumberOperators_"]; + saved_completion_audio_tokens?: components["schemas"]["Partial_NumberOperators_"]; + saved_prompt_audio_tokens?: components["schemas"]["Partial_NumberOperators_"]; + saved_prompt_cache_write_tokens?: components["schemas"]["Partial_NumberOperators_"]; + saved_prompt_cache_read_tokens?: components["schemas"]["Partial_NumberOperators_"]; + first_hit?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; + last_hit?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; + request_body?: components["schemas"]["Partial_TextOperators_"]; + response_body?: components["schemas"]["Partial_TextOperators_"]; }; - "FilterLeafSubset_users_view-or-request_response_rmt_": components["schemas"]["Pick_FilterLeaf.users_view-or-request_response_rmt_"]; - UserFilterNode: components["schemas"]["FilterLeafSubset_users_view-or-request_response_rmt_"] | components["schemas"]["UserFilterBranch"] | "all"; - UserFilterBranch: { - right: components["schemas"]["UserFilterNode"]; - /** @enum {string} */ - operator: "or" | "and"; - left: components["schemas"]["UserFilterNode"]; + /** @description Make all properties in T optional */ + Partial_RateLimitTableToOperators_: { + organization_id?: components["schemas"]["Partial_TextOperators_"]; + created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; }; - /** @enum {string} */ - PSize: "p50" | "p75" | "p95" | "p99" | "p99.9"; - UserMetricsResult: { - id: string; - user_id: string; - /** Format: double */ - active_for: number; - first_active: string; - last_active: string; - /** Format: double */ - total_requests: number; - /** Format: double */ - average_requests_per_day_active: number; - /** Format: double */ - average_tokens_per_request: number; - /** Format: double */ - total_completion_tokens: number; - /** Format: double */ - total_prompt_tokens: number; - /** Format: double */ - cost: number; + /** @description Make all properties in T optional */ + Partial_OrganizationPropertiesToOperators_: { + organization_id?: components["schemas"]["Partial_TextOperators_"]; + property_key?: components["schemas"]["Partial_TextOperators_"]; }; - "ResultSuccess__users-UserMetricsResult-Array--count-number--hasUsers-boolean__": { - data: { - hasUsers: boolean; - /** Format: double */ - count: number; - users: components["schemas"]["UserMetricsResult"][]; + /** @description Make all properties in T optional */ + Partial_TablesAndViews_: { + user_metrics?: components["schemas"]["Partial_UserMetricsToOperators_"]; + user_api_keys?: components["schemas"]["Partial_UserApiKeysTableToOperators_"]; + response?: components["schemas"]["Partial_ResponseTableToOperators_"]; + request?: components["schemas"]["Partial_RequestTableToOperators_"]; + feedback?: components["schemas"]["Partial_FeedbackTableToOperators_"]; + properties_table?: components["schemas"]["Partial_PropertiesTableToOperators_"]; + prompt_v2?: components["schemas"]["Partial_PromptToOperators_"]; + prompts_versions?: components["schemas"]["Partial_PromptVersionsToOperators_"]; + experiment?: components["schemas"]["Partial_ExperimentToOperators_"]; + experiment_hypothesis_run?: components["schemas"]["Partial_ExperimentHypothesisRunToOperator_"]; + score_value?: components["schemas"]["Partial_ScoreValueToOperator_"]; + request_response_log?: components["schemas"]["Partial_RequestResponseLogToOperators_"]; + request_response_rmt?: components["schemas"]["Partial_RequestResponseRMTToOperators_"]; + sessions_request_response_rmt?: components["schemas"]["Partial_SessionsRequestResponseRMTToOperators_"]; + users_view?: components["schemas"]["Partial_UserViewToOperators_"]; + properties_v3?: components["schemas"]["Partial_PropertiesV3ToOperators_"]; + property_with_response_v1?: components["schemas"]["Partial_PropertyWithResponseV1ToOperators_"]; + job?: components["schemas"]["Partial_JobToOperators_"]; + job_node?: components["schemas"]["Partial_NodesToOperators_"]; + cache_metrics?: components["schemas"]["Partial_CacheMetricsTableToOperators_"]; + rate_limit_log?: components["schemas"]["Partial_RateLimitTableToOperators_"]; + organization_properties?: components["schemas"]["Partial_OrganizationPropertiesToOperators_"]; + properties?: { + [key: string]: components["schemas"]["Partial_TextOperators_"]; + }; + values?: { + [key: string]: components["schemas"]["Partial_TextOperators_"]; }; - /** @enum {number|null} */ - error: null; }; - "Result__users-UserMetricsResult-Array--count-number--hasUsers-boolean_.string_": components["schemas"]["ResultSuccess__users-UserMetricsResult-Array--count-number--hasUsers-boolean__"] | components["schemas"]["ResultError_string_"]; - SortLeafUsers: { - id?: components["schemas"]["SortDirection"]; - user_id?: components["schemas"]["SortDirection"]; - active_for?: components["schemas"]["SortDirection"]; - first_active?: components["schemas"]["SortDirection"]; - last_active?: components["schemas"]["SortDirection"]; - total_requests?: components["schemas"]["SortDirection"]; - average_requests_per_day_active?: components["schemas"]["SortDirection"]; - average_tokens_per_request?: components["schemas"]["SortDirection"]; - total_prompt_tokens?: components["schemas"]["SortDirection"]; - total_completion_tokens?: components["schemas"]["SortDirection"]; - cost?: components["schemas"]["SortDirection"]; - rate_limited_count?: components["schemas"]["SortDirection"]; + SingleKey_TablesAndViews_: components["schemas"]["Partial_TablesAndViews_"]; + FilterLeaf: components["schemas"]["SingleKey_TablesAndViews_"]; + FilterNode: components["schemas"]["FilterLeaf"] | components["schemas"]["FilterBranch"] | Record | "all"; + FilterBranch: { + left: components["schemas"]["FilterNode"]; + /** @enum {string} */ + operator: "or" | "and"; + right: components["schemas"]["FilterNode"]; }; - UserMetricsQueryParams: { - filter: components["schemas"]["UserFilterNode"]; + ProviderQueryParams: { + filter: components["schemas"]["FilterNode"]; /** Format: double */ offset: number; /** Format: double */ limit: number; - timeFilter?: { - /** Format: double */ - endTimeUnixSeconds: number; - /** Format: double */ - startTimeUnixSeconds: number; + timeFilter: { + end: string; + start: string; }; - /** Format: double */ - timeZoneDifferenceMinutes?: number; - sort?: components["schemas"]["SortLeafUsers"]; }; - "ResultSuccess__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array_": { + "ResultSuccess__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array_": { data: { + created_at_trunc: string; /** Format: double */ - cost: number; - user_id: string; - /** Format: double */ - completion_tokens: number; - /** Format: double */ - prompt_tokens: number; + request_count: number; /** Format: double */ - count: number; + total_cost: number; + property: string; }[]; /** @enum {number|null} */ error: null; }; - "Result__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array.string_": components["schemas"]["ResultSuccess__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array_"] | components["schemas"]["ResultError_string_"]; - UserQueryParams: { - userIds?: string[]; - timeFilter?: { - /** Format: double */ - endTimeUnixSeconds: number; - /** Format: double */ - startTimeUnixSeconds: number; - }; - }; - ValidationError: { - field: string; - message: string; - }; - ValidationResult: { - isValid: boolean; - errors: components["schemas"]["ValidationError"][]; - }; - TypedProviderRequest: { - url: string; - json: components["schemas"]["Record_string.unknown_"]; - meta: components["schemas"]["Record_string.string_"]; + "Result__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array.string_": components["schemas"]["ResultSuccess__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array_"] | components["schemas"]["ResultError_string_"]; + /** @description From T, pick a set of properties whose keys are in the union K */ + "Pick_FilterLeaf.request_response_rmt_": { + request_response_rmt?: components["schemas"]["Partial_RequestResponseRMTToOperators_"]; }; - TypedProviderResponse: { - json?: components["schemas"]["Record_string.unknown_"]; - textBody?: string; - /** Format: double */ - status: number; - headers: components["schemas"]["Record_string.string_"]; + FilterLeafSubset_request_response_rmt_: components["schemas"]["Pick_FilterLeaf.request_response_rmt_"]; + RequestClickhouseFilterNode: components["schemas"]["FilterLeafSubset_request_response_rmt_"] | components["schemas"]["RequestClickhouseFilterBranch"] | "all"; + RequestClickhouseFilterBranch: { + right: components["schemas"]["RequestClickhouseFilterNode"]; + /** @enum {string} */ + operator: "or" | "and"; + left: components["schemas"]["RequestClickhouseFilterNode"]; }; - TypedTiming: { + /** @enum {string} */ + TimeIncrement: "min" | "hour" | "day" | "week" | "month" | "year"; + DataOverTimeRequest: { + timeFilter: { + end: string; + start: string; + }; + userFilter: components["schemas"]["RequestClickhouseFilterNode"]; + dbIncrement: components["schemas"]["TimeIncrement"]; /** Format: double */ - timeToFirstToken?: number; - startTime: string; - endTime: string; - }; - TypedAsyncLogModel: { - providerRequest: components["schemas"]["TypedProviderRequest"]; - providerResponse: components["schemas"]["TypedProviderResponse"]; - timing?: components["schemas"]["TypedTiming"]; - provider?: components["schemas"]["Provider"]; - }; - OTELTrace: { - resourceSpans: { - scopeSpans: { - spans: { - /** Format: double */ - droppedLinksCount: number; - links: unknown[]; - status: { - /** Format: double */ - code: number; - }; - /** Format: double */ - droppedEventsCount: number; - events: unknown[]; - /** Format: double */ - droppedAttributesCount: number; - attributes: { - value: { - /** Format: double */ - intValue?: number; - stringValue?: string; - }; - key: string; - }[]; - endTimeUnixNano: string; - startTimeUnixNano: string; - /** Format: double */ - kind: number; - name: string; - spanId: string; - traceId: string; - }[]; - scope: { - version: string; - name: string; - }; - }[]; - resource: { - /** Format: double */ - droppedAttributesCount: number; - attributes: { - value: { - arrayValue?: { - values: { - stringValue: string; - }[]; - }; - /** Format: double */ - intValue?: number; - stringValue?: string; - }; - key: string; - }[]; - }; - }[]; - }; - SendTestRequestResponse: { - success: boolean; - response?: string; - requestId?: string; - error?: string; + timeZoneDifference: number; }; - SendTestRequestRequest: { - apiKey: string; + Property: { + property: string; }; - SessionResult: { - created_at: string; - latest_request_created_at: string; - session_id: string; - session_name: string; - /** Format: double */ - total_cost: number; - /** Format: double */ - total_requests: number; - /** Format: double */ - prompt_tokens: number; - /** Format: double */ - completion_tokens: number; - /** Format: double */ - total_tokens: number; - /** Format: double */ - avg_latency: number; - user_ids: string[]; + "ResultSuccess_Property-Array_": { + data: components["schemas"]["Property"][]; + /** @enum {number|null} */ + error: null; }; - "ResultSuccess_SessionResult-Array_": { - data: components["schemas"]["SessionResult"][]; + "Result_Property-Array.string_": components["schemas"]["ResultSuccess_Property-Array_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess_unknown-Array_": { + data: unknown[]; /** @enum {number|null} */ error: null; }; - "Result_SessionResult-Array.string_": components["schemas"]["ResultSuccess_SessionResult-Array_"] | components["schemas"]["ResultError_string_"]; - /** @description From T, pick a set of properties whose keys are in the union K */ - "Pick_FilterLeaf.request_response_rmt-or-sessions_request_response_rmt_": { - request_response_rmt?: components["schemas"]["Partial_RequestResponseRMTToOperators_"]; - sessions_request_response_rmt?: components["schemas"]["Partial_SessionsRequestResponseRMTToOperators_"]; + "ResultSuccess_string-Array_": { + data: string[]; + /** @enum {number|null} */ + error: null; }; - "FilterLeafSubset_request_response_rmt-or-sessions_request_response_rmt_": components["schemas"]["Pick_FilterLeaf.request_response_rmt-or-sessions_request_response_rmt_"]; - SessionFilterNode: components["schemas"]["FilterLeafSubset_request_response_rmt-or-sessions_request_response_rmt_"] | components["schemas"]["SessionFilterBranch"] | "all"; - SessionFilterBranch: { - right: components["schemas"]["SessionFilterNode"]; - /** @enum {string} */ - operator: "or" | "and"; - left: components["schemas"]["SessionFilterNode"]; + "Result_string-Array.string_": components["schemas"]["ResultSuccess_string-Array_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__value-string--cost-number_-Array_": { + data: { + /** Format: double */ + cost: number; + value: string; + }[]; + /** @enum {number|null} */ + error: null; }; - SessionQueryParams: { - search: string; + "Result__value-string--cost-number_-Array.string_": components["schemas"]["ResultSuccess__value-string--cost-number_-Array_"] | components["schemas"]["ResultError_string_"]; + TimeFilterRequest: { timeFilter: { - /** Format: double */ - endTimeUnixMs: number; - /** Format: double */ - startTimeUnixMs: number; + end: string; + start: string; }; - nameEquals?: string; - /** Format: double */ - timezoneDifference: number; - filter: components["schemas"]["SessionFilterNode"]; - /** Format: double */ - offset?: number; - /** Format: double */ - limit?: number; - }; - SessionsAggregateMetrics: { - /** Format: double */ - count: number; - /** Format: double */ - total_cost: number; - /** Format: double */ - avg_cost: number; - /** Format: double */ - avg_latency: number; - /** Format: double */ - avg_requests: number; }; - ResultSuccess_SessionsAggregateMetrics_: { - data: components["schemas"]["SessionsAggregateMetrics"]; + "ResultSuccess__value-string--count-number_-Array_": { + data: { + /** Format: double */ + count: number; + value: string; + }[]; /** @enum {number|null} */ error: null; }; - "Result_SessionsAggregateMetrics.string_": components["schemas"]["ResultSuccess_SessionsAggregateMetrics_"] | components["schemas"]["ResultError_string_"]; - SessionNameResult: { + "Result__value-string--count-number_-Array.string_": components["schemas"]["ResultSuccess__value-string--count-number_-Array_"] | components["schemas"]["ResultError_string_"]; + Prompt2025: { + id: string; name: string; + tags: string[]; created_at: string; - last_used: string; - first_used: string; - /** Format: double */ - session_count: number; - /** Format: double */ - avg_latency: number; }; - "ResultSuccess_SessionNameResult-Array_": { - data: components["schemas"]["SessionNameResult"][]; + ResultSuccess_Prompt2025_: { + data: components["schemas"]["Prompt2025"]; /** @enum {number|null} */ error: null; }; - "Result_SessionNameResult-Array.string_": components["schemas"]["ResultSuccess_SessionNameResult-Array_"] | components["schemas"]["ResultError_string_"]; - TimeFilterMs: { - /** Format: double */ - startTimeUnixMs: number; - /** Format: double */ - endTimeUnixMs: number; + "Result_Prompt2025.string_": components["schemas"]["ResultSuccess_Prompt2025_"] | components["schemas"]["ResultError_string_"]; + Prompt2025Input: { + request_id: string; + version_id: string; + inputs: components["schemas"]["Record_string.any_"]; }; - SessionNameQueryParams: { - nameContains: string; - /** Format: double */ - timezoneDifference: number; - /** @enum {string} */ - pSize?: "p50" | "p75" | "p95" | "p99" | "p99.9"; - useInterquartile?: boolean; - timeFilter?: components["schemas"]["TimeFilterMs"]; - filter?: components["schemas"]["SessionFilterNode"]; - }; - AverageRow: { - /** Format: double */ - average: number; - }; - SessionMetrics: { - session_count: components["schemas"]["HistogramRow"][]; - session_duration: components["schemas"]["HistogramRow"][]; - session_cost: components["schemas"]["HistogramRow"][]; - average: { - session_cost: components["schemas"]["AverageRow"][]; - session_duration: components["schemas"]["AverageRow"][]; - session_count: components["schemas"]["AverageRow"][]; - }; - }; - ResultSuccess_SessionMetrics_: { - data: components["schemas"]["SessionMetrics"]; + ResultSuccess_Prompt2025Input_: { + data: components["schemas"]["Prompt2025Input"]; /** @enum {number|null} */ error: null; }; - "Result_SessionMetrics.string_": components["schemas"]["ResultSuccess_SessionMetrics_"] | components["schemas"]["ResultError_string_"]; - SessionMetricsQueryParams: { - nameContains: string; - /** Format: double */ - timezoneDifference: number; - /** @enum {string} */ - pSize?: "p50" | "p75" | "p95" | "p99" | "p99.9"; - useInterquartile?: boolean; - timeFilter?: components["schemas"]["TimeFilterMs"]; - filter?: components["schemas"]["SessionFilterNode"]; + "Result_Prompt2025Input.string_": components["schemas"]["ResultSuccess_Prompt2025Input_"] | components["schemas"]["ResultError_string_"]; + PromptCreateResponse: { + id: string; + versionId: string; }; - "ResultSuccess_string-or-null_": { - data: string | null; + ResultSuccess_PromptCreateResponse_: { + data: components["schemas"]["PromptCreateResponse"]; /** @enum {number|null} */ error: null; }; - "Result_string-or-null.string_": components["schemas"]["ResultSuccess_string-or-null_"] | components["schemas"]["ResultError_string_"]; - MetricsData: { + "Result_PromptCreateResponse.string_": components["schemas"]["ResultSuccess_PromptCreateResponse_"] | components["schemas"]["ResultError_string_"]; + /** @description Simplified interface for the OpenAI Chat request format */ + OpenAIChatRequest: { + model?: string; + messages?: ({ + tool_calls?: { + /** @enum {string} */ + type: "function"; + function: { + arguments: string; + name: string; + }; + id: string; + }[]; + tool_call_id?: string; + name?: string; + content: (string | { + image_url?: { + url: string; + }; + text?: string; + type: string; + }[]) | null; + role: string; + })[]; /** Format: double */ - totalRequests: number; + temperature?: number; /** Format: double */ - requestCountPrevious24h: number; + top_p?: number; /** Format: double */ - requestVolumeChange: number; + max_tokens?: number; /** Format: double */ - errorRate24h: number; + max_completion_tokens?: number; + stream?: boolean; + stop?: string[] | string; + tools?: { + function: { + strict?: boolean; + parameters?: components["schemas"]["Record_string.any_"]; + description?: string; + name: string; + }; + /** @enum {string} */ + type: "function"; + }[]; + tool_choice?: { + function?: { + name: string; + /** @enum {string} */ + type: "function"; + }; + type: string; + } | ("none" | "auto" | "required"); + parallel_tool_calls?: boolean; + /** @enum {string} */ + reasoning_effort?: "minimal" | "low" | "medium" | "high"; + /** @enum {string} */ + verbosity?: "low" | "medium" | "high"; /** Format: double */ - errorRatePrevious24h: number; + frequency_penalty?: number; /** Format: double */ - errorRateChange: number; + presence_penalty?: number; + logit_bias?: components["schemas"]["Record_string.number_"]; + logprobs?: boolean; /** Format: double */ - averageLatency: number; + top_logprobs?: number; /** Format: double */ - averageLatencyPerToken: number; + n?: number; + modalities?: string[]; + prediction?: unknown; + audio?: unknown; + response_format?: { + json_schema?: unknown; + type: string; + }; /** Format: double */ - latencyChange: number; + seed?: number; + service_tier?: string; + store?: boolean; + stream_options?: unknown; + metadata?: components["schemas"]["Record_string.string_"]; + user?: string; + function_call?: string | { + name: string; + }; + functions?: unknown[]; + }; + "ResultSuccess_Prompt2025-Array_": { + data: components["schemas"]["Prompt2025"][]; + /** @enum {number|null} */ + error: null; + }; + "Result_Prompt2025-Array.string_": components["schemas"]["ResultSuccess_Prompt2025-Array_"] | components["schemas"]["ResultError_string_"]; + Prompt2025VersionPromptBody: { + model?: string; + messages?: ({ + tool_calls?: { + /** @enum {string} */ + type: "function"; + function: { + arguments: string; + name: string; + }; + id: string; + }[]; + tool_call_id?: string; + name?: string; + content: (string | { + image_url?: { + url: string; + }; + text?: string; + type: string; + }[]) | null; + role: string; + })[]; /** Format: double */ - latencyPerTokenChange: number; + temperature?: number; /** Format: double */ - recentRequestCount: number; + top_p?: number; /** Format: double */ - recentErrorCount: number; + max_tokens?: number; + tools?: { + function: { + parameters: components["schemas"]["Record_string.unknown_"]; + description: string; + name: string; + }; + /** @enum {string} */ + type: "function"; + }[]; + tool_choice?: string | { + function?: { + name: string; + /** @enum {string} */ + type: "function"; + }; + type: string; + }; + [key: string]: unknown; }; - TimeSeriesDataPoint: { - /** Format: date-time */ - timestamp: string; - /** Format: double */ - errorCount: number; - /** Format: double */ - requestCount: number; + Prompt2025Version: { + id: string; + model: string; + prompt_id: string; /** Format: double */ - averageLatency: number; + major_version: number; /** Format: double */ - averageLatencyPerCompletionToken: number; - }; - ProviderMetrics: { - providerName: string; - metrics: components["schemas"]["MetricsData"] & { - timeSeriesData: components["schemas"]["TimeSeriesDataPoint"][]; - }; + minor_version: number; + commit_message: string; + environments?: string[]; + created_at: string; + s3_url?: string; + /** + * @description The full prompt body including messages. Only included when explicitly requested + * via the `includePromptBody` parameter to avoid unnecessary data transfer. + */ + prompt_body?: components["schemas"]["Prompt2025VersionPromptBody"]; }; - "ResultSuccess_ProviderMetrics-Array_": { - data: components["schemas"]["ProviderMetrics"][]; + ResultSuccess_Prompt2025Version_: { + data: components["schemas"]["Prompt2025Version"]; /** @enum {number|null} */ error: null; }; - "Result_ProviderMetrics-Array.string_": components["schemas"]["ResultSuccess_ProviderMetrics-Array_"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_ProviderMetrics_: { - data: components["schemas"]["ProviderMetrics"]; + "Result_Prompt2025Version.string_": components["schemas"]["ResultSuccess_Prompt2025Version_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess_Prompt2025Version-Array_": { + data: components["schemas"]["Prompt2025Version"][]; /** @enum {number|null} */ error: null; }; - "Result_ProviderMetrics.string_": components["schemas"]["ResultSuccess_ProviderMetrics_"] | components["schemas"]["ResultError_string_"]; - /** @enum {string} */ - TimeFrame: "24h" | "7d" | "30d"; - ProviderMetric: { - provider: string; + "Result_Prompt2025Version-Array.string_": components["schemas"]["ResultSuccess_Prompt2025Version-Array_"] | components["schemas"]["ResultError_string_"]; + PromptVersionCounts: { /** Format: double */ - total_requests: number; + totalVersions: number; + /** Format: double */ + majorVersions: number; }; - "ResultSuccess_ProviderMetric-Array_": { - data: components["schemas"]["ProviderMetric"][]; + ResultSuccess_PromptVersionCounts_: { + data: components["schemas"]["PromptVersionCounts"]; /** @enum {number|null} */ error: null; }; - "Result_ProviderMetric-Array.string_": components["schemas"]["ResultSuccess_ProviderMetric-Array_"] | components["schemas"]["ResultError_string_"]; - /** @description Make all properties in T optional */ - Partial_UserMetricsToOperators_: { - user_id?: components["schemas"]["Partial_TextOperators_"]; - last_active?: components["schemas"]["Partial_TimestampOperators_"]; - total_requests?: components["schemas"]["Partial_NumberOperators_"]; - active_for?: components["schemas"]["Partial_NumberOperators_"]; - average_requests_per_day_active?: components["schemas"]["Partial_NumberOperators_"]; - average_tokens_per_request?: components["schemas"]["Partial_NumberOperators_"]; - total_completion_tokens?: components["schemas"]["Partial_NumberOperators_"]; - total_prompt_tokens?: components["schemas"]["Partial_NumberOperators_"]; - cost?: components["schemas"]["Partial_NumberOperators_"]; + "Result_PromptVersionCounts.string_": components["schemas"]["ResultSuccess_PromptVersionCounts_"] | components["schemas"]["ResultError_string_"]; + ResultSuccess_Prompt2025Version_91_prompt_body_93__: { + data: components["schemas"]["Prompt2025VersionPromptBody"]; + /** @enum {number|null} */ + error: null; }; - /** @description Make all properties in T optional */ - Partial_UserApiKeysTableToOperators_: { - api_key_hash?: components["schemas"]["Partial_TextOperators_"]; - api_key_name?: components["schemas"]["Partial_TextOperators_"]; - }; - /** @description Make all properties in T optional */ - Partial_PropertiesTableToOperators_: { - auth_hash?: components["schemas"]["Partial_TextOperators_"]; - key?: components["schemas"]["Partial_TextOperators_"]; - value?: components["schemas"]["Partial_TextOperators_"]; - }; - /** @description Make all properties in T optional */ - Partial_ExperimentToOperators_: { - id?: components["schemas"]["Partial_TextOperators_"]; - prompt_v2?: components["schemas"]["Partial_TextOperators_"]; - }; - /** @description Make all properties in T optional */ - Partial_ExperimentHypothesisRunToOperator_: { - result_request_id?: components["schemas"]["Partial_TextOperators_"]; - }; - /** @description Make all properties in T optional */ - Partial_ScoreValueToOperator_: { - request_id?: components["schemas"]["Partial_TextOperators_"]; - }; - /** @description Make all properties in T optional */ - Partial_RequestResponseLogToOperators_: { - latency?: components["schemas"]["Partial_NumberOperators_"]; - status?: components["schemas"]["Partial_NumberOperators_"]; - request_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - response_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - auth_hash?: components["schemas"]["Partial_TextOperators_"]; - model?: components["schemas"]["Partial_TextOperators_"]; - user_id?: components["schemas"]["Partial_TextOperators_"]; - organization_id?: components["schemas"]["Partial_TextOperators_"]; - node_id?: components["schemas"]["Partial_TextOperators_"]; - job_id?: components["schemas"]["Partial_TextOperators_"]; - threat?: components["schemas"]["Partial_BooleanOperators_"]; - }; - /** @description Make all properties in T optional */ - Partial_PropertiesV3ToOperators_: { - key?: components["schemas"]["Partial_TextOperators_"]; - value?: components["schemas"]["Partial_TextOperators_"]; - organization_id?: components["schemas"]["Partial_TextOperators_"]; - }; - /** @description Make all properties in T optional */ - Partial_PropertyWithResponseV1ToOperators_: { - property_key?: components["schemas"]["Partial_TextOperators_"]; - property_value?: components["schemas"]["Partial_TextOperators_"]; - request_created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - organization_id?: components["schemas"]["Partial_TextOperators_"]; - threat?: components["schemas"]["Partial_BooleanOperators_"]; - }; - /** @description Make all properties in T optional */ - Partial_JobToOperators_: { - id?: components["schemas"]["Partial_TextOperators_"]; - name?: components["schemas"]["Partial_TextOperators_"]; - description?: components["schemas"]["Partial_TextOperators_"]; - status?: components["schemas"]["Partial_TextOperators_"]; - created_at?: components["schemas"]["Partial_TimestampOperators_"]; - updated_at?: components["schemas"]["Partial_TimestampOperators_"]; - timeout_seconds?: components["schemas"]["Partial_NumberOperators_"]; - custom_properties?: { - [key: string]: components["schemas"]["Partial_TextOperators_"]; - }; - org_id?: components["schemas"]["Partial_TextOperators_"]; - }; - /** @description Make all properties in T optional */ - Partial_NodesToOperators_: { - id?: components["schemas"]["Partial_TextOperators_"]; - name?: components["schemas"]["Partial_TextOperators_"]; - description?: components["schemas"]["Partial_TextOperators_"]; - job_id?: components["schemas"]["Partial_TextOperators_"]; - status?: components["schemas"]["Partial_TextOperators_"]; - created_at?: components["schemas"]["Partial_TimestampOperators_"]; - updated_at?: components["schemas"]["Partial_TimestampOperators_"]; - timeout_seconds?: components["schemas"]["Partial_NumberOperators_"]; - custom_properties?: { - [key: string]: components["schemas"]["Partial_TextOperators_"]; + "Result_Prompt2025Version_91_prompt_body_93_.string_": components["schemas"]["ResultSuccess_Prompt2025Version_91_prompt_body_93__"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__hasPrompts-boolean__": { + data: { + hasPrompts: boolean; }; - org_id?: components["schemas"]["Partial_TextOperators_"]; - }; - /** @description Make all properties in T optional */ - Partial_CacheMetricsTableToOperators_: { - organization_id?: components["schemas"]["Partial_TextOperators_"]; - request_id?: components["schemas"]["Partial_TextOperators_"]; - date?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - hour?: components["schemas"]["Partial_NumberOperators_"]; - model?: components["schemas"]["Partial_TextOperators_"]; - cache_hit_count?: components["schemas"]["Partial_NumberOperators_"]; - saved_latency_ms?: components["schemas"]["Partial_NumberOperators_"]; - saved_completion_tokens?: components["schemas"]["Partial_NumberOperators_"]; - saved_prompt_tokens?: components["schemas"]["Partial_NumberOperators_"]; - saved_completion_audio_tokens?: components["schemas"]["Partial_NumberOperators_"]; - saved_prompt_audio_tokens?: components["schemas"]["Partial_NumberOperators_"]; - saved_prompt_cache_write_tokens?: components["schemas"]["Partial_NumberOperators_"]; - saved_prompt_cache_read_tokens?: components["schemas"]["Partial_NumberOperators_"]; - first_hit?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - last_hit?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; - request_body?: components["schemas"]["Partial_TextOperators_"]; - response_body?: components["schemas"]["Partial_TextOperators_"]; + /** @enum {number|null} */ + error: null; }; - /** @description Make all properties in T optional */ - Partial_RateLimitTableToOperators_: { - organization_id?: components["schemas"]["Partial_TextOperators_"]; - created_at?: components["schemas"]["Partial_TimestampOperatorsTyped_"]; + "Result__hasPrompts-boolean_.string_": components["schemas"]["ResultSuccess__hasPrompts-boolean__"] | components["schemas"]["ResultError_string_"]; + PromptsResult: { + id: string; + user_defined_id: string; + description: string; + pretty_name: string; + created_at: string; + /** Format: double */ + major_version: number; + metadata?: components["schemas"]["Record_string.any_"]; }; - /** @description Make all properties in T optional */ - Partial_OrganizationPropertiesToOperators_: { - organization_id?: components["schemas"]["Partial_TextOperators_"]; - property_key?: components["schemas"]["Partial_TextOperators_"]; + "ResultSuccess_PromptsResult-Array_": { + data: components["schemas"]["PromptsResult"][]; + /** @enum {number|null} */ + error: null; }; - /** @description Make all properties in T optional */ - Partial_TablesAndViews_: { - user_metrics?: components["schemas"]["Partial_UserMetricsToOperators_"]; - user_api_keys?: components["schemas"]["Partial_UserApiKeysTableToOperators_"]; - response?: components["schemas"]["Partial_ResponseTableToOperators_"]; - request?: components["schemas"]["Partial_RequestTableToOperators_"]; - feedback?: components["schemas"]["Partial_FeedbackTableToOperators_"]; - properties_table?: components["schemas"]["Partial_PropertiesTableToOperators_"]; + "Result_PromptsResult-Array.string_": components["schemas"]["ResultSuccess_PromptsResult-Array_"] | components["schemas"]["ResultError_string_"]; + /** @description From T, pick a set of properties whose keys are in the union K */ + "Pick_FilterLeaf.prompt_v2_": { prompt_v2?: components["schemas"]["Partial_PromptToOperators_"]; - prompts_versions?: components["schemas"]["Partial_PromptVersionsToOperators_"]; - experiment?: components["schemas"]["Partial_ExperimentToOperators_"]; - experiment_hypothesis_run?: components["schemas"]["Partial_ExperimentHypothesisRunToOperator_"]; - score_value?: components["schemas"]["Partial_ScoreValueToOperator_"]; - request_response_log?: components["schemas"]["Partial_RequestResponseLogToOperators_"]; - request_response_rmt?: components["schemas"]["Partial_RequestResponseRMTToOperators_"]; - sessions_request_response_rmt?: components["schemas"]["Partial_SessionsRequestResponseRMTToOperators_"]; - users_view?: components["schemas"]["Partial_UserViewToOperators_"]; - properties_v3?: components["schemas"]["Partial_PropertiesV3ToOperators_"]; - property_with_response_v1?: components["schemas"]["Partial_PropertyWithResponseV1ToOperators_"]; - job?: components["schemas"]["Partial_JobToOperators_"]; - job_node?: components["schemas"]["Partial_NodesToOperators_"]; - cache_metrics?: components["schemas"]["Partial_CacheMetricsTableToOperators_"]; - rate_limit_log?: components["schemas"]["Partial_RateLimitTableToOperators_"]; - organization_properties?: components["schemas"]["Partial_OrganizationPropertiesToOperators_"]; - properties?: { - [key: string]: components["schemas"]["Partial_TextOperators_"]; - }; - values?: { - [key: string]: components["schemas"]["Partial_TextOperators_"]; - }; }; - SingleKey_TablesAndViews_: components["schemas"]["Partial_TablesAndViews_"]; - FilterLeaf: components["schemas"]["SingleKey_TablesAndViews_"]; - FilterNode: components["schemas"]["FilterLeaf"] | components["schemas"]["FilterBranch"] | Record | "all"; - FilterBranch: { - left: components["schemas"]["FilterNode"]; + FilterLeafSubset_prompt_v2_: components["schemas"]["Pick_FilterLeaf.prompt_v2_"]; + PromptsFilterNode: components["schemas"]["FilterLeafSubset_prompt_v2_"] | components["schemas"]["PromptsFilterBranch"] | "all"; + PromptsFilterBranch: { + right: components["schemas"]["PromptsFilterNode"]; /** @enum {string} */ operator: "or" | "and"; - right: components["schemas"]["FilterNode"]; + left: components["schemas"]["PromptsFilterNode"]; }; - ProviderQueryParams: { - filter: components["schemas"]["FilterNode"]; - /** Format: double */ - offset: number; + PromptsQueryParams: { + filter: components["schemas"]["PromptsFilterNode"]; + }; + PromptResult: { + id: string; + user_defined_id: string; + description: string; + pretty_name: string; /** Format: double */ - limit: number; - timeFilter: { - end: string; - start: string; - }; + major_version: number; + latest_version_id: string; + latest_model_used: string; + created_at: string; + last_used: string; + versions: string[]; + metadata?: components["schemas"]["Record_string.any_"]; }; - "ResultSuccess__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array_": { - data: { - created_at_trunc: string; - /** Format: double */ - request_count: number; - /** Format: double */ - total_cost: number; - property: string; - }[]; + ResultSuccess_PromptResult_: { + data: components["schemas"]["PromptResult"]; /** @enum {number|null} */ error: null; }; - "Result__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array.string_": components["schemas"]["ResultSuccess__property-string--total_cost-number--request_count-number--created_at_trunc-string_-Array_"] | components["schemas"]["ResultError_string_"]; - /** @description From T, pick a set of properties whose keys are in the union K */ - "Pick_FilterLeaf.request_response_rmt_": { - request_response_rmt?: components["schemas"]["Partial_RequestResponseRMTToOperators_"]; - }; - FilterLeafSubset_request_response_rmt_: components["schemas"]["Pick_FilterLeaf.request_response_rmt_"]; - RequestClickhouseFilterNode: components["schemas"]["FilterLeafSubset_request_response_rmt_"] | components["schemas"]["RequestClickhouseFilterBranch"] | "all"; - RequestClickhouseFilterBranch: { - right: components["schemas"]["RequestClickhouseFilterNode"]; - /** @enum {string} */ - operator: "or" | "and"; - left: components["schemas"]["RequestClickhouseFilterNode"]; - }; - /** @enum {string} */ - TimeIncrement: "min" | "hour" | "day" | "week" | "month" | "year"; - DataOverTimeRequest: { + "Result_PromptResult.string_": components["schemas"]["ResultSuccess_PromptResult_"] | components["schemas"]["ResultError_string_"]; + PromptQueryParams: { timeFilter: { end: string; start: string; }; - userFilter: components["schemas"]["RequestClickhouseFilterNode"]; - dbIncrement: components["schemas"]["TimeIncrement"]; - /** Format: double */ - timeZoneDifference: number; - }; - Property: { - property: string; }; - "ResultSuccess_Property-Array_": { - data: components["schemas"]["Property"][]; - /** @enum {number|null} */ - error: null; + CreatePromptResponse: { + id: string; + prompt_version_id: string; }; - "Result_Property-Array.string_": components["schemas"]["ResultSuccess_Property-Array_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_unknown-Array_": { - data: unknown[]; + ResultSuccess_CreatePromptResponse_: { + data: components["schemas"]["CreatePromptResponse"]; /** @enum {number|null} */ error: null; }; - "ResultSuccess__value-string--cost-number_-Array_": { + "Result_CreatePromptResponse.string_": components["schemas"]["ResultSuccess_CreatePromptResponse_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__metadata-Record_string.any___": { data: { - /** Format: double */ - cost: number; - value: string; - }[]; + metadata: components["schemas"]["Record_string.any_"]; + }; /** @enum {number|null} */ error: null; }; - "Result__value-string--cost-number_-Array.string_": components["schemas"]["ResultSuccess__value-string--cost-number_-Array_"] | components["schemas"]["ResultError_string_"]; - TimeFilterRequest: { - timeFilter: { - end: string; - start: string; - }; + "Result__metadata-Record_string.any__.string_": components["schemas"]["ResultSuccess__metadata-Record_string.any___"] | components["schemas"]["ResultError_string_"]; + PromptEditSubversionLabelParams: { + label: string; }; - "ResultSuccess__value-string--count-number_-Array_": { - data: { - /** Format: double */ - count: number; - value: string; - }[]; + PromptEditSubversionTemplateParams: { + heliconeTemplate: unknown; + experimentId?: string; + }; + PromptVersionResult: { + id: string; + /** Format: double */ + minor_version: number; + /** Format: double */ + major_version: number; + prompt_v2: string; + model: string; + helicone_template: string; + created_at: string; + metadata: components["schemas"]["Record_string.any_"]; + parent_prompt_version?: string | null; + experiment_id?: string | null; + updated_at?: string; + }; + ResultSuccess_PromptVersionResult_: { + data: components["schemas"]["PromptVersionResult"]; /** @enum {number|null} */ error: null; }; - "Result__value-string--count-number_-Array.string_": components["schemas"]["ResultSuccess__value-string--count-number_-Array_"] | components["schemas"]["ResultError_string_"]; + "Result_PromptVersionResult.string_": components["schemas"]["ResultSuccess_PromptVersionResult_"] | components["schemas"]["ResultError_string_"]; + PromptCreateSubversionParams: { + newHeliconeTemplate: unknown; + isMajorVersion?: boolean; + metadata?: components["schemas"]["Record_string.any_"]; + experimentId?: string; + bumpForMajorPromptVersionId?: string; + }; + PromptInputRecord: { + id: string; + inputs: components["schemas"]["Record_string.string_"]; + dataset_row_id?: string; + source_request: string; + prompt_version: string; + created_at: string; + response_body?: string; + request_body?: string; + auto_prompt_inputs: unknown[]; + }; + "ResultSuccess_PromptInputRecord-Array_": { + data: components["schemas"]["PromptInputRecord"][]; + /** @enum {number|null} */ + error: null; + }; + "Result_PromptInputRecord-Array.string_": components["schemas"]["ResultSuccess_PromptInputRecord-Array_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess_PromptVersionResult-Array_": { + data: components["schemas"]["PromptVersionResult"][]; + /** @enum {number|null} */ + error: null; + }; + "Result_PromptVersionResult-Array.string_": components["schemas"]["ResultSuccess_PromptVersionResult-Array_"] | components["schemas"]["ResultError_string_"]; + /** @description From T, pick a set of properties whose keys are in the union K */ + "Pick_FilterLeaf.prompts_versions_": { + prompts_versions?: components["schemas"]["Partial_PromptVersionsToOperators_"]; + }; + FilterLeafSubset_prompts_versions_: components["schemas"]["Pick_FilterLeaf.prompts_versions_"]; + PromptVersionsFilterNode: components["schemas"]["FilterLeafSubset_prompts_versions_"] | components["schemas"]["PromptVersionsFilterBranch"] | "all"; + PromptVersionsFilterBranch: { + right: components["schemas"]["PromptVersionsFilterNode"]; + /** @enum {string} */ + operator: "or" | "and"; + left: components["schemas"]["PromptVersionsFilterNode"]; + }; + PromptVersionsQueryParams: { + filter?: components["schemas"]["PromptVersionsFilterNode"]; + includeExperimentVersions?: boolean; + }; + PromptVersionResultCompiled: { + id: string; + /** Format: double */ + minor_version: number; + /** Format: double */ + major_version: number; + prompt_v2: string; + model: string; + prompt_compiled: unknown; + }; + ResultSuccess_PromptVersionResultCompiled_: { + data: components["schemas"]["PromptVersionResultCompiled"]; + /** @enum {number|null} */ + error: null; + }; + "Result_PromptVersionResultCompiled.string_": components["schemas"]["ResultSuccess_PromptVersionResultCompiled_"] | components["schemas"]["ResultError_string_"]; + PromptVersiosQueryParamsCompiled: { + filter?: components["schemas"]["PromptVersionsFilterNode"]; + includeExperimentVersions?: boolean; + inputs: components["schemas"]["Record_string.string_"]; + }; + PromptVersionResultFilled: { + id: string; + /** Format: double */ + minor_version: number; + /** Format: double */ + major_version: number; + prompt_v2: string; + model: string; + filled_helicone_template: unknown; + }; + ResultSuccess_PromptVersionResultFilled_: { + data: components["schemas"]["PromptVersionResultFilled"]; + /** @enum {number|null} */ + error: null; + }; + "Result_PromptVersionResultFilled.string_": components["schemas"]["ResultSuccess_PromptVersionResultFilled_"] | components["schemas"]["ResultError_string_"]; "ChatCompletionTokenLogprob.TopLogprob": { /** @description The token. */ token: string; @@ -3451,6 +3121,12 @@ Json: JsonObject; error: null; }; "Result_ChatCompletion-or-_content-string--reasoning-string--calls-any_.string_": components["schemas"]["ResultSuccess_ChatCompletion-or-_content-string--reasoning-string--calls-any__"] | components["schemas"]["ResultError_string_"]; + ResultSuccess_boolean_: { + data: boolean; + /** @enum {number|null} */ + error: null; + }; + "Result_boolean.string_": components["schemas"]["ResultSuccess_boolean_"] | components["schemas"]["ResultError_string_"]; "ResultSuccess__apiKey-string__": { data: { apiKey: string; @@ -3609,2340 +3285,916 @@ Json: JsonObject; providerModelId: string; supportedParameters: components["schemas"]["StandardParameter"][]; /** Format: double */ - priority?: number; - }; - SimplifiedModalityPricing: { - /** Format: double */ - input?: number; - /** Format: double */ - cachedInput?: number; - /** Format: double */ - output?: number; - }; - SimplifiedPricing: { - /** Format: double */ - prompt: number; - /** Format: double */ - completion: number; - audio?: components["schemas"]["SimplifiedModalityPricing"]; - /** Format: double */ - thinking?: number; - /** Format: double */ - web_search?: number; - image?: components["schemas"]["SimplifiedModalityPricing"]; - video?: components["schemas"]["SimplifiedModalityPricing"]; - file?: components["schemas"]["SimplifiedModalityPricing"]; - /** Format: double */ - cacheRead?: number; - /** Format: double */ - cacheWrite?: number; - /** Format: double */ - threshold?: number; - }; - ModelEndpoint: { - provider: string; - providerSlug: string; - endpoint?: components["schemas"]["Endpoint"]; - supportsPtb?: boolean; - pricing: components["schemas"]["SimplifiedPricing"]; - pricingTiers?: components["schemas"]["SimplifiedPricing"][]; - }; - /** @enum {string} */ - InputModality: "text" | "image" | "audio" | "video"; - /** @enum {string} */ - OutputModality: "text" | "image" | "audio" | "video"; - ModelRegistryItem: { - id: string; - name: string; - author: string; - /** Format: double */ - contextLength: number; - endpoints: components["schemas"]["ModelEndpoint"][]; - /** Format: double */ - maxOutput?: number; - trainingDate?: string; - description?: string; - inputModalities: components["schemas"]["InputModality"][]; - outputModalities: components["schemas"]["OutputModality"][]; - supportedParameters: components["schemas"]["StandardParameter"][]; - pinnedVersionOfModel?: string; - }; - /** @enum {string} */ - ModelCapability: "audio" | "video" | "image" | "thinking" | "web_search" | "caching" | "reasoning"; - ModelRegistryResponse: { - models: components["schemas"]["ModelRegistryItem"][]; - /** Format: double */ - total: number; - filters: { - capabilities: components["schemas"]["ModelCapability"][]; - authors: string[]; - providers: { - displayName: string; - name: string; - }[]; - }; - }; - ResultSuccess_ModelRegistryResponse_: { - data: components["schemas"]["ModelRegistryResponse"]; - /** @enum {number|null} */ - error: null; - }; - "Result_ModelRegistryResponse.string_": components["schemas"]["ResultSuccess_ModelRegistryResponse_"] | components["schemas"]["ResultError_string_"]; - OAIModel: { - id: string; - /** @enum {string} */ - object: "model"; - /** Format: double */ - created: number; - owned_by: string; - }; - OAIModelsResponse: { - /** @enum {string} */ - object: "list"; - data: components["schemas"]["OAIModel"][]; - }; - MetricStats: { - /** Format: double */ - p99: number; - /** Format: double */ - p95: number; - /** Format: double */ - p90: number; - /** Format: double */ - max: number; - /** Format: double */ - min: number; - /** Format: double */ - median: number; - /** Format: double */ - average: number; - }; - TokenMetricStats: components["schemas"]["MetricStats"] & { - /** Format: double */ - medianPer1000Tokens: number; - }; - TimeSeriesMetric: { - /** Format: double */ - value: number; - timestamp: string; - }; - Model: { - timeSeriesData: { - errorRate: components["schemas"]["TimeSeriesMetric"][]; - successRate: components["schemas"]["TimeSeriesMetric"][]; - ttft: components["schemas"]["TimeSeriesMetric"][]; - latency: components["schemas"]["TimeSeriesMetric"][]; - }; - requestStatus: { - /** Format: double */ - errorRate: number; - /** Format: double */ - successRate: number; - }; - geographicTtft: { - /** Format: double */ - median: number; - countryCode: string; - }[]; - geographicLatency: { - /** Format: double */ - median: number; - countryCode: string; - }[]; - feedback: { - /** Format: double */ - negativePercentage: number; - /** Format: double */ - positivePercentage: number; - }; - costs: { - /** Format: double */ - completion_token: number; - /** Format: double */ - prompt_token: number; - }; - ttft: components["schemas"]["MetricStats"]; - latency: components["schemas"]["TokenMetricStats"]; - provider: string; - model: string; - }; - "ResultSuccess_Model-Array_": { - data: components["schemas"]["Model"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_Model-Array.string_": components["schemas"]["ResultSuccess_Model-Array_"] | components["schemas"]["ResultError_string_"]; - ModelsToCompare: { - provider: string; - names: string[]; - parent: string; - }; - MetricsFilterBody: { - filter: components["schemas"]["FilterNode"]; - timeFilter: { - end: string; - start: string; - }; - }; - TokensPerRequest: { - /** Format: double */ - average_prompt_tokens_per_response: number; - /** Format: double */ - average_completion_tokens_per_response: number; - /** Format: double */ - average_total_tokens_per_response: number; - }; - ResultSuccess_TokensPerRequest_: { - data: components["schemas"]["TokensPerRequest"]; - /** @enum {number|null} */ - error: null; - }; - "Result_TokensPerRequest.string_": components["schemas"]["ResultSuccess_TokensPerRequest_"] | components["schemas"]["ResultError_string_"]; - RequestsOverTime: { - /** Format: date-time */ - time: string; - /** Format: double */ - count: number; - /** Format: double */ - status?: number; - }; - "ResultSuccess_RequestsOverTime-Array_": { - data: components["schemas"]["RequestsOverTime"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_RequestsOverTime-Array.string_": components["schemas"]["ResultSuccess_RequestsOverTime-Array_"] | components["schemas"]["ResultError_string_"]; - MetricsOverTimeBody: { - timeFilter: { - end: string; - start: string; - }; - filter: components["schemas"]["FilterNode"]; - dbIncrement?: components["schemas"]["TimeIncrement"]; - /** Format: double */ - timeZoneDifference: number; - }; - CostOverTime: { - /** Format: date-time */ - time: string; - /** Format: double */ - cost: number; - }; - "ResultSuccess_CostOverTime-Array_": { - data: components["schemas"]["CostOverTime"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_CostOverTime-Array.string_": components["schemas"]["ResultSuccess_CostOverTime-Array_"] | components["schemas"]["ResultError_string_"]; - TokensOverTime: { - /** Format: date-time */ - time: string; - /** Format: double */ - prompt_tokens: number; - /** Format: double */ - completion_tokens: number; - }; - "ResultSuccess_TokensOverTime-Array_": { - data: components["schemas"]["TokensOverTime"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_TokensOverTime-Array.string_": components["schemas"]["ResultSuccess_TokensOverTime-Array_"] | components["schemas"]["ResultError_string_"]; - LatencyOverTime: { - /** Format: date-time */ - time: string; - /** Format: double */ - duration: number; - }; - "ResultSuccess_LatencyOverTime-Array_": { - data: components["schemas"]["LatencyOverTime"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_LatencyOverTime-Array.string_": components["schemas"]["ResultSuccess_LatencyOverTime-Array_"] | components["schemas"]["ResultError_string_"]; - TimeToFirstTokenOverTime: { - /** Format: date-time */ - time: string; - /** Format: double */ - ttft: number; - }; - "ResultSuccess_TimeToFirstTokenOverTime-Array_": { - data: components["schemas"]["TimeToFirstTokenOverTime"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_TimeToFirstTokenOverTime-Array.string_": components["schemas"]["ResultSuccess_TimeToFirstTokenOverTime-Array_"] | components["schemas"]["ResultError_string_"]; - UsersOverTime: { - /** Format: date-time */ - time: string; - /** Format: double */ - count: number; - }; - "ResultSuccess_UsersOverTime-Array_": { - data: components["schemas"]["UsersOverTime"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_UsersOverTime-Array.string_": components["schemas"]["ResultSuccess_UsersOverTime-Array_"] | components["schemas"]["ResultError_string_"]; - ThreatsOverTime: { - /** Format: date-time */ - time: string; - /** Format: double */ - count: number; - }; - "ResultSuccess_ThreatsOverTime-Array_": { - data: components["schemas"]["ThreatsOverTime"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_ThreatsOverTime-Array.string_": components["schemas"]["ResultSuccess_ThreatsOverTime-Array_"] | components["schemas"]["ResultError_string_"]; - ErrorOverTime: { - /** Format: date-time */ - time: string; - /** Format: double */ - count: number; - }; - "ResultSuccess_ErrorOverTime-Array_": { - data: components["schemas"]["ErrorOverTime"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_ErrorOverTime-Array.string_": components["schemas"]["ResultSuccess_ErrorOverTime-Array_"] | components["schemas"]["ResultError_string_"]; - RequestCountBody: { - filter: components["schemas"]["FilterNode"]; - isCached?: boolean; - }; - ModelMetric: { - model: string; - /** Format: double */ - total_requests: number; - /** Format: double */ - total_completion_tokens: number; - /** Format: double */ - total_prompt_token: number; - /** Format: double */ - total_tokens: number; - /** Format: double */ - cost: number; - }; - "ResultSuccess_ModelMetric-Array_": { - data: components["schemas"]["ModelMetric"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_ModelMetric-Array.string_": components["schemas"]["ResultSuccess_ModelMetric-Array_"] | components["schemas"]["ResultError_string_"]; - ModelMetricsBody: { - filter: components["schemas"]["FilterNode"]; - /** Format: double */ - offset: number; - /** Format: double */ - limit: number; - timeFilter: { - end: string; - start: string; - }; - }; - CountryData: { - country: string; - /** Format: double */ - total_requests: number; - }; - "ResultSuccess_CountryData-Array_": { - data: components["schemas"]["CountryData"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_CountryData-Array.string_": components["schemas"]["ResultSuccess_CountryData-Array_"] | components["schemas"]["ResultError_string_"]; - CountryMetricsBody: { - filter: components["schemas"]["FilterNode"]; - /** Format: double */ - offset: number; - /** Format: double */ - limit: number; - timeFilter: { - end: string; - start: string; - }; - }; - Quantiles: { - /** Format: date-time */ - time: string; - /** Format: double */ - p75: number; - /** Format: double */ - p90: number; - /** Format: double */ - p95: number; - /** Format: double */ - p99: number; - }; - "ResultSuccess_Quantiles-Array_": { - data: components["schemas"]["Quantiles"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_Quantiles-Array.string_": components["schemas"]["ResultSuccess_Quantiles-Array_"] | components["schemas"]["ResultError_string_"]; - QuantilesBody: { - filter: components["schemas"]["FilterNode"]; - timeFilter: { - end: string; - start: string; - }; - dbIncrement?: components["schemas"]["TimeIncrement"]; - /** Format: double */ - timeZoneDifference: number; - metric: string; - }; - "ResultSuccess__unsafe-boolean__": { - data: { - unsafe: boolean; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__unsafe-boolean_.string_": components["schemas"]["ResultSuccess__unsafe-boolean__"] | components["schemas"]["ResultError_string_"]; - ClickHouseTableColumn: { - name: string; - type: string; - default_type?: string; - default_expression?: string; - comment?: string; - codec_expression?: string; - ttl_expression?: string; - }; - ClickHouseTableSchema: { - table_name: string; - columns: components["schemas"]["ClickHouseTableColumn"][]; - }; - "ResultSuccess_ClickHouseTableSchema-Array_": { - data: components["schemas"]["ClickHouseTableSchema"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_ClickHouseTableSchema-Array.string_": components["schemas"]["ResultSuccess_ClickHouseTableSchema-Array_"] | components["schemas"]["ResultError_string_"]; - ExecuteSqlResponse: { - /** Format: double */ - rowCount: number; - /** Format: double */ - size: number; - /** Format: double */ - elapsedMilliseconds: number; - rows: components["schemas"]["Record_string.any_"][]; - }; - ResultSuccess_ExecuteSqlResponse_: { - data: components["schemas"]["ExecuteSqlResponse"]; - /** @enum {number|null} */ - error: null; - }; - "Result_ExecuteSqlResponse.string_": components["schemas"]["ResultSuccess_ExecuteSqlResponse_"] | components["schemas"]["ResultError_string_"]; - ExecuteSqlRequest: { - sql: string; - }; - HqlSavedQuery: { - id: string; - organization_id: string; - name: string; - sql: string; - created_at: string; - updated_at: string; - }; - ResultSuccess_Array_HqlSavedQuery__: { - data: components["schemas"]["HqlSavedQuery"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_Array_HqlSavedQuery_.string_": components["schemas"]["ResultSuccess_Array_HqlSavedQuery__"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_HqlSavedQuery-or-null_": { - data: components["schemas"]["HqlSavedQuery"] | null; - /** @enum {number|null} */ - error: null; - }; - "Result_HqlSavedQuery-or-null.string_": components["schemas"]["ResultSuccess_HqlSavedQuery-or-null_"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_void_: { - data: unknown; - /** @enum {number|null} */ - error: null; - }; - "Result_void.string_": components["schemas"]["ResultSuccess_void_"] | components["schemas"]["ResultError_string_"]; - BulkDeleteSavedQueriesRequest: { - ids: string[]; - }; - "ResultSuccess_HqlSavedQuery-Array_": { - data: components["schemas"]["HqlSavedQuery"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_HqlSavedQuery-Array.string_": components["schemas"]["ResultSuccess_HqlSavedQuery-Array_"] | components["schemas"]["ResultError_string_"]; - CreateSavedQueryRequest: { - name: string; - sql: string; - }; - ResultSuccess_HqlSavedQuery_: { - data: components["schemas"]["HqlSavedQuery"]; - /** @enum {number|null} */ - error: null; - }; - "Result_HqlSavedQuery.string_": components["schemas"]["ResultSuccess_HqlSavedQuery_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__tableId-string--experimentId-string__": { - data: { - experimentId: string; - tableId: string; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__tableId-string--experimentId-string_.string_": components["schemas"]["ResultSuccess__tableId-string--experimentId-string__"] | components["schemas"]["ResultError_string_"]; - CreateExperimentTableParams: { - datasetId: string; - experimentMetadata: components["schemas"]["Record_string.any_"]; - promptVersionId: string; - newHeliconeTemplate: string; - isMajorVersion: boolean; - promptSubversionMetadata: components["schemas"]["Record_string.any_"]; - experimentTableMetadata?: components["schemas"]["Record_string.any_"]; - }; - ExperimentTableColumn: { - id: string; - columnName: string; - columnType: string; - hypothesisId?: string; - cells: ({ - metadata?: components["schemas"]["Record_string.any_"]; - value: string | null; - requestId?: string; - /** Format: double */ - rowIndex: number; - id: string; - })[]; - metadata?: components["schemas"]["Record_string.any_"]; - }; - ExperimentTable: { - id: string; - name: string; - experimentId: string; - columns: components["schemas"]["ExperimentTableColumn"][]; - metadata?: components["schemas"]["Record_string.any_"]; - }; - ResultSuccess_ExperimentTable_: { - data: components["schemas"]["ExperimentTable"]; - /** @enum {number|null} */ - error: null; - }; - "Result_ExperimentTable.string_": components["schemas"]["ResultSuccess_ExperimentTable_"] | components["schemas"]["ResultError_string_"]; - ExperimentTableSimplified: { - id: string; - name: string; - experimentId: string; - createdAt: string; - metadata?: unknown; - columns: { - columnType: string; - columnName: string; - id: string; - }[]; - }; - ResultSuccess_ExperimentTableSimplified_: { - data: components["schemas"]["ExperimentTableSimplified"]; - /** @enum {number|null} */ - error: null; - }; - "Result_ExperimentTableSimplified.string_": components["schemas"]["ResultSuccess_ExperimentTableSimplified_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess_ExperimentTableSimplified-Array_": { - data: components["schemas"]["ExperimentTableSimplified"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_ExperimentTableSimplified-Array.string_": components["schemas"]["ResultSuccess_ExperimentTableSimplified-Array_"] | components["schemas"]["ResultError_string_"]; - NewExperimentParams: { - datasetId: string; - promptVersion: string; - model: string; - providerKeyId: string; - meta?: unknown; - }; - "ResultSuccess__hypothesisId-string__": { - data: { - hypothesisId: string; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__hypothesisId-string_.string_": components["schemas"]["ResultSuccess__hypothesisId-string__"] | components["schemas"]["ResultError_string_"]; - Score: { - valueType: string; - value: number | string; - }; - /** @description Construct a type with a set of properties K of type T */ - "Record_string.Score_": { - [key: string]: components["schemas"]["Score"]; - }; - "ResultSuccess__runsCount-number--scores-Record_string.Score___": { - data: { - scores: components["schemas"]["Record_string.Score_"]; - /** Format: double */ - runsCount: number; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__runsCount-number--scores-Record_string.Score__.string_": components["schemas"]["ResultSuccess__runsCount-number--scores-Record_string.Score___"] | components["schemas"]["ResultError_string_"]; - ResponseObj: { - body: unknown; - createdAt: string; - /** Format: double */ - completionTokens: number; - /** Format: double */ - promptTokens: number; - /** Format: double */ - promptCacheWriteTokens: number; - /** Format: double */ - promptCacheReadTokens: number; - /** Format: double */ - delayMs: number; - model: string; - }; - RequestObj: { - id: string; - provider: string; - }; - ExperimentDatasetRow: { - rowId: string; - inputRecord: { - request: components["schemas"]["RequestObj"]; - response: components["schemas"]["ResponseObj"]; - autoInputs: components["schemas"]["Record_string.string_"][]; - inputs: components["schemas"]["Record_string.string_"]; - requestPath: string; - requestId: string; - id: string; - }; - /** Format: double */ - rowIndex: number; - columnId: string; - scores: components["schemas"]["Record_string.Score_"]; - }; - ExperimentScores: { - dataset: { - scores: components["schemas"]["Record_string.Score_"]; - }; - hypothesis: { - scores: components["schemas"]["Record_string.Score_"]; - /** Format: double */ - runsCount: number; - }; - }; - Experiment: { - id: string; - organization: string; - dataset: { - rows: components["schemas"]["ExperimentDatasetRow"][]; - name: string; - id: string; - }; - meta: unknown; - createdAt: string; - hypotheses: { - runs: { - request?: components["schemas"]["RequestObj"]; - scores: components["schemas"]["Record_string.Score_"]; - response?: components["schemas"]["ResponseObj"]; - resultRequestId: string; - datasetRowId: string; - }[]; - providerKey: string; - createdAt: string; - status: string; - model: string; - parentPromptVersion?: { - template: unknown; - }; - promptVersion?: { - template: unknown; - }; - promptVersionId: string; - id: string; - }[]; - scores: components["schemas"]["ExperimentScores"] | null; - tableId: string | null; - }; - "ResultSuccess_Experiment-Array_": { - data: components["schemas"]["Experiment"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_Experiment-Array.string_": components["schemas"]["ResultSuccess_Experiment-Array_"] | components["schemas"]["ResultError_string_"]; - /** @description From T, pick a set of properties whose keys are in the union K */ - "Pick_FilterLeaf.experiment_": { - experiment?: components["schemas"]["Partial_ExperimentToOperators_"]; - }; - FilterLeafSubset_experiment_: components["schemas"]["Pick_FilterLeaf.experiment_"]; - ExperimentFilterNode: components["schemas"]["FilterLeafSubset_experiment_"] | components["schemas"]["ExperimentFilterBranch"] | "all"; - ExperimentFilterBranch: { - right: components["schemas"]["ExperimentFilterNode"]; - /** @enum {string} */ - operator: "or" | "and"; - left: components["schemas"]["ExperimentFilterNode"]; - }; - IncludeExperimentKeys: { - /** @enum {boolean} */ - inputs?: true; - /** @enum {boolean} */ - promptVersion?: true; - /** @enum {boolean} */ - responseBodies?: true; - /** @enum {boolean} */ - score?: true; - }; - "ResultSuccess__datasetId-string__": { - data: { - datasetId: string; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__datasetId-string_.string_": components["schemas"]["ResultSuccess__datasetId-string__"] | components["schemas"]["ResultError_string_"]; - DatasetMetadata: { - promptVersionId?: string; - inputRecordsIds?: string[]; - }; - NewDatasetParams: { - datasetName: string; - requestIds: string[]; - /** @enum {string} */ - datasetType: "experiment" | "helicone"; - meta?: components["schemas"]["DatasetMetadata"]; - }; - /** @description From T, pick a set of properties whose keys are in the union K */ - "Pick_FilterLeaf.request-or-prompts_versions_": { - request?: components["schemas"]["Partial_RequestTableToOperators_"]; - prompts_versions?: components["schemas"]["Partial_PromptVersionsToOperators_"]; - }; - "FilterLeafSubset_request-or-prompts_versions_": components["schemas"]["Pick_FilterLeaf.request-or-prompts_versions_"]; - DatasetFilterNode: components["schemas"]["FilterLeafSubset_request-or-prompts_versions_"] | components["schemas"]["DatasetFilterBranch"] | "all"; - DatasetFilterBranch: { - right: components["schemas"]["DatasetFilterNode"]; - /** @enum {string} */ - operator: "or" | "and"; - left: components["schemas"]["DatasetFilterNode"]; - }; - RandomDatasetParams: { - datasetName: string; - filter: components["schemas"]["DatasetFilterNode"]; - /** Format: double */ - offset?: number; - /** Format: double */ - limit?: number; - }; - DatasetResult: { - id: string; - name: string; - created_at: string; - meta?: components["schemas"]["DatasetMetadata"]; - }; - "ResultSuccess_DatasetResult-Array_": { - data: components["schemas"]["DatasetResult"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_DatasetResult-Array.string_": components["schemas"]["ResultSuccess_DatasetResult-Array_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess___-Array_": { - data: Record[]; - /** @enum {number|null} */ - error: null; - }; - "Result___-Array.string_": components["schemas"]["ResultSuccess___-Array_"] | components["schemas"]["ResultError_string_"]; - HeliconeDatasetMetadata: { - promptVersionId?: string; - inputRecordsIds?: string[]; - }; - NewHeliconeDatasetParams: { - datasetName: string; - requestIds: string[]; - meta?: components["schemas"]["HeliconeDatasetMetadata"]; - }; - MutateParams: { - addRequests: string[]; - removeRequests: string[]; - }; - HeliconeDatasetRow: { - id: string; - origin_request_id: string; - dataset_id: string; - created_at: string; - signed_url: components["schemas"]["Result_string.string_"]; - }; - "ResultSuccess_HeliconeDatasetRow-Array_": { - data: components["schemas"]["HeliconeDatasetRow"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_HeliconeDatasetRow-Array.string_": components["schemas"]["ResultSuccess_HeliconeDatasetRow-Array_"] | components["schemas"]["ResultError_string_"]; - HeliconeDataset: { - created_at: string | null; - dataset_type: string; - id: string; - meta: components["schemas"]["Json"] | null; - name: string | null; - organization: string; - /** Format: double */ - requests_count: number; - }; - "ResultSuccess_HeliconeDataset-Array_": { - data: components["schemas"]["HeliconeDataset"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_HeliconeDataset-Array.string_": components["schemas"]["ResultSuccess_HeliconeDataset-Array_"] | components["schemas"]["ResultError_string_"]; - ResultSuccess_any_: { - data: unknown; - /** @enum {number|null} */ - error: null; - }; - Eval: { - name: string; - /** Format: double */ - averageScore: number; - /** Format: double */ - minScore: number; - /** Format: double */ - maxScore: number; - /** Format: double */ - count: number; - overTime: { - /** Format: double */ - count: number; - date: string; - }[]; - averageOverTime: { - /** Format: double */ - value: number; - date: string; - }[]; - }; - "ResultSuccess_Eval-Array_": { - data: components["schemas"]["Eval"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_Eval-Array.string_": components["schemas"]["ResultSuccess_Eval-Array_"] | components["schemas"]["ResultError_string_"]; - EvalFilterNode: components["schemas"]["FilterLeafSubset_request_response_rmt_"] | components["schemas"]["EvalFilterBranch"] | "all"; - EvalFilterBranch: { - right: components["schemas"]["EvalFilterNode"]; - /** @enum {string} */ - operator: "or" | "and"; - left: components["schemas"]["EvalFilterNode"]; - }; - EvalQueryParams: { - filter: components["schemas"]["EvalFilterNode"]; - timeFilter: { - end: string; - start: string; - }; - /** Format: double */ - offset?: number; - /** Format: double */ - limit?: number; - /** Format: double */ - timeZoneDifference?: number; - }; - ScoreDistribution: { - name: string; - distribution: { - /** Format: double */ - value: number; - /** Format: double */ - upper: number; - /** Format: double */ - lower: number; - }[]; - }; - "ResultSuccess_ScoreDistribution-Array_": { - data: components["schemas"]["ScoreDistribution"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_ScoreDistribution-Array.string_": components["schemas"]["ResultSuccess_ScoreDistribution-Array_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__score_key-string--score_sum-number--created_at_trunc-string_-Array_": { - data: { - created_at_trunc: string; - /** Format: double */ - score_sum: number; - score_key: string; - }[]; - /** @enum {number|null} */ - error: null; - }; - "Result__score_key-string--score_sum-number--created_at_trunc-string_-Array.string_": components["schemas"]["ResultSuccess__score_key-string--score_sum-number--created_at_trunc-string_-Array_"] | components["schemas"]["ResultError_string_"]; - CustomerUsage: { - id: string; - name: string; - /** Format: double */ - cost: number; - /** Format: double */ - count: number; - /** Format: double */ - prompt_tokens: number; - /** Format: double */ - completion_tokens: number; - }; - Customer: { - id: string; - name: string; - }; - CreditBalanceResponse: { - /** Format: double */ - totalCreditsPurchased: number; - /** Format: double */ - balance: number; - }; - ResultSuccess_CreditBalanceResponse_: { - data: components["schemas"]["CreditBalanceResponse"]; - /** @enum {number|null} */ - error: null; - }; - "Result_CreditBalanceResponse.string_": components["schemas"]["ResultSuccess_CreditBalanceResponse_"] | components["schemas"]["ResultError_string_"]; - PurchasedCredits: { - id: string; - /** Format: double */ - createdAt: number; - /** Format: double */ - credits: number; - referenceId: string; - }; - PaginatedPurchasedCredits: { - purchases: components["schemas"]["PurchasedCredits"][]; - /** Format: double */ - total: number; - /** Format: double */ - page: number; - /** Format: double */ - pageSize: number; - }; - ResultSuccess_PaginatedPurchasedCredits_: { - data: components["schemas"]["PaginatedPurchasedCredits"]; - /** @enum {number|null} */ - error: null; - }; - "Result_PaginatedPurchasedCredits.string_": components["schemas"]["ResultSuccess_PaginatedPurchasedCredits_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__totalSpend-number__": { - data: { - /** Format: double */ - totalSpend: number; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__totalSpend-number_.string_": components["schemas"]["ResultSuccess__totalSpend-number__"] | components["schemas"]["ResultError_string_"]; - ModelSpend: { - model: string; - provider: string; - /** Format: double */ - promptTokens: number; - /** Format: double */ - completionTokens: number; - /** Format: double */ - cacheReadTokens: number; - /** Format: double */ - cacheWriteTokens: number; - pricing: { - /** Format: double */ - cacheWritePer1M?: number; - /** Format: double */ - cacheReadPer1M?: number; - /** Format: double */ - outputPer1M: number; - /** Format: double */ - inputPer1M: number; - } | null; - /** Format: double */ - subtotal: number; - /** Format: double */ - discountPercent: number; - /** Format: double */ - total: number; - /** Format: double */ - cacheAdjustment?: number; - }; - SpendBreakdownResponse: { - models: components["schemas"]["ModelSpend"][]; - /** Format: double */ - totalCost: number; - timeRange: { - end: string; - start: string; - }; - }; - ResultSuccess_SpendBreakdownResponse_: { - data: components["schemas"]["SpendBreakdownResponse"]; - /** @enum {number|null} */ - error: null; - }; - "Result_SpendBreakdownResponse.string_": components["schemas"]["ResultSuccess_SpendBreakdownResponse_"] | components["schemas"]["ResultError_string_"]; - PTBInvoice: { - id: string; - organizationId: string; - stripeInvoiceId: string | null; - hostedInvoiceUrl: string | null; - startDate: string; - endDate: string; - /** Format: double */ - amountCents: number; - /** Format: double */ - subtotalCents: number | null; - notes: string | null; - createdAt: string; - }; - "ResultSuccess_PTBInvoice-Array_": { - data: components["schemas"]["PTBInvoice"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_PTBInvoice-Array.string_": components["schemas"]["ResultSuccess_PTBInvoice-Array_"] | components["schemas"]["ResultError_string_"]; - OrgDiscount: { - provider: string | null; - model: string | null; - /** Format: double */ - percent: number; - }; - "ResultSuccess_OrgDiscount-Array_": { - data: components["schemas"]["OrgDiscount"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_OrgDiscount-Array.string_": components["schemas"]["ResultSuccess_OrgDiscount-Array_"] | components["schemas"]["ResultError_string_"]; - InAppThread: { - id: string; - chat: unknown; - user_id: string; - org_id: string; - /** Format: date-time */ - created_at: string; - escalated: boolean; - metadata: unknown; - /** Format: date-time */ - updated_at: string; - soft_delete: boolean; - }; - ResultSuccess_InAppThread_: { - data: components["schemas"]["InAppThread"]; - /** @enum {number|null} */ - error: null; - }; - "Result_InAppThread.string_": components["schemas"]["ResultSuccess_InAppThread_"] | components["schemas"]["ResultError_string_"]; - "ResultSuccess__success-boolean__": { - data: { - success: boolean; - }; - /** @enum {number|null} */ - error: null; - }; - "Result__success-boolean_.string_": components["schemas"]["ResultSuccess__success-boolean__"] | components["schemas"]["ResultError_string_"]; - ThreadSummary: { - id: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - escalated: boolean; - /** Format: double */ - message_count: number; - first_message?: string; - last_message?: string; - soft_delete?: boolean; - }; - "ResultSuccess_ThreadSummary-Array_": { - data: components["schemas"]["ThreadSummary"][]; - /** @enum {number|null} */ - error: null; - }; - "Result_ThreadSummary-Array.string_": components["schemas"]["ResultSuccess_ThreadSummary-Array_"] | components["schemas"]["ResultError_string_"]; - }; - responses: { - }; - parameters: { - }; - requestBodies: { - }; - headers: { - }; - pathItems: never; -} - -export type $defs = Record; - -export type external = Record; - -export interface operations { - - GetProviderKey: { - parameters: { - path: { - providerKeyId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["DecryptedProviderKey"] | { - error: string; - }; - }; - }; - }; - }; - DeleteProviderKey: { - parameters: { - path: { - providerKeyId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": ({ - /** @enum {string} */ - providerName: "baseten" | "anthropic" | "azure" | "bedrock" | "canopywave" | "cerebras" | "chutes" | "deepinfra" | "deepseek" | "fireworks" | "google-ai-studio" | "groq" | "helicone" | "mistral" | "nebius" | "novita" | "openai" | "openrouter" | "perplexity" | "vertex" | "xai"; - }) | { - error: string; - }; - }; - }; - }; - }; - UpdateProviderKey: { - parameters: { - path: { - providerKeyId: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["UpdateProviderKeyRequest"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__id-string--providerName-string_.string_"]; - }; - }; - }; - }; - CreateProviderKey: { - requestBody: { - content: { - "application/json": components["schemas"]["CreateProviderKeyRequest"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": { - id: string; - } | { - error: string; - }; - }; - }; - }; - }; - GetProviderKeys: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["ProviderKeyRow"][] | { - error: string; - }; - }; - }; - }; - }; - GetAPIKeys: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__api_key_hash-string--api_key_name-string--created_at-string--governance-boolean--id-number--key_permissions-string--organization_id-string--soft_delete-boolean--temp_key-boolean--updated_at-string--user_id-string_-Array.string_"]; - }; - }; - }; - }; - CreateAPIKey: { - requestBody: { - content: { - "application/json": { - /** @enum {string} */ - key_permissions?: "rw" | "r" | "w"; - api_key_name: string; - }; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": { - hashedKey: string; - apiKey: string; - id: string; - } | { - error: string; - }; - }; - }; - }; - }; - CreateProxyKey: { - requestBody: { - content: { - "application/json": { - proxyKeyName: string; - providerKeyId: string; - }; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": { - proxyKeyId: string; - proxyKey: string; - } | { - error: string; - }; - }; - }; - }; - }; - DeleteAPIKey: { - parameters: { - path: { - apiKeyId: number; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": { - hashedKey: string; - } | { - error: string; - }; - }; - }; - }; - }; - UpdateAPIKey: { - parameters: { - path: { - apiKeyId: number; - }; - }; - requestBody: { - content: { - "application/json": { - api_key_name: string; - }; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": { - hashedKey: string; - } | { - error: string; - }; - }; - }; - }; - }; - CreateEvaluator: { - requestBody: { - content: { - "application/json": components["schemas"]["CreateEvaluatorParams"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_EvaluatorResult.string_"]; - }; - }; - }; - }; - GetEvaluator: { - parameters: { - path: { - evaluatorId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_EvaluatorResult.string_"]; - }; - }; - }; - }; - UpdateEvaluator: { - parameters: { - path: { - evaluatorId: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["UpdateEvaluatorParams"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_EvaluatorResult.string_"]; - }; - }; - }; - }; - DeleteEvaluator: { - parameters: { - path: { - evaluatorId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; - }; - }; - QueryEvaluators: { - requestBody: { - content: { - "application/json": Record; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_EvaluatorResult-Array.string_"]; - }; - }; - }; - }; - GetExperimentsForEvaluator: { - parameters: { - path: { - evaluatorId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_EvaluatorExperiment-Array.string_"]; - }; - }; - }; - }; - GetOnlineEvaluators: { - parameters: { - path: { - evaluatorId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_OnlineEvaluatorByEvaluatorId-Array.string_"]; - }; - }; - }; - }; - CreateOnlineEvaluator: { - parameters: { - path: { - evaluatorId: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["CreateOnlineEvaluatorParams"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; - }; - }; - DeleteOnlineEvaluator: { - parameters: { - path: { - evaluatorId: string; - onlineEvaluatorId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; - }; - }; - TestPythonEvaluator: { - requestBody: { - content: { - "application/json": { - testInput: components["schemas"]["TestInput"]; - code: string; - }; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__output-string--traces-string-Array--statusCode_63_-number_.string_"]; - }; - }; - }; - }; - TestLLMEvaluator: { - requestBody: { - content: { - "application/json": { - evaluatorName: string; - testInput: components["schemas"]["TestInput"]; - evaluatorConfig: components["schemas"]["EvaluatorConfig"]; - }; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["EvaluatorScoreResult"]; - }; - }; - }; - }; - TestLastMileEvaluator: { - requestBody: { - content: { - "application/json": { - testInput: components["schemas"]["TestInput"]; - config: components["schemas"]["LastMileConfigForm"]; - }; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__score-number--input-string--output-string--ground_truth_63_-string_.string_"]; - }; - }; - }; - }; - GetEvaluatorStats: { - parameters: { - path: { - evaluatorId: string; - }; + priority?: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_EvaluatorStats.string_"]; - }; - }; + SimplifiedModalityPricing: { + /** Format: double */ + input?: number; + /** Format: double */ + cachedInput?: number; + /** Format: double */ + output?: number; }; - }; - GetPrompt2025: { - parameters: { - path: { - promptId: string; - }; + SimplifiedPricing: { + /** Format: double */ + prompt: number; + /** Format: double */ + completion: number; + audio?: components["schemas"]["SimplifiedModalityPricing"]; + /** Format: double */ + thinking?: number; + /** Format: double */ + web_search?: number; + image?: components["schemas"]["SimplifiedModalityPricing"]; + video?: components["schemas"]["SimplifiedModalityPricing"]; + file?: components["schemas"]["SimplifiedModalityPricing"]; + /** Format: double */ + cacheRead?: number; + /** Format: double */ + cacheWrite?: number; + /** Format: double */ + threshold?: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_Prompt2025.string_"]; - }; - }; + ModelEndpoint: { + provider: string; + providerSlug: string; + endpoint?: components["schemas"]["Endpoint"]; + supportsPtb?: boolean; + pricing: components["schemas"]["SimplifiedPricing"]; + pricingTiers?: components["schemas"]["SimplifiedPricing"][]; }; - }; - RenamePrompt2025: { - parameters: { - path: { - promptId: string; - }; + /** @enum {string} */ + InputModality: "text" | "image" | "audio" | "video"; + /** @enum {string} */ + OutputModality: "text" | "image" | "audio" | "video"; + ModelRegistryItem: { + id: string; + name: string; + author: string; + /** Format: double */ + contextLength: number; + endpoints: components["schemas"]["ModelEndpoint"][]; + /** Format: double */ + maxOutput?: number; + trainingDate?: string; + description?: string; + inputModalities: components["schemas"]["InputModality"][]; + outputModalities: components["schemas"]["OutputModality"][]; + supportedParameters: components["schemas"]["StandardParameter"][]; + pinnedVersionOfModel?: string; }; - requestBody: { - content: { - "application/json": { - name: string; - }; + /** @enum {string} */ + ModelCapability: "audio" | "video" | "image" | "thinking" | "web_search" | "caching" | "reasoning"; + ModelRegistryResponse: { + models: components["schemas"]["ModelRegistryItem"][]; + /** Format: double */ + total: number; + filters: { + capabilities: components["schemas"]["ModelCapability"][]; + authors: string[]; + providers: { + displayName: string; + name: string; + }[]; }; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; + ResultSuccess_ModelRegistryResponse_: { + data: components["schemas"]["ModelRegistryResponse"]; + /** @enum {number|null} */ + error: null; }; - }; - UpdatePrompt2025Tags: { - parameters: { - path: { - promptId: string; - }; + "Result_ModelRegistryResponse.string_": components["schemas"]["ResultSuccess_ModelRegistryResponse_"] | components["schemas"]["ResultError_string_"]; + OAIModel: { + id: string; + /** @enum {string} */ + object: "model"; + /** Format: double */ + created: number; + owned_by: string; }; - requestBody: { - content: { - "application/json": { - tags: string[]; - }; - }; + OAIModelsResponse: { + /** @enum {string} */ + object: "list"; + data: components["schemas"]["OAIModel"][]; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_string-Array.string_"]; - }; - }; + MetricStats: { + /** Format: double */ + p99: number; + /** Format: double */ + p95: number; + /** Format: double */ + p90: number; + /** Format: double */ + max: number; + /** Format: double */ + min: number; + /** Format: double */ + median: number; + /** Format: double */ + average: number; }; - }; - DeletePrompt2025: { - parameters: { - path: { - promptId: string; - }; + TokenMetricStats: components["schemas"]["MetricStats"] & { + /** Format: double */ + medianPer1000Tokens: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; + TimeSeriesMetric: { + /** Format: double */ + value: number; + timestamp: string; }; - }; - DeletePrompt2025Version: { - parameters: { - path: { - promptId: string; - versionId: string; + Model: { + timeSeriesData: { + errorRate: components["schemas"]["TimeSeriesMetric"][]; + successRate: components["schemas"]["TimeSeriesMetric"][]; + ttft: components["schemas"]["TimeSeriesMetric"][]; + latency: components["schemas"]["TimeSeriesMetric"][]; }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; + requestStatus: { + /** Format: double */ + errorRate: number; + /** Format: double */ + successRate: number; }; - }; - }; - GetPrompt2025Inputs: { - parameters: { - query: { - requestId: string; + geographicTtft: { + /** Format: double */ + median: number; + countryCode: string; + }[]; + geographicLatency: { + /** Format: double */ + median: number; + countryCode: string; + }[]; + feedback: { + /** Format: double */ + negativePercentage: number; + /** Format: double */ + positivePercentage: number; }; - path: { - promptId: string; - versionId: string; + costs: { + /** Format: double */ + completion_token: number; + /** Format: double */ + prompt_token: number; }; + ttft: components["schemas"]["MetricStats"]; + latency: components["schemas"]["TokenMetricStats"]; + provider: string; + model: string; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_Prompt2025Input.string_"]; - }; - }; + "ResultSuccess_Model-Array_": { + data: components["schemas"]["Model"][]; + /** @enum {number|null} */ + error: null; }; - }; - GetPrompt2025Tags: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_string-Array.string_"]; - }; - }; + "Result_Model-Array.string_": components["schemas"]["ResultSuccess_Model-Array_"] | components["schemas"]["ResultError_string_"]; + ModelsToCompare: { + provider: string; + names: string[]; + parent: string; }; - }; - GetPrompt2025Environments: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_string-Array.string_"]; - }; + MetricsFilterBody: { + filter: components["schemas"]["FilterNode"]; + timeFilter: { + end: string; + start: string; }; }; - }; - CreatePrompt2025: { - requestBody: { - content: { - "application/json": { - promptBody: components["schemas"]["OpenAIChatRequest"]; - tags: string[]; - name: string; - }; - }; + TokensPerRequest: { + /** Format: double */ + average_prompt_tokens_per_response: number; + /** Format: double */ + average_completion_tokens_per_response: number; + /** Format: double */ + average_total_tokens_per_response: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptCreateResponse.string_"]; - }; - }; + ResultSuccess_TokensPerRequest_: { + data: components["schemas"]["TokensPerRequest"]; + /** @enum {number|null} */ + error: null; }; - }; - UpdatePrompt2025: { - requestBody: { - content: { - "application/json": { - promptBody: components["schemas"]["OpenAIChatRequest"]; - commitMessage: string; - environment?: string; - newMajorVersion: boolean; - promptVersionId: string; - promptId: string; - }; - }; + "Result_TokensPerRequest.string_": components["schemas"]["ResultSuccess_TokensPerRequest_"] | components["schemas"]["ResultError_string_"]; + RequestsOverTime: { + /** Format: date-time */ + time: string; + /** Format: double */ + count: number; + /** Format: double */ + status?: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__id-string_.string_"]; - }; - }; + "ResultSuccess_RequestsOverTime-Array_": { + data: components["schemas"]["RequestsOverTime"][]; + /** @enum {number|null} */ + error: null; }; - }; - SetPromptVersionEnvironment: { - requestBody: { - content: { - "application/json": { - environment: string; - promptVersionId: string; - promptId: string; - }; + "Result_RequestsOverTime-Array.string_": components["schemas"]["ResultSuccess_RequestsOverTime-Array_"] | components["schemas"]["ResultError_string_"]; + MetricsOverTimeBody: { + timeFilter: { + end: string; + start: string; }; + filter: components["schemas"]["FilterNode"]; + dbIncrement?: components["schemas"]["TimeIncrement"]; + /** Format: double */ + timeZoneDifference: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; + CostOverTime: { + /** Format: date-time */ + time: string; + /** Format: double */ + cost: number; }; - }; - RemoveEnvironmentFromVersion: { - requestBody: { - content: { - "application/json": { - environment: string; - promptVersionId: string; - promptId: string; - }; - }; + "ResultSuccess_CostOverTime-Array_": { + data: components["schemas"]["CostOverTime"][]; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; + "Result_CostOverTime-Array.string_": components["schemas"]["ResultSuccess_CostOverTime-Array_"] | components["schemas"]["ResultError_string_"]; + TokensOverTime: { + /** Format: date-time */ + time: string; + /** Format: double */ + prompt_tokens: number; + /** Format: double */ + completion_tokens: number; }; - }; - GetPrompt2025Count: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_number.string_"]; - }; - }; + "ResultSuccess_TokensOverTime-Array_": { + data: components["schemas"]["TokensOverTime"][]; + /** @enum {number|null} */ + error: null; }; - }; - GetPrompts2025: { - requestBody: { - content: { - "application/json": { - /** Format: double */ - pageSize: number; - /** Format: double */ - page: number; - tagsFilter: string[]; - search: string; - }; - }; + "Result_TokensOverTime-Array.string_": components["schemas"]["ResultSuccess_TokensOverTime-Array_"] | components["schemas"]["ResultError_string_"]; + LatencyOverTime: { + /** Format: date-time */ + time: string; + /** Format: double */ + duration: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_Prompt2025-Array.string_"]; - }; - }; + "ResultSuccess_LatencyOverTime-Array_": { + data: components["schemas"]["LatencyOverTime"][]; + /** @enum {number|null} */ + error: null; }; - }; - GetPrompt2025Version: { - requestBody: { - content: { - "application/json": { - promptVersionId: string; - }; - }; + "Result_LatencyOverTime-Array.string_": components["schemas"]["ResultSuccess_LatencyOverTime-Array_"] | components["schemas"]["ResultError_string_"]; + TimeToFirstTokenOverTime: { + /** Format: date-time */ + time: string; + /** Format: double */ + ttft: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_Prompt2025Version.string_"]; - }; - }; + "ResultSuccess_TimeToFirstTokenOverTime-Array_": { + data: components["schemas"]["TimeToFirstTokenOverTime"][]; + /** @enum {number|null} */ + error: null; }; - }; - GetPrompt2025EnvironmentVersion: { - requestBody: { - content: { - "application/json": { - environment: string; - promptId: string; - }; - }; + "Result_TimeToFirstTokenOverTime-Array.string_": components["schemas"]["ResultSuccess_TimeToFirstTokenOverTime-Array_"] | components["schemas"]["ResultError_string_"]; + UsersOverTime: { + /** Format: date-time */ + time: string; + /** Format: double */ + count: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_Prompt2025Version.string_"]; - }; - }; + "ResultSuccess_UsersOverTime-Array_": { + data: components["schemas"]["UsersOverTime"][]; + /** @enum {number|null} */ + error: null; }; - }; - GetPrompt2025Versions: { - requestBody: { - content: { - "application/json": { - /** Format: double */ - majorVersion?: number; - promptId: string; - }; - }; + "Result_UsersOverTime-Array.string_": components["schemas"]["ResultSuccess_UsersOverTime-Array_"] | components["schemas"]["ResultError_string_"]; + ThreatsOverTime: { + /** Format: date-time */ + time: string; + /** Format: double */ + count: number; + }; + "ResultSuccess_ThreatsOverTime-Array_": { + data: components["schemas"]["ThreatsOverTime"][]; + /** @enum {number|null} */ + error: null; + }; + "Result_ThreatsOverTime-Array.string_": components["schemas"]["ResultSuccess_ThreatsOverTime-Array_"] | components["schemas"]["ResultError_string_"]; + ErrorOverTime: { + /** Format: date-time */ + time: string; + /** Format: double */ + count: number; + }; + "ResultSuccess_ErrorOverTime-Array_": { + data: components["schemas"]["ErrorOverTime"][]; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_Prompt2025Version-Array.string_"]; - }; - }; + "Result_ErrorOverTime-Array.string_": components["schemas"]["ResultSuccess_ErrorOverTime-Array_"] | components["schemas"]["ResultError_string_"]; + RequestCountBody: { + filter: components["schemas"]["FilterNode"]; + isCached?: boolean; }; - }; - GetPrompt2025ProductionVersion: { - requestBody: { - content: { - "application/json": { - promptId: string; - }; - }; + ModelMetric: { + model: string; + /** Format: double */ + total_requests: number; + /** Format: double */ + total_completion_tokens: number; + /** Format: double */ + total_prompt_token: number; + /** Format: double */ + total_tokens: number; + /** Format: double */ + cost: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_Prompt2025Version.string_"]; - }; - }; + "ResultSuccess_ModelMetric-Array_": { + data: components["schemas"]["ModelMetric"][]; + /** @enum {number|null} */ + error: null; }; - }; - GetPrompt2025TotalVersions: { - requestBody: { - content: { - "application/json": { - promptId: string; - }; + "Result_ModelMetric-Array.string_": components["schemas"]["ResultSuccess_ModelMetric-Array_"] | components["schemas"]["ResultError_string_"]; + ModelMetricsBody: { + filter: components["schemas"]["FilterNode"]; + /** Format: double */ + offset: number; + /** Format: double */ + limit: number; + timeFilter: { + end: string; + start: string; }; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptVersionCounts.string_"]; - }; - }; + CountryData: { + country: string; + /** Format: double */ + total_requests: number; }; - }; - /** @description Get the full prompt body (messages, tools, etc.) for a specific prompt version. */ - GetPrompt2025VersionBody: { - parameters: { - path: { - promptVersionId: string; - }; + "ResultSuccess_CountryData-Array_": { + data: components["schemas"]["CountryData"][]; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_Prompt2025Version_91_prompt_body_93_.string_"]; - }; + "Result_CountryData-Array.string_": components["schemas"]["ResultSuccess_CountryData-Array_"] | components["schemas"]["ResultError_string_"]; + CountryMetricsBody: { + filter: components["schemas"]["FilterNode"]; + /** Format: double */ + offset: number; + /** Format: double */ + limit: number; + timeFilter: { + end: string; + start: string; }; }; - }; - HasPrompts: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__hasPrompts-boolean_.string_"]; - }; - }; + Quantiles: { + /** Format: date-time */ + time: string; + /** Format: double */ + p75: number; + /** Format: double */ + p90: number; + /** Format: double */ + p95: number; + /** Format: double */ + p99: number; }; - }; - GetPrompts: { - requestBody: { - content: { - "application/json": components["schemas"]["PromptsQueryParams"]; - }; + "ResultSuccess_Quantiles-Array_": { + data: components["schemas"]["Quantiles"][]; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptsResult-Array.string_"]; - }; + "Result_Quantiles-Array.string_": components["schemas"]["ResultSuccess_Quantiles-Array_"] | components["schemas"]["ResultError_string_"]; + QuantilesBody: { + filter: components["schemas"]["FilterNode"]; + timeFilter: { + end: string; + start: string; }; + dbIncrement?: components["schemas"]["TimeIncrement"]; + /** Format: double */ + timeZoneDifference: number; + metric: string; }; - }; - GetPrompt: { - parameters: { - path: { - promptId: string; + "ResultSuccess__unsafe-boolean__": { + data: { + unsafe: boolean; }; + /** @enum {number|null} */ + error: null; }; - requestBody: { - content: { - "application/json": components["schemas"]["PromptQueryParams"]; - }; + "Result__unsafe-boolean_.string_": components["schemas"]["ResultSuccess__unsafe-boolean__"] | components["schemas"]["ResultError_string_"]; + ClickHouseTableColumn: { + name: string; + type: string; + default_type?: string; + default_expression?: string; + comment?: string; + codec_expression?: string; + ttl_expression?: string; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptResult.string_"]; - }; - }; + ClickHouseTableSchema: { + table_name: string; + columns: components["schemas"]["ClickHouseTableColumn"][]; }; - }; - DeletePrompt: { - parameters: { - path: { - promptId: string; - }; + "ResultSuccess_ClickHouseTableSchema-Array_": { + data: components["schemas"]["ClickHouseTableSchema"][]; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description No content */ - 204: { - content: never; - }; + "Result_ClickHouseTableSchema-Array.string_": components["schemas"]["ResultSuccess_ClickHouseTableSchema-Array_"] | components["schemas"]["ResultError_string_"]; + ExecuteSqlResponse: { + /** Format: double */ + rowCount: number; + /** Format: double */ + size: number; + /** Format: double */ + elapsedMilliseconds: number; + rows: components["schemas"]["Record_string.any_"][]; }; - }; - CreatePrompt: { - requestBody: { - content: { - "application/json": { - metadata: components["schemas"]["Record_string.any_"]; - prompt: unknown; - userDefinedId: string; - }; - }; + ResultSuccess_ExecuteSqlResponse_: { + data: components["schemas"]["ExecuteSqlResponse"]; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_CreatePromptResponse.string_"]; - }; - }; + "Result_ExecuteSqlResponse.string_": components["schemas"]["ResultSuccess_ExecuteSqlResponse_"] | components["schemas"]["ResultError_string_"]; + ExecuteSqlRequest: { + sql: string; }; - }; - UpdatePromptUserDefinedId: { - parameters: { - path: { - promptId: string; - }; + HqlSavedQuery: { + id: string; + organization_id: string; + name: string; + sql: string; + created_at: string; + updated_at: string; }; - requestBody: { - content: { - "application/json": { - userDefinedId: string; - }; - }; + ResultSuccess_Array_HqlSavedQuery__: { + data: components["schemas"]["HqlSavedQuery"][]; + /** @enum {number|null} */ + error: null; + }; + "Result_Array_HqlSavedQuery_.string_": components["schemas"]["ResultSuccess_Array_HqlSavedQuery__"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess_HqlSavedQuery-or-null_": { + data: components["schemas"]["HqlSavedQuery"] | null; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; + "Result_HqlSavedQuery-or-null.string_": components["schemas"]["ResultSuccess_HqlSavedQuery-or-null_"] | components["schemas"]["ResultError_string_"]; + ResultSuccess_void_: { + data: unknown; + /** @enum {number|null} */ + error: null; }; - }; - EditPromptVersionLabel: { - parameters: { - path: { - promptVersionId: string; - }; + "Result_void.string_": components["schemas"]["ResultSuccess_void_"] | components["schemas"]["ResultError_string_"]; + BulkDeleteSavedQueriesRequest: { + ids: string[]; }; - requestBody: { - content: { - "application/json": components["schemas"]["PromptEditSubversionLabelParams"]; - }; + "ResultSuccess_HqlSavedQuery-Array_": { + data: components["schemas"]["HqlSavedQuery"][]; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__metadata-Record_string.any__.string_"]; - }; - }; + "Result_HqlSavedQuery-Array.string_": components["schemas"]["ResultSuccess_HqlSavedQuery-Array_"] | components["schemas"]["ResultError_string_"]; + CreateSavedQueryRequest: { + name: string; + sql: string; }; - }; - EditPromptVersionTemplate: { - parameters: { - path: { - promptVersionId: string; - }; + ResultSuccess_HqlSavedQuery_: { + data: components["schemas"]["HqlSavedQuery"]; + /** @enum {number|null} */ + error: null; }; - requestBody: { - content: { - "application/json": components["schemas"]["PromptEditSubversionTemplateParams"]; + "Result_HqlSavedQuery.string_": components["schemas"]["ResultSuccess_HqlSavedQuery_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__datasetId-string__": { + data: { + datasetId: string; }; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; + "Result__datasetId-string_.string_": components["schemas"]["ResultSuccess__datasetId-string__"] | components["schemas"]["ResultError_string_"]; + HeliconeDatasetMetadata: { + promptVersionId?: string; + inputRecordsIds?: string[]; }; - }; - CreateSubversionFromUi: { - parameters: { - path: { - promptVersionId: string; - }; + NewHeliconeDatasetParams: { + datasetName: string; + requestIds: string[]; + meta?: components["schemas"]["HeliconeDatasetMetadata"]; }; - requestBody: { - content: { - "application/json": components["schemas"]["PromptCreateSubversionParams"]; - }; + MutateParams: { + addRequests: string[]; + removeRequests: string[]; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptVersionResult.string_"]; - }; - }; + HeliconeDatasetRow: { + id: string; + origin_request_id: string; + dataset_id: string; + created_at: string; + signed_url: components["schemas"]["Result_string.string_"]; }; - }; - CreateSubversion: { - parameters: { - path: { - promptVersionId: string; - }; + "ResultSuccess_HeliconeDatasetRow-Array_": { + data: components["schemas"]["HeliconeDatasetRow"][]; + /** @enum {number|null} */ + error: null; }; - requestBody: { - content: { - "application/json": components["schemas"]["PromptCreateSubversionParams"]; - }; + "Result_HeliconeDatasetRow-Array.string_": components["schemas"]["ResultSuccess_HeliconeDatasetRow-Array_"] | components["schemas"]["ResultError_string_"]; + HeliconeDataset: { + created_at: string | null; + dataset_type: string; + id: string; + meta: components["schemas"]["Json"] | null; + name: string | null; + organization: string; + /** Format: double */ + requests_count: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptVersionResult.string_"]; - }; - }; + "ResultSuccess_HeliconeDataset-Array_": { + data: components["schemas"]["HeliconeDataset"][]; + /** @enum {number|null} */ + error: null; }; - }; - PromotePromptVersionToProduction: { - parameters: { - path: { - promptVersionId: string; - }; + "Result_HeliconeDataset-Array.string_": components["schemas"]["ResultSuccess_HeliconeDataset-Array_"] | components["schemas"]["ResultError_string_"]; + ResultSuccess_any_: { + data: unknown; + /** @enum {number|null} */ + error: null; }; - requestBody: { - content: { - "application/json": { - previousProductionVersionId: string; - }; - }; + Eval: { + name: string; + /** Format: double */ + averageScore: number; + /** Format: double */ + minScore: number; + /** Format: double */ + maxScore: number; + /** Format: double */ + count: number; + overTime: { + /** Format: double */ + count: number; + date: string; + }[]; + averageOverTime: { + /** Format: double */ + value: number; + date: string; + }[]; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptVersionResult.string_"]; - }; - }; + "ResultSuccess_Eval-Array_": { + data: components["schemas"]["Eval"][]; + /** @enum {number|null} */ + error: null; }; - }; - GetInputs: { - parameters: { - path: { - promptVersionId: string; + "Result_Eval-Array.string_": components["schemas"]["ResultSuccess_Eval-Array_"] | components["schemas"]["ResultError_string_"]; + EvalFilterNode: components["schemas"]["FilterLeafSubset_request_response_rmt_"] | components["schemas"]["EvalFilterBranch"] | "all"; + EvalFilterBranch: { + right: components["schemas"]["EvalFilterNode"]; + /** @enum {string} */ + operator: "or" | "and"; + left: components["schemas"]["EvalFilterNode"]; + }; + EvalQueryParams: { + filter: components["schemas"]["EvalFilterNode"]; + timeFilter: { + end: string; + start: string; }; + /** Format: double */ + offset?: number; + /** Format: double */ + limit?: number; + /** Format: double */ + timeZoneDifference?: number; }; - requestBody: { - content: { - "application/json": { - random?: boolean; + ScoreDistribution: { + name: string; + distribution: { /** Format: double */ - limit: number; - }; - }; + value: number; + /** Format: double */ + upper: number; + /** Format: double */ + lower: number; + }[]; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptInputRecord-Array.string_"]; - }; - }; + "ResultSuccess_ScoreDistribution-Array_": { + data: components["schemas"]["ScoreDistribution"][]; + /** @enum {number|null} */ + error: null; }; - }; - GetPromptExperiments: { - parameters: { - path: { - promptId: string; - }; + "Result_ScoreDistribution-Array.string_": components["schemas"]["ResultSuccess_ScoreDistribution-Array_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__score_key-string--score_sum-number--created_at_trunc-string_-Array_": { + data: { + created_at_trunc: string; + /** Format: double */ + score_sum: number; + score_key: string; + }[]; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__id-string--created_at-string--num_hypotheses-number--dataset-string--meta-Record_string.any__-Array.string_"]; - }; - }; + "Result__score_key-string--score_sum-number--created_at_trunc-string_-Array.string_": components["schemas"]["ResultSuccess__score_key-string--score_sum-number--created_at_trunc-string_-Array_"] | components["schemas"]["ResultError_string_"]; + CustomerUsage: { + id: string; + name: string; + /** Format: double */ + cost: number; + /** Format: double */ + count: number; + /** Format: double */ + prompt_tokens: number; + /** Format: double */ + completion_tokens: number; }; - }; - GetPromptVersions: { - parameters: { - path: { - promptId: string; - }; + Customer: { + id: string; + name: string; }; - requestBody: { - content: { - "application/json": components["schemas"]["PromptVersionsQueryParams"]; - }; + CreditBalanceResponse: { + /** Format: double */ + totalCreditsPurchased: number; + /** Format: double */ + balance: number; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptVersionResult-Array.string_"]; - }; - }; + ResultSuccess_CreditBalanceResponse_: { + data: components["schemas"]["CreditBalanceResponse"]; + /** @enum {number|null} */ + error: null; }; - }; - GetPromptVersion: { - parameters: { - path: { - promptVersionId: string; - }; + "Result_CreditBalanceResponse.string_": components["schemas"]["ResultSuccess_CreditBalanceResponse_"] | components["schemas"]["ResultError_string_"]; + PurchasedCredits: { + id: string; + /** Format: double */ + createdAt: number; + /** Format: double */ + credits: number; + referenceId: string; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptVersionResult.string_"]; - }; - }; + PaginatedPurchasedCredits: { + purchases: components["schemas"]["PurchasedCredits"][]; + /** Format: double */ + total: number; + /** Format: double */ + page: number; + /** Format: double */ + pageSize: number; }; - }; - DeletePromptVersion: { - parameters: { - path: { - experimentId: string; - promptVersionId: string; - }; + ResultSuccess_PaginatedPurchasedCredits_: { + data: components["schemas"]["PaginatedPurchasedCredits"]; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; + "Result_PaginatedPurchasedCredits.string_": components["schemas"]["ResultSuccess_PaginatedPurchasedCredits_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__totalSpend-number__": { + data: { + /** Format: double */ + totalSpend: number; }; + /** @enum {number|null} */ + error: null; }; - }; - GetPromptVersionsCompiled: { - parameters: { - path: { - user_defined_id: string; - }; + "Result__totalSpend-number_.string_": components["schemas"]["ResultSuccess__totalSpend-number__"] | components["schemas"]["ResultError_string_"]; + ModelSpend: { + model: string; + provider: string; + /** Format: double */ + promptTokens: number; + /** Format: double */ + completionTokens: number; + /** Format: double */ + cacheReadTokens: number; + /** Format: double */ + cacheWriteTokens: number; + pricing: { + /** Format: double */ + cacheWritePer1M?: number; + /** Format: double */ + cacheReadPer1M?: number; + /** Format: double */ + outputPer1M: number; + /** Format: double */ + inputPer1M: number; + } | null; + /** Format: double */ + subtotal: number; + /** Format: double */ + discountPercent: number; + /** Format: double */ + total: number; + /** Format: double */ + cacheAdjustment?: number; }; - requestBody: { - content: { - "application/json": components["schemas"]["PromptVersiosQueryParamsCompiled"]; + SpendBreakdownResponse: { + models: components["schemas"]["ModelSpend"][]; + /** Format: double */ + totalCost: number; + timeRange: { + end: string; + start: string; }; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptVersionResultCompiled.string_"]; - }; - }; + ResultSuccess_SpendBreakdownResponse_: { + data: components["schemas"]["SpendBreakdownResponse"]; + /** @enum {number|null} */ + error: null; }; - }; - GetPromptVersionTemplates: { - parameters: { - path: { - user_defined_id: string; - }; + "Result_SpendBreakdownResponse.string_": components["schemas"]["ResultSuccess_SpendBreakdownResponse_"] | components["schemas"]["ResultError_string_"]; + PTBInvoice: { + id: string; + organizationId: string; + stripeInvoiceId: string | null; + hostedInvoiceUrl: string | null; + startDate: string; + endDate: string; + /** Format: double */ + amountCents: number; + /** Format: double */ + subtotalCents: number | null; + notes: string | null; + createdAt: string; }; - requestBody: { - content: { - "application/json": components["schemas"]["PromptVersiosQueryParamsCompiled"]; - }; + "ResultSuccess_PTBInvoice-Array_": { + data: components["schemas"]["PTBInvoice"][]; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptVersionResultFilled.string_"]; - }; - }; + "Result_PTBInvoice-Array.string_": components["schemas"]["ResultSuccess_PTBInvoice-Array_"] | components["schemas"]["ResultError_string_"]; + OrgDiscount: { + provider: string | null; + model: string | null; + /** Format: double */ + percent: number; }; - }; - CreateEmptyExperiment: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__experimentId-string_.string_"]; - }; - }; + "ResultSuccess_OrgDiscount-Array_": { + data: components["schemas"]["OrgDiscount"][]; + /** @enum {number|null} */ + error: null; }; - }; - CreateExperimentFromRequest: { - parameters: { - path: { - requestId: string; - }; + "Result_OrgDiscount-Array.string_": components["schemas"]["ResultSuccess_OrgDiscount-Array_"] | components["schemas"]["ResultError_string_"]; + InAppThread: { + id: string; + chat: unknown; + user_id: string; + org_id: string; + /** Format: date-time */ + created_at: string; + escalated: boolean; + metadata: unknown; + /** Format: date-time */ + updated_at: string; + soft_delete: boolean; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__experimentId-string_.string_"]; - }; - }; + ResultSuccess_InAppThread_: { + data: components["schemas"]["InAppThread"]; + /** @enum {number|null} */ + error: null; }; - }; - CreateNewExperiment: { - requestBody: { - content: { - "application/json": { - originalPromptVersion: string; - name: string; - }; + "Result_InAppThread.string_": components["schemas"]["ResultSuccess_InAppThread_"] | components["schemas"]["ResultError_string_"]; + "ResultSuccess__success-boolean__": { + data: { + success: boolean; }; + /** @enum {number|null} */ + error: null; }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result__experimentId-string_.string_"]; - }; - }; + "Result__success-boolean_.string_": components["schemas"]["ResultSuccess__success-boolean__"] | components["schemas"]["ResultError_string_"]; + ThreadSummary: { + id: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + escalated: boolean; + /** Format: double */ + message_count: number; + first_message?: string; + last_message?: string; + soft_delete?: boolean; }; - }; - GetExperiments: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_ExperimentV2-Array.string_"]; - }; - }; + "ResultSuccess_ThreadSummary-Array_": { + data: components["schemas"]["ThreadSummary"][]; + /** @enum {number|null} */ + error: null; }; + "Result_ThreadSummary-Array.string_": components["schemas"]["ResultSuccess_ThreadSummary-Array_"] | components["schemas"]["ResultError_string_"]; }; - GetExperimentById: { + responses: { + }; + parameters: { + }; + requestBodies: { + }; + headers: { + }; + pathItems: never; +} + +export type $defs = Record; + +export type external = Record; + +export interface operations { + + GetProviderKey: { parameters: { path: { - experimentId: string; + providerKeyId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ExtendedExperimentData.string_"]; + "application/json": components["schemas"]["DecryptedProviderKey"] | { + error: string; + }; }; }; }; }; - DeleteExperiment: { + DeleteProviderKey: { parameters: { path: { - experimentId: string; + providerKeyId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": ({ + /** @enum {string} */ + providerName: "baseten" | "anthropic" | "azure" | "bedrock" | "canopywave" | "cerebras" | "chutes" | "deepinfra" | "deepseek" | "fireworks" | "google-ai-studio" | "groq" | "helicone" | "mistral" | "nebius" | "novita" | "openai" | "openrouter" | "perplexity" | "vertex" | "xai"; + }) | { + error: string; + }; }; }; }; }; - CreateNewPromptVersionForExperiment: { + UpdateProviderKey: { parameters: { path: { - experimentId: string; + providerKeyId: string; }; }; requestBody: { content: { - "application/json": components["schemas"]["CreateNewPromptVersionForExperimentParams"]; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_PromptVersionResult.string_"]; - }; - }; - }; - }; - GetPromptVersionsForExperiment: { - parameters: { - path: { - experimentId: string; + "application/json": components["schemas"]["UpdateProviderKeyRequest"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ExperimentV2PromptVersion-Array.string_"]; + "application/json": components["schemas"]["Result__id-string--providerName-string_.string_"]; }; }; }; }; - GetInputKeysForExperiment: { - parameters: { - path: { - experimentId: string; + CreateProviderKey: { + requestBody: { + content: { + "application/json": components["schemas"]["CreateProviderKeyRequest"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_string-Array.string_"]; + "application/json": { + id: string; + } | { + error: string; + }; }; }; }; }; - AddManualRowToExperiment: { - parameters: { - path: { - experimentId: string; - }; - }; - requestBody: { - content: { - "application/json": { - inputs: components["schemas"]["Record_string.string_"]; - }; - }; - }; + GetProviderKeys: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_string.string_"]; + "application/json": components["schemas"]["ProviderKeyRow"][] | { + error: string; + }; }; }; }; }; - AddManualRowsToExperimentBatch: { - parameters: { - path: { - experimentId: string; - }; - }; - requestBody: { - content: { - "application/json": { - inputs: components["schemas"]["Record_string.string_"][]; - }; - }; - }; + GetAPIKeys: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result__api_key_hash-string--api_key_name-string--created_at-string--governance-boolean--id-number--key_permissions-string--organization_id-string--soft_delete-boolean--temp_key-boolean--updated_at-string--user_id-string_-Array.string_"]; }; }; }; }; - DeleteExperimentTableRows: { - parameters: { - path: { - experimentId: string; - }; - }; + CreateAPIKey: { requestBody: { content: { "application/json": { - inputRecordIds: string[]; + /** @enum {string} */ + key_permissions?: "rw" | "r" | "w"; + api_key_name: string; }; }; }; @@ -5950,25 +4202,23 @@ export interface operations { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": { + hashedKey: string; + apiKey: string; + id: string; + } | { + error: string; + }; }; }; }; }; - CreateExperimentTableRowBatch: { - parameters: { - path: { - experimentId: string; - }; - }; + CreateProxyKey: { requestBody: { content: { "application/json": { - rows: { - autoInputs: unknown[]; - inputs: components["schemas"]["Record_string.string_"]; - inputRecordId: string; - }[]; + proxyKeyName: string; + providerKeyId: string; }; }; }; @@ -5976,38 +4226,45 @@ export interface operations { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": { + proxyKeyId: string; + proxyKey: string; + } | { + error: string; + }; }; }; }; }; - CreateExperimentTableRowFromDataset: { + DeleteAPIKey: { parameters: { path: { - experimentId: string; - datasetId: string; + apiKeyId: number; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": { + hashedKey: string; + } | { + error: string; + }; }; }; }; }; - UpdateExperimentTableRow: { + UpdateAPIKey: { parameters: { path: { - experimentId: string; + apiKeyId: number; }; }; requestBody: { content: { "application/json": { - inputs: components["schemas"]["Record_string.string_"]; - inputRecordId: string; + api_key_name: string; }; }; }; @@ -6015,75 +4272,68 @@ export interface operations { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": { + hashedKey: string; + } | { + error: string; + }; }; }; }; }; - RunHypothesis: { - parameters: { - path: { - experimentId: string; - }; - }; + CreateEvaluator: { requestBody: { content: { - "application/json": { - inputRecordId: string; - promptVersionId: string; - }; + "application/json": components["schemas"]["CreateEvaluatorParams"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_string.string_"]; + "application/json": components["schemas"]["Result_EvaluatorResult.string_"]; }; }; }; }; - GetExperimentEvaluators: { + GetEvaluator: { parameters: { path: { - experimentId: string; + evaluatorId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_EvaluatorResult-Array.string_"]; + "application/json": components["schemas"]["Result_EvaluatorResult.string_"]; }; }; }; }; - CreateExperimentEvaluator: { + UpdateEvaluator: { parameters: { path: { - experimentId: string; + evaluatorId: string; }; }; requestBody: { content: { - "application/json": { - evaluatorId: string; - }; + "application/json": components["schemas"]["UpdateEvaluatorParams"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result_EvaluatorResult.string_"]; }; }; }; }; - DeleteExperimentEvaluator: { + DeleteEvaluator: { parameters: { path: { - experimentId: string; evaluatorId: string; }; }; @@ -6096,227 +4346,180 @@ export interface operations { }; }; }; - RunExperimentEvaluators: { - parameters: { - path: { - experimentId: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_null.string_"]; - }; - }; - }; - }; - ShouldRunEvaluators: { - parameters: { - path: { - experimentId: string; + QueryEvaluators: { + requestBody: { + content: { + "application/json": Record; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_boolean.string_"]; + "application/json": components["schemas"]["Result_EvaluatorResult-Array.string_"]; }; }; }; }; - GetExperimentPromptVersionScores: { + GetOnlineEvaluators: { parameters: { path: { - experimentId: string; - promptVersionId: string; + evaluatorId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_Record_string.ScoreV2_.string_"]; + "application/json": components["schemas"]["Result_OnlineEvaluatorByEvaluatorId-Array.string_"]; }; }; }; }; - GetExperimentScore: { + CreateOnlineEvaluator: { parameters: { path: { - experimentId: string; - requestId: string; - scoreKey: string; - }; - }; - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_ScoreV2-or-null.string_"]; - }; - }; - }; - }; - GetCostForPrompts: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": number; - }; - }; - }; - }; - GetCostForEvals: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": number; - }; + evaluatorId: string; }; }; - }; - GetCostForExperiments: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": number; - }; + requestBody: { + content: { + "application/json": components["schemas"]["CreateOnlineEvaluatorParams"]; }; }; - }; - GetFreeUsage: { responses: { /** @description Ok */ 200: { content: { - "application/json": number; + "application/json": components["schemas"]["Result_null.string_"]; }; }; }; }; - CreateCloudGatewayCheckoutSession: { - requestBody: { - content: { - "application/json": components["schemas"]["CreateCloudGatewayCheckoutSessionRequest"]; + DeleteOnlineEvaluator: { + parameters: { + path: { + evaluatorId: string; + onlineEvaluatorId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": { - checkoutUrl: string; - }; + "application/json": components["schemas"]["Result_null.string_"]; }; }; }; }; - UpgradeToPro: { + TestPythonEvaluator: { requestBody: { content: { - "application/json": components["schemas"]["UpgradeToProRequest"]; + "application/json": { + testInput: components["schemas"]["TestInput"]; + code: string; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": string; + "application/json": components["schemas"]["Result__output-string--traces-string-Array--statusCode_63_-number_.string_"]; }; }; }; }; - UpgradeExistingCustomer: { + TestLLMEvaluator: { requestBody: { content: { - "application/json": components["schemas"]["UpgradeToProRequest"]; + "application/json": { + evaluatorName: string; + testInput: components["schemas"]["TestInput"]; + evaluatorConfig: components["schemas"]["EvaluatorConfig"]; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": string; + "application/json": components["schemas"]["EvaluatorScoreResult"]; }; }; }; }; - UpgradeToTeamBundle: { - requestBody?: { + TestLastMileEvaluator: { + requestBody: { content: { - "application/json": components["schemas"]["UpgradeToTeamBundleRequest"]; + "application/json": { + testInput: components["schemas"]["TestInput"]; + config: components["schemas"]["LastMileConfigForm"]; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": string; + "application/json": components["schemas"]["Result__score-number--input-string--output-string--ground_truth_63_-string_.string_"]; }; }; }; }; - UpgradeExistingCustomerToTeamBundle: { - requestBody?: { - content: { - "application/json": components["schemas"]["UpgradeToTeamBundleRequest"]; + GetEvaluatorStats: { + parameters: { + path: { + evaluatorId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": string; + "application/json": components["schemas"]["Result_EvaluatorStats.string_"]; }; }; }; }; - ManageSubscription: { + GetFreeUsage: { responses: { /** @description Ok */ 200: { content: { - "application/json": string; + "application/json": number; }; }; }; }; - UndoCancelSubscription: { + CreateCloudGatewayCheckoutSession: { + requestBody: { + content: { + "application/json": components["schemas"]["CreateCloudGatewayCheckoutSessionRequest"]; + }; + }; responses: { /** @description Ok */ 200: { content: { - "application/json": null; + "application/json": { + checkoutUrl: string; + }; }; }; }; }; - AddOns: { - parameters: { - path: { - productType: "alerts" | "prompts" | "experiments" | "evals"; - }; - }; + ManageSubscription: { responses: { /** @description Ok */ 200: { content: { - "application/json": null; + "application/json": string; }; }; }; }; - DeleteAddOns: { - parameters: { - path: { - productType: "alerts" | "prompts" | "experiments" | "evals"; - }; - }; + UndoCancelSubscription: { responses: { /** @description Ok */ 200: { @@ -6375,16 +4578,6 @@ export interface operations { }; }; }; - MigrateToPro: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": unknown; - }; - }; - }; - }; SearchPaymentIntents: { parameters: { query: { @@ -7331,16 +5524,204 @@ export interface operations { }; }; }; - SearchProperties: { - parameters: { - path: { - propertyKey: string; - }; - }; + SearchProperties: { + parameters: { + path: { + propertyKey: string; + }; + }; + requestBody: { + content: { + "application/json": { + searchTerm: string; + }; + }; + }; + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["Result_string-Array.string_"]; + }; + }; + }; + }; + GetTopCosts: { + parameters: { + path: { + propertyKey: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["TimeFilterRequest"]; + }; + }; + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["Result__value-string--cost-number_-Array.string_"]; + }; + }; + }; + }; + GetTopRequests: { + parameters: { + path: { + propertyKey: string; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["TimeFilterRequest"]; + }; + }; + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["Result__value-string--count-number_-Array.string_"]; + }; + }; + }; + }; + GetPrompt2025: { + parameters: { + path: { + promptId: string; + }; + }; + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["Result_Prompt2025.string_"]; + }; + }; + }; + }; + RenamePrompt2025: { + parameters: { + path: { + promptId: string; + }; + }; + requestBody: { + content: { + "application/json": { + name: string; + }; + }; + }; + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["Result_null.string_"]; + }; + }; + }; + }; + UpdatePrompt2025Tags: { + parameters: { + path: { + promptId: string; + }; + }; + requestBody: { + content: { + "application/json": { + tags: string[]; + }; + }; + }; + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["Result_string-Array.string_"]; + }; + }; + }; + }; + DeletePrompt2025: { + parameters: { + path: { + promptId: string; + }; + }; + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["Result_null.string_"]; + }; + }; + }; + }; + DeletePrompt2025Version: { + parameters: { + path: { + promptId: string; + versionId: string; + }; + }; + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["Result_null.string_"]; + }; + }; + }; + }; + GetPrompt2025Inputs: { + parameters: { + query: { + requestId: string; + }; + path: { + promptId: string; + versionId: string; + }; + }; + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["Result_Prompt2025Input.string_"]; + }; + }; + }; + }; + GetPrompt2025Tags: { + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["Result_string-Array.string_"]; + }; + }; + }; + }; + GetPrompt2025Environments: { + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["Result_string-Array.string_"]; + }; + }; + }; + }; + CreatePrompt2025: { requestBody: { content: { "application/json": { - searchTerm: string; + promptBody: components["schemas"]["OpenAIChatRequest"]; + tags: string[]; + name: string; }; }; }; @@ -7348,60 +5729,59 @@ export interface operations { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_string-Array.string_"]; + "application/json": components["schemas"]["Result_PromptCreateResponse.string_"]; }; }; }; }; - GetTopCosts: { - parameters: { - path: { - propertyKey: string; - }; - }; + UpdatePrompt2025: { requestBody: { content: { - "application/json": components["schemas"]["TimeFilterRequest"]; + "application/json": { + promptBody: components["schemas"]["OpenAIChatRequest"]; + commitMessage: string; + environment?: string; + newMajorVersion: boolean; + promptVersionId: string; + promptId: string; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__value-string--cost-number_-Array.string_"]; + "application/json": components["schemas"]["Result__id-string_.string_"]; }; }; }; }; - GetTopRequests: { - parameters: { - path: { - propertyKey: string; - }; - }; + SetPromptVersionEnvironment: { requestBody: { content: { - "application/json": components["schemas"]["TimeFilterRequest"]; + "application/json": { + environment: string; + promptVersionId: string; + promptId: string; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__value-string--count-number_-Array.string_"]; + "application/json": components["schemas"]["Result_null.string_"]; }; }; }; }; - Generate: { + RemoveEnvironmentFromVersion: { requestBody: { content: { - "application/json": components["schemas"]["OpenAIChatRequest"] & { - inputs?: unknown; - environment?: string; - prompt_id?: string; - logRequest?: boolean; - useAIGateway?: boolean; + "application/json": { + environment: string; + promptVersionId: string; + promptId: string; }; }; }; @@ -7409,26 +5789,31 @@ export interface operations { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ChatCompletion-or-_content-string--reasoning-string--calls-any_.string_"]; + "application/json": components["schemas"]["Result_null.string_"]; }; }; }; }; - GetRequestsThroughHelicone: { + GetPrompt2025Count: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_boolean.string_"]; + "application/json": components["schemas"]["Result_number.string_"]; }; }; }; }; - RequestsThroughHelicone: { + GetPrompts2025: { requestBody: { content: { "application/json": { - requestsThroughHelicone: boolean; + /** Format: double */ + pageSize: number; + /** Format: double */ + page: number; + tagsFilter: string[]; + search: string; }; }; }; @@ -7436,16 +5821,16 @@ export interface operations { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_string.string_"]; + "application/json": components["schemas"]["Result_Prompt2025-Array.string_"]; }; }; }; }; - GetApiKey: { + GetPrompt2025Version: { requestBody: { content: { "application/json": { - sessionUUID: string; + promptVersionId: string; }; }; }; @@ -7453,16 +5838,17 @@ export interface operations { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__apiKey-string_.string_"]; + "application/json": components["schemas"]["Result_Prompt2025Version.string_"]; }; }; }; }; - AddSession: { + GetPrompt2025EnvironmentVersion: { requestBody: { content: { "application/json": { - sessionUUID: string; + environment: string; + promptId: string; }; }; }; @@ -7470,396 +5856,465 @@ export interface operations { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_string.string_"]; + "application/json": components["schemas"]["Result_Prompt2025Version.string_"]; }; }; }; }; - GetOrgName: { - responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_string.string_"]; + GetPrompt2025Versions: { + requestBody: { + content: { + "application/json": { + /** Format: double */ + majorVersion?: number; + promptId: string; }; }; }; - }; - GetTotalCosts: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_number.string_"]; + "application/json": components["schemas"]["Result_Prompt2025Version-Array.string_"]; }; }; }; }; - PiGetTotalRequests: { + GetPrompt2025ProductionVersion: { + requestBody: { + content: { + "application/json": { + promptId: string; + }; + }; + }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_number.string_"]; + "application/json": components["schemas"]["Result_Prompt2025Version.string_"]; }; }; }; }; - GetCostsOverTime: { + GetPrompt2025TotalVersions: { requestBody: { content: { - "application/json": components["schemas"]["DataOverTimeRequest"]; + "application/json": { + promptId: string; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__cost-number--created_at_trunc-string_-Array.string_"]; + "application/json": components["schemas"]["Result_PromptVersionCounts.string_"]; }; }; }; }; - /** - * Returns a comprehensive list of all AI models with their configurations, pricing, and capabilities - * @description Get all available models from the registry - */ - GetModelRegistry: { - responses: { - /** @description Complete model registry with models and filter options */ - 200: { - content: { - "application/json": components["schemas"]["Result_ModelRegistryResponse.string_"]; - }; + /** @description Get the full prompt body (messages, tools, etc.) for a specific prompt version. */ + GetPrompt2025VersionBody: { + parameters: { + path: { + promptVersionId: string; }; }; - }; - GetModels: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["OAIModelsResponse"]; + "application/json": components["schemas"]["Result_Prompt2025Version_91_prompt_body_93_.string_"]; }; }; }; }; - GetMultimodalModels: { + HasPrompts: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["OAIModelsResponse"]; + "application/json": components["schemas"]["Result__hasPrompts-boolean_.string_"]; }; }; }; }; - GetModelComparison: { + GetPrompts: { requestBody: { content: { - "application/json": components["schemas"]["ModelsToCompare"][]; + "application/json": components["schemas"]["PromptsQueryParams"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_Model-Array.string_"]; + "application/json": components["schemas"]["Result_PromptsResult-Array.string_"]; }; }; }; }; - GetTotalRequests: { + GetPrompt: { + parameters: { + path: { + promptId: string; + }; + }; requestBody: { content: { - "application/json": components["schemas"]["MetricsFilterBody"]; + "application/json": components["schemas"]["PromptQueryParams"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_number.string_"]; + "application/json": components["schemas"]["Result_PromptResult.string_"]; }; }; }; }; - GetTotalCost: { - requestBody: { - content: { - "application/json": components["schemas"]["MetricsFilterBody"]; + DeletePrompt: { + parameters: { + path: { + promptId: string; }; }; responses: { - /** @description Ok */ - 200: { - content: { - "application/json": components["schemas"]["Result_number.string_"]; - }; + /** @description No content */ + 204: { + content: never; }; }; }; - GetAverageLatency: { + CreatePrompt: { requestBody: { content: { - "application/json": components["schemas"]["MetricsFilterBody"]; + "application/json": { + metadata: components["schemas"]["Record_string.any_"]; + prompt: unknown; + userDefinedId: string; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_number.string_"]; + "application/json": components["schemas"]["Result_CreatePromptResponse.string_"]; }; }; }; }; - GetAverageTimeToFirstToken: { + UpdatePromptUserDefinedId: { + parameters: { + path: { + promptId: string; + }; + }; requestBody: { content: { - "application/json": components["schemas"]["MetricsFilterBody"]; + "application/json": { + userDefinedId: string; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_number.string_"]; + "application/json": components["schemas"]["Result_null.string_"]; }; }; }; }; - GetAverageTokensPerRequest: { + EditPromptVersionLabel: { + parameters: { + path: { + promptVersionId: string; + }; + }; requestBody: { content: { - "application/json": components["schemas"]["MetricsFilterBody"]; + "application/json": components["schemas"]["PromptEditSubversionLabelParams"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_TokensPerRequest.string_"]; + "application/json": components["schemas"]["Result__metadata-Record_string.any__.string_"]; }; }; }; }; - GetTotalThreats: { + EditPromptVersionTemplate: { + parameters: { + path: { + promptVersionId: string; + }; + }; requestBody: { content: { - "application/json": components["schemas"]["MetricsFilterBody"]; + "application/json": components["schemas"]["PromptEditSubversionTemplateParams"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_number.string_"]; + "application/json": components["schemas"]["Result_null.string_"]; }; }; }; }; - GetActiveUsers: { + CreateSubversionFromUi: { + parameters: { + path: { + promptVersionId: string; + }; + }; requestBody: { content: { - "application/json": components["schemas"]["MetricsFilterBody"]; + "application/json": components["schemas"]["PromptCreateSubversionParams"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_number.string_"]; + "application/json": components["schemas"]["Result_PromptVersionResult.string_"]; }; }; }; }; - GetRequestsOverTime: { + CreateSubversion: { + parameters: { + path: { + promptVersionId: string; + }; + }; requestBody: { content: { - "application/json": components["schemas"]["MetricsOverTimeBody"]; + "application/json": components["schemas"]["PromptCreateSubversionParams"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_RequestsOverTime-Array.string_"]; + "application/json": components["schemas"]["Result_PromptVersionResult.string_"]; }; }; }; }; - GetCostOverTime: { + PromotePromptVersionToProduction: { + parameters: { + path: { + promptVersionId: string; + }; + }; requestBody: { content: { - "application/json": components["schemas"]["MetricsOverTimeBody"]; + "application/json": { + previousProductionVersionId: string; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_CostOverTime-Array.string_"]; + "application/json": components["schemas"]["Result_PromptVersionResult.string_"]; }; }; }; }; - GetTokensOverTime: { + GetInputs: { + parameters: { + path: { + promptVersionId: string; + }; + }; requestBody: { content: { - "application/json": components["schemas"]["MetricsOverTimeBody"]; + "application/json": { + random?: boolean; + /** Format: double */ + limit: number; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_TokensOverTime-Array.string_"]; + "application/json": components["schemas"]["Result_PromptInputRecord-Array.string_"]; }; }; }; }; - GetLatencyOverTime: { + GetPromptVersions: { + parameters: { + path: { + promptId: string; + }; + }; requestBody: { content: { - "application/json": components["schemas"]["MetricsOverTimeBody"]; + "application/json": components["schemas"]["PromptVersionsQueryParams"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_LatencyOverTime-Array.string_"]; + "application/json": components["schemas"]["Result_PromptVersionResult-Array.string_"]; }; }; }; }; - GetTimeToFirstTokenOverTime: { - requestBody: { - content: { - "application/json": components["schemas"]["MetricsOverTimeBody"]; + GetPromptVersion: { + parameters: { + path: { + promptVersionId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_TimeToFirstTokenOverTime-Array.string_"]; + "application/json": components["schemas"]["Result_PromptVersionResult.string_"]; }; }; }; }; - GetUsersOverTime: { - requestBody: { - content: { - "application/json": components["schemas"]["MetricsOverTimeBody"]; + DeletePromptVersion: { + parameters: { + path: { + promptVersionId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_UsersOverTime-Array.string_"]; + "application/json": components["schemas"]["Result_null.string_"]; }; }; }; }; - GetThreatsOverTime: { + GetPromptVersionsCompiled: { + parameters: { + path: { + user_defined_id: string; + }; + }; requestBody: { content: { - "application/json": components["schemas"]["MetricsOverTimeBody"]; + "application/json": components["schemas"]["PromptVersiosQueryParamsCompiled"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ThreatsOverTime-Array.string_"]; + "application/json": components["schemas"]["Result_PromptVersionResultCompiled.string_"]; }; }; }; }; - GetErrorsOverTime: { + GetPromptVersionTemplates: { + parameters: { + path: { + user_defined_id: string; + }; + }; requestBody: { content: { - "application/json": components["schemas"]["MetricsOverTimeBody"]; + "application/json": components["schemas"]["PromptVersiosQueryParamsCompiled"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ErrorOverTime-Array.string_"]; + "application/json": components["schemas"]["Result_PromptVersionResultFilled.string_"]; }; }; }; }; - GetRequestStatusOverTime: { + Generate: { requestBody: { content: { - "application/json": components["schemas"]["MetricsOverTimeBody"]; + "application/json": components["schemas"]["OpenAIChatRequest"] & { + inputs?: unknown; + environment?: string; + prompt_id?: string; + logRequest?: boolean; + useAIGateway?: boolean; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_RequestsOverTime-Array.string_"]; + "application/json": components["schemas"]["Result_ChatCompletion-or-_content-string--reasoning-string--calls-any_.string_"]; }; }; }; }; - GetModelMetrics: { - requestBody: { - content: { - "application/json": components["schemas"]["ModelMetricsBody"]; - }; - }; + GetRequestsThroughHelicone: { responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ModelMetric-Array.string_"]; + "application/json": components["schemas"]["Result_boolean.string_"]; }; }; }; }; - GetCountryMetrics: { + RequestsThroughHelicone: { requestBody: { content: { - "application/json": components["schemas"]["CountryMetricsBody"]; + "application/json": { + requestsThroughHelicone: boolean; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_CountryData-Array.string_"]; + "application/json": components["schemas"]["Result_string.string_"]; }; }; }; }; - GetQuantiles: { + GetApiKey: { requestBody: { content: { - "application/json": components["schemas"]["QuantilesBody"]; + "application/json": { + sessionUUID: string; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_Quantiles-Array.string_"]; + "application/json": components["schemas"]["Result__apiKey-string_.string_"]; }; }; }; }; - GetSecurity: { + AddSession: { requestBody: { content: { "application/json": { - text: string; - advanced: boolean; + sessionUUID: string; }; }; }; @@ -7867,672 +6322,578 @@ export interface operations { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__unsafe-boolean_.string_"]; + "application/json": components["schemas"]["Result_string.string_"]; }; }; }; }; - /** - * Get database schema - * @description Get ClickHouse schema (tables and columns) - */ - GetClickHouseSchema: { + GetOrgName: { responses: { - /** @description Array of table schemas with columns */ + /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ClickHouseTableSchema-Array.string_"]; + "application/json": components["schemas"]["Result_string.string_"]; }; }; }; }; - /** - * Execute SQL query - * @description Execute a SQL query against ClickHouse - */ - ExecuteSql: { - /** @description The SQL query to execute */ - requestBody: { - content: { - "application/json": components["schemas"]["ExecuteSqlRequest"]; + GetTotalCosts: { + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["Result_number.string_"]; + }; }; }; + }; + PiGetTotalRequests: { responses: { - /** @description Query results with rows and metadata */ + /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ExecuteSqlResponse.string_"]; + "application/json": components["schemas"]["Result_number.string_"]; }; }; }; }; - /** - * Download query results as CSV - * @description Execute a SQL query and download results as CSV - */ - DownloadCsv: { - /** @description The SQL query to execute */ + GetCostsOverTime: { requestBody: { content: { - "application/json": components["schemas"]["ExecuteSqlRequest"]; + "application/json": components["schemas"]["DataOverTimeRequest"]; }; }; responses: { - /** @description URL to download the CSV file */ + /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_string.string_"]; + "application/json": components["schemas"]["Result__cost-number--created_at_trunc-string_-Array.string_"]; }; }; }; }; /** - * List saved queries - * @description Get all saved queries for the organization + * Returns a comprehensive list of all AI models with their configurations, pricing, and capabilities + * @description Get all available models from the registry */ - GetSavedQueries: { + GetModelRegistry: { responses: { - /** @description Array of saved queries */ + /** @description Complete model registry with models and filter options */ 200: { content: { - "application/json": components["schemas"]["Result_Array_HqlSavedQuery_.string_"]; + "application/json": components["schemas"]["Result_ModelRegistryResponse.string_"]; }; }; }; }; - /** - * Get saved query - * @description Get a specific saved query by ID - */ - GetSavedQuery: { - parameters: { - path: { - /** @description The ID of the saved query */ - queryId: string; - }; - }; + GetModels: { responses: { - /** @description The saved query details */ + /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_HqlSavedQuery-or-null.string_"]; + "application/json": components["schemas"]["OAIModelsResponse"]; }; }; }; }; - /** - * Update saved query - * @description Update an existing saved query - */ - UpdateSavedQuery: { - parameters: { - path: { - /** @description The ID of the saved query to update */ - queryId: string; + GetMultimodalModels: { + responses: { + /** @description Ok */ + 200: { + content: { + "application/json": components["schemas"]["OAIModelsResponse"]; + }; }; }; - /** @description The updated query details */ + }; + GetModelComparison: { requestBody: { content: { - "application/json": components["schemas"]["CreateSavedQueryRequest"]; + "application/json": components["schemas"]["ModelsToCompare"][]; }; }; responses: { - /** @description The updated saved query */ + /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_HqlSavedQuery.string_"]; + "application/json": components["schemas"]["Result_Model-Array.string_"]; }; }; }; }; - /** - * Delete saved query - * @description Delete a saved query by ID - */ - DeleteSavedQuery: { - parameters: { - path: { - /** @description The ID of the saved query to delete */ - queryId: string; + GetTotalRequests: { + requestBody: { + content: { + "application/json": components["schemas"]["MetricsFilterBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_void.string_"]; + "application/json": components["schemas"]["Result_number.string_"]; }; }; }; }; - /** - * Bulk delete saved queries - * @description Delete multiple saved queries at once - */ - BulkDeleteSavedQueries: { - /** @description Array of query IDs to delete */ + GetTotalCost: { requestBody: { content: { - "application/json": components["schemas"]["BulkDeleteSavedQueriesRequest"]; + "application/json": components["schemas"]["MetricsFilterBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_void.string_"]; + "application/json": components["schemas"]["Result_number.string_"]; }; }; }; }; - /** - * Create saved query - * @description Create a new saved query - */ - CreateSavedQuery: { - /** @description The saved query details */ + GetAverageLatency: { requestBody: { content: { - "application/json": components["schemas"]["CreateSavedQueryRequest"]; + "application/json": components["schemas"]["MetricsFilterBody"]; }; }; responses: { - /** @description Array containing the created saved query */ + /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_HqlSavedQuery-Array.string_"]; + "application/json": components["schemas"]["Result_number.string_"]; }; }; }; }; - CreateNewEmptyExperiment: { + GetAverageTimeToFirstToken: { requestBody: { content: { - "application/json": { - datasetId: string; - metadata: components["schemas"]["Record_string.string_"]; - }; + "application/json": components["schemas"]["MetricsFilterBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__experimentId-string_.string_"]; + "application/json": components["schemas"]["Result_number.string_"]; }; }; }; }; - CreateNewExperimentTable: { + GetAverageTokensPerRequest: { requestBody: { content: { - "application/json": components["schemas"]["CreateExperimentTableParams"]; + "application/json": components["schemas"]["MetricsFilterBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__tableId-string--experimentId-string_.string_"]; + "application/json": components["schemas"]["Result_TokensPerRequest.string_"]; }; }; }; }; - GetExperimentTableById: { - parameters: { - path: { - experimentTableId: string; + GetTotalThreats: { + requestBody: { + content: { + "application/json": components["schemas"]["MetricsFilterBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ExperimentTable.string_"]; + "application/json": components["schemas"]["Result_number.string_"]; }; }; }; }; - GetExperimentTableMetadata: { - parameters: { - path: { - experimentTableId: string; + GetActiveUsers: { + requestBody: { + content: { + "application/json": components["schemas"]["MetricsFilterBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ExperimentTableSimplified.string_"]; + "application/json": components["schemas"]["Result_number.string_"]; }; }; }; }; - GetExperimentTables: { + GetRequestsOverTime: { + requestBody: { + content: { + "application/json": components["schemas"]["MetricsOverTimeBody"]; + }; + }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_ExperimentTableSimplified-Array.string_"]; + "application/json": components["schemas"]["Result_RequestsOverTime-Array.string_"]; }; }; }; }; - CreateExperimentCell: { - parameters: { - path: { - experimentTableId: string; - }; - }; + GetCostOverTime: { requestBody: { content: { - "application/json": { - value: string | null; - /** Format: double */ - rowIndex: number; - columnId: string; - }; + "application/json": components["schemas"]["MetricsOverTimeBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result_CostOverTime-Array.string_"]; }; }; }; }; - UpdateExperimentCell: { - parameters: { - path: { - experimentTableId: string; - }; - }; + GetTokensOverTime: { requestBody: { content: { - "application/json": { - updateInputs?: boolean; - metadata?: string; - value?: string; - status?: string; - cellId: string; - }; + "application/json": components["schemas"]["MetricsOverTimeBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result_TokensOverTime-Array.string_"]; }; }; }; }; - CreateExperimentColumn: { - parameters: { - path: { - experimentTableId: string; - }; - }; + GetLatencyOverTime: { requestBody: { content: { - "application/json": { - inputKeys?: string[]; - promptVersionId?: string; - hypothesisId?: string; - columnType: string; - columnName: string; - }; + "application/json": components["schemas"]["MetricsOverTimeBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result_LatencyOverTime-Array.string_"]; }; }; }; }; - CreateExperimentTableRow: { - parameters: { - path: { - experimentTableId: string; - }; - }; + GetTimeToFirstTokenOverTime: { requestBody: { content: { - "application/json": { - inputs?: components["schemas"]["Record_string.string_"]; - sourceRequest?: string; - promptVersionId: string; - }; + "application/json": components["schemas"]["MetricsOverTimeBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result_TimeToFirstTokenOverTime-Array.string_"]; }; }; }; }; - DeleteExperimentTableRow: { - parameters: { - path: { - experimentTableId: string; - rowIndex: number; + GetUsersOverTime: { + requestBody: { + content: { + "application/json": components["schemas"]["MetricsOverTimeBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result_UsersOverTime-Array.string_"]; }; }; }; }; - CreateExperimentTableRowWithCellsBatch: { - parameters: { - path: { - experimentTableId: string; - }; - }; + GetThreatsOverTime: { requestBody: { content: { - "application/json": { - rows: ({ - sourceRequest?: string; - cells: ({ - metadata?: unknown; - value: string | null; - columnId: string; - })[]; - datasetId: string; - inputs: components["schemas"]["Record_string.string_"]; - inputRecordId: string; - })[]; - }; + "application/json": components["schemas"]["MetricsOverTimeBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result_ThreatsOverTime-Array.string_"]; }; }; }; }; - UpdateExperimentMeta: { + GetErrorsOverTime: { requestBody: { content: { - "application/json": { - meta: components["schemas"]["Record_string.string_"]; - experimentId: string; - }; + "application/json": components["schemas"]["MetricsOverTimeBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["ResultError_string_"] | components["schemas"]["ResultSuccess_unknown_"]; + "application/json": components["schemas"]["Result_ErrorOverTime-Array.string_"]; }; }; }; }; - CreateNewExperimentOld: { + GetRequestStatusOverTime: { requestBody: { content: { - "application/json": components["schemas"]["NewExperimentParams"]; + "application/json": components["schemas"]["MetricsOverTimeBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__experimentId-string_.string_"]; + "application/json": components["schemas"]["Result_RequestsOverTime-Array.string_"]; }; }; }; }; - CreateNewExperimentHypothesis: { + GetModelMetrics: { requestBody: { content: { - "application/json": { - /** @enum {string} */ - status: "PENDING" | "RUNNING" | "COMPLETED" | "FAILED"; - providerKeyId: string; - promptVersion: string; - model: string; - experimentId: string; - }; + "application/json": components["schemas"]["ModelMetricsBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__hypothesisId-string_.string_"]; + "application/json": components["schemas"]["Result_ModelMetric-Array.string_"]; }; }; }; }; - GetExperimentHypothesisScores: { - parameters: { - path: { - hypothesisId: string; + GetCountryMetrics: { + requestBody: { + content: { + "application/json": components["schemas"]["CountryMetricsBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result__runsCount-number--scores-Record_string.Score__.string_"]; + "application/json": components["schemas"]["Result_CountryData-Array.string_"]; }; }; }; }; - CreateExperimentEvaluatorOld: { - parameters: { - path: { - experimentId: string; - }; - }; + GetQuantiles: { requestBody: { content: { - "application/json": { - evaluatorId: string; - }; + "application/json": components["schemas"]["QuantilesBody"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result_Quantiles-Array.string_"]; }; }; }; }; - RunExperimentEvaluatorsOld: { - parameters: { - path: { - experimentId: string; + GetSecurity: { + requestBody: { + content: { + "application/json": { + text: string; + advanced: boolean; + }; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result__unsafe-boolean_.string_"]; }; }; }; }; - DeleteExperimentEvaluatorOld: { - parameters: { - path: { - experimentId: string; - evaluatorId: string; - }; - }; + /** + * Get database schema + * @description Get ClickHouse schema (tables and columns) + */ + GetClickHouseSchema: { responses: { - /** @description Ok */ + /** @description Array of table schemas with columns */ 200: { content: { - "application/json": components["schemas"]["Result_null.string_"]; + "application/json": components["schemas"]["Result_ClickHouseTableSchema-Array.string_"]; }; }; }; }; - GetExperimentsOld: { + /** + * Execute SQL query + * @description Execute a SQL query against ClickHouse + */ + ExecuteSql: { + /** @description The SQL query to execute */ requestBody: { content: { - "application/json": { - include?: components["schemas"]["IncludeExperimentKeys"]; - filter: components["schemas"]["ExperimentFilterNode"]; - }; + "application/json": components["schemas"]["ExecuteSqlRequest"]; }; }; responses: { - /** @description Ok */ + /** @description Query results with rows and metadata */ 200: { content: { - "application/json": components["schemas"]["Result_Experiment-Array.string_"]; + "application/json": components["schemas"]["Result_ExecuteSqlResponse.string_"]; }; }; }; }; - AddDataset: { + /** + * Download query results as CSV + * @description Execute a SQL query and download results as CSV + */ + DownloadCsv: { + /** @description The SQL query to execute */ requestBody: { content: { - "application/json": components["schemas"]["NewDatasetParams"]; + "application/json": components["schemas"]["ExecuteSqlRequest"]; }; }; responses: { - /** @description Ok */ + /** @description URL to download the CSV file */ 200: { content: { - "application/json": components["schemas"]["Result__datasetId-string_.string_"]; + "application/json": components["schemas"]["Result_string.string_"]; }; }; }; }; - AddRandomDataset: { - requestBody: { - content: { - "application/json": components["schemas"]["RandomDatasetParams"]; - }; - }; + /** + * List saved queries + * @description Get all saved queries for the organization + */ + GetSavedQueries: { responses: { - /** @description Ok */ + /** @description Array of saved queries */ 200: { content: { - "application/json": components["schemas"]["Result__datasetId-string_.string_"]; + "application/json": components["schemas"]["Result_Array_HqlSavedQuery_.string_"]; }; }; }; }; - GetDatasets: { - requestBody: { - content: { - "application/json": { - promptVersionId?: string; - }; + /** + * Get saved query + * @description Get a specific saved query by ID + */ + GetSavedQuery: { + parameters: { + path: { + /** @description The ID of the saved query */ + queryId: string; }; }; responses: { - /** @description Ok */ + /** @description The saved query details */ 200: { content: { - "application/json": components["schemas"]["Result_DatasetResult-Array.string_"]; + "application/json": components["schemas"]["Result_HqlSavedQuery-or-null.string_"]; }; }; }; }; - InsertDatasetRow: { + /** + * Update saved query + * @description Update an existing saved query + */ + UpdateSavedQuery: { parameters: { path: { - datasetId: string; + /** @description The ID of the saved query to update */ + queryId: string; }; }; + /** @description The updated query details */ requestBody: { content: { - "application/json": { - originalColumnId?: string; - inputs: components["schemas"]["Record_string.string_"]; - inputRecordId: string; - }; + "application/json": components["schemas"]["CreateSavedQueryRequest"]; }; }; responses: { - /** @description Ok */ + /** @description The updated saved query */ 200: { content: { - "application/json": components["schemas"]["Result_string.string_"]; + "application/json": components["schemas"]["Result_HqlSavedQuery.string_"]; }; }; }; }; - CreateDatasetRow: { + /** + * Delete saved query + * @description Delete a saved query by ID + */ + DeleteSavedQuery: { parameters: { path: { - datasetId: string; - promptVersionId: string; - }; - }; - requestBody: { - content: { - "application/json": { - sourceRequest?: string; - inputs: components["schemas"]["Record_string.string_"]; - }; + /** @description The ID of the saved query to delete */ + queryId: string; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_string.string_"]; + "application/json": components["schemas"]["Result_void.string_"]; }; }; }; }; - GetDataset: { - parameters: { - path: { - datasetId: string; + /** + * Bulk delete saved queries + * @description Delete multiple saved queries at once + */ + BulkDeleteSavedQueries: { + /** @description Array of query IDs to delete */ + requestBody: { + content: { + "application/json": components["schemas"]["BulkDeleteSavedQueriesRequest"]; }; }; responses: { /** @description Ok */ 200: { content: { - "application/json": components["schemas"]["Result_PromptInputRecord-Array.string_"]; + "application/json": components["schemas"]["Result_void.string_"]; }; }; }; }; - MutateDataset: { + /** + * Create saved query + * @description Create a new saved query + */ + CreateSavedQuery: { + /** @description The saved query details */ requestBody: { content: { - "application/json": { - removeRequests: string[]; - addRequests: string[]; - }; + "application/json": components["schemas"]["CreateSavedQueryRequest"]; }; }; responses: { - /** @description Ok */ + /** @description Array containing the created saved query */ 200: { content: { - "application/json": components["schemas"]["Result___-Array.string_"]; + "application/json": components["schemas"]["Result_HqlSavedQuery-Array.string_"]; }; }; }; diff --git a/web/pages/api/llm/index.ts b/web/pages/api/llm/index.ts index db609b28a2..1d3607a314 100644 --- a/web/pages/api/llm/index.ts +++ b/web/pages/api/llm/index.ts @@ -5,53 +5,62 @@ import { getOpenAIKeyFromAdmin } from "@/lib/clients/settings"; import OpenAI from "openai"; import { zodResponseFormat } from "openai/helpers/zod"; import { logger } from "@/lib/telemetry/logger"; +import { Result, err, ok } from "@/packages/common/result"; -// Cache for the OpenAI client to avoid recreating it on every request -let openaiClient: OpenAI | null = null; -let isOnPrem = false; +// On-prem deployments route through the Helicone OpenAI proxy with the admin +// key; cloud deployments route through OpenRouter with the org's own key. +const isOnPrem = !!process.env.NEXT_PUBLIC_IS_ON_PREM; -// Function to get or create the OpenAI client +// Build a fresh client for every request. The client carries the org's +// decrypted provider key and per-org identity headers, so it must never be +// cached at module scope and shared across orgs (CIRT-79). async function getOpenAIClient( orgId: string, userEmail: string, -): Promise { - // Return cached client if available - if (openaiClient) { - return openaiClient; +): Promise> { + let apiKey: string; + + if (isOnPrem) { + const adminKey = await getOpenAIKeyFromAdmin(); + if (!adminKey) { + return err("No OpenAI key is configured for this on-prem deployment"); + } + apiKey = adminKey; + } else { + const result = await dbExecute<{ decrypted_provider_key: string }>( + `SELECT decrypted_provider_key + FROM decrypted_provider_keys_v2 + WHERE org_id = $1 + AND soft_delete = false + AND provider_name = 'OpenRouter' + LIMIT 1`, + [orgId], + ); + if (result.error) { + return err(result.error); + } + const key = result.data?.[0]?.decrypted_provider_key; + if (!key) { + return err( + "No OpenRouter provider key is configured for this organization", + ); + } + apiKey = key; } - const result = await dbExecute<{ - id: string; - org_id: string; - decrypted_provider_key: string; - provider_key_name: string; - provider_name: string; - }>( - `SELECT id, org_id, decrypted_provider_key, provider_key_name, provider_name - FROM decrypted_provider_keys_v2 - WHERE org_id = $1 - AND soft_delete = false - AND provider_name = 'OpenRouter' - LIMIT 1`, - [orgId], + return ok( + new OpenAI({ + baseURL: isOnPrem + ? "https://oai.helicone.ai/v1/" + : "https://openrouter.helicone.ai/api/v1/", + apiKey, + defaultHeaders: { + "Helicone-Auth": `Bearer ${process.env.TEST_HELICONE_API_KEY || ""}`, + "Helicone-User-Id": orgId, + "Helicone-Property-User-Email": userEmail, + }, + }), ); - - // Create and cache the client - openaiClient = new OpenAI({ - baseURL: isOnPrem - ? "https://oai.helicone.ai/v1/" - : "https://openrouter.helicone.ai/api/v1/", - apiKey: process.env.NEXT_PUBLIC_IS_ON_PREM - ? await getOpenAIKeyFromAdmin() - : result.data?.[0]?.decrypted_provider_key || "", - defaultHeaders: { - "Helicone-Auth": `Bearer ${process.env.TEST_HELICONE_API_KEY || ""}`, - "Helicone-User-Id": orgId, - "Helicone-Property-User-Email": userEmail, - }, - }); - - return openaiClient; } // Function to verify request is coming from a browser @@ -125,11 +134,21 @@ async function handler({ req, res, userData }: HandlerWrapperOptions) { return res.status(200).json(fakeResponse); } - try { - // Get or initialize the OpenAI client - - const openai = await getOpenAIClient(userData.orgId, userData.user?.email); + const { data: openai, error: clientError } = await getOpenAIClient( + userData.orgId, + userData.user?.email, + ); + if (clientError !== null || !openai) { + logger.error( + { error: clientError, orgId: userData.orgId }, + "Failed to build LLM client", + ); + return res + .status(400) + .json({ error: clientError ?? "Failed to build LLM client" }); + } + try { const params = req.body as GenerateParams; const abortController = new AbortController(); diff --git a/web/pages/api/property/aggregatedKeyMetrics.ts b/web/pages/api/property/aggregatedKeyMetrics.ts index a6e768a9c7..98f2a05db6 100644 --- a/web/pages/api/property/aggregatedKeyMetrics.ts +++ b/web/pages/api/property/aggregatedKeyMetrics.ts @@ -2,7 +2,10 @@ import { HandlerWrapperOptions, withAuth, } from "../../../lib/api/handlerWrappers"; -import { getAggregatedKeyMetrics } from "../../../lib/api/property/aggregatedKeyMetrics"; +import { + getAggregatedKeyMetrics, + safeLimit, +} from "../../../lib/api/property/aggregatedKeyMetrics"; import { resultsAll } from "@/packages/common/result"; import { UnPromise } from "../../../lib/tsxHelpers"; @@ -26,7 +29,7 @@ async function handler( filter, timeFilter, userData.orgId, - req.body.limit, + safeLimit(req.body.limit), req.body.sortKey, req.body.sortDirection, ); diff --git a/web/pages/api/proxy_keys/create.ts b/web/pages/api/proxy_keys/create.ts index ebc013f43c..571639b230 100644 --- a/web/pages/api/proxy_keys/create.ts +++ b/web/pages/api/proxy_keys/create.ts @@ -24,6 +24,7 @@ async function handler({ }: HandlerWrapperOptions>) { if (req.method !== "POST") { res.status(405).json({ error: "Method not allowed", data: null }); + return; } const { providerKeyId, heliconeProxyKeyName, limits } = req.body as { @@ -42,14 +43,23 @@ async function handler({ return; } - const { data: providerKey, error } = - await getDecryptedProviderKeyById(providerKeyId); + // Scoped to the caller's org: a provider key id from another tenant must + // resolve to "not found", never to a usable key (CIRT-80). + const { data: providerKey, error } = await getDecryptedProviderKeyById( + providerKeyId, + userData.orgId, + ); - if (error || !providerKey?.id) { + if (error) { logger.error({ error, providerKeyId }, "Failed to retrieve provider key"); res .status(500) - .json({ error: error ?? "Failed to retrieve provider key", data: null }); + .json({ error: "Failed to retrieve provider key", data: null }); + return; + } + + if (!providerKey?.id || providerKey.org_id !== userData.orgId) { + res.status(404).json({ error: "Provider key not found", data: null }); return; } diff --git a/web/pages/api/stripe/create_growth_subscription/index.ts b/web/pages/api/stripe/create_growth_subscription/index.ts deleted file mode 100644 index ee05a5a923..0000000000 --- a/web/pages/api/stripe/create_growth_subscription/index.ts +++ /dev/null @@ -1,91 +0,0 @@ -import { NextApiRequest, NextApiResponse } from "next"; -import Stripe from "stripe"; -import { dbExecute } from "../../../../lib/api/db/dbExecute"; -import { resultMap } from "@/packages/common/result"; -import { logger } from "@/lib/telemetry/logger"; - -const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!, { - apiVersion: "2025-02-24.acacia", -}); - -export default async function handler( - req: NextApiRequest, - res: NextApiResponse, -) { - if (req.method !== "POST") { - return res.status(405).end(); - } - - // Extract organization and user data - const { orgId, userEmail } = req.body; - - if (!orgId) { - return res.status(400).json({ error: "Missing organization ID." }); - } - if (!userEmail) { - return res.status(400).json({ error: "Missing user email." }); - } - - try { - const { data: org, error: orgError } = resultMap( - await dbExecute<{ - stripe_customer_id: string; - }>("SELECT * FROM organization WHERE id = $1", [orgId]), - (d) => d?.[0], - ); - - if (orgError !== null) { - logger.error({ error: orgError }, "Unable to find org"); - res.status(400).send(`Unable to find org: ${orgError}`); - return; - } - - let customerId = org?.stripe_customer_id; - - // If the organization isn't already associated with a Stripe customer, create one - if (!customerId) { - const customer = await stripe.customers.create({ - email: userEmail, - }); - - customerId = customer.id; - - await dbExecute( - "UPDATE organization SET stripe_customer_id = $1 WHERE id = $2", - [customerId, orgId], - ); - } - const protocol = req.headers["x-forwarded-proto"] || "http"; - const host = req.headers.host; - const origin = `${protocol}://${host}`; - - const session = await stripe.checkout.sessions.create({ - customer: customerId, - payment_method_types: ["card"], - line_items: [ - { - price: process.env.STRIPE_GROWTH_PRICE_ID, - // No quantity for usage based pricing - }, - ], - mode: "subscription", - success_url: `${origin}/dashboard`, - cancel_url: `${origin}/dashboard`, - metadata: { - orgId: orgId, - }, - subscription_data: { - metadata: { - orgId: orgId, - tier: "growth", - }, - }, - allow_promotion_codes: true, - }); - - // Respond with the session ID - res.status(200).json({ sessionId: session.id }); - } catch (e) { - res.status(500).json({ error: "Failed to create checkout session." + e }); - } -} diff --git a/web/pages/api/stripe/create_pro_subscription/index.ts b/web/pages/api/stripe/create_pro_subscription/index.ts deleted file mode 100644 index af15406a09..0000000000 --- a/web/pages/api/stripe/create_pro_subscription/index.ts +++ /dev/null @@ -1,105 +0,0 @@ -// /api/start-subscription.js - -import { NextApiRequest, NextApiResponse } from "next"; -import Stripe from "stripe"; -import { dbExecute } from "../../../../lib/api/db/dbExecute"; -import { logger } from "@/lib/telemetry/logger"; -import { resultMap } from "@/packages/common/result"; - -const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!, { - apiVersion: "2025-02-24.acacia", -}); - -export default async function handler( - req: NextApiRequest, - res: NextApiResponse, -) { - if (req.method !== "POST") { - return res.status(405).end(); - } - - // Extract organization and user data - const { orgId, userEmail } = req.body; - - if (!orgId) { - return res.status(400).json({ error: "Missing organization ID." }); - } - if (!userEmail) { - return res.status(400).json({ error: "Missing user email." }); - } - - try { - const { data: org, error: orgError } = resultMap( - await dbExecute<{ - stripe_customer_id: string; - }>("SELECT * FROM organization WHERE id = $1", [orgId]), - (d) => d?.[0], - ); - - if (orgError !== null) { - logger.error( - { - orgError, - }, - "Unable to find org", - ); - res.status(400).send(`Unable to find org: ${orgError}`); - return; - } - - let customerId = org?.stripe_customer_id; - - // If the organization isn't already associated with a Stripe customer, create one - if (!customerId) { - const customer = await stripe.customers.create({ - email: userEmail, - }); - - customerId = customer.id; - - const { error: updateError } = await dbExecute( - "UPDATE organization SET stripe_customer_id = $1 WHERE id = $2", - [customerId, orgId], - ); - - if (updateError !== null) { - logger.error( - { - updateError, - }, - "Unable to update org", - ); - res.status(400).send(`Unable to update org: ${updateError}`); - return; - } - } - const protocol = req.headers["x-forwarded-proto"] || "http"; - const host = req.headers.host; - const origin = `${protocol}://${host}`; - - // Create a Checkout Session instead of creating a subscription directly - const session = await stripe.checkout.sessions.create({ - customer: customerId, - payment_method_types: ["card"], - line_items: [ - { - price: process.env.STRIPE_PRO_PRICE_ID, - quantity: 1, - }, - ], - mode: "subscription", - success_url: `${origin}/dashboard`, // Replace with your success URL - cancel_url: `${origin}/dashboard`, // Replace with your cancel/failure URL - metadata: { - orgId: orgId, // Assuming `orgId` is the variable containing the organization's ID - tier: "pro", - }, - allow_promotion_codes: true, - }); - - // Respond with the session ID - res.status(200).json({ sessionId: session.id }); - } catch (e) { - res.status(500).json({ error: "Failed to create checkout session." + e }); - } -} diff --git a/web/pages/experiments/[id]/index.tsx b/web/pages/experiments/[id]/index.tsx deleted file mode 100644 index cb4d88cb08..0000000000 --- a/web/pages/experiments/[id]/index.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import { ReactElement } from "react"; -import AuthLayout from "../../../components/layout/auth/authLayout"; -import { ExperimentTable } from "../../../components/templates/prompts/experiments/table/ExperimentTable"; -import { GetServerSidePropsContext } from "next"; - -interface ExperimentIdPage { - experimentTableId: string; -} - -const ExperimentId = (props: ExperimentIdPage) => { - return ; -}; - -export default ExperimentId; - -ExperimentId.getLayout = function getLayout(page: ReactElement) { - return {page}; -}; - -export const getServerSideProps = async ( - context: GetServerSidePropsContext, -) => { - const { id } = context.params ?? {}; - return { - props: { experimentTableId: id }, - }; -}; diff --git a/web/pages/experiments/index.tsx b/web/pages/experiments/index.tsx deleted file mode 100644 index 3ae73bbde1..0000000000 --- a/web/pages/experiments/index.tsx +++ /dev/null @@ -1,13 +0,0 @@ -import { ReactElement } from "react"; -import AuthLayout from "../../components/layout/auth/authLayout"; -import ExperimentsPage from "../../components/templates/prompts/experiments/table/experimentsPage"; - -const Experiments = () => { - return ; -}; - -export default Experiments; - -Experiments.getLayout = function getLayout(page: ReactElement) { - return {page}; -}; diff --git a/web/public/assets/home/providers/scalattice.svg b/web/public/assets/home/providers/scalattice.svg new file mode 100644 index 0000000000..959e99b251 --- /dev/null +++ b/web/public/assets/home/providers/scalattice.svg @@ -0,0 +1,4 @@ + +Scalattice + + diff --git a/web/services/hooks/prompts/datasets.tsx b/web/services/hooks/prompts/datasets.tsx deleted file mode 100644 index 68954837ec..0000000000 --- a/web/services/hooks/prompts/datasets.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import { $JAWN_API } from "../../../lib/clients/jawn"; - -const useGetDataSets = (promptId?: string) => { - const { data, isLoading, refetch, isRefetching } = $JAWN_API.useQuery( - "post", - "/v1/experiment/dataset/query", - { - body: { - promptVersionId: promptId, - }, - }, - { - refetchOnWindowFocus: false, - }, - ); - - return { - isLoading, - refetch, - isRefetching, - datasets: data?.data ?? [], - }; -}; - -export { useGetDataSets }; diff --git a/web/services/hooks/prompts/experiment-scores.tsx b/web/services/hooks/prompts/experiment-scores.tsx deleted file mode 100644 index 2720ae1aa5..0000000000 --- a/web/services/hooks/prompts/experiment-scores.tsx +++ /dev/null @@ -1,196 +0,0 @@ -import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query"; - -import { useOrg } from "@/components/layout/org/organizationContext"; - -import { getJawnClient } from "@/lib/clients/jawn"; -import useNotification from "@/components/shared/notification/useNotification"; -import { useCallback } from "react"; - -const getScoreColorMapping = (scores: string[]) => { - return Object.fromEntries( - scores.map((score, index) => [ - score, - { - label: score.replace("-hcone-bool", ""), - color: `oklch(var(--chart-${(index % 10) + 1}))`, - }, - ]), - ); -}; - -const useExperimentScores = (experimentId: string) => { - const org = useOrg(); - const currentOrgId = org?.currentOrg?.id; - - const jawn = getJawnClient(currentOrgId); - const notification = useNotification(); - - const queryClient = useQueryClient(); - - const { - data: allEvaluators, - isLoading: isAllEvaluatorsLoading, - refetch: refetchAllEvaluators, - } = useQuery({ - queryKey: ["all-evaluators", org?.currentOrg?.id], - queryFn: async (query) => { - const currentOrgId = query.queryKey[1]; - - const jawn = getJawnClient(currentOrgId); - const evaluators = await jawn.POST("/v1/evaluator/query", { - body: {}, - }); - return evaluators; - }, - }); - - const { - data: evaluators, - isLoading: isEvaluatorsLoading, - refetch: refetchEvaluators, - } = useQuery({ - queryKey: ["evaluators", experimentId, currentOrgId], - queryFn: async (query) => { - const evaluators = await jawn.GET( - "/v2/experiment/{experimentId}/evaluators", - { - params: { - path: { - experimentId: experimentId, - }, - }, - }, - ); - return evaluators; - }, - }); - - const addEvaluator = useMutation({ - mutationFn: async (evaluatorId: string) => { - const jawn = getJawnClient(currentOrgId); - const evaluator = await jawn.POST( - "/v2/experiment/{experimentId}/evaluators", - { - params: { - path: { - experimentId: experimentId, - }, - }, - body: { - evaluatorId: evaluatorId, - }, - }, - ); - if (!evaluator.response.ok) { - notification.setNotification( - `Failed to add evaluator: ${evaluator.response.statusText}`, - "error", - ); - } - }, - onSuccess: () => { - refetchEvaluators(); - refetchAllEvaluators(); - queryClient.setQueryData(["shouldRunEvaluators", experimentId], true); - }, - }); - - const removeEvaluator = useMutation({ - mutationFn: async (evaluatorId: string) => { - const evaluator = await jawn.DELETE( - "/v2/experiment/{experimentId}/evaluators/{evaluatorId}", - { - params: { - path: { - experimentId: experimentId, - evaluatorId: evaluatorId, - }, - }, - }, - ); - }, - onSuccess: () => { - refetchEvaluators(); - refetchAllEvaluators(); - queryClient.invalidateQueries({ - queryKey: ["evaluators", experimentId, currentOrgId], - }); - queryClient.invalidateQueries({ - queryKey: ["experimentScores", experimentId], - }); - }, - }); - - const runEvaluators = useMutation({ - mutationFn: async () => { - return await jawn.POST(`/v2/experiment/{experimentId}/evaluators/run`, { - params: { - path: { - experimentId: experimentId, - }, - }, - }); - }, - onSuccess: () => { - refetchEvaluators(); - refetchAllEvaluators(); - queryClient.invalidateQueries({ - queryKey: ["evaluators", experimentId, currentOrgId], - }); - queryClient.invalidateQueries({ - queryKey: ["experimentScores", experimentId], - }); - queryClient.invalidateQueries({ - queryKey: ["shouldRunEvaluators", experimentId], - }); - }, - }); - - const fetchExperimentHypothesisScores = useCallback( - async (promptVersionId: string) => { - const result = await jawn.GET( - "/v2/experiment/{experimentId}/{promptVersionId}/scores", - { - params: { - path: { - experimentId, - promptVersionId, - }, - }, - }, - ); - return result.data ?? {}; - }, - [currentOrgId, experimentId], - ); - - const shouldRunEvaluators = useQuery({ - queryKey: ["shouldRunEvaluators", experimentId], - queryFn: async () => { - const result = await jawn.GET( - "/v2/experiment/{experimentId}/should-run-evaluators", - { - params: { - path: { - experimentId, - }, - }, - }, - ); - return result.data?.data ?? false; - }, - }); - - return { - evaluators, - addEvaluator, - allEvaluators, - removeEvaluator, - runEvaluators, - fetchExperimentHypothesisScores, - shouldRunEvaluators, - getScoreColorMapping, - }; -}; - -export { useExperimentScores, getScoreColorMapping }; diff --git a/web/services/hooks/prompts/experiments.tsx b/web/services/hooks/prompts/experiments.tsx deleted file mode 100644 index 398d352fef..0000000000 --- a/web/services/hooks/prompts/experiments.tsx +++ /dev/null @@ -1,195 +0,0 @@ -import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query"; -import { useOrg } from "../../../components/layout/org/organizationContext"; -import { $JAWN_API, getJawnClient } from "../../../lib/clients/jawn"; -import { logger } from "@/lib/telemetry/logger"; - -const useExperiments = ( - req: { page: number; pageSize: number }, - promptId?: string, -) => { - const { data, isLoading, refetch, isRefetching } = $JAWN_API.useQuery( - "post", - "/v1/experiment/query", - { - body: { - filter: promptId - ? { - experiment: { - prompt_v2: { - equals: promptId, - }, - }, - } - : {}, - }, - }, - { - refetchOnWindowFocus: false, - refetchInterval: 5_000, - }, - ); - - const experiments = data?.data; - - if (!experiments) { - return { - isLoading, - refetch, - isRefetching, - experiments: [], - }; - } - - const frontEndExperiments = experiments.map((experiment) => { - const hypothesis = experiment.hypotheses.at(0) ?? null; - logger.info( - { - runs: hypothesis?.runs, - }, - "Hypothesis runs", - ); - return { - id: experiment.id, - datasetId: experiment.dataset.id, - datasetName: experiment.dataset.name, - experimentName: (experiment.meta as any).experiment_name ?? null, - promptId: (experiment.meta as any).prompt_id ?? null, - promptVersionId: (experiment.meta as any).prompt_version ?? null, - model: hypothesis?.model, - createdAt: experiment.createdAt, - runCount: hypothesis?.runs?.length, - status: hypothesis?.status, - }; - }); - - return { - isLoading, - refetch, - isRefetching, - experiments: frontEndExperiments, - }; -}; - -const useExperimentTables = () => { - const org = useOrg(); - const orgId = org?.currentOrg?.id; - - const queryClient = useQueryClient(); - - const { data, isLoading, refetch, isRefetching } = $JAWN_API.useQuery( - "get", - "/v2/experiment", - {}, - { - refetchOnWindowFocus: false, - }, - ); - const deleteExperiment = useMutation({ - mutationFn: async (experimentId: string) => { - const jawnClient = getJawnClient(orgId); - await jawnClient.DELETE("/v2/experiment/{experimentId}", { - params: { path: { experimentId } }, - }); - queryClient.invalidateQueries({ - queryKey: ["experimentTables", orgId], - }); - }, - }); - - const experiments = data?.data; - - if (!experiments) { - return { - isLoading, - refetch, - isRefetching, - experiments: [], - deleteExperiment, - }; - } - - return { - isLoading, - refetch, - isRefetching, - experiments: experiments.map((experiment) => ({ - ...experiment, - model: "unknown", - })), - deleteExperiment, - }; -}; - -const useExperimentTableMetadata = (req: { id: string }) => { - const org = useOrg(); - const { data, isLoading, refetch, isRefetching } = useQuery({ - queryKey: ["experimentTableMetadata", req.id, org?.currentOrg?.id], - queryFn: async (query) => { - const id = query.queryKey[1] as string; - const jawn = getJawnClient(org?.currentOrg?.id); - - const res = await jawn.POST( - "/v1/experiment/table/{experimentTableId}/metadata/query", - { - params: { - path: { - experimentTableId: id ?? "", - }, - }, - }, - ); - - return res.data?.data; - }, - }); - - return { - isLoading, - refetch, - isRefetching, - experiment: data, - }; -}; - -const useExperiment = (id: string) => { - const org = useOrg(); - const { data, isLoading, refetch, isRefetching } = useQuery({ - queryKey: ["experiment", id, org?.currentOrg?.id], - queryFn: async (query) => { - const id = query.queryKey[1]; - const orgId = query.queryKey[2] as string; - const jawn = getJawnClient(orgId); - return jawn.POST("/v1/experiment/query", { - body: { - filter: { - experiment: { - id: { - equals: id, - }, - }, - }, - include: { - inputs: true, - promptVersion: true, - responseBodies: true, - }, - }, - }); - }, - refetchOnWindowFocus: false, - }); - - return { - isLoading, - refetch, - isRefetching, - experiment: data?.data?.data?.[0], - }; -}; - -export { - useExperiment, - useExperiments, - useExperimentTables, - useExperimentTableMetadata, -}; diff --git a/web/services/lib/keys.ts b/web/services/lib/keys.ts index d5594c8834..4a4030da7c 100644 --- a/web/services/lib/keys.ts +++ b/web/services/lib/keys.ts @@ -50,9 +50,15 @@ async function getDecryptedProviderKeysByOrgId( ); } +/** + * Look up a provider key by id, scoped to the calling org. `orgId` is + * required on purpose: a provider key id must never be resolvable across + * tenants (CIRT-80). Resolves to `null` when no matching key exists. + */ async function getDecryptedProviderKeyById( providerKeyId: string, -): Promise> { + orgId: string, +): Promise> { return resultMap( await dbExecute<{ id: string; @@ -61,16 +67,23 @@ async function getDecryptedProviderKeyById( provider_key_name: string; provider_name: string; }>( - `SELECT id, org_id, decrypted_provider_key, provider_key_name, provider_name from decrypted_provider_keys_v2 where id = $1 and soft_delete = false limit 1`, - [providerKeyId], + `SELECT id, org_id, decrypted_provider_key, provider_key_name, provider_name + FROM decrypted_provider_keys_v2 + WHERE id = $1 AND org_id = $2 AND soft_delete = false + LIMIT 1`, + [providerKeyId, orgId], ), - (key) => ({ - id: key?.[0]?.id, - org_id: key?.[0]?.org_id, - provider_key: key?.[0]?.decrypted_provider_key, - provider_name: key?.[0]?.provider_name, - provider_key_name: key?.[0]?.provider_key_name, - }), + (rows) => { + const key = rows?.[0]; + if (!key) return null; + return { + id: key.id, + org_id: key.org_id, + provider_key: key.decrypted_provider_key, + provider_name: key.provider_name, + provider_key_name: key.provider_key_name, + }; + }, ); } diff --git a/web/store/store.ts b/web/store/store.ts deleted file mode 100644 index c1cd9a21ca..0000000000 --- a/web/store/store.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { create } from "zustand"; - -type ExperimentsState = { - openAddExperimentModal: boolean; - setOpenAddExperimentModal: (open: boolean) => void; -}; - -// Create store instance once, outside of any component -export const useExperimentsStore = create()((set) => ({ - openAddExperimentModal: false, - setOpenAddExperimentModal: (open) => set({ openAddExperimentModal: open }), -})); diff --git a/worker/test/setup.ts b/worker/test/setup.ts index 5c4865510d..f27df93977 100644 --- a/worker/test/setup.ts +++ b/worker/test/setup.ts @@ -282,6 +282,15 @@ vi.mock("@supabase/supabase-js", () => ({ config: null, byok_enabled: isByokEnabled, }, + scalattice: { + org_id: "test-org-id", + provider_name: "scalattice", + decrypted_provider_key: "test-scalattice-api-key", + decrypted_provider_secret_key: null, + auth_type: "api_key", + config: null, + byok_enabled: isByokEnabled, + }, openrouter: { org_id: "test-org-id", provider_name: "openrouter", @@ -431,6 +440,15 @@ vi.mock("@supabase/supabase-js", () => ({ config: null, byok_enabled: true, }, + scalattice: { + org_id: "0afe3a6e-d095-4ec0-bc1e-2af6f57bd2a5", + provider_name: "scalattice", + decrypted_provider_key: "helicone-scalattice-api-key", + decrypted_provider_secret_key: null, + auth_type: "api_key", + config: null, + byok_enabled: true, + }, nebius: { org_id: "0afe3a6e-d095-4ec0-bc1e-2af6f57bd2a5", provider_name: "nebius", diff --git a/yarn.lock b/yarn.lock index 8e7dd661cc..9ec281f4dc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6936,13 +6936,6 @@ "@types/express-serve-static-core" "^5.0.0" "@types/serve-static" "^2" -"@types/fluent-ffmpeg@^2.1.27": - version "2.1.28" - resolved "https://registry.yarnpkg.com/@types/fluent-ffmpeg/-/fluent-ffmpeg-2.1.28.tgz#d8039bafc06aa8770c75aeb818d8248c39b977c1" - integrity sha512-5ovxsDwBcPfJ+eYs1I/ZpcYCnkce7pvH9AHSvrZllAp1ZPpTRDZAFjF3TRFbukxSgIYTTNYePbS0rKUmaxVbXw== - dependencies: - "@types/node" "*" - "@types/geojson@*": version "7946.0.16" resolved "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz" @@ -8220,11 +8213,6 @@ async-retry@^1.3.3: dependencies: retry "0.13.1" -async@^0.2.9: - version "0.2.10" - resolved "https://registry.npmjs.org/async/-/async-0.2.10.tgz" - integrity sha512-eAkdoKxU6/LkKDBzLpT+t6Ff5EtfSF4wx1WfJiPEEV7WNLnDaRXk0oVysiEPm262roaachGexwUv94WhSgN5TQ== - asynckit@^0.4.0: version "0.4.0" resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" @@ -11176,14 +11164,6 @@ flatted@^3.2.9: resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.3.tgz#67c8fad95454a7c7abebf74bb78ee74a44023358" integrity sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg== -fluent-ffmpeg@^2.1.3: - version "2.1.3" - resolved "https://registry.npmjs.org/fluent-ffmpeg/-/fluent-ffmpeg-2.1.3.tgz" - integrity sha512-Be3narBNt2s6bsaqP6Jzq91heDgOEaDCJAXcE3qcma/EJBSy5FB4cvO31XBInuAuKBx8Kptf8dkhjK0IOru39Q== - dependencies: - async "^0.2.9" - which "^1.1.1" - follow-redirects@^1.15.6: version "1.15.11" resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz" @@ -19617,13 +19597,6 @@ which-typed-array@^1.1.16, which-typed-array@^1.1.19: gopd "^1.2.0" has-tostringtag "^1.0.2" -which@^1.1.1: - version "1.3.1" - resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - which@^2.0.1, which@^2.0.2: version "2.0.2" resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz"